⾛进硬件时代的⾝份认证(三):⽹银U盾安全认证原理解析编者按:你是不是曾经疑惑,开通⽹银为什么⼀定要配发U盾呢?今天这篇推送或许可以回答你这个问题。U盾(USBkey),即银⾏系统在2003年推出并获得国家专利的客户证书USBkey的俗称,是银⾏提供的办理⽹上银⾏业务的⾼级别安全⼯具。它外形酷似U盘,像⼀⾯盾牌,时刻保护着⽹上银⾏资⾦安全。U盾是⽤于⽹上银⾏电⼦签名和数字认证的⼯具,它内置微型智能卡处理器,采⽤1024位⾮对称密钥算法对⽹上数据进⾏加密、解密和数字签名,确保⽹上交易的保密性、真实性、完整性和不可否认性。本⽂节选汪德嘉博⼠《⾝份危机》⼀书中U盾(USBKEY)章节,带⼤家了解U盾是如何确认⽹络⽤户的⾝份和⽤户数据的安全?
拥有U盾,⼈们办理⽹上银⾏业务时,不⽤再担⼼⿊客、假⽹站、⽊马病毒等各种风险,U盾可以有效保障银⾏客户的⽹上银⾏资⾦安全。除U盾外,各银⾏还推出了⼀系列安全措施:通过别名登录(⼀种不同于传统账号登录的⾃定义登录⽅式),登录密码和⽀付密码双重密码控制,以及⽀付额度控制等措施来确保客户安全;通过⽹址核对、⽹站证书验证、预留信息验证等⽅式来识别和防范假冒银⾏⽹站。
U盾作为移动数字证书,它存放着⼀位银⾏客户个⼈的数字证书,并不可读取。同样,银⾏也记录着这⼀客户的数字证书。当银⾏⼀客户尝试进⾏⽹上交易时,银⾏会向其发送由时间字串,地址字串,交易信息字串,防重放攻击字串组合在⼀起进⾏加密后得到的字串A,客户的U盾将根据客户的个⼈证书对字串A进⾏不可逆运算得到字串B,并将字串B发送给银⾏,银⾏端也同时进⾏该不可逆运算,如果银⾏运算结果和客户的运算结果⼀致便认为客户合法,交易便可以完成,如果不⼀致便认为不合法,交易便会失败。理论上,不同的字串A不会得出相同的字串B,即⼀个字串A对应⼀个唯⼀的字串B:但是字串B和字串A⽆法得出你的数字证书,⽽盾具有不可读取性,所以任何⼈都⽆法获得你的数字证书。并且银⾏每次都会发不同的防重放字串(随机字串)和时间字串,所以当⼀次交易完成后,刚发出的B字串便不再有效。综上所述,理论上U盾是绝对安全的,其理论上发⽣伪造概率⼤约为2的80次⽅分之⼀。
U盾的发展史
1、⼀代U盾
它是由⼀块内置安全系统芯⽚、电⼦数字证书与签名秘钥构成的。安全芯⽚的作⽤是对使⽤U盾计算机进⾏安全扫描,排除风险。电⼦数字证书与⽹站安全证书互动,实现⽤户登录安全保障,⽽每个U盾特有的签名秘钥是不可以被复制的,秘钥的唯⼀性特质,再次加强其安全防护。
⼀代U盾是基于便利性的理念,外形就像⼀个USB,因此在提议之初便得到了发展。同时,U盾是基于PKI技术,并且采⽤1024位⾮对称密钥算法对⽹上数据进⾏加密、解密和数字签名等相关操作,确保⽹上交易的真实性与安全性。它设备虽然⼩巧,但技术含量极⾼。
随着电⼦商务和PKI应⽤的兴起,数字证书作为确认⽤户⾝份和保护⽤户数据有效⼿段越来越被⼈们所接受。然⽽数字证书实质上表现为带有⽤户信息和密钥的⼀个数据⽂件,如何保护数字证书本⾝⼜成为PKI体系中最薄弱的环节。数字证书可以保存在各种存储介质上,如软盘、硬盘等。国内CA早期颁发的数字证书都是以软盘的形式发放,或者由⽤户从⽹络上下载,然后导⼊到系统中保存在硬盘上。然⽽,⽤软盘保存数据是⾮常不可靠和不安全的,软盘虽然便于携带,却⾮常容易损坏,⽽⽤硬盘保存数据虽然不容易损坏,但是不便于携带,更致命的是不论⽤硬盘还是⽤软盘保存数字证书都⾮常容易被复制或被病毒破坏。虽然⼀般数字证书都带有密码保护,然⽽⼀旦证书被⾮法复制,整个安全系统的安全性就降低到仅仅靠密码保护的级别。于是,专门⽤于存储秘密信息的U盾就很⾃然的成为数字证书的最佳载体。
U盾⼚家将U盾与PKI技术相结合,开发出了符合PKI标准的安全中间件,利⽤U盾来保存数字证书和⽤户私钥,并对应⽤开发商提供符合PKI 标准的编程接⼝如PKCS#11和MSCAPI,以便于开发基于PKI的应⽤程序。由于U盾本⾝作为密钥存储器,其⾃⾝的硬件结构决定了⽤户只能通过⼚商编程接⼝访问数据,这就保证了保存在U盾中的数字证书⽆法被复制,并且每⼀个U盾都带有PIN码保护,这样U盾的硬件和PIN码构成了可以使⽤证书的两个必要因⼦。如果⽤户PIN码被泄漏,只要保存好U盾的硬件就可以保护⾃⼰的证书不被盗⽤,如果⽤户的U 盾丢失,获得者由于不知道该硬件的PIN码,也⽆法盗⽤⽤户存在U盾中的证书。与PKI技术的结合使U盾的应⽤领域从仅确认⽤户⾝份,到可以使⽤数字证书的所有领域。
但⼀代U盾的客户获得交易单详情地途径只有由计算机屏幕上的⽹页,增⼤了资料交互经历被不法分⼦攻击的危险。同时,⼀代U盾并没有⼀个危险预报功能,在对信息进⾏签名操作时,不会针对性的提⽰,也不会提供给⽤户下⼀步操作的步骤。这⽆疑⼤⼤增加了U盾被远程劫持的可能性,甚⾄出现客户签名的是未知订单,造成意外财产损失。⼀代U盾主要有以下两个关键问题:(1)⽹页病毒后台修改未完成的交易项或⽀付信息,强⾏让⽤户打款给⿊客或是完成不法分⼦的订单。(2)罪犯通过⽊马将客户在电脑上使⽤的U盾进⾏虚拟⾄他本地的计算机,⽤客户财产进⾏⽀付或转账活动。
2、⼆代U盾
⼆代U盾,在⼀代USBKey基础上增加显⽰、按键功能。⼀代U盾已是⽐较成熟的安全产品,但是近年来对U盾产品的攻击⼿段不断翻新,层出不穷。近来,⿊客通过“⽊马”远程控制主机,冒⽤合法⽤户的U盾,为⾮法数据⽣成合法签名的案件已有发⽣。虽然这类案件主要由于客户端环境的脆弱性导致,与U盾本⾝的安全性没有太⼤关系,但只有解决在危机四伏的客户端环境下使⽤⽹上银⾏的安全问题,才能真正解决⽤户和银⾏的后顾之忧,促进⽹上银⾏应⽤的健康发展。
在此背景下,为了解决⼀代U盾应⽤中由于终端交易环境不安全⽽存在的“交易伪造”和“交易劫持”问题,在2005年提出了“基于可参与性的⽹络可信交易理论”,并以此为基础,针对具体⼯程实现,提出了操作控制列表技术(OperationControlList,简称OCL技术)。它从硬件认证设备端⼊⼿,充分考虑已有应⽤环境的兼容性和便利性,避免对平台及交易环境的改变,很好地解决了终端交易环境不安全所带来的“交易伪造”和“交易劫持”问题,因⽽得到了产业界和各商业银⾏的⼴泛认可和⽀持。OCL技术现已成为中国主流商业银⾏⾼端U 盾的技术标准。
钟欣桐绯闻随着⼆代U盾产业链的成熟,产品成本不断降低,为⼆代U盾产品的⼤规模商⽤奠定了良好的物质基础。从2010年开始,⽬前国内最⼤的⼯、农、中、建四家国有商业银⾏均已⼤规模发⾏⼆代U盾产品,累计发⾏量已超5000万⽀,从技术上和经济上证明了其可⾏性。2012年,各股份制银⾏、城市商业银⾏、农信银系统都已开始进⾏⼆代U盾产品招标和测试⼯作。⼆代U盾产品的推⼴和使⽤,彻底解决了⽹上银⾏交易过程中客户端操作的安全隐患,为⽹上银⾏业务的深⼊开展奠定了坚实的基础,使
各⾦融机构在⽹上银⾏业务的推⼴过程中再⽆后顾之忧。
3、三代U盾
随着具有PKI功能的多应⽤⾦融IC卡的发⾏,在⾦融IC卡中实现数字证书应⽤在技术上成为可能,因此集成了⼆代U盾、智能卡读写器和⾦融IC卡功能的三代U盾产品(也称为互联⽹终端或个⼈⾦融终端)成为业界关注的热点。这种产品在传统智能卡读写器基础上增加了安全芯⽚、显⽰屏、数字键盘等模块,可实现⼆代U盾、动态⼝令(OTP)、⾦融IC卡和⾏业应⽤IC的余额查询、圈存、消费等各种应⽤,使⼈们在⾜不出户的情况下,尽享银⾏提供的各种⾦融服务,是⼈们迈向⽆现⾦社会的必选装备。适合情侣玩的双人游戏
存储型的U盾由于其硬件功能的限制,仅能实现简单的数据摘要算法,对于PKI中⼴泛使⽤的对称和⾮对称加密算法只能通过运⾏在PC上的中间件来实现,这样在加密和签名运算中⽤户的密钥就会出现在内存中,有可能被技术⾼超的⿊客获取。随着⽤户对信息安全要求的提⾼,市场出现了由硬件实现加密运算的需求。智能卡技术的发展,智能卡运算能⼒不断提⾼,出现了可以运⾏加密算法的智能卡。然⽽,以卡⽚形式存在的智能卡在使⽤时必须通过读卡器与电脑通讯,⾮常不⽅便⽤户使⽤。于是出现了将智能卡芯⽚和读卡器结合在⼀起的U盾。带有智能卡芯⽚的U盾可以通过内置的智能卡芯⽚在Key内部硬件实现DES/3DES、RSA加解密运算,并⽀持Key内⽣成RSA密钥对,杜绝了密钥在客户端内存中出现的可能性,⼤⼤提⾼了安全性。
2022年元旦吉祥话祝福语⽬前市场上见到U盾按照硬件芯⽚不同可以分为使⽤智能卡芯⽚的和不使⽤智能卡芯⽚两种,按照CPU是否内置加密算法⼜可以分为带算法和不带算法的U盾。⼀般我们把不带加密算法的称为存储型U盾,带加密算法的称为加密型U盾。
U盾(USBkey)市场分析
近⼏年来,各⼤银⾏纷纷发放USBKey,⽤于⽹上银⾏的安全交易、⾝份认证。USBKey外形如U盘,是⼀种USB接⼝的硬件设备,内置单⽚机或智能卡芯⽚,有⼀定的存储空间,可以存储⽤户的私钥以及数字证书。USBKey在其内部产⽣⽤户私钥,交易安全度⾼,加上⽀付快捷、便于携带、功能全⾯、服务多样等特点,使得其在市场上迅速推⼴,成为保证⽹上银⾏、电⼦商务、电⼦政务等领域交易安全的标准设备。
我国是全球最⼤的USBKey⽣产地,也是全球最⼤的USBKey市场。2010年,中国的USBKey销量超过6000万⽀,同⽐增长90%以上。巨⼤的市场吸引了众多的分⾷者,⽬前国内⼤约有⼗多家USBKey⼚商。2010年前三家USBKey⼚商的销量市场份额⽐重超过60%,市场品牌集中度相对较⾼。这⼀⽅⾯和USBKey产品需要安全认证有关,因为USBKey应⽤领域⽐较特殊,⼀般企业很难进⼊银⾏供应商环节,⽽⼀旦进⼊银⾏则在短期内具有⼀定的稳定性。另⼀⽅⾯,USBKey芯⽚和系统越来越朝着⾼度集成化、可多⽅应⽤等⽅向发展,提⾼了开发难度,同时产品更新换代速度较快,增加了成本投
⼊,已有积累的企业形成先发优势,增加了其他企业的进⼊壁垒。此外,当前银⾏⼤⼒降低采购成本,使得年产量较⼩的⼚商只能在⽹上银⾏以外的市场游离。产品更新换代速度的加快也使该市场的竞争越发激烈。
⽬前中国的USBKey⼤部分应⽤于⽹上银⾏领域,⽤于⽹银的USBKey市场占到总市场的80%以上。造成这种现象的原因主要是⽹上银⾏应⽤和其它领域应⽤的受众体不同。⽹上银⾏应⽤受众体基本为个⼈消费者,虽然企业⽹上银⾏也占据了⼀部分市场,但和个⼈⽹上银⾏⽤户数量相⽐仍然有⾮常⼤的悬殊。相⽐⽽⾔,电⼦政务、电⼦商务等领域的受众体却主要是企业,例如:电⼦政务中的⽹上报税、⽹上报关等受众体基本都是企业。企业⽤户数量和个⼈⽤户数量的悬殊是造成市场应⽤⼀边倒的主要原因。
2010年初,央⾏19号⽂(试⾏)规定国内银⾏需在3年内全部发⾏⼆代USBKey,从⽽开启了国内⼆代USBKey市场。2010年国内⼆代USBKey市场尚处于起步阶段,销量仅占整个USBKey市场10%左右。此外,随着移动互联⽹等应⽤需求的不断扩展,在⼆代USBKey的基础上,集成了OTP功能或增加复合⼿机硬件接⼝的三代USBKey产品,在2013年上半年上市,其销量在随后⼏年⾥稳步提⾼。由于可应⽤于⼿机对⽤户进⾏⾝份认证,随着移动互联⽹的快速发展,三代USBKey将呈现⼴阔的发展前景。到2016年,三代USBKey超过15000余万⽀,占USBKey市场总量超过70%。2011-2016年中国USBKey市场产品结构预测(见图7-5)。
图7-5 2011-2016年中国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盾(USBkey)技术原理
基于USBKey⾝份认证系统主要有两种应⽤模式:⼀种是基于冲击/响应的认证模式,另⼀种是基于PK
I体系的认证模式,⼴泛运⽤在电⼦政务、⽹上银⾏。
USBkey⾝份认证系统应⽤模式
1、基于冲击/响应的认证模式
贸易经济专业采⽤冲击/响应的认证⽅法,每个USBkey都有⽤户PIN码,实现双因⼦认证功能。USBkey内置单向散列算法,预先在USBkey和服务器端存储⼀个证明⽤户⾝份的密钥,当需要在⽹络上验证⾝份时,先由客户端向服务器发送⼀验证请求。服务端接收到此请求后⽣成⼀个随机数并通过⽹络传输给客户端(此为冲击),客户端收到的随机数提供给插在客户端上的USBkey,由USBkey使⽤该随机数与存储在USBkey 中的密钥进⾏带密钥的单向散列运算,并得到⼀个结果作为认证证据传送给服务器(此为响应)。与此同时,服务器使⽤该随机数与存储在服务器数据库中的该客户密钥进⾏单向散列运算,如果服务器运算的结果与客户端传回的响应结果相同,则认为客户端是⼀个合法的⽤户。USBKEY挑战/应答原理流程图(见图7-6)。
女用香水图7-6 USBKEY挑战/应答原理流程图
2、基于PKI体系的认证模式
PKI(PublicKeyInfrastructure)即公共密钥体系,即利⽤⼀对互相匹配的密钥进⾏加密、解密。⼀个公共密钥(公钥,publickey)和⼀个私有密钥(私钥,privatekey)。其基本原理是:由⼀个密钥进⾏加密的信息内容,只能由与之配对的另⼀个密钥才能进⾏解密。公钥可以⼴泛地发给与⾃⼰有关的通信者,私钥则需要⼗分安全地存放起来。每个⽤户拥有⼀个仅为本⼈所掌握的私钥,⽤它进⾏解密和签名;同时拥有⼀个公钥⽤于⽂件发送时加密。当发送⼀份保密⽂件时,发送⽅使⽤接收⽅的公钥对数据加密,⽽接收⽅则使⽤⾃⼰的私钥解密,这样,信息就可以安全⽆误地到达⽬的地了,即使被第三⽅截获,由于没有相应的私钥,也⽆法进⾏解密。
引⼈PKI安全体系,在PKI基础之上以数字证书的形式解决了公钥信息的存储表⽰问题,通过把要传输的数字信息进⾏加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性。同时使⽤硬件USBKey,通过该USBKey中的存储空间存储⽤户的私钥、会话秘钥以及数字证书等机密数据,并通过该硬件保证⽤户的私钥不可导出,这样以来就⼜充分保证了私钥等机密信息的安全性。⽤户只能通过USBKey内部的CSP模块访问私密数据,提供了银⾏级别的安全性。
服务器端验证⽤户⾝份并传输数据的通信流程如下:
(1)客户端通过确认按钮,将信息A(⽤户名、密码等)发送给服务器;
(2)服务器收到信息A后,将信息A、当前系统时间、随机码序列(为了防⽌重放攻击)形成的数据B保存在服务器上,并通过服务器的加密函数将上述信息以客户公钥加密的⽅式加密成数据C发送给客户端;
(3)客户端收到该加密数据C后,⽤⾃⼰的私钥解密,再⽤服务器公钥加密后,形成数据D发还给服务器;
(4)服务器收到数据D后,⽤⾃⼰的私钥解密,并与服务器上原先保存的数据B进⾏⽐对,若完全⼀致,则服务器认为请求者是合法⽤户,允许⽤户的登录操作。
冲击响应模式可以保证⽤户⾝份不被仿冒,但⽆法保证认证过程中数据在⽹络传输过程中的安全。⽽基于PKI的“数字证书认证⽅式”可以有效保证⽤户的⾝份安全和数据传输安全。数字证书是由可信任的第三⽅认证机构—数字证书认证中⼼(CertficateAuthority,CA)颁发的⼀组包含⽤户⾝份信息(密钥)的数据结构,PKI体系通过采⽤加密算法构建了⼀套完善的流程,保证数字证书持有⼈的⾝份安全。⽽使⽤USBKey可以保障数字证书⽆法被复制,所有密钥运算在USBKey中实现,⽤户密钥不在计算机内存出现也不在⽹络中传播,只有USBKey的持有⼈才能够对数字证书进⾏操作,安全性有了保障。
结束: U盾具有安全可靠,便于携带、使⽤⽅便、成本低廉的优点,加上PKI体系完善的数据保护机
制,使⽤U盾存储数字证书的认证⽅式已经成为⽬前主要的认证模式。随着移动互联⽹时代飞速发展,不管是传统U盾还是进化后的U盾,在⽤户的⽣活中始终扮演者重要⾓⾊,都是保护⽤户资⾦安全的重要⼯具。
关于《⾝份危机》中篇的“硬件时代”章节内容到这⾥就全部分享完毕,希望分享过的内容对⼤家有帮助。事实上,除了之前为⼤家的分享的⾝份认证技术外,基于⼈的⽣物特征的⾝份认证也是个⼈⾝份认证技术中最简单⽽安全的⽅法,是⼀种可信度⾼⽽⼜难以伪造的认证⽅式。在接下来的章节中,将带与⼤家⼀同探讨当前信息安全技术领域的热点——基于⽣物特征的⾝份认证技术,敬请期待!
编辑于 2018-03-22
发布评论