首页 理论教育 数字证书的作用及应用举例

数字证书的作用及应用举例

时间:2023-06-07 理论教育 版权反馈
【摘要】:机密性或隐私性保证信息不被非法获得。网上银行涉及的数字证书,都是以密码技术为基础的。数字证书保证了加密过程是一个不可逆的过程,即只有用私钥才能解密。如果把公钥和私钥反过来使用,用私钥加密而用公钥解密,就是数字签名的基础,并据此进行身份认证,保证数据的完整性和不可否认性。数字签名有两个步骤。

数字证书的作用及应用举例

一名记者关于网上银行安全性问题对某信息安全工程技术中心主任进行了采访。

记者:春节期间,我开通了多家银行的网上银行业务,除了中国银行的网上银行业务没有提供数字证书外,工商银行、招商银行、农业银行、北京银行等都在自己的网上银行业务中提供了数字证书服务,银行的工作人员向我表示,数字证书是保护用户网上银行账户安全的最有效手段。究竟什么是数字证书呢?

主任:经常有人问我数字证书是什么?数字证书有什么作用?数字证书应该怎么用?要回答这些问题,首先要从最基本的密码技术说起。

密码技术可以为网上银行业务中发生和传递的各种信息,在其产生、交换、使用和存储等过程中提供4种安全保证:第一是机密性。机密性或隐私性保证信息不被非法获得。第二是完整性。数据完整性保证信息不被无意或有意改动。第三是真实性。真实性保证信息的发送方和接收方的身份得到唯一性确认,这样信息的发送和接收双方就都知道信息的来源和去处。第四是不可否认性。不可否认性提供对数据完整性和来源的第三方验证,不可否认性服务可以在发生诉讼时提供重要的法律证据。

密码技术是实现网络安全保证的核心技术,密码技术的核心是密码算法和密码算法的具体应用。网上银行涉及的数字证书,都是以密码技术为基础的。

有人把数字证书俗称为“网络身份证”,它是以密码技术为核心,集政策法规、安全管理于一体,用于在Internet信息世界中标志用户身份的电子身份凭证和电子签名载体。数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密和解密。每个用户拥有仅为本人所掌握的私有密钥(私钥),并用其进行解密和签名。同时,拥有与私钥相对应的公共密钥(公钥),用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,接收方则使用自己的私钥解密。这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有接受方独有的私钥,也无法进行解密。数字证书保证了加密过程是一个不可逆的过程,即只有用私钥才能解密。

记者:网上银行业务由于用户和银行之间并不见面,需要通过网络传递数据来完成账户的登录、确认以及业务办理等过程,在这些过程中必然涉及对机密性、完整性、真实性以及不可否认性的要求。基于公钥密码体系,数字证书是利用哪些技术来实现这4种安全保证的呢?

主任:在实际操作中,可以采用对称密码算法对数据加密,解决信息的机密性问题;采用哈希算法计算数据摘要,解决数据的完整性问题;采用公钥密码算法生成数字信封,解决对称密码算法密钥的保护和传递问题;采用公钥密码算法生成数字签名和验证签名,解决信息的真实性和不可抵赖性问题。

记者:对称密码算法、公钥密码算法,这些概念对于大众来说可能都不是很清楚,它们之间有什么不同?

主任:对称密钥加密的特点是加密和解密使用相同的密钥,它要求发送者和接收者在安全通信之前先商定一个密钥,经过加密的信息可以通过非安全的媒介,自由地从一个地方发送到另一个地方。用对称密钥加密技术构成的密码系统的安全性依赖于密钥保密,泄露密钥意味着加密所带来的安全性不复存在,只要消息需要加密保护,密钥就必须保密。

对称密钥加密技术的最大局限性在于必须设计出一些方法来安全地分发和管理作为系统核心的密钥,通常称为密钥管理。当涉及很多个当事方时,会导致巨大的幕后工作量和时间延误。为了将密钥泄露导致的损失降至最低,必须经常变更密钥,这会增加幕后工作的复杂性。

