IPhone 5Sの指紋認証機能のセキュリティを検討してきました。私の主な懸念は、誰かが私の指紋を現実の世界で複製して電話を迂回できるのではなく、電話に保存されているデジタル署名に基づいて私の指紋を再構築できることです。
フィンガープリントは一方向ハッシュ(または同等のもの)として保存されていますか?元の署名を作成することは、リバースエンジニアリングの可能性としてどれほど現実的でしょうか。
今日の計算能力では、一連の指紋ハッシュ署名用のRainbowテーブルはほぼ不可能だと思います。
指紋はハッシュ化できません。まあ、あなたはcanビットのシーケンスをハッシュしますが、それはまったく面白くありません。すべての生体認証アプリケーションと同様に、指紋リーダーは物理的測定を作成しますが、これは正確には再現できません。代わりに、リーダーは指の画像上のいくつかの「特徴的な点」の位置(隆線が出会う場所がほとんど)を検出し、電話に記録された指紋との一致を探す必要があります。メジャーの精度には限界があり、避けられないしきい値の影響があるため、正確に一致することはありません。
結論として、電話は「特徴的なポイント」の位置に関する情報をハッシュとしてではなく、可逆的に保存する必要があります。これは完全な指のイメージではないかもしれませんが、あなたのiPhoneをだます偽の指をデザインするには十分でしょう。
今はそれほど心配する必要はありません。 iPhoneには指紋に関する情報が含まれている可能性がありますが、iPhoneを手で持っているだけで、同じ指紋の多くの正確なコピーでケースが覆われています。誰かがあなたの携帯電話を盗んだ場合、彼はあなたの指紋を盗むことができます。
より一般的には、どこにでも指紋を残します。あなたが通過するすべてのドアのノブに。あなたの指紋は考慮できませんsecret(それに応じて、少なくともセキュリティの観点から、コンピュータまたは電話のロックを解除するためのそれらの使用は、常に私にはかなり悪い考えのように思われていました)。
暗号化ハッシュを使用しない-いいえ
ただし、 ファジーハッシュ または ローカリティ依存のハッシュ を使用できます。ファジーハッシュは、ハッシュコリジョンスペース*で類似したコンテンツをクラスター化できるという点で、通常のハッシュとは異なります。
通常、一方向はハッシュされたものを推測できないことを意味しますが、ファジーハッシュでは、ハッシュに一致する同様のファイル(指紋画像)がわかっていれば(衝突)、一般にハッシュされていたものがわかります。
ファジーハッシュに function one-way property が存在するかどうかは、攻撃者が一致するファジーハッシュを見つけるために入力をブルートフォースで推測する必要があるかどうかによって異なります。これは、プリイメージ耐性と呼ばれます。
少なくとも現在の地球の人口と同じ数(〜233)そして、この衝突空間以上に確実に( 非常に高い次数 )折りたたまれる指紋ファジーハッシュが存在すること。攻撃者は2を超えてブルートフォースを行わなければならない33 単にハッシュを逆にするのではなく、エントリ。
このようなあいまいなハッシュが存在する場合は、2次的な暗号化ハッシュにハッシュを渡すことにより、ストレートアップインバージョンから保護できます。そもそもファジーハッシュが確実かつ一貫して折りたたまれている場合、衝突空間がはるかに大きい暗号化ハッシュに対して再度ハッシュした後でも、マッチングの精度は失われません。暫定的なファジーハッシュが何であるかを知っているので、幸運です。そのセカンダリハッシュにランダムなソルトが追加されました。
ファジーコンポーネントは、画像の「あいまいさ」が一致するため、非暗号化の一方向ハッシュにします。強い衝突抵抗の特性と矛盾します。
fuzz() = Mythical_perfectly_consistent_fuzzy_hash_function_for_fingerprints();
salt = application's public random salt
hash_result = SHA-512(salt, fuzz(fingerprint.input))
*この時点で、室内のすべての暗号化者は冷血殺人を叫び、ウジを引き抜く必要があります:-)
Appleの公式ドキュメント によると、保存されているデータから指紋を取得することはできません。
Touch IDは指紋の画像を保存しません。指紋の数学的表現のみを保存します。この数学的表現から実際の指紋画像を誰かがリバースエンジニアリングすることは不可能です。
Appleが信頼できる場合、あなたの主な懸念は根拠がないようです。