CS四方山話(第21話) サイバーセキュリティと密接な関係がある個人認証の話、その2
個人認証の宿命~FRRとFAR、こっちを立てれば、あっちが立たず
今回(第21話)のお題は、前回(第20話)に引き続き「個人認証」です。個人認証は、言うまでもなく認証方式の1つです。そして、認証システムとして最も重要なことは、その精度です。個人を特定することがその目的ですから、本人は本人として、そして、本人以外は他人として識別(弁別)する必要があります。裏を返せば、本人を本人として認識できなかったり、他人を本人だと認識してしまったりしてはいけないということです。
たとえば、顔認証を想定してみましょう。話を単純化するために、顔の2次元画像で認証を行うシステムを想定しましょう。顔の2次元画像はどの場面でも同じという訳ではありません。光源の状態でも変わりますし、表情も一様ではないでしょう。メイクをする場合もあるでしょう。単純な画像比較ではなく、画像からその特徴を抽出して比較するなど、外乱への耐性を上げる工夫をします。しかし、100%正しく認識することは難しく、必ず一定の認識の誤り、つまり、エラーが発生します。
本人を本人として認識できなかった場合を「本人拒否」、その比率を「本人拒否率」(FRR = False Rejection Rate)と呼びます。他人を本人だと認識してしまった場合を「他人受入」、その比率を「他人受入率」(FAR = False Acceptance Rate)と呼びます。
どちらの率も小さいほど良い訳ですが、世の中なかなかそうは行きません。他人が本人にならないように本人だと判断する閾値を高く設定すると、「本人拒否率」(FRR)が上がります。本人が必ず本人と判断するように閾値を低く設定すると、「他人受入率」(FAR)が上がります。このように、FARとFRRは背反します。図にすると下記のようになります。
FAR、FRRを示す曲線の交点、ある意味「両方を立てるポイント」の高さを「等価エラー率」(ERR = Equal Error Rate)と呼びます。単純にエラー率というと、このERRを指すと考えて良いでしょう。ちなみに、システムの在り方(認証に対する考え方)にも依りますので、必ずERRを選択することがシステムとして正解ということにはなりません。
複数の生体認証を組み合わせて精度を高める「マルチモーダル」
前述の通り、生体認証の精度を向上する(エラー率をゼロに近付ける)ことは容易ではありません。そこで考え出されたのが「マルチモーダル(multimodal)」という考え方です。生体認証だけでなく、複数の手段を組み合わせるという考え方です。さまざまな分野で使われる便利な言葉で、エンジニアリングとしては常套手段です。
たとえば、「顔認証と指紋認証を組み合わせる」「指静脈認証と指紋認証を組み合わせる」というように生体認証を組み合わせる方法もあります。また、パスワード認証とキーストローク認証を組み合わせる方法もあります。
FAR = 5%、FRR = 5% の 認証方式を2つ組み合わせた場合、
直列方式:両方の認証に成功でOK の場合は FAR= 5% x 5% = 0.25%、FRR= 5% + 5% = 10%
並列方式:一方の認証に成功でOK の場合は FAR= 5% + 5% = 10%、FRR= 5% x 5% = 0.25%
ということになります。これは「アブストラクト・レベル」という方法になります。
この「アブストラクト・レベル」以外に、「ランク・レベル」「メジャメント・レベル」という方法があります。
「ランク・レベル」は、精度向上ではなく、高速化を目的とした手法です。順次比較で絞り込みを行い、2段階目の認証処理の高速化を図ります。
「メジャメント・レベル」は、結論を組み合せるのではなく、複数の認証処理の結果を多次元空間に写像して、集合の分離(認証OK/NGの分離)を行うという考え方です。
「1:1認証」「1:N認証」とは? 個人のIDを利用するかどうか?
また、1:1認証、1:N認証 という2つの方法があります。
1:1認証は、IDを入力した上で、そのIDに対応した認証情報を与えるという方法です。
一般的な ID/Password認証は、1:1認証ということになります。まず、自分が誰であるかを宣言する(IDを入力する)。その上で、自分であることを確認できる情報を入力する手順になります。
これは、処理速度と認識性能を上げるためには効果的です。なぜならば、入力した情報と、「自分」として登録した情報との比較のみを行えば良いからです。指紋認証であれば、その利用者が以前登録した指紋情報と、いまその利用者が読み取らせた指紋情報とが「一致するかどうか」を判断するだけです。
これに対して、1:N認証の場合は、IDは入力しません。指紋認証であれば、利用者は単に自分の指紋を読み取らせるだけです。この場合、システムは、入力された指紋情報と、登録されている全ての指紋情報とを比較し、一番合致するものを選択し、それをもって利用者を特定することになります。1:1認証と比較して、処理速度も認証性能も犠牲になりますが、利用者が自身のIDを入力する必要がないので利便性は向上します。
コロナ禍の影響もあり、多数のヒトが装置に直接触れることを避けようとすると、IDを手入力することなく、顔認証が行えると便利だし、衛生的にも良い訳です。前述のマルチモーダルのランク・レベルを適用してNを小さくし、処理速度も認証性能を向上することも可能です。
個人認証に対する個人的な疑問と方向性についての見解
前回(第20話)から、さまざまな個人認証を見てきました。大きくな括りでは、ID/Password認証、デバイス認証、生体認証ということになります。この3つの比較は、前回行いましたのでここでは省略します。この中では、生体認証が一番本人に近い、つまり、本人との結び付きが強く、本人を表現しやすいと言えそうです。
しかし、個人的には本当にそうなのだろうか? という思いを拭えません。
事故などで指を失っても、本人ではなくなることはありません。濃いめのメイクをしても本人には違いありません(スッピンを見て別人だ! と思ったとしても、本人は本人です)。DNAにしても、一卵性双生児のDNAの塩基配列はほぼ同じで、21世紀に入っても事件捜査において、DNA鑑定で一卵性双生児のどちらであるかを特定することができなかった例が報告されています(*1)。つまり、DNA イコール 本人 とは言えないということになります。
では、ヒトは何をもってそのヒトなのだろうか? という、やや哲学の香りのする「問い」に行き着きます。
この連載での登場頻度が高い「攻殻機動隊」の用語をお借りすると、ヒト ≒ そのヒトの「ゴースト」ということになります(あくまでも、私の中では、ですが)(*2)。攻殻機動隊をご存知ない方には、なんのこっちゃ? ということになるので、もう少し解説を加えます。
「ゴースト」とは「ヒトが持つ、意識や自我と、無意識的な表象が組み合わさったモノ」と言うことになるのでは? と思います。もう少し噛み砕いた表現をすると、元々デバイスとして存在する脳の特性と、経験として降り積もっていく記憶が創り出す「意識」と「自我」。それに、感覚器官からの入力に対する反射などが創り出す「無意識」が合わさったものがゴーストで、ゴーストが本人を本人たらしめる要素であると思います。
ヒトはどうやって、対象を、自分の家族や、仕事仲間と認識しているのかを考えてみましょう。
確かに、見た目、特に顔は重要な要素の1つかも知れません。ただ、指紋を確認したり、DNAの塩基配列を調べたりしないでしょう。背格好が大きく違えば変だな? と気付くでしょうけど、それで個人を特定できている訳ではありません。声だって正確に認識しているわけではありません。「パスワード=合い言葉」を使うという方法もありますが、これは顔見知りではない仲間を判別する際の手法で、個人を特定するモノではありません。家宝の小刀を持っているから縁者だと判断するのも、相手が顔馴染みではない場合でしょう。
Web会議で友人と討論をしていて思い付いたのですが、仮に相手の画像がなくても=顔が見えなくても、音声を変換して違う声色だったとしても、極論すればチャットでの会話だったとしても、私はその友人を特定できます。なぜならば、一定の対話を行えば、速度も含めたその反応や、使われる語彙、参照される情報、導出される仮説などから、必ずその友人であるという確証が得られます。また、それを別人が模倣することは、ほぼ不可能と言ってよいでしょう。対話は単なるその場の反応ではなく、過去に積み重ねてきた「対話の記憶」によって産み出されているので、その模倣は非常に難しい、つまり、それこそが、私にとっての「その友人」という特定ということになる訳です。
これでめでたく、個人を認証できました。
「システム化は難しいのでは?」 いいえ、難しくはないでしょう。判断はヒトが行えば良いのですから。なんなら複数のヒトが判断に参加すれば、なりすましは更に難しくなるでしょう。
「え〜、ヒトが介在していてはシステムにならないのでは?」 それも、早晩解決されるでしょう(いまは、無理だとしても)。あと25〜50年もすれば、ある程度は利口なAIが実現されるでしょうから、判断はAIがやれば良いのです。本人の対話をモニタし、機械学習でモデル化すれば良いということです。
「でもオフィスに入る度に、対話を要求されるのって困るよね。ICカードでピッとやってドアが開くのは良いのだけど、毎回何分も話さなきゃならないのは辛いです。というか、入口で渋滞してしまいますよね!?」
はい、確かにその通りです。オフィスに入るぐらいであれば、もう少し簡便な方法で良いでしょう。ただ、本当に重要な情報や装置を格納してある部屋や施設に入場する場合、重要なデータを授受する場合には、時間を掛けて認証しても良いのでは? と思いますし、そこに到る経路上で対話しながら移動すれば、それ程時間のロスにはならないのでは? とも思います。
まとめ
さて、後半は少しぶっ飛んだことを書きましたが、こんな考え方もあるのだという程度に捉えて下さい。ただ、この方法論は「個人認証のこれから」として、ある形で具体化しようと思います。ということで、サイバーセキュリティにとっても重要な個人認証に関しては今回で一区切りです。
次回は、前々回(第19話)で思い付いたネタ、「CS白狐村塾」で書かせて頂いた「暗号」の話を「CS四方山話」的に表現してみよう、に挑戦してみたいと思います。
【四方山話】
今年(2022年の)9月には、2回の3連休がありました。その2つ目の3連休に、約10年来の友人の挙式・披露宴があり参加させて頂きました。現地で受付をすると座席表を渡されるのは定番なのですが、その座席表は少し変わっていました。出席者の約1/3の座席の肩書きは「銀座ゴールデン街 友人」と記載されていました。普通は「新婦 友人」とか「新郎 同僚」とかの肩書きが一般的だと思うのですが、なかなか楽しい! ちなみに、私は「新婦 友人」で、元も含めた銀座のお姉さん方のテーブルの席が割り当てられていました。銀座のお姉さん方も新宿ゴールデン街友人の方々も、ほぼ全員知っている方々でしたので、その夜は、ゴールデン街で飲み明かすことになりました。
画像は、明け方にBARのスペースで朝御飯「たうちめし」です。レベルの高い鮮魚料理。この日、私は、子持ち鮎の塩焼きを頂きました。
脚注
(*1)2009年に、ドイツ、マレーシアの事件で、採取されたDNAによって一卵性双生児のいずれであるかを特定できなかったという事例があります(それぞれ別の事例です)。ただ、技術の発達によって、手間は掛かるが識別できるという可能性はありそうです。DNAをメチル化する場合の性質の差で、一卵性双生児のDNAでも判別可能とする方法が2015年に論文で報告されています。また、ミトコンドリアDNAの変異は個人差が大きいので、それを利用して判別するという方法も2015年に論文報告されています。
(*2)攻殻機動隊のサブタイトルは「Ghost in the Shell」です。この「Shell」とは「脳殻」と呼ばれる、有機体の脳を納める金属容器のことで、その中に「Ghost」つまりヒトをヒトたらしめるモノが宿っているという様を表しています。
CS四方山話の過去の記事はこちら(合わせてお読みください)
中村 健 (Ken Nakamura)
株式会社SYNCHRO 取締役 CTO
機械屋だったはずだが、いつの間にかソフト屋になっていた。
以前は計測制御、知識工学が専門分野で、日本版スペースシャトルの
飛行実験に関わったり、アクアラインを掘ったりしていた。
VoIPに関わったことで通信も専門分野に加わり、最近はネットワーク
セキュリティに注力している。
https://www.udc-synchro.co.jp/
サイバーセキュリティ四方山話の最新話は、メールマガジンにてもご案内致しています。是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします。