2

ご存知かもしれませんが、HTML、CSS、および JS で作成された Windows ストア アプリのソース コードを掘り下げるのは非常に簡単です。

私のアプリは、サーバー上で非常に高価な操作を開始する REST API を使用しています。CPU リソースを節約するために、API は HMAC のようなものを使用します。HMAC を生成するには、シークレットが必要です。その秘密を安全に保存するにはどうすればよいですか? iOSキーストアのようなものを探しています。

4

2 に答える 2

5

コード内のすべてが分析、逆コンパイル、デバッグされる可能性があるため、アプリケーション パッケージの一部として埋め込まれたキーを使用してアプリケーションをリリースする場合、最終的にはセキュリティではなく難読化の取り組みのように思えます。

ユーザー セキュリティを使用してアクセスを制御しないため、代わりに、アプリケーション内のどこかに「シークレット」を保存しようとするのではなく、アプリケーションをアクティブにして承認するスキームを検討することをお勧めします。

アプリケーション認証用の RESTful API を追加すると、次のことが可能になります。

  1. デバイスごとにアプリケーションのアクティベーションを追跡する
  2. 各デバイスに固有のアクティベーション コード (トークン) を提供する
  3. 高価な操作を開始するサービスを含め、デバイスごとに API の使用状況を監視します。

アプリケーションの一意のハードウェア ID を取得するには、次のガイドを読む必要があります: http://msdn.microsoft.com/en-us/library/windows/apps/jj553431.aspx

トークンを取得したら、 を使用しPasswordVaultてトークンを安全に保存できます。

var vault = new Windows.Security.Credentials.PasswordVault();
vault.add(new Windows.Security.Credentials.PasswordCredential(
    "MyWindows8App", "default", token));

PasswordVault のドキュメント

于 2013-09-17T21:46:51.683 に答える