USB Key也叫做USB Token,是一种USB接口的硬件设备, 网银的“U盾”就是USB key的一种。USBkey中存储有用户的私钥以及数字证书,并且可执行生成公私钥对,硬件数字签名的等运算。USB Key主要用于实现网络认证,其结合物理实体和PIN双因子认证得方式,相当比较安全,主要用于网上银行或要求较高的企业远程办公用户。本文简单对USPkey实现认证加密的架构进行描述,希望对需要建设企业USBkey认证业务的读者有所帮助。

下图是USBkey实现认证与加密的整体架构图,包含CA认证中心认证服务器USBkey用户管理员等几个关键角色:

1.录入信息

1)将USBkey用户的信息录入,用户生成用户证书。大型组织一般都会设置专门的RA(Registration Authority)管理员角色,处理用户USBkey的发放、更新、吊销等;

2)运维管理员录入认证服务器生成CSR(Cerificate Signing Request 证书请求文件)所需的信息;

2和3. 向CA申请数字证书

CA可以是企业自建自行管理的CA系统,也可以是外部的或者认证服务器内置的简易CA;

1)RA管理员的客户端程序调用USBkey驱动使其生成RSA密钥对,RA将读取到的USBkey公钥和用户信息格式化后一并发给CA,CA使用自己的私钥对请求进行签名,生成数字证书;

2)运维管理员将认证服务器CSR导出,同样将请求发给CA,CA使用自己的私钥对请求进行签名,生成数字证书;

4和5. 获得数字证书

数字证书=公钥+申请者与颁发者信息+签名

1)RA管理员的客户端程序将返回的用户证书,调用USBkey驱动执行写入到USBkey中。同时RA管理员将用户证书的相关信息导入到认证服务器中,用户后续的用户认证与管理;

2)运维管理员将返回的服务器证书导入到认证服务器中;

6.导入CA证书

1)运维管理员将CA自己的证书导入到认证服务器中,这样认证服务器便可以用CA证书验真所有CA签发的用户证书;

2)用户将CA的证书导入浏览器中;

7、8和9.认证和加密

1)用户向认证服务器发起请求,认证服务器返回服务器证书,用户客户端检查服务器的证书有效性(包括是否为信任CA签发,有效期等),并验证服务器的真实性(通过chanllenge),完成对服务器的认证;

2)服务器要求用户客户端发送用户的证书,客户端向服务器发送自己的用户证书,服务器对检查用户证书的有效性,并验证客户端的真实性;

注意:此时服务器可以发送一个chanllenge,客户端的私钥加密一段基于已经协商的通信信息得到数据的摘要,服务器可以采用对应的公钥解密并验证,此过程在USBkey中运算,并且执行运算需要输入PIN;由于私钥存放在USBkey中,黑客很难获取的私钥,也就很难破解这个认证过程;

3)双向认证通过后,客户端会生成一个对称会话密钥,并通过服务器公钥加密发送给服务器,就此完成会话密钥交换,之后的通信采用对称密钥加密;

