【转帖】基于MatrixSSL的嵌入式系统中SSL协议实现

本文介绍了MatrixSSL,一个针对小型应用程序和设备设计的嵌入式SSLv3协议栈,适合资源受限的嵌入式环境。MatrixSSL提供简单API,能方便地整合到嵌入式应用中,支持TCP/IP和其他虚拟通信通道,文章详细阐述了其初始化、会话创建、数据传输及结束过程,并给出了实例程序。
摘要由CSDN通过智能技术生成
 

1引言

  在过去几年里Internet和嵌入式技术发展迅速,Internet在服务器、桌面机和包括PDA和小型电话的便携式电脑上应用迅速增长。随着更简单、资源更受限制连接到WEB的设备(探测器、家居设备、个人医疗设备)数量增长,这种趋势将会继续。具有传感和通信功能的嵌入式设备将计算机技术应用于今天不寻常的设备(现场监控,医疗紧急响应、战场管理和家居自动化)中变成可能。这些嵌入式应用都具有安全需要,没有足够的安全,攻击者可以控制这些嵌入式设备并引发灾难性的反应。

  SSL[1]是今天在Internet上最流行的安全协议,它内建于很多流行的应用程序里,包括所有著名的WEB浏览器,并且广泛被信任用于加强敏感信息传输包括:在线银行,证券交易和电子商务。SSL 采用数字证书、对称/ 非对称密钥加密、消息摘要和数字签名等技术提供身份认证、数据保密、数据完整性三大安全服务,可以为嵌入式系统提供一个完善的安全解决方案。但现有大多数SSL协议实现都没有针对嵌入式系统,不适合于嵌入式Internet要求。

  MatrixSSL[3]是针对小型应用程序和设备设计的嵌入式、开放源码SSLv3协议栈(商业版支持TLS协议)。它减少了将SSL整合进嵌入式工程的复杂性,使用一个简单的API和安全层,用户可以很容易地将MatrixSSL整合到它们的应用程序。Matrixssl使用工业界标准的加密算法(RC4、DES3、AES、RSA)和协议,它确保用户获得一个编译不到50K(Openssl[2]需要1M左右)的提供强大和可靠安全解决方案的库函数,并具有可插拔密码套件、算法和可移植性强等特点,可以方便定制密码套件和算法以及平滑地向多平台移植,非常适合在资源受限的嵌入式环境中使用。

2 MatrixSSL程序流程

  MatrixSSL库函数没有针对某一具体的传输协议,它采用公共API方式可以非常理想的保护传输于任何虚拟通信通道上的数据,不但可用在TCP/IP上也可用于串口通信上,但主要的MatrixSSL整合用于保护在TCP套接字上计算机系统间的数据。由于MatrixSSL库函数没有专门针对TCP/IP,在使用时需要对公共API进行封装以满足在具体传输层上的需要。MatrixSSL提供了对公共API封装的一个套接字实例(可根据需要自行对公共API进行封装),通过调用封装的套接字API接口可以非常容易地实现SSL协议。下面将按照封装API套接字在应用程序中整合点来分析它们:

  1)初始化MatrixSSL库函数

  在使用Matrixssl前需要对协议进行初始化,调用公共API实现对库函数初始化:
  int matrixSslOpen();//初始化库函数数据结构
  int m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值