- 浏览: 303885 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (167)
- <HTML and JavaScript and CSS> (6)
- 《Java2 基础知识及概念》 (3)
- Java2 Tools及其他 (11)
- EJB2.0 相关 (3)
- 英语学习 (4)
- Oracle Database Server (27)
- 计算机理论 (9)
- Java持久层框架 (2)
- 《Linux操作系统》 (24)
- 杂项技术 (4)
- Application Server (15)
- Windows操作系统 (7)
- Java中间件 (6)
- 娱乐生活 (4)
- 《Java设计模式》 (3)
- 《Interview Skill》 (1)
- 《Struts原理及应用》 (1)
- Workflow (2)
- 云计算 (3)
- 项目实践 (3)
- WEB相关技术 (10)
- JavaScript技巧及应用 (1)
最新评论
一、揭开数字证书的神秘面纱
1. 什么是数字证书
数字证书称为数字标识 (Digital Certificate ,Digital ID)。它提供了一种在 Internet 上身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或日常生活中的身份证相似。数字证书它是由一个由权威机构即CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在交往中用它来识别对方的身份。在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关交易操作。通俗地讲,数字证书就是个人或单位在 Internet上的身份证。
比较专业的数字证书定义是,数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循相关国际标准。有了数字证书,我们在网络上就可以畅通无阻。
为什么需要数字证书呢?如本文开头所举的例子,由于Internet网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。买方和卖方都必须对于在因特网上进行的一切金融交易运作都是真实可靠的,并且要使顾客、商家和企业等交易各方都具有绝对的信心,因而网络电子商务系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。
2. 获得及安装免费数字证书
通过使用免费数字证书,我们可以了解专业数字证书的相关技术。获得免费数字证书的方法有很多,目前国内有很多CA中心提供试用型数字证书,其申请过程在网上即时完成,并可以免费使用。下面提供一个比较好的站点,申请地址为https://testca.netca.net/。登陆后,点击“证书申请”,选择“试用型个人数字证书申请”,特别强调,注意只有安装了根证书(证书链)的计算机,才能完成后面的申请步骤和正常使用读者在CA中心申请的数字证书。
按照提示,通过地址https://testca.netca.net/download/GetRootCertificateIndi.asp选择“安装试用CA证书链”。安装成功出现提示框后,可以看到一个表单。
按照表单上的提示,输入完整的个人资料。选择加密服务提供程序(Cryptographic Service Provider,CSP),其中,CSP 负责创建密钥、吊销密钥,以及使用密钥执行各种加、解密操作。每个 CSP 都提供了不同的实现方式。某些提供了更强大的加密算法,而另一些则包含硬件组件,例如智能 IC 卡或 USB 电子令牌。 当读者使用特别的数字证书存储介质(如:智能 IC 卡或 USB 电子令牌)存储数字证书及其相应的私有密钥时,可以在“加密服务提供程序(CSP)”下拉框中选择该存储介质生产厂商提供的CSP。我们可以选择“Microsoft Base Cryptagraphic Provider V1.0”。
补充信息可以选填:有效证件类型,证件号码,读者的出生日期,读者的性别, 读者的住址,通信地址,通信所在地邮政编码,联系电话,传真号码,存储介质等。然后点击按钮提交。
下载证书。进行上述步骤后,系统将发一封申请成功的信件到读者申请时使用的邮箱内,其中包括业务受理号和密码, 数字证书下载的地址。点击数字证书下载地址,填写业务受理号和密码。
然后点击下方的“安装证书”按钮,当系统提示“证书成功下载”和“证书已成功装入应用程序中”后,表明读者的证书已经成功安装。
3. 在IE中查看数字证书
现在很多读者朋友可能要问了,数字证书在哪里呢?其实,微软的IE浏览器自带一个数字证书管理器,通过这个管理器我们可以查看数字证书。
首先在打开Internet Explorer,在Internet Explorer的菜单上,单击 “工具”菜单中的 “Internet选项”。选取“内容”选项卡,点击“证书”按钮来查看读者信任的当前证书的列表。
点击“个人”选项卡可以查看读者已经申请的个人数字证书;下面是申请的免费数字证书,读者朋友可以参考。如图3所示。
选定读者要查看的个人数字证书,然后单击 “查看” 按钮,可以查看证书的详细信息。如图4是一个数字证书的详细信息列表。
下面就是在证书中所包含的元素的列表,读者朋友可以根据自己的体会进行理解。
版本:它用来区别X.509的各种连续的版本。默认值是1988版本。
序列号:序列号是一个整数值,在发行的证书颁发机构中是唯一的。序列号与证书有明确联系,就像身份证号码和公民日常登记有明确联系一样。
算法识别符:算法识别符识别证书颁发机构用来签署证书的算法。证书颁发机构使用它的私钥对每个证书进行签名。
发行者或证书颁发机构:证书颁发机构是创建这个证书的机构。
有效期:提供证书有效的起止日期,类似于信用卡的期限。
主体:证书对他的身份进行验证。
公钥信息:为证书识别的主体提供公钥和算法识别符。
签名:证书签名覆盖了证书的所有其他字段。签名是其他字段的哈希代码,使用证书颁发机构的私钥进行加密,保证整个证书中信息的完整性。如果有人使用了证书颁发机构的公钥来解密这个哈希代码,同时计算了证书的哈希代码,而两者并不相同,那么证书的某一部分就肯定被非法更改了。
有了数字证书以后,我们可以进行发送安全的电子邮件,实现网上邮件的加密和签名电子邮件,它还可以应用于公众网络上的商务活动和行政作业活动,应用范围涉及需要身份认证及数据安全的各个行业,如访问安全站点、网上招标投标、网上签约、网上订购、安全网上公文传送、网上办公、网上缴费、网上缴税、网上购物等网上的安全电子事务处理和安全电子交易活动等。随着电子商务和电子政务的不断发展,数字证书的颁发机构CA中心将作为一种基础设施为电子商务的发展提供可靠的保障。所以,网络发展的越快,人们对网络安全的要求也越来越高,了解数字证书并学会一些数字证书的操作将有利于我们更加安全的在网上冲浪。
二、电子邮件与数字证书
安全电子邮件证书中包含证书持有者的电子邮件地址、公钥及CA中心的签名。使用安全电子邮件证书可以收发加密和数字签名邮件,保证电子邮件传输中的机密性、完整性和不可否认性,确保电子邮件通信各方身份的真实性。证书可以存贮在硬盘、USB中。安全电子邮件利用公钥算法保证你的签名邮件不会被篡改,而你的加密邮件除了邮件接收者以外(甚至你自己)的任何人无法阅读其中的内容。需要注意的是,证书中的邮件地址必须同绑定的邮件帐号一致。这样就可以对自己的邮件签名和加密了。
三、网站服务器与数字证书
由于Windows NT系统的容易维护,很多单位或者ISP都采用它,大部分是做WEB服务器使用。虽然IIS存在很多新的漏洞和安全问题,但只要我们做好合理的安全配置,还是可以避免很多安全隐患的。因此,本文选择IIS服务器来测试数字证书。
1. http与https的相关知识
简单的说默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击者可以通过安装监听程序来获得我们和服务器之间的通讯内容。这点危害在一些企业内部网络中尤其比较大,对于使用HUB的企业内网来说简直就是没有任何安全可讲因为任何人都可以在一台电脑上看到其他人在网络中的活动,对于使用交换机来组网的网络来说虽然安全威胁性要小很多,但很多时候还是会有安全突破口,比如没有更改交换机的默认用户和口令,被人上去把自己的网络接口设置为侦听口,依然可以监视整个网络的所有活动。
除了匿名访问、基本验证和Windows NT请求/响应方式外,还有一种安全性更高的认证,就是通过SSL(Security Socket Layer)安全机制使用数字证书。建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入https://,而不是http://。SSL(加密套接字协议层)位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。
2. 申请服务器证书
首先,在Windows2000中打开Internet信息服务管理器,然后打开要为之申请证书的站点的属性。以笔者的机器为例,选择“默认web站点”,点击右键,在弹出的菜单中选择“属性”,出现属性对话框。找到“目录安全性”对话框。如果以前从未用过这项,“编辑”显示为灰色。如图13所示。
当证书请求产生之后,会被保存为一个使用默认文件名(如certreq.txt)或您指定文件名的文本文件,存储在服务器的硬盘上。使用 NotePad 或其他 ASCII 文本编辑器打开证书请求文件,可以查看证书请求的内容。注意,不能用Word或其他文字处理软件打开证书请求文件,因为这些软件会在证书请求文件中插入格式控制符。
3. 获得服务器证书和安装服务器证书
获得服务器证书的方法和本文中获得个人数字证书的方法有点类似。需要注意的是,要保存好刚才的申请文件,在申请的过程中需要使用到这个文件,而且这个文件只能使用一次,而且在申请的时候一定要把证书请求复制到文本框,具体可以登陆https://testca.netca.net/apply_srv/srv_root.asp这个站点按照上面的提示进行,最后应该下载到一个后缀名为.cer的服务器证书文件。本例中,根据产生的受理号和密码,可以下载一个server.cer文件。
安装证书的时候,在Windows2000中打开Internet信息服务管理器,然后打开要为之申请证书的站点的属性。还是选择“目录安全性”,选择“服务器证书”,现在我们发现,服务器已经挂起了一个证书请求。根据证书向导,处理挂起的请求并安装证书。如图17所示。
4. 服务器证书的设置和服务器的访问
在Windows2000中打开Internet信息服务管理器,然后打开要为之申请证书的站点的属性。选择“目录安全性”,选择“服务器证书”,我们发现,现在下方的三个按钮都能够使用了。如图19所示。
选择“编辑”按钮,就可以对访问用户进行控制了。如图20所示。
看到这里,读者朋友应该可以明白为什么我们可以访问https://www.cnca.net的原因了吧。事实上,国内商家的网上交易很多就是在这个安全隧道里面进行的。有了这个安全保证,我们就可以在网上放心的购物了。
四、利用数字证书进行代码签名
当你在店铺里购买软件时,软件的来源很清楚,你可以分辨软件的提供商;同时,凭借软件的封装,你可以看到软件有没有被拆封过。籍此,人们可以决定对软件的信任程度。但是,当软件放到了Internet上,你在下载时,还能有足够的信心吗?在计算机病毒横行的今天,也许,你正在下载的杀毒软件恰是一个病毒程序,这样的事情一点也不奇怪,那么,我们在网上怎么信任那些exe文件呢?
任何软件提供商要想通过网络来发布代码或程序,都会面临着软件被仿冒和篡改的风险。通过数字证书使用代码签名技术就可以有效地防范这些风险。代码签名证书是CA中心签发给软件提供商的数字证书,包含软件提供商的身份信息、公钥及签名。软件提供商使用代码签名证书对软件进行签名后放到Internet上,当用户在Internet上下载该软件时,将会得到提示,从而可以确信软件的来源和软件自签名后到下载前没有遭到修改或破坏。
对于用户来说,使用代码签名证书可以清楚了解软件的来源和可靠性,增强了用户使用Internet获取软件的决心。万一用户下载的是有害软件,也可以根据证书追踪到软件的来源。对于软件提供商来说,使用代码签名证书,其软件产品更难以被仿造和篡改,增强了软件提供商与用户间的信任度和软件商的信誉。
如果你编写一个ActiveX 控件并放在网页中,别人通过Internet下载时通常会出现一个安全警告,提示代码没有签名。在你的Certificate Server安装目录下找到xenroll.cab,并查看其属性,你会发现多了一栏数字签名,这里你可以查看签名验证情况以及相关证书。要给自己的程序签名其实也很简单,Microsoft有一个Authenticode工具专名用来给代码签名,你可以从Microsoft站点下载到,里面有许多工具,但通常你只要用到signcode.exe就够了。首先你需要有一个代码签名证书,然后使用signcode.exe使用过程很方便,基本是wizard方式的,在提示选择使用的签名证书时按“从存储器选择”按钮选择签名证书。你可以选择将所以证书放入签名,也可以不将根证书放入签名,建议不要将根证书放入签名,还是应让用户从你的站点下载根证书,因为带根证书的签名是没有意义的,虽然这会给用户带来一些麻烦(他需要先安装根证书才能正确验证你的签名)。在提示加入时间戳时选择不加入时间戳。完成签名后你可以从文件属性验证其签名和证书。
时间戳的作用在于证明某一段数据在该时间的存在性。比如你有一个重大发现,希望用它来争取诺贝尔奖,你用Word编写你的论文,但是为了证明你是第一个发现者,你需要证明你写论文的时间,由于文件的时间可任意修改,不能作为证明,所以你需要有一个时间戳,你通过某个Hash算法计算出你的Word文件的摘要并发送给一个权威的时间戳签名服务商(DTS),DTS对摘要和签发时间进行签名形成时间戳发还给你,你将文件时间戳合并,作为将来证明你撰写论文时间的依据。时间戳服务需要很高的权威性,所以对私钥存储,时间来源都有很高的要求。目前这方面应用不多,好象Office 2000似乎支持时间戳功能。
无论是SSL也好,安全电子邮件也好,代码签名也好都是Netscape最先提出和使用的,在Netscape中使用这些技术,方法都很相似(Microsoft学的还真象),所以这里不再多说了。IE5.0以后,Microsoft的这些技术和产品已经比较成熟,在功能上部分超越了Netscape,但Netscape毕竟是原创,在这方面的文档资料比较全面,讨论组和邮件列表也比较多,所以在技术支持方面会比较好一点。目前,代码签名证书可以对32-bit .exe、.cab、.ocx、.class等程序和文件进行签名。
数字证书在网络安全中的使用还有很多,比如软件的版权签名、通过专门的数字签名软件给文档盖“公章”、进行网络站点的安全访问等,掌握这些知识将对我们今后的学习和工作产生很大的影响。毫无疑问,这将逐渐成为一种网络安全趋势,没有这些身份认证,我们在网络上将寸步难行,读者朋友可以在今后的学习和使用中多多体会。
发表评论
文章已被作者锁定,不允许评论。
-
GPL, BSD license简介
2010-11-24 20:00 1012GPL(GNU General Public License) ... -
《unicast, multicast, broadcast的区别》
2010-08-26 10:38 6426单播(unicast)、组播(mult ... -
DISPLAY变量的含义
2010-01-20 11:56 1360这利用了X Window窗口系统的网络透明性,即,图形程序的运 ... -
<证书链>
2009-12-09 16:22 1247所谓根证书,是CA认证中心与用户建立信任关系的基础,用户的数字 ... -
<Alpha,Beta,RC,GA版本的区别>
2009-10-27 15:38 1097Alpha 暗示这是一个以展示新特性为目的的版本,存在比较多 ... -
字符集与字符编码的基础知识
2009-05-12 15:34 1461字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号 ... -
HTTPS和HTTP的区别
2009-05-06 17:38 1572HTTPS(Secure Hypertext Transf ... -
软件代码数字签名基本原理
2009-05-06 16:52 3977在通过精美的包装盒销 ...
相关推荐
SSL证书,也被称为安全套接层证书,是一种在计算机网络上用于加密和验证网站身份的数字证书。本文档详细描述了如何在Resin服务器上部署SSL证书,以此来增强网站的安全性。Resin是一种广泛使用的web服务器,它支持SSL...
为了确保支付安全,使用Windows系统的用户应安装支付宝安全控件,这能兼容支付宝数字证书,提供额外的安全保护。建议启用所有安全功能,如手机动态口令。对于Linux和Mac用户,建议开通手机口令并关闭数字证书功能,...
此外,描述还提到了数字证书的颁发,这是PKI的核心部分,用于建立公钥和私钥对,并将其绑定到实体身份上。通过HTTPS访问,表明源代码可能包含了设置和管理SSL/TLS连接的部分,以创建安全的HTTPS通信通道。SSL安全...
- 对于Linux和Mac用户,在Windows环境中完成快捷支付的开通后,建议开启手机动态口令,并关闭数字证书功能。 - **兼容性问题**:当前支付宝的无插件支付可能不支持最新的Mac和Linux操作系统版本。 #### 二、财付通...
如果服务器需要使用数字证书进行身份验证,则会发送一条`Certificate`消息。这条消息中包含服务器的数字证书,证书中通常包含服务器的公钥、证书颁发机构(CA)的签名等信息。证书可以是一个单独的证书,也可以是一...
### 使用F-DO安全数字量输出模块6ES7326-2BF10-0AB0的“保持上次有效值”功能与IEC61511、IEC62061及ISO13849-1标准 #### 一、引言 在工业自动化领域中,确保安全系统能够正确无误地执行其预定的安全功能至关重要。...
手动分配用户账号或本地账号密码认证可能无法达到目的,而数字证书认证可以提供更精确的用户识别。 审计Windows客户端的QQ聊天内容可以通过上网审计策略实现,而非上网权限策略、用户限额策略或准入策略。在流控...
传统的隐私保护方法通常依赖于基于证书的公钥基础设施(PKI),通过数字证书来核实用户身份并安全地分发密钥。然而,PKI需要一个可信赖的权威机构来统一管理,如果该机构被恶意攻击,将给整个系统的安全性带来巨大...
2. **证书和公钥基础设施(PKI)**:HTTPS使用数字证书来验证服务器的身份。这些证书由权威的证书颁发机构(CA)签发,包含服务器的公钥和有关信息。公钥用于加密,私钥用于解密,形成非对称加密机制。 3. **证书申请与...
针对这一点,Gentry提出了基于证书的密钥隔离签名方案,该方案通过引入密钥隔离机制,使私钥在不安全的设备上使用时,即使私钥暴露,攻击者也无法利用暴露的私钥对签名进行伪造。 文章的作者李继国等提出了一种基于...
4. 数字签名:椭圆曲线数字签名算法(ECDSA)是一种使用椭圆曲线的密码学算法,它允许用户证明消息的完整性和来源的真实性。 5. 证书和身份验证:椭圆曲线可用于构建公钥证书,保证用户身份的验证和消息的非否认性...
最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行,但在普遍使用的Windows XP Home版本上并没有IIS。 添加和运行准备 一、IIS的添加 请进入“控制...
1. 通信系统的系统功能:完成各单位点对点的语音、传真、图像和数据的传输,实现管理中心和下属各单位一点对多点的同时通信,系统自检功能等。 2. 高速公路通信的特点:专用性强、传输的信号种类繁多、可靠性要求...
这通常涉及加密技术,如SSL/TLS协议,以及可能的数字签名机制。 网络远程端则指的是用户可以通过网络连接到服务器,实现远程访问和操作。在游戏环境中,这可能是为了允许玩家在不同地点使用自己的游戏账号,而无需...
16.2 使用名字空间 .200 16.3 使用指示符 .203 16.4 程 序 示 例 .206 16.5 小 结 .213 第十七章 文 件 操 作 .215 17.1 .Net 框架结构提供的 I/O 方式 .215 17.2 文件存储管理 .217 17.3 读 写 文 件...
这一点主要体现在诸多红利的消退,例如2017年直播等强变现产品的迭出,2018年影视剧量价见顶,以及2019年直播短视频走通电商变现。在保守主义的宏观环境下,红利回吐、民生薄利、科技指引成为了toC互联网的中观运行...
,只有将正确结果14输入才能通过验证,超级安全,经典实用,执行速度超快,纯数字显示,不必担心验证码无法显示; 38、阿赛文件上传系统商业版:再次升级上传系统,支持各种文件的在线上传,上传后可进行打开预览,...