web-dev-qa-db-ja.com

一方向認証と双方向認証

私はNetwork +試験のために勉強しており、一方向認証と双方向認証の違いを理解したいと考えていました。

無駄に検索してみました。私がそれを検索すると、結果は2FAと単一要素認証を返すようです。単一要素認証と一方向認証は同じものですか? 2FAの同上。

3

「双方向認証」は、より一般的に「相互認証」と呼ばれます。

調査しているネットワークレベルでは、クライアントとサーバーが相互に認証します。これは、認証局によってチェックされる証明書の交換を通じて行われます(または証明書はサーバーによって認識されます)。

これは、クライアントとサーバーが、予想されるパーティーと通信していることを知っていることを意味します。これは、アプリケーションレベルの認証(ユーザー認証またはプロセス認証)が行われる前に、OSIスタックの下位レベルで確立されます。それはより低いレベルで行われるため、ユーザー/プロセスは認証を試みる前に保証されます。

ネットワークレベル:

  • サーバーに接続するクライアント要求
  • サーバーはサーバー証明書を送信し、クライアント証明書を要求する
  • クライアントは認証局(CA)でサーバー証明書を検証します
  • クライアントがクライアント証明書を送信する
  • サーバーはCAでクライアント証明書を検証します
  • すべてのチェックで検証された場合、リソースへのアクセスがクライアントに許可されます

WiFi および ethernet には相互認証プロトコルがあり、証明書はサーバーから提供される場合があります。 [〜#〜] tls [〜#〜] には、相互認証プロトコルもあります。

参考文献:

2要素認証は異なります。要素は、認証するために提示されるさまざまなものです。通常、1つの要素はパスワード(知っているもの)です。次に、より多くの要素を追加して、ユーザーが本人であることを保証します(またはパスワードが危険にさらされないようにします)。追加された要素は、ワンタイムコード、ハードウェアトークン、またはその他のコンテキスト要素である可能性があります。ほとんどの場合、ユーザーアカウントはデバイスではなく多要素認証を使用しますが、コンテキストデータをデバイス認証に含めるユースケースが増えています。

1
schroeder

相互認証とは何ですか?

相互認証IRL(実生活)

これはまさに銀行に行くときに行うことです。あなたは銀行について考える秒からテラーを「認証」します。

  • あなたは「銀行はどこにある」と考えます(場所、確認)
  • 銀行は銀行のように見えますか? (見回す、銀行のように見える、評判、小切手)
  • 窓口係は銀行で働いていますか? (彼女は机の後ろにいるので、誰かが彼女をそこに戻しました、制服、ネームタグ、そして彼女は現金を持っています。チェックしてください)

チェック、チェック、チェック。あなたは銀行で従業員と話しています。

今、彼女はあなたを認証します。 -あなたのID、-あなたの写真が画面に表示され、-あなたはあなたのATMピンを知っています。

チェック、チェック、チェック。彼女はあなたがあなただと信じている。

相互認証。あなたはどちらもあなたがもう一方が誰であるか知っていると思います。

コンピュータの相互認証

コンピュータでもほぼ同じです。双方はお互いを信頼する必要があります。そして、悪意のある人が中間者攻撃を実行している可能性があります。

ssh

相互認証を使用する1つの場所はSSHです。あなたはサーバーにSSHしたい、それが本当にあなたがそう思っているサーバーであることを知りたいのです。

秘密情報をコピーするとします。適切なサーバーに接続していることをどのように確認しますか?誰かがあなたをだまして秘密の情報をサーバーにアップロードさせようとしている場合はどうなりますか? SSHサーバーは、接続しているクライアントが秘密鍵を持っていることを証明します。それについてはこちらをお読みください: https://support.alertlogic.com/hc/en-us/articles/360002999732-How-does-SSL-mutual-authentication-work-

ウェブサイト

相互認証しているサーバーにログインするたびに。

ブラウザはリモートサーバーを信頼し、アドレスバーにロックをかけます。次に、ユーザー名とパスワードを入力すると、サーバーがユーザーを信頼します。

TLS

またはHTTPS-SSLと呼ばれることもありますが、プロトコルの正確な名前はTLSです。

相互認証する同じプロトコル交換があります。 httpsを介して相互認証できます。サーバーとの鍵交換で使用する「クライアント」証明書があります。サーバーは、クライアント証明書がサーバーがクライアント証明書に署名するために信頼する認証局によって署名されていることを確認します。ブラウザーがサーバーの証明書がブラウザーが信頼する認証局によって署名されていることを確認するように。

実際の相互TLS認証を確認する

NodeJSは興味深い実装です。それは、最初は頭が痛いだけでなく、理解したら簡単に読めるコードでもあります。この記事とnodejsのドキュメントをご覧ください。

https://blog.cloudboost.io/implementing-mutual-ssl-authentication-fc20ab2392b

https://nodejs.org/api/tls.html

続きを読む

相互認証: https://en.wikipedia.org/wiki/Mutual_authentication

認証の定義:

何か(アイデンティティ、芸術作品、金融取引など)を本物、真実、または本物であることを示す行為、プロセス、または方法:何かを認証する行為またはプロセス

出典:「認証」 Merriam-Webster.com辞書、Merriam-Webster Inc. https://www.merriam-webster.com/dictionary/authentication 。 2020年1月25日アクセス。

認証は、その身元を確認するプロセスです。これには、個人の身分証明書の検証、デジタル証明書によるWebサイトの信頼性の検証、 1 炭素年代測定によるアーティファクトの年齢の決定、または製品やドキュメントが偽造されていないことの確認が含まれる場合があります。

出典: https://en.wikipedia.org/wiki/Authentication

2
Jonathan