2012-10-18 19 views
5

私は、ユーザがセントラル認証サービスにログインできるようにする必要があるPhonegapアプリケーションを作成しています。Phonegap内の安全なログイン

私の懸念は、Phone上のファイルが(file://経由で)ローカルにロードされているので、HTTPS接続を介しているようなセキュリティはないということです。ユーザー名とパスワードをサーバー上のHTTPSの場所に渡すと、応答があっても要求は保護されません。

ログインプロセスが終了したとき、およびすべてのプラットフォームがChildBrowserプラグインをサポートしているわけではないため、イベントバブリングが表示されないため、ChildBrowserプラグインを使用しないでください。

非対称暗号化を使用してユーザー名とパスワードの組み合わせを公開キーで暗号化し、サーバー上で秘密キーで復号化することは合理的かもしれません。私はバックエンドでJavaを使ってうまくいくためにはJavaScriptのRSAライブラリを手に入れることはできません。

Phonegapアプリケーションでユーザーのパスワードを保護するこのケースでは、非対称暗号化がまともですか?より良い解決策はありますか?

Javascript - > Javaを使用するとどうなりますか?私はクライアント側でohdave.com/RSAスクリプトを使用していますが、Javaはohdaveの生成キーを使用してキーを再作成したくありません。

何か助けていただければ幸いです。

答えて

4

私は、HTTPS経由で認証Webサービスを要求すると、証明書をSSL証明書で暗号化できるようにするハンドシェイクを開始することを学びました。

限り電話上の資格情報を保存するとして、ここで私はそれをやっている方法は次のとおりです。

  1. 基本Authorizationヘッダー内にBase64エンコードでSSL経由でWebサービスにログインするための資格情報を送信します。
  2. 成功したログイン応答には、サーバー上に存在する鍵で暗号化された資格情報AESが含まれています。
  3. AES暗号化されたクレデンシャルは電話機に保存されます。
  4. 今後のログインは、暗号化された資格情報をダイジェスト認証ヘッダーのSSLを使用してログインWebサービスに送信することによって処理されます。
関連する問題