CN103763315B - 一种应用于移动设备云存储的可信数据存取控制方法 - Google Patents
一种应用于移动设备云存储的可信数据存取控制方法 Download PDFInfo
- Publication number
- CN103763315B CN103763315B CN201410015994.4A CN201410015994A CN103763315B CN 103763315 B CN103763315 B CN 103763315B CN 201410015994 A CN201410015994 A CN 201410015994A CN 103763315 B CN103763315 B CN 103763315B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- client
- encryption
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
一种应用于移动设备云存储的可信存取控制方法,它包括用户注册与登录、密钥生成与数据加密上传、数据下载与解密三个阶段共6个步骤:步骤1‑用户注册;步骤2‑带认证过程的用户登录;步骤3‑加密密钥生成;步骤4‑用户数据加密上传;步骤5‑多个移动设备间密钥共享;步骤6‑数据下载与解密;本发明中用户采用移动TPM芯片来保证密钥交换过程中信任链的传递,采用基于椭圆曲线的加密来降低密钥长度,并且保证多个移动设备间能够安全地共享密钥,与传统云存储服务供应商提供的服务器端或客户端数据加密的方法相比更加安全可靠,置信度高,交互数据量小,它在云存储安全技术领域里具有较好的实用价值和广阔的应用前景。
Description
(一)技术领域
本发明涉及一种应用于移动设备云存储的可信数据存取控制方法,它也是一种应用于多个移动设备通过TPM(Trusted Platform Module,可信平台模块)安全共享云存储服务的方法,属于云计算安全领域。
(二)背景技术
随着移动互联网的快速发展与普及,具有强大计算能力的便携移动设备陆续出现。某些人可能具有多个移动设备并且可以很方便地连入无线网络,因此对于共享或同步他(她)这些设备中数据的需求逐渐增加。云端存储的方式迎合了这些需求。使用云存储服务,用户可以通过移动终端设备在任何时间任何地点接入数据,并且轻松实现多个移动设备间的数据共享。
尽管云存储为移动设备的数据处理提供了灵活性和可扩展性,但其安全性需要得到重视,因为云存储很可能会造成数据丢失的问题,主要可分为以下两类:一类是服务器端的数据丢失,恶意的内部人员或者攻击者可以利用虚拟机监控程序的漏洞执行恶意代码来获得任意存储在云端的用户的数据。而另一类是客户端的数据丢失。如果一个用户丢失了可以连接到云存储服务的移动设备,那么任意一个捡到这个设备的人都可以接入到用户的安全敏感数据。或者用户使用不可信的移动设备进入他(她)的云存储端时,用户的证书或安全敏感信息会被恶意程序截获:驻留在不可信设备中的键盘记录程序、病毒或恶意代码会借由网络造成客户端数据丢失。
因此,在云存储的实际应用中,设计能够保证数据正确存储的可信安全的方案尤为重要。目前,一种典型的云存储商用服务Dropbox,采用的是服务器端数据加密的方式,在服务器端和用户端之间采用SSL协议来传输数据,所有的文件加密密钥都由服务器端软件统一管理,而且这个商用服务所采用的基于用户名和密码的身份鉴别机制也是缺乏抗攻击能力的,因此我们认为这种云存储服务对于移动设备来说是不够安全的。对移动设备云存储这种特殊的应用方式,我们一方面要考虑到安全可信的存取控制方式,另一方面也要考虑到基于云存储数据共享的便捷操作。基于此考虑,我们发明了本方法,涉及的主要技术为TPM(TrustedPlatform Module,可信平台模块)完整性度量技术、TPM封装技术与解封装技术和基于椭圆曲线的加密技术。
TPM是TCG(Trusted Computing Group,可信计算组)提出的一个含有密码运算部件和存储部件的芯片,主要由CPU、存储器、I/O(输入/输出)、密码运算器、随机数产生器、PCR(Platform Configuration Register,平台配置寄存器)和嵌入式操作系统等部件组成,随着移动互联网技术的快速发展,针对移动设备的TPM也日益成熟并开始普及。TPM完整性度量就是对当前平台运行状态的收集。PCR是TPM芯片上一个160比特的存储位置,用来存储平台完整性状态度量值。TPM拥有至少16个PCR,所有的PCR都在TPM的屏蔽区域,通过哈希算法对PCR内存储的数值的扩展可以实现有限的PCR存储无限的组件的完整性度量值,可以表示为PCRn=Hash(PCRn-1||Measurementn)(其中||表示连接符号,Measurementn表示第n次对当前系统状态的完整性度量值,Hash表示通过TPM内置的哈希算法将括号内的任意长度的输入变换为固定长度的输出,这种转换也可以看成是一种压缩映射),这一系列完整性度量值组成的序列反映了系统状态的变迁。
TPM封装技术可以认为是一种加强的加密存储方法,首先选择一组特定的PCR,然后对这些PCR内存储的数值以及需要封装的秘密数据进行非对称加密。输入被封装的秘密数据和选择的PCR内存储的数值。TPM利用加密密钥对封装的秘密数据和PCR内存储的数值进行非对称加密生成封装数据Sealed Data。与封装对应的概念就是解封装,可以将其理解为有条件的解密过程。当用户需要获取被封装的数据时利用解密密钥对其解密,然后判断可信平台当前状态的PCR内存储的数值是否与封装数据中的PCR内存储的数值一致,如果一致,用户就能够获取被封装的数据,解封装成功,否则的话,TPM拒绝输出被封装的秘密数据,解封装失败。
椭圆曲线密码(Elliptic curve cryptography,缩写为ECC)为密码学里运用非常广泛的公钥密码体制。ECC的主要优势在于当提供同等长度的密钥(例如RSA加密算法)时,它提供相当的或更高等级的安全性。其安全性建立于椭圆曲线上的离散对数问题,即在椭圆曲线构成的Abel群Ep(a,b)上考虑方程Q=kP,其中P,Q∈Ep(a,b),k<p,则由k和P易求Q,但是由P、Q求k则是困难的,最新的TPM2.0版本所使用的ECC加密方案中密钥长度为384比特。
(三)发明内容
(1)发明目的
本发明的目的是提供一种应用于移动设备云存储的可信存取控制方法,它克服了现有技术的不足。可用于解决云存储环境中用户对远端数据的可信存取,其实现了多个移动设备对其存储在云服务器中存放数据的可信共享,该方法采用TPM保证其信任链的逐级传递,使其接入可信,并且密钥可在同一用户的不同移动设备中实现安全共享。
(2)技术方案
为了达到上述目的,方案采用TPM完整性度量技术、TPM封装技术与解封装技术和基于椭圆曲线的加密技术,其技术方案如下。
本发明包括三个网络实体:1)客户端(Client):将数据存储在云端的移动终端;2)TB-Cloud服务器(TB-CLOUD Server):TB-CLOUD是指TPM-BASED-CLOUD,是具有TPM的服务器,此服务器作为一个代理服务器管理用户和第三方云存储服务;3)云存储服务器(Cloud StorageServer,CSS):具有专门的资源和计算能力的设备,可存储用户上传到云端的数据。以下将结合附图对所述的可信存取控制的技术方案进行阐述,图1为本发明流程框图;图2为带认证过程的登录;图3为密钥创建协议流程图;图4为多个移动设备共享密钥流程图。
如图1,我们的方法共包括6步,按照执行阶段其可分为用户注册与登录、密钥生成与数据加密上传、密钥共享与数据下载解密三个阶段。
本发明一种应用于移动设备云存储的可信存取控制方法,该方法具体步骤如下:
阶段1:用户注册与登录:包括步骤1~2,在移动设备开机过程中,TPM中的认证组件会测量移动设备操作系统引导装载程序以及操作系统镜像的完整性,基于以上测量结果和PCR之前记录结果的哈希值得到移动设备当前的PCR内存储的数值,即PCRn=Hash(PCRn-1||Measurementn),客户端的注册和登录过程会使用这些PCR内存储的数值,并通过TB-CLOUD服务器的认证服务来验证客户端系统是否处于安全状态;
步骤1:用户注册:初次使用时,一个用户需要通过客户端注册自己的用户名和密码,当输入用户名和密码后,客户端的注册组件会从TPM中读取移动设备当前的PCR内存储的数值,并将用户名和密码以及PCR内存储的数值一起发送到TB-CLOUD服务器的注册服务处,TB-CLOUD服务器会将收到的数据保存入数据库,以待用户下一次登录时验证使用;
步骤2:带认证过程的用户登录:一个用户需要在客户端输入用户名和密码来执行登录操作。如图2所示,首先,一个安全进程建立在TB-CLOUD服务器认证服务和客户端认证组件之间,当用户发送包含用户名和密码的登录请求时,TB-CLOUD服务器判断用户名和密码是否有效,如果有效则由TB-CLOUD服务器端的认证服务创建返回一个新鲜的随机数R给客户端的认证组件;客户端的认证组件使用这个随机数R以及设备当前的PCR内存储的数值,创建认证请求;当收到客户端的认证请求时,服务器端认证服务通过比较收到的和存储在数据库内的两个PCR内存储的数值来验证客户端环境;如果PCR内存储的数值一致,那么客户端会从TB-CLOUD服务器收到包含认证值H和随机数R的认证通过信息;认证通过后,客户端认证组件会将认证值H存储到到PCR内;如果PCR内存储的数值不一致,则认证失败,客户端会收到代表拒绝服务的认证失败信息;认证过程通过后,客户端准备生成一个加密密钥来加密待上传的数据;
阶段2:密钥生成与数据加密上传:包括步骤3~4,客户端的待上传数据需要加密,因此客户端的认证组件会通过一个密钥生成协议来生成一个密钥对上传数据进行加密后再行上传;认证组件发送一个密钥生成请求到TB-CLOUD服务器,TB-CLOUD服务器更新用户的目前状态,用户通过TPM中的密钥生成器生成对称密钥EKA,用于用户数据的加密和解密(当采用对称加密的方法时,加密和解密使用的是同一把密钥);
步骤3:密钥生成:如图3所示,当需要生成数据加密密钥时,客户端密钥管理组件向TB-CLOUD服务器的认证服务发送一个密钥创建请求,TB-CLOUD服务器的认证服务向客户端的TPM发送一个密钥创建确认,由客户端的TPM中的密钥生成器生成对称密钥EKA作为数据加解密密钥;该对称密钥EKA在不使用时应被封装存储在客户端TPM的永久存储器中;客户端密钥管理组件要求TPM使用现有包含认证值H的PCR内存储的数值封装对称密钥EKA。之后,当TB-CLOUD服务器要求密钥加密或解密数据块时,认证处理器将通过解封过程解封对称密钥EKA。如果认证处理器解封装失败,则客户端不能获取解密密钥,没有人可以接入到用户数据。
步骤4:数据加密上传:当一个用户复制本地数据到云存储服务器时,客户端中TPM之外的文件浏览器首先在TPM的文件处理器中建立加密进程并执行加密操作。文件浏览器在加密完成后与TB-CLOUD服务器的存储管理器之间建立上传会话。然后文件浏览器发送带有文件名的加密数据。TB-CLOUD服务器的云存储管理器选择云存储服务器存储收到的加密数据并更新相关的数据存储信息。
阶段3:密钥共享与数据下载解密:包括步骤5~6,一个用户可能会有多个移动设备,所以应用场景如下:用户现在使用移动设备A(以下简称设备A)为其云存储数据创建账户以及对称密钥EKA,并且上传的数据使用对称密钥EKA加密。如果他想要使用移动设备B(以下简称设备B)来下载数据,那么他必须让设备B拥有对称密钥EKA来解密数据;
步骤5:密钥共享:为了解决密钥多设备密钥共享的难题,TB-CLOUD服务器提供了一种密钥共享协议;TB-CLOUD服务器的密钥分配器,用于在源客户端(即设备A)密钥管理组件和目标客户端(即设备B)密钥管理组件之间协调密钥。
如图4所示,第一阶段通过TB-CLOUD服务器密钥分配器在两个客户端设备间交换设备B的公钥KB。当设备A收到KB,设备A解封密封数据中的加密密钥以取得EKA并用KB对EKA加密加密数据密钥将存储在TB-CLOUD服务器的数据库中;
下一步认证目标设备B。如果认证成功,TB-CLOUD服务器的密钥分配器将传输给设备B。设备B使用自己的私钥PB解密得到对称密钥EKA,然后使用当前设备的PCR内存储的数值密封EKA并存入TPM的永久存储器中。
步骤6:数据下载与解密:当设备B得到对称密钥EKA后,即可从云存储服务器下载并解密设备A存储的加密数据。当一个用户用文件浏览器登录TB-CLOUD服务器的云存储管理器查看自己存储的数据并准备复制数据到本地存储时,就相当于在文件浏览器和TB-CLOUD服务器之间建立了一个下载进程;之后文件浏览器发送附带文件名的下载请求到TB-CLOUD服务器,TB-CLOUD服务器根据文件名,在云存储服务器中搜寻文件,并将下载请求推送给云存储服务器,然后云存储服务器将用户数据的地址经过TB-CLOUD服务器的云存储管理器传送到客户端的文件浏览器;客户端的文件浏览器获得地址后接入存储在云存储服务器的数据并执行下载过程,下载后的加密数据需要传送到客户端的TPM内进行解密处理才可以得到原始的数据;首先,文件浏览器通过与TPM的文件处理器建立数据解密会话,收到会话建立命令后,TPM的文件处理器初始化解密处理器并返回确认到文件浏览器。从而,文件浏览器发送加密数据到TPM的文件处理器,TPM的文件处理器通过解密算法和使用当前PCR内存储的数值解封的对称密钥EKA解密收到的加密数据。最后,解密后的数据返回到文件浏览器并存在设备B的本地存储中。
其中,在步骤3中所述的“EKA”是一个对称密钥,采用对称加密时,加密和解密采用的是同一把密钥。
其中,在步骤4中所述的“文件浏览器”是客户端非TPM中的一个上传于下载组件,主要用于客户端与TB-CLOUD服务器之间创建进程使用。在步骤4中所述的“文件处理器”是TPM中的一个用于数据加密和解密的组件。
其中,在步骤5中所述的“KB”和“PB”是设备B的一对非对称密钥,前者是公钥,后者是私钥,用公钥加密的数据可以用私钥进行解密,设备B的公钥是可以公开的,但是私钥只有设备B才拥有,因此,只有设备B才能解开使用设备B的公钥加密的数据。
(3)优点及功效
本发明一种应用于移动设备云存储的可信存取控制方法,该方法涉及数据的封装,多设备共享数据方面,其优点和功效是:1)与传统云存储服务供应商提供的服务器端或客户端数据加密的方法相比更加安全可靠:2)交互数据量小,用户与服务器之间的通信量固定的,与存储数据大小无关;3)使用TPM从可信根逐级递进保证密钥的可信;4)在多个移动设备密钥共享时能够保证其高置信度。
(四)附图说明
图1为本发明流程框图。
图2为带认证过程的登录。
图3为密钥创建协议流程图。
图4为多个移动设备共享密钥流程图。
图中符号说明如下:
在图1中,数字1,2,3,4,5,6代表各个步骤的序号;
在图2中,ID表示用户的登录身份名,R表示新鲜的随机数,PCR表示平台配置寄存器值,H表示认证值,TPM2_PCR_Extend(H)代表把认证值H通过TPM2_PCR_Extend命令扩展到系统的PCR内存储的数值上。
在图3中,TPM2_Seal(EKA)代表通过封装操作命令把密钥EKA加密保存起来。
在图4中,表示用移动设备B的公钥对用户的数据加密密钥EKA加密。
(五)具体实施方式
以下将结合附图对所述的可信存取控制方法详细阐述,图1为本发明流程框图;图2为带认证过程的登录;图3为密钥创建协议流程图;图4为多个移动设备共享密钥流程图。
主要的符号及算法解释:
(1)PCR内存储的数值代表对当前系统的度量值,由TPM中的一个哈希算法得到固定长度的数值,即PCRn=Hash(PCRn-1||Measurementn)计算得出;
(2)随机数R代表一个新鲜的随机产生的数,它能够保证每次的会话过程都是新鲜的;
(3)EKA代表对称的加解密密钥,用来加密或者解密用户存储在云端的数据;
(4)KB代表移动设备B的公钥,它用来加密对称的数据密钥EKA;PB代表移动设备B的私钥,它用来解密对称的数据密钥EKA;
(5)TPM2_Seal(·)代表封装操作,是一种特殊的加密,与其相对的TPM2_Unseal(·)解封装操作是一种特殊的解密。
本发明可分为用户注册与登录、密钥生成与数据加密上传、密钥共享与数据下载解密三个阶段。其间用到的所有与TPM相关的命令均来自于TPM 2.0C语言函数库。见图1,本发明是一种应用于移动设备云存储中的可信存取控制方法,该方法具体步骤如下:
1、阶段1:用户注册与登录:包括步骤1~2,在移动设备开机过程中,TPM中的认证组件会通过TPM2_PCR_Allocate命令得到当前系统的PCR内存储的数值:即测量移动设备操作系统引导装载程序以及操作系统镜像的完整性,基于以上测量结果和PCR之前记录结果的哈希值得到移动设备当前的PCR内存储的数值。这样就完成了一条从TPM硬件——完整性度量系统——应用程序的信任链。客户端的注册和登录过程会使用这些PCR内存储的数值,并通过TB-CLOUD服务器的认证服务来验证客户端系统是否处于安全状态。
步骤1:用户注册:初次使用移动设备登录云存储服务时,用户需要通过客户端在TB-CLOUD服务器上注册自己的用户名和密码。当输入用户名和密码后,TPM中的认证组件会通过TPM2_PCR_Allocate命令得到当前系统的PCR内存储的数值,客户端的注册组件会通过TPM2_PCR_Read命令从TPM读取移动设备当前的PCR内存储的数值,并将用户名和密码以及PCR内存储的数值一起发送到TB-CLOUD服务器的注册服务处,TB-CLOUD服务器会将收到的数据保存入数据库,以待用户下一次登录时验证使用。
步骤2:带认证过程的用户登录:一个用户需要在客户端输入用户名和密码来执行登录操作。如果TB-CLOUD服务器收到登录操作请求并对用户名和密码与数据库内的存储内容做过对比,认定用户名和密码有效,则用户的客户端可以获得在云存储服务器上存储的数据:当获得加密数据的对称密钥以后存储在云端的文件内容可以被对称密钥解密恢复。为了获得对称密钥,客户端要求从服务器传送认证并且得到一个认证值H(如果客户端满足认证要求TB-CLOUD服务器的认证服务创建一个认证值,并且认证服务存储用户名和认证值之间的对应信息以备后用)。
登录协议包含验证用户证书,远端认证客户端和恢复认证结果。如图2所示,首先,一个安全进程建立在TB-CLOUD服务器认证服务和客户端认证组件之间,当用户发送包含用户名和密码的登录请求时,TB-CLOUD服务器判断用户名和密码是否有效,如果有效则由TB-CLOUD服务器端的认证服务通过TPM2_GetRandom命令创建返回一个新鲜的随机数R给客户端的认证组件。客户端的认证组件使用这个随机数R,设备目前的PCR内存储的数值,通过TPM2_Certify命令创建认证请求。当收到客户端的认证请求时,TB-CLOUD服务器端认证服务通过比较收到的和存储的两个PCR内存储的数值来验证客户端环境。如果PCR内存储的数值一致,那么客户端会从TB-CLOUD服务器收到包含认证值H和随机数R的认证通过信息。认证通过后,客户端认证组件通过TPM2_PCR_Extend命令扩展认证值H到PCR内存储的数值内。如果PCR内存储的数值不一致,则认证失败,客户端会收到代表拒绝服务的认证失败信息。认证过程通过后,客户端准备生成一个加密密钥来加密待上传的数据。
2、阶段2:密钥生成与数据加密上传:包括步骤3~4,客户端的待上传数据需要加密,因此客户端的认证组件会通过一个密钥生成协议来生成一个密钥对上传数据进行加密后再行上传。认证组件发送一个密钥生成请求到TB-CLOUD服务器,服务器更新用户的目前状态,用户通过TPM中的密钥生成器生成对称加密密钥EKA,用于用户数据的加密和解密。
步骤3:密钥生成:如图3所示,当需要生成数据加密密钥时,客户端密钥管理组件向TB-CLOUD服务器的认证服务发送一个密钥创建请求,TB-CLOUD认证服务器向客户端的TPM芯片发送一个密钥创建确认,由客户端的TPM中的密钥生成器生成对称密钥EKA作为数据加解密密钥。对称密钥EKA在不使用时应被封装存储在客户端TPM的永久存储器中。客户端密钥管理组件要求TPM通过TPM2_Seal命令使用现有包含认证值H的PCR内存储的数值封装密钥EKA。之后,当TB-CLOUD服务器要求密钥加密或解密数据块时,认证处理器将通过解封命令TPM2_Unseal解封密钥EKA。如果认证处理器解封装失败,则客户端不能获取解密密钥。
步骤4:数据加密上传:当一个用户复制本地数据到云存储服务器时,客户端中TPM之外的文件浏览器首先在TPM的文件处理器中通过TPM2_EncryptDecrypt命令建立加密进程并执行加密操作。文件浏览器在加密完成后与TB-CLOUD服务器的存储管理器之间建立上传会话。然后文件浏览器发送带有文件名的加密数据。TB-CLOUD服务器的云存储管理器选择云存储服务器存储收到的加密数据并更新相关的数据存储信息。
3、阶段3:密钥共享与数据下载:包括步骤5~6,一个用户可能会有多个移动设备,所以应用场景如下:用户现在使用移动设备A(以下简称设备A)为其云存储创建账户以及数据加密密钥EKA,并且上传的数据使用EKA加密。如果他想要使用移动设备B(以下简称设备B)来下载数据,那么他必须让设备B拥有EKA来解密数据。
步骤5:密钥共享:一个用户会有多个设备,所以应用场景如下:一个用户现在使用设备A并且为TB-CLOUD服务器创建账户以及数据加密密钥EKA,并且上传的数据使用EKA加密。如果他想要使用设备B来存取设备,他必须让设备B拥有EKA来解密数据。为了解决密钥多设备密钥共享的难题,TB-CLOUD服务器提供了一种密钥共享协议。TB-CLOUD服务器的密钥分配器,用于在源客户端(即设备A)密钥管理组件和目标客户端(即设备B)密钥管理组件之间协调密钥。
如图4所示,第一阶段通过服务器密钥分配器在两个客户端设备间交换设备B的公钥KB。KB是一个长度为384比特的ECC加密密钥,通过TPM的TPM2_ECDH_KeyGen命令生成,当设备A收到KB,设备A解封密封数据中的加密密钥以取得EKA并用KB对EKA加密加密数据密钥将存储在TB-CLOUD服务器的数据库中。
下一步认证目标设备B。如果认证成功,TB-CLOUD服务器的密钥分配器将传输给设备B。设备B使用自己的私钥PB解密得到对称密钥EKA,然后使用当前设备的PCR内存储的数值通过TPM2_Seal命令密封EKA并存入TPM的永久存储器中。
步骤6:数据下载与解密:当设备B得到对称密钥EKA后,即可从云存储服务器下载并解密移动设备A存储的加密数据。当一个用户用文件浏览器登录TB-CLOUD服务器的云存储管理器查看自己存储的数据并准备复制数据到本地存储时,就相当于在文件浏览器和TB-CLOUD服务器之间建立了一个下载进程。TB-CLOUD服务器根据文件名,在云存储服务器中搜寻文件,并将下载请求推送给云存储服务器。然后云存储服务器将用户数据的地址经过TB-CLOUD服务器的云存储管理器传送到客户端的文件浏览器客户端的文件浏览器获得地址后接入存储在云存储服务器的数据并执行下载过程,下载后的加密数据需要传送到客户端的TPM通过TPM2_EncryptDecrypt命令进行解密处理才可以得到原始的数据。首先,文件浏览器通过与TPM的文件处理器建立数据解密会话。收到会话建立命令后,TPM的文件处理器初始化解密处理器并返回确认到文件浏览器。从而,文件浏览器发送加密数据到TPM的文件处理器。TPM的文件处理器通过解密算法和使用当前PCR内存储的数值解封的对称密钥EKA解密收到的加密数据。最后,解密后的数据返回到文件浏览器并存在移动设备本地存储的预定路径中。
综上所述,本发明一种应用于移动设备云存储的可信数据存取控制方法,它包括用户注册与登录、密钥生成与数据加密上传、密钥共享与数据下载解密三个阶段共6个步骤:步骤1:注册用户ID和密码;步骤2:带验证的登录过程;步骤3:加密密钥生成;步骤4:用户数据加密上传;步骤5:多个移动设备间密钥共享;步骤6:移动设备B下载移动设备A上传到云端的数据并解密。本发明中用户采用移动TPM芯片来保证密钥交换过程中信任链的传递,采用基于椭圆曲线的加密来降低密钥长度,并且保证多个移动设备间能够安全地共享密钥,置信度高,安全可靠。它在云存储安全技术领域里具有较好的实用价值和广阔的应用前景。
Claims (4)
1.一种应用于移动设备云存储的可信存取控制方法,其特征在于:该方法包括用户注册与登录、密钥生成与数据加密上传、密钥共享与数据下载解密三个阶段共6个步骤:
阶段1:用户注册与登录:包括步骤1~2,在移动设备开机过程中,TPM中的认证组件会测量移动设备操作系统引导装载程序以及操作系统镜像的完整性,基于以上测量结果和PCR之前记录结果的哈希值得到移动设备当前的PCR内存储的数值,即PCRn=Hash(PCRn-1||Measurementn),客户端的注册和登录过程会使用这些PCR内存储的数值,并通过TB-CLOUD服务器的认证服务来验证客户端系统是否处于安全状态;||表示连接符号;Measurementn表示第n次对当前系统状态的完整性度量值;
步骤1:用户注册:初次使用时,一个用户需要通过客户端注册自己的用户名和密码,当输入用户名和密码后,客户端的注册组件会从TPM中读取移动设备当前的PCR内存储的数值,并将用户名和密码以及PCR内存储的数值一起发送到TB-CLOUD服务器的注册服务处,TB-CLOUD服务器会将收到的数据保存入数据库,以待用户下一次登录时验证使用;
步骤2:带认证过程的用户登录:一个用户需要在客户端输入用户名和密码来执行登录操作,首先,一个安全进程建立在TB-CLOUD服务器认证服务和客户端认证组件之间,当用户发送包含用户名和密码的登录请求时,TB-CLOUD服务器判断用户名和密码是否有效,如果有效则由TB-CLOUD服务器端的认证服务创建返回一个新鲜的随机数R给客户端的认证组件;客户端的认证组件使用这个随机值R以及设备当前的PCR内存储的数值,创建认证请求;当收到客户端的认证请求时,服务器端认证服务通过比较收到的和存储在数据库内的两个PCR内存储的数值来验证客户端环境;如果PCR内存储的数值一致,那么客户端会从TB-CLOUD服务器收到包含认证值H和随机数R的认证通过信息;认证通过后,客户端认证组件会将认证值H存储到到PCR内;如果PCR内存储的数值不一致,则认证失败,客户端会收到代表拒绝服务的认证失败信息;认证过程通过后,客户端准备生成一个加密密钥来加密待上传的数据;
阶段2:密钥生成与数据加密上传:包括步骤3~4,客户端的待上传数据需要加 密,因此客户端的认证组件会通过一个密钥生成协议来生成一个密钥对上传数据进行加密后再行上传;认证组件发送一个密钥生成请求到TB-CLOUD服务器,TB-CLOUD服务器更新用户的目前状态,用户通过TPM中的密钥生成器生成对称密钥EKA,用于用户数据的加密和解密,当采用对称加密的方法时,加密和解密使用的是同一把密钥;
步骤3:密钥生成:当需要生成数据加密密钥时,客户端密钥管理组件向TB-CLOUD服务器的认证服务发送一个密钥创建请求,TB-CLOUD服务器的认证服务向客户端的TPM发送一个密钥创建确认,由客户端的TPM中的密钥生成器生成对称密钥EKA作为数据加解密密钥;该对称密钥EKA在不使用时应被封装存储在客户端TPM的永久存储器中;客户端密钥管理组件要求TPM使用现有包含认证值H的PCR内存储的数值封装对称密钥EKA;之后,当TB-CLOUD服务器要求密钥加密或解密数据块时,认证处理器将通过解封过程解封对称密钥EKA,如果认证处理器解封装失败,则客户端不能获取解密密钥,没有人接入到用户数据;
步骤4:数据加密上传:当一个用户复制本地数据到云存储服务器时,客户端中TPM之外的文件浏览器首先在TPM的文件处理器中建立加密进程并执行加密操作,文件浏览器在加密完成后与TB-CLOUD服务器的存储管理器之间建立上传会话,然后文件浏览器发送带有文件名的加密数据;TB-CLOUD服务器的云存储管理器选择云存储服务器存储收到的加密数据并更新相关的数据存储信息;
阶段3:密钥共享与数据下载解密:包括步骤5~6,一个用户可能会有多个移动设备,所以应用场景如下:用户现在使用移动设备A为其云存储数据创建账户以及对称密钥EKA,并且上传的数据使用对称密钥EKA加密;如果他想要使用移动设备B来下载数据,那么他必须让设备B拥有对称密钥EKA来解密数据;
步骤5:密钥共享:为了解决密钥多设备密钥共享的难题,TB-CLOUD服务器提供了一种密钥共享协议;TB-CLOUD服务器的密钥分配器,用于在源客户端密钥管理组件和目标客户端密钥管理组件之间协调密钥;
源客户端为设备A;目标客户端为设备B;
第一阶段通过TB-CLOUD服务器密钥分配器在两个客户端设备间交换设备B的公钥KB;当设备A收到KB,设备A解封密封数据中的加密密钥以取得EKA并用KB对EKA加密加密数据密钥将存储在TB-CLOUD服务器的数据库中;
下一步认证目标设备B;如果认证成功,TB-CLOUD服务器的密钥分配器将 传输给设备B,设备B使用自己的私钥PB解密得到对称密钥EKA,然后使用当前设备的PCR内存储的数值对称密封EKA并存入TPM的永久存储器中;
步骤6:数据下载与解密:当设备B得到对称密钥EKA后,即能从云存储服务器下载并解密设备A存储的加密数据;当一个用户用文件浏览器登录TB-CLOUD服务器的云存储管理器查看自己存储的数据并准备复制数据到本地存储时,就相当于在文件浏览器和TB-CLOUD服务器之间建立了一个下载进程;之后文件浏览器发送附带文件名的下载请求到TB-CLOUD服务器,TB-CLOUD服务器根据文件名,在云存储服务器中搜寻文件,并将下载请求推送给云存储服务器,然后云存储服务器将用户数据的地址经过TB-CLOUD服务器的云存储管理器传送到客户端的文件浏览器;客户端的文件浏览器获得地址后接入存储在云存储服务器的数据并执行下载过程,下载后的加密数据需要传送到客户端的TPM内进行解密处理才得到原始的数据;首先,文件浏览器通过与TPM的文件处理器建立数据解密会话,收到会话建立命令后,TPM的文件处理器初始化解密处理器并返回确认到文件浏览器;从而,文件浏览器发送加密数据到TPM的文件处理器,TPM的文件处理器通过解密算法和使用当前PCR内存储的数值解封的对称密钥EKA解密收到的加密数据,最后,解密后的数据返回到文件浏览器并存在设备B的本地存储中。
2.根据权利要求1所述的一种应用于移动设备云存储的可信存取控制方法,其特征在于:在步骤3中所述的“EKA”是一个对称密钥,采用对称加密时,加密和解密采用的是同一把密钥。
3.根据权利要求1所述的一种应用于移动设备云存储的可信存取控制方法,其特征在于:在步骤4中所述的“文件浏览器”是客户端非TPM中的一个上传于下载组件,主要用于客户端与TB-CLOUD服务器之间创建进程使用;在步骤4中所述的“文件处理器”是TPM中的一个用于数据加密和解密的组件。
4.根据权利要求1所述的一种应用于移动设备云存储的可信存取控制方法,其特征在于:在步骤5中所述的“KB”和“PB”是设备B的一对非对称密钥,前者是公钥,后者是私钥,用公钥加密的数据用私钥进行解密,设备B的公钥是能公开的,但是私钥只有设备B才拥有,因此,只有设备B才能解开使用设备B的公钥加密的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410015994.4A CN103763315B (zh) | 2014-01-14 | 2014-01-14 | 一种应用于移动设备云存储的可信数据存取控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410015994.4A CN103763315B (zh) | 2014-01-14 | 2014-01-14 | 一种应用于移动设备云存储的可信数据存取控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103763315A CN103763315A (zh) | 2014-04-30 |
CN103763315B true CN103763315B (zh) | 2016-12-07 |
Family
ID=50530475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410015994.4A Active CN103763315B (zh) | 2014-01-14 | 2014-01-14 | 一种应用于移动设备云存储的可信数据存取控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103763315B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227613A (zh) * | 2014-06-30 | 2016-01-06 | 北京金山安全软件有限公司 | 一种文件上传方法及装置 |
US9853812B2 (en) * | 2014-09-17 | 2017-12-26 | Microsoft Technology Licensing, Llc | Secure key management for roaming protected content |
CN104408519B (zh) * | 2014-10-29 | 2017-09-15 | 广州艾若博机器人科技有限公司 | 一种将机器人所学知识进行备份和学习的方法 |
CN104468842A (zh) * | 2014-12-31 | 2015-03-25 | 国网甘肃省电力公司信息通信公司 | 电网设备状态信息云存储系统及其数据上传与下载方法 |
CN104618601B (zh) * | 2015-02-05 | 2019-01-22 | 深圳酷派技术有限公司 | 一种数据共享方法及多系统终端 |
CN105119719B (zh) * | 2015-10-16 | 2018-05-04 | 成都卫士通信息产业股份有限公司 | 一种安全存储系统的密钥管理方法 |
US10467421B2 (en) * | 2015-10-23 | 2019-11-05 | Oracle International Corporation | Establishing trust between containers |
CN105404971A (zh) * | 2015-11-24 | 2016-03-16 | 徐文伟 | 一种文件分发的方法 |
CN105553950B (zh) * | 2015-12-08 | 2019-05-21 | 金邦达有限公司 | 信息安全设备及其管理方法、管理装置和管理系统 |
SG11201806423QA (en) * | 2015-12-24 | 2018-08-30 | Haventec Pty Ltd | Improved storage system |
CN105871539B (zh) * | 2016-03-18 | 2020-02-14 | 华为技术有限公司 | 一种密钥处理方法及装置 |
CN105871892A (zh) * | 2016-05-17 | 2016-08-17 | 北京联合大学 | 文件的云存储安全解决方法及系统 |
CN106357678A (zh) * | 2016-10-24 | 2017-01-25 | 宇龙计算机通信科技(深圳)有限公司 | 一种智能终端的云加密存储方法及智能终端 |
CN106506676B (zh) * | 2016-11-24 | 2019-05-24 | 武汉理工大学 | 文件传输处理方法及辅助系统 |
CN106845243A (zh) * | 2016-12-13 | 2017-06-13 | 北京元心科技有限公司 | 提高启动安全的方法和系统 |
CN106776111A (zh) * | 2017-01-06 | 2017-05-31 | 东北大学 | 一种基于lrc纠删码的可恢复云存储系统 |
EP3451342A1 (en) * | 2018-05-17 | 2019-03-06 | Siemens Healthcare GmbH | Secure delivery of patient's image and consent data |
CN109101822B (zh) * | 2018-07-10 | 2021-01-29 | 西安交通大学 | 一种解决多方计算中数据隐私泄露问题的方法 |
CN109325331B (zh) * | 2018-09-13 | 2022-05-20 | 北京航空航天大学 | 基于区块链和可信计算平台的大数据采集交易系统 |
CN109462474A (zh) * | 2018-11-14 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种Keystone中Fernet密钥的生成方法及相关装置 |
CN109598145A (zh) * | 2018-12-07 | 2019-04-09 | 无锡予果科技有限公司 | 一种防泄密的数据传输和云端存储方法及系统 |
CN110061835B (zh) * | 2019-03-28 | 2021-11-12 | 东南大学 | 一种安全拍摄设备及其实现方法 |
CN110110536B (zh) * | 2019-04-30 | 2022-11-08 | 温州职业技术学院 | 一种云计算系统的数据共享方法 |
CN111130796B (zh) * | 2019-12-21 | 2022-06-24 | 杭州安司源科技有限公司 | 即时通信中安全在线云存储方法 |
CN111224986A (zh) * | 2020-01-07 | 2020-06-02 | 杭州宇链科技有限公司 | 一种基于可信执行环境的多方隐私计算系统 |
CN111523129A (zh) * | 2020-04-09 | 2020-08-11 | 太原理工大学 | 一种基于tpm的数据泄漏防护方法 |
CN114973428A (zh) * | 2021-02-24 | 2022-08-30 | 华为技术有限公司 | 一种生物信息共享方法及其电子设备和介质 |
CN113315624A (zh) * | 2021-05-27 | 2021-08-27 | 杭州天舰信息技术股份有限公司 | 一种基于多点协作机制的数据安全管理方法及系统 |
CN115603928A (zh) * | 2021-07-07 | 2023-01-13 | 花瓣云科技有限公司(Cn) | 一种跨设备数据操作方法及系统 |
CN113609498B (zh) * | 2021-07-15 | 2022-09-30 | 荣耀终端有限公司 | 数据保护方法及电子设备 |
CN113591109B (zh) * | 2021-07-23 | 2023-05-02 | 上海瓶钵信息科技有限公司 | 可信执行环境与云端通信的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438047A (zh) * | 2011-12-13 | 2012-05-02 | 北京航空航天大学 | 一种移动互联网环境下的云服务安全动态自适应方法 |
CN102647433A (zh) * | 2012-05-21 | 2012-08-22 | 北京航空航天大学 | 一种高效的云存储数据持有性验证方法 |
CN102710757A (zh) * | 2012-05-21 | 2012-10-03 | 北京航空航天大学 | 一种分布式云存储数据完整性保护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8875240B2 (en) * | 2011-04-18 | 2014-10-28 | Bank Of America Corporation | Tenant data center for establishing a virtual machine in a cloud environment |
-
2014
- 2014-01-14 CN CN201410015994.4A patent/CN103763315B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438047A (zh) * | 2011-12-13 | 2012-05-02 | 北京航空航天大学 | 一种移动互联网环境下的云服务安全动态自适应方法 |
CN102647433A (zh) * | 2012-05-21 | 2012-08-22 | 北京航空航天大学 | 一种高效的云存储数据持有性验证方法 |
CN102710757A (zh) * | 2012-05-21 | 2012-10-03 | 北京航空航天大学 | 一种分布式云存储数据完整性保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103763315A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103763315B (zh) | 一种应用于移动设备云存储的可信数据存取控制方法 | |
US11943343B2 (en) | ECDHE key exchange for server authentication and a key server | |
US11849048B2 (en) | Mutually authenticated ECDHE key exchange for a device and a network using multiple PKI key pairs | |
US11909870B2 (en) | ECDHE key exchange for mutual authentication using a key server | |
US9935954B2 (en) | System and method for securing machine-to-machine communications | |
Yang et al. | Provable data possession of resource-constrained mobile devices in cloud computing | |
US20170201382A1 (en) | Secure Endpoint Devices | |
CN105993146A (zh) | 不访问私钥而使用公钥密码的安全会话能力 | |
US12003629B2 (en) | Secure server digital signature generation for post-quantum cryptography key encapsulations | |
US20200195446A1 (en) | System and method for ensuring forward & backward secrecy using physically unclonable functions | |
CN107483383A (zh) | 一种数据处理方法、终端及后台服务器 | |
Henze et al. | A trust point-based security architecture for sensor data in the cloud | |
Hassani Karbasi et al. | SINGLETON: A lightweight and secure end-to-end encryption protocol for the sensor networks in the Internet of Things based on cryptographic ratchets | |
Coruh et al. | Hybrid secure authentication and key exchange scheme for M2M home networks | |
Zhou et al. | An improved privacy-aware handoff authentication protocol for VANETs | |
CN112839328A (zh) | 一种密接数据验证方法、客户端、服务器及存储介质 | |
CN113545004A (zh) | 具有减少攻击面的认证系统 | |
Somaiya et al. | Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed | |
CN115001744A (zh) | 一种云平台数据完整性验证方法及系统 | |
CN114866244A (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 | |
Gerber | Authentication and Authorization for Constrained Environments | |
Faisal et al. | Graphene: a secure cloud communication architecture | |
Li et al. | A cloud based dual-root trust model for secure mobile online transactions | |
US20230308424A1 (en) | Secure Session Resumption using Post-Quantum Cryptography | |
Jain | “Sec-KeyD” an efficient key distribution protocol for critical infrastructures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |