本科毕业设计身份管理与数字证书信息同步的设计与实现文档格式.docx
《本科毕业设计身份管理与数字证书信息同步的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《本科毕业设计身份管理与数字证书信息同步的设计与实现文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
![本科毕业设计身份管理与数字证书信息同步的设计与实现文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/4/36535f11-4861-4127-953f-c3dc0016f336/36535f11-4861-4127-953f-c3dc0016f3361.gif)
Synchronization
Abstract
Withthedevelopmentofinformationsecurity,therearemanytediouswork
inthemanagementofusingthePKI
digitalcertificatetechnology.
it
bringsmanyinconveniencestomanagement.users’informationshouldbeinputedofAuthorizationSystem,anditshouldbeinputofManagementSystemtoo.TheIdentityManagementandDigitalCertificateSynachronizationSystemsolvestheproblem.
Itonlyneedsa
rootcertificate,andadminscan
automatic
call
interfaceofapplyingcertwhenmanagingusers’information.Soitcanautomaticallycompletedigitalcertificateissuance.Obviously,itissafetyandconvenience.Intheerawithefficiencyandsecurity,TheIdentityManagementandDigitalCertificateInformationSynchronizationSystemshouldbeproduced.
Keywords:
PKIdigitalcertificateInformationsecurity
1引言
1.1论文的选题背景
近年来,对着Internet的迅速崛起,互联网已经进入了人们工作学习的各个方便,不仅仅是各个大中小企业对员工的信息管理,还有各个购物网站,资料网站还有各种方便人们交流生活的平台的信息管理,如何在不影响用户方便性的同时保证用户信息的安全性是一个重大的挑战,PKI数字证书的设计与实现为信息的安全性带来了生机。
但是在管理着用这种方法对庞大的用户信息进行管理的时候出新了一个新的问题,就是操作的复杂性。
PKI技术在保证安全的同时也为用户设计了重重的关卡,比如录入用户信息,审核用户信息,证书制作,密钥生成等工作。
为了信息安全又不用重复操作,就需要把证书颁发系统与身份管理系统相结合,管理者运用某种权限使得证书可以自动完成复杂的录入、审核、制证等操作。
于是身份管理与数字证书信息同步系统应运而生。
1.2论文的研究意义
该系统并不是每个用户都可以自动创建证书,而必须是拥有某种权限的人才可以,即拥有足够权限的数字证书登录的时候才可以自动创建证书,并且可以根据数字证书里面的信息判断证书的类型等相关属性,这样便可以有法则的安全的创建并管理用户。
目前,这种技术不仅仅运用在各大中小企业、各大网站等民用的信息管理系统中,在政府军用机关也运用相关技术。
在完成身份管理与数字证书信息同步系统后,发现里面的原理知识很严密,PKI这种安全的基础设施有待继承和研究,希望以此论文显示我的研究成果,与各位相关学者们进行讨论,推动该技术的更新与发展。
1.3论文的内容安排
经过了半个多学期的研究之后,有一定的成果,下面就以论文的形式展示出来,一下详细介绍一下论文的大概内容安排。
该论文第一章是引言;
第二章主要讲述身份管理与数字证书同步系统所遇到的相关技术和算法;
第三章会结合身份管理与数字证书同步系统,来更加完美的展示这种同步技术;
第四章是对本系统进行测试,用实际总结该系统优缺点;
最后总结了一下经验教训,确定自己今后在这个课题上的研究方向。
2相关技术简介与研究意义
2.1PKI
2.1.1什么是PKI
PKI是publickeyInfrastructure的缩写,广义来讲就是用公开密钥的概念和技术来实施和提供安全服务的具有普适性的安全基础设施,也就是说任何以公钥技术为基础的设施都叫PKI,即没有好的非对称算法和好的密钥管理就不可能提供完善的安全服务,也就不是PKI。
这个说法也就说明了PKI必须具有密钥管理功能。
综上所述,即PKI是用公钥概念和技术实施的,支持公开密钥的管理并提供真实性、保密性、完整性以及可追究性安全服务的具有普适性的安全基础设施。
2.1.2PKI的技术的研究内容
PKI在公开密码学的基础上,主要解决密钥认证的问题。
PKI的核心技术就是围绕数字证书的申请、颁发、使用与撤销等整个生命周期展开的。
证书撤销是最容易被忽视但也是PKI很重要的一部分,是安全基础设施必须提供的一项服务。
PKI的研究对象包括:
数字证书、颁发数字证书的证书认证中心、证书持有者、证书使用者、证书注册机构、证书存储和查询服务器、证书状态查询服务器和证书验证服务器等。
PKI最基本的组件是证书认证中心(CA)、证书持有者和依赖方。
证书持有者是指公钥对应私钥的持有者。
依赖方是指使用其他人证书来进行加密通信、身份鉴别、数字签名验证等安全操作的实体。
PKI的辅助组件有注册机构(registrationauthority,RA)、资料库(repository)系统、密钥管理系统(keymanagementsystem)、OCSP(onlinecertificatestatusprotocol)服务器、CRLIssuer等。
辅助组建不是必须的,只是在某种情况下用来更加完善PKI系统,使其更好的完成服务。
另外,为了更好的发展PKI基础设施,PKI域之间的互联是建设一个没有漏洞的范围大的网络应用的关键。
在PKI互联过程中,PKI关键设备之间,PKI末端用户之间,网络应用与PKI系统之间的相互操作与接口技术是PKI发展的重要保证。
2.1.3PKI优点
PKI具有强大的生命力,以公钥密码技术为灵魂,以数字证书为核心。
凭借自己的优势已经渐渐渗入网络的各个层面。
PKI的优势主要表现在一下几个方面。
(1)采用公开密钥技术;
(2)保护机密性;
(3)采用数字证书的方式进行服务;
(4)提供证书撤销机制;
(5)具有特别高的互连的能力
2.1.4PKI的意义
PKI的意义在于人们日常生活中,最常见的例子,电子商务,现在网购逐渐增多,而PKI提供的任意三方可验证服务提供了一个更加公平的平台,这样的方式使得电子商务变得更加民主和和谐。
另外,PKI支持很多以前无法实现的服务。
比如,PKI保证下载文件不被黑客篡改,可以保证护照等证件的真实性。
但是PKI技术并没有发展的很迅速,或许正式因为其重大的意义和扎实的基础才才发展的如此缓慢。
PKI是无可替代的。
2.1.5中国商用PKI系统体系
《证书认证系统密码及其相关技术规范》是由中华人民共各国国家密码管理局颁布的标准,主要是指导公众服务证书认证系统的建设和检测评估。
该规范的组件有证书管理系统和证书/CRL签发系统(证书的签发、证书撤销和CRL签发,即CA)、用户注册管理系统和远程用户注册管理系统(RA)、证书/CRL存储发布系统和证书/CRL查询系统(资料库)、密钥安全中心(KMC)和安全管理系统(系统审计和安全防护)。
2.2CA证书认证中心
2.2.1什么是CA
CA是负责公钥的归属的组件,且其技术手段也是非常可靠的。
CA通过数字证书的方式为用户提供公钥证明。
因为CA是PKI系统中被通信的双方信任的实体,故被称为可信第三方(trustedthirdparty,TTP),也因此其签名认证是不可否认的。
2.2.2CA的工作过程
CA作为可信第三方,就必须让信任实体拥有追究自己责任的能力。
用户将自己的身份信息和公钥发送给CA,由CA验证并签名,给该用户颁发数字证书,证书中就绑定了公钥数据和该用户的信息并和CA的签名,并且还有CA的名称,这样便可以方便其他用户找到CA签名的验证公钥。
那么依赖方是如何进行验证的呢?
每一个CA都有一对自己的公私钥,公钥可以用另一个CA签名后发布,也可以通过广播、电视或者红头文件来公告CA的公钥,其私钥对每一个数字证书进行数字签名,CA实现公钥获取数据起源的鉴别,保证数据完整性和非否认性。
当然,如果用户因为信任了证书而导致了损失,证书可作为有效的证据来追究签名CA的责任。
中国商用PKI系统结构图如图2-1所示:
图2-1中国商用PKI系统结构图
2.3RA注册机构
2.3.1什么是RA
RA是证书注册机构,是CA与用户之间的接口。
正如其名,它的作用是在CA证书进行签名前进行审核以确保证书上面内容的有效性。
从而使得PKI系统更加安全。
另外,为了与用户更好的交互,完善PKI系统的功能,RA注册机构也会对用户身份信息进行管理,以及安全的数字证书的下载、发放等功能。
2.3.2RA的工作过程
验证者提交公钥和自己的身份信息后,RA首先要检测申请者拥有相应的私钥,另外还要对密钥的安全强度(密钥长度、密钥的使用期密钥种子)、密钥托管和恢复、算法等进行审核;
然后,RA系统要进行对申请着身份的验证,确定申请者就是证书所标识的试题,或者申请者有足够的权限来代替其他的申请者,还要检查申请者身份信息中的各个方面的内容(姓名等)进行检查。
然后,RA检查申请者希望证书可能希望在证书上面附加的其他内容,另外还要检测用户的缴费情况、合同签订、犯罪记录等;
最后还要获取申请者的联系电话、邮编地址等信息,以方便PKI系统可以回访用户。
在上述一系列的审核中有大量的人工参与,不仅仅是RA系统自动完成,所以RA系统必须提供一个友好的交互页面。
2.3.3RA的意义
为了使PKI系统的建设保证网络信息以及网络通讯的安全,保证网络数据以及用户信息的保密性、完整性和不可抵赖性,RA是不可或缺的一部分。
RA不仅仅可以直接与用户进行交互,管理用户信息以及证书等相关业务,在后期的维护以及其对用户信息的审核都有着重要的作用。
2.4KMC
2.4.1什么是KMC
KMC是密钥管理中心(也称密钥托管中心),有生成管理密钥的功能,它可以通过加密机或者加密卡来生成密钥,另外支持安全网络通道传输数据。
它是第三方可信任机构,一个KMC可以为多个CA进行服务。
2.4.2KMC的工作过程
KMC负责密钥的管理和存储,其内部的加密机(加密卡)可生成密钥对,并且把备用密钥对存在数据库中。
KMC中主要包括三个数据库、加密卡和通讯密钥对。
三个数据库分别是备用密钥数据库、在用密钥数据库和历史密钥数据库。
备用密钥数据库是存储加密机新生成密钥(暂时没有被分配),在用密钥数据库存储的是正在使用中的密钥,历史数据库存储的是因过期等其他原因现在不再使用的密钥。
加密卡用来生成新的密钥,通讯密钥对用来与CA进行安全通信。
KMC的大概工作过程就是:
解析CA发来的申请密钥信息,然后从备用数据库中取出密钥,并且将申请人信息与密钥保存在在用数据库中,然后构成返回信息,最后通过网络安全通道传送给CA。
此外,KMC还涉及密钥恢复、密钥撤销等功能,其过程与申请密钥类似。
2.4.3KMC研究的意义
KMC的出现似的PKI系统更加完整和安全,为保护用户的隐私和保证相关政府部门的监听权做出了突出贡献。
2.5数字证书
2.5.1什么是数字证书
数字证书由证书内容、签名算法和签名结果组成,数字证书为了证明公钥的所属而存在。
数字证书的内容一般包括版本号、证书主体、主体公钥信息、签发者、序列号、有效期等合理性信息。
2.5.2数字证书的描述方法
大多数数字证书的描述使用ASN.1语法标记标准,它是一种既简单,有没有歧义的内容描述语言。
在PKI系统中关于目录、名字、证书和通信的诸多方面使用到了ASN.1语言。
2.6X.509标准
2.6.1X.509简介
X.509标准是ITU-T设计的PKI标准,踏实为了解决X.500目录中的身份鉴别和访问控制问题而设置的。
X.509最基本的组件有CA、证书持有者、依赖方和资料库。
X.509标准也只是为X.509目录来服务的。
其定义了证书和CRL的数据格式。
2.6.2X.509数字证书
X.509是用ASN.1来描述证书信息的。
PKI中广泛使用X.509证书格式。
那么下面就用ASN.1来描述X.509证书的整体结构。
证书分为三大部分:
证书内容(tbsCertificate)、签名算法(sinnatureAlgorithm)和签名结构(signatureValue)。
证书内容的描述:
fCertificate:
:
=SEQUENCE{
ftbsCertificatefTBSCertificate
fsinnatureAlgorithmfAlgorithmIdentifier
fsignatureValueBITSTRING
}
签名算法为CA对证书签名时的算法,其类型为AlgorithmIdentifier。
fAlgorithmIdentifier:
fAlgorithmOBJECTIDENTIFIER,
fParametersANYDEFINEDBYalgorithmOPTIONAL
fTBSCertificate:
fVersion[0]EXPLICITVersionDEFAULTv1,
fserialNumberfCertificateSerialNumber,
fsignaturefAlgorithmIdentifier,
fissuerfName,
fvalidityfValidity,
fsubjectfName,
fsubjectPublicKeyInfofSubjectPublicKeyInfo,
fissuerUniqueID[1]IMPLICITUniqueIdentifierOPTIONAL
fsubjectUniqueID[2]IMPLICITUniqueIdentifierOPTIONAL
fextensions[3]EXPLICITEctensionsOPTIONAL
issuerUniqueID为签发者唯一标识,subjectUniqueID为主体唯一标识。
版本号、序列号用整数方式给出。
签发者与证书序列号配合,唯一标识一张数字证书。
fVersion:
=INTEGER{v1(0),v2
(1),v3
(2)}
fCertificateSerialNumber:
=INTEGER
签发者和主体
fName:
=CHOICE{
fRDNSequence
fRDNSequence:
=SEQUENCEOFfRelativeDistinguishedName
fRelativeDistinguishedName:
=SETOFAttributeTypeAndValue
fAttributeTypeAndValue:
ftypeAttributeType
fvalueAttributeValue
证书的有效期
fValidity:
fnotBeforefTime,
fnotAfterfTime
fTime:
futcTimeUTCTime,
fgeneralTimeGeneralizedTime
主体公钥信息
fSubjectPublicKeyInfo:
falgorithmfAlgorithmIdentifier,
fsubjectPublicKeyBITSTRING
签发者和主体唯一标识符
=BITSTRING
下面是本系统证书属性的图片(图2-2、图2-3)
图2-2证书格式
(1)
图2-3证书格式
(2)
3关于身份管理与数字证书同步系统的设计分析
3.1系统用例图
图3-1系统用例图
3.2RA证书审核模型
RA的证书审核包括了申请人信息的录入以及身份的核实,这是认为参与最多的一个过程,并且从录入到审核这个时间是没有办法估量。
此外RA系统对于用户资料和维护等作用,下图主要说明一下RA参数证书制作过程中的作用,即用户信息的注册申请以及用户身份的审核。
RA服务是可以录入产生系统证书的申请信息且产出证书的申请文件的一项比较面向用户的服务。
管理员A录入证书的申请信息,然后经过核实申请人身份后,如果申请人符合证书申请的条件则审核通过,否则审核不通过;
未通过审核的申请人依然处于待审核状态,如果审核通过后将允许制作证书,RA将申请信息发送给CA进行制证,CA将制作好的证书以及其他相关信息发送给RA;
最后RA将反馈证书的制作情况(成功或者失败),显示成功即证明已经把证书制作好并且将证书保存在了对应的Key里。
3.3CA数字证书颁发模型
在RA审核完申请人的身份后会向CA发送请求,那么CA是如何处理这些请求的呢?
如图3-2
在申请人通过RA的审核后,RA准备证书的申请信息,RA根据证书的申请信息构造XML文件,XML文件还要包括证书的类型,其中签名证书(包括双证证书)的申请信息内包括PXCS10信息。
然后RA用自己的加密卡将XML申请信息加密后,
将申请文件通过安全通道发送给CA,下面CA系统才真正的开始工作。
CA系统开始解析包含申请信息的XML文件,解析完成后,把申请信息保存到数据库中;
然后判断申请信息中是否有加密信息。
如果有则证明申请者需要的证书为是加密证书或者双证,CA构造密钥申请信息,并且将密钥申请信息通过安全通道传送到KMC中,KMC接收到申请后对信息进行处理,获得密钥对后构造返回信息,然后完成对返回信息的加密,最后将信息通过安全通道发送会CA中,CA对返回信息进行解析,并且根据返回信息中的密钥重构申请信息,然后CA对证书进行签名,即制作证书;
如果为签名证书则不用向KMC中发送密钥申请,直接制作证书;
最后将证书通过安全通道发送给RA,然后RA对证书进行管理和颁发。
图3-3为CA数字证书颁发模型
图3-2RA证书审核模型
3.4KMC密钥生成模型
对与KMC,与其说是密钥生成,不如说是密钥管理,其主要的功能便是管理密钥,下面介绍一下KMC的工作过程(如图3-4)。
图3-3CA数字证书颁发模型
当RA申请信息有加密信息时,CA解析发现后就会向KMC发送信息以申请密钥,然后通过网络安全通道进行送申请密钥的信息,KMC获得并解析完申请信息后,访问数据库(KMC中的加密卡事先生成的密钥对存储在数据库中),获得密钥对,然后用密钥对和获得的申请信息重构返回信息,KMC将返回信息通过网络安全通道发送给CA,交给CA进行处理。
图3-4KMC密钥生成模型
3.5接口说明
3.5.1证书申请接口-applyCert
本接口提供从PKI注册服务中申请证书(自动审核)。
1)访问方式
http:
//[WebServiceIP]/RAServiceProject/ws/applyCert
2)参数说明
commonName=[用户名]
domainName=[域名]
usbKeyProvider=[usbkey驱动名]
3)返回结果
说明如表3-1
表3-1证书申请接口参数说明
参数
说明
Root根节点
Resultroot子节点返回标志,ture表示成功,false表示失败
Inforoot子节点,返回的提示信息,例如返回错误时的提示信息
Certroot子节点,证书申请对象
certApplicationIdcert子节点,证书申请对象编号,具有唯一性
rsaEncrycert子节点,key中的容器名
3.5.2证书制作接口-writeCertToKey
本接口提供证书的制作服务。
//[WebServiceIP]/RAServiceProject/ws/writeCertToKey
certApplicationId=[证书申请对象编号]
说明如表3-2
表3-2证书制作接口参数说明
root
根节点
result
root子节点,返回结果标识,true表示成功,false表示失败
info
root子节点,返回的提示信息,例如返回错误时的提示信息
cert
root子节点,证书对象
certApplicationId
cert子节点,证书申请对象编号,具有唯一性
p12CertPassword
cert子节点,证书密码
p12EncryCert
cert子节点,证书信息
rsaEncry
cert子节点,key中的容器名
serialNumber
cert子节点,证书序列号,具有唯一性
usbKeyProvider
cert子节点,usbkey驱动名
3.5.3自动申请并制作证书接口-autoApplyAndWriteKey
本接口提供自动申请并制作证书的综合接口。
//[WebServiceIP]/RAServiceProject/ws/autoApplyAndWriteKey
表3-3自动申请并制作接口参数说明
cert子节点,证书申请