银联商务POS数字签名方案.doc_第1页
银联商务POS数字签名方案.doc_第2页
银联商务POS数字签名方案.doc_第3页
银联商务POS数字签名方案.doc_第4页
银联商务POS数字签名方案.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

银联商务POS数字签名方案银联商务有限公司创新业务部二九年四月版本控制信息版本日期拟稿和修改说明1.02009-04-29创新业务部本文档中的所有内容为银联商务有限公司的机密和专属所有。未经银联商务有限公司的明确书面许可,任何组织或个人不得以任何目的、任何形式及任何手段复制或传播本文档部分或全部内容。目 录1.名词解释42.采用数字签名方案的目的53.证书分级管理53.1.收单行管理的证书种类53.2.POS生命周期中证书的维护过程64.数字签名方案原理简介及操作说明84.1.数字签名方案原理简介84.2.证书的产生94.3.POS端证书的管理94.4.证书的使用以及应用程序进行数字签名的操作方式104.5.证书的更新104.6.调试终端与正式布点终端的切换114.7.TMS和签名校验相关的流程114.8.相关工具的开发11附录A 证书文件和签名文件的数据结构12 1. 名词解释HSAH算法:把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是说,散列值的空间通常远小于输入的空间,不可能从散列值来唯一的确定输入值。RSA算法:是第一个既能用于数据加密也能用于数字签名的算法,因此它为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA 密钥,其中之一是保密密钥,即私钥,由用户保存;另一个为公开密钥,即公钥,可对外公开,甚至可在网络服务器中注册,人们用公钥加密文件发送给个人,个人就可以用私钥解密接受。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。 该算法基于下面的两个事实,这些事实保证了RSA算法的安全有效性: (1)已有确定一个数是不是质数的快速算法; (2)尚未找到确定一个合数的质因子的快速算法。CA(Certification Authority):颁发数字证书的权威机构,它具有权威性、公正性和可靠性。其主要任务是受理数字证书的申请、签发及对数字证书的管理。在受理申请的同时,一般还会核对申请者的身份,以确保正确。公钥(Public Key):RSA密钥对中用来对密文数据进行解密的密钥称为公钥,公钥由模数n和指数e组成。私钥(Private Key):RSA密钥对中用来对明文数据进行加密的密钥称为私钥,私钥由模数n和指数d组成。数字摘要:采用HASH算法(比如SHA-1)将任何长度的明文摘要成一串固定长度(20字节)的密文。运算后得到数字串有如原来明文的数字指纹,不同明文的摘要相同的概率近乎0,而同样的明文其摘要必定一致。数字签名: .数字签名是指使用密码算法对待发的数据(文件)进行加密处理,生成一段信息,附着在原文上一起发送,这段信息类似现实中的签名或印章,接收方对其进行验证,判断原文真伪。公钥证书(Public Key Certificates):公钥证书是一个经认证中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。公钥证书文件(PublicKeyFILE):是由公钥证书文件头(包含对公钥证书的一些版本控制等管理信息)+公钥证书+公钥证书的数字签名3个部分组成的。是用来实际下装到POS中,能够被POS解析并安装的文件。2. 采用数字签名方案的目的(1)POS的应用软件允许通过下载的方式进行更新。为了防止非法使用者下装软件到POS进行非法作案,或者窃取POS中存储的密钥及敏感信息,我们对下载到POS的软件采用了数字签名的方案,数字签名方案包括使用PC端签名工具对下载的软件进行数字签名以及POS端对签名后的软件进行完整性及合法性认证两个方面。通过使用数字签名方案,我们可以确保只有合法的软件才能下载到POS中。(2)采用数字签名方案的目的,只考虑终端对终端程序的真实性和完整性进行验证,而不考虑传输过程中的程序的秘密性。TMS传输协议中已经考虑终端和TMS服务器之间的互相认证,并且有机制保证传输数据的完整性,但是没有对秘密性做考虑。3. 证书分级管理使用二级证书管理,第一级为根证书,第二级为工作证书。根证书用来对工作证书的合法性进行认证,不能用来对应用程序的合法性进行认证。而工作证书用来对被下载的软件的合法性进行认证。3.1. 收单行管理的证书种类一银联商务管理的注:用于签名终端应用程序的私钥是从私钥文件中解析出来的。目前有两种方式保护私钥,一种是对私钥文件进行加密保存(文件方式);另一种是使用USBKEY作为存储介质。建议使用USBKEY来存储,其好处是存储在USBKEY的私钥不可导出,安全级别高。另外可对USBKEY进行保护。也有两种方式:一、USBKEY的PIN码分段管理;二、分多张IC卡来保持PIN码的分量。证书只要有两个:(1) 根证书(公,私钥)(2) 工作证书(公,私钥)二 银联商务分公司管理的证书主要是公钥文件。 (1) 经过厂商根证书签名后的根证书公钥证书文件FILE1,由厂商和银联商务提供。(2) 经过根证书签名后的工作证书公钥证书文件FILE2,由银联商务提供。三各个密钥证书的管理情况汇总表密钥名称保存方式提供者使用者传递方式签名者备注厂商根证书私钥USBKEY终端厂商终端厂商USBKEY无厂商根证书公钥POS中终端厂商终端厂商证书文件终端厂商根证书私钥USBKEYCA银联商务总公司银联商务总公司USBKEY无根证书公钥POS中CA银联商务总公司银联商务总公司证书文件FILE1终端厂商由银联总公司提供给终端厂商签名,签名后由总公司统一发布给各分公司工作证书私钥USBKEYCA银联商务分公司银联商务分公司USBKEY无工作证书公钥POS中CA银联商务分公司银联商务分公司证书文件FILE2银联商务总公司由银联商务总公司后,通过TMS下装更新。 3.2. POS生命周期中证书的维护过程POSPOS状态描述终端厂商银联商务总公司银联商务分公司TMS制造过程POS中有厂商提供的厂商根证书。 负责管理1.向CA申请根证书以及工作证书。其中的私钥部分都分别存放在各自的USBKEY中。2.提供银联商务根证书公钥给终端厂商,用终端厂商根证书对应的私钥对其进行数字签名,生成根证书公钥文件FILE1并且交还给银联商务总公司。总公司把FILE1发布给各分公司。1.收到总公司发来的根证书公钥文件FILE1.2.向银联商务总公司提供工作证书公钥文件,总公司用根证书对应的私钥对其进行数字签名,生成工作证书公钥文件FILE2并且交还给分公司。运输过程接收过程POS由厂商交给银联商务移交以下操作,要求在安全环境下进行。1. 银联商务分公司把经过签名的根证书公钥文件FIEL1下载到POS中,把POS的厂商根证书公钥更新成银联商务根证书并同时把POS中原来的证书全部删除。2. 对于正式布点用的POS,银联商务分公司把工作证书公钥文件FILE2下载到POS中。正式应用程序的发布POS中有银联商务的根证书和工作证书无关以下操作要在安全环境下进行1.用签名工具对应用程序进行数字签名(使用工作证书的USBKEY),并把签名后的文件上传到正式TMS服务器中。1.用TMS下装工具下载签名后的文件到POS中2.POS对下载的文件进行认证,确认是合法的应用程序后允许运行,否则加以删除。更新工作证书/根证书POS中有银联商务的根证书和旧的工作证书无关1.事先就用根证书对新的工作证书/根证书签名。然后上传到TMS上.对于根证书,由于是采用自签名的,所以需要在TMS上保留历史上的各个版本的签名文件.2.每次发布新的工作证书,都要把以前的应用程序用新的工作证书重新签名.3.TMS上只保留用最新工作证书签过名的应用程序.1.POS在和TMS握手的时候,要告诉TMS当前POS保存的根证书/工作证书版本,如果证书版本过低,TMS可以启动更新证书的操作。2.TMS下载新的根证书/工作证书到POS中3.POS对下载的新的根证书/工作证书进行认证,确认是合法的证书,就把旧的证书予以替换。证书有效期到POS在更新证书之前,拒绝下载新的用户程序.但是可以运行旧的程序。无关通过TMS协议更新的证书之后可以使用。从正式布点态切换到调试态POS可以在监控层通过安全认证后(例如输入联机获取到的口令)切换到调试态。以便调试人员调试应用程序。从调试态切换到正式布点态POS可以在监控层通过安全认证后(例如输入联机获取到的口令)切换到正式布点态。这个切换工作会把POS中已有的用户程序全部删除。备注说明:1)、POS处于调试态的时候,下载程序都不需要证书认证。但是屏幕界面会每隔一定时间(例如5秒)弹出一个警告提示框,以便提示用户,此POS处于调试状态,不要进行实际交易。2)、待签名的文件程序的储存格式程序文件与签名文件合并在一起。3)、产权为其他收单行的终端程序的管理其他收单行的程序,如果需要下载到POS所有者的收单行下的POS中,则需要使用所有者收单行的证书进行签名,即终端只认所有者收单行的数字证书。4. 数字签名方案原理简介及操作说明下面,我们以证书的生命周期来描述和数字签名相关的操作说明和原理。一般有证书的产生,证书的使用,证书的更新,证书的管理等。4.1. 数字签名方案原理简介1)、对下载软件的数字签名是由PC端数字签名工具完成的。具体数字签名的实现流程如下:1) 获取数字摘要:采用SHA-1的HASH算法计算要下载的程序文件M的数字摘要H,即 H=HASH (M). 对下载的程序文件M的任何修改都会导致数字摘要H的修改,通过这种方式,我们可以确保下载的程序文件未被修改,是完整的。2) 获取数字签名信息:通过签名工具输入加密后的私钥文件,然后由三位合法用户输入正确的用户名及密钥后获得私钥明文,使用私钥通过RSA算法加密步骤1中得到的数字摘要H,加密后得到结果即为签名信息S,此签名信息的长度与私钥模长相等。3) 文件打包:将要下载的源文件M与签名信息S打包后即生成最终的签名文件N,此文件可以直接下载到POS中。2)、POS接收到签名文件N后,即开始对签名文件N进行合法性认证,具体实现流程如下: 读出存储在POS中的公钥证书,解析得到公钥,然后使用RSA算法对包含在签名文件N中的签名信息S进行解密操作,得到数字摘要H1. 使用SHA-1算法计算源文件M的HASH值,得到数字摘要H2=HASH (M);比较H2是否等于H1,如果相等,则通过了文件认证,源文件M将被存储在POS中;如果不相等,则POS会提示认证失败,源文件M将不会被存储在POS中。4.2. 证书的产生数字签名方案中使用的私钥及公钥由CFCA发放或银联商务自行发放。公钥是以证书的方式存在的,对其安全方面的要求主要是:要求只有在获得授权的情况下才能修改,但是可以自由读取;而私钥则是保密的,必须由合法用户进行安全保护以防止被窃取.公钥以证书文件的形式【由公钥证书文件头(包含对公钥证书的一些版本控制等管理信息)+公钥证书+公钥证书的数字签名3个部分组成】下载到POS中,公钥证书格式遵循ITU-T(国际电信联盟组织)X.509规范,公钥证书中包含了公钥、证书发行者、证书所有者及有效期等信息。从证书的维护管理角度来看,证书采用两级证书树的结构来使用.所以银联商务维护根证书和工作证书两套证书。根证书用来对工作证书的合法性进行认证,不能用来对应用程序的合法性进行认证;而工作证书用来对被下载的软件的合法性进行认证。4.3. POS端证书的管理POS中存储的证书树包含两级证书:根证书和工作证书。根证书用来对工作证书的合法性进行认证。不能用来对应用程序的合法性进行认证。而工作证书用来对被下载的软件的合法性进行认证。一 根证书: 1)厂商根证书:POS中的第一个根证书称为厂商根证书。厂商根证书由终端厂商提供,由终端厂商在生产阶段通过烧片方式写入POS中。2)银联商务根证书:银联商务总公司提供根证书公钥(Translate Root Public Key )给终端厂商,终端厂商用厂商根证书对应的私钥对银联商务根证书公钥进行数字签名,并把签名后的根证书公钥文件交给银联商务总公司。3)POS的交接:当POS被送到各银联商务分公司后,银联商务分公司先下载经过签名的银联商务根证书文件FILE1到POS中,把POS的厂商根证书更新成银联商务根证书。以上根证书更新的同时,POS中旧的证书以及应用程序都会被清除。根证书只能被更新(采用自签名方式),不能被删除。从而保证了根证书的安全性。二 工作证书:工作证书允许通过下载的方式更新,但是必须先使用根证书对应的私钥签名后才能下载到POS中,从而更新旧的工作证书。但是每次更新工作证书,应用区程序都会被清除。根证书和工作证书下载后都不允许通过任何方式删除。4.4. 证书的使用以及应用程序进行数字签名的操作方式1)概述:下载到POS的终端应用程序必须先使用PC端的数字签名工具进行签名.终端应用程序由各终端厂商开发.应用程序开发人员编译生成了最终的目标程序之后,银联商务使用PC端的数字签名工具对应用程序进行数字签名.签名之后的目标程序再使用各终端厂商提供的下装工具下装到POS中.下装工具只负责下装,不负责数字签名.2)安全管理原则:用于签名下载文件的私钥是从私钥文件中解析出来的.为了保护私钥,需要对私钥文件进行加密保存.并且如果按照最高使用安全管理的要求,每次对应用程序进行数字签名时,都需要有3位授权用户输入3组正确的密钥之后才能对应用程序进行数字签名操作.3)具体做法的建议:银联商务产生了公私钥之后,公钥以证书的形式发布给POS厂家,私钥则写入USB-KEY,.对USB-KEY的访问权限采用由3位不同的授权用户输入3组16字节长的密钥进行认证的方式来管理.一旦三人认证通过,则可以把应用程序的数字摘要H输入USB-KEY中进行数字签名,加密后得到签名信息S.这样做的好处,就是私钥信息在整个签名过程中不会泄露.4.5. 证书的更新l 工作证书过期更新后,如何对TMS上的终端应用程序进行处理证书更新后,需要把所有在用的终端应用程序都批量重新签名。另外,对于多应用终端,签名是对每一个应用做一次签名,而不是把终端上的所有应用打包一起做一次签名。加载多应用的终端,如果其中几个应用校验签名合法,另外的一个应用签名校验不合法,可将检验合法的程序下载到终端。l 证书有效期的识别对工作证书有效期的识别,可有两种方式:一、在终端识别;二、在后台进行识别;方案一:建议在后台进行识别。终端本身不判断工作证书的有效期。在TMS协议中,终端要在开始的时候告诉TMS当前POS保存的工作证书版本,如果证书版本过低,TMS可以启动更新证书的操作。方案二:终端判断工作证书的有效期。如果有效期到了,终端不允许下载新的用户程序,除非终端更新了工作证书。l 校验签名的方式终端在下载程序时候才校验签名,平时开机只检验程序的完整性,不校验的合法性。这样的好处是,可以很好地解决POS中旧的由过期证书签署过的应用程序的验证问题。l 终端测试程序的下载如果终端测试程序统一由总公司管理,由于版本繁杂多样,显然是不合适的。如果由分支机构在直接上传到TMS生产系统,不利于终端应用程序的管理。因此需要终端支持调试态,具体见4.6。4.6. 调试终端与正式布点终端的切换POS可以在监控层通过安全认证后(例如输入联机获取到的口令)切换到调试态。以便调试人员调试应用程序。POS处于调试态的时候,下载程序都不需要证书认证。但是屏幕界面会每隔一定时间(例如5秒)弹出一个警告提示框,以便提示用户,此POS处于调试状态,不要进行实际交易。POS可以在监控层通过安全认证后(例如输入联机获取到的口令)切换到正式布点态。这个切换工作会把POS中已有的用户程序全部删除。4.7. TMS和签名校验相关的流程1)POS和TMS握手,完成前期的相互认证2)POS把自己的终端序列号,根证书,工作证书的版本信息,以及POS支持哪些非对称算法类型(RSA还是椭圆曲线等)上传给TMS。(TMS端,证书的版本信息应该就对应了这个证书采用了何种非对称算法)3)TMS根据这些信息判断该POS是否和现有的TMS认证算法(比如RSA还是椭圆曲线,密钥长度等)一致,以及证书版本是否是最新的。如果不需要更新证书,就进入第4步。如果要更新POS上的相应证书,就可以启动更新证书流程。完成后进入第4步。4)TMS进行具体的文件更新操作。5)POS根据协议收到相关文件,通过认证后安装相关文件到POS中6)POS重启,完成相关文件的安装工作。4.8. 相关工具的开发1) 数字签名工具的开发签名工具由银联商务开发。银联商务提供签名工具的算法,生成的签名文件的数据结构以规范的形式加以约定。以便各个终端厂商遵守。2)下载工具的开发由各个终端厂商提供,下载工具用于下载FILE1及FILE2文件到POS终端,并使用银联商务根证书公钥替换厂商出厂根证书。附录A 证书文件和签名文件的数据结构1. 签名的目标文件类型目前需要签名的目标文件包括以下几种类型:1) 应用程序文件:以压缩包文件提供,通常功能相对独立的模块组成一个压缩包文件;2) 证书文件:由认证中心发行的公钥证书文件。2. 证书的数据结构公钥证书及对应的私钥由CA中心发行,公钥证书格式遵循ITU-T(国际电信联盟组织) X.509规范,公钥证书中包含了公钥、证书发行者、证书所有者及有效期等信息。1)DER编码格式X.509标准证书采用DER编码格式,DER编码格式不仅规定了数据的存放格式,也规定了数据类型定义。一个完整的数据结构包含的信息如下:u 格式信息(Identifier Octets):表示数据类型;u 长度信息(Length Octets):表示数据的长度;u 数据信息(Contents Octets):实际存放的数据内容;一般的,一个数据结构可以按照以下格式表示:格式信息长度信息数据信息2)证书结构证书结构中包含了若干个域,每一个域都按照DER编码,下表对证书结构中的各个域进行说明:区域用途版本标识证书格式的版本,目前包含V1/ V2/V3三个版本系列号序列号是由CA中心指派给每一个证书的一个整型数值的唯一标识符,是独一无二的。有序列号和颁发者信息可以确定一个唯一的证书签名算法标识文件签名时采用的加密算法类型和HASH算法类型颁发者标识证书的颁发机构有效期标识证书有效起始日期和有效终止日期两部分内容,即证书在该时间段内有效。主题标识公钥产生的机构。通常,该信息和颁发者信息相同公钥包含公钥对应的密码算法类型描述和公钥本身扩展信息扩展域在证书版本为V2和V3中才有,它表明了证书的其它一些信息。例如,它可以包含颁发机构密钥标识符、主题密钥标识符、密钥用法、基本限制等信息签名信息CA对证书签名后生成的数据3. 证书及程序文件的文件头格式证书与程序文件的下载方式相同,为了使POS能区别证书与程序文件,我们需要给证书文件和程序文件加文件头,用于标识文件类型,对于证书文件,可以在文件头中填入证书版本,从而方便证书管理,加文件头的功能可以由签名工具完成,证书文件和程序文件的文件头长128字节,格式如下:区域大小(字节)必填用途文件类别名称16是文件类别终端文件名16是在终端上的文件名称型号名称16否自定义文件版本16否版本信息显示名称16否自定义所属应用区1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论