6

SSLを使用してWindows8からWindowsAzureでホストされているWCFサービス接続を保護しています。Fiddlerを使用している「ハッカー」だけでなく、ユーザーがWindows8アプリを使用していることを確認することに興味があります。

私は明らかにユーザー名とパスワードをc#コード内に保存することはできません。この状況では、ユーザーがアプリケーションを使用するたびに(またはそれに関しては)ユーザーにユーザー名とパスワードを要求することを避けたいと思います。

Azure ACSを調べましたが、シングルサインイン専用のようで、ユーザーは毎回ユーザー名とパスワードを入力する必要があります。

とにかくありますか:

  • ACSでデフォルトのMicrosoftアカウント(ほとんどのユーザーがWindows 8をセットアップするときに入力します)を使用しますか?
  • ユーザーが毎回ログインの詳細を入力する必要がないように、ユーザーのログインの詳細を暗号化して保存しますか?

ありがとう!

4

2 に答える 2

2

「ユーザーが Fiddler を使用している「ハッカー」だけでなく、Windows 8 アプリを使用していることを確認したい」という要件について、他の人が消費しようとしているかのように、アプリケーションをどれだけ深く保護しようとするかわかりません。 ACS や LiveSDK を使用してセキュリティを追加すると思う場合は、そうは思いません。

ACS または LiveSDK サービスは、特定のユーザーを認証し、アプリケーションの使用を許可する方法です。特定のユーザーに関する認証トークンがアプリケーションに提供され、その情報を保存して再度検証する方法がない場合、アプリケーションで ACS/LiveSDK ベースの認証を使用するかどうかに違いはありません。これらの oAuth ベースのサービスは、ユーザーを認証する方法にすぎませんが、ユーザー固有のサービスを提供するには、追加のコード レイヤーを記述する必要があります。

ACS/oAuth/または独自のメンバーシップ サービスを使用するかどうかは関係ありません。ユーザーは、認証を受けるためにユーザー名とパスワードを入力する必要があります。ログイン時間とタイプに基づいて、ユーザーをライブ セッションとして x 時間アクティブにしておくことができますが、セッションは期限切れになり、ユーザーはユーザー名とパスワードを入力する必要があります。資格情報を再度入力しないようにユーザー名とパスワードをローカルに保存することは、適切なアプリケーション設計ではありません。

Windows 8 ではほとんどのサービスがこれらの ID を使用しているため、LiveSDK (Azure ACS ではなく) を使用して Live (Hotmail、Live、Skydrive、および Outlook ドメイン) ユーザーを認証する必要があります。アプリケーションが同じエコシステムの一部であること。この最新のドキュメントを使用して、アプリケーションで Live SDK を使用できます。Windows 8 アプリケーションで Live SDK を使用し、ユーザーが Windows 8 上の他のアプリケーションに同じ Live ID を使用し、アプリケーションの前にログインする場合、Live ID とアプリケーションの設定に応じて、アプリケーションはそれを使用するためのライブ セッションを既に持っています。 .

2 番目の質問「ユーザーのログイン情報を暗号化して保存し、ユーザーが毎回ログイン情報を入力する必要がないようにしますか?」について。なぜそれが必要なのかわかりません。まず第一に、oAuth サービスは、ユーザー名以外にユーザーのログイン資格情報を提供しません。これは、ユーザーが再度アクセスした場合にユーザーを確認するために保存でき、適切なユーザーであることを確認するために使用できます。この情報をクラウドに保存し、認証されたら、必要なことを行う必要があります。

于 2012-09-21T00:59:53.040 に答える
2

Windows 8 のモダン スタイル アプリケーション用の資格情報ストアのサンプル ( http://code.msdn.microsoft.com/windowsapps/PasswordVault-f01be74a ) をご覧ください。Azure ACS ではありませんが、問題の解決に役立つことを願っています。PasswordVault は、新しい API (Windows.Security.Credentials.PasswordVault) であり、.NET 3 で導入された識別機能に基づいています。これにより、リモート アプリケーションの資格情報を OS 内の保護されたストアに安全に保存し、内部でそれらに動的にアクセスできます。あなたの申請。ユーザーはストアを完全に制御でき、必要に応じてコントロール パネルを使用してデータを削除できます。現在、これは最新のアプリケーションのほとんどが、Twitter などのリモート サービス呼び出し用の OAuth トークンなどのデータを永続化する方法です。

これは、サード パーティの ID に対してのみ機能します。代わりに Microsoft アカウントを使用する場合は、上記のガイダンスに従い、LiveSDK を参照してください。

于 2012-09-21T02:06:11.270 に答える