7

指紋と 4 桁の PIN (アプリケーション設定でユーザーが設定できます。これはシステム PIN/パターン/パスワードではありません) 認証を使用するアプリがあります。

指紋ですべて問題ありませんが、ピンに問題があります。

私がやろうとしていることは次のとおりです。

  1. ユーザーがアプリケーション設定からピンを設定できるようにする
  2. 入力されたピンで保護されたエイリアスのキーストアでキーペアを生成します(このピンなしでは秘密鍵にアクセスできないようにするため)
  3. 将来の署名検証のために公開鍵をサーバーに送信する
  4. サーバーからユーザー トークンを取得し、ローカル ストレージに保存します

次に、承認中に:

  1. ユーザーに PIN の入力を要求する
  2. 入力した PIN で秘密鍵を取得する
  3. ローカル ストレージからトークンを取得する
  4. ステップ 6 の秘密鍵でトークンに署名する
  5. 署名付きデータでサーバーに送信する
  6. サーバーで署名を確認し、有効な場合はユーザーのセッションを開きます。

私の質問は:ユーザーが入力したピンで保護された KeyPair を生成するにはどうすればよいですか?

PS指紋の場合、このロジックは次のように処理されます。

KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_SIGN).setUserAuthenticationRequired(true)
4

1 に答える 1

0

この投稿を使用することをお勧めしますAndroid KeyStore を使用して、任意の文字列を安全に保存します

この投稿は次の点をカバーしています

  1. デバイスで暗号化キーを生成し、安全に保管し、取得します。

  2. 任意のデータを暗号化し、デバイスに保存します。

  3. 後で使用するためにデータにアクセスして復号化します。

それが役立つことを願っています。

于 2016-11-11T13:09:25.183 に答える