Cisco Japan Blog

現実味を帯びる指紋の複製

1 min read



3D プリンタがスマホやパソコンの生体認証の脅威に


エグゼクティブサマリー

従来、コンピューターやネットワークではパスワードが一般的な認証方法でした。しかしパスワードには流出リスクがあるため、生体認証が広まってきました。生体認証には数種類ありますが、主流は網膜スキャン、顔認識、指紋認証です。指紋はそれぞれ異なるため、個人を識別可能であるというのが定説となっています。

技術の進歩により、ラップトップからスマートフォン、スマート南京錠、暗号化 USB メモリに至るまで、今やあらゆるデバイスで指紋認証が使われています。スマートフォンで指紋認証が一般的になるきっかけとなったのが、2013 年に Apple 社が iPhone 5 で導入した TouchID です。しかし TouchID は発表直後に破られています。それ以降も指紋認証技術は進化を遂げ、今では光学式、静電容量式、超音波式 の 3 種類が主流となっています。

今回の指紋複製テストで試したデバイスでは、認証成功率が最大 80% に達したほか、平均して少なくとも 1 度はセンサーが突破されました。ただ、この率に達するのには労力と手間がかかるうえ、縮小・拡大率や素材の物理的特質といった障壁や制約があることも判明しています。とはいえ成功率を見る限り、数回以内にロックを解除できる確率はかなり高いと言えます。テスト結果によると、指紋認証は一般人がスマートフォンを紛失した場合のプライバシー保護には十分ですが、十分な資金力と意図を持つ攻撃者に狙われやすいユーザは使用を避けるべきです。

今回のテストでは、現実的な場面を想定した 3 つの脅威モデルを検証しました。結論を言うと、テスト結果からはホームセキュリティシステムと同様のことが言えます。国の情報機関のような資金力のある者に対しては、ホームセキュリティシステムの効果は限定的でしょう。指紋認証も、一般ユーザにとっては明らかなメリット(直感的に使える)がありますが、資金力のある攻撃者の標的になりやすいユーザは、強力なパスワードや二要素認証トークンを使用するのが賢明です。

最近では、バイオメトリック企業popup_iconからの漏洩事件や、Samsung 社製スマートフォン Galaxy S10 のセンサーを巡る問題popup_iconなども発覚しています。これらの点を踏まえると、指紋認証技術そのものや、指紋(または広義の生体認証)データの漏洩の影響について、疑問がいくつか浮かびます。3D プリンタの進化に伴い、家庭用であっても解像度はミクロン単位まで微細化されています。では一般人も 3D プリンタを使えば、ガラスに付着した指紋を複製できるでしょうか?政府機関でなければ無理でしょうか?入国審査の手前で指紋を複製できるでしょうか?

シスコはこうした疑問を次の 3 つにまとめ、テストの目標としました。

  • iPhone 5 で指紋認証が最初に破られて以来、安全性はどれほど向上しているか?
  • 3D プリンタは指紋認証にとって脅威になるか?
  • 脅威モデルをどのように定義すれば実際の攻撃にも役立つか?

テストでは複数のメーカーから、複数の機種を使用しました。低予算で認証を破れるなら、国家支援の攻撃者にも可能だとの想定により、今回のテストでは予算を低く設定しています。

脅威モデルを定義するうえで、プロセスの複雑性も考慮しました。今回の結果を一般人が再現することについて、その難易度を確かめるためです。

考慮した 3 番目の要素は指紋の採取方法です。テストでは特徴が異なる脅威モデルに基づき、3 つの採取方法を定義しました。大半のユーザは複数の指を登録しないため、ある脅威モデルでは指紋採取のハードルが高くなっています。

従来の手口との違い:3D プリンタの普及により、誰でも指紋を複製可能になりました。しかも、必要なリソースがあれば大量に複製することさえできます。指紋認証の普及に伴い、複製による影響範囲は以前よりも増していると言えます。今回テストしたのは、スマートフォン、ラップトップ、スマート南京錠、指紋認証対応 USB メモリです。

テスト方法:後述する 3 種類の方法により指紋を採取して 3D プリンタで型を作成し、そこに繊維用接着剤を流し込んで指紋を複製しました。

結論:今や指紋認証はあらゆる種類のデバイスで活用されています。しかし信頼性はデバイスごとに異なります。一般に指紋認証は安全だと考えられていますが、そうした通説を鵜呑みにするのは危険です。ユーザの狙われやすさによっては、使用しないのが賢明な場合もあります。さらに、指紋認証の信頼性が 6 年前から向上していない製品やメーカーも存在します。3D プリントなどの技術が進歩している現在、指紋認証のセキュリティはむしろ低下しているとも言えます。

この件について調査した以下のビデオもご覧ください。

突破手口の進化

指紋認証はこれまで何度か破られ、技術発達を促してきた経緯があります。Apple 社の TouchID が最初に破られたのは 2013 年のことでした。ハッカー集団 Chaos Computer Club のカンファレンスpopup_iconで「Starbug」と名乗る研究者が登場し、iPhone 5s の指紋認証を突破してみせたのです。より最近のケースでは、Samsung 社製スマートフォンの代表機種 S10popup_icon でも、シリコンケースで突破できることが偶然判明しています。同社はこの問題をソフトウェアのアップデートで修復済みです。他にも、Tencent 社の X-Lab セキュリティ調査チームが、Geekpwn 2019popup_icon サイバーセキュリティ コンテストで複数のスマートフォンの指紋認証を突破しました。詳細は明かされていませんが、Forbespopup_icon 誌の記事では、ガラスに付着した指紋を撮影して複製したと報じています。またチームのリーダーによれば、複製に要した時間は 20 分で、必要な装置の値段は約 200 ユーロであったようです。ただし手法は明かされていません。

原理

指紋認証の仕組み

指紋認証のステップは 2 つに大別できます。最初の「キャプチャ」ステップでは、センサーが指紋を読み取ります。2 番目のステップでは、読み取った指紋を分析、比較します。これらのステップは、センサーがすべて処理する(南京錠などに埋め込まれた、単独で認証を担うセンサーの場合)こともあれば、オペレーティングシステム(OS)が処理する場合もあります。たとえば Microsoft 社の Windows では「Windows Hello」が比較を担当します。センサーが読み取った指紋データは、NIST が定義した ANSI INCITS 378-2004popup_icon 規格に沿って OS に転送されます。OS はデータを比較し、システムへのログインを許可または拒否します。比較アルゴリズムには一定レベルの許容差を含める必要があります。たとえば擦り傷などで指紋が多少変わっていても、認証できる必要があるからです。正確な許容差は公開されていませんが、アルゴリズムごとに異なるでしょう。最初と 2 番目のステップのどちらでも、脆弱性が見つかる可能性があります。

センサーの種類

今回は主な 3 種類(静電容量式、光学式、超音波式)をテストしました。各センサーは素材と採取方法ごとに異なる反応を示します。大半のセンサーは、スマートフォンメーカーが外部から購入しています。Apple 社だけは例外で、2012 年に AuthenTecpopup_icon 社を買収後、自社でセンサーを製造しています。

最も一般的なタイプは静電容量式で、アクティブ型とパッシブ型があります。

静電容量式の指紋センサー

 

静電容量式センサーは、平たく言うと、指が触れた際の電気的変化を利用して指紋を読み取ります。指紋の凸部がリーダに触れると静電容量が変化し、センサーによって検知されます。逆に凹部はリーダから離れているためセンサーに検知されません。

アクティブ型の静電容量式指紋センサー

 

アクティブ型の静電容量センサーは、人体が触れた際の静電容量の変化だけでなく、指紋の凸部が触れたときに伝わる微弱な信号も利用します。

光学式指紋センサー

 

光学式指紋センサーは実際の指紋を画像として読み取ります。センサーに触れる指紋の凸部を光源で照らし、画像センサーがプリズムを通じて読み取ります。

超音波式センサー

 

超音波式センサーは最新のタイプで、画面にセンサーを埋め込む用途を中心に利用されます。センサーが超音波を発し、その反射波を読み取ります。指紋の凹凸により反射波が異なる原理を応用しているのです。

平均すると、偽造に対する耐性が最も低かった(突破成功率が最も高かった)のは超音波式です。ディスプレイに埋め込む光学式センサーの主なメーカーとしては、Goodix 社などが挙げられます。Samsung S10 に搭載された超音波式センサーは Qualcomm 社の開発であり、今回テストされた静電容量式センサーの大部分は Synaptics 社製です。

脅威シナリオに基づくモデル作成

テストは主に、採取と複製の 2 段階で構成されます。採取段階では、デバイスユーザの指紋を採取し、型を作成します(「制約と突破対策」のセクションを参照)。この型には、状況に応じて選んだ素材を流し込んで指紋を複製します。

まず、指紋を採取します。テストで指紋を採取した方法については、「採取方式」のセクションで説明しています。それぞれの方式は、特定の状況と脅威モデルを想定しています。

  1. 直接採取:被害者の意識がない場合や、身体の自由が利かない場合(泥酔状態など)を想定しています。ここでは柔らかい素材を指に直接押し当てて、指紋を型取りします。直接採取は今回の「ベンチマーク」だとも言えます。直接採取では、すべての指から指紋を採取するか、あるいは被害者を観察して特定の指(システムに登録済み)から採取します。
  2. 指紋センサーを使って採取:空港の入国審査や民間の警備会社で指紋リーダを使用する場面を想定しています。全員の指紋を採取するのは困難ですが、一律で指紋を採取する入国審査時はそれも可能です。
  3. 物体から採取:外部の物体に付着した指紋を採取します。物体とはグラスやボトルなどで、それらの写真を撮影して指紋を採取します。この方式では最初に指紋を採取し、その後に複製するため、登録されている指の指紋を採取できるかが問題になります。どの指が付着するかまでは攻撃者がコントロールできないからです。その反面、同じ指でも角度が違う指紋跡を複数採取できるというメリットがあります。

次のステップでは、採取した情報に基づき型を作成します。「制約と突破対策」のセクションで詳述しますが、この作業には手間がかかります。今回のテストでは 3D プリンタを使って型を作成しました。使用したのは家庭用の UV-LED プリンタで、精度は 25 ミクロンです。それに対して指紋の凸部分は幅約 500 ミクロン、深さ 20 ~ 50 ミクロンなので、プリンタの精度は十分です。最後のステップは指紋の成型です。さまざまな素材を試しましたが、特に役立ったのはシリコンと繊維用接着剤です。

こちらは悪名高きギャング、アル・カポネの公開されている指紋です。

指紋の複製

採取方式の説明

直接採取:

まず「直接採取」方式から説明します。ここでは本物の指紋を型取りします。型の作成には彫刻用粘土「Plastiline」を使用します。この粘土には、平温では固く、一定の温度まで温めると柔らかく(ときには液状に)なるという長所があります。テストではヒートガンを使い、指紋跡がつくまで粘土を柔らかくしました。

Plastiline を使って型を形成

指紋センサーで採取: 安価な指紋リーダにより指紋の bmp 画像を取得

2 番目は指紋リーダからビットマップ画像を取得する方式です。テストでは低コストの UART センサーを Arduino UNO(CP2102 USB-TTL コンバータに)に接続しました。

 

画像は SYNODemopopup_icon アプリケーションを使用して取得できます(以下はアプリケーションのスクリーンショット)。

このソフトウェアか Talos のスクリプトを使って指紋を取得できます。画像サイズは 256 X 288 ピクセルです。

物体から採取:RAW 画像を取得するための高解像度の写真

最後の方法ではグラスに付着した指紋の写真を撮ります。その例がこちらです。

 

凸部を強調するため、ブラシで黒鉛粉末を塗ってあります。

研究者の指紋が外部に漏洩しないように、この例では手のひらを置いた後のガラスを撮影しています。

最適な指紋採取を探す

画像の最適化

取得した画像は、そのまま使える状態ではありませんでした。一部の採取方式では次のような問題が見つかったからです。

指紋センサーで取得した場合、Samsung S10 などではセンサーに対して画像が小さすぎました。そのため写真を何枚か組み合わせて、大きくする必要がありました。以下の例は、FBI データベースpopup_iconから取得したアル・カポネの指紋です。

 

物体から採取した場合、複数のフィルタを画像に適用してコントラストを強調し、ラインを最適化する必要がありました。3D ソフトウェアではアルファ機能(グレーの濃淡)が効果的です。

3D 変換

3D 変換には 3D デジタル彫刻ソフトウェア(ZBrush)を使用しました。アルファ機能ブラシとして白黒画像を使い、全体が楕円の型から指紋を押し出しています。

型のサイズは 32 X 24mm です。上は指紋の写真と 3D オブジェクトです。

複製方法

型を 3D プリント:0.025 mm と 0.05 mm の各精度で比較

テストでの最大の制約は型のサイズでした。複製した指紋は本物と完全に同一サイズでなければなりませんが、ZBrush ではサイズを調節できません。そのため指紋を付着させる物体のサイズをかなり工夫する必要がありました。本物との誤差がわずか 1% でも認証は破れないからです。また、3D プリンタでは出力物を硬化処理する必要があります。硬化処理は出力物の強度確保と樹脂の毒性除去に不可欠であり、紫外線を数分照射します。問題は硬化処理によって樹脂が収縮することです。しかも照射時間の長さに応じて大きさが変化します。同じの現象は、型を直射日光にさらした場合にも起きます。そのため、認証を破れるまでにサイズの異なる 50 以上の型をプリントして指紋を複製し、指紋センサーを使って比較検証する必要がありました。

3D プリントした型の写真:

 

次のステップは紫外線(UV)を使った硬化処理です。3D プリントした直後は型の強度が不十分で、毒性があります。テストでは UV 光を 3 分間照射することで強度を高め、毒性を除去しました。

 

以下は型取りの準備ができた、完成した型の写真です。

プリントの解像度は 25 ミクロンにすると結果が向上しました。ただしプリント時間が長く、1 つの型に 1 時間(解像度 50 ミクロンでは約 30 分)を要しています。

「制約と突破対策」のセクションで説明したように、型のサイズは最大の難問でした。ここでは最も時間をかけ、最終的に 50 を超える型を作成しています。型をその場で成型することを困難にする一因だと言えます。

型に流し込む素材

テストで結果を大きく左右したのは素材です。この傾向は超音波式と静電容量式のセンサーで特に顕著でした。成功率を高めるために、シリコンや接着剤を導電性粉末(黒鉛とアルミニウム)と混ぜて使いました。

素材が成否を分ける主な理由は(静電容量式センサーに対する)解像度と導電性です。

上述したように、指紋の解像度はきわめて重要な要因です。必要な解像度を達成できるかは、採取方法と素材という 2 点にかかっています。繊維用接着剤はシリコンよりも高い解像度が得られることが判明しました。

静電容量式センサー(特にアクティブ型)での問題は、接触させる素材に一定の導電性を確保する必要がある点です。シリコンは絶縁性があるため使用できませんが、薄く固めた繊維用接着剤を指に貼れば、センサーを騙すのに十分な導電性を確保できます。

シリコンは超音波式センサーには有効でしたが、全タイプのセンサーに有効だったのは低コストの繊維用接着剤です。

テストしたデバイス

モバイルデバイス

指紋認証技術の進化を先導するのはスマートフォンであり、最も多くの種類のセンサーが使用されています。超音波式センサーは、スマートフォンの画面に指紋センサーを埋め込む必要性から開発されました。しかし光学式センサーも最新デバイスで使われ続けており、それには理由があります。

今回複製した指紋は Samsung A70 では機能しませんでしたが、本物の指紋でも A70 の認証率は他のデバイスを大きく下回りました。スマートフォンの指紋認証は研究開発の歴史が長いことから、技術的には成熟の域に達していると考えられます。ただし今回の結果からは、初めて破られた 2013 年と比較して指紋認証のセキュリティが低下していると言えます。

モバイルデバイスのテストでは、各センサー方式の間に明確な成功率の違いを確認できませんでした。

ラップトップ

モバイルデバイスと違い、ラップトップのテストでは各 OS の間で明確な差異を確認できました。Windows Hello フレームワーク(Windows 10 でのみ利用可能)では成功率がゼロでした。合計で 5 種類の Windows マシンを試しましたが、結果はすべて同じ(ゼロ)だったのです。検証のため MacBook Pro(macOS)でも同じ偽造指紋を試したところ、ロック解除成功率は 95% でした。Windows で一貫して優れた結果(低い成功率)となった理由は、比較アルゴリズムが OS レベルで実装されており、全機種で共有されているからだと考えられます。

その他のデバイス

上記以外に、スマート南京錠と、2 種類の指紋認証対応 USB 暗号化メモリもテストしました。

スマート南京錠の指紋センサーは指紋の導電性を利用する静電容量式です。テストでは突破に成功し、その成功率は上記のデバイスと同等でした。

USB デバイスについては Verbatim ブランドの Fingerprint Secure と Lexar ブランドの Jumpdrive Fingerprint F35 の 2 種類をテストしました。

テストした USB ドライブの写真

いずれの製品も偽造した指紋では突破できず、読み取りエラーが発生しました。検証のため、同じ偽造指紋を MacbookPro でも試したところ、認証成功率は 95% でした。

結果のまとめ

オレンジ色の線は直接採取した場合、青色は指紋センサーで取得した場合、そして黄色は物体から採取した場合の成功率です。

成功率(%)は、最も精巧な偽造指紋を各デバイスで 20 回試した結果に基づいて計算されています。

USB メモリ(Verbatim と Lexar)では、直接採取した指紋のみテストしています。この最も効果的な採取方式でもまったく成功しなかったため、他の 2 方式をテストするには及びませんでした。

制約と突破対策

先述したように、今回のテストはあえて低予算で実施しました。

ただし直接採取では制約が一切考慮されていません。ここで触れる突破対策が関係するのは 3D プリンタを使う場合(指紋センサーから取得する場合と、物体から取得する場合)のみです。

まず、3D プリンタだけで指紋を複製しようとしましたが、主に樹脂の特徴による問題で成功しませんでした。プリンタの解像度には問題がありませんでしたが、出力物は壊れやすく、導電性と柔軟性に欠けていました。こうした問題は別の樹脂を使うことで解決する可能性があります。

次に 3D プリンタで型を作成し、そこに別の素材を流し込んで指紋の複製を試みました。

そこで特に厄介だったのが、先述したサイズの問題です。複製した指紋で指紋認識を突破するには、システムに登録された形状と、複製した型が同一サイズである必要があります。たとえ 0.5mm でも違えば突破できません。

デジタル化した指紋を、実際の指紋のサイズと対比させる方法がないことも、型をプリントする際に問題となりました。また、指紋や出力物をミクロン単位で観察できる高解像度の顕微鏡もありませんでした。この問題は、デジタル化した指紋を 3D プリント前に拡大・縮小できるソフトウェアを使い、ミクロン単位の精度を確保すれば解決する可能性があります。

上述したとおり、紫外線を照射すると樹脂(出力物)が収縮します。そのため、正確なサイズを作るまでに、数週間かけて 50 以上の型を作成する必要がありました。複製した指紋の精度は、実際の指紋センサーを使って確認しています。樹脂(少なくとも今回使用した種類)は、指紋複製用の型に使うには不向きでしょう。紫外線で収縮しない別の素材が最適です。

