7
.4 暗号化とデジタル署名のソフトウェア
7.4.1 ソフトウェアでの実装方式

秘密鍵方式の問題点は大勢の相手と通信する時の鍵の管理問題であり、公開鍵方式の問題点は暗号化に要する時間が秘密鍵方式に比べて100〜1000倍掛かるということです。長い電文を暗号化するとき問題になります。
 この両方の問題を解決するため、多くのソフトウェアでは「セッション鍵」を導入しています。セッション鍵はある電文を送信する時だけ有効な秘密鍵方式の鍵です。乱数表などを用いて通信の都度異なる鍵を生成します。このセッション鍵を公開鍵方式で受信者に安全に送り、電文本体の暗号化はこのセッション鍵を用いた秘密鍵方式で行います。セッション鍵を送る段階で暗号化をしますが、セッション鍵は電文に比べて十分に短いため暗号化に要する時間は問題になりません。この方式により、鍵の管理問題と暗号化に要する時間の問題を解決しました。
 電文に署名をつけ、暗号化して受信者に送る場合の処理の概要は上図のとおりです。送信者と受信者はあらかじめ自分の公開鍵を登録しデジタル証明書を入手します。これを保存し暗号化通信に使用します。この証明書を通信に先立ち送信者と受信者で交換してお互いに相手の公開鍵を入手します。以後、上記手順C〜Lの順序で、署名のついた信頼できる電文を受信者だけに安全に届けることができます。署名の検証は、受信した電文から送信の時と同じルールで要約文を作り、これと復号した要約文が等しいかどうかを比較することにより行われます。もし、両者が異なれば、送信者が不正であったか、電文が改ざんされているかのどちらかです。どちらであっても、この電文は信用できません。
 

コース (A  B  C  D  E)



7.4.2 暗号化とデジタル署名のソフトウェア
 リモートアクセスで利用する暗号化、およびデジタル署名のソフトウェアの主なものは次の3つです。
 
(1) S/MIME(Secure / Multipurpose Internet Mail Extension)
 S/MIMEMIMEというインターネット上でやり取りされる電子メール用の規格にセキュリティ機能を強化したものです。提供されるセキュリティ機能はデジタル署名と暗号化です。S/MIMEを利用するためには、送信者と受信者双方がデジタル証明書を入手しておく必要があります。
 
(2) SSL(Secure Sockets Layer)
 SSLWebで使用している暗号化ソフトで、キーワードやクレジット番号など必要な部分だけを暗号化することができます。SSLは、トンネリングの手段としても用いられています。送信者はWebの利用者であり、受信者はWebサーバーとなります。デジタル証明書はサーバーだけに必要で、利用者は必要ありません。
 
(3) PGP(Pretty Good Privacy)

 PGPはアメリカのPhilip R. Zimmermannを中心とした開発チームによって作られている暗号ソフトです。

S/MIMEが秘密鍵、公開鍵共に公的な認証局に認証してもらい、この認証局から公開鍵をもらうことにより暗号通信を行う方式であるのに対して、PGPは秘密鍵を本人が管理し、公開鍵をお互いに交換することにより暗号通信を行う方式となります。

この方式は、フリーウェアやシェアウェアとして入手できるメーラーを中心に普及しています。
 

コース (A  B  C  D  E)