セキュリティ、プライバシー、匿名性を中心としたWebベースのアプリケーションを構築しています。このアプリの重要な原理の1つは、ユーザーが機密データを匿名で保存できることです。匿名認証をどのように実装しますか?
その結果、OAuthまたはOpenIDを使用してシステム認証を完全にアウトソースすることを期待しています。
これも可能ですか?私は電子メールアドレスや他の種類のユーザー識別情報を私の側に保管しないようにしたいと思います。
セキュリティ、プライバシー、匿名性を中心としたWebベースのアプリケーションを構築しています。このアプリの重要な原理の1つは、ユーザーが機密データを匿名で保存できることです。匿名認証をどのように実装しますか?
その結果、OAuthまたはOpenIDを使用してシステム認証を完全にアウトソースすることを期待しています。
これも可能ですか?私は電子メールアドレスや他の種類のユーザー識別情報を私の側に保管しないようにしたいと思います。
私の友人は、数年前にこれに取り組んでいました。彼のアイデアは電子メールアドレスと親指または指紋をユニークなイメージにハッシュすることでした(バイオメトリックデータはちょうどビットの流れであり、理論的には "123456"のような人間の入力パスワードと比べてかなりユニークです)。
この画像は、自分のパスワードやビットロックを使って相手の機器に保存したり、物理的に印刷してロックアウトすることさえできます。画像は、ウェブカメラに表示されたり、アップロードされたりした場合、QRコードの逆転のようなものになります。
もちろん、画像生成は潜在的な追跡点になります。しかし、それが完全にメモリ内で、または広く配布されている無料のキー生成ツールを使用して行われた場合、元のユーザーのデータやアイデンティティを明らかにすることから法的保護を受ける可能性があります。 (これはすべてのすべての周りのバイオメトリックスキャナとのセキュアな接続の普及の必要性の上にグロス)
編集:
バイオメトリックデータストリームは、彼らが撮影されているたびに、わずかに異なっています。このようなストリームをハッシュした場合、それは決して同じではないでしょう。ほとんどの次元の削減により、安全性がはるかに低下し、再現できない可能性が残っている可能性があります。
まず、OAuthはプロジェクトのスコープとは別に、全く別のものです。
「匿名」の定義によります。 OpenIDを使用する場合は、ユーザーのOpenID URLを保存します。言い換えれば、あなたのシステムはユーザーのOpenIDとまったく同じように匿名になります。
もっと本質的に匿名の解決策は、ユーザーが自分自身を識別するために任意の文字列を入力できるようにすることです。返すユーザーは同じ文字列を入力するだけです。ユーザーの「アイデンティティ」を表示する場合は、その文字列をハッシュ関数で実行できます。登録は必要ありません(そして、4chanの安全なトリップコードと違うものではありません)。
私はこのことと、バイオメトリックデータのユニークなストリームを取得することの難しさを考えていました...誰かのアバター画像や、大きなセットから選択した画像をストリームとしてハッシュすることができますパターンを持つ傾向のある符号化された文字の代わりに、画像からの色の値を使用する)。 –
大規模なイメージセットから選択すると、ほとんどの銀行がパスワード入力フィールドを提供し、中規模のセキュリティとパスワードの両方を提供するようになります。アバターやアップロードされた画像オプションは、セキュリティとパスワードを大幅に強化していますが、ハッシュを使用して作成した画像を一意に識別し、その画像の所有者を見つける可能性があります(ごくわずかです)。 –