`
gauss2008
  • 浏览: 41057 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

数字证书的一些基本概念

阅读更多
日期
2005年7月22日
作者
gauss
类型
安全认证
内容
CA认证
CA认证学习笔记
一、         名词:
1.         公钥基础设施(PKI)Public Key Infrastructure
PKI是通过使用公开密钥技术和数字证书来确保系统信息安全并负责验证数字证书持有者身份的一种体系。例如,某企业可以建立公钥基础设施(PKI)体系来控制对其计算机网络的访问。在将来,企业还可以通过公钥基础设施(PKI)系统来完成对进入企业大门和建筑物的提货系统的访问控制。
 PKI让个人或企业安全地从事其商业行为。企业员工可以在互联网上安全地发送电子邮件而不必担心其发送的信息被非法的第三方(竞争对手等)截获。企业可以建立其内部Web站点,只对其信任的客户发送信息。
 PKI采用各参与方都信任一个同一CA(认证中心),由该CA来核对和验证各参与方身份的身份这种信任机制。例如,许多个人和企业都信任合法的驾驶证或护照。这是因为他们都信任颁发这些证件的同一机构--政府,因而他们也就信任这些证件。然而,一个学生的学生证只能被核发此证的学校来进行验证。数字证书也一样。
 通过公钥基础设施(PKI),交易双方(可能是在线银行与其客户或者是雇主与其雇员)共同信任签发其数字证书的认证中心(CA)。典型的是采用数字证书的应用软件和CA信任有相同的机制。例如,客户端浏览器中根证书列表中包含了它所信任CA的根证书,当浏览器需要验证一个数字证书的合法性(假如说要进行在线安全交易)的时候,此浏览器首先从其根证书列表中查找签发该数字证书的认证中心根证书,如果该认证中心根证书存在于浏览器的根证书列表中并验证通过后,浏览器承认此站点的具有合法身份并显示此站点的网页。如果该认证中心根证书不存在信任CA根证书列表中,浏览器会显示警告信息并询问是否要信任这个新的认证中心。通常地,浏览器会弹出提供永久的信任、临时的信任或或不相信该认证中心的选项对话框给客户选择,因为作为客户来说,他们有权选择信任哪些认证中心,而信任的处理工作通过应用软件来完成(在这个例子中是通过浏览器完成的)。
2.         如何实现加密:
加密技术是使数据不可读的处理过程。有许多不同的(和复杂的)打乱和恢复信息的方法。
在互联网上,加密技术主要有两种用途。一种是访问使用了服务器证书的安全Web站点(例如在线购物),故称之为服务器端加密技术。另一种用于接收和发送加密电子邮件。这两种用途中的加密处理方法都包含了交换公钥过程。
在加密过程中,使用公钥或私钥来加密信息,反之使用与之匹配的私钥或公钥来解密信息。这看起来像是用一把钥匙上锁而用另一把钥匙开锁。例如,当访问一个安全Web站点时,客户端计算机接收到这个Web站点的公钥(公钥存储在证书里),客户端计算机对WEB站点发送的信息使用WEB站点的公钥加密,解密这些信息的唯一方法是Web站点使用他们的私钥。
 同样的处理方法也适用于安全电子邮件。在向其他人发送加密信息之前,你需要得到包含其公钥的数字证书,电子邮件应用软件使用其公钥对信息进行加密处理,发送后,接收者使用他们的私钥对信息进行加密,不掌握接收者私钥的其他方都无法完成该信息的解密工作。由此,你可以向希望给你发送邮件的人发送你的数字证书。值得注意的是,你务必请保护好自己的私钥,因为它用于解密发送给你的信息。
3.         数字签名:
数字签名是公开密钥加密技术的另一类应用。它的主要方式是:报文的发送方从报文文本中生成一个128位的散列值(或报文摘要)。发送方用自己的专用密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别和不可抵赖性。
当使用一个程序对信息进行数字签名时,至少要将数字证书的公共部分和其它信息加在一起,才能确认邮件信息的完整性。
在邮件信息和数字证书发送之前,信息要经过散列算法的加密,就是将所要发送的信息经过算术处理产生一个特征序列,这个序列是唯一的,只能由原文产生。产生的序列叫做信息摘要。
必须知道散列算法只能单向快速的运行,但很难逆向运算恢复原文。这就是说,电子邮件程序可以将邮件信息经过散列算法快速产生唯一的信息摘要。然而,如果只有信息摘要,要数年的时间才能解密得到原文。
 程序产生信息摘要之后,就用发送者的私钥对信息摘要加密,这是特别重要的。如果只发送邮件和信息摘要,别人可以很容易的修改信息原文,重新产生一个信息摘要,并以你的身份发送出去。
如果只对邮件进行数字签名而不进行加密,电子邮件应用会将数字证书和签名后的信息摘要作为附件随邮件明文一起发送,因此,别人仍然能阅读信息的内容(有效的解决方法是在签名后加上加密选项)。
当接受方收到邮件时,用发送方的数字证书(公钥)解密信息摘要进行验证。然后程序用相同的散列算法计算邮件的信息摘要,并比较结果。如果产生了的信息摘要和邮件所含的信息摘要是相同的,那么说明邮件在传输过程中没有被篡改,由此保证了信息确实是由验证该信息对应的公钥持有着(证书持有着)发送的。
4.         数字证书:
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
数字证书,有时被称为数字身份证,是一个符合一定格式的电子文件,用来识别电子证书持有者的真实身份。一些软件程序用数字证书来向其他人或企业证明证书持有者的身份。这里是两个普通的例子:
使用在线银行系统时,银行必须确认客户的真实身份,通过身份核实后的客户才能进入在线银行的相关页面进行相应的帐户管理操作,如:转帐、查询帐务。这就象驾驶执照或是护照一样,数字证书向在线银行证实了你的真实身份。
当要给别人发送重要的电子邮件时,电子邮件程序会用你的数字证书对邮件信息进行签名。数字签名有两个作用:很容易证明邮件是由你发送的,还能证明电子邮件在传送的时候没有受到篡改。
  一个数字证书一般包括下列内容:
1)         你的公钥
2)         你的名字和电子邮件地址
3)         公钥的有效期限
4)         发证机构的名称
5)         数字证书的序列号
6)         发证机构的数字签名
5.         数字证书密钥对: 
当与其他个人或企业通过网络环境进行通信时,需要建立一个安全的交换信息信道来保证不会有第三方非法用户截获和读取信息,现在最先进的加密数据的方法是通过使用密钥对方式。密钥对包含一个公钥和一个私钥。我们可把开锁的钥匙比作密钥,不同的是密钥是一对钥匙,一把用于锁门来保证安全,即加密;而另一把用语开门,即解密。
 应用软件使用密钥对中的一个密钥来加密文档。必须用用与之匹配的另一个密钥来解密信息。但怎样才能保证信息被安全地发到信息接受方而途中不被他人截获?
 通过使用密钥对就可解决上述问题。当申请一个数字证书时,浏览器生成一个私钥和一个公钥。私钥只被证书申请者使用,而公钥会成为数字证书的一部分。浏览器会要求你提供一个在你访问私钥时的口令,该口令只有自己知道,这点是非常重要的(口令不要是自己的生日或别人容易猜到的数字或字母)。
 收到并安装数字证书后,把数字证书发给任何需要发送信息给你的人。在数字证书中包含了用于加密信息的公钥。别人给你发送信息时会使用你的公钥对信息进行加密。因为只有你有与之匹配的私钥,所以只有你才能够解密用你的公钥加密的信息。
 同样的,当你想要向别人发送加密的信息,你必须首先获得他们的公钥。你可以在目录中服务器中(一般,CA系统在签发证书的同时会将该证书发布到公开的目录服务器中供其他客户查询、下载用)查找他们的数字证书。如果你只有经过签名处理的电子邮件,你的电子邮件应用软件一般会自动的保存发送方的数字证书。
6.         SLL
SSL是安全套接层(Secure Sockets Layer)的缩写。在网络上信息在源-宿的传递过程中会经过其它的计算机。一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄露。由于InternetIntranet体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发展,人们对信息安全的要求越来越高。因此Netscape公司提出了SSL协议,旨在达到在开放网络(Internet)上安全保密地传输信息的目的,这种协议在WEB上获得了广泛的应用。之后IETF(www.ietf.org)SSL作了标准化,即RFC2246,并将其称为TLSTransport Layer Security),从技术上讲,TLS1.0SSL3.0的差别非常微小。
7.         服务器证书:
服务器证书是安装在你的WEB服务器上,你可将服务器证书视为一种可以让访问者利用网页浏览器来验证网站真实身份的数字证明,且可以通过服务器证书进行具有SSL加密的通讯过程。
服务器证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。通过提交数字证书来证明您的身份或表明您有权访问在线服务。服务器证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是真实可靠的。
    服务器证书可分为两种:40位和128位(这里指的是SSL会话时生成加密密钥的长度,密钥越长越不容易破解)证书
8.         鉴别与加密:
1)        SSL服务器鉴别
    让使用者确认WEB服务器的身份。具有SSL功能的软件(如WEB网页浏览器程序)会依照列在这类程序中受信任的认证中心根证书列表,来自动检验服务器的数字证书是否有效,且是通过适当的认证中心(如iTrusChina)所发行。鉴别服务器身份在安全电子交易环境中,对于使用者而言是非常重要的一环。例如,当使用者欲传送自己的信用卡信息给网站服务器之前一定会想先确认该服务器的真实身份如何。
2)         加密的SSL联机
    
要求所有在客户端及服务器之间所传递的信息由传送端软件加密,以及由接受端软件解密。如此可以保护信息不会在网络上截获。另外,所有在SSL联机中所传递的信息亦需要对信息完整性进行验证,SSL会自动检测信息在传递途中是否有遭到修改的危险。如此以来,使用者可以安心地将个人资料(如信用卡信息)传递到网站上,并信任SSL机制会保护这些信息的隐私及安全性
9.         服务器证书如何操作:
1)        用户连接到你的Web站点,该Web站点受服务器证书所保护。(可由查看 URL的开头是否为"https:"来进行辩识,或浏览器会提供你相关的信息)。
2)        你的服务器进行响应,并自动传送你网站的数字证书给用户,用于鉴别你的网站。
3)        用户的网页浏览器程序产生一把唯一的"会话钥匙码",用以跟网站之间所有的通讯过程进行加密。
4)        使用者的浏览器以网站的公钥对交谈钥匙码进行加密,以便只有让你的网站得以阅读此交谈钥匙码。
5)        现在,具有安全性的通讯过程已经建立。这个过程仅需几秒中时间,且使用者不需进行任何动作。依不同的浏览器程序而定,使用者会看到一个钥匙的图标变得完整,或一个门栓的图标变成上锁的样子,用于表示目前的工作阶段具有安全性。
10.     公用数字证书与私用数字证书的区别:
     私用数字证书都是由企业内的私用认证中心发行,而所有的私用数字证书都与其根CA公钥连结在一起,以辨识是机构在管理证书的层级。当您购买了证书服务器并开始运作之后,您就可以建立起自己的根CA公钥。然而,您必须将根CA公钥发送给所有能接收并辨识私用数字证书的软件才行。这对于使用S/MIME格式的安全电子邮件会产生一个极大问题,因为几乎企业中的每一个人都有对外界发送电子邮件的机会,而这些企业外部电子邮件收信人的应用程序并没有您企业的根CA公钥。所以,私用数字证书比较适合注重企业内部联系的企业使用。
 相较下,iTrusChina代理的VeriSign公用数字证书的根CA公钥早就嵌入到能支持证书的主要应用程序中了,包括网景企业以及微软企业的网页浏览器及电子邮件程序,以及将近四十家的网页服务器厂商。公用数字证书比较适合供常需与外界联系的企业的应用环境使用。由iTrusChina签发中心签发的数字证书在国内范围内的所有客户都有相同的根证书,因此都可以很容易互相认证,比较适合供常需与外界联系的企业的应用环境使用。例如安全电子邮件就是一个例子,因为使用者除了在企业内发送讯息之外,也常须对外界发送电子邮件。
 iTruschina 安证通(OnSite)独家提供了让客户使用公用数字证书或是私用数字证书的选择。私用数字证书就像是一个证书服务器一般,它可以让企业完全控制其认证机制以及发放证书的标准,且内部流通容易。而公用数字证书不但可以让客户完全掌握其证书的内容及决定证书申请资格,还可以享受到iTruschina公用数字证书的所有优点。换句话说,当您使用公用数字证书对其它企业发送电子邮件时,收信者除了会知道发信人是谁外,还会得到签发证书的企业以及iTruschina(代表具有公信力的第三者) 对发信人身份的确认与保证。由于我们在网络安全上的专业与高知名度,收信人对您的电子邮件将更放心。这项独一无二的特色仅在iTruschina 安证通(OnSite)这套产品中才有。
二、         使用
1.          为什么需要数字证书:
 虚拟商场、电子银行以及其它的电子服务正在变得越来越普遍。然而,你也会担心网上应用的安全性,从而使你在获取便利、快捷的服务面前裹步不前。数字证书能够帮助你解决安全问题。
或者,你的企业建立了新的内部网络需要你在工作中使用数字证书。因为你将要在工作中使用这种新技术,你需要快速地学习使用数字证书。
为了保证Web站点和客户端网络应用系统之间传递的数据不可读需要使用数字证书。虽然加密是强有力的工具,但只有加密技术还不足以保护信息传递的安全性。
加密技术不能够证明你的身份或发送加密信息给你的发送者身份。例如,某在线交易的证券企业有自己的站点并通过其网页向客户发送加密信息。这个站点会要求用户输入自己的用户名及口令。这些用户名和口令极容易被截获并且不能用来证明用户的身份。没有其它的安全措施,非法第三方能够冒充合法在线用户并骗取该用户的帐号或其他有效的私人信息。
数字证书提供了电子验证身份的方法,提供了更完全的解决方案来验证有关交易过程中各参与方的真实身份。
数字证书提供了被称作"不可否认性"的功能,从根本上防止有人否认他发送过的信息。例如,当你使用信用卡的时候,你必须在在批准支付的收据上签名。因为在收据上签字是必不可少的。所以,你可以通过比较签名来证明别人偷走或使用了你的信用卡。在网络上发送支付确认指令时,通过不可否认的功能,自动产生"授权签名",签名过程中使用了客户的私钥。如果有人想要生成你的"授权签名",除非他有你的私钥以及用来保护私钥的口令,否则无法生成你的"授权签名"。这就是为什么绝不能告诉其他任何人你的私钥保护口令,这一点是至为重要的。


分享到:
评论

相关推荐

    数字证书的概念

    ### 数字证书的概念 #### X.509标准 X.509是国际电联电信委员会(ITU-T)制定的一项重要标准,主要用于规范单点登录(SSO-Single Sign-on)和授权管理基础设施(PMI-Privilege Management Infrastructure)。这一...

    vs2017数字证书certificates.rar

    首先,我们需要理解数字证书的基本概念。数字证书是一种电子文档,由权威机构(称为证书颁发机构,CA)签名,用于证明持有者的身份和公共密钥的有效性。在VS2017中,开发者可能会用到这些证书来对他们的应用程序进行...

    java代码生成数字证书

    Java代码生成数字证书涉及到几个关键概念和技术,包括Java的密钥和证书管理、RSA加密算法以及非交互式证书创建。在此,我们将深入探讨这些主题,以便理解如何在Java环境中生成和使用数字证书。 1. **数字证书**:...

    PKI/CA与数字证书技术大全

    标题"PKI/CA与数字证书技术大全"暗示了主题是关于公钥基础设施(Public Key Infrastructure, PKI)和认证授权机构(Certification Authority, CA),以及与之相关的数字证书技术。这是一套全面的资料,旨在帮助读者...

    淘宝网数字证书(含下载地址)

    首先,我们来了解一下数字证书的基本概念。数字证书是一种由权威机构(称为证书颁发机构,简称CA)签发的电子文档,包含了公钥的所有者信息以及CA对这个公钥的签名。在电子商务中,数字证书用于加密数据传输和验证...

    数字证书的基本结构与编码教学PPT教案.pptx

    《数字证书的基本结构与编码教学》是一份详细阐述数字证书核心概念的专业课件。课程主要分为五个部分,分别是数字证书的基本结构、描述方法、编码、X.509数字证书结构以及X.509证书的详细描述和实例。 1. **数字...

    C和C++代码锦囊数字证书

    在本"C和C++代码锦囊数字证书"中,我们将探讨数字证书的基本概念、如何在C和C++程序中使用它们,以及如何处理名为"00083.pfx"的PFX文件和"安装说明.txt"的使用方法。 首先,我们来理解数字证书。数字证书是由受信任...

    数字证书C#

    首先,理解数字证书的基本概念至关重要。数字证书是由权威机构(如证书颁发机构CA)签发的电子文档,其中包含了公钥和证书持有者的身份信息。公钥用于加密数据,私钥用于解密,这种非对称加密方式为网络安全提供了...

    数字证书与加密认证试验

    通过本次实验的学习,不仅可以深入了解数字证书与加密认证的基本原理,还能掌握相关的技术和工具,这对于从事网络安全领域的专业人士来说是非常宝贵的实践经验。希望以上内容能帮助你更好地理解数字证书与加密认证的...

    数字证书为核心的信息安全技术

    本文将深入探讨数字证书的基本概念、功能以及在企业内部网络中的具体应用,并提出一套基于数字证书的安全站点解决方案。 #### 二、数字证书概述 数字证书是一种用于证明网络通信双方身份的电子文档,类似于现实...

    通俗易懂的数字证书原理

    在深入探讨数字证书之前,我们需要了解一些基本的概念和技术背景,包括公钥密码体制、对称加密算法、非对称加密算法、RSA算法及其应用。 ##### 1.1 公钥密码体制(Public-Key Cryptography) 公钥密码体制是现代...

    数字证书的概念和作用,PPT课件

    首先,我们要理解数字证书的基本构成。数字证书包含了以下几个关键元素:发行者的身份(通常是数字证书认证中心,或CA)、持有者的身份信息、持有者的公钥、证书的有效期限以及一个数字签名。这个数字签名由CA使用其...

    公钥私钥加密解密数字证书数字签名详解.docx

    在探讨公钥私钥加密解密、数字证书以及数字签名之前,我们需要先理解几个核心概念。 **1. 密钥对:** - 在非对称加密技术中,存在两种密钥——私钥和公钥。私钥由密钥对的所有者持有且必须保密,而公钥则是由密钥...

    数字证书根证书DEMO

    数字证书根证书是网络安全领域中的重要概念,它在保障网络通信的安全性和可信度方面起着至关重要的作用。本文将深入探讨数字证书根证书的概念、功能、工作原理以及其在实际应用中的重要性。 数字证书是一种电子文档...

    JAVA 用代码生成数字证书源码

    首先,我们来理解数字证书的基本概念。数字证书是一种基于公开密钥基础设施(PKI)的身份认证机制,遵循X.509标准。它包含以下几个核心元素: 1. 版本信息:标识证书的版本号。 2. 序列号:每个证书都有一个唯一的...

    java安全通信数字证书

    以下是一些基本步骤: 1. 生成密钥对:使用keytool生成包含公钥和私钥的Keystore文件。 2. 申请数字证书:使用keytool生成CSR(Certificate Signing Request),并提交给证书颁发机构(CA)。 3. 颁发数字证书:CA...

    golang解析数字证书

    首先,让我们了解一些基本概念: 1. **数字证书(Digital Certificate)**:也称为X.509证书,是一种标准格式,用于在网络上证明实体的身份。它包含公钥、主体信息(如组织名、域名)、颁发者信息以及有效期等。 2...

    数字证书后的配置文件

    在"数字证书后的配置文件"这个主题中,我们将深入探讨数字证书的基本概念、配置过程以及涉及到的相关配置文件,如`.properties`和Spring配置文件。 首先,数字证书是公钥基础设施(PKI)的一部分,它包含了拥有者的...

    安卓android数字证书及扩展项解释生成类库

    首先,我们需要理解数字证书的基本概念。数字证书是一种电子文档,由受信任的证书颁发机构(CA)签发,包含了公开密钥的所有者的信息以及该密钥的指纹。在安卓系统中,数字证书用于验证应用程序的签名,确保应用未被...

Global site tag (gtag.js) - Google Analytics