2

サーバーに安全に接続してログインする J2ME アプリを開発しています。2 つの間で SSL を設定するのが非常に難しいので、もっと簡単な解決策を考えました。それについて意見をいただければ幸いです。

J2ME Midlet はサーバーの公開鍵とともに出荷され、接続時にメッセージ (ユーザー名、パスワード ハッシュ、およびランダム) がその公開鍵を使用して暗号化され、サーバーに送信されます。次に、サーバーはそれを復号化し、それを使用してクライアントを認証します。

認証局の主なアイデアは、誰が誰であるかを言うことです.2つの当事者がすでにそれを知っていて、(すでに認証された接続を介していない限り)それが変わらないことに同意する場合、私は1つの必要性をバイパスしませんか?

ありがとう、ウラジミール

4

1 に答える 1

1

両当事者がすでにそれを知っていて、それが変わらないことに同意する場合...それなら、私は1つの必要性を回避しませんか?

はい、しかし私はあなたが要点を逃していると思います。プログラムはキーと共に出荷されますが、ユーザーがダウンロードしているプログラムが実際にあなたからのものであることをユーザーが知る方法はなく、悪意のあるハッカーが通信を傍受/書き換えているわけではありません。ユーザーが見るのは、壁のワイヤーから入ってくるビットだけです。

通常、次に行うことは、キーで jar に署名し、キーをプログラムと共に出荷することです。ここで卵が先か鶏が先かという問題があります。鍵があなたからのものであることをどうやって知るのでしょうか?

ここで認証局の出番です。CA のキーは既にコンピュータ上にあるため、CA に任せて、あなたが誰であるかを確認し、公開キーに署名します。次に、ユーザーが公開鍵を取得し、それが CA によって署名されていることを確認し、jar が鍵によって署名されていることを確認すると、鍵があなたのものであることがわかり、jar はあなたから来たに違いありません。秘密鍵で署名できた人。

あなたのキーが事前にコンピューターにあった場合 (たとえば、セットアップ時にキーがコンピューターに物理的に配置されている会社の内部など)、はい、絶対に必要ありません。キー署名済み。

于 2010-01-27T18:25:05.257 に答える