web-dev-qa-db-ja.com

RSA、Diffie-Hellman Key Exchange、PKI、X.509の関係は?

RSA、Diffie-Hellman Key Exchange、PKI、X.509v3と混同しています。

RSAの数学アルゴリズムを調べたところ、暗号化アルゴリズムのようですよね?公開鍵と秘密鍵の生成、暗号化と復号化に使用しています...

また、Diffie-Hellmanの数学アルゴリズムを調べたところ、キー交換のように見えましたね。どちらの側も、ある種のアルゴリズムを使用して同じキーを計算できます。暗号化ではないようですね。

私もPKIを調べましたが、CAとデジタル証明書という新しいものがあります。公開鍵と秘密鍵についても説明します。

では、これらの概念の関係は何ですか?彼らは3つの別々の概念ですか?または、それらは実際に一緒に使用されますか?

また、X.509はPKIの標準ですか? PKI自体は標準ではないのですか?

これは私が長い間混乱していた質問です。皆さんに感謝します。

22
alcohol menthol

RSAは2アルゴリズムで、1つは非対称暗号化用、もう1つはデジタル署名用です。それらは同じ種類のキーを使用し、同じコア操作を共有し、両方とも「RSA」と呼ばれます。

Diffie-Hellmanは鍵交換アルゴリズムです。暗号化する対象を選択できない、一種の非対称暗号化アルゴリズムと見なすことができます。これは、2人の間で本質的にランダムな共有シークレットを取得するだけの鍵交換に適しています。 RSA非対称暗号化のほとんどの使用法は、実際にはキー交換でもあることに注意してください。 SSL/TLSの場合:クライアントはランダムな値を生成し、サーバーの公開鍵で暗号化して、サーバーに送信します。

PKIは概念です。 certificateの概念に基づいて構築されています。証明書は鍵の所有権の表明です。基本的に、証明書はID(名前)と公開鍵を含むオブジェクトであり、オブジェクトはデジタル署名されています(RSA-署名アルゴリズム-またはECDSAなど)。証明書は、この署名を検証することによって検証されます。証明書を発行(署名)した人の公開鍵を知っていれば、その署名を検証できるため、証明書に含まれている公開鍵が実際に証明書に含まれるID。

厳密な階層が存在するような方法で証明書を編成すると、証明書の発行者がCertification Authoritiesと呼ばれ、「ルートCA」と呼ばれる少数のトップCAを使用して相互に証明書を発行します。その全体的な構造は公開鍵インフラストラクチャ、つまりPKIと呼ばれます。

X.509は、証明書の形式と内容の標準です。 X.509は、証明書の署名に使用される署名アルゴリズムについてはかなりオープンですが、実際には、99%の時間でRSAになります。

34
Thomas Pornin