web-dev-qa-db-ja.com

ユーザーの身元を確認するための最良の方法は何ですか?

これがこれを尋ねるのに適切なスタックであるかどうかはわかりません。これは一種の抽象的な質問です。

ユーザーから提供された個人情報が本物であることが非常に重要なWebサイトがあるとします。年齢、性別、居住地、オプションで職業、市民の地位など。彼らが提出する資格情報が本物であることをどのように確認しますか?明らかに、最も直接的な方法は、ユーザーが証明書/ IDなどのスキャンをFAXで送信/アップロードすることを要求することですが、それは物理的な人が証明書を検証することを要求します。ユーザーのアカウントを実際の人に安全に接続するための最新のWebベースの方法はありますか?たぶん、人が登録して(前述のすべての証明書を提供して)、個人/一意の「eバッジ」を割り当てられる国内/グローバルデータベースのようなものですか?

2
UB-

これは非常に難しい問題です。 「保証レベル」と呼ばれることもあります。実際、それはさらにエンティティ(つまり、個人、会社など)の保証レベル、つまり、エンティティに関する情報が正確で正しいことを保証するレベルと、保証のIDレベル(その情報を使用するIDが、エンティティに関連付けられているIDと同じであることの保証。

エンティティ保証の一般的な例は、写真付き身分証明書、パスポート、運転免許証など、多くの組織が個人を確認するために使用する100ポイントシステムです。情報の各ビットには、誰かが誰であるかを証明するための情報の信頼性に基づいてスコアが付けられます。彼らはそうだと言います。パスポートは50ポイント、出生証明書は10ポイント、運転免許証は20ポイントなどの価値があります。資格情報を証明したい人は、合計100ポイントになるのに十分な証拠を提出する必要があります。これにより、エンティティレベルの保証が確立されます。これは通常、パスポート/運転免許証などの写真が証明を提示する人を表していることを確認できるように、直接行う必要があります。

ID保証レベルは、エンティティに関連付けられたIDを使用している人がそのエンティティであることを証明するために使用されます。たとえば、銀行に接続するときです。多くの場合、パスワード(最も強力でない)またはそれらの組み合わせ(パスワードと一意のトークンが指紋などの何らかの形式の生体認証データ(あなたが知っているもの、あなたが持っているもの、あなたがいるもの))のようなもので達成されます。

たとえば、エンティティレベルの保証とIDレベルの保証の両方が必要になる可能性があります。一部のサイトにはそのような要件がありません。たとえば、FacebookとGmailは、エンティティレベルの保証が非常に低く、提供した情報が真実であると信頼しています。ただし、2要素認証を追加するなど、IDレベルの保証はますます強力になっています。

通常、高レベルのエンティティレベルの保証を必要とするサイトでは、高レベルのIDレベルの保証も必要になります。つまり、ユーザーに真の正確な情報を提供するように要求する場合は、その人が実際にシステムにログインしていることを確認する必要もあります。あの人。

通常、IDレベルの保証は、エンティティレベルの保証よりも簡単に実現できます。エンティティレベルの保証をリモートで実現することは非常に困難です。通常、パスポートの写真、免許証などが目の前に立っている人と一致することを確認するなどのことができるように、個人が物理的に立ち会う必要があります。これが不可能な場合は、通常、審査プロセスを支援するために何らかの形のサードパーティに依存する必要があります。これは、郵便局など、多数の官公庁を持つ組織とのパートナーシップのようなものである可能性があります。審査プロセスを提供するために、このサードパーティに料金を支払う場合があります。次に、あなたのサービスへのアクセスを希望する個人は、郵便局を訪問し、100ポイントの証明を提供する必要があります。その後、郵便局はあなたに詳細を提供し、あなたが必要とするレベルの保証でこの人を精査したことを承認します。明らかに、あなたはこのサードパーティを信頼しています。別の方法は、認証局を使用することです。ほとんどのCAは、個人証明書サービスを提供します。個人はCAから個人証明書を購入します。 CAは、個人証明書を発行する前に審査を実行します。もちろん、これらすべてのサードパーティソリューションのリスクは、それらが実際に適切な仕事をしていることを信頼することです。審査は費用のかかるプロセスになる可能性があるため、一部のCAは他のCAよりも優れた仕事をします。審査に関連する厳格さを減らすと、コストを削減し、ひいてはより安価な証明書を提供できるため、競争力を高めることができます。ただし、これにより、発行される証明書に対する信頼/信頼が低下する可能性があります。

証明書に関するもう1つの問題は、証明書を安全な方法で管理する人に大きく依存していることです。誰かの証明書が盗まれ、パスフレーズ/パスワードが関連付けられていない場合、または泥棒がパスワード/パスフレーズを取得できた場合、その証明書を使用して、関連付けられているユーザーになりすますことができます。

これはおそらくあなたの問題を不可能に思わせるでしょう。ただし、最初に表示されるほど悪くはない場合があります。多くの場合、要件を実際に分析できず、必要なものについて多くの固有の仮定があります。必要な個人情報が多ければ多いほど、また正確である必要があるほど、費用が高くなり、ユーザーにとって不便になることを考慮することが重要です。実装する必要のある追加のセーフガードがすべてあるため、コストが高くなります。つまり、複雑さが増し、開発、テスト、およびメンテナンスが増えます。ユーザーにとって、それはジャンプするためのより多くのフープを意味し、おそらくあなたのサービスの使用に関するより多くの懸念などを意味します。

情報が必要かどうかを検討することに加えて、100%正確であることが本当に必要かどうかも検討してください。たとえば、生年月日が必要な場合、その情報をどのように使用していますか?正確でない場合の影響/影響は何ですか?その情報が必要な場合、ユーザーの印象はどうなりますか?等.

すべての情報を調べてこれらの線に沿って評価した後でも、高レベルの保証が必要な場合は、証明書の要求、審査を支援できるサードパーティとの関係の確立などのオプションを検討できます。等.

最後に、証明書のコピーをファックス/郵送する例ではおそらく十分ではないことに注意してください。私は簡単に出生証明書や他の誰かのパスポート、運転免許証などを入手してあなたにファックスすることができました。これらの証明書は「本物」である可能性がありますが、それらを送信した人が証明書が表す人であることを証明するものは何もありません。同様に、OpenIDや何らかのソーシャルメディア認証などを使用することにした場合は、そのIDプロバイダーの審査レベルがニーズに十分であるかどうかを確認する必要があります。

2
Tim X