web-dev-qa-db-ja.com

認証、整合性、データオリジン認証の違い

最初はこれらの用語はすべて同義語だと思っていましたが、同じドキュメントでこれらの用語が使用されていることがあります。たとえば、MSDNで:

データ送信元認証。受信者は、メッセージが送信中に改ざんされていないこと(データの整合性)と、予想される送信者から送信されたこと(認証)を確認できます。

誠実さが真正とどのように違うのか、私には完全にはわかりません。

データの整合性なしで送信者の信頼性のみを保証することはどのようにして可能でしょうか?攻撃者がコンテンツを変更できる場合、送信者フィールドが正しいことをどのように信頼できますか?

同様に、一部のデータには整合性があることを知っているが、送信者を知らないというのはどういう意味ですか?

私にとって、整合性がチェックされるのはメッセージの一部にヘッダーの「送信者」フィールドを含めるかどうかだけです(または、信頼性、私は今混乱しています)

私の知る限り、デジタル署名は整合性と信頼性の両方を解決します。おそらくそれが2つの違いを理解できない理由です。

13
Jacques

Integrityは、一部のデータが「参照バージョン」から変更されていないことを確認することです。 Authenticityは、「参照バージョン」が「特定のエンティティの制御下にあったときのすべてのもの」として定義される、完全性の特殊なケースです。 Authenticationは、特定のエンティティ(対話している相手)が自分がそうであると信じている人物であることを確認することです。

その意味で、整合性と認証を組み合わせると、信頼性が得られます。必要に応じて、信頼性は、整合性を介してデータの一部に適用される認証です。

たとえば、ブラウザを使用してhttps:// Webサイトに接続するとします。これはSSLを意味します。最初のハンドシェイク中にauthenticationがあります。サーバーはその証明書を送信して秘密鍵を使用し、サーバーの証明書にはサーバーの名前が含まれます。ブラウザは、サーバーの名前が予期されたもの(URLのサーバー名の部分)と一致することを確認します。次に、交換されたすべてのデータは「レコード」として送信され、暗号化されて変更から保護されます。これはintegrityです。ご使用のブラウザーは、正当に認証されたサーバーから送信されたときのデータから変更されていないことが保証されたデータを受信するため、データは「本物」であると言えます。

物事を考えすぎないでください。用語は少なくとも半分伝統的なものであり、必ずしも実用的ではありません。トライアド「Confidentiality-Integrity-Authenticity」についてお話ししたいと思います。これは、クールに見える頭字語「CIA」を作るためです。

23
Thomas Pornin

良い答えはすでにあるようですが、CIAトライアドでの可用性と認証について詳しく説明します。 「A」が意味するものは、状況の変化を表します。

ハードウェアベースの組み込みセキュリティについて話す場合、認証が使用されます。セキュアエレメントまたは完全なTPMの暗号プリミティブ機能について説明する場合、「A」は「認証」を表します。

可用性は、サイバーセキュリティ/情報セキュリティ(IS)の構成要素です。 「利用可能な」システムは、ユーザーがいつでも利用できる状態を維持し、停電(電源バックアップ)、ハードウェア障害(冗長性)、システムのアップグレード、およびサービス拒否攻撃によるサービスの中断を防止または軽減することを目的としています。

組み込みセキュリティはサイバーセキュリティに情報を提供し、サイバーセキュリティはその情報にどのように対処するかを決定しますが、組み込みセキュリティによる可用性への影響は、せいぜい間接的なものです。したがって、IPsecなどのハードウェアベースの機能について説明するときに、可用性について説明することは正しくありません。

0
Dan Ujvari