3

現在、ログインシステムを RSA クラス (PHP での RSA アルゴリズムの実装であるクラス) に接続しています。このアルゴリズムについていくつかの情報を読みましたが、疑問があり、誰かがそれらを明確にしてくれることを願っています.

RSA は、公開鍵と秘密鍵の 2 つの鍵で動作しており、どちらもアルゴリズムを使用して生成されます。これらのキーは 1 回だけ生成され、サイト コードに含まれていますか (管理者サイトに 1 つ、ユーザー サイトに 1 つ)?

それを実装する主なアイデアは、ログインフォームを使用してlogin.phpをコードに公開キーとしてサイトに配置し、検証のためにログインとパスワードが送信されるときにそれらを公開キーで暗号化することです。サーバー側では、このメッセージは秘密鍵を使用して復号化され、情報が正しいかどうかがチェックされ、真/偽の情報が返されます。安全で正しい使い方を教えていただけますか?

4

3 に答える 3

2

HTTPSこれらのアルゴリズムの実装で迷子になるのではなく、使用してください。Javascript の実装は、クライアント側で大きなオーバーヘッドを意味するに違いありません。ポケットを暗号化したい場合は、トランスポート層またはアプリケーション層 (HTTPS) に任せてください。テスト済みで、高速で、機能しており、セットアップに数分かかります。

于 2012-04-21T22:18:12.677 に答える
2

これを実装しないでください - 代わりに HTTPS を使用してください。あなたが提案したことはまったく安全ではありません。JavaScript を使用してクライアント側で暗号化すると、フォーム データは安全ではなくなります。JavaScript は暗号化に適していません。

基本的なルールは、クライアントで実行されているものはすべて悪意があるということです。クライアントで暗号化を実行することは、本当に悪い考えです。

繰り返しますが、HTTPS を使用するか、使用しないでください。

于 2012-04-21T22:21:20.413 に答える
0

送信を安全にしたい場合は、サーバー側のスクリプト言語を使用できません。暗号化と復号化は、平文のパスワードがサーバーに到達したときに最初に行われ、リスナーが傍受するのに十分な時間を与えます。RSA の JavaScript 実装を使用してパスワードをクライアント側で暗号化し、サーバー側で php を使用して復号化できます。

暗号化用の公開鍵と、復号化用のサーバー上の秘密鍵があります。

于 2012-04-21T22:11:57.043 に答える