「本人であること」をどう確かめるか。パスワードの弱点を補う多要素認証から、なりすましと改ざんを防ぐ電子署名・PKIまで、認証まわりを一気に整理します。
ログインするときのパスワードって、そもそもあれで本人だって、どうやってわかるんですかぁ?
それが認証ね。
本人だけが知っている・持っている・その人自身である、という要素で確かめるの。
この要素は3種類に分けられるわ。
はい。
パスワードや暗証番号のような『知識情報』、ICカードやスマホのような『所持情報』、指紋や顔のような『生体情報』の3つです。
これらを組み合わせるのが多要素認証ですね。
パスワードを2回入れるのは多要素認証なの?
それは違うのよ、いいところを突いたわね。
パスワードを2つ入れても、どちらも『知識情報』で同じ種類。
多要素認証は『違う種類』を2つ以上組み合わせることが条件なの。
たとえばパスワード(知識)に加えて、スマホに届くワンタイムパスワード(所持)を入力する。
これで異なる2要素になり、多要素認証が成立します。
パスワードが盗まれても、スマホまで盗まないと入れないから安全なんですねぇ。
なるほどですぅ。
その通り。
ちなみに一定時間だけ有効な使い捨てパスワードをワンタイムパスワードというのよ。
盗み見られても次には使えないから安全性が高いの。
認証の話はわかった。
でも『電子署名』ってのは認証と何が違うわけ?
電子署名は、文書に対する『これは私が書いた本物で、改ざんされていない』という証明よ。
ここで面白いのは、暗号化とは鍵の使い方が逆になることなの。
電子署名では、送信者が自分の『秘密鍵』で署名を作ります。
受け取った側は送信者の『公開鍵』で検証する。
秘密鍵は本人しか持たないので、正しく検証できれば本人が作成したと確認でき、これが否認防止にもつながります。
暗号化は『受信者の公開鍵』、署名は『送信者の秘密鍵』…鍵の向きが反対なんですねぇ。
混ざりそうですぅ。
そこは試験の頻出ひっかけよ。
『秘密にしたいなら相手の公開鍵、証明したいなら自分の秘密鍵』と覚えるといいわ。
実際の電子署名では、文書全体ではなくハッシュ値に署名して、改ざん検知も同時に行うのよ。
でもさ、その『公開鍵』が本当に相手のものだって、どうやって信じるの? 誰かがなりすまして偽の公開鍵を配ってたら?
鋭い指摘です。
それを保証するのがデジタル証明書と、それを支えるPKIです。
信頼できる第三者機関である認証局が、『この公開鍵は確かにこの人のものです』と証明書を発行するの。
証明書には認証局自身の電子署名が付いているから、偽造は困難よ。
公的機関が発行する身分証明書みたいなものですねぇ。
認証局がお墨付きをくれるから信じられる、と。
その理解でばっちりよ。
認証で『本人か』を確かめ、電子署名で『本物で改ざんされていないか』を証明し、PKIとデジタル証明書で『その公開鍵は本当に本人のものか』を保証する。
この3段構えで安全な通信が成り立つのよ。
確認クイズ
送信者が電子署名を作成する際に使用する鍵と、受信者が署名を検証する際に使用する鍵の組合せとして適切なものはどれか。
- 署名の作成: 送信者の公開鍵 / 検証: 送信者の秘密鍵
- 署名の作成: 送信者の秘密鍵 / 検証: 送信者の公開鍵
- 署名の作成: 受信者の公開鍵 / 検証: 受信者の秘密鍵
- 署名の作成: 受信者の秘密鍵 / 検証: 受信者の公開鍵
こたえを見る
正解: 2. 署名の作成: 送信者の秘密鍵 / 検証: 送信者の公開鍵
正解は「作成: 送信者の秘密鍵 / 検証: 送信者の公開鍵」。電子署名は送信者本人しか持たない秘密鍵で作成するため、対になる公開鍵で正しく検証できれば本人が作成したと証明できる。受信者の鍵を使う他の選択肢は誤り。特に「相手の公開鍵で暗号化する」のは秘密通信(暗号化)の用途であり、電子署名とは鍵の使い方が逆である点に注意。