前の記事で説明したアルゴリズムの主な目的は、パスワードを傍受から保護し、サーバーデータベースにシークレット(パスワードハッシュなど)を安全に保存することでした。 ただし、別の深刻な脅威があります。 これは、パスワードを使用する安全でない環境です。 ソフトウェアおよびハードウェアのキーロガー、ブラウザの入力フォームを制御するスパイウェア、認証プロトコルだけでなくパスワードが入力されるhtmlページの構造も制御するMitM攻撃、およびパスワード認証スキームのない脅威を引き起こすスパイ反対することはできません。 この問題は当時、多要素認証を発明することで解決されていました。 その本質は、認証を成功させるには、秘密を知り、アイテム(この場合はusbトークンとPINコード)を所有する必要があるという事実にあります。
これは、情報セキュリティ開発者が提供するものです。
USBトークン -キーペアを生成し、電子デジタル署名を実行できるハードウェアデバイス。操作を完了するにはPINコードが必要です。 デジタル署名の形成では、楕円曲線の暗号化が使用されます。 ドライバーのインストールは不要で、HIDデバイスとして定義されています。
クロスブラウザプラグイン -USBトークンで動作し、暗号化機能にアクセスするためのプログラムインターフェイスを備えています。 インストールに管理者権限は必要ありません。
提案されているコンポーネントは、Webアプリケーションにさまざまな暗号化機能を埋め込むための一種のコンストラクターです。 彼らの助けを借りて、高度なセキュリティで暗号化、認証、デジタル署名機能を実装できます。
たとえば、認証スキームは次のようになります。
登録:
- クライアントはトークンにキーペアe、dを生成します。
- クライアントは公開鍵をサーバーに送信します。
認証:
- クライアントはサーバーにログインを送信します。
- サーバーはRNDを生成し、クライアントに送信します。
- クライアントはRNDを生成し、署名されたメッセージをサーバーに送信します( RND-server || RND-client || Server-name )。
- サーバーは、クライアントの公開鍵を使用してデジタル署名を認証します。
「自転車」に不信な人のために-グーグル「ISO公開鍵ツーパス片側認証プロトコル」。
いつものように- デモ 。 動作するには、USBトークンが必要で、プラグインをインストールする必要があります。 テスト用のトークンは私から取得できます。10個あります-個人的に書き込みます。 ここで購入できます 。