IDとパスワードの本質,識別・認証・認可
IDやパスワードはインターネット上のサービスを利用する上で欠かせないものになっています.これはサービスを使う人や資産にアクセスする人が適切な人なのかどうかを確かめるために必要なものです.クリプトの世界でもご自身のウィレットから資産を引き出すには「暗号鍵」が必要です.これはID/パスワードにおけるパスワードと同じものです.
しかし,ある考え方をインストールすることで,ID・パスワードの本質を理解し,他のものとの繋がりも同時に理解できるようになります.今回はその本質とその本質から展開できる考え方の例を紹介したいと思います.
識別・認証・認可
結論から申し上げると識別・認証・認可,この3つの概念を押さえておくと良いかなと思います.これはそれぞれどういうものかすごくざっくりいうと.
識別:お前は誰だ!(俺はxxxだ!)
認証:じゃあそれを証明しろ!(俺がxxxであることを証明してやる!)
認可:xxxにはこういう行動を許可する!
というものになります.
これをID・パスワードで見ていきましょう.IDは一般的には公開されても問題がないのに対して,パスワードは他者に漏らしてはいけない情報となっています.これはID=「俺はxxxだ!」を主張するものにすぎない(真偽を問わない),パスワードはそれを証明(認証)してしまうものだからです.
認可はあなたの知らないところで実装されていることが多いです.例えばSpotlightにログインをすると私は今書いているように記事を投稿することができる(認可されている)んですが,他人の記事を勝手に改竄したり削除したりすることは許可されていません.このように何をどこまでして良いのかという認可はあらかじめ規定されていることが多いです.
クリプトの世界では当然ですがウィレットの秘密鍵やそれを復活させることが可能なニモニックフレーズが「認証」の役割を担います.これが漏れると,例えばAさんがBさんの暗号鍵を取得してしまうとBさんのウォレットをAさんがコントロールできしまうのですが,これは「認証」を通過できてしまうからともいえます.
海外旅行をするときは必ずパスポートを携行します.このパスポートは何に使われるものでしょうか...?
メインの用途としては「識別」に使われるものと考えられます.飛行機に乗る前後でパスポートを係の人に見せるということは「私はこういう人です」というサインになるからです.(そして,パスポート情報とあなたの実際の身なりや指紋などの生態情報を見てゲートの通過を許可します.これはまさに「認証」が行われています)
電車に乗るときは乗車駅と降車駅が記されたチケットを改札に通すことになっています.これは「A駅からB駅まで電車で移動してもいいですよ」という認可のプロセスを踏んでいます.
ただし電車に乗るときは自分の名前を名乗ったり,免許証を見せるということはないですよね.これは識別や認証を必要とせず,電車に乗る資格があるかどうかという認可の部分だけを担保できればよいからです.このように識別・認証・認可は必ずセットのなってないといけないものではなく必要な場面で必要な要素が機能していれば良いのです.
ディズニーランドも電車のチケットと同様でチケットを持っていれば基本中に入れます.これはまさに入場を許可するという認可のプロセスであり,チケットがそのトークンとして機能していることがわかります.
こんな感じで識別,認証,認可という概念を身につけると社会システムのあらゆるところでこれが実装されていることに気づけます.そうすることで,「ここは実はセキュリティが甘いぞ」とか「もっとこうしたらいいのに」ということが見えてくると思います.
サイバーセキュリティの世界は年々注目が高まっており,識別・認証・認可のコントロールも重要な要素なのですがパスワードや顔認証といった表面的なこと,技術的なことに囚われ本質を見失うと適切な評価を下すことはできません.こういう概念もあるんだなーということでぜひ誰かのお役に立てば幸いです