基于 SSLTLS 的嵌入式网络通信安全解决方案.doc

上传人:sccc 文档编号:5201469 上传时间:2023-06-13 格式:DOC 页数:6 大小:158.50KB
返回 下载 相关 举报
基于 SSLTLS 的嵌入式网络通信安全解决方案.doc_第1页
第1页 / 共6页
基于 SSLTLS 的嵌入式网络通信安全解决方案.doc_第2页
第2页 / 共6页
基于 SSLTLS 的嵌入式网络通信安全解决方案.doc_第3页
第3页 / 共6页
基于 SSLTLS 的嵌入式网络通信安全解决方案.doc_第4页
第4页 / 共6页
基于 SSLTLS 的嵌入式网络通信安全解决方案.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于 SSLTLS 的嵌入式网络通信安全解决方案.doc》由会员分享,可在线阅读,更多相关《基于 SSLTLS 的嵌入式网络通信安全解决方案.doc(6页珍藏版)》请在三一办公上搜索。

1、精品论文基于 SSL/TLS 的嵌入式网络通信安全解决方案吴昊 北京邮电大学信息与通信学院,北京(100876) E-mail:jyoccd摘 要:随着嵌入式技术的逐渐成熟和网络通信需求的不断增长,嵌入式技术在网络通信领 域中的应用也越来越广泛,但同时也暴露出部分嵌入式设备在网络通信安全方面考虑不足的 问题,潜在的安全隐患没有得到足够的重视,严重威胁到用户的信息安全。而为了解决网络 通信的安全问题,身份认证机制和数据加密传输是最为有效的方法之一。本文在分析了嵌入 式设备网络通信的环境限制和安全需求的基础上,结合基于公钥基础设施的数字证书体系提 供的身份认证能力和 SSL/TLS 协议提供的安全

2、连接技术,探讨了在嵌入式环境下远程网络 通信安全的解决方案,并且给出了使用 OpenSSL 开源工具套件的具体实现方法。 关键词:嵌入式;SSL/TLS;数字证书;OpenSSL1.引 言随着嵌入式技术的不断发展和网络重要性日益提升,能够访问互联网的嵌入式设备也越 来越多。网络存取功能给嵌入式设备带来了配置,管理以及用户使用上的高便捷性和灵活性 的同时,也对网络通信的安全性提出了要求。不同于通用计算机系统,嵌入式设备是应用于 特定场景的专用设备,功能明确,而为嵌入式设备再安装额外高级应用以提升安全性会带来 资源消耗,成本提高等开销,所以在某些应用场景下并不是最合适的。本文将探讨安全的嵌 入式网

3、络远程通信的设计中存在的限制并结合笔者的项目经验,给出实际的设计方案,本文 讨论将基于公钥基础设施 PKI 的数字证书体系和 SSL/TLS 协议两者结合使用,实现嵌入式 设备的远程通信安全。本文将以跨平台的 OpenSSL 工具为例,探讨具体的实现方法。2.OpenSSL简介OpenSSL是一个开源项目1,目标是提供一套健壮性高的商业级别开源工具套件,功能 丰富。其结构主要包括了通用密码算法库,SSL/TLS协议库以及应用程序三个部分。通用密 码算法库是OpenSSL的基础部分,为上层提供了加密解密算法和各种标准的支持。SSL/TLS 协议库,是在通用密码算法库的基础上,实现了SSL/TLS

4、协议的封装。应用程序部分,是基 于前面两个库,提供了大量的应用程序,覆盖了大多数密码领域的应用,包括各种算法的加 密解密,密钥的生成,认证中心相关功能等等。图 1 OpenSSL 结构OpenSSL 的具体结构如图 1 所示,本文中将用到图中蓝色的部件,主要是 PKI 相关应- 1 -用程序以及 SSL/TLS 协议库,具体内容将在后面的章节加以描述。3.数字证书与PKI3.1 数字证书数字证书是由认证中心 CA 发放并经过认证中心数字签名的一种电子文档,用于互联网 上的行为主体身份鉴别。数字证书通常包含了证书持有人的信息,证书持有人的公钥相关信 息,证书有效时间,编号,签名算法等内容。同时需

