基于多方互不信任的密码拆分管理方法技术

技术编号:12573308 阅读:97 留言:0更新日期:2015-12-23 14:15
本发明专利技术提出了一种基于多方互不信任的密码拆分管理方法,包括:移动设备端密码数据明文的多方管理阶段,该阶段将密码数据明文分为多份分别保存于移动设备端和云端;网络数据包切分、合并阶段,该阶段将分为多个部分,分别保存于互不信任的物理设备上。本发明专利技术将一个密码拆成多个部分,分别存放在互相不信任的多台物理设备上,进而保证在任一方受攻击情况下用户密码数据明文的安全性。通过已有的网络层数据包拆分与合并机制,实现用户密码的拆分与合并,因此兼容已有的应用,不需要修改使用密码的应用程序,也不需要修改相关应用程序的服务端程序。在对用户使用习惯和程序运行性能基本不产生影响的前提下,极大提升用户密码数据完整明文的安全性。

【技术实现步骤摘要】

本专利技术涉及系统数据安全和网络数据安全
,具体地,涉及一种。
技术介绍
随着智能手机的普及,应用程序的数量大量增长,自然也包含了许多需要用户输入用户名、密码进行登录的应用程序,比如电子邮件、手机银行、社交软件等等。由于手机输入的不方便性,用户为了使用方便,通常将登录密码保存在手机中以避免重复输入。然而,当前手机操作系统对这些敏感数据的保护并不够,许多应用程序直接将密码以明文形式保存在手机中,另一部分应用程序虽然对密码进行了加密,但为了版本兼容性和用户迀移的便捷性,将加密的密钥编码在程序中,很容易被攻击者获得,导致加密形同虚设。同时,这些应用程序对用户密码数据明文的保护,完全依赖于手机操作系统提供的应用问数据的隔离性。然而,明文保存的用户密码数据存在很大的风险,其安全性依赖于操作系统的正确实现、应用开发者对接口的正确使用,以及手机的物理安全。首先,由于手机操作系统本身可能存在漏洞,并不能完全保证应用程序问的隔离。其次,应用程序可能没有使用正确的接口,使得用户密码数据的明文保存在不正确的位置,从而无法利用操作系统所提供的安全保护。例如部分应用将用户密码数据保存在了外部存储卡中,使得所有应用均可直接访问。再次,当手机被窃或丢失后,攻击者可以轻而易举的通过其他设备直接读取手机存储,从而获取明文的用户密码数据。当前手机中的大部分应用程序均存在明文保存用户密码数据的问题,其安全性亟待得到增强。由此可见,不在移动设备端保存用户密码数据的完整明文可以从根本上解决用户密码数据的安全性问题,通过采用将密码数据明文一分为二的保存于互不信任的移动设备端和云端这一方法,可以保证用户密码数据的完整明文信息不会在任一端出现。网络数据安全是计算机信息安全领域中最为重要的组成部分之一,直接关系到网络环境下用户数据的保密性、完整性。安全套接层协议(Secure Socket Lager)及其继任者传输层安全协议(Transport Layer Security)是目前最为成熟、可信的保障网络数据安全传输的网络协议,因此现有的商用和开源操作系统(如Windows,Linux,Android和1S等)均实现了对以上协议的支持,其中使用最为广泛的实现是openssl安全套接字层密码库,其具体流程(见图1所示)如下:I)【验证阶段】首先,客户端先向服务器发出加密通信的请求,这被称为ClientHello请求。服务器收到客户端请求后,向客户端发出回应,被称为SeverHello。客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书己经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。2)【密钥协商】如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送以下三项信息:a) 一个随机数。该随机数用服务器公钥加密,防止被窃听。b)编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。c)客户端握手结束通知,表示客户端的握手阶段己经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验。上面第一项的随机数,是整个握手阶段出现的第三个随机数,又称"pre-masterkey"。有了它以后,客户端和服务器就同时有了三个随机数,接着双方就用事先商定的加密方法,各自生成本次会话所用的同一把"会话密钥〃。服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的〃会话密钥〃。然后,向客户端最后发送以下信息:(a)编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。(b)服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也前面发送的所有内容的hash值,用来供客户端校验。至此,整个握手阶段,即【验证阶段】与【密钥协商】全部结束。3)【数据传输】生成"会话密钥"后,客户端与服务器进入加密通信阶段,完全使用普通的HTTP协议,只不过用"会话密钥"加密内容进行数据传输。由此可见,为了保护用户密码数据完整明文的安全性,需要保证在移动设备端和云端进行【数据传输】时均不能获得完整的用户密码数据明文。同时为了不对移动设备端的应用程序和服务端程序进行修改,也要保证发送到服务端的网络数据包解密后可以获取到用户密码数据的完整明文。目前没有发现同本专利技术类似技术的说明或报道,也尚未收集到国内外类似的资料。
技术实现思路
针对现有技术中存在的上述不足,本专利技术的目的是提供了一种,该密码拆分管理方法,将一个密码拆为多个部分,并分别保存于不同的物理设备;使用密码时通过多方协同的方式,由各个物理设备各自将相关的密码部分通过网络发送给服务端应用程序,由服务端应用程序进行自动的合并。本专利技术在设计上保证了任一方受攻击时密码数据明文的安全性;同时,通过对安全套接字传输层(TransportLayer Security)数据的切分以及传输控制协议(Transmiss1n Control Protocol)数据包的合并避免了对应用程序和相关服务端程序的修改,进而避免了对用户使用习惯的影响。为实现上述目的,本专利技术是通过以下技术方案实现的。一种,包括如下步骤:-移动设备端密码数据明文的多方管理阶段;-网络数据包切分、合并阶段;其中:所述移动设备端密码数据明文的多方管理阶段为,通过应用程序接口初始化云端的密码数据明文部分,并在初始化完成后,移动设备端直接输入密码数据的前一半明文,云端的密码数据明文部分则自动被占位符替代;所述网络数据包切分、合并阶段包括如下步骤:步骤SI,在超文本传输协议层(Hyper Text Transport Protocol)将包含有移动设备端密码数据明文的HTTP数据包切分成多个部分并丢弃包含占位符的网络包,形成网络密码数据明文数据包;步骤S2,同步相应的安全传输层协议(Transport Layer Security)元数据和传输控制协议(Transmiss1n Control Protocol)元数据到云端;步骤S3,包括如下任一个步骤:云端利用得到的安全传输层协议元数据和传输控制协议元数据对网络密码数据明文数据包进行加密并构造正确的网络数据包发送至服务器端;或通过MultiPath TCP (多径TCP,是一种利用多条路径并发传输的传输层协议)的方式直接将网络密码数据明文数据包发送至服务器端;步骤S4,服务器端对收到的网络数据包或网络密码数据明文数据包进行正常解密流程以完成对用户完整的密码数据明文的使用。优选地,所述应用程序接口包括:-CREATE_TABLEO接口:用于创建一个云端密码表;-LIST_TABLE()接口:用于显示云端所有的密码表记录;-NEff_PASS()接口:用于在云端密码表中插入一条密码数据明文记录;-DELETE_PASS()接口:用于在云端密码表中删除一条密码数据明文记录。优选地,所述步骤SI中,将包含有移动设备端密码数据明文的HTTP数据包切分成三个部分。与现有技术相比,本专利技术具有如下有益效果:1、本专利技术通过将密码数据明文分为多个部分,分别保存于互不信任的物理设备上,保证了任一相关物理设备均不会出现密码数据的完整明文信息,从而在任一物理设备被攻击的情况下,保证了用户密码本文档来自技高网
...

