CA证书、签名、摘要

CA介绍

  • CA本身是受信任的
  • CA给它受信任的申请对象颁发证书
  • CA证书的工作流
    image-20201019204244275
  • server在申请证书时,需要提交server的公钥、域名、申请者等信息发送给CA
  • 签名算法:首先使用Hash算法计算公开明文信息的摘要,然后使用CA的私钥对信息摘要进行加密,密文即签名
  • 摘要:使用Hash算法对明文信息加密的密文就是摘要
  • 证书:用于验证服务器或客户端的身份信息,服务器证书的部分内容由上图可知
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
证书服务器的设计与实现 刘建航 (东南大学计算机科学与工程系,南京 210096) 【摘要】非对称密码体制的广泛使用迫切需要提供可靠的公钥获取途径,为此 PKI 建立了一个公开密钥的管理框架,向网络中需要使用公钥机制的应用提供公 钥管理服务。作为 PKI 的核心组件,CA 实现了大部分的 PKI 操作。本文描述了 华东北地区网络中心设计并实现的证书服务器的功能框架, 简单介绍了该服务器 在两个项目中的具体应用。 【关键词】X.509 证书 CA 非对称密码体制 一. 背景介绍 1976 年 Diffie 和 Hellman 在《密码学的新方向》一文中提出了公开密钥的思想.由于 大大简化了对称性密码体制繁重的密钥管理任务,非对称密码体制,如离散对数,RSA 等得 到了广泛的应用。 对公开密钥体制而言, 如何安全地获得通信对方的公钥是系统安全性的前 提。1978 年 Loren Kohnfelder 提出了证书的概念,使用由第三方签名证书作为可靠传递 公钥的方法,以解决集中存储公钥带来的性能瓶颈。作为 X.500 目录服务的一部分,X.509 证书将一个 X.500 节点名 DN(Distributed Name)和一个公钥绑定起来用于控制对目录的访 问操作。虽然 X.500 的全局目录并未真正建立起来,但 X.509 却得到了一定的发展。IETF 的 PKIX 工作组致力于建立一个全局的公开密钥管理框架(PKI) ,使用 X。509V3 证书证书 撤消列表 CRL V2,向网络中需要使用公钥机制的应用程序提供公开密钥管理服务。 当要在 Intranet 环境中 (如校园网) 建立 PKI 时, 有两种选择, 一是依赖外部 CA 公司, 如 Verisign,GTE 等提供的证书服务;二是建立自己的 CA。在华东北地区网络中心承担的两 个九五攻关课题---"基于内部网的网络管理系统"和"网络安全监察系统"中都需要使用 公钥机制保护浏览器与 Web 间的交互信息,考虑到安全因素及系统自身的独立性,我们不 能使用外部 CA 服务;我们还考察了国外的商业化产品,如 Netscape,Microsoft 等公司的证 书服务器,发现这些产品除价格昂贵外,系统开销非常大,不适合我们的要求。考虑到 CA 作为网络安全基础设施的重要性,我们设计并开发了该证书服务器,实现了 PKI 框架中的 CA 功能。 二.证书服务器的系统功能 作为两个九五公共项目――"基于内部网的网络管理系统"和"网络安全监察系统"的 一部分,该证书服务器的设计目标是在中小规模的网络(如校园网)环境中建立一个公钥管 理平台,使各项应用程序能够使用公钥机制保护重要的数据传送。 作为 PKI 框架的核心部分,作为 CA证书服务器应具有以下基本功能: 1. 接收用户(个人浏览器,Web 服务器等)的证书请求,管理请求队列; 2. 管理员可对证书请求进行查询,批准,驳回等操作; 3. 管理员可查询证书库,对其中的证书进行查询,校验等操作; 4. 用户可从服务器下载自己及 CA证书,可查询他人证书的状态。 证书服务器仅限于向各应用程序提供公开密钥的管理服务,使用公钥的各项操作如签 名, 协商会话密钥等都需要由应用程序自己完成的, 因此证书服务器的用户是那些实现 了公钥处理模块的应用,如浏览器,商业 Web 服务器,目录服务器等。为保证能和上 述应用程序协同工作,证书服务器必须支持开放性的标准: 1. 支持 X.509 V3 证书,可根据需要添加用户扩展; 2. 支持 RSA 及 PKCS 系列标准; 3. 支持 HTML,HTTP,SSL,S/MIME,LDAP 等应用协议。 三.证书服务器的系统结构 按功能上分,本服务器可分为输入/出模块,核心处理模块,策略库,请求队列,证书 库等几部分,具体框架见下图: 1. 输入/出模块 输入/出模块的主要作用是理解证书请求用户所使用的传输协议, 将各种操作请求传给 核心处理模块。PKI 框架并未指定具体的传输协议,故可以使用 http,ftp,smtp 等。考虑到浏 览器已成为最广泛使用的客户端软件,我们选择 http 作为用户与证书服务器之间交互的传 输协议。用户通过浏览器访问证书服务器,提交证书请求(图中 ),下载自己及 CA证书 (图中 ) 。 为保证证书请求(PKCS10)和验证信息的完整性和隐蔽性, 输入/出模块使用 http on ssl,通过 SSL 协议提供的安全通道透明地保护 http 协议报文。 由于管理员同样使用浏览器进行各项操作,输入/出模块必须能够确认操作发起者的真 实身份, 为此我们引入了鉴别子模块。 系统初始建立时将产生一管理员证书并下载至指定的 机器上。当管理员进入系统时(图中 ),输入/出模块使
GMT 0009-2012 SM2 密码算法使用规范,详细描述SM2算法使用规范 GM/T0010-2012 目次 前言 1范围…… 2规范性引用文件…………… 3术语和定义 ·· 4符号和缩略语… 5OID定义… 6基入类型定义…………………… 6.1 Certilicate revocationlists 6.2 Content Encryption AlgorithmIdentifier………………………………………… 6.3 Digest algorithmldentifie 6.4 Digest Encryption algorithmIdentifier…………………… 6.5 Extended certificate OrCertificate 6,6 Extended certificatesAnd certificates……………………… 6,7 Issuer AndserialNumber……………… 6.8 KeyEncryptionAlgorithmldentilier 6,9 Version………………………………………………………………………………… 6.10 Contentinfo 7数据类型data 8签名数据类型 signedData…………… 8.1 signedData类型 8.2 SignerInfo类型…… 9数字信封数据类型 envelopeddata… 9.1 envelopedData类型 9,2 RecipientInfo类型……… 10签名及数字信封数据类型 signed And EnvelopedData……… 11加密数据类型 encryptedData 12密钥协商类型 key AgreementInfo 附录A(规范性附录)SM2密钥格式 A.1椭圆曲线参数语法… A.2公钥语法 A.3私钥语法 参考文献…………………………… GM/T0010-2012 前言 本标准按照GB/T1.12009的规则编写 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任 本标准由国家密码管理局提出并归口 本标准中的附录A为规范性附录。 木标准起草单位:上海格尔软件股份有限公司、北京海泰方圆科技有限公司、北京数字认证股份有 限公司、无锡江南信息安全工程技术中心、成都卫士通信息产业股份有限公司、上海巾数字证书认证中 心有限公司、兴唐通信科技有限公司、上海颐东网络信息有限公司、山东得安信息技术有限公司、国家信 息安全工程技术研究中心。 本标准起草人:刘平、谭武征、柳増寿、李述胜、徐强、李元正、刘承、王妮娜、夏东山、蒋红宇、孔凡玉 袁峰。 本标准涉及的密码算法按照国家密码管理部门的要求使用 Ⅱ GM/T0010—2012 SM2密码算法加密签名消息语法规范 1范 本规范定义了使用SM2密码算法的加密签名消息语法。 本规范适用于使用SM2密码算法进行加密和签名操作时对操作结果的标准化封装。 2规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仪注日期的版本适用于本文 件,凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GM/T0006密码应用标识规范 GM/ T AAAA SV2密码算法使用规范 PKCS #5 Extended-Certificate Syntax 3术语和定义 下列术语适用于本规范。 算法标识 algorithm identifier 用于标明算法机制的数字化信息 SM2算法SM2 algorithM 一种椭圆曲线密杩算法,密钥长度为256比特。 4符号和缩略语 下列缩略语适用于本规范 ECC 椭圆曲线密码算法( Elliptic Curve cryptography) 用户标识( Identity) OID 对象标识符( Object Identity) 5OID定义 本规范对6个对象data, signeddata, envelopedData, signedAnd Data, encryptedData和 key AgreementInfo的标识符进行了定义,详见表1 GM/T0010-2012 表1对象标识符 对象标识符OID 对象标识符定义 1.2,156.10197.6.1.4.2 SM2密码算法加密签名消息语法规范 1.2.156.10197.6.1.4.2.1 数据类型data 1.2.156.10197.6.1.4.2.2 签名数据类型 signedData 1.2,156,10197.6.1.4.2,3 数字信封数据类型 enveloped Data 签名及数字信封数据类型 1.2.156.1C197.6.1.4.2.4 signedAndEnvelopedData 1.2,156,10197.6.1.4.2.5 加密数据类型 encryptedData 1.2,156,10197.6.1.4.2,6 密钥协商类型 key AgreementInfo 6基本类型定义 6.1 Certificate Revocation lists Certificaterevocationlists类型标明一个证书撤销列表的集合。 Certificatereyocationlists;:= SET OF Certificaterevocation list 6. 2 ContentEncryptionAlgorithmldentificr Content Encryptionalgorithmldentifier类型标明一个数据加密算法。其OI见GM/T0006 Content Encryption AlgorithmIdentifier :: AlgorithmIdentifier 6.3 DigestAlgorithm ldentifier DigestAlgorithmIdentifier类型标明一个消息摘要算法,夲规范为SM3算法,其OID见GM/ T0006。 DigestAlgorithmIdentifier : AlgorithmIdentifier 6. 4 DigestEncryptionAlgorithmIdentifier Digest Encryption algorithmIdentifier类型标明一个签名算法,本规范为SM2密码算法,其OI见 GM/T OOO Digest EncryptionAlgorithmIdentifier AlgorithmIdentifier 6.5 ExtendedcertificateorCertificate ExtendedcertificateOrCertificate类型指定一个PKCS#6扩展证书或者一个X.509证书。这一类 型见PKCS=6第6节推荐的语法 ExtendedCertificate OrCertificate ::=CHOICE I certificate Certificate.--.509 extendedCertificate [o IMPLICIT Extended Certificate GM/T0010—2012 6.6 ExtendedCertificates And Certificates ExtendedcertificatesAndcertificates类型指定一个扩展证书和X.509证书的集合。它表示集合足 以包含从可识别的“根”或“顶级CA”到所有签名者的证书链。 ExtendedcertificatesandCertificates : SET OF Extendedcertificate orcertificate 6. Issuer AndSeriaINumber Issuer And SerialNumber类型标明一个证书颁发者可识别名和颁发者确定的证书序列号,可据此 确定一份证书和与此证书对应的实体及公钥。 IssuerAndSerialNumber SEQUENCE issuer name serialNumber certificate SerialNumber 6.8 Kcy EncryptionAlgorithmldentificr KeyEncryptionAlgorithmIdentifier类型标明加密对称密钥的加密算法。 Key encryptionalgorith mldentilier :: Algorithmlden 6.9ⅴ ersion Version类型标明语法版本号。 Version :: INTEGER(1 6. 10 ContentInfo ContentInfo类型标眀内容交换通用语法结构,内容交换的通用语法结构定义如下」 ContentInfo :: SEQUENCE contentType Content type contentO] EXPLICIT ANY DEFINED BY content Type OPTIONAL ContentType OBJECT IDEN TⅠFIER 其中 ContentType内容类型是一个对象标识符,其定义见本规范第5章。 content内容,可选。 7数据类型data data数据类型结构定义如下: Data .. OCTET STRING Data数据类型表示任意的字节串,比如ASCI文本文件。 GM/T0010—2012 8签名数据类型 signed Data 8.1 signed Data类型 signeddata数据类型由任意类型的数据和至少一个签名者的签名值组成。任意类型的数据能够同 时被任意数量的签名签名。 signeddata数据类型结构定义如下 SignedData ::= SEQUENCE versionⅤ ersion, digest algorithms digest algorithmIc entities. contentInfo sm2signature certificates o IMPLICIT ExtendedCertificates And Certificates OPTIONAL crls[ 1] IMPLICIT Certificate Revocation Lists OPTIONAI Signerinlos Signerinlos Digestalgorithm Identifiers : SET OF Digest AlgorithmIdentifier SignerInfos::= SET OF SignerInfo 结构中各项含义见表2 表2 signedData数据类型 字段名称 数据类型 含义 version (1) V ersion 语法的版木号 digestAlgorithms DigestAlgorithmIdentifiers 消息摘要算法标识符的集合 contention SM2Signaturc 被名的数据内谷,数据类型见GM/ T AAAA ExtendedCertificatesAndcertif certifica PKCS#6扩展证书和X.509证书的集合 Icates CrIs Certificate Revocation lists 证书撤销列表的集合 signIngs SignerInfos 每个签名者信息的集合 8.2 Signerlnfo类型 gnerInfo类型结构定义如下: SignerInfo :: SEQUENCE version version issuer And SerialNumber IssuerAndSerial Number digest Algorithm DigestAlgorithmldentifier authenticated AttributesLO] IMPLICIT Attributes OPTIONAL digest Encryption Algorithm Digest EncryptionAlgorithmIdentifier
SHA-256是一种使用256位长度的安全哈希算法,用于生成数字签名。对于证书的下载,SHA-256签名算法起到了关键的作用。 证书下载是指获取安全加密通信中所需的数字证书。在传输证书的过程中,为了确保证书的完整性和真实性,采用了数字签名机制。而SHA-256算法是目前被广泛使用的一种数字签名算法。 证书机构(CA)使用SHA-256算法对数字证书进行签名,保证证书的完整性。数字签名是通过将证书的散列值用CA的私钥进行加密生成的,只有持有相应CA的公钥才能解密、验证签名的有效性。 当用户需要下载证书时,首先访问相关网站或CA机构的官方网站。在网站上,用户需要填写一些个人或组织信息,包括证书类型、有效期限等。之后,用户的信息将会被发送至CA机构。 CA机构接收用户的请求后,会使用SHA-256算法对用户的信息进行散列运算得到摘要,并将此摘要CA的私钥进行加密生成数字签名。然后,CA将生成的数字签名和用户请求的证书一起返回给用户。 用户收到CA返回的数字签名证书后,可以使用CA的公钥对数字签名进行解密,以验证数字签名的有效性。如果解密后的摘要与用户的请求信息的摘要一致,则证明该证书是来自CA机构并且未被篡改的。 最后,用户可以使用得到的证书进行安全通信,通过证书验证双方的身份和数据的完整性。SHA-256的签名算法保证了证书的安全性,同时也提供了一种安全的方式用于数字证书下载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值