5、要一个可信赖的第三方机构为此证书签 名。数字证书的可信度实际上是依赖于为证书签名的机构的权威度和可靠度。3.2 PKI简介公钥基础设施PKI2是一种安全基础设施的标准,基于公开密钥算法,数字证书是其核 心元素。主要目标是将网络行为主体与其公钥唯一绑定在一起,从而确定网络主体身份的唯 一性和真实有效性,解决身份鉴定的问题。公钥基础设施通过数字证书的管理,来维护整个 网络中主体之间的信任关系。公钥基础设施不是一个单一的设施,而是由认证中心 CA,注册机构 RA,最终实体 EE 等部件组成。用户可通过注册机构 RA 申请数字证书,并登记身份信息,RA 将对申请人做 身份鉴别和资格认定,审核通过后,注

6、册中心 RA 将通知认证中心 CA 签发数字证书,最后 注册中心 RA 再将数字证书发放给用户。注册中心 RA 不是必须的,只是帮助认证中心完成 一部分注册审查的工作。4.SSL/TLS协议安全套接层SSL3以及它的后继者传输层安全协议TLS3 4,都是为基于TCP/IP协议栈的 网络提供了一种安全的通信方式,同时也能保证通信的数据完整性。SSL3.0 协议和TLS1.0 协议实际相差很小。SSL 和 TLS 的意图都是在两个通信实体之间提供一条在其间传递任意应用数据的安全 通道,它们都是基于 TCP 协议,且假定下层的数据包发送机制是可靠的。具体的设计中, SSL/TLS 协议在整个协议栈的

7、位置中是位于 TCP 层之上,应用层之下。图 2 SSL/TLS 协议栈层次协议的设计主要是针对互联网通信中的安全问题,使用 SSL/TLS 可以预防窃听,干扰 和信息伪造等安全问题。TLS 包括了 3 个基本的阶段:(1) 端点之间的加密算法协商过程。(2) 通信端点间的公钥交换和身份认证。- 6 -(3) 基于对等加密技术的数据传输过程。5.安全网络通信模块设计5.1 服务器-客户端架构在嵌入式环境下,大多数的远程通信模块都是采用典型的 CS 架构,利用移植度高接口 统一的 Socket 来实现。不用启用额外的系统服务,开销最小,也有相对较小的维护代价和 较高的灵活程度。但是单纯的服务器-

8、客户端架构,以明文传输,对偷听,干扰,篡改等形 式的网络攻击没有抵抗能力。要解决安全问题,还需要身份认证机制和安全连接机制的支持。5.2 身份鉴别机制在互联网中身份识别最为有效的方法就是使用数字证书,通过检查数字证书的可靠性来 进行通信双方的身份认证。利用OpenSSL的提供的工具,可以构建认证中心,并且为服务器 端和客户端签发数字证书1。5.2.1 申请数字证书申请或制作数字证书5的具体步骤如下:(1) 利用 OpenSSL-genrsa 指令,生成申请者会在网络通信中应用到的密钥对。(2) 利用 OpenSSL-req 指令,登记申请者的国家,省市,公司,邮箱等个人信息和公钥 信息,生成证

9、书签发请求(CSR)。(3) 使用证书签发请求,向国家权威认证中心来申请数字证书,或是利用OpenSSL自建 认证中心进行证书签发6。(4) 认证中心审查通过之后,向申请者签发数字证书。 安全通信是建立在相互,服务器和客户端必须拥有各自的数字证书,服务器必须知晓连接客户的具体身份,以便服务等级鉴定,同时客户端也需要知道具体服务器的身份,以便提 出具体服务请求。5.2.1 数字证书验证模型最为常用的数字证书验证模型5有两种,一种是没有认证中心的参与验证过程,具体的 验证由自身负责,开销较小。一种是验证的方式是交给更为权威的认证中心CA进行,开销 较大,但获得更高的可靠性。由于嵌入式应用大多数情况

10、,资源有限,为了使得通信模式尽可能简化,将采用认证中 心不参与鉴定过程的应用模型。如图 3 所示。图 3 两种数字证书验证模型5.3 建立安全连接使用OpenSSL提供的SSL/TLS库接口1,实现安全连接。 安全连接建立3的具体流程,参见图 4:图 4 SSL 安全连接建立过程示意图(1) Client 调用 SSL_connect。该操作,将会在 Client 端产生出一个随机数 RandomC,并 将这个随机数 RandomC 和 Client 自己的算法信息一并发送给 Server 。该消息被称为ClientHello 消息。(2) Server 调用 SSL_accept。该操作,等