【技术保护点】
一种基于多方互不信任的密码拆分管理方法,其特征在于,包括如下步骤:‑移动设备端密码数据明文的多方管理阶段;‑网络数据包切分、合并阶段;其中:所述移动设备端密码数据明文的多方管理阶段为,通过应用程序接口初始化云端的密码数据明文部分,并在初始化完成后,移动设备端直接输入密码数据的前一半明文,云端的密码数据明文部分则自动被占位符替代;所述网络数据包切分、合并阶段包括如下步骤:步骤S1,在超文本传输协议层将包含有移动设备端密码数据明文的HTTP数据包切分成多个部分并丢弃包含占位符的网络包,形成网络密码数据明文数据包;步骤S2,同步相应的安全传输层协议元数据和传输控制协议元数据到云端;步骤S3,包括如下任一个步骤:云端利用得到的安全传输层协议元数据和传输控制协议元数据对网络密码数据明文数据包进行加密并构造正确的网络数据包发送至服务器端;或通过MultiPath TCP的方式直接将网络密码数据明文数据包发送至服务器端;步骤S4,服务器端对收到的网络数据包或网络密码数据明文数据包进行正常解密流程以完成对用户完整的密码数据明文的使用。

【技术特征摘要】

【专利技术属性】
技术研发人员:夏虞斌陈海波管海兵臧斌宇
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1