web-dev-qa-db-ja.com

Webサイトで指紋スキャナーを使用できますか?

私はWebアプリケーションを作成しています。指紋でのみサインインできる安全な領域を確保したいと考えています。私の最初のアイデアは、USBバーコードリーダーを使用してそれをスキャンし、IDをテキストボックスに出力することでしたが、それほど安全ではありません。したがって、USB指紋リーダーを使用して、各ユーザーのハッシュを生成し、代わりにテキストボックスに保存したいと考えています。次に、全員のハッシュ値を使用してデータベースと照合します。これを行うことができる指紋リーダーがどこにあるか、またはリーダーをウェブサイトに簡単に統合できる方法があるかどうか誰か知っていますか?

編集:このウェブサイトのアイデアは、それがログインシステムのようなものであるということです(1時間ごとに支払われる場合に出勤と退出をどのように行うことができるかというようなものです)。パスワードを使用するだけの場合、誰かがパスワードを入力できるパスワードを友人に伝えることができます。そのため、私は指紋または類似のことを考えました...他の提案を受け入れます

また、私はPHPを使用しています

編集2:基本的な考え方は、チェックインすることで誰かがそこにいたことを証明する方法を考え出さなければならないということです。パスワードを使用したくないのです。提案?指紋である必要はありません。

22
Bill

あなたが望むことを正確に行うことはできません。

指紋は決して一致しません完全に一致します。自分の右手の人差し指を続けて2回スキャンしても、スキャンは同じにはなりません。したがって、「指紋のハッシュ」は機能しません。同じ指の2つのハッシュは、2つの異なる指の2つのハッシュと区別できません(優れた暗号学的に強いハッシュを使用)。

指紋リーダーは、いくつかのキーをオンボードに格納し、与えられた指紋が期待するものに十分に近い場合にのみそのキーを外に出すことで機能します。指紋自体は、リーダーの外にあるものに直接アクセスするためには使用されません。

読者が見た指紋をネットワーク経由で送信することは許可されていません。人々は自分のプリントを警察に渡すことに不安を感じています。あなたは彼らがあなたに彼らを与えても大丈夫だと思いますか?

また、「指2は大丈夫」と読者に言わせるのも容認できません。これは簡単に偽装される可能性があります。

代わりに、ユーザーにX.509(SSL)クライアント証明書を使用してサイトにアクセスしてもらいます。必要に応じて、指紋リーダーを介して秘密鍵へのアクセスを制御できます。

編集:この回答を更新します。現在2014年には、「UAF」と呼ばれるFIDO Allianceの標準があり、サイトはさまざまなサイト間で機能する方法で指紋認証を使用できます。噂によると、Paypalはすぐに使い始めます。

15
Borealid

生体認証は、多くの理由で認証を行うための非常に悪い方法です。

  1. これらは基本的に、決して変更できないパスワードです。 (少なくとも深刻な痛みがないわけではありません!)従来のパスワードスキームでは、パスワードが盗まれたり推測されたりした場合でも、少なくともそれを変更できます。しかし、誰かがあなたの指紋を盗んだ場合、今あなたは何をしますか?
  2. バイオメトリクスは秘密ではありません。何かに触れるたびに、パスワードを置いておくことになります。写真が撮影されるたびに、顔の画像/網膜の画像がコピーされます。パスワードを有効にするには、秘密にしておく必要があります。

  3. Borealidが言ったように、生体認証はまったく同じように2回スキャンされることはありません。したがって、マッチングを行う場合、入力を許可する際に何らかのファッジ要素が必要になります。この:

    1. 完全に一致する必要がないため、攻撃者がデータをコピーして再生しやすくなります。攻撃者は、受け入れられるために近づく必要があります。

    2. 認証サーバーに生体情報をプレーンテキストで保存するように強制します。パスワードのように生体認証データをハッシュすることはできません。それは、ハッシュされた値と正確に一致する必要があるためです。

やらないで!

19
AltF4

リモート認証の生体認証はnever安全です。その指紋を持つ本物の指がリーダーにあるかどうか、またはユーザーが画像を送信するだけかどうかはわかりません。つまり、指紋はユーザーが変更できないパスワードになり、ログインするすべてのサービスで同じであり、ユーザーが触れるすべてのオブジェクトに残ります。

バイオメトリは、リーダーがハッキングされないことを信頼している(つまり、リーダーを物理的に制御できる)ローカル認証でのみ機能し、リーダーは実際の指/目/ ...を偽物と区別できます。ほとんどはできません。

指紋の片方向ハッシュを作成することが可能です。最初に、あいまい一致の場合と同じように、いくつかのオブザーバブルを抽出する必要があります。ただし、ハッシュと完全に一致する必要があるため、抽出した値でエラーコードをスローする必要があります。これにより、各測定値の小さな違いを修正できます。コーディングは簡単ではなく、上記の基本的な問題を解決することはできませんが、可能であるべきです。

4
CodesInChaos

ローカル認証メカニズムを使用してリモートリソースを認証したいですか?これは賢い選択ではないことを示唆する多くの問題があります。たとえば、Webアプリは、ハッシュが重複している誰かではなく、元のユーザーに属していることをどのようにして知るのでしょうか。

代わりに、クレジットカードの顧客にスマートカードリーダーを送った数年前の銀行のルートを使用することをお勧めします。指紋スキャナーを使用して、ユーザーのログイン名のローカルコピーを保存します。パスワードなどの2番目の認証形式が必要です。

1
Cahit

これはとても偽物です。なぜ指紋を暗号化できないのですか?マスターは暗号化されて保存され、暗号化されたマスターをサーバーに送信します。サーバーソフトウェアは両方の暗号化を解除し、比較を行います。シンプル。あなたの「専門家」のソリューションは偽物です。

1
Doug Wolfgram

認証に顔照合ソフトウェアを使用しないでください。

http://www.oculislabs.com/products/privateeye

0
Vagabond