您好,欢迎访问三七文档
你的数字证书有一对,一份在U盾里的私钥,一份在银行的公钥(其实两份银行都有)U盾的原理很类似于双向认证的TLS(SSL)或者其它用到RSA的双向证书验证手段,以下步骤可能和U盾实际执行的有所区别,但本质相同:--银行先给你一个冲击,它包含了随机数,以及该随机数HASH,它们都由公钥加密,这样就可以保证只有你能解密这个冲击--你计算该随机数的HASH,并和用私钥解出的HASH,两者相同后,便可确认银行的身份--接下来,以一个只有你和银行知道的算法,利这个随机数和一些其它信息,生成响应和相应的HASH,再用私钥加密后发回银行。(此时银行也以相同的算法计算该响应)--银行用公钥解密,并验证HASH正确,接下来银行比较两个相应是否相同,相同的话客户的身份也确认了至于私钥的保密性由U盾来完成。U盾的控制芯片被设计为只能写入证书,不能读取证书,并且所有利用证书进行的运算都在U盾中进行。所以,只能从U盾读出运算结果。ps:和平常登录HTTPS网站不一样的是,一般HTTPS在TLS握手时,只要验证服务器身份成功便可完成握手。接下来以前面的随机数导出对称加密算法的密钥,开始加密链接网络的发展,出现了电子商务,并且迅速地发展。电子商务有着无比的优越性:方便,高效,快速,经济等,被人们推崇。但涉及到钱的问题,所以对安全很明感,必须要有一整套的安全措施来保障交易的安全。传统的安全保障措施就是用户名和密码,显而易见,这是很不安全的。IC卡:是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据。IC卡由专门的设备生产,是不可复制的硬件。IC卡由合法用户随身携带,登录时必须将IC卡插入专用的读卡器读取其中的信息,以验证用户的身份。简单易行,但容易被留驻内存的木马或网络监听等黑客技术窃取。现在的网络支付中存在着很多缺陷:(1)网络数据流的:在用户和银行交易的过程中,被第三方通过各种方法截获数据流,分析数据中的信息从而得到用户的信息。(2)木马的窃听:用户电脑中了病毒或者木马之后,电脑被监听,用户和银行交易的信息被木马记录,用户的信息就这样被盗了。(3)穷举攻击:击者使用有意义的数字作为密码来不断尝试持卡人的密码。如果持卡人的密码是未经过改动的初始密码或一个特殊、容易被分析的数字,则密码很容易被攻击者穷举出来。(4)网络钓鱼:第三方利用银行的身份给用户发信息,要求用户提供账号和密码,如果用户提供了的话就泄露了自己的信息了。或者是第三方假冒银行或者交易的网站,对没有认真辨别的情况下,用户很容易上当从而泄露自己的信息。网络的安全隐患不仅仅是这些。U盾的出现就是解决上面所说的安全问题。U盾,即工行2003年推出的客户证书USBkey,,是工商银行为客户提供的办理网上银行业务的高级别安全工具。它是一个带智能芯片、形状类似于闪存的实物硬件,时刻保护着您的网上银行资金安全。从技术角度看,U盾是用于网上银行电子签名和数字认证的工具,它内置微型智能卡处理器,基于PKI技术,采用1024位非对称密钥算法对网上数据进行加密、解密和数字签名,确保网上交易的保密性、真实性、完整性和不可否认性。它设备虽然小巧,但技术含量极高。该产品采用了目前国际领先的信息安全技术,核心硬件模块采用智能卡CPU芯片,内部结构由CPU及加密逻辑、RAM、ROM、EEPROM和I/O五部分组成,是一个具有安全体系的小型计算机。除了硬件,安全实现完全取决于技术含量极高的智能卡芯片操作系统(COS),该操作系统就象DOS、WINDOWS等操作系统一样,管理着与信息安全密切相关的各种数据、密钥和文件,并控制各种安全服务。USBKey具有硬件真随机数发生器,密钥完全在硬件内生成,并存储在硬件中,能够保证密钥不出硬件,硬件提供的加解密算法完全在加密硬件内运行。U盾的安全措施1.硬件PIN码保护U盾采用了使用以物理介质为基础的个人客户证书,建立基于公钥PKI技术的个人证书认证体系(PIN码)。黑客需要同时取得用户的U盾硬件以及用户的PIN码,才可以登录系统。即使用户的PIN码泄露,U盾没有丢失,合法用户的身份就不会被仿冒,如果用户U盾丢失,其他人不知道用户的PIN码,这也是无法假冒合法用户的身份。2.安全的密钥存放U盾的密钥存储于内部的智能芯片中,用户无法从外部直接读取,对密钥文件的读写和修改都必须由U盾内部的CPU调用相应的程序文件执行,从而U盾接口的外面,没有任何一条指令能对密钥区的内容进行读取、修改、更新和删除,这样可以保证黑客无法利用非法程序修改密钥。3.双密钥密码体制为了提高交易的安全,U盾采用了双钥密码体制保证安全性,在U盾初始化的时候,先将密码算法程序烧制在ROM中,然后通过产生公私密钥对的程序生成一对公私密钥,公私密钥产生后,密钥可以导出到U盾外,而私钥则存储于密钥区,不允许外部访问。进行数字签名时以及非对称解密运算时,凡是有私参与的密码运算只在芯片内部即可完成,全程私钥可以不出U盾介质,从而来保证以U盾为存储介质的数字证书认证在安全上无懈可击。4.硬件实现加密算法U盾内置CPU或智能卡芯片,可以实现数据摘要、数据加解密和签名的各种算法,加解密运算在U盾内进行,保证了用户密钥不会出现在计算机内存中。(二)U盾进行银行和客户身份的双向认证1、基于冲击-响应认证模式USBKey内置单向散列算法(RSA),预先在USBKey和服务器中存储一个证明用户身份的密钥,当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成一个随机数回传给客户端PC上插着的USBKey,此为“冲击”。USBKey使用该随机数与存储在USBKey中的密钥进行RSA运算得到一个运算结果作为认证证据传送给服务器,此为“响应”。与此同时,服务器使用该随机数与存储在服务器数据库中的该客户密钥进行RSA运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。2.基于PKI的数字证书的认证模式PKI(PublicKeyInfrastructure)即公共密钥体系,即利用一对互相匹配的密钥进行加密、解密。一个公共密钥(公钥,publickey)和一个私有密钥(私钥,privatekey)。其基本原理是:由一个密钥进行加密的信息内容,只能由与之配对的另一个密钥才能进行解密。公钥可以广泛地发给与自己有关的通信者,私钥则需要十分安全地存放起来。每个用户拥有一个仅为本人所掌握的私钥,用它进行解密和签名;同时拥有一个公钥用于文件发送时加密。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。冲击响应模式可以保证用户身份不被仿冒,但无法保证认证过程中数据在网络传输过程中的安全。而基于PKI的“数字证书认证方式”可以有效保证用户的身份安全和数据传输安全。数字证书是由可信任的第三方认证机构——数字证书认证中心(CertficateAuthority,CA)颁发的一组包含用户身份信息(密钥)的数据结构,PKI体系通过采用加密算法构建了一套完善的流程,保证数字证书持有人的身份安全。而使用USBKey可以保障数字证书无法被复制,所有密钥运算在USBKey中实现,用户密钥不在计算机内存出现也不在网络中传播,只有USBKey的持有人才能够对数字证书进行操作,安全性有了保障。由于USBKey具有安全可靠,便于携带、使用方便、成本低廉的优点,加上PKI体系完善的数据保护机制,使用USBKey存储数字证书的认证方式已经成为目前主要的认证模式。(三)U盾的交易过程使用U盾前,一般都要安装驱动,使U盾能正常工作。另外安装数字证书认证身份。当用户需要交易向银行提交订单要支付的时候,这时要验证用户的身份,系统提示用户插入U盾,并输入U盾的密码,系统会在后台验证,用户看不到过程,一经验证通过,用户就可以使用继续输入网上支付密码和验证码,验证都正确后交易就完成。有了U盾,交易就是很安全的,可以说是无懈可击。随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,公开密钥基础设施(PKI,PublicKeyInfrastructure)逐步在国内外得到广泛应用。我们是否真的需要PKI,PKI究竟有什么用?下面通过一个案例一步步地来剖析这个问题:甲想将一份合同文件通过Internet发给远在国外的乙,此合同文件对双方非常重要,不能有丝毫差错,而且此文件绝对不能被其他人得知其内容。如何才能实现这个合同的安全发送?问题1:最自然的想法是,甲必须对文件加密才能保证不被其他人查看其内容,那么,到底应该用什么加密技术,才能使合同传送既安全又快速呢?可以采用一些成熟的对称加密算法,如DES、3DES、RC5等对文件加密。对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用做解密密钥,这种方法在密码学中叫做对称加密算法,问题2:如果黑客截获此文件,是否用同一算法就可以解密此文件呢?不可以,因为加密和解密均需要两个组件:加密算法和对称密钥,加密算法需要用一个对称密钥来解密,黑客并不知道此密钥。问题3:既然黑客不知密钥,那么乙怎样才能安全地得到其密钥呢?用电话通知,若电话被窃听,通过Internet发此密钥给乙,可能被黑客截获,怎么办?方法是用非对称密钥算法加密对称密钥后进行传送。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(PublicKey)和私有密钥(PrivateKey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法(公/私钥可由专门软件生成)。甲乙双方各有一对公/私钥,公钥可在Internet上传送,私钥自己保存。这样甲就可以用乙的公钥加密问题1中提到的对称加密算法中的对称密钥。即使黑客截获到此密钥,也会因为黑客不知乙的私钥,而解不开对称密钥,因此也解不开密文,只有乙才能解开密文。问题4:既然甲可以用乙的公钥加密其对称密钥,为什么不直接用乙的公钥加密其文件呢?这样不仅简单,而且省去了用对称加密算法加密文件的步骤?不可以这么做。因为非对称密码算法有两个缺点:加密速度慢,比对称加密算法慢10~100倍,因此只可用其加密小数据(如对称密钥),另外加密后会导致得到的密文变长。因此一般采用对称加密算法加密其文件,然后用非对称算法加密对称算法所用到的对称密钥。问题5:如果黑客截获到密文,同样也截获到用公钥加密的对称密钥,由于黑客无乙的私钥,因此他解不开对称密钥,但如果他用对称加密算法加密一份假文件,并用乙的公钥加密一份假文件的对称密钥,并发给乙,乙会以为收到的是甲发送的文件,会用其私钥解密假文件,并很高兴地阅读其内容,但却不知已经被替换。换句话说,乙并不知道这不是甲发给他的,怎么办?答案是用数字签名证明其身份。数字签名是通过散列算法,如MD5、SHA-1等算法从大块的数据中提取一个摘要。而从这个摘要中不能通过散列算法恢复出任何一点原文,即得到的摘要不会透露出任何最初明文的信息,但如果原信息受到任何改动,得到的摘要却肯定会有所不同。因此甲可以对文件进行散列算法得到摘要,并用自己的私钥加密(因为非对称算法可逆,即用私钥可解开公钥加密的文件,反之亦然),这样即使黑客截获也无用。因为黑客不会从摘要内获得任何信息,但乙却不一样,他可用甲的公钥解密,得到其摘要(如果用甲的公钥能够解开此摘要,说明此摘要肯定是甲发的,因为只有甲的公钥才能解开用甲的私钥加密的信息,而甲的私钥只有甲自己知道),并对收到的文件(解密后的合同文件)也进行同样的散列算法,通过比较其摘要是否一样,就可得知此文件是否被篡改过(因为若摘要相同,则肯定信息未被改动,这是散列算法的特点)。这样不仅解决了证明发送人身份的问题,同时还解决了文件是否被篡改问题。问
本文标题:U盾的工作原理
链接地址:https://www.777doc.com/doc-2853803 .html