公开密钥加密也称非对称密钥加密,它的特点是加密和解密使用不同的密钥,这两把密钥在数学上是相关的,加密密钥可以公开,称为公钥;解密密钥必须保密,称为私钥。公开密钥算法的安全性是基于知道公钥并且不能通过计算推导出私钥这个前提的。

公钥是公开的,任何人都可以使用接收者的公钥加密消息并发给接收者;而私钥是保密的,只有接收者自己才可以解密消息。假设用户B已经生成了自己的公/私密钥,希望其他人或计算机能发送加密信息给他。那么他就可以将公钥放到一个在线数据库中,并将其捆绑到自己的身份上,使人们很容易找到他的公钥。想要发送加密信息给用户B的人就要检索出他的公钥,并利用他的公钥将信息加密发给他。而用户B是唯一能够阅读该信息的人,因为只有他能用自己的私钥解密。当然,用户B必须妥善保管他的私钥,否则别人也能够解密他的信息。比如,用户A想要使用用户B的公钥将信息加密发送给用户B,用户A就要从在线公钥数据库中找到用户B的公钥,而用户B可以使用自己唯一的私钥来进行解密。这种方法保证了信息的机密性,因为用户A知道只有用户B才可以解密并阅读这份信息。

公开密钥算法在计算上的复杂性,使得它的加密和解密效率大大低于对称密钥算法,公钥加密技术不用来加密大的文件。联合使用对称密钥加密技术和公开密钥加密技术进行加密保护会更为有效和快捷。例如,用户A生成一个一次性的对称密钥并用它对文件进行加密,然后使用用户B的公钥对一次性的对称密钥加密,将经过加密的对称密钥和文件发送给用户B;用户B利用自己的私钥解密对称密钥,然后用对称密钥解密文件,这种方式被称为数字信封。

如果把公钥和私钥反过来使用,用私钥加密而用公钥解密,就是数字签名的基础,并据此进行身份认证,保证数据的完整性和不可否认性。例如,如果用户B想对一份电子文件进行数字签名,他可以用其私钥对其进行加密。因为他的公钥是公开的,所以任何知道他的公钥的人都可以解密文件,而私钥只有用户B自己有,这就构成了用户B数字签名的基础。如果用户A使用用户B的公钥成功解密了文件,他就知道这份信息来自用户B,也就达到了用户B对自己的文件进行签名的目的。

数字签名有两个步骤。公钥加密技术不用来加密大的文件,必须采取措施减少加密的数据量。方法是采用单向哈希函数把将要发送的消息生成固定长度的数据段(这个数据段是不可读的,称为消息摘要或消息指纹,不同的消息生成的消息摘要也是不同的,任意长度的消息生成的消息摘要长度总是相同的),然后再使用用户B的私钥将消息摘要加密生成数字签名。用户A可以使用相同的哈希算法计算出文件的消息摘要,并使用用户B的公钥解密收到的消息摘要。

如果消息摘要相互匹配,用户A就可以有3种安全保证:第一,用户B真的在文件上签了名(身份认证);第二,数字签名保证了用户B真的发送了信息(不可否认性);第三,如果信息有了任何改动,消息摘要就会不匹配,用户A就可以知道没有人在用户B签名之后对文件进行任何改动(数据完整性)。

公开密钥加密技术的使用克服了对称密钥加密技术的局限性,与对称密钥加密技术联合使用可以完整地提供机密性、完整性、真实性和不可否认性的安全保证,并且很好地克服了密钥管理的复杂性。用公开密钥加密技术构成的密码系统的安全性依赖于私钥的保密,泄露私钥意味着加密所带来的安全性和签名所带来的不可否认性不复存在,私钥必须保密。

记者:有了上述密码技术的支撑,数字证书的安全性就得到保障了吗?

主任:可以这样理解。公钥密码技术让公钥公开、私钥保密,解决了密码系统中密钥分发的复杂性和安全性问题,使密码技术得以在保障计算机信息系统安全中广泛应用,并将安全问题最终归结为如何证明和保证公钥的真实性和有效性的问题。

