移动终端的安全解决方案d-SSL

时间:2007-04-29
摘 要:目前,关于无线通信的安全协议标准有WTLS、SSL、TLS等。本文分析了SSL协议,并提出了其在移动终端上的安全解决方案d-SSL。
关键词:电子商务;SSL;X.509

引言
安全性是阻碍移动商务在行业获得迅速发展的瓶颈之一。消费者在进行手机购物等移动商务行为时,考虑多的就是安全信用问题。所以,针对移动终端的安全解决方案d-SSL的提出,具有很重要的意义。

d-SSL采用的主要安全技术及其标准规范
d-SSL完整地实现了Internet主要的安全协议:SSL协议。SSL协议通过在应用程序进行数据交换前交换SSL初始握手信息来实现有关安全特性的审查。在SSL握手信息中采用了DES、MD5等加密技术来实现机密性和数据完整性,并采用X.509的数字证书实现鉴别。d-SSL中采用了两类加密技术。
对称加密技术
在对称加密方法中,对信息的加密和解密都使用相同的密钥。也就是说,一把钥匙开一把锁。使用对称加密方法将简化加密的处理,每个贸易方都不必彼此研究和交换专用的加密算法,而是采用相同的加密算法并只交换共享的专用密钥。如果进行通信的贸易方能够确保专用密钥在密钥交换阶段未曾泄露,那么机密性和报文完整性就可以通过对称加密方法加密机密信息和通过随报文一起发送报文摘要或报文散列值来实现。
非对称加密/公开密钥加密
在非对称加密体系中,密钥被分解为一对(即一把公开密钥或加密密钥和一把专用密钥或解密密钥)。这对密钥中的任何一把都可作为公开密钥(加密密钥)通过非保密方式向他人公开,而另一把则作为专用密钥(解密密钥)加以保存。公开密钥用于对机密性信息加密,专用密钥则用于对加密信息的解密。专用密钥只能由生成密钥对的贸易方掌握,公开密钥可广泛发布,但它只对应于生成该密钥的贸易方。
d-SSL的设计
SSL协议简述
SSL协议由SSL记录协议和SSL握手协议两部分组成。
SSL记录协议
在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和记录数据组成的。所有的SSL通信消息,包括握手消息、告警消息和应用数据等,都使用SSL记录协议进行封装。同一时刻同一方向的所有握手协议可以封装在同一个记录中传输。SSL记录协议有四种类型:ChangeCipherSpec、Alert、Handshake和ApplicationData。
SSL握手协议
在通信的初始化阶段,客户方先发出ClientHello消息,服务器方也应返回一个ServerHello消息。这两个消息用来协商双方的安力,包括协议版本、会话ID、交换密钥算法、对称加密算法、压缩算法等。接着服务器方应发送服务器证书(包含了服务器的公钥等),如果服务器要求验证客户方,则要发送CertificateRequest消息。服务器方发送ServerHelloDone消息,表示hello阶段的结束,服务器等待客户方的响应。
如果服务器要求验证客户方,则客户方先发送Certificate消息,然后产生会话密钥,并用服务器的公钥加密,封装在ClientKeyExchange消息中。如果客户方发送了自己的证书,则再发送一个数字签名CertificateVerify消息来对证书进行校验。
随后,客户方发送一个Change CipherSpec消息,通知服务器以后发送的消息将采用先前协商好的安全参数加密,再发送一个加密后的Finish消息。服务器在收到上述两个消息后,也发送自己的Change CipherSpec消息和Finish消息。至此,握手全部完成,双方可以开始传输应用数据。
d-SSL体系结构
d-SSL的特点及其模块结构
在实现过程中,将δ-SSL分为几个模块,如图1所示。
d-SSL有如下几个特点:
?可移植、可剪裁、可配置。主要用标准C语言实现,与硬件平台及嵌入式操作系统无关,可支持不同的CPU和嵌入式操作系统,可以根据应用的需要去掉某些算法模块。
?为了保证良好的可扩展性,在各加、解密算法之上封装了一个很薄的加、解密接口层,这样,第三方的算法模块和IC卡接口模块就可以轻松自如地嵌入到整个体系结构中。
?为了在SSL协商过程中友好地与用户交互,在SSL API中提供了回调的接口。这样,用户可以实时地监控SSL协商的过程,并且可以干预SSL的协商。
?为了在证书存取的处理中屏蔽对底层硬件(Flash)的差异性,提高可移植性,提供了一个简单的文件系统接口。
证书的发放与管理
由于消费电子类的信息终端具有一些特殊性,如:资源有限、要求体积尽量小、成本低等,所以终端上一般不会像PC机一样有软驱、硬盘,因此面向终端的X.509证书的发放和存取都有其一定的特殊性。
一般说来,在终端上存储的证书有两类:
?可信的CA(Certification Authority) 证书。CA的作用是检查证书持有者身份的合法性,并签发证书,以防证书被伪造或篡改。
?用户证书和私钥文件。用户证书用来向对方标志自己的身份,其中含有用户的公钥,而私钥文件则包含了用户的私钥,需要进行加密存储和妥善的保管。为了安全、方便地在Internet上发放用户证书和私钥文件,还有一种PKCS12格式的证书,它把用户证书和私钥文件进行加密后合成为一个证书文件。
从有无IC卡读卡器接口的角度来看,可把终端分为两类,下面将分别阐述两种类别的证书发放和管理方案:
?无读卡器接口的低端产品。
以网上银行为例(用户已在该银行开户),发放证书的流程如下:
1. 用户通过终端浏览器访问该银行网站,并填写申请表。
2. 用户同意银行的协议书,并该银行的根CA证书,存储到终端的flash中。
3. 用户用户证书(PKCS12格式),并记住密码。通过密码校验后存储到flash中。
?有读卡器接口的高端产品。用户证书和私钥文件都存储在IC卡中(CPU卡),并且私钥不会被读出IC卡外,与私钥相关的运算都在IC卡内完成。这种方式的安全性。

结语
本文分析了SSL协议的原理和握手协议的流程,并阐述了d-SSL的体系结构,以及证书的发放与管理策略。■

参考文献
1 Alan O.Freier, Philip Karlton, Paul C.Kocher . The SSL Protocol Version 3.0.Netscape Communications Corporation ,1996
2 R. Housley , W. Ford , W. Polk, D. Solo . RFC 2459:Internet X.509 Public Key Infrastructure Certificate and CRL Profile . 1999
3 Bruce Schneier . 应用密码学. 北京: 机械工业出版社, 2000


  

上一篇:ATM-PON电路仿真业务系统的设计及实现
下一篇:DSP和FPGA在图像传输系统中的应用和实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料