小编Sac*_*rma的帖子

多个 Android 应用程序(同一设备)可以共享相同的密钥对以使用 FIDO 2 协议进行无密码身份验证吗?

问题陈述:

我想使用FIDO2协议(通过提供SDK)解决Android应用程序上的用户身份验证,而不需要为同一设备上的不同应用程序执行多个注册仪式。例如,如果用户已在 Android 应用程序 A 中注册(生成公私密钥对),则不应要求他/她在 Android 应用程序 B 中注册(假设应用程序 A 和应用程序 B 在同一设备上) 。

可能的解决方案是什么(据我所知):-

  1. 与应用程序 A 和 B 集成的通用 SDK 以提供身份验证。
  2. 单独的身份验证应用程序。

我想继续使用解决方案 1,因为解决方案 2 可能并不理想,因为它需要下载额外应用程序(身份验证应用程序)的额外步骤。

我现在能够实现什么: - 我们能够通过维护应用程序 A 和应用程序 B 的单独私钥来对应用程序 A 和应用程序 B 的用户进行无密码身份验证。

在此输入图像描述 在上图中:-

  1. 用户 XYZ 登录到应用程序 A 并向该设备上的应用程序 A 注册自己。
  2. 在注册步骤中,验证器生成公钥-私钥对。
  3. PrivateKey_1(PrivateKey) 被创建并存储在密钥库中,PublicKey_1(PublicKey) 被创建并与服务器共享。
  4. 现在假设用户 XYZ 想要登录应用程序 B。用户 XYZ 会重复相同的过程以将其注册到应用程序 B。
  5. 在此过程中,将创建 PrivateKey_2 并将其存储在密钥库中,并创建 PublicKey_2 并与服务器共享。
  6. 因此,在上述场景中,用户 XYZ 能够分别使用私钥 PrivateKey_1 和 PrivateKey_2 在 App A 和 App B 上进行身份验证。

我想知道以下场景的可行性? 我想对应用程序 A 和应用程序 …

authentication google-identity android-security webauthn fido

9
推荐指数
1
解决办法
1094
查看次数

Android 中是否可以进行无 OTP 身份验证?

问题陈述:用户 X 想要登录或注册应用程序 A 和应用程序 B。

\n

考虑到:-

\n
    \n
  • 操作系统环境:Android
  • \n
  • 用户X、设备D、应用程序A和应用程序B(应用程序A和应用程序B是两个不同的组织)
  • \n
  • 应用程序 A 和应用程序 B 位于同一设备 D 上
  • \n
  • 应用A和应用B使用认证SDK\xe2\x80\x9cSDK1\xe2\x80\x9d。
  • \n
\n

方法 1: \n用户 X 使用 OTP 通过手机号码验证在应用程序 A 上验证自己。\n用户 X 使用 OTP 通过手机号码验证在应用程序 B 上验证自己。

\n

方法 2: \n用户 X 使用 OTP 通过手机号码验证在应用程序 A 上对自己进行身份验证。\n用户 X 使用应用程序 A 上的身份验证信息在应用程序 B 上对自己进行身份验证。

\n

我有兴趣探索方法 2,并想了解它\xe2\x80\x99 的可行性和安全影响。

\n

让我们深入探讨方法 2 -

\n
    \n
  1. 用户 X 通过使用 OTP 的手机号码验证在应用程序 A(使用 SDK1)上对自己进行身份验证。
  2. \n
  3. SDK1将SIM-ID的信息和唯一的Id存储在设备上的文件F中(所有应用程序都可以访问的共享空间中),并将这些信息发送到服务器。\n注:此文件\xe2\x80 \x9cF\xe2\x80\x9d 使用对称算法(例如 AES)加密;密钥仅远程存储在服务器上。
  4. \n …

security authentication android cryptography

7
推荐指数
0
解决办法
574
查看次数