今日は通信の暗号化についてのメモを書きます。
コンピュータ同士で通信をする際にデータを暗号化せずそのまま送ってしまうと,データが意図しない人に漏れてしまうかもしれません。データの暗号化はもしデータが第三者に漏れても,何が書いてあるかわからないようにしてしまうことです。
ここでは,よく使用される公開鍵暗号方式について書きます。
この公開鍵暗号方式には,公開鍵と秘密鍵の2つの鍵を使います。この2つの鍵はペアになっていて,一方で暗号化したものを他方で復号化します。公開と秘密のちがいは鍵を誰が保管するかの違いです。
具体的な手順は次のとおりです。
① 暗号化されたデータの受け取り手が 鍵のペア を作ります。
② 鍵のペアのうち公開鍵を送信者に送ります。
③ 送信者は公開鍵を使って送りたいデータを暗号化します。
④ 暗号化されたデータを受取手に送ります。
⑤ 受け取りては鍵のペアのうちの秘密鍵でデータを復号化しデータを受け取ります。
このような原理でやり取りする方式を公開鍵暗号方式と呼びます。 また,この方式を利用しているのは電子署名です。電子署名は自身のもっている秘密鍵で暗号化し,公開鍵で適切に復号できることで本人の真正性を証明するものとなっています。
サーバーにログインするユーザーは、事前に自分用のキーペアを作成し、そのうち公開鍵をサーバーに登録し、秘密鍵は自分のPC内に保管しておきます。
サーバーにログインする際には、サーバーから受け取った平文を秘密鍵を用いて署名し、サーバーへ送信します。サーバーは受け取った署名をペアとなる公開鍵で復号して、元の平文と一致するか確認し、登録済みの公開鍵で確認が成功した場合のみ、ログインを許可するという仕組みです。これらの手続きはSSHクライアントとサーバーの間で自動的に行われるため、ユーザーが意識する必要はありません。
コメント