基于PKI技术的网络安全平台设计分析

基于PKI技术的网络安全平台设计分析,第1张

基于PKI技术的网络安全平台设计分析

[摘要]采用USB加密机和PKI技术设计并实现一个网络安全平台。该安全平台实现身份验证、安全传输和访问权限管理等功能。研究该平台所使用的协议的工作流程,并详细介绍客户端、访问控制服务器和证书管理系统的工作原理。

[关键词]信息安全 PKI 安全协议 USB加密机 网络安全平台

一、概述

本文的目的是开发基于PKI技术的网络安全认证和连接平台。该平台使用USB 密码机,利用PKI体系的相关技术,构建一个供拥有密码机的合法用户通过内网或者互联网访问内部网络的资源服务器的安全平台。平台要求实现用户的和服务器的双向认证、密钥磋商、用户访问权限管理,保证信息传输的保密性、完整性、不可否认性。

这个网络安全平台的服务器端分为两个部分,访问控制服务器和证书管理服务器。访问控制服务器是直接与客户端交换数据的服务器,负责的是与客户端完成密钥磋商,实现加密传输,控制客户端的访问权限。证书管理服务器负责包括访问控制服务器在内的所有用户的证书牛成和证书颁发。证书采用X509v3格式,并且在连接的时候负责用户的身份鉴定。

二、USB密码机介绍

本文中采用的SJW-21C型USB密码机是采用USB接口的密码设备。

SJW-21C型密码机的对称加密算法使用的是经国家密码局鉴定的专用密码算法芯片,其加密分组为64位,密钥长度为128位,密码机的对称加密速度≥SMbps,公钥算法支持1024何的RSA,签名速度≥4 次/秒,摘要算法则支持SHA—l和MDS。密码机还内置通过国家有关部门鉴定的随机数发生器,并且支持随机数的筛选,也就是会自动检查随机数的质量,如果达不到要求,会自动舍去。另外,密码机本身也硬件支持生成RSA密钥对。

三、PKI同络安全平台原理介绍

基于PKI的网络安全平台的安全认证过程分为两个部分,一个是认证信息初始化过程,一个是对用户的入网认证过程,

(一)认证信息初始化

认证信息初始化指的是这个网络安伞平台在架设起来之后,证书管理系统会生成所有用户包括访问控制服务器的证书和私钥,然后分发到各自的密码机中去,具体过程如下。

1,将证书管理系统安装好之后,会进行初始化。

2,证书系统会开始根据需要牛成其他认证实体的证书。

3,各用户将自己的密码机拿到证节管理系统里面来初始化,写入证书和私钥。

4,密码机初始化完毕之后,只要把密码机安装到任何一个可以连接到访问控制服务器的电脑上,运行客户端,输入正确的PIN码,就可以开始按照自己的权限来使用资源服务器上面的内容。以上就是整个安全平台系统的初始化过程。

(二)安全平台认证协议的认证过程

安全平台的认证协议设计思想来自SSL/TLS协议,但不是纯粹的将两者简单的加在一起,因为那样不仅小能发挥USB密码机的真正优势,密码机本身的特性也会对SSL/TLS协议的安全性带来影响,所以这个协议是在理解了SSL/TLS协议的设计思想之后根据密码机的安全功能和实际情况之后设计的。在下面的介绍里,会将密码机所自带的128位国产对称加密算法称为SAl28。

1、客户端密码机生成一个12 8位的随机数R1,然后用SHA一1算法取这个随机数和密码机TD的信息摘要H1,用SAl28算法以Rl为密钥将H1加密,然后用密码机的私钥加密R1,并在前头加上密码机的ID发送给访问控制服务器。

2、访问控制服务器将用户发来的数据直接转发给证书管理服务器。

3、证书服务器收到包之后,先根据这个ID在证书数据库里面找这个ID所对应的证书,然后用证书电所包含的公钥解密被客户端私钥加密过的Rl,然后用这个R1通过SAl28算法解密得到H1,验证通过后。证书服务器会生成一个新随机数R2,然后将R2用客户端的公钥进行RSA加密,把加密后的数据加上 Rl之后取摘要值H2,然后将Rl和加密之后的R2还有H2以R2为密钥用SAl28算法加密,再将R2用访问控制服务器的公钥进行RSA加密,再将以上数据发送给访问控制服务器。

4、服务器收到上述数据后,首先用自己的公钥解出R2,然后用R2通过SAl28算法得到RsC(R2)+RI+H2,验证通过后,将R2取摘要H3,然后将RsC(R2)+H3以R1用SAl28算法加密之后发送给客户端。

5、客户端收到数据后,先用Rl解出Rsl(R2)和H3,在确认之后,用自己的私钥解出R2,然后以R2为SA 128算法的密钥开始和服务器进行通信,到此,验证过程结束,客户端和访问控制服务器之问建立起安全连接。

四、安全平台的主要横块

这个网络安伞认证平台的安全连接部分主要分成3个部分,客户端,访问控制服务器和证书管理服务器。这个系统是一个网络安全的应用,所以网络通信和安全非常重要。在Internet公网上的通讯采用TCP/IP协议,使用MFC封装的一步SOCKET类CasyncSocket建屯网络连接。至于安全方面的连接是采用密码机,编程采用对USB的驱动程序应用接口的访问,这里使用的是针对这个密码机的软件开发包。

(一)客户端的实现

客户端的实现土要分为两个部分,一个是对密码机的控制,一个是对网络安全协议的支持。客户端被设置为验证PIN码之后,就开始进行公私钥自检,自检成功后就开始向连接控制服务器提交验证申请。

(二)访问控制服务器的实现

访问控制服务器的主要功能是负责外网和内网的数据交换,并判断数据的属性以做不同的处理。在访问服务器上面,维护了一个访问权限数据库,这个数据库鹗面含有资源服务器上面所有的资源并且对每个不间的用户ID标明了权限。在客户端和访问控制服务器之间建立了安全连接之后,服务器就会将和这个客户端联系的线程转变成一个转发线程,客户端将自己的需求加密之后发过来,经过转发线程的解密处理之后,会按 贶 客户端的权限范围决定是否将需求发送给资源服务器,如果需求符合客户端的权限,那么转发线程会将得到的资源加密之后发送给客户端。

(三)证书管理服务器的实现

在这个安全平台里面,证书管理服务器的作用是证书生成和颁发,验证客户端和服务器端的身份,并且生成对称加密密钥。证书管理服务器有一个证书库,存有安全平台系统里所有密码机的证书。

PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。PKI的基本组成:完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。一个典型、完整、有效的PKI应用系统至少应具有以下部分:· 公钥密码证书管理。· 黑名单的发布和管理。· 密钥的备份和恢复。· 自动更新密钥。· 自动管理历史密钥。· 支持交叉认证。认证机构(CA):即数字证书的申请及签发机关,CA必须具备权威性的特征;数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。证书作废系统:证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份z件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。

2019年6月20日 - 提供专用PKI管理解决方案的Sectigo宣布推出私有PKI服务,用于发布和管理用户,服务器,设备和应用程序的SSL证书,私有PKI和身份z书。

Sectigo Private PKI使企业能够通过在单一平台上管理非Microsoft设备和应用程序(包括移动,物联网(IoT),电子邮件,云和DevOps)来扩充或替换其Microsoft Active Directory服务(Microsoft CA)。

私有PKI(公钥基础结构)是一种企业品牌证书颁发机构(CA),其功能类似于公开信任的CA,但仅针对单个企业运行。 Sectigo提供能够向内部应用程序发布终端实体证书的私有根和下属。从私有CA颁发的证书仅在企业基础架构,合作伙伴和客户的受控环境中受信任。 Private PKI解决方案利用现有的Microsoft CA作为Sectigo的根,无需配置新的根证书。

Sectigo Private PKI是Sectigo证书管理器的一项功能,该平台使企业能够高效地管理私有证书并遵守公司和行业合规标准。该控制中心通过行业标准的注册协议自动在整个企业中提供证书。管理员可以发现以前颁发的证书,然后从单个平台发布,查看和管理所有证书。

Microsoft的自动证书管理允许IT管理员指示桌面和服务器在没有员工参与的情况下注册和续订证书。但是,今天的企业有无数的应用程序驻留在任何Microsoft *** 作系统之外,使管理员和员工可以手动跟踪,注册和续订证书和密钥。通过SCEP,EST,ACME和REST API等注册协议,Sectigo证书管理器可以为所有企业环境提供证书。

该服务支持单个SaaS应用程序中的所有必要证书类型,通过PKI实践和安全性为整个企业提供数字身份。

PKI (Public Key Infrastructure )公开密钥基础设施,是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施; 是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。

PKI既不是一个协议,也不是一个软件,它是一个标准,在这个标准之下发展出的为了实现安全基础服务目的的技术统称为PKI。PKI通过传播数字证书来保证安全,于是认证中心CA就变成了PKI的核心。

认证中心CA(Certificate Authority) 是一个负责发放和管理数字证书的第三方权威机构,它负责管理PKI结构下的所有用户(包括各种应用程序)的证书,把用户的公钥和用户的其他信息捆绑在一起,在网上验证用户的身份。CA机构的数字签名使得攻击者不能伪造和篡改证书。

认证中心主要有以下5个功能:

证书的颁发:接收、验证用户(包括下级认证中心和最终用户)的数字证书的申请。可以受理或拒绝

证书的更新:认证中心可以定期更新所有用户的证书,或者根据用户的请求来更新用户的证书

证书的查询:查询当前用户证书申请处理过程;查询用户证书的颁发信息,这类查询由目录服务器ldap来完成

证书的作废:由于用户私钥泄密等原因,需要向认证中心提出证书作废的请求;证书已经过了有效期,认证中心自动将该证书作废。认证中心通过维护证书作废列表 (Certificate Revocation List,CRL) 来完成上述功能。

证书的归档:证书具有一定的有效期,证书过了有效期之后就将作废,但是我们不能将作废的证书简单地丢弃,因为有时我们可能需要验证以前的某个交易过程中产生的数字签名,这时我们就需要查询作废的证书。

PKI的标准规定了PKI的设计、实施和运营,规定了PKI各种角色的”游戏规则”,提供数据语法和语义的共同约定。PKI体系中有很多SSL证书格式标准。

其中最为人熟知的有x509和PKCS#12(pfx, p12为证书后缀)

1 证书版本号(Version)

版本号指明X509证书的格式版本,现在的值可以为: 0:v1, 1:v2, 2:v3

2 证书序列号(Serial Number)

序列号指定由CA分配给证书的唯一的"数字型标识符"。当证书被取消时,实际上是将此证书的序列号放入由CA签发的证书废除列表CRL(Certificate revocation lists 证书黑名单)中,

3 签名算法标识符(Signature Algorithm)

签名算法标识用来指定由CA签发证书时所使用的"签名算法"。算法标识符用来指定CA签发证书时所使用的公开密钥算法或hash算法

4 签发机构名(Issuer)

此域用来标识签发证书的CA的X500DN(DN-Distinguished Name)名字。包括:

1) 国家(C) 2) 省市(ST) 3) 地区(L) 4) 组织机构(O) 5) 单位部门(OU) 6) 通用名(CN) 7) 邮箱地址

5 有效期(Validity)

指定证书的有效期,包括:

1) 证书开始生效的日期时间 2) 证书失效的日期和时间

每次使用证书时,需要检查证书是否在有效期内。

6 证书用户名(Subject)

指定证书持有者的X500唯一名字。包括:

同签发机构名(Issuer)中的条目

7 证书持有者公开密钥信息(Subject Public KeyInfo)

证书持有者公开密钥信息域包含两个重要信息:

1) 证书持有者的公开密钥的值 2) 公开密钥使用的算法标识符。此标识符包含公开密钥算法和hash算法。

8 扩展项(extension)

X509V3证书是在v2的基础上一标准形式或普通形式增加了扩展项,以使证书能够附带额外信息。

9 签发者唯一标识符(Issuer Unique Identifier)

签发者唯一标识符在第2版加入证书定义中。此域用在当同一个X500名字用于多个认证机构时,用一比特字符串来唯一标识签发者的X500名字。可选。

10 证书持有者唯一标识符(Subject Unique Identifier)

持有证书者唯一标识符在第2版的标准中加入X509证书定义。此域用在当同一个X500名字用于多个证书持有者时,用一比特字符串来唯一标识证书持有者的X500名字。可选。

11 签名算法(Signature Algorithm)

证书签发机构对证书上述内容的签名算法

12 签名值(Issuer's Signature)

证书签发机构对证书上述内容的签名值

证书案例

一、目的与机能

公开密钥基础建设的设置使得未联系的电脑用户可以提出认证,并使用公钥证书内的公钥信息加密给对方。解密时,每个用户使用自己的私密密钥解密,该密钥通常被通行码保护。

大致而言,公开密钥基础建设由客户端软件、服务端软件、硬件、法律合约与保证、 *** 作程序等组成。签署者的公钥证书也可能被第三者使用,用来验证由该签署者签署的数字签名。

通常,公开密钥基础建设协助参与者对话以达成机密性、消息完整性、以及用户认证,而不用预先交换任何秘密信息。然而互通连成员间的公开密钥基础建设受制于许多现实问题,例如不确定的证书撤销、证书中心发行证书的条件、司法单位规范与法律的变化、还有信任。

二、组成

PKI的组成要素主要有:用户(使用PKI的人或机构);认证机构(Certification Authority,CA)(颁发证书的人或机构);仓库(保存证书的数据库)。用户和认证机构称之为实体。

用户是使用PKI的人,使用PKI的人又分为两种:一种是向认证机构(CA)注册自己公钥的人,另一种是希望使用已注册公钥的人。

认证机构是对证书进行管理的人或机构。认证机构进行这几种 *** 作:代用户生成密钥对(当然可以由用户自己生成);对注册公钥的用户进行身份验证;生成并颁发证书;作废证书。另外,对公钥注册和用户身份验证可以由注册机构(Registration Authority,RA)来完成。

仓库(repository)是存放证书的数据库。仓库也叫证书目录。

三、用途

大部分企业级的公钥基础建设系统,依赖由更高端级的证书中心发行给低端证书中心的证书,而层层构筑而成的证书链,来创建某个参与者的身份识别证书的合法性。

这产生了不只一个电脑且通常涵盖多个组织的证书层次结构,涉及到多个来源软件间的合作。因此公开的标准对公钥基础建设相当重要。这个领域的标准化多由互联网工程工作小组的PKIX工作群完成。

企业公钥基础建设通常和企业的数据库目录紧密结合,每个员工的公钥内嵌在证书中,和人事资料一起存储。

今日最先进的目录科技是轻量目录访问协议(Lightweight Directory Access Protocol,LDAP)。事实上,最常见的证书格式X509的前身X500是用于LDAP的前置处理器的目录略图。

历史

1976年Whitfield Diffie、Martin Hellman|Hellman、Ron Rivest、Adi Shamir和Leonard Adleman等人相继公布了安全密钥交换与非对称密钥算法后,整个通信方式为之改变。

随着高速电子数字通信的发展,用户对安全通信的需求越来越强。

密码协议在这种诉求下逐渐发展,造就新的密码原型。全球互联网发明与扩散后,认证与安全通信的需求也更加严苛。光商务理由便足以解释一切。时在网景工作的Taher ElGamal等人发展出传输安全层协议,包含了密钥创建、服务器认证等。公开密钥基础建设的架构因此浮现。

厂商和企业家察觉了其后的广大市场,开始设立新公司并引导法律认知与保护。美国律师协会项目发行了一份对公开密钥基础建设 *** 作的可预见法律观点的详尽分析,随后,多个美国州政府与其他国家的司法单位开始制定相关法规。消费者团体等则提出对隐私、访问、可靠性的质疑,也被列入司法的考虑中。

被制定的法规实有不同,将公开密钥基础建设的机制转换成商务 *** 作有实际上的问题,远比许多先驱者所想的缓慢。

21世纪的前几年才慢慢发觉,密码工程没那么容易被设计与实践,某些存在的标准某方面甚至是不合宜的。

公开密钥基础建设的厂商发现了一个市场,但并非九零年代中期所预想的那个市场,这个市场发展得缓慢而且以不同的方式前进。

公开密钥基础建设并未解决所期待的问题,某些厂商甚至退出市场。

公开密钥基础建设最成功的地方是在政府部门,目前最大的公开密钥基础建设是美国防卫信息系统局 (Defense Information Systems Agency,DISA)的共同访问卡(Common access Cards)方案。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10616353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存