PCI/CA体系下使用USBkey实现认证与加密(一)整体架构相关推荐

  1. 基于RSA的公钥基础体系下安全通信实战

    目录 简说RSA 服务器的初始密钥对和认证请求 证书认证机构CA 服务器安装CA签名证书 客户机 小结 从样板戏<红灯记>到好莱坞谍战大片<风语者Windtalkers>等,许 ...

  2. CA体系与证书——TLS安全加密的基础

    为什么要建立证书体系 (PKI) public key infrastructure,PKI 公钥基础设施,PKI的提供者狭义的被看做是CA,也就是颁发签署证书的权威机构. 之前论述的密钥交换过程与提 ...

  3. 云原生体系下的技海浮沉与理论探索

    作者 | 王银利(芸峥) 1 . 概述 攻技者,短之:理论者,长之:践行者,胜之.可以这么说,一座城市的良心就体现在下水道上,不论这座城市有多少高楼大厦,建设得有多么宏伟,只要是下雨天,雨水就变成了城 ...

  4. C++继承体系下的对象构造

    继承体系下的对象构造 继承下的对象构造 虚拟继承 初始化"虚基类子对象" vptr的设置 总结 继承下的对象构造 class Point{public:Point(float x ...

  5. linux fedora下实现锐捷认证

    装上fedora时间也不短了,可就是一直都没有能在fedora下实现上网,一日与学院网络管理中心的老师交流,有幸得到老师的点化,进而实现了linux fedora下用锐捷认证上网. 老师发来的邮件,原 ...

  6. 逻辑回归模型_联邦学习体系下——逻辑回归模型

    联邦学习的体系我们在前期介绍过,这里我们简单回顾一下纵向联邦学习的定义:在两个数据集的用户重叠较多而用户特征重叠较少的情况下,将数据集按照纵向 (即特征维度)切分,并取出双方用户相同而用户特征不完全相 ...

  7. matlab 带有下标的赋值维度不匹配_远见另类资产管理体系下的核心系统搭建

    另类资产管理体系下的信息化建设,或许是小众领域中的更小众话题,但仍值得讨论.很多基金公司.投资公司或资产管理公司都搭建了各种大大小小的应用系统,如OA系统.财务系统.CRM系统等,但对于上系统的价值, ...

  8. 理解SQL Server中的权限体系(下)----安全对象和权限

    在开始阅读本文之前,请确保你已经阅读过上一篇文章,文章地址: 理解SQL Server中的权限体系(上)----主体 简介 在上一篇文章中,我对主体的概念做了全面的阐述.本篇文章接着讲述主体所作用的安 ...

  9. 用友NC 财务核算账簿启用时 提示选中的科目表不是当前集团的账簿类型对应科目体系下的政策性科目表或其派生的科目表

    用友NC 财务核算账簿启用时 提示选中的科目表不是当前集团的账簿类型对应科目体系下的政策性科目表或其派生的科目表,如图所示: 解决办法:打开会计科目-全局,选择对应的科目体系和科目表,点击左侧科目表维 ...

最新文章

  1. gradle加载spring包
  2. Shellcode开发辅助工具shellnoob
  3. mysql 线上加索引_mysql手札,唯一索引引发的线上事故
  4. ASP.NET MVC WebAPI实现文件批量上传
  5. json 反序列化 父子类型_Json的序列化和反序列化
  6. BP: Useful report to list assigned employees
  7. .NET 6 Preview 4 已发布,ASP.NET Core 更新内容
  8. C++:vector中的resize()函数 VS reserve()函数
  9. 深度卷积神经网络_深度卷积神经网络中的降采样
  10. SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
  11. awk 第一个文件的数字乘以第二个文件的数字
  12. vue+element tree(树形控件)组件(1)
  13. oracle18c如何创建hr用户,Oracle18c创建不带C##的用户
  14. IPEmotion采集J1939协议信号介绍
  15. 【进阶】python写一个小猫
  16. [基于kk搭建k8s和kubesphere] 1 概念和文档
  17. iOS-class方法和objc_getClass方法
  18. 计算机模拟光照,建筑太阳光照实时模拟软件
  19. 中缀表达式转换成前缀表达式和后缀表达式的极其简单方法
  20. matching wildcard is strict, but no declaration can be found for element forcontext:property-plac

热门文章

  1. 欧几里德距离的相似度 —— Euclidean Distance-based Similarity
  2. PTA L1-006 连续因子(详解)
  3. java implements的用法总结
  4. QLExpress计算等本等息、等额本息、等额本金
  5. 堡垒机4a认证是什么意思?是指哪4a?
  6. canvas + JavaScript实现幸运大转盘
  7. 调用CachedRowSetImpl类时出现错误
  8. 二、创建基础的drill集群
  9. jpg转换为eps_在线JPG到EPS转换器
  10. nachos源码阅读 (内存管理)