11、待接收 ClientHello 的消息,也产生一个随机数 RandomS,并将这个随机数 RandomS 和 Server 的算法信息也发送给 Client。该消息被称为 ServerHello 消息。完成后直接发送 Server 端的数字证书。(3) Client 将得到 Server 发送过来的数字证书,并据此对 Server 身份加以确认。验证通 过后,向 Server 端发送 Client 端的数字证书和 Client 端密钥加密后的 Client 数字证书。(4) Server 收到 Client 端未加密的数字证书后,也对 Client 端的身份加以确认,如果验 证通过,再用从 C

12、lient 数字证书中获得的 Client 端的公钥,将 Client 端密钥加密后的 Client 数字证书进行解密,并再次验证正确性。(5) Client 端将会产生一个随机数 Pre-Master-Secret,并用从 Server 数字证书中获得的Server 端的公钥将 PMS 加密后,发送给 Server 端。(6) 这时无论是在 Client 端,还是在 Server 端都拥有三个随机数,RandomS,RandomC,Pre-Master-Secret,根据相同的方式计算出 Master-Secret。最后的通信会使用对等加密的形式,双方均取 Master-Secret 作为密

13、钥。(7) Client 端将加密方式改为使用 Master-Secert,发送 SSL 握手结束消息通知 Server, Server 端也将加密方式改为使用 Master-Secert,并发送 SSL 握手结束消息通知 Client 端,到 此为止 SSL 握手结束。Server 端从 SSL_accept 函数返回,Client 端从 SSL_connect 函数返回。(8) 之后 Client 端和 Server 端能通过 SSL_read 和 SSL_write 进行信息的收发,而信息是 用 Master-Secret 加密过后的。5.4 安全数据传输基于 SSL/TLS 的传输都会

14、加密之后进行传输,图 5 中是未使用 SSL 安全连接进行数据 传输,导致在 TCP 连接上的所有传输都是以明文的方式进行,具有潜在的安全隐患。而图6 所示,则是使用 SSL 安全连接之后,所有数据都会以加密的方式进行传输,无法通过截取TCP 包的方式,获得传输数据,是相对安全的数据传输方式。图 5 基于 TCP 的明文数据传输6.总结图 6 使用安全连接的数据传输嵌入式环境的网络通信保障,可在使用 TCP Socket 的基础上,利用 PKI 数字证书体系 提供的权威身份鉴定能力,和 SSL/TLS 协议提供的安全连接机制得以实现。借助 OpenSSL 提供的工具和库,可以将大大降低数字证书

15、制作,和 SSL/TLS 协议的具体实现代价,并且 可满足大部分嵌入式设备网络通信的安全需要。参考文献1 OpenSSL 官方网站EB/OLhttp:/www.openssl.org,20082 宁宇鹏,陈昕PKI 技术M北京:机械工业出版社,20043 Eric.RescorlaSSL 与 TLS Designing and Building Secure SystemsM崔凯译北京:中国电力出 版社,20024 T.Dierks,E.RescorlaThe Transport Layer Security (TLS) Protocol Version 1.2EB/OL IETFRFC524

16、6 ,20085 王志海,童新海,沈寒辉OpenSSL 与网络信息安全-基础、结构和指令M北京:清华大学出 版社;北京交通大学出版社,20076 谭晓青利用 OpenSSL 建立 PKI 数字证书系统J科学技术与工程,2005,第 20 期,1552-1554Embedded Device Network Secure CommunicationImplementation Based on SSL/TLSWu HaoDepartment of Information and Telecommunication, Beijing University of Posts andTelecommu

17、nications, Beijing (100876)AbstractEmbedded technology has been widely applied in network communication field due to the growth of embedded technology and increase of network communication requirement. At the same time there are also secure problems found in some of those network embedded devices. W

18、e should pay attention to those potential secure problems, because they are big threats for user information security. In order to solve network communication secure problems, some of the most effective methods are authentication and data encryption technology.In this paper, the author analyzed the

19、embedded device network security requirement and discussed a simple method to implement embedded system network secure communication based on PKI digital certificate system and SSL/TLS protocol. The OpenSSL which is a useful tool kit for developers is also introduced for engineering implementation.Keywords: Embedded;SSL/TLS;Digital Certificate;OpenSSL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号