2

ユーザーがログインし続けることなく定期的にデータを取得できるように、別の Web サイトのユーザー パスワードを保存する必要がある asp.net Web サイトに取り組んでいます。この場合、一方向ハッシュがどのように機能するか想像できません。ユーザーが毎回パスワードを再入力するわけではないためです。パスワードを暗号化して SQL Server データベースに保存し、必要に応じて復号化する必要があると想定しています。しかし、それは私にとって物事が難しくなるところです。基本的なインフラストラクチャは、負荷分散された Azure コンピューティング インスタンスで実行され、SQL Azure にデータを格納する C#/Asp.Net MVC3 Web サイトです。私はクリプト派ではないので、初歩的なミスはしたくありません。そこには多くの情報があるようですが、私には明確なものは何もありません。接続しているデータは機密ではありませんが、ユーザーの情報を、自分の個人データの取り扱いと同じように取り扱いたいと考えています。続行する方法についてのアドバイスをいただければ幸いです。

編集: パスワードを保存することがベスト プラクティスではないことは確かに理解していますが、場合によっては、単に避けられないこともあります。このプロジェクトに出会いましたが、まだ試していません: http://securentity.codeplex.com/。Web サーバー上のデジタル証明書を使用します。

サード パーティのサイトのユーザーは、自分のデータを "パブリック" として設定できます。この場合、パスワードを保存する必要はありません。そのため、代わりにそれを行うオプションをユーザーに提供する場合があります。

4

1 に答える 1

1

OAuthSingle Sign-Onをご覧ください。
簡単に言えば、認証トークンのみが異なるシステム間で送信されます。

あなた (サイト) は、ユーザーのパスワードについて知っているべきではありません。多くても、サイトへのパスワードのハッシュを知っている必要があります。

上記の 2 つのトピックを読めば、自分のサイトと「隣接する」サイトを適切に保護する方法がわかります。

編集

要するに
もう一方のサイト (サイト B) は OAuth サーバー プロセスを実装しています。あなたのサイト (サイト A) は、OAuth クライアント認証を実装しています。サイト B からユーザー情報を要求する場合、ユーザーをサイト B 認証にリダイレクトして、サイト A がサイト B からユーザーに関する情報を読み取れるようにします。サイト B は、サイト A が情報にアクセスするために使用できるトークンを作成します。このトークンは、時間制限付き (またはなし) にすることができます。

于 2012-07-14T03:32:37.513 に答える