首页 > 代码库 > 移动支付的不同安全技术的分析
移动支付的不同安全技术的分析
通过对移动支付安全问题的种类,一般认为可以通过无线公钥基础设施(WPK I)、WAP 安全、身份认证等方式来确保移动支付的安全性。
1、无线公钥基础设施(WPKI)
WPKI (Wireless PKI) 是有线PKI的一种扩展,它将互联网电子商务中PKI 的安全机制引入到移动支付交易过程中。 WPKI通过管理证书、密钥及各种实体间的关系来增强移动电子商务的安全性。
WPKI通过采用公钥基础设施以及证书管理策略,有效地建立了安全有效的无线网络通信环境。WPKI以WAP 的安全机制为基础,通过管理实体间关系、密钥和证书等来增强移动支付的安全性。WPKI作为安全基础设施平台,一切基于身份验证的应用都需要WPKI 技术的支持,它可与WTLS、TCP/IP 相结合,实现身份认证、私钥签名等功能。WPKI 的主要组件包括:终端用户实体应用程序(EE)、PKI 门户(PKI Portal)、认证中心(CA)、目录服务(PKI Directory)、WAP 网关以及服务器等设备,
1.1、WPKI基本工作原理
1)用户向RA提交证书申请;
2)R A对用户的申请进行审查,审查合格后将申请交给CA ;CA 为用户生成一对密钥并制作证书,将证书交给RA ;
3)CA同时将证书发布到证书目录中,供有线网络用户查询;
4)R A保存用户的证书,针对每一份证书产生一个证书URL,将该URL 发送给移动终端用户;
5)同时有线网络服务器下载证书列表备用;
6)移动终端向WAP网关发送文档、签名及证书URL 建立安全WTLS/TLS 连接;
7)WAP网关与有线网络服务器建立TLS/SSL 连接;
8)移动终端和有线网络服务器实现安全信息传送。
1.2、 WPKI的主要技术
在实际使用中,传统的PKI针对无线环境进行优化后形成了WPKI,即WPKI针对PKI协议、证书格式、加密算法和密钥等关键技术均作了精简和优化。
1.2.1、 WPKI协议
处理PKI服务请求的传统方法依赖于ASN.1的BER/DER编码规则,但BER/DER编码方法对处理能力要求较高,不适合WAP设备。WPKI协议用WML语言、WML脚本加密接口和脚本加密库实现,比起用BER/DER编码方法节省了大量处理能力。
1.2.2、WPKI证书格式
制定WPKI证书格式规范是为削减公钥证书所占用的存储空间。其机制之一是为服务器端证书定义一种新的证书格式(即WTLS证书格式)。与标准的X.509证书相比,该证书大大减少了所占用的存储空间。WPKI证书上的另一个非常重要的精简就是使用了椭圆曲线加密算法ECC,ECC算法使用的密钥比RSA算法的密钥要短,通过使用ECC算法,可使证书的存储空间比使用其它算法的证书要少100字节左右。WPKI还限制了IETF PKIX证书格式中某些数据域的大小,由于WPKI证书格式是PKIX证书格式的一个子集,因而可保持与标准PKI之间的互操作性。
1.2.3、WPKI加密算法和密钥
在WAP安全标准中,尽管传统的签名机制为可选项,但由于占用资源多和WAP设备处理能力低带来的性能问题,使得在无线环境中实现传统的签名机制是没有实用价值的。与ECC加密签名算法相比,传统的签名机制(如RSA算法)需要更多的处理资源和更多的存储空间。ECC加密签名算法是业内公认的目前最精简的签名算法,是支持无线环境下的安全机制的一个最适合的选择。典型的ECC算法使用的密钥长度为163位,而在同等加密强度的RSA算法密钥长度是1024位,也就是说,ECC算法使用的密钥长度只是同等加密强度的RSA算法密钥长度的1/6。ECC算法的上述特点使得密钥存储和证书存储占用空间大位减少,数字签名的处理效率得到提高。
2、WAP协议安全方式
我们可以通过WAP 协议方式来解决移动支付交易协议的安全问题,WAP的安全性主要由WTLS/ TLS、以及WMLScriptSignText 来实现。
1)WTLS/ TLS。无线安全传输层WTLS(WirelessTransport Layer Security)是根据工业标准TLSProtocol 制定的安全协定,是设计使用在传输层之上的安全层。WTLS 的功能类似全球资讯网站所用的SSL 加密传输技术,可以确保资料在传输的过程中经过编码、加密处理,以避免黑客在资料传输过程中窃取保密性资料。WTLS 被设计在两个通信应用之间提供私密性、资料一致性和身份认证服务。
WTL S 支持不同的安全等级,每一个等级都牵涉到不同的握手(Hand-shake)需求,较高等级的安全性可能需要较复杂的握手程序及较大的频宽。WTLS 支持不同的加密机制,并依据密钥的长度划分不同的安全等级]。
2)WMLScript SignText。使用者可以通过输入一些文字决定接受或拒绝开发者写入的应用。WAP 浏览器提供一个WMLScript 功能,Crypto.signText 用来要求使用者输入一些字串。当呼叫SignText 方法时,显示使用者输入的字串,要求使用者确认。例如,当使用者接受时,必须输入PIN 码。资料签署后,签章和资料会传回服务器,服务器在取得数位签章
后验证使用者身份。
3、身份认证方式
在移动支付中,最关键的问题是使用者的身份认证,我们提出以下五种方式可以提供不同安全程度的认证:
1)移动电话号码采用实名制管理;
2)移动支付加入固定的密码;
3)移动支付过程中采用共用一副密钥,并开展对称式加密进行数据交换;
4)移动支付中可采用动态密码管理的方式,密码采用唯一性管理;
5)移动支付中可运用移动PKI做身份认证,如WIM。
在实际操作中,将根据不同的因素和安全需求决定不同的身份认证方式。小额移动支付认证可以采用移动电话号码和固定密码认证,大额移动支付认证可以采用固定的密码和动态密码来提高安全性。并且,以WIM为基础的移动PKI 认证方式可以同时满足以上两项要求,进而可以完成更多的移动支付功能。
移动支付的不同安全技术的分析