在网上银行业务的实际应用中,还有两个问题必须要解决:一是如何确定一个用户的公钥确实属于这个用户,并保证用户与其公钥之间的联系真实有效;二是如何保证用户的私钥在被破坏、丢失时或者在有关机构需要取证时能够解密数据。

第一个问题的解决方法是建立一个大家都能信任的权威机构,由这个权威机构用自己的签名密钥对用户的名称、用户的公钥和其他一些识别信息进行数字签名,形成一个将用户与其公钥联系起来的电子信任状,这个电子信任状就称为数字证书,而这个权威机构被称为CA(Certificate Authority)。由CA签发的数字证书储存在一个目录或其他数据库中,用户可以像查电话簿一样查找别人的证书,证书中CA的签名保证证书中的公钥确实属于持有该证书的人。可以说,将用户身份与其公钥联系起来的捆绑过程是一个非常关键的步骤。

第二个问题的解决方法是使用两套密钥分别用于加密和数字签名,签名密钥用于解决真实性和非否认性的问题,加密密钥用于解决数据机密性的问题。加密密钥的私钥就可以备份在安全的地方,以便需要时可以恢复。而备份加密私钥的地方称为密钥管理中心KMC(Key Management Center),通常加密密钥由它产生,其公钥也由CA签发为数字证书。数字证书的安全性和可靠性都可以得到保证。

记者:在实际应用中,数字证书该如何管理和应用?

主任:用户的签名私钥自己产生并保存,其公钥由CA签发为签名证书。签名私钥不可以备份,以免破坏其不可否认性。如果用户丢失或损坏了自己的签名私钥,可以生成一套新的签名密钥,用新的签名私钥签名的文件必须用新的公钥验证,以前签名的文件则可以通过原来的公钥验证。

用户的加密私钥由KMC产生,其公钥由CA签发为加密证书。加密私钥通过安全的手段发给用户的同时也备份在KMC0KMC按照密钥的有效期管理密钥,密钥超过有效期,用户可以再申请一个新的密钥。在用户方,超过有效期的密钥不能再使用;在KMC方,超过有效期的密钥不能删除,只能将其归入历史密钥档案,用户或有关机构可以申请恢复这个密钥,用这个密钥来解密在有效期内加密过的文件。

CA按照一整套安全和管理策略,管理数字证书的生成、签发、更新、撤销和中止。同时,CA和KMC也组成了数字证书的认证系统。

在应用系统中,签名方使用自己的签名私钥对信息或证据签名,验证方使用该用户的签名证书来验证签名。证书与用户的身份绑定,验证证书可以验证用户的身份,从而实现完整性、真实性和不可否认性的安全保证。发送方使用接收方的加密证书来保护会话密钥,用会话密钥加密信息,接收方用自己的私钥解密会话密钥,再用会话密钥解密信息,从而实现机密性的保证。

在网上银行这样封闭的系统中,不具备第三方性质的认证系统,可以不按照第三方机构的要求来建设和管理。但是,无论怎样,将用户与其公钥联系起来的捆绑过程是任何公共密钥体系中的关键步骤。

记者:如果网上银行数字证书应用了上述这些技术,应该是很安全的。但是,近一段时间以来,出现了多起网上银行安全事件,对此您有什么样的看法?

主任:首先可以明确的是,公共密钥体系是安全的技术体系。密码技术是保证安全的核心技术,但却不是保证安全的全部内容,其他安全措施也要跟上。用户在网上银行等网上操作中,特别要防止私钥的泄露,这是最核心的安全要求。对于提供网上银行业务的金融机构而言,要严格按照密码规范建设和运行,任何环节都不能疏漏,这是对开发商和运营商的强制要求。用户在使用数字证书的过程中,应该选择有资质的电子认证服务商提供的服务,使用有资质的产品供应商的产品,保管好自己的证书载体和口令,尤其要做好计算机防木马病毒的工作,这是对用户的基本要求。

①通过记者的采访记录,你知道用什么办法可以在Internet上安全地分发对称加密密钥?这种技术称为什么?

