CN103152362A - 基于云计算的大数据文件加密传输方法 - Google Patents
基于云计算的大数据文件加密传输方法 Download PDFInfo
- Publication number
- CN103152362A CN103152362A CN2013101018826A CN201310101882A CN103152362A CN 103152362 A CN103152362 A CN 103152362A CN 2013101018826 A CN2013101018826 A CN 2013101018826A CN 201310101882 A CN201310101882 A CN 201310101882A CN 103152362 A CN103152362 A CN 103152362A
- Authority
- CN
- China
- Prior art keywords
- key
- user
- cloud user
- client
- cloud
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
基于云计算的大数据文件加密传输方法,是采用轻量级密码算法和一种安全单钥密钥管理技术,在云用户的客户机端和云计算平台的认证中心端分别建立加密系统,通过过程密钥、用户密钥和存储密钥这三种密钥的叠加加密方式,实现文件加密密钥的安全交换,在云用户A客户机端将文件加密成密文后,经云计算平台的认证中心转发给云用户B客户机端,保证云用户之间文件的快捷、保密和完整传输,从而,建立基于云计算的大数据文件加密传输系统。
Description
技术领域:
本发明涉及信息安全领域,是利用密码技术实现云计算环境下,大数据的文件加密传输方法。
背景技术:
目前,国内外一些厂商开发的云安全系统,都是采用公钥体制如:PKI,建立云计算环境下,大数据的文件(即:文件数量十分多)加密传输系统,但是,采用PKI技术在云计算平台端,建立CA认证中心的成本较高,文件加密传输需要对文件进行完整性验证,CA认证中心对云用户的签名文件进行完整性验证的速度都较慢,由于,云用户数量和云用户文件的数量都十分大,属于大数据,CA认证中心不能满足超大规模即:海量文件数据的加密传输和完整性验证的市场需求,从而,影响了PKI技术在云安全技术领域的应用。
发明内容:
基于云计算的大数据文件加密传输方法,是采用轻量级密码算法即:密码编制简单且加解密速度快的单钥密码算法、一种安全单钥管理技术和芯片硬件技术,建立云计算环境下大数据文件的加密传输系统,其中:大数据指:文件数量十分多;
若采用常用的单钥管理情况下,在云用户的客户机端智能卡芯片里建立云用户端加密系统,在智能卡芯片里写入:轻量级密码算法、摘要算法、一组用户密钥、云用户的客户机端智能卡芯片的标识、云用户端文件的加密和数字签名协议,云用户端密文文件的解密和签名验证协议,在云计算平台的认证中心加密卡芯片里,建立认证中心端加密系统,在加密卡芯片里写入:轻量级密码算法、摘要算法、全体对应云用户端的用户密钥、云用户之间用户密钥的交换协议;
云用户端文件的加密和数字签名协议,云用户A的客户机端加密系统,在智能卡芯片里调用随机数发生器产生一组随机数,用该组随机数作为用户A端的过程密钥,对云用户A的文件进行加密和数字签名,生成云用户A文件的密文和云用户A文件的数字签名,用智能卡芯片里云用户A的客户机端的用户密钥,将云用户A的客户机端的过程密钥加密成密文,并与云用户A的客户机端智能卡芯片的标识、云用户A文件的密文和云用户A文件的数字签名这4组数据,一起发送给云计算平台的认证中心端;
云用户之间密钥的交换协议,认证中心端加密系统,根据云用户A的客户机端智能卡芯片的标识,在加密卡芯片里,取出对应云用户A的用户密钥,并用云用户A的客户机端的用户密钥,将云用户A的客户机端的过程密钥的密文解密,得到云用户A的客户机端的过程密钥明文,再根据云用户B的客户机端智能卡芯片的标识,取出对应云用户B的客户机端的用户密钥,用云用户B的客户机端的用户密钥,将云用户A的客户机端的过程密钥加密成密文,并与云用户B的客户机端智能卡芯片的标识、云用户A文件的密文和云用户A文件的数字签名这4组数据,一起发送给云用户B的客户机端;
云用户端密文文件的解密和签名验证协议,云用户B的客户机端加密系统,在智能卡芯片里使用云用户B的客户机端的用户密钥,将云用户A的客户机端的过程密钥密文解密成明文,再使用解密后的云用户A的客户机端的过程密钥,将云用户A的密文文件解密,得到云用户A的文件明文,对云用户A的文件的数字签名进行签名验证,来确定通过认证中心转发来的云用户A的文件是否可信、完整;
当云用户的文件数量十分大时,云计算平台的认证中心需要部署大量的加密卡设备,来存储大量对应云用户端的用户密钥;
在采用一种安全单钥管理技术情况下,在云用户的客户机端智能卡芯片和云计算平台的认证中心端加密卡芯片里,建立云用户之间的文件加密传输系统,其方法技术特征在于:
在云用户的客户机端智能卡芯片里建立云用户端加密系统,在智能卡芯片里写入:轻量级密码算法、摘要算法、一套密钥种子表Ci、单钥密钥组合生成算法、云用户的客户机端智能卡芯片的标识、云用户端文件的加密和数字签名协议,云用户端密文文件的解密和签名验证协议,在云计算平台的认证中心加密卡芯片里,建立认证中心端加密系统,在加密卡芯片里写入:轻量级密码算法、摘要算法、单钥密钥组合生成算法、一套密钥种子表D、密钥种子表Ci元素的加密和数字签名协议、云用户之间用户密钥的交换协议,在认证中心端认证服务器的硬盘存储区,将对应认证中心端全体云用户的客户机端智能卡芯片标识、密钥种子表Ci元素的密文及其密钥种子表Ci元素的数字签名、对应生成存储密钥的一组时间戳和随机数,一起存储在用户密钥数据库中,其中:i=n,n为全体云用户数量的总和;
采用一种安全单钥管理技术即:采用三种密钥的管理方法,第一种密钥为:过程密钥,过程密钥用来建立云用户端文件的加密和数字签名协议;第二种密钥为:用户密钥,用户密钥用于加密过程密钥,保证在两云用户之间过程密钥的交换安全;第三种密钥为:存储密钥,存储密钥用于加密全体云用户端的密钥种子表Ci的元素,保证全体云用户端的密钥种子表C的元素,在认证中心端的存储安全,其中:用户密钥和存储密钥,都是由一组时间戳和随机数组成的单钥密钥组合生成算法,对一套密钥种子表Ci或表D的元素进行选取,将选出的元素合成一组用户密钥或存储密钥;
当云用户的文件数量或文件长度都十分大时,不需要在云计算平台的认证中心端部署大量的加密卡设备,来存储大量云用户端的密钥种子表C的元素,或存储大量存储密钥;
云用户端文件的加密和数字签名协议,云用户A的客户机端加密系统在智能卡芯片里,调用随机数发生器产生一组随机数,用该组随机数作为云用户A的客户机端的过程密钥,对云用户A的文件进行加密和数字签名,生成云用户A文件的密文和云用户A文件的数字签名,在智能卡芯片里,产生一组时间戳和随机数,根据单钥密钥组合生成算法,产生一组云用户A的用户密钥,将用户A的过程密钥加密成密文,并与云用户A的客户机端智能卡芯片的标识、云用户A文件的密文、云用户A文件的数字签名、产生云用户A的客户机端用户密钥的一组时间戳和随机数共6组数据,一起发送给云计算平台的认证中心;
“密钥种子”表C元素的加密和数字签名协议,云计算平台的认证中心端加密系统,在加密卡芯片里产生一组时间戳和随机数,根据单钥密钥组合生成算法,用该时间戳和随机数,对密钥种子表D的元素进行选取,将选出的Y个元素合成一组存储密钥,用该存储密钥来加密“密钥种子”表C的元素和表C元素的摘要信息,得到密钥种子表C元素的密文即:C’和表C元素的数字签名,再将云用户的客户机端智能卡芯片的标识、密钥种子表C的元素密文即:C’、密钥种子表C元素的数字签名、以及对应生成存储密钥的时间戳和随机数,一并事先存储在认证中心端的用户密钥数据库中Y=16,或32;
云用户之间密钥的交换协议,认证中心端加密系统,根据云用户A的客户机端智能卡芯片的标识,在用户密钥数据库中,取出对应云用户A的客户机端的密钥种子表CA元素的密文、密钥种子表CA元素的数字签名、对应生成存储密钥的一组时间戳和随机数,在加密卡芯片里,根据单钥密钥组合生成算法生成存储密钥,用该存储密钥将对应云用户A的客户机端的密钥种子表CA元素的密文解密成明文,并对该密钥种子表CA元素的数字签名进行签名验证,来确定存储在认证中心端的密钥种子表CA的元素是否完整、可信,根据单钥密钥组合生成算法,由一组产生用户密钥的时间戳和随机,生成云用户A的客户机端用户密钥,将云用户A的客户机端的过程密钥的密文解密,得到云用户A的客户机端的过程密钥明文,再根据云用户B的客户机端智能卡芯片的标识,在用户密钥数据库中,取出对应云用户B的客户机端的密钥种子表CB元素的密文、密钥种子表CB元素的数字签名、对应生成存储密钥的一组时间戳和随机数,在加密卡芯片里,根据单钥密钥组合生成算法,生成一组存储密钥,将对应云用户B的客户机端的密钥种子表CB元素的密文解密成明文,并对密钥种子表CB元素的数字签名进行签名验证,来确定存储在认证中心端的密钥种子表CB的元素是否完整、可信,再产生一组时间戳和随机数,根据单钥密钥组合生成算法,生成云用户B的客户机端的用户密钥,用云用户B的客户机端的用户密钥,将云用户A的客户机端的过程密钥加密成密文,并与云用户B的客户机端智能卡芯片的标识、云用户A文件的密文、云用户A文件的数字签名、一组产生云用户B的客户机端用户密钥的一组时间戳和随机数,共6组数据,一起发送给云用户B的客户机端,其中:CA=C1~Cn,CB=C1~Cn,CA≠CB;
云用户端密文文件的解密和签名验证协议,云用户B的客户机端加密系统,根据单钥密钥组合生成算法,由产生云用户B的客户机端用户密钥的一组时间戳和随机数,对智能卡芯片里的密钥种子表CB的元素进行选取,生成云用B端的用户密钥,将云用户A的客户机端过程密钥的密文解密成明文,再使用解密后云用户A的客户机端的过程密钥,对云用户A文件的密文进行解密,得到云用户A文件的明文,再对云用户A文件的数字签名进行签名验证,来确定云用户A通过认证中心转发来的签名文件是否可信、完整,从而,建立一种基于云计算的大数据文件加密传输系统,全部过程用软件和硬件结合方式实现,具体方法如下:
1、在云用户端使用基于USB接口的智能卡,将智能卡作为云用户端的加密系统硬件设备,在智能卡芯片里,建立云用户端的加密系统,写入轻量级密码算法、摘要算法、单钥密钥组合生成算法、云用户端文件的加密和数字签名协议,云用户端密文文件的解密和签名验证协议,且写入数据:智能卡芯片的标识和一套密钥种子表Ci即:C1、C2、……、Cn的元素,i=1~n,n为全体云用户的数量总和。
2、每个云用户的客户机端智能卡芯片都有唯一的标识,且两两互不相同,每位云用户都持有不同的一支基于USB接口的智能卡。
3、在云计算平台端建立认证中心,认证中心由认证服务器和加密卡硬件设备组成,在认证服务器的PCI接口上插入加密卡,将加密卡作为云计算平台认证中心端的加密系统硬件设备,在加密卡的芯片里,建立认证中心端的加密系统,写入轻量级密码算法、摘要算法、单钥密钥组合生成算法、一套密钥种子表D、密钥种子表C元素的加密和数字签名协议、云用户之间密钥的交换协议,在云计算平台的认证中心端认证服务器的硬盘存储区,将全体云用户的客户机端智能卡芯片里的密钥种子表Ci的元素,存储在用户密钥数据库中,该用户密钥数据库中的每条记录包含字段内容为:①云用户的客户机端智能卡芯片的标识Ti、②密钥种子表Ci元素的密文即:Ci’、③密钥种子表Ci元素的数字签名即:密钥种子表Ci元素摘要信息Gi的密文、④一组时间戳Hi和随机数Ji,其中:一组时间戳和随机数,作为单钥密钥组合生成算法中的选取参数,对表D的元素进行选取,将选出的元素合成一组存储密钥Ki,并用该存储密钥Ki来加密密钥种子表Ci的元素,并对密钥种子表Ci元素进行数字签名,其中:i=1~n,Hi即:H1、H2、......、Hn,Ji即:J1、J2、......、Jn,Ci即:C1、C2、......、Cn,Ci’即:C1’、C2’、......、Cn’,Gi即:G1、G2、......、Gn,n为全体云用户数量总和。
4、云用户端和认证中心端的加密系统,使用的轻量级密码算法,如:SM1、DES、RC5、SMS4,使用的摘要算法,如:SHA-1、SM3、MD5,定义密钥长度为128比特,摘要算法的摘要信息长度为:128比特或256比特。
5、采用一种安全单钥管理技术进行轻量级密码的密钥管理,来建立云计算环境下,大数据的文件加密传输和密钥安全交换,其中:大数据指:文件数量十分大或文件长度十分长;
(1)过程密钥
设:过程密钥为:CK,由云用户的客户机端智能卡芯片里的随机数发生器实时产生一组128比特的随机数,用该组随机数作为过程密钥或云用户端的过程密钥CK,用过程密钥CK对云用户端的文件进行加密和数字签名,再用一组用户密钥SK,来加密过程密钥CK,生成过程密钥CK的密文即:CK’,将CK’经过认证中心端解密和再次加密后,转发给其他云用户,CK的明文不出智能卡或加密卡的芯片,实现两云用户之间通过认证中心,进行过程密钥CK的安全交换;
(2)用户密钥
设:用户密钥为:SK,由云用户的客户机端智能卡芯片里的单钥密钥组合生成算法,实时产生一组用户密钥或云用户端的用户密钥SK,用户密钥SK是用于加密过程密钥CK,在密钥初始化过程中,由认证中心端加密卡芯片里的随机数发生器,生成一组F1字节随机数,F1=1424或1680字节,将F1字节的随机数组成,一套W×Y的密钥种子表C,
其中:表C的元素为Cu v,u=0~W-1,v=0~y-1,Cu v占0.5字节,或1字节,W=89,或105,Y=16,或32;
设:云用户的客户机端智能卡芯片的标识Ti对应的密钥种子表为:Ci,将密钥种子表Ci的元素存放在云用户的客户机端智能卡芯片里,当运行云用户端文件的加密和数字签名协议时,由一组时间戳和随机数组成的单钥密钥组合生成算法,对密钥种子表Ci的元素进行选取,将选出的Y个元素合成一组用户密钥SK,其中:Y=16,或32;每套密钥种子表Ci都对应一支智能卡,设:全体云用户客户机端智能卡芯片里密钥种子表分别为:C1、C2、……、Cn,n为全体云用户数量的总和,其中:Cd、Ce(1≤d或e≤n,d≠e),的元素都两两不同;
单钥密钥组合生成算法和密钥种子表Ci,都存储在云用户的客户机端智能卡芯片里,且生成的用户密钥明文不出智能卡芯片,保证用户密钥在云用户端的存储和运行安全;
在认证中心端加密卡的芯片里,用存储密钥Ki,将云用户的客户机端智能卡芯片里的密钥种子表Ci的元素加密成密文,并将密钥种子表Ci的元素以密文的形式,分别与对应的云用户的客户机端智能卡芯片的标识、以及生成对应存储密钥Ki的选取参数即:一组时间戳和随机数,一起事先存储在认证中心端的用户密钥数据库中;
当认证中心端的密钥种子表Ci密文被调用时,是在认证中心加密卡芯片里被解密成明文,全体密钥种子表Ci元素的明文不出加密卡芯片,保证全体密钥种子表Ci元素在认证中心端的存储和运行安全,其中:i=1~n,n为全体云用户的数量总和;
(3)存储密钥
设:存储密钥为:K,由认证中心加密卡芯片里的单钥密钥组合生成算法,产生一组存储密钥K,存储密钥K用于加密全体密钥种子表C元素,在密钥初始化过程中,事先由物联网认证中心端加密卡芯片里的随机数发生器,生成一组F2字节随机数,F2=1424或1680字节,将F2字节的随机数组成,一套W×Y的密钥种子表D,
其中:表D的元素为Du v,u=0~w-1,v=0~y-1,Au v占0.5字节,或1字节,W=89,或105,Y=16,或32;
将表D的元素存放在物联网认证中心加密卡卡芯片里,用一组时间戳和随机数组成的单钥密钥组合生成算法,对密钥种子表D的元素进行选取,将选出的Y个元素合成一组存储密钥K;
设:用于加密密钥种子表Ci的元素的存储密钥Ki共n个,即:K1、K2、……、Kn,用对应的存储密钥Ki将全体密钥种子表Ci的元素加密,生成密钥种子表Ci的密文,即:C1’、C2’、……、Cn’,并将Ci’存储在认证中心端的用户密钥数据库中,其中:i=1~n,n为全体云用户的数量总和。
6、单钥密钥组合生成算法,是通过一组时间戳和随机数组成的选取参数,来对一套密钥种子表的元素进行选取,用时间戳对密钥种子表的“行”元素进行选取,选出Y行Y列的密钥种子表的子表,再根据随机数,对Y行Y列的密钥种子表的“列”元素进行选取,选出Y个元素,并合成一组密钥,其中:Y=16或32,存储密钥K和用户密钥SK都是由单钥密钥组合生成算法实时产生;
若时间戳为:10位数字组成,即:“年”由4位数字组成即:XXX0年~XXX9年,即:取0~9年,“月”由2位数字组成即:取1月~12月,“日”由2位数字组成即:取1日~31日,“时”由2位数字组成即:取0时~23时,如:2013122819,表示2013年12月28日19点;
随机数由Y=16或,32位,二进制数组成,当Y=16位二进制数时,每位随机数为4比特二进制数,每位随机数的二进制数据的数值为0~15,如:0011,1010,0000,......,1111,0110,其二进制数据的数值为:3,10,0,......,15,6;当Y=32位二进制数时,每位随机数的二进制数的数值为:0~31,如:00110,10100,00000,......,11111,01100,其二进制数据的数值为:6,20,0,......,31,12。
7、单钥密钥组合生成算法的具体实现方法,
密钥种子表D和表C的结构一样,只是表中的元素不同,以表D为例说明单钥密钥组合生成算法的具体实现方法;
当选择表D元素为89行16列元素时,即:89×16=1424个元素,每个元素占1字节,共占1424字节,当选择表D元素为105行32列元素时,即:105×32=3360个元素,每个元素占,0.5字节,共占1680字节;
(1)用时间戳的“年”对应表D中的第1~10行,共10行,“月”对应表D中的第11~22行,共12行,“日”对应表D中的第23~53行,共31行,“时”对应表D中的第54~77行,共24行,当选择表D元素为89行16列元素时,表D还有12行元素不对应时间戳;当选择表D元素为105行32列元素时,表D还有28行元素不对应时间戳;
根据时间戳从表D的元素中先选出4行,其方法是:从表D的第1~10行共10行中取1行即:用时间戳“年”数字中个位数的数值,作为取表D中“年”对应的行数,如:时间戳为:2013XXXXXX,则:取表D中的第4行,从表D的第11~22行共12行中取1行即:用时间戳“月”数字的数值,作为取表D中“月”对应的“行”,如:时间戳为:20XX11XXXX,则:取表D中的第21行,从表D的第23~53行共31行中取1行即:用时间戳“日”数字的数值,作为取表D中“日”对应的“行”,如:时间戳为:20XXXX30XX,则:取表D中的第52行,从表D的第54~77行共24行中取1行即:用时间戳“时”数字的数值,作为取表D中“时”对应的“行”,如:时间戳为:20XXXXXX21,则:取表D中的第74行,再将表D的第78行~第W行共W-78+1行选出,共选出Y行,其中:Y=16或32行,组成:Y×Y表D的子表D1,
其中:表D1的元素为:Dv v,v=0~Y-1,Av v占0.5或1字节,Y=16或32;表D1中第5行~第Y行的元素与表D的第78行~第W行的元素完全相同;
(2)设:随机数为:Q1,Q2,......,QY,对应的数值分别为:L1,L2,......,LY,当Y=16时,16位随机数对应的数值为:0~15之间,用:L1,L2,......,L16,对表D1的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第16位随机数Q16的数值L16,来选取表D1第16行的第L16+1列的元素,共选出16个元素;当Y=32时,32位随机数的数值为:0~31,用:L1,L2,......,L32,对表D1的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第32位随机数Q32的数值L32,来选取表D1第32行的第L32+1列的元素,共选出32个元素;
由于,单钥密钥的长度为128比特,则从表D中选出的Y组元素合并成一组单钥密钥,即:为存储密钥,若表D的元素为:8比特,Y=16,则从表D中选出的16组元素合并成的单钥密钥为128比特,若表D的元素为:4比特,Y=32,则从表D中选出的32组元素合并成的单钥密钥也为128比特。
8、过程密钥CK、用户密钥SK和存储密钥:K,都为:128,CK的重复率为:1/2128,基本上实现一次一密;
用户密钥SK、存储密钥K,都是通过一组时间戳和随机数,来对密钥种子表D或B的元素进行选取,将选出的Y个元素合成一组用户密钥SK、或存储密钥K,若选取参数中的随机数为16位,密钥种子表D或B的元素为8比特,时间戳为“年、月、日、时”的情况下,在一小时内,用户密钥SK和存储密钥K的重复率都为:1/264;若选取参数中的随机数为32位,密钥种子表D或表C的元素为4比特,时间戳为“年、月、日、时”的情况下,在一小时内,用户密钥SK和存储密钥K的重复率都为:1/2160,用户密钥SK和存储密钥K也基本上为一次一密。
9、云用户端文件的加密和数字签名协议,云用户A的客户机端加密系统在智能卡芯片里,调用摘要算法对云用户A的客户机端的文件进行摘要获得“摘要”信息L1,再调用随机数发生器产生一组随机数,用该组随机数作为云用户A的客户机端的过程密钥CK,对云用户A的客户机端的文件进行加密,生成云用户A的客户机端的文件密文,并对“摘要”信息L1进行加密,得到“摘要”信息L1的密文即:得到云用户A的客户机端的文件数字签名,在智能卡芯片里,产生一组时间戳1和随机数1,根据单钥密钥组合生成算法,用时间戳1和随机数1,对密钥钥种子表CA的元素进行选取,选出Y个元素合成一组云用户A的客户机端的用户密钥SKA,用SKA将过程密钥CK加密成密文即:CK’,并将云用户A的客户机端智能卡芯片的标识、云用户A的客户机端文件的密文、云用户A的客户机端文件的数字签名、云用户A的客户机端的过程密钥CK的密文、生成SKA的时间戳1和随机数1,共6组数据,一起发送给云计算平台的认证中心端,其中:CA=C1~Cn,i=1~n,Y=16,或32。
10、“密钥种子”表C元素的加密和数字签名协议,云计算平台的认证中心端加密系统,在加密卡芯片里产生一组时间戳Hi和随机数Ji,根据单钥密钥组合生成算法,用时间戳Hi和随机数Ji,对密钥种子表D的元素进行选取,将选出的Y个元素合成一组存储密钥Ki,用该存储密钥Ki来加密密钥种子表Ci的元素,得到密钥种子表Ci元素的密文即:Ci’,并用该存储密钥Ki来对密钥种子表Ci元素进行数字签名即:对密钥种子表Ci元素的“摘要”信息Gi进行加密,得到“密钥种子”表Ci元素“摘要”信息Gi的密文即:数字签名,再将云用户的客户机端智能卡芯片的标识、密钥种子表Ci的元素密文即:Ci’、密钥种子表Ci元素的数字签名、以及对应生成存储密钥Ki的时间戳Hi和随机数Ji,一并事先存储在认证中心端的用户密钥数据库中,其中:Hi=Hi~Hn,Ji=J1~Jn,Ci=C1~Cn,Ci’=C1’~Cn’,Gi=G1~Gn,Ki=K1~Kn,i=1~n,Y=i6,或32。
11、云用户之间用户密钥的交换协议,当认证中心端接收收到云用户A的客户机端发送来的6组数据后,认证中心端加密系统,首先,根据云用户A的客户机端智能卡芯片的标识,在用户密钥数据库中定位对应云用户A的客户机端智能卡芯片标识的记录,将记录中生成用户密钥的“密钥种子”表CA密文即:表CA’、生成存储密钥KA的一组时间戳HA和随机数JA,一并取出输入认证中心端的加密卡芯片中,在加密卡芯片里,根据单钥密钥组合生成算法,用生成存储密钥KA的一组时间戳HA和随机数JA,对表D的元素进行选取,选出Y个元素并合成存储密钥KA,使用KA将“密钥种子”表CA的元素密文即:CA’解密,得到“密钥种子”表CA的元素明文,使用KA对密钥种子表CA元素的数字签名进行解密,得到“密钥种子”表CA的元素“摘要”信息GA的明文,再调用摘要算法对CA的明文元素进选取参数行摘要,得到“摘要”信息GA1,通过对比GA和GA1是否相同?来判断“密钥种子”表CA的元素是否被篡改,确定“密钥种子”表CA的元素是否完整、可信,再根据单钥密钥组合生成算法,用生成云用户A的客户机端SKA的时间戳1和随机数1,对“密钥种子”表CA的元素明文进行选取,选出Y个元素并合成用户密钥SKA1,若表CA的元素已通过了完整性验证,则SKA=SKA1,用该SKA1将云用户A的客户机端的过程密钥CK的密文即:CK’解密,得到云用户A的客户机端过程密钥的明文即:CK,再根据云用户B的客户机端智能卡芯片的标识,在用户密钥数据库中,取出对应云用户B的客户机端的“密钥种子”表CB元素的密文、“密钥种子”表CB元素的数字签名、对应生成存储密钥KB的选取参数:时间戳HB和随机数JB,在加密卡芯片里,根据单钥密钥组合生成算法,用对应生成存储密钥KB的选取参数:时间戳HB和随机数JB,对“密钥种子”表D的元素进行选取,将选出Y个元素合成一组存储密钥KB,用KB将对应云用户B的客户机端的“密钥种子”表CB元素的密文解密成明文,使用KB对密钥种子表CB元素的数字签名进行解密,得到“密钥种子”表CB的元素“摘要”信息GB的明文,再调用摘要算法对CB的明文元素进选取参数行摘要,得到“摘要”信息GB1,通过对比GB和GB1是否相同?来判断“密钥种子”表CB的元素是否被篡改,来确定“密钥种子”表CB的元素是否完整、可信,再产生一组时间戳2和随机数2,根据单钥密钥组合生成算法,用时间戳2和随机数2,对云用户B的客户机端的“密钥种子”表CB元素进行选取,将选出Y个元素合成一组对应云用户B的客户机端的用户密钥SKB,用SKB将云用户A的客户机端的过程密钥CK加密成密文,将云用户B的客户机端智能卡芯片的标识、云用户A的客户机端文件的密文、云用户A的客户机端文件的数字签名、过程密钥CK的密文、产生云用户B的客户机端用户密钥SKB的时间戳2和随机数2,共6组数据,一起发送给云用户B的客户机端;在云用户之间密钥的交换协议中,也包含了密钥种子表CA、CB的元素密文解密和签名验证协议的内容,其中:CA=C1~Cn,CB=C1~Cn,CA≠CB,HA=H1~Hn,HB=H1~Hn,HA≠HB,JA=J1~Jn,JB=J1~Jn,JA≠JB,KA=K1~Kn,KB=K1~Kn,KA≠KB,GA=G1~Gn,GA=GA1或GA≠GA1;GB=G1~Gn,GB=GB1或GB≠GB1,GA≠GB,i=1~n。
12、云用户端密文文件的解密和签名验证协议,云用户端收到认证中心端发来的6组数据后,云用户B的客户机端加密系统,在智能卡芯片里,根据单钥密钥组合生成算法,用产生云用户B的客户机端用户密钥SKB的时间戳2和随机数2,对密钥种子表CB的元素进行选取,将选出Y个元素合成一组云用户B的客户机端的用户密钥SKB1,若表CB的元素已通过了完整性验证,则SKB=SKB1,用SKB1将过程密钥CK的密文解密得到过程密钥CK的明文,用过程密钥CK将云用户端的文件密文解密,得到云用户端文件的明文,再用过程密钥CK将云用户A的客户机端文件的数字签名解密,得到云用户A的客户机端文件的摘要信息L1,调用智能卡芯片里的摘要算法,对云用户A的客户机端文件进行摘要,得到云用户A的客户机端文件的摘要信息L2,通过对比L1和L2是否相同,来确认云用户A的客户机端传输来的签名文件是否可信、完整,其中:CB=C1~Cn,i=1~n。
13、由于云用户的数量十分大,在认证中心端需要存储的数据量也十分大,对应云用户端生成用户密钥SK的每套“密钥种子”表Ci的元素,占1424字节或1680字节存储空间,当云用户的数量达到5~6亿时,对应云用户端涉及的数据量,属于大数据的范畴,用单钥密钥组合生成算法产生一次一变的存储密钥Ki,来加密对应各个云用户端生成用户密钥SK的“密钥种子”表Ci的元素,保证存放在认证中心端全体对应云用户端的“密钥种子”表Ci中元素的存储安全,不需要购置大量的加密卡硬件设备,来存储海量的生成用户密钥SK的“密钥种子”表Ci的元素,能大大节约认证中心的建设成本,使得单一认证中心能管理海量如:5~6亿的云用户,其中:i=1~n。
14、采用一种安全单钥管理技术建立各种安全协议的策略,是基于智能卡和加密卡的芯片是可信的基础上,云用户端文件的加密和数字签名协议、云用户端密文文件的解密和签名验证协议,是在智能卡芯片里完成,密钥种子表C元素的加密和数字签名协议、云用户之间密钥的交换协议,是在加密卡的芯片里完成,都是基于“芯片级”的协议,安全性高。
15、过程密钥、用户密钥和存储密钥,都是在智能卡或加密卡的芯片里生成,明文不出芯片,生成用户密钥的“密钥种子”是以密文的形式在芯片外存储;
(1)过程密钥是在智能卡芯片里生成,并以密文的形式在两云用户之间通过认证中心进行传输,保证过程密钥的安全交换;
(2)用户密钥SK是在云用户的客户机端智能卡芯片里生成,生成用户密钥SK的单钥密钥组合生成算法和生成用户密钥SK的一套密钥种子表Ci,也是存储在智能卡芯片里,在认证中心端,生成用户密钥SK的单钥密钥组合生成算法存储在加密卡芯片里,生成用户密钥SK的一套“密钥种子”表Ci,是以密文形式存储在认证中心端的用户密钥数据库中,保证用户密钥SK在云用户端和认证中心端的存储、交换和运行安全,其中:i=1~n;
(3)存储密钥K是在加密卡的芯片里生成,单钥密钥组合生成算法和一套密钥种子表D,也是存储在加密卡芯片里,保证存储密钥K的存储和运行安全。
16、用一次一变的用户密钥,来加密一次一变的过程密钥,生成的过程密钥密文也具有随机性,一次一变,也都属于一组乱码,无规律性,破译者无法将公开获得的大量过程密钥的密文,作为破译条件——“重复报”(使用相同的单钥将多份不同的明文报文加密成密文报文),来破过程密钥,或破译用户密钥,或破译生成用户密钥的“密钥种子”表Ci的元素;
用一次一变的存储密钥Ki,来加密具有随机数性质的“密钥种子”表Ci,生成的密钥种子表Ci的密文即:Ci’也具有随机性,也都属于一组乱码,破译者无法将表Ci’,作为破译条件——“重复报”来破译表Ci,或者来破译存储密钥Ki,其中:i=1~n,n为全体云用户数量的总和。
17、在云用户之间用户密钥的交换协议中,云用户平台的认证中心端的加密系统,不仅对文件发送端对应的“密钥种子”表Ci元素进行完整性验证,而且,也对文件接收端对应的密钥种子表Ci元素进行完整性验证,从而,防止云用户平台的认证中心对应云用户端的密钥种子表Ci的元素被篡改或被克隆,其中:i=1~n。
Claims (9)
1.基于云计算的大数据文件加密传输方法,是采用轻量级密码算法即:密码编制简单且加解密速度快的单钥密码算法、一种安全单钥管理技术和芯片硬件技术,建立云计算环境下大数据文件的加密传输系统,其中:大数据指:文件数量十分大或文件长度十分长;
若采用常用的单钥管理情况下,在云用户的客户机端智能卡芯片里建立云用户端加密系统,在智能卡芯片里写入:轻量级密码算法、摘要算法、一组用户密钥、云用户的客户机端智能卡芯片的标识、云用户端文件的加密和数字签名协议,云用户端密文文件的解密和签名验证协议,在云计算平台的认证中心加密卡芯片里,建立认证中心端加密系统,在加密卡芯片里写入:轻量级密码算法、摘要算法、全体对应云用户端的用户密钥、云用户之间用户密钥的交换协议;
云用户端文件的加密和数字签名协议,云用户A的客户机端加密系统,在智能卡芯片里调用随机数发生器产生一组随机数,用该组随机数作为用户A端的过程密钥,对云用户A的文件进行加密和数字签名,生成云用户A文件的密文和云用户A文件的数字签名,用智能卡芯片里云用户A的客户机端的用户密钥,将云用户A的客户机端的过程密钥加密成密文,并与云用户A的客户机端智能卡芯片的标识、云用户A文件的密文和云用户A文件的数字签名这4组数据,一起发送给云计算平台的认证中心端;
云用户之间密钥的交换协议,认证中心端加密系统,根据云用户A的客户机端智能卡芯片的标识,在加密卡芯片里,取出对应云用户A的用户密钥,并用云用户A的客户机端的用户密钥,将云用户A的客户机端的过程密钥的密文解密,得到云用户A的客户机端的过程密钥明文,再根据云用户B的客户机端智能卡芯片的标识,取出对应云用户B的客户机端的用户密钥,用云用户B的客户机端的用户密钥,将云用户A的客户机端的过程密钥加密成密文,并与云用户B的客户机端智能卡芯片的标识、云用户A文件的密文和云用户A文件的数字签名这4组数据,一起发送给云用户B的客户机端;
云用户端密文文件的解密和签名验证协议,云用户B的客户机端加密系统,在智能卡芯片里使用云用户B的客户机端的用户密钥,将云用户A的客户机端的过程密钥密文解密成明文,再使用解密后的云用户A的客户机端的过程密钥,将云用户A的密文文件解密,得到云用户A的文件明文,对云用户A的文件的数字签名进行签名验证,来确定通过认证中心转发来的云用户A的文件是否可信、完整;
当云用户的文件数量十分大时,云计算平台的认证中心需要部署大量的加密卡设备,来存储大量对应云用户端的用户密钥;
在采用一种安全单钥管理技术情况下,在云用户的客户机端智能卡芯片和云计算平台的认证中心端加密卡芯片里,建立云用户之间的文件加密传输系统,其方法的技术特征在于:
在云用户的客户机端智能卡芯片里建立云用户端加密系统,在智能卡芯片里写入:轻量级密码算法、摘要算法、一套密钥种子表Ci、单钥密钥组合生成算法、云用户的客户机端智能卡芯片的标识、云用户端文件的加密和数字签名协议,云用户端密文文件的解密和签名验证协议,在云计算平台的认证中心加密卡芯片里,建立认证中心端加密系统,在加密卡芯片里写入:轻量级密码算法、摘要算法、单钥密钥组合生成算法、一套密钥种子表D、密钥种子表Ci元素的加密和数字签名协议、云用户之间用户密钥的交换协议,在认证中心端认证服务器的硬盘存储区,将对应认证中心端全体云用户的客户机端智能卡芯片标识、密钥种子表Ci元素的密文及其密钥种子表Ci元素的数字签名、对应生成存储密钥的一组时间戳和随机数,一起存储在用户密钥数据库中,其中:i=n,n为全体云用户数量的总和;
采用一种安全单钥管理技术即:采用三种密钥的管理方法,第一种密钥为:过程密钥,过程密钥用来建立云用户端文件的加密和数字签名协议;第二种密钥为:用户密钥,用户密钥用于加密过程密钥,保证在两云用户之间过程密钥的交换安全;第三种密钥为:存储密钥,存储密钥用于加密全体云用户端的密钥种子表Ci的元素,保证全体云用户端的密钥种子表C的元素,在认证中心端的存储安全,其中:用户密钥和存储密钥,都是由一组时间戳和随机数组成的单钥密钥组合生成算法,对一套密钥种子表Ci或表D的元素进行选取,将选出的元素合成一组用户密钥或存储密钥;
当云用户的文件数量或文件长度都十分大时,不需要在云计算平台的认证中心端部署大量的加密卡设备,来存储大量云用户端的密钥种子表C的元素,或存储大量存储密钥;
云用户端文件的加密和数字签名协议,云用户A的客户机端加密系统在智能卡芯片里,调用随机数发生器产生一组随机数,用该组随机数作为云用户A的客户机端的过程密钥,对云用户A的文件进行加密和数字签名,生成云用户A文件的密文和云用户A文件的数字签名,在智能卡芯片里,产生一组时间戳和随机数,根据单钥密钥组合生成算法,产生一组云用户A的用户密钥,将用户A的过程密钥加密成密文,并与云用户A的客户机端智能卡芯片的标识、云用户A文件的密文、云用户A文件的数字签名、产生云用户A的客户机端用户密钥的一组时间戳和随机数共6组数据,一起发送给云计算平台的认证中心;
“密钥种子”表C元素的加密和数字签名协议,云计算平台的认证中心端加密系统,在加密卡芯片里产生一组时间戳和随机数,根据单钥密钥组合生成算法,用该时间戳和随机数,对密钥种子表D的元素进行选取,将选出的Y个元素合成一组存储密钥,用该存储密钥来加密“密钥种子”表C的元素和表C元素的摘要信息,得到密钥种子表C元素的密文即:C’和表C元素的数字签名,再将云用户的客户机端智能卡芯片的标识、密钥种子表C的元素密文即:C’、密钥种子表C元素的数字签名、以及对应生成存储密钥的时间戳和随机数,一并事先存储在认证中心端的用户密钥数据库中Y=16,或32;
云用户之间密钥的交换协议,认证中心端加密系统,根据云用户A的客户机端智能卡芯片的标识,在用户密钥数据库中,取出对应云用户A的客户机端的密钥种子表CA元素的密文、密钥种子表CA元素的数字签名、对应生成存储密钥的一组时间戳和随机数,在加密卡芯片里,根据单钥密钥组合生成算法生成存储密钥,用该存储密钥将对应云用户A的客户机端的密钥种子表CA元素的密文解密成明文,并对该密钥种子表CA元素的数字签名进行签名验证,来确定存储在认证中心端的密钥种子表CA的元素是否完整、可信,根据单钥密钥组合生成算法,由一组产生用户密钥的时间戳和随机,生成云用户A的客户机端用户密钥,将云用户A的客户机端的过程密钥的密文解密,得到云用户A的客户机端的过程密钥明文,再根据云用户B的客户机端智能卡芯片的标识,在用户密钥数据库中,取出对应云用户B的客户机端的密钥种子表CB元素的密文、密钥种子表CB元素的数字签名、对应生成存储密钥的一组时间戳和随机数,在加密卡芯片里,根据单钥密钥组合生成算法,生成一组存储密钥,将对应云用户B的客户机端的密钥种子表CB元素的密文解密成明文,并对密钥种子表CB元素的数字签名进行签名验证,来确定存储在认证中心端的密钥种子表CB的元素是否完整、可信,再产生一组时间戳和随机数,根据单钥密钥组合生成算法,生成云用户B的客户机端的用户密钥,用云用户B的客户机端的用户密钥,将云用户A的客户机端的过程密钥加密成密文,并与云用户B的客户机端智能卡芯片的标识、云用户A文件的密文、云用户A文件的数字签名、一组产生云用户B的客户机端用户密钥的一组时间戳和随机数,共6组数据,一起发送给云用户B的客户机端,其中:CA=C1~Cn,CB=C1~Cn,CA≠CB;
云用户端密文文件的解密和签名验证协议,云用户B的客户机端加密系统,根据单钥密钥组合生成算法,由产生云用户B的客户机端用户密钥的一组时间戳和随机数,对智能卡芯片里的密钥种子表CB的元素进行选取,生成云用B端的用户密钥,将云用户A的客户机端过程密钥的密文解密成明文,再使用解密后云用户A的客户机端的过程密钥,对云用户A文件的密文进行解密,得到云用户A文件的明文,再对云用户A文件的数字签名进行签名验证,来确定云用户A通过认证中心转发来的签名文件是否可信、完整,从而,建立一种基于云计算的大数据文件加密传输系统。
2.根据权利1要求所述的方法其特征在于:
采用一种安全单钥管理技术进行轻量级密码的密钥管理,来建立云计算环境下,大数据的文件加密传输和密钥安全交换,其中:大数据指:文件数量十分大或文件长度十分长;
(1)过程密钥
设:过程密钥为:CK,由云用户的客户机端智能卡芯片里的随机数发生器实时产生一组128比特的随机数,用该组随机数作为过程密钥或云用户端的过程密钥CK,用过程密钥CK对云用户端的文件进行加密和数字签名,再用一组用户密钥SK,来加密过程密钥CK,生成过程密钥CK的密文即:CK’,将CK’经过认证中心端解密和再次加密后,转发给其他云用户,CK的明文不出智能卡或加密卡的芯片,实现两云用户之间通过认证中心,进行过程密钥CK的安全交换;
(2)用户密钥
设:用户密钥为:SK,由云用户的客户机端智能卡芯片里的单钥密钥组合生成算法,实时产生一组用户密钥或云用户端的用户密钥SK,用户密钥SK是用于加密过程密钥CK,在密钥初始化过程中,由认证中心端加密卡芯片里的随机数发生器,生成一组F1字节随机数,F1=1424或1680字节,将F1字节的随机数组成,一套W×Y的密钥种子表C,其中:表C的元素为Cu v,u=0~w-1,v=0~y-1,Cu v占0.5字节,或1字节,W=89,或105,Y=16,或32;
设:云用户的客户机端智能卡芯片的标识Ti对应的密钥种子表为:Ci,将密钥种子表Ci的元素存放在云用户的客户机端智能卡芯片里,当运行云用户端文件的加密和数字签名协议时,由一组时间戳和随机数组成的单钥密钥组合生成算法,对密钥种子表Ci的元素进行选取,将选出的Y个元素合成一组用户密钥SK,其中:Y=16,或32;每套密钥种子表Ci都对应一支智能卡,设:全体云用户客户机端智能卡芯片里密钥种子表分别为:C1、C2、......、Cn,n为全体云用户数量的总和,其中:Cd、Ce(1≤d或e≤n,d≠e),的元素都两两不同;
单钥密钥组合生成算法和密钥种子表Ci,都存储在云用户的客户机端智能卡芯片里,且生成的用户密钥明文不出智能卡芯片,保证用户密钥在云用户端的存储和运行安全;
在认证中心端加密卡的芯片里,用存储密钥Ki,将云用户的客户机端智能卡芯片里的密钥种子表Ci的元素加密成密文,并将密钥种子表Ci的元素以密文的形式,分别与对应的云用户的客户机端智能卡芯片的标识、以及生成对应存储密钥Ki的选取参数即:一组时间戳和随机数,一起事先存储在认证中心端的用户密钥数据库中;
当认证中心端的密钥种子表Ci密文被调用时,是在认证中心加密卡芯片里被解密成明文,全体密钥种子表Ci元素的明文不出加密卡芯片,保证全体密钥种子表Ci元素在认证中心端的存储和运行安全,其中:i=1~n,n为全体云用户的数量总和;
(3)存储密钥
设:存储密钥为:K,由认证中心加密卡芯片里的单钥密钥组合生成算法,产生一组存储密钥K,存储密钥K用于加密全体密钥种子表C元素,在密钥初始化过程中,事先由物联网认证中心端加密卡芯片里的随机数发生器,生成一组F2字节随机数,F2=1424或1680字节,将F2字节的随机数组成,一套W×Y的密钥种子表D,其中:表D的元素为Du v,u=0~w-1,v=0~y-1,Au v占0.5字节,或1字节,W=89,或105,Y=16,或32;
将表D的元素存放在物联网认证中心加密卡卡芯片里,用一组时间戳和随机数组成的单钥密钥组合生成算法,对密钥种子表D的元素进行选取,将选出的Y个元素合成一组存储密钥K;
设:用于加密密钥种子表Ci的元素的存储密钥Ki共n个,即:K1、K2、......、Kn,用对应的存储密钥Ki将全体密钥种子表Ci的元素加密,生成密钥种子表Ci的密文,即:C1’、C2’、......、Cn’,并将Ci’存储在认证中心端的用户密钥数据库中,其中:i=1~n,n为全体云用户的数量总和。
3.根据权利1要求所述的方法其特征在于:
(1)单钥密钥组合生成算法,是通过一组时间戳和随机数组成的选取参数,来对一套密钥种子表的元素进行选取,用时间戳对密钥种子表的“行”元素进行选取,选出Y行Y列的密钥种子表的子表,再根据随机数,对Y行Y列的密钥种子表的“列”元素进行选取,选出Y个元素,并合成一组密钥,其中:Y=16或32,存储密钥K和用户密钥SK都是由单钥密钥组合生成算法实时产生;
若时间戳为:10位数字组成,即:“年”由4位数字组成即:XXX0年~XXX9年,即:取0~9年,“月”由2位数字组成即:取1月~12月,“日”由2位数字组成即:取1日~31日,“时”由2位数字组成即:取0时~23时,如:2013122819,表示2013年12月28日19点;
随机数由Y=16或,32位,二进制数组成,当Y=16位二进制数时,每位随机数为4比特二进制数,每位随机数的二进制数据的数值为0~15,如:0011,1010,0000,......,1111,0110,其二进制数据的数值为:3,10,0,......,15,6;当Y=32位二进制数时,每位随机数的二进制数的数值为:0~31,如:00110,10100,00000,......,11111,01100,其二进制数据的数值为:6,20,0,......,31,12;
(2)单钥密钥组合生成算法的具体实现方法,
密钥种子表D和表C的结构一样,只是表中的元素不同,以表D为例说明单钥密钥组合生成算法的具体实现方法;
当选择表D元素为89行16列元素时,即:89×16=1424个元素,每个元素占1字节,共占1424字节,当选择表D元素为105行32列元素时,即:105×32=3360个元素,每个元素占,0.5字节,共占1680字节;
用时间戳的“年”对应表D中的第1~10行,共10行,“月”对应表D中的第11~22行,共12行,“日”对应表D中的第23~53行,共31行,“时”对应表D中的第54~77行,共24行,当选择表D元素为89行16列元素时,表D还有12行元素不对应时间戳;当选择表D元素为105行32列元素时,表D还有28行元素不对应时间戳;
根据时间戳从表D的元素中先选出4行,其方法是:从表D的第1~10行共10行中取1行即:用时间戳“年”数字中个位数的数值,作为取表D中“年”对应的行数,如:时间戳为:2013XXXXXX,则:取表D中的第4行,从表D的第11~22行共12行中取1行即:用时间戳“月”数字的数值,作为取表D中“月”对应的“行”,如:时间戳为:20XX11XXXX,则:取表D中的第21行,从表D的第23~53行共31行中取1行即:用时间戳“日”数字的数值,作为取表D中“日”对应的“行”,如:时间戳为:20XXXX30XX,则:取表D中的第52行,从表D的第54~77行共24行中取1行即:用时间戳“时”数字的数值,作为取表D中“时”对应的“行”,如:时间戳为:20XXXXXX21,则:取表D中的第74行,再将表D的第78行~第W行共W-78+1行选出,共选出Y行,其中:Y=16或32行,组成:Y×Y表D的子表D1,其中:表D1的元素为:Dv v,v=0~Y-1,Av v占0.5或1字节,Y=16或32;表D1中第5行~第Y行的元素与表D的第78行~第W行的元素完全相同;
设:随机数为:Q1,Q2,......,QY,对应的数值分别为:L1,L2,......,LY,当Y=16时,16位随机数对应的数值为:0~15之间,用:L1,L2,......,L16,对表D1的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第16位随机数Q16的数值L16,来选取表D1第16行的第L16+1列的元素,共选出16个元素;当Y=32时,32位随机数的数值为:0~31,用:L1,L2,......,L32,对表D1的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第32位随机数Q32的数值L32,来选取表D1第32行的第L32+1列的元素,共选出32个元素;
由于,单钥密钥的长度为128比特,则从表D中选出的Y组元素合并成一组单钥密钥,即:为存储密钥,若表D的元素为:8比特,Y=16,则从表D中选出的16组元素合并成的单钥密钥为128比特,若表D的元素为:4比特,Y=32,则从表D中选出的32组元素合并成的单钥密钥也为128比特;
(3)过程密钥CK、用户密钥SK和存储密钥:K,都为:128,CK的重复率为:1/2128,基本上实现一次一密;
用户密钥SK、存储密钥K,都是通过一组时间戳和随机数,来对密钥种子表D或B的元素进行选取,将选出的Y个元素合成一组用户密钥SK、或存储密钥K,若选取参数中的随机数为16位,密钥种子表D或B的元素为8比特,时间戳为“年、月、日、时”的情况下,在一小时内,用户密钥SK和存储密钥K的重复率都为:1/264;若选取参数中的随机数为32位,密钥种子表D或表C的元素为4比特,时间戳为“年、月、日、时”的情况下,在一小时内,用户密钥SK和存储密钥K的重复率都为:1/2160,用户密钥SK和存储密钥K也基本上为一次一密。
4.根据权利1要求所述的方法其特征在于:
“密钥种子”表C元素的加密和数字签名协议,云计算平台的认证中心端加密系统,在加密卡芯片里产生一组时间戳Hi和随机数Ji,根据单钥密钥组合生成算法,用时间戳Hi和随机数Ji,对密钥种子表D的元素进行选取,将选出的Y个元素合成一组存储密钥Ki,用该存储密钥Ki来加密密钥种子表Ci的元素,得到密钥种子表Ci元素的密文即:Ci’.并用该存储密钥Ki来对密钥种子表Ci元素进行数字签名即:对密钥种子表Ci元素的“摘要”信息Gi进行加密,得到“密钥种子”表Ci元素“摘要”信息Gi的密文即:数字签名,再将云用户的客户机端智能卡芯片的标识、密钥种子表Ci的元素密文即:Ci’、密钥种子表Ci元素的数字签名、以及对应生成存储密钥Ki的时间戳Hi和随机数Ji,一并事先存储在认证中心端的用户密钥数据库中,其中:Hi=H1~Hn,Ji=J1~Jn,Ci=C1~Cn,Ci’=C1’~Cn’,Gi=G1~Gn,Ki=K1~Kn,i=1~n,Y=16,或32。
5.根据权利1要求所述的方法其特征在于:
(1)云用户端文件的加密和数字签名协议,云用户A的客户机端加密系统在智能卡芯片里,调用摘要算法对云用户A的客户机端的文件进行摘要获得“摘要”信息L1,再调用随机数发生器产生一组随机数,用该组随机数作为云用户A的客户机端的过程密钥CK,对云用户A的客户机端的文件进行加密,生成云用户A的客户机端的文件密文,并对“摘要”信息L1进行加密,得到“摘要”信息L1的密文即:得到云用户A的客户机端的文件数字签名,在智能卡芯片里,产生一组时间戳1和随机数1,根据单钥密钥组合生成算法,用时间戳1和随机数1,对密钥钥种子表CA的元素进行选取,选出Y个元素合成一组云用户A的客户机端的用户密钥SKA,用SKA将过程密钥CK加密成密文即:CK’,并将云用户A的客户机端智能卡芯片的标识、云用户A的客户机端文件的密文、云用户A的客户机端文件的数字签名、云用户A的客户机端的过程密钥CK的密文、生成SKA的时间戳1和随机数1,共6组数据,一起发送给云计算平台的认证中心端,其中:CA=C1~Cn,i=1~n,Y=16,或32;
(2)云用户之间用户密钥的交换协议,当认证中心端接收收到云用户A的客户机端发送来的6组数据后,认证中心端加密系统,首先,根据云用户A的客户机端智能卡芯片的标识,在用户密钥数据库中定位对应云用户A的客户机端智能卡芯片标识的记录,将记录中生成用户密钥的“密钥种子”表CA密文即:表CA’、生成存储密钥KA的一组时间戳HA和随机数JA,一并取出输入认证中心端的加密卡芯片中,在加密卡芯片里,根据单钥密钥组合生成算法,用生成存储密钥KA的一组时间戳HA和随机数JA,对表D的元素进行选取,选出Y个元素并合成存储密钥KA,使用KA将“密钥种子”表CA的元素密文即:CA’解密,得到“密钥种子”表CA的元素明文,使用KA对密钥种子表CA元素的数字签名进行解密,得到“密钥种子”表CA的元素“摘要”信息GA的明文,再调用摘要算法对CA的明文元素进选取参数行摘要,得到“摘要”信息GA1,通过对比GA和GA1是否相同?来判断“密钥种子”表CA的元素是否被篡改,确定“密钥种子”表CA的元素是否完整、可信,再根据单钥密钥组合生成算法,用生成云用户A的客户机端SKA的时间戳1和随机数1,对“密钥种子”表CA的元素明文进行选取,选出Y个元素并合成用户密钥SKA1,若表CA的元素已通过了完整性验证,则SKA=SKA1,用该SKA1将云用户A的客户机端的过程密钥CK的密文即:CK’解密,得到云用户A的客户机端过程密钥的明文即:CK,再根据云用户B的客户机端智能卡芯片的标识,在用户密钥数据库中,取出对应云用户B的客户机端的“密钥种子”表CB元素的密文、“密钥种子”表CB元素的数字签名、对应生成存储密钥KB的选取参数:时间戳HB和随机数JB,在加密卡芯片里,根据单钥密钥组合生成算法,用对应生成存储密钥KB的选取参数:时间戳HB和随机数JB,对“密钥种子”表D的元素进行选取,将选出Y个元素合成一组存储密钥KB,用KB将对应云用户B的客户机端的“密钥种子”表CB元素的密文解密成明文,使用KB对密钥种子表CB元素的数字签名进行解密,得到“密钥种子”表CB的元素“摘要”信息GB的明文,再调用摘要算法对CB的明文元素进选取参数行摘要,得到“摘要”信息GB1,通过对比GB和GB1是否相同?来判断“密钥种子”表CB的元素是否被篡改,来确定“密钥种子”表CB的元素是否完整、可信,再产生一组时间戳2和随机数2,根据单钥密钥组合生成算法,用时间戳2和随机数2,对云用户B的客户机端的“密钥种子”表CB元素进行选取,将选出Y个元素合成一组对应云用户B的客户机端的用户密钥SKB,用SKB将云用户A的客户机端的过程密钥CK加密成密文,将云用户B的客户机端智能卡芯片的标识、云用户A的客户机端文件的密文、云用户A的客户机端文件的数字签名、过程密钥CK的密文、产生云用户B的客户机端用户密钥SKB的时间戳2和随机数2,共6组数据,一起发送给云用户B的客户机端;在云用户之间密钥的交换协议中,也包含了密钥种子表CA、CB的元素密文解密和签名验证协议的内容,其中:CA=C1~Cn,CB=C1~Cn,CA≠CB,HA=H1~Hn,HB=H1~Hn,HA≠HB,JA=J1~Jn,JB=J1~Jn,JA≠JB,KA=K1~Kn,KB=K1~Kn,KA≠KB,GA=G1~Gn,GA=GA1或GA≠GA1;GB=G1~Gn,GB=GB1或GB≠GB1,GA≠GB,i=1~n:
(3)云用户端密文文件的解密和签名验证协议,云用户端收到认证中心端发来的6组数据后,云用户B的客户机端加密系统,在智能卡芯片里,根据单钥密钥组合生成算法,用产生云用户B的客户机端用户密钥SKB的时间戳2和随机数2,对密钥种子表CB的元素进行选取,将选出Y个元素合成一组云用户B的客户机端的用户密钥SKB1,若表CB的元素已通过了完整性验证,则SKB=SKB1,用SKB1将过程密钥CK的密文解密得到过程密钥CK的明文,用过程密钥CK将云用户端的文件密文解密,得到云用户端文件的明文,再用过程密钥CK将云用户A的客户机端文件的数字签名解密,得到云用户A的客户机端文件的摘要信息L1,调用智能卡芯片里的摘要算法,对云用户A的客户机端文件进行摘要,得到云用户A的客户机端文件的摘要信息L2,通过对比L1和L2是否相同,来确认云用户A的客户机端传输来的签名文件是否可信、完整,其中:CB=C1~Cn,i=1~n。
6.根据权利1要求所述的方法其特征在于:
由于云用户的数量十分大,在认证中心端需要存储的数据量也十分大,对应云用户端生成用户密钥SK的每套“密钥种子”表Ci的元素,占1424字节或1680字节存储空间,当云用户的数量达到5~6亿时,对应云用户端涉及的数据量,属于大数据的范畴,用单钥密钥组合生成算法产生一次一变的存储密钥Ki,来加密对应各个云用户端生成用户密钥SK的“密钥种子”表Ci的元素,保证存放在认证中心端全体对应云用户端的“密钥种子”表Ci中元素的存储安全,不需要购置大量的加密卡硬件设备,来存储海量的生成用户密钥SK的“密钥种子”表Ci的元素,能大大节约认证中心的建设成本,使得单一认证中心能管理海量如:5~6亿的云用户,其中:i=1~n。
7.根据权利1要求所述的方法其特征在于:
(1)采用一种安全单钥管理技术建立各种安全协议的策略,是基于智能卡和加密卡的芯片是可信的基础上,云用户端文件的加密和数字签名协议、云用户端密文文件的解密和签名验证协议,是在智能卡芯片里完成,密钥种子表C元素的加密和数字签名协议、云用户之间密钥的交换协议,是在加密卡的芯片里完成,都是基于“芯片级”的协议,安全性高;
(2)过程密钥是在智能卡芯片里生成,并以密文的形式在两云用户之间通过认证中心进行传输,保证过程密钥的安全交换;
用户密钥SK是在云用户的客户机端智能卡芯片里生成,生成用户密钥SK的单钥密钥组合生成算法和生成用户密钥SK的一套密钥种子表Ci,也是存储在智能卡芯片里,在认证中心端,生成用户密钥SK的单钥密钥组合生成算法存储在加密卡芯片里,生成用户密钥SK的一套“密钥种子”表Ci,是以密文形式存储在认证中心端的用户密钥数据库中,保证用户密钥SK在云用户端和认证中心端的存储、交换和运行安全,其中:i=1~n;
存储密钥K是在加密卡的芯片里生成,单钥密钥组合生成算法和一套密钥种子表D,也是存储在加密卡芯片里,保证存储密钥K的存储和运行安全。
8.根据权利1要求所述的方法其特征在于:
用一次一变的用户密钥,来加密一次一变的过程密钥,生成的过程密钥密文也具有随机性,一次一变,也都属于一组乱码,无规律性,破译者无法将公开获得的大量过程密钥的密文,作为破译条件——“重复报”(使用相同的单钥将多份不同的明文报文加密成密文报文),来破过程密钥,或破译用户密钥,或破译生成用户密钥的“密钥种子”表Ci的元素;
用一次一变的存储密钥Ki,来加密具有随机数性质的“密钥种子”表Ci,生成的密钥种子表Ci的密文即:Ci’也具有随机性,也都属于一组乱码,破译者无法将表Ci’,作为破译条件——“重复报”来破译表Ci,或者来破译存储密钥Ki,其中:i=1~n,n为全体云用户数量的总和。
9.根据权利1要求所述的方法其特征在于:
在云用户之间用户密钥的交换协议中,云用户平台的认证中心端的加密系统,不仅对文件发送端对应的“密钥种子”表Ci元素进行完整性验证,而且,也对文件接收端对应的密钥种子表Ci元素进行完整性验证,从而,防止云用户平台的认证中心对应云用户端的密钥种子表Ci的元素被篡改或被克隆,其中:i=1~n。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101882.6A CN103152362B (zh) | 2013-03-28 | 2013-03-28 | 基于云计算的大数据文件加密传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101882.6A CN103152362B (zh) | 2013-03-28 | 2013-03-28 | 基于云计算的大数据文件加密传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103152362A true CN103152362A (zh) | 2013-06-12 |
CN103152362B CN103152362B (zh) | 2015-09-16 |
Family
ID=48550224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310101882.6A Active CN103152362B (zh) | 2013-03-28 | 2013-03-28 | 基于云计算的大数据文件加密传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103152362B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490889A (zh) * | 2013-08-07 | 2014-01-01 | 金子光 | 一种无限长密钥互联网通信加密方法 |
CN103997405A (zh) * | 2014-05-28 | 2014-08-20 | 大唐移动通信设备有限公司 | 一种密钥生成方法及装置 |
CN104954364A (zh) * | 2015-05-25 | 2015-09-30 | 收付宝科技有限公司 | 电子签名消息推送方法和系统 |
CN103701848B (zh) * | 2013-11-07 | 2016-08-31 | 江南大学 | 一种基于云计算的物联网数据安全存储方法和系统 |
CN107733841A (zh) * | 2016-08-12 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 基于多重加密的消息传输方法及装置 |
CN110012004A (zh) * | 2018-10-12 | 2019-07-12 | 王龙 | 一种基于数据暂存技术的数据防泄漏方法 |
US10417437B2 (en) | 2015-09-28 | 2019-09-17 | Xmedius Solutions Inc. | Maintaining data security in a network device |
CN111624934A (zh) * | 2020-04-28 | 2020-09-04 | 郑州信大捷安信息技术股份有限公司 | 一种plc应用程序数据保护系统和方法 |
CN114915623A (zh) * | 2022-07-11 | 2022-08-16 | 万商云集(成都)科技股份有限公司 | 一种文件同步的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1293077B1 (en) * | 2000-03-10 | 2009-06-03 | Herbert Street Technologies Ltd. | A data transfer and management system |
CN102932453A (zh) * | 2012-10-31 | 2013-02-13 | 江苏博智软件科技有限公司 | 一种基于云计算的数据中心安全体系实现方法 |
-
2013
- 2013-03-28 CN CN201310101882.6A patent/CN103152362B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1293077B1 (en) * | 2000-03-10 | 2009-06-03 | Herbert Street Technologies Ltd. | A data transfer and management system |
CN102932453A (zh) * | 2012-10-31 | 2013-02-13 | 江苏博智软件科技有限公司 | 一种基于云计算的数据中心安全体系实现方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490889A (zh) * | 2013-08-07 | 2014-01-01 | 金子光 | 一种无限长密钥互联网通信加密方法 |
CN103490889B (zh) * | 2013-08-07 | 2017-03-15 | 金子光 | 一种无限长密钥互联网通信加密方法 |
CN103701848B (zh) * | 2013-11-07 | 2016-08-31 | 江南大学 | 一种基于云计算的物联网数据安全存储方法和系统 |
CN103997405A (zh) * | 2014-05-28 | 2014-08-20 | 大唐移动通信设备有限公司 | 一种密钥生成方法及装置 |
CN103997405B (zh) * | 2014-05-28 | 2017-10-17 | 大唐移动通信设备有限公司 | 一种密钥生成方法及装置 |
CN104954364A (zh) * | 2015-05-25 | 2015-09-30 | 收付宝科技有限公司 | 电子签名消息推送方法和系统 |
US10417437B2 (en) | 2015-09-28 | 2019-09-17 | Xmedius Solutions Inc. | Maintaining data security in a network device |
CN107733841A (zh) * | 2016-08-12 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 基于多重加密的消息传输方法及装置 |
CN110012004A (zh) * | 2018-10-12 | 2019-07-12 | 王龙 | 一种基于数据暂存技术的数据防泄漏方法 |
CN111624934A (zh) * | 2020-04-28 | 2020-09-04 | 郑州信大捷安信息技术股份有限公司 | 一种plc应用程序数据保护系统和方法 |
CN114915623A (zh) * | 2022-07-11 | 2022-08-16 | 万商云集(成都)科技股份有限公司 | 一种文件同步的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103152362B (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103152362B (zh) | 基于云计算的大数据文件加密传输方法 | |
CN102624522B (zh) | 一种基于文件属性的密钥加密方法 | |
CN107086915B (zh) | 一种数据传输方法、数据发送端及数据接收端 | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
US20190207758A1 (en) | Generation of keys of variable length from cryptographic tables | |
JP5167374B2 (ja) | データ暗号化装置、及び、メモリカード | |
CN103618607A (zh) | 一种数据安全传输和密钥交换方法 | |
CN103684794A (zh) | 一种基于des、rsa、sha-1加密算法的通信数据加解密方法 | |
CN102437910A (zh) | 数据加/解密校验方法及其系统 | |
CN102185694A (zh) | 基于指纹信息的电子文件加密的方法及其系统 | |
CN101789865A (zh) | 一种用于加密的专用服务器及加密方法 | |
CN102833075A (zh) | 基于三层叠加式密钥管理技术的身份认证和数字签名方法 | |
CN102546156A (zh) | 一种分组加密方法、系统和装置 | |
CN103248476A (zh) | 数据加密密钥的管理方法、系统及终端 | |
CN104410493A (zh) | 基于分布式系统基础架构的数据安全存储及读取方法 | |
CN111404953A (zh) | 一种消息加密方法、解密方法及相关装置、系统 | |
CN101826961A (zh) | 数据传输加解密方法、装置及系统 | |
CN104200154A (zh) | 一种基于标识的安装包签名方法及其装置 | |
CN103237302A (zh) | 一种物联网电子标签的传感信息安全防护方法 | |
CN102833260A (zh) | 一种采用安全单钥管理技术的物联网密码认证方法 | |
Sharma et al. | Analysis of AES Encryption with ECC | |
CN104486756A (zh) | 一种密笺短信的加解密方法及系统 | |
CN105530089A (zh) | 属性基加密方法和装置 | |
CN112528309A (zh) | 一种数据存储加密和解密的方法及其装置 | |
CN116389100A (zh) | 一种数字信封加密方法及装置 |
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 |