どうも、元セキュリティエンジニアのしゅういちです。
最近になって、またセキュリティ熱が出てきたのです。前々から、セキュリティ関連の話は意外とワクワクしていたのを覚えています。
え、なんでワクワクしているかって?僕の知ってる単語とかが出てきて、ある程度理解できるからです(笑)
とまぁ、冗談はさておき、ここ一年ぐらいWeb業界で注目を浴びている技術があります。それがFIDO認証と呼ばれるものです。
今回はFIDO(ファイド)認証について、記載していきます。
Contents
FIDO認証とは何か?
そもそも、FIDO認証ってどんなものでしょうか?
FIDOを略さずにいうとFast IDentity Online (素早くオンラインで認証)の頭文字をとって名付けられました。
FIDO Allianceという非営利企業が2012年に発足したのですが、参加している企業が名だたるところばかり。
Microsoft、Google、Amazon、SamsungなどのIT業界、MasterCard、VISA、American Express,Bank of Americaなどの金融業界を代表する企業が参加し、富士通、ドコモ、LINE、大日本印刷、楽天、三菱東京UFJ、ヤフージャパンなどの日本企業も参加している。
じゃあなんでFIDO認証が注目されているのでしょうか?
従来のパスワード方式ではなく「生体認証」でWebにログインすることが可能。
これまでのWebサービスでは、長らくパスワードの問題に悩まされていました。基本的にWebサービスを使うには、ユーザーIDとパスワードを使ってSNSやWebサービスを使うことが多かったですよね。
しかし、ログインしないとサービスが使えないということは、ログイン画面自体が、攻撃を加える人の侵入経路になることが多かったのです。
ログインに対してできる攻撃といえば、リスト型攻撃(使われていそうなパスワードを繰り返し使って認証を試みる攻撃)やブルートフォース攻撃(ありえそうなIDやパスワードを繰り返しログイン画面のID、パスワードに入力して認証を試みる攻撃)などがあります。脆弱なログイン画面だとパスワードが破られてしまう可能性が非常に高くなります。
しかも日本においては他ののSNSを使うのにも、めんどくさがって、別サービスでも同じログインIDやパスワードを設定してしまうケースが後を絶たないのです。
そこで生み出されたのが、多要素認証方式ですが、結局のところ、ワンタイムで発行するにも、ログインIDとパスワードは通信上に乗るので、完全に安全とは言いにくい。
それが従来のログイン方法でした。
では、FIDO認証はどういうものかというと、デバイス側で生体情報を使った本人認証を行い、サーバー側ではデバイス認証を行う認証方式です。
具体的には、あらかじめデバイス認証用の鍵ペアを生成して、サーバー側に公開鍵を登録しておく。そして、デバイスに格納した秘密鍵のロック解除を生体認証で行うという仕組みである。このため、生体情報はサーバー側には一切渡らない。つまり、サービス事業者が攻撃を受けて、生体情報が流出するといった恐れがない。公開鍵はその名の通り公開情報なので、盗まれたとしてもセキュリティ上の脅威にはならない。
この生体情報を残さないというのがミソで、通信上では「あくまでも鍵が通信上に乗る」というだけなのです。
ということは、秘密鍵自体が盗聴されてしまって解読されてしまうリスクがあるのではないか?というところが疑問になります。
秘密鍵を解読されるリスクはあるか?
もちろん、完全に安全というのは言い切ることができないです。以前にも大手で共通のファームウェアを使用していると同一の秘密鍵を使っていた報道もあるためです。
上記の脆弱性を悪用された場合、中間者攻撃を仕掛けられて暗号を解読され、管理者用のログイン情報など重要な情報が流出する恐れもある。流出した情報は別の攻撃にも利用されかねないのですが、ここはきちんとファームウェアを扱っている企業が対策をしていってほしいところではあります。
ちなみに、ファームウェアとは、電子機器を制御するために組み込まれているソフトウェアです。機器のROMに書き込まれています。
今後どのようなものに搭載できるか?
・IoTの分野、特に家の鍵などは自分の生体認証じゃないとあかない。デバイス側で生体認証を持っていて、鍵側には認証情報を記録しないから、使える。
今現時点では、私の想像力が乏しいため、上記の例しかあげることができませんが、大きな可能性を持った認証方式です。
まとめ
長い間攻撃を行うブラックハッカーとの戦いに終止符が打たれれば、それに越したことはないのですが、攻撃者は工夫を加えて、新たな攻撃手法を編み出す可能性もあります。
それでも、僕らが安心してWebライフを楽しむためには、こういう新しい方式に柔軟に対応していくことが、自分の情報を守る上で大切なことです。
導入されたら、積極的に使っていきましょう!