②数字签名的技术基础是什么?请描述数字签名的执行过程,数字签名起到了哪些作用?

③数字证书起什么作用?它是由什么机构颁发的?数字证书与数字签名有什么关系?

④在“控制面板”中双击“Internet选项”,然后选择“内容”标签,再点击“对话页面中的证书”按钮,查看系统中已安装的证书,选择其中一个查看该证书的详细内容并记录下来。

【学路领航】

传统商务活动中涉及的合同、协议以及各种凭据通过责任人签字的方式来确认相关商务文件的有效性、完整性,通过营业执照、身份证等法定物件审验确认交易对象的身份。不论是纸质文件上的手写签名或印章,还是营业执照、身份证等物件都具有法律效力,可以保护交易各方的利益。而在电子商务环境下,所有商务文件都是数字化的文件,如何维护数字化商务文件的完整性、真实性和不可否认性,如何验证交易各方的身份都是至关重要的问题。数字签名和数字证书则是为解决这类问题而产生的密码应用技术。

1.数字签名

数字签名是信息发送者通过签名算法产生的附加到要传输报文上的一段不可伪造的特殊报文,这段特殊报文就是数字签名。数字签名与手工签名一样具有法律效力,起到认证、核准和生效的作用。数字签名提供了验证信息来源真实性、完整性和发送方不可否认性的服务。(www.zuozong.com)

数字签名算法涉及非对称加密算法RSA、对称加密算法DES和单向哈希算法MD5或SHA-1。数字签名这段特殊报文实际上是发送方用自己私钥加密的消息摘要。消息摘要是用单向哈希函数用要发送的消息生成的,不论发送消息的长短是多少,生成的消息摘要的长度均是固定长度。MD5生成的消息摘要长度为128位,SHA-1生成160位的消息摘要。单向哈希函数对不同的报文生成不同的消息摘要,相同的报文生成的摘要一定相同。由消息生成消息摘要容易实现,但通过消息摘要却不能反推出原始消息,这保证了不能伪造与原消息摘要完全相同的摘要。

消费者要发送有自己签名的订单给商家,消费者用与商家协商一致的单向哈希函数对订单报文计算得到订单的消息摘要,并用自己的私钥加密该消息摘要得到数字签名报文,然后把数字签名报文与原订单报文合并在一起传送给商家。商家收到附有消费者数字签名的订单报文后,用消费者的公钥解密数字签名还原消费者生成的消息摘要,再用与消费者所用相同的单向哈希函数对收到的订单报文计算出新的消息摘要,并与从数字签名解密出的消息摘要比较,如果两者相同,说明订单数据在传送的过程中没有被篡改,保持了信息的完整性。可以用消费者的公钥解密数字签名,这说明订单确实由消费者本人发出,验证了订单的真实性且消费者不可否认提交了该订单(见图3-3)。

2.数字证书

使用非对称加密技术实现的数字签名技术,可以保证电子商务交易活动的顺利开展,但首先必须保证密钥的真实性,并来自宣称的交易主体。如果用户的私/公钥对可以由用户自己生成,这样的私/公钥对是不能区分用户身份的合法性和真实性的,用户也可以完全否认其拥有某个数字命名用的私钥。要实现安全电子商务,用户的私/公钥对必须是交易双方之外的权威、公正、可信的第三方机构生成,这个第三方机构被称为认证中心(Certificate Author,CA),它可以为交易各方的身份担保。

图3-3 私钥加密与公钥加密

认证中心接受用户的申请,然后生成、发放和管理用户的数字证书。数字证书中包含有用户的公钥和标志其身份的相关信息并经认证中心数字签名,是用户在网络上开展各项活动的“身份证”。

(1)X.509证书格式

X.509是国际电信联盟提出的在Internet上广泛使用的证书标准,它规定了数字证书的结构和内容。X.509证书格式如图3-4所示。

图3-4 X.509证书格式

①版本号:该域定义了证书的版本号,不同版本证书包含的信息的类型和格式有所不同。

