MENU

セキュリティ対策(その2)

ここでは、前節で学んだこと以外の暗号化やディジタル署名・認証局といった基本対策のほか、SSL、S/MIME、電子透かし、CAPTCHAなどについて学びます。

 

ポイント:公開鍵暗号方式の方が安全 (試験にでる!)
    :共通鍵暗号方式の方が高速

 

●暗号化
情報を盗まれないようにするためには、インターネットでやり取りする情報を暗号化します。例えば、「あ」という文字を送りたいときに、これを3文字ずらして「え」にして送るというのが、最も単純な暗号化の考え方です。このとき、3文字ずらしたので、3という数字が暗号を解く鍵になります。実際には、高等数学を使った複雑な計算を行いますが、やはり鍵が重要です。この鍵に関しては、基本的な2通りの方式があります。

 

共通鍵暗号方式では、送信者も受信者も共通の秘密の鍵を持ちます。ただ、この場合には、送信者は受信者に秘密鍵を送らなければなりません。その間に鍵が盗まれる危険性があります。また、鍵が2か所に分散していますので、鍵が盗まれる可能性は2倍になります。受信者が10人の送信者に秘密鍵を送れば、鍵を盗まれる危険性はもっと高くなります。

 

これに対して、公開鍵暗号方式では、受信者は送信者に対して公開鍵という、他人に知られても安心な鍵を送っておきます。初めから公開していますから、盗まれる危険性は考えなくてよいのです。そして、この暗号を元に戻すには、受信者だけが知っている秘密鍵を使います。受信者だけが元に戻す鍵を持っているので、送信者が増えても、盗まれる危険性は大きくなりません。

 

なお、共通鍵の方が処理が高速なため、文書の暗号化には共通鍵を用い、その共通鍵の送信に公開鍵を用いる方法があり、これをセッション鍵方式といいます。

 

●ディジタル署名
ディジタル署名は、文書の印鑑やサインに相当するもので、データの送信者が間違いなく本人であることと文書が途中で改ざんされていないことを証明します。

 

ディジタル署名では、まず送信者がハッシュ関数という特殊な方法で、送信する文書からハッシュ値というデータを作り出し、自分の秘密鍵で暗号化したものをディジタル署名とします。そして、ディジタル署名と文書を送信します。

 

これを受けとった受信者は、やはり文書をハッシュ化してハッシュ値を作ります。そして、受信したデータを送信者の公開鍵で元に戻し(複号し)、受信したハッシュ値と自分で生成したハッシュ値が同じであれば、本人であって改ざんが行われていないことになります。

 

●PKI
前述のように、受信者は送信者の公開鍵を使いますが、これが悪意の第三者の偽物であったのでは、意味がなくなります。

 

そこで、公開鍵の送信者の身元を確認してその鍵の電子証明書を発行してくれるのが認証局(CA:Certificate Authority)です。受信者は、電子証明書とともに公開鍵を手に入れれば、悪意の第三者でないことが分かります。

 

このようにして公開鍵のセキュリティを保証する方式をPKI(Public Key Infrastructure)といいます。

 

●SSL
オンラインショッピングをするときにクレジットカードの情報が盗まれると、悪用されてしまいます。そこで、これを守るのがSSL(Security Socket Layer)です。認証局の電子証明書を持った公開鍵のやり取りを行うセッション鍵方式です。これで通信内容を保護できます。

 

●S/MIME
S/MIMEとは、MIMEの拡張規格で、ディジタル署名を組み合わせて電子メールの内容を暗号化します。S/MIMEとはMIME(第10章 第1節参照)の拡張規格で、SはSecurity(安全)のことです。安全にデータを送るためにメール本文を暗号化するとともに、電子メールにディジタル署名も添付します。これらは共通鍵と公開鍵の両方を使うセッション鍵方式になっています。

 

●電子透かし
画像や動画あるいは音声といったマルチメディアデータの盗用を防ぐ目的で、元のデータに著作権情報などを埋め込むことがあります。これを電子透かしといいます。

 

●CAPTCHA(キャプチャ)
インターネットの投稿サイトなどに、宣伝の目的でコンピュータを使ってプログラムで大量の書込みを行う場合があります。これを防ぐために、ゆがんだ文字の画像などを見せて入力させるのがCAPTCHAです。これは人間でなければ読み取れませんので、相手が人間であることを確認できるわけです。