Microsoft Windows 10 搭載デバイス(Windows Hello を使用するデバイス)には、製造メーカーを問わず手こずりました。今回のテスト方法では突破できなかったからです。調査によると、指紋の比較と認証は『生体認証デバイス設計ガイドpopup_icon』に沿って OS が実行します。今回の成功率はゼロパーセントでした。

デバイスメーカーにとって最良の回避対策は、指紋認証の試行可能回数を減らすことです。たとえば Apple 社のデバイスでは、5 回続けて認証に失敗すると PIN の入力を求められます。今回のテストではこの試行回数にすぐ達しました。Samsung 社製のデバイスも同様の回避対策を講じていますが、5 回連続で失敗しても 30 秒待てば再試行できます。しかもこれを 10 セット行えるため、最大 50 回までは PIN なしで試せる計算です。セキュリティ対策の観点からは多すぎるでしょう。さらに、Honor(Huawei 社のブランド)デバイスでは 70 回を超えても試行可能でした。上限がない可能性も考えられます。テストしたスマート南京錠でも同様に、試行回数での制限はありませんでした。

まとめ

テストのきっかけは、次のような疑問でした。

  • iPhone 5 で最初に指紋認証が破られてから、安全性はどのように向上したか?
  • 3D プリンタの進化は指紋認証にどう影響しているか?
  • 攻撃の脅威モデルをどのように定義すれば現実に役立つか?

テスト結果を見る限り、どのような脅威モデルに対しても安全だと言えるほど進化していないことは明らかです。自宅の防犯設備に例えるなら、情報機関による内偵は阻止できないが軽犯罪を防ぐには十分なレベルです。つまり一般ユーザにとっては指紋認証のメリットが大きく、利用すべきです。しかし著名人である場合や、デバイスに機密情報が保存されている場合は、強力なパスワードや二要素認証トークンを使用するのが賢明です。

脅威モデルの定義は、採取方式を決めることからスタートしました。作成プロセスは時間がかかり複雑です。50 以上の型を作成し、手作業でテストしなければならず、数ヵ月を要しました。しかし正確な型を作ってしまえば、指紋の複製は簡単でした。現時点では、今回のテスト方式と予算の枠内である限り、指紋を短時間で作成するのは不可能です。

すべての種類の指紋センサーを突破できる万能策は見つかりませんでした。たとえば Microsoft 社の「Windows Hello」が認証を担当するケースでは、こちらが全敗でした。正確な理由を知るには詳細な調査が必要です。一方で、多数のスマートフォン、Mac、スマート南京錠に対しては成功を収めました。

3D プリンタの進化が指紋認証に影響を及ぼしているのは明白です。別の素材や収縮が少ない他の樹脂を使い、かつソフトウェアで縮小・拡大率を適切に調整できれば、偽造件数が急増することになるでしょう。さらに、生体認証データベースにアクセスできれば、誰でも大量に指紋を複製できる可能性もあります。偽造した指紋の精度をミクロン単位で測定できる電子顕微鏡や、高精度のレーザー加工機のような高価な機械によっても複製の精度を向上できます。ただしこれらの機器を使用できるのは、一般的な攻撃者ではなく、高い資金力と強い動機のあるハッカー集団に限られます。

最後の点ですが、Windows マシンと USB メモリにおける今回のテスト結果が、それらの安全性を必ずしも実証しているわけではありません。本物の指紋でも成功率が低かった Samsung A70 は特殊なケースだと言えます。豊富な予算やリソースのある専任チームであれば、Windows マシンや USB メモリの指紋認証も突破できるでしょう。

 

本稿は 2020年4月8日に Talos Grouppopup_icon のブログに投稿された「Fingerprint cloning: Myth or reality?popup_icon」の抄訳です。

 

コメントを書く