论文部分内容阅读
目前,移动互联网的发展日新月异,在此基础之上发展起来的电子商务、网上银行和电子政务的安全性也益发严峻。TLS作为主流安全协议,可以在数据通信过程中确保传输信息的完整性、保密性,并可以提供身份认证功能。因此,它被HTTPS、无线通信、虚拟专用网络等所采用以确保传输信息的安全性。针对TLS协议的实现有很多,比如OpenSSL、NSS、GnuTLS、PolarSSL、CyaSSL、 MatrixSSL,由于其应用广泛,该协议已经成为事实上的传输层安全标准。虽然IETF制定的TLS标准已非常完善,但是由于某些加密机制的缺陷以及协议实现、协议逻辑的疏忽,对于TLS协议的攻击层出不穷,比如之前爆发的心脏流血漏洞、CCS注入漏洞、Padding Oracle攻击、重协商攻击等。攻击者与服务器进行交互,通过发起中间人攻击或者发送非法挑战消息,可以获得用户的敏感信息,比如用户名、密码、cookie等。OpenSSL是开源安全套接字层密码库,囊括主要的密码算法、证书管理功能及SSL/TLS协议。由于其开源性以及普及性,本文方案选择OpenSSL作为实现基础,从客户端TLS源码出发,选择RSA密钥交换算法以及CBC加密模式,跟踪分析客户端握手流程以及数据加解密过程。确保TLS通信安全最重要的是确保通信双方会话密钥的安全,TrustZone是系统级的资源安全隔离技术,该技术将程序执行环境划分为安全与非安全,所以本文结合TrustZone技术,将TLS会话过程中的敏感信息放入安全环境进行存储,以实现通信安全增强的目的。针对下面情况,即攻击者不是通过与服务器交互,如中间人攻击,来实施攻击,而是直接攻击客户端操作系统,获取系统最高权限,此时普通TLS协议已不能保护客户端会话安全,因为攻击者可以直接窃取系统运行的内存信息,进而分析获得TLS会话密钥。针对该情况,本文选择嵌入式安全操作系统作为方案的实施平台,该平台的原理是基于ARM TrustZone隔离机制,该机制将执行环境分为普通环境与安全环境,其中安全环境是闭源的,普通环境无权访问安全环境的任何资源。在本文方案中通过重组TLS握手流程,将有关密钥生成的敏感操作放入安全环境中执行,以实现TLS会话密钥的安全存储:通过重组数据传输过程,以实现TLS安全加解密。攻击者即使入侵客户端操作系统,但仍然不能访问闭源的安全环境内存信息从而确保密钥的安全存储,达到TLS安全增强的目的。