公開鍵暗号とは?仕組みと活用方法をわかりやすく解説
公開鍵暗号方式とは
共通鍵暗号方式には、「鍵をいかに安全に配布するか」という大きな課題があります。離れた場所にいる2者の間で、たとえインターネット上であっても安全な通信路を確立できるよう、さまざまな暗号方式が開発されてきました。こうした暗号方式の総称が「公開鍵暗号方式」です。
公開鍵暗号方式では、2つの鍵を使用します。一方の鍵で情報を暗号化し、もう一方の鍵で復号する仕組みです。このうち、片方の鍵を「秘密鍵」、もう片方を「公開鍵」として指定します。
秘密鍵と公開鍵の役割
秘密鍵は所有者が厳重に管理・保管し、公開鍵は世界中の誰にでも自由かつ広く公開されます。公開鍵のリストはどこにでも掲載でき、例えばアメリカ大統領の公開鍵を知ることは難しいことではありません。
ある人が秘密鍵を保有し、対応する公開鍵を公開している場合、次の2つのことが可能になります。
個人への安全なメッセージ送信
世界中の誰もが、その人の公開鍵を使ってメッセージを暗号化し、送信できます。秘密鍵は本人しか持っていないため、メッセージを解読できるのは受信した本人だけです。
本人による真正性の保証
その人が秘密鍵でメッセージを暗号化した場合、復号できるのはその人固有の公開鍵だけです。そのため、世界中の誰もが、そのメッセージが確かに本人から送られたものであることを検証できます。
例えば、ユーザーが計画数値や予算数値をデータウェアハウスにアップロードする際にこの方式を使えば、その数値が確かに指定された本人から送信されたものであることを保証できます。
2者間の安全な通信の実現
2人の異なる人物(AさんとBさん)がそれぞれ公開鍵と秘密鍵を持っていれば、安全な通信を行うことができます。
Aさんは、送信するメッセージをBさんの公開鍵で暗号化します。さらに、メッセージ内にはAさんの秘密鍵で暗号化したデジタル署名を添付します。Bさんはメッセージを受信すると、まず自分の秘密鍵でメッセージ本体を復号します。その後、Aさんの公開鍵で署名を復号することで、Aさんの署名の真正性を検証します。
このように、暗号化とデジタル署名を組み合わせることで、機密性と真正性の両方を同時に確保できるのです。
計算コストの課題と共通鍵との併用
公開鍵暗号方式は、インターネットや公衆電話回線のような安全でない媒体上で、最も安全な通信を実現できる方式です。ただし、計算コストが高いという弱点があります。
そのため実務では、公開鍵暗号を使って高性能な共通鍵を安全に交換し、その共通鍵を両者が一時的に使用して大量のデータを高速にやり取りする、というハイブリッド方式が広く採用されています。
認証局(CA)による公開鍵の安全な取得
公開鍵が本当に本人のものかどうかを確認するには、認証局(CA:Certificate Authority)の仕組みを利用します。手順は以下のとおりです。
まず、CAのWebサーバーに接続し、目的の個人または企業の公開鍵を要求します。次に、CAの秘密鍵で暗号化された応答を受信します。最後に、CAの公開鍵でそのメッセージを復号することで、メッセージが確かにCAから送られた本物であることを検証できます。
この仕組みにより、なりすましや鍵のすり替えを防ぎ、安全に公開鍵を取得することが可能になります。
-
パブリックIPアドレスとは?仕組み・確認方法・隠し方を徹底解説
パブリックIPアドレスとは、家庭や企業のルーターがISP(インターネットサービスプロバイダ)から割り当てられるIPアドレスで、インターネットにアクセスする際に使用されるものです。家庭用ルーターやWebサイトをホストするサーバーなど、外部からアクセス可能なネットワーク機器には、このパブリックIPアドレスが必須となります。 パブリックIPアドレスの役割とは? パブリックIPアドレスは、インターネットに接続されたデバイス同士を区別するための識別子です。インターネットにアクセスするすべてのデバイスは固有のIPアドレスを持っており、パブリックIPアドレスは「インターネットIP」と呼ばれることもあります。
-
Double DES(ダブルDES)とは?仕組みと中間一致攻撃のリスクを徹底解説
DES(データ暗号化標準)の基礎知識DES(Data Encryption Standard:データ暗号化標準)は対称鍵ブロック暗号の一種で、64ビットの平文と56ビットの鍵を入力として受け取り、64ビットの暗号文を出力します。DESの処理はPボックスとSボックスによって構成されており、Pボックスがビットを転置し、Sボックスがビットを置換することで暗号文を生成します。DESは「LUCIFER」と呼ばれるFeistelブロック暗号の実装であり、16ラウンドからなるFeistel構造を採用しているのが特徴です。各ラウンドでは異なる部分鍵を使用できます。DESを学ぶことの大きな意義は、それが数多くの