暗号方式

SSL 暗号方式とは
何ですか?

SSL 暗号方式とは何ですか?

SSL 暗号方式では、公開鍵暗号方式を採用しています。公開鍵暗号方式では、サーバーとクライアントの間を行き来するデータを暗号化/復号化するために非対称鍵を必要とします。データは通常、Web サイトとブラウザの間でやり取りされますが、Microsoft Outlook のように、メールサーバーとメールクライアント間の場合もあります。

SSL(Secure Sockets Layer)の歴史は、インターネットの歴史と深い関わりがあります。実際、SSL の最初の実行可能バージョンは、1995 年にインターネットブラウザ Netscape で SSL 2.0 としてリリースされました。これは、1999 年に SSL 3.0 にアップグレードされましたが、いくつもの脆弱性が発見されたために後に廃止されました。これは、TLS(Transport Layer Security)に置き換えられましたが、現在 TLS は、SSL のよりセキュアなバージョンであると見なされています。今でも多くの人は TLS(現在使用されているインターネットセキュリティのプロトコル)のことを SSL と呼んでおり、「TLS」と「SSL」は区別せずに用いられることがよくあります。

TLS/SSL 暗号方式の発展について詳しくは、こちらをご覧ください。

TLS/SSL 暗号方式および暗号化は、インターネット上の Web サイトのセキュリティを確保するために最も広く使用されており、ブラウザのアドレスバーに「HTTPS」が表示されるのはそのためです。TLS/SSL 暗号化により、転送中の機密情報(クレジットカード番号、社会保障番号、ログインクレデンシャルなど)も保護されます。ブラウザとサーバーの間で接続を確立するには、ブラウザとサーバーの双方で、TLS/SSL 証明書とも呼ばれる電子証明書が必要になります。

TLS/SSL 暗号化の背景にあるテクノロジーには、非対称鍵と対称鍵があります。公開鍵と秘密鍵は、RSA楕円曲線暗号方式(ECC)などの各種のアルゴリズムから構成されています。これにより、暗号の内容を解読するのはほぼ不可能になっています。

非対称暗号化とは何ですか?

非対称暗号化は、公開鍵暗号方式または SSL 暗号方式とも呼ばれ、暗号化と復号化にそれぞれ別の 2 つの鍵を使用します。非対称暗号化では、誰でも公開鍵を使ってメッセージを暗号化できます。一方、復号化の鍵は秘密の場所に保管されます。こうすることで、意図した受信者だけがメッセージを復号化できるようになります。

RSA は、最も一般的な非対称暗号化アルゴリズムです。RSA とは、Ron Rivest, Adi Shamir, and Leonard Adleman の略です。これらは、1977 年にこのアルゴリズムを初めて公に使用した人物の名前です。非対称鍵は通常、1024 ビットか 2048 ビットです。ただし、2048 ビットよりも小さな鍵では、もはや十分な安全性を確保できないとされています。2048 ビット鍵にはたくさんの固有の暗号化コードが存在し、617 桁が使用済みの状態にあります。

より大きな鍵を作成することは可能ですが、その計算負荷はあまりにも高いため、2048 ビットよりも大きな鍵が使用されることはほとんどありません。わかりやすく説明すると、平均的なコンピュータで 2048 ビットの証明書の暗号を解読するには 140 億年かかります。

Asymmetric Encryption Diagram

対称暗号化とは何ですか?

対称暗号化(事前共有鍵暗号化)では、データを暗号化/復号化するのに 1 つの鍵を使用します。送信者と受信者はどちらも、通信に同じ鍵を使用します。対称鍵の一般的なサイズは 128 ビットまたは 256 ビットです。鍵のサイズが大きいほど、その暗号を解読するのが困難になります。たとえば、128 ビット鍵の暗号化コードには、340,282,366,920,938,463,463,374,607,431,768,211,456 通りの可能性があります。ご想像のとおり、「総当たり攻撃」(正しい数値を見つけるまで、攻撃者があらゆる鍵の数値を試してみる攻撃)の際でも、128 ビット鍵の暗号を解読するにはかなりの時間がかかります。128 ビット鍵または 256 ビット鍵のどちらを使用するかは、サーバーとクライアントソフトウェアにどれくらいの暗号化能力があるかにかかっています。TLS/SSL 証明書は、どの鍵サイズを使用するべきか指定していません。

 

Symmetric Encryption Diagram

強度の比較: 非対称鍵と対称鍵

非対称鍵は対称鍵よりも大きいため、非対称で暗号化されたデータのほうが対称で暗号化されたものよりも解読が困難になります。しかし、これは非対称鍵のほうが優れていることを意味するわけではありません。サイズを比較の対象にするよりも、これらの鍵は、計算負荷、配布の容易性の観点から比較する必要があります。

対称鍵は非対称鍵よりも小さいため、計算負荷も低くなります。ただし、対称鍵には、特にデータ転送のセキュリティ確保で使用する際に大きなデメリットがあります。対称的に暗号化/復号化するときに同じ鍵を使うため、あなたも受信者もその鍵を必要とします。受信者のところに出向いて鍵の内容を知らせることができるならば、これは問題にならないでしょうが、地球の反対側にいるユーザーに鍵を送信しないといけない場合(より現実的なシナリオ)、データのセキュリティについて心配することでしょう。

非対称暗号化では、この問題は起こりません。あなたが秘密鍵を秘密に管理しているかぎり、他者はメッセージを復号化することはできません。対応する公開鍵は、誰が入手するか心配せずに配布することができます。公開鍵を使って誰でもデータの暗号化は行えますが、秘密鍵を持つ者だけが復号化できます。

TLS/SSL は、非対称暗号化と対称暗号化をどのように使用しますか?

公開鍵基盤(PKI)は、電子証明書の作成、管理、配布、使用、保管、失効に必要とされる一連のハードウェア、ソフトウェア、人物、ポリシー、手順です。また、PKI は、認証局を通じて鍵をユーザー ID に結び付けます。PKI では、ハイブリッド暗号化システムが採用されているため、両方の暗号化の恩恵を受けます。たとえば、TLS/SSL 通信では、サーバーの TLS 証明書に非対称の公開鍵/秘密鍵ペアが含まれます。一方、SSL ハンドシェイクの実行時にサーバーとブラウザによって作成されるセッション鍵は対称的です。