②证书序列号:是由认证中心分配给证书的唯一编号,用于区分同一个认证中心颁发的证书。当证书被撤销时,要将证书的序列号放入由CA签发的证书撤销列表CRL中。

③签名算法标志:指定认证中心签发证书时所使用的签名算法。

④颁发者名称:颁发该证书的机构名称。

⑤证书有效期:有起始日期和截止日期标志的证书有效期。

⑥证书主体名称:该证书所有者的名称。

⑦公钥信息:主体的公开密钥以及该密钥用于何种密码算法的算法标志符。

⑧颁发者唯一标志符:可选项,当颁发者名称重名时,唯一标志认证中心。

⑨主体唯一标志符:可选项,当主体名称相同时,唯一标志证书的所有者。

⑩扩展域:X.509v3才有的域,用于携带主体的特定信息。

CA数字签名:颁发证书的认证中心对证书的数字签名。

(2)认证中心CA

认证中心是公钥基础设施(Public Key Infrastructure,PKI)的核心组件。PKI是以非对称加密理论和技术为基础,为Internet应用提供数据加密和数字签名等安全服务的基础设施。PKI采用数字证书管理公钥,通过认证中心把用户的公钥和用户的身份标志信息绑定在一起,解决了网络中通信主体之间彼此身份验证的问题。

PKI系统由权威认证中心CA、注册机构(Registry Authority,RA)、数字证书库、密钥备份及恢复系统、证书撤销系统等组件构成。其中,CA是PKI的核心组件,负责签发、查询、更新、备份、撤销和归档证书等工作;RA是CA的注册机构,它负责证书申请者的信息审核、录入以及证书分发等工作;证书库保存用户数字证书的副本,并通过目录服务向证书使用者提供查询服务;密钥备份及恢复系统为用户提供私钥备份和恢复机制,以帮助用户解密合法的数据;证书撤销系统把作废或失效的证书发布到证书撤销列表(Certificate Revocation List,CRL),CRL中列出的证书不可再用于加密数据和验证签名。

一个完善的CA认证系统由若干CA中心构成,形成树型层次结构,最顶层称为根CA,下联为子CA,子CA可联下一级CA,子CA的证书由其父CA颁发,根CA的证书由自己颁发。终端用户的证书由CA树的最后一级CA颁发,如图3-5所示。

图3-5 CA认证系统的结构

【眼下留神】

•在非对称加密技术中,密钥分发最大的问题是保证公钥的完整性和所有权认证。公钥基础设施PKI使用数字证书来分发公钥,能保证公钥的完整性,同时也对公钥的所有权进行了权威认证。

•PKI是电子商务安全技术的事实标准,认证中心则是PKI的核心组件,它对主体的公钥进行公证,其签名用来保证此公钥的确属于用户信息中所指定的用户。认证中心是电子商务重要的基础设施。

•非对称加密系统中的密钥对可以是用户自己生成或向认证中心申请产生,无论是哪种方式,都由用户负责保管私钥,公钥和用户合法身份证明提交认证中心审核通过后颁发数字证书。

•数字证书也称为公钥证书,由权威、公正、可信的认证中心签发,把用户的身份标志信息与用户持有的私钥对应的公钥绑定在一起,作为用户参与网络活动的身份证。

•数字证书不仅可以颁发给个人,还可以颁发给企业和软件。企业证书主要用于对企业网站服务器的认证,软件证书用于保证软件来源的可信性,如安装驱动程序到Windows系统时,系统推荐安装经微软数字签名的驱动程序以保证系统的稳定性和可靠性。

•以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密,数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。

•要使用数字证书必须在计算机系统中安装CA的数字证书。

•2005年4月1日实施的《中华人民共和国电子签名法》《电子认证服务管理办法》规定数字签名与书面文件签名具有同等的法律效力。

•长期使用同一个密钥有被破译的危险,为了保证安全,CA认证中心按照相关的安全策略确定数字证书的有效期,证书到期后由认证中心撤销并通过CRL发布。当用户私钥泄密或身份变更时需要撤销原来的证书,然后重新颁发新证书。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈

相关推荐