一种基于USBKey的云数据安全系统的制作方法

文档序号:9380254阅读:457来源:国知局
一种基于USB Key的云数据安全系统的制作方法
【技术领域】
[0001]本发明涉及信息安全技术领域,具体地说是一种实用性强、基于USB Key的云数据安全系统。
【背景技术】
[0002]随着云计算技术的快速发展和应用,越来越受到人们的关注。然而,云计算中的数据安全问题已经成为制约云计算快速发展和推广的关键问题。云计算中所有用户的数据都存放在云端,并将计算结果通过网络回传给客户端。这种全新的网络服务模式,其面临的安全威胁也是前所未有的。CSA在云计算安全报告《The Notor1us Nine Cloud ComputingTop Threats (2013)》中指出,数据破坏和数据丢失是云计算所面临的最主要的安全威胁。由于数据所有权与控制权的分离,数据脱离了用户的可控范围,无法有效控制和集中管理,存在不安全因素和泄密的风险;由于数据的集中存储,很多云租户共享云计算资源和存储资源,如何有效隔离租户数据并实现细粒度的访问控制,是极具挑战性的问题;数据的集中存储,更容易遭到恶意攻击者的攻击和破坏,如分布式拒绝服务攻击DDoS等;此外,在云计算网络中,服务器提供商得到云端数据的优先访问权,恶意管理人员可任意查看用户敏感数据,甚至恶意删除或修改数据,给用户造成不可估量的损失。所有这些都要求云计算环境应提供安全保障措施和管理制度,保证用户数据不被非法使用和泄露。
[0003]此外,USB Key是一种USB接口的硬件设备,内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的鉴别。随着USB Key技术和相关制造工艺的发展,智能卡功能得到进一步的增强。
[0004]基于此,现提供一种基于USB Key的云数据安全系统,该系统借助USB Key的灵活性特点,对USB Key进行硬件增强,内置数字证书和多种加密算法、完整性检测算法,使其具有身份鉴别、数据加解密等功能,并根据数据的重要性,可选择不同的加密算法,同时保障数据的完整性,满足云计算环境下用户数据安全的需求。

【发明内容】

[0005]本发明的技术任务是针对以上不足之处,提供一种实用性强、基于USB Key的云数据安全系统。
[0006]—种基于USB Key的云数据安全系统,包括客户端和云端,所述客户端连接有USBKey,该USB Key的结构包括控制单元、计算单元、存储单元、缓存单元、输入输出1/0逻辑模块,该USB Key内置数字证书和若干加密算法、完整性检测算法;根据云端数据的不同安全要求,选择不同的加密算法完成云数据的加密计算,满足不同用户的保密性要求以及传输安全;利用完整性检测算法,以块为单位检测云端数据的完整性。
[0007]所述USB Key 中,
控制单元为该USB Key的核心,用于实现USB Key其它功能单元的协调运行和控制; 计算单元用于完成用户所需的云数据计算操作,支持通用加密算法和完整性检测算法;
存储单元用于存储程序和各种数据,并在芯片运行过程中自主地完成程序或数据的存取;
缓存单元为缓存区域,在USB Key进行大量的云数据计算操作时,缓存待计算数据和计算中间结果;
输入输出I/O逻辑模块为USB Key的输入输出单元,实现用户客户端与云计算环境中服务器数据之间的访问传输。
[0008]所述计算单元完成用户所需的云数据计算操作包括数据分块、块加密、块完整性检测的操作;支持的通用加密算法包括DES、3DES、AES以及国密算法;支持的完整性检测算法包括MD5、SHA系列算法。
[0009]所述存储单元包括RAM、只读ROM和Flash闪存,存储用户数字证书和USB Key设备证书,提供用户和设备的身份鉴别;还存储一定数量的云数据加密密钥,完成密钥管理。
[0010]所述客户端安装有以下软件:USB Key驱动、接入控制模块、身份鉴别模块、算法协商模块、密钥管理模块、数据分块整合模块、数据加解密模块、完整性检测模块、云数据管理模块模块;云端部分则安装有接入控制模块、身份鉴别模块、算法协商模块、完整性检测模块。
[0011]所述客户端上传密文件文给云端并从该云端下载密文文件后解密,其上传下载过程为:
客户端和云端对USB Key设备驱动和初始化:导入用户和设备数字证书,从客户端读入数据到USB Key中完成运算,并通过USB Key输入输出I/O逻辑模块将数据以密文的形式传送到云端存储;
客户端从云端获取密文数据,经过USB Key解密和完整性检测后,由用户对数据进行处理。
[0012]用户数据上传到云端的过程:
1)接入控制:用户将USBKey插入到客户端USB端口后,USB Key向云端发出云接入请求;
云端检验合法后,允许该USB key接入到云计算环境中;
2)身份鉴别:用户提出数据上传到云端请求,云端服务器鉴别请求用户的身份;
3)身份鉴别通过后,进行数据处理及传输:
a)算法协商:根据云数据的重要性,客户端与云端协商数据加密算法和完整性检测算法,生成云数据加密密钥,将加密密钥用其私钥加密后的元数据信息保存到USB Key的存储单元中;
b)数据分块及加密:用户根据预置的数据文件分块策略,将数据文件分隔为固定大小的数据块,对每个数据块使用前述生成的云数据加密密钥采用协商的加密算法进行加密,同时利用完整性检测算法生成该数据块密文的摘要值;
c)数据传输:客户端将数据密文及摘要值拼接,然后按分块的顺序依次发送给云端;
d)完整性检测:云端接收到密文及密文摘要值后,拆解成相应的密文及密文摘要值后,使用协商的完整性检测算法检测密文的完整性,当检查通过后,向客户端发送确认消息,同时,将数据密文及摘要值保存到云服务器中,并保存用户数据文件的元数据信息; e)传输应答:客户端接收到云端确认消息后,对其中正确接收的数据块ID进行记录;若该数据块没有正确接收,则进行该数据块的重传,直至所有的数据块密文及密文摘要值都正确传送给云端;
f)客户端元数据保存:将数据文件的分块信息保存,完成数据上云过程。
[0013]所述接入控制步骤中,客户端发出的请求中包含该USB Key的标识ID、接入客户端IP地址或MAC地址、接入请求时间、USB Key数字证书;
云端接收到接入请求后,先验证USB Key数字证书的合法性和有效性;
通过后,对消息中的USB Key标识ID与数字证书中的标识ID比较,检查两者是否一致:若不一致,则拒绝客户端的接口请求;两者相符,则允许USB Key接入云计算环境;
相对应的,身份鉴别步骤中,客户端将USB Key存储的用户数字证书传送给云端,云端检查用户数字证书的合法性和有效性,通过后,完成用户的身份鉴别。
[0014]所述密文数据获取过程为:
1)数据下载请求:客户端向云端发送数据下载请求,包括数据文件名、客户端用户ID、请求时间信息;
2)云端访问控制:云端对数据下载请求消息中的客户端用户ID与其数字证书中的用户标识ID比较,通过后按照数据分块顺序将依次将数据块密文及相应的摘要值发送给客户端;
3)完整性检查:客户端从USBKey存储单元中获取到该数据文件的元数据信息。
[0015]所述元数据信息包括密钥密文、欲加密数据文件、文件长度、加密算法及参数、完整性检测算法、时间信息、块数、块ID。
[0016]客户端获取密文数据后,进行数据处理的过程为:
客户端利用公钥将加密密钥密文解密,得到数据加密密钥;
客户端接收到云端发送的每个数据块密文及密文的摘要值,利用密文摘要值和对应的完整性检测算法,检查该数据块密文的完整性;若检查通过后,客户端利用密文加/解密密钥对及相应的解密算法,得到该数据块的明文;
客户端将各个数据块的明文,按照块ID顺序整合为一个完整的数据文件,完成云数据下载过程。
[0017]本发明的一种基于USB Key的云数据安全系统,具有以下优点:
本发明提出的一种基于USB Key的云数据安全系统,可用于云环境中保护不同等级数据的安全传输和完整性检测,提供双因子身份鉴别、密钥管理功能;不仅能保护用户与云端数据传输的安全性,而且能根据数据的重要程度,选择不同的强度的加密算法和完整性检测算法,同时能
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1