首页 > 解决方案 > 使用自签名证书的设备身份验证

问题描述

我正在寻找设备身份验证在哪里

  1. 我想确保对我的网络服务\网站(托管在 Google App Engine 上)的所有调用都来自使用设备证书的授权设备。

  2. 每台设备都有一个唯一的证书,不能转移到其他设备。

  3. 可以随时撤销设备证书。

为实现上述目标,我计划拥有另一项服务,该服务将为获准使用我的服务的设备颁发证书。我将通过电子邮件向用户颁发证书,他将在其中手动安装证书。我的用户将使用浏览器访问我的服务。

但我不确定如何实现第 2 点和第 3 点。您能否指导如何使用自签名证书来实现这一点?

标签: authenticationsslcertificatessl-certificate

解决方案


  1. 我想确保对我的网络服务\网站(托管在 Google App Engine 上)的所有调用都来自使用设备证书的授权设备。

您可以将 SSL 通道用于客户端身份验证或向您的消息添加数字签名

  1. 每台设备都有一个唯一的证书,不能转移到其他设备。

使用软件证书无法确保这一点。如果您通过电子邮件分发它们,用户可以将它们安装在多个设备中。

您可以使用硬件令牌(nfc/蓝牙)或在 Android/iOS KeyChain 中预安装证书,这样它就无法提取。但这使分配变得非常复杂。

  1. 可以随时撤销设备证书。

在接受来自客户端的请求之前检查服务器端的撤销。有标准协议可以做到这一点(OCSP,CRL),或者使用自定义机制,因为您自己发布它们


推荐阅读