4

我正在收集信息以实现系统的证书身份验证方案,该系统要求移动设备客户端使用证书进行身份验证,然后才能被授予访问系统使用的服务的权限。我正在寻找可能的解决方案,允许我向系统的受信任用户颁发唯一证书,以便他们可以与他们的移动设备一起使用,以及其他登录凭据。

具体来说,客户端设备上的移动应用程序(例如 Android 应用程序)将使用 WCF REST 服务,并且需要检查客户端是否具有正确的证书以及用户提供的有效用户凭据. 此外,在这种情况下,安全性是关键且备受关注。

我的问题是,在刚刚描述的场景中,是否可以实施唯一的证书身份验证并高度重视安全性?如果不是,有哪些不同的替代方案或实现这一目标的最佳方式?

此外,对于用于 PIV/CAC 卡的单独颁发的证书,是否可以利用这些证书使用移动设备进行身份验证?

4

1 回答 1

1

这种性质的安全性始终是一个难以解决的问题。这种性质的主要方法之一是使用 diffie hellman 密钥交换首先建立一个密钥系统。每个用户都有自己唯一的密钥,只有初始握手会是过程密集型的。然后,此时您可以运行任意数量的加密算法,以便在每次进行身份验证时验证密钥。

因此,这就引出了一个问题,即如何在发送密钥之前首先建立密钥,以及可以使用哪些唯一信息在移动客户端创建密钥。这导致我们走上了一条灰色的道路,因为有许多不同的方法可以做到这一点,并且都有自己的考虑。例如,您可以使用 Android 操作系统的原生架构来获取手机的唯一 ID,或者使用用户 Google Play 帐户 ID 作为原始密钥中的哈希值。但是,请记住 diffie hellman 是匿名的,因此您需要在与用户交换密钥之前先对用户进行身份验证。之后,尽管您可以只使用签名的请求。

基本上,这深入研究了一个安全领域,需要利用给定的资源进行深思熟虑,并且知道您在移动平台上,您需要保持 CPU 周期较低,这意味着没有密集的加密算法。上述方法只是您可以实施的一种解决方案。

此外,如果您确实开发了一个 Android 应用程序,则可以通过应用程序接口通过推送轻松完成此身份验证。您基本上可以将证书推送到调用或撤销访问权限的应用程序,因此这应该是最简单的路线。如果你想在 Symbian OS 上使用它,那么你将不得不像我上面描述的那样做更多的工作。此外,由于您基本上要求的是登录而不是完全加密,因此密钥签名系统的开销应该不会太难,但实现跨平台可能会变得棘手。

希望这能为您提供进一步研究和想法的起点。

于 2012-06-18T01:57:58.297 回答