データを守る土台が「暗号化」と「認証」よ。共通鍵・公開鍵・ハッシュ・デジタル署名、そして多要素認証(MFA)まで、身近なたとえで一気に整理するわ。
先生、暗号化ってよく聞くけど、種類とかあるの?
大きく2種類あるのよ。
共通鍵暗号と公開鍵暗号。
前者は鍵が1本、後者は鍵が2本でペアになっているの。
鍵が1本と2本…なんだか不思議ですぅ。
1本のほうが簡単そうなのにぃ。
共通鍵はまさに同じ鍵で施錠と開錠をするので処理が速いんです。
代表はAES。
ただし、相手にこっそり鍵を渡す方法が難しい、という弱点があります。
あー、鍵を郵送してる途中で盗まれたら終わりじゃん。
これが鍵配送問題ってやつか。
ふふ、その通り。
そこで登場するのが公開鍵暗号なの。
たとえると、誰でも投函できる『郵便ポスト』ね。
投入口(公開鍵)は街なかに公開してOK、でも中身を取り出す鍵(秘密鍵)は持ち主だけが持っている。
じゃあ、わたしにメッセージを送りたい人は、わたしの公開ポストに入れればいいんですねぇ。
そうです。
公開鍵で暗号化したものは、対になる秘密鍵でしか復号できません。
だから鍵を安全に配る必要がなくなり、鍵配送問題が解決します。
代表アルゴリズムはRSAや楕円曲線暗号(ECC)です。
公開鍵はバラまいてOKってのが直感に反するんだよね。
マジで見られて平気なの?
平気です。
公開鍵から秘密鍵を計算で割り出すのが事実上不可能、という数学的な仕組みで守られています。
補足すると、共通鍵は速い・公開鍵は鍵配送に強い、という対比で覚えると整理しやすいですよ。
その公開鍵を『本当に本人のものか』保証する仕組みがPKIよ。
中心にいるのが認証局(CA)で、デジタル証明書を発行して『この公開鍵は確かにこの人のもの』とお墨付きを与えるの。
暗号化のほかに、改ざんを見つける方法もあるって聞いたんですけどぉ?
あるわよ。
それがハッシュ関数。
データを入れると決まった長さの値(ハッシュ値)が出てきて、元のデータが1文字でも変われば値がガラッと変わるの。
逆算はできない一方通行よ。
料理をミキサーにかける感じか。
元の食材には戻せないけど、同じ材料なら毎回同じスムージーになる、みたいな。
うまいたとえですね。
代表はSHA-256です。
古いMD5やSHA-1は、別データなのに同じ値になる『衝突』が見つかっていて非推奨。
改ざん検知やパスワード保管に使われます。
ハッシュと公開鍵を組み合わせたのがデジタル署名よ。
送信者は自分の秘密鍵で署名し、受信側は送信者の公開鍵で検証する。
暗号化と逆向きに鍵を使うのがポイントね。
あれぇ?
暗号化と署名で、使う鍵が逆になってるんですかぁ?
そこ、試験のひっかけです。
暗号化は『相手の公開鍵』で行い『相手の秘密鍵』で開く。
署名は『自分の秘密鍵』で行い『相手は送信者の公開鍵』で確認する。
守りたいものが、秘密(暗号化)か本人証明(署名)かで向きが変わると覚えてください。
なるほどね。
じゃあ次は認証!
ログインのときのアレでしょ?
そう。
認証の要素は3つあるの。
『知っていること(パスワード)』『持っているもの(ICカード・スマホ)』『本人そのもの(指紋・顔)』。
語呂は『知る・持つ・体』で覚えると楽よ。
このうち2つ以上を組み合わせるのが多要素認証(MFA)です。
パスワード(知識)とSMSコードや指紋(所有・生体)を併用するので、パスワードが漏れても突破されにくくなります。
じゃあ、パスワードを2回入れるのは多要素なんですかぁ?
いいえ、それは同じ『知識』を2回なので多要素ではありません。
種類の違う要素を組み合わせて初めてMFAです。
ここも狙われやすいポイントですよ。
最後にもう一つ。
SSO(シングルサインオン)は、一度ログインすれば連携した複数サービスを使える便利な仕組み。
MFAが『守りを固める』なら、SSOは『手間を減らす』。
役割が違うのよ。
暗号化で隠して、署名で本人確認して、MFAで入口を固める。
全部つながってるんだね!
確認クイズ
利用者IDとパスワードに加え、スマートフォンに届くワンタイムパスワードの入力を求める認証方式の説明として、最も適切なものはどれか。
- 同じパスワードを2回入力させる二段階の本人確認である
- 知識と所有という異なる要素を組み合わせた多要素認証である
- 一度の認証で複数サービスを使えるシングルサインオンである
- 公開鍵で暗号化し秘密鍵で復号する公開鍵暗号方式である
こたえを見る
正解: 2. 知識と所有という異なる要素を組み合わせた多要素認証である
正解は2。パスワード(知っていること=知識)とスマホに届くコード(持っているもの=所有)という異なる要素を組み合わせているため多要素認証(MFA)です。1は同じ知識要素の繰り返しなのでMFAではありません。3のSSOは複数サービスを一度のログインで使う仕組み、4は暗号化方式の説明で、いずれも認証方式の説明として不適切です。