2013-09-23 4 views
0

javascript를 사용하는 devExtreme에서 만든 모바일 응용 프로그램에 내 서버의 데이터베이스 간의 통신을 암호화하려고합니다. 지원 팀은 base_64encode 사용과 관련된 예제를 제공합니다. 이것은 안전한 방법입니까? 다음은 DevExtreme의 예입니다. Example of Authentication RequestDevExtreme Mobile App에서 보안 로그인

얼마나 안전한 지 이해하는 데 어려움이 있습니다. 내 이해에 따르면 모바일 앱은 데이터를 암호화합니다 (앱에 암호화를위한 키/암호 해독 방법이 있습니다. 앱의 소스 코드에 액세스 할 수있는 사람이이 키를 찾을 수 없습니까?). 이렇게 암호화 된 데이터는 서버로 전송되어 해독됩니다. 인증에 실패했는지 여부를 알리는 메시지가 전송됩니다.

이 외에도 SSL 연결을 사용하면 앱 클라이언트와 서버 사이에 개인 연결이 만들어집니다.

죄송합니다. 많은 질문을 던졌습니다. 날 요약 보자 :

  1. 는 devextreme 금고에 base64_encode를 사용 있나요? 나는 약간의 연구를했다 그리고 그것은 부서지기 쉽다고 말하는 많은 기사를 보았다. 암호와 사용자 이름을 암호화해야하기 때문에

  2. /서버 측뿐만 아니라 응용 프로그램 측에서 를 해독 것없는이
    원인이 문제 응용 프로그램 사용자가 소스
    에 접근 할 수 있다면 코드?

  3. SSL 연결을 통해 header/string/json 파일을 보내고 있습니까? SSL을 사용하려면 암호화를 사용해야합니까?


  4. 모바일 앱을 만들기 위해 수행해야 할 가이드 라인은 무엇입니까? This guide과 비슷하지만 모바일 용은
    앱입니다. 사전에

감사합니다.

답변

2
  1. 64 기수 암호화 없습니다. 그것은 인코딩입니다. (예 : difference between encoding and encryption 참조) 인코딩 된 데이터를 디코딩하는 것은 간단합니다. 따라서 개인 데이터 교환과 같이 암호화를 요구하는 경우 혼자서 사용하는 것은 안전하지 않습니다. base64은 시력으로 쉽게 알 수 있기 때문에 누군가가 HTTP 패킷을 받으면 방금 암호를 알아 냈습니다.

  2. 깨지지 않은 알고리즘으로 암호화를 사용하고 공격자가 개인 키를 알지 못한다면 - 훌륭합니다. 이 경우 어떤 알고리즘을 사용했는지에 대한 정보는 공격자에게 많은 도움이되지 않습니다. 예 : 자세한 내용은 encryption을 참조하십시오.

  3. SSL을 사용하면 충분합니다. 예 : how secure is SSL. 같은 것을 두 번 암호화 할 필요가 없습니다.

  4. DevExtreme은 HTML5/JS 프레임 워크이므로 AJAX 등의 보안과 관련된 자료를 찾아야합니다. 서버 측에서 사용하는 내용에 따라 달라집니다.나는 당신이 사용하는 모든 것이 취약한 데이터 전송 및 서버 측 응용 프로그램을 안전하게 유지하는 데 모든 것이 필요하다고 생각합니다. 이걸로 너를 많이 도울 수 없어.

한 가지 더 : 내가 pt에 쓴 것처럼. DevExtreme은 HTML/JS 프레임 워크입니다. 개발자가 앱을 다운로드하자마자 DevExtreme 앱이 컴파일되지 않아 코드가 이미 생성됩니다. 앱은 웹 앱이므로 사용자가 액세스 할 수없는 유일한 것은 서버 측 코드입니다.

0

웹 서비스에 액세스하는 데 필요한 자격 증명이 각 HTTP 웹 요청에 전달되므로이 방법은 안전합니다. 자격 증명이 전선을 통해 암호화되도록 HTTPS가 사용되는 것이 중요합니다. 웹 서비스는 응답을 보내기 전에 각 요청에 대해 전달 된 자격 증명을 확인해야합니다. 이 샘플에서는 base64에 대한 사용자 이름과 암호를 암호화하여 임의로 생성 된 암호에서 발견되는 특수 문자를 포함하여 모든 문자가 헤더 (http 프로토콜)에서 유효한지 확인합니다.