一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于国密的云服务器访问固态硬盘的安全系统和方法与流程

2022-05-31 23:55:42 来源:中国专利 TAG:


1.本发明涉及信息安全技术领域,尤其涉及一种基于国密的云服务器访问固态硬盘的安全系统和方法。


背景技术:

2.随着云计算和虚拟化技术的蓬勃发展,各种软件和应用程序都部署在云端。这些不同的应用程序通过虚拟化技术,将存储设备抽象成为一个动态的资源池,多用户共享物理上的同一份存储设备,导致全新的安全问题。例如用户通过租赁虚拟机来获得云服务提供的计算资源,虚拟化层直接与用户进行交互,并对底层的硬件资源进行调用。因此,虚拟化安全是云计算安全的核心问题。例如虚拟机之间进行攻击,虚拟机管理员的非法程序对用户进行攻击等等。而由于当前硬盘多采用自加密的方式,当用户打开自己的硬盘资源后,其他用户可以伪装为该用户,来进行数据的盗窃。


技术实现要素:

3.本发明的目的是针对现有技术的缺陷,提供了一种基于国密的云服务器访问固态硬盘的安全系统和方法。
4.为了实现以上目的,本发明采用以下技术方案:
5.一种基于国密的云服务器访问固态硬盘的安全系统,包括虚拟机硬件设备、虚拟机管理员、数个物理主机;虚拟机管理员分别与虚拟机硬件设备、数个物理主机连接;所述数个物理主机中的每个物理主机包括数个虚拟机、数个操作系统;
6.数个虚拟机中的每个虚拟机通过虚拟机管理员向虚拟机硬件设备读写数据;
7.虚拟机管理员基于国密算法sm9、sm3或sm4建立安全通道,并负责管理主密钥,和处理密钥生成中心的工作。
8.相应的,还提供一种基于国密的云服务器访问固态硬盘的安全方法,安全方法为:采用国密算法sm9、sm3或sm4构建加解密系统,虚拟机访问虚拟机硬件设备时进行身份验证,并申请硬盘资源,对虚拟机硬件设备的读写都是基于该虚拟机身份建立安全通道,在安全通道内对数据进行读写;在写入虚拟机硬件设备的数据中,加入虚拟机的用户信息对数据进行加密,读出数据时需要虚拟机的用户信息对数据进行解密。
9.进一步的,所述安全方法中当新虚拟机加入时,向虚拟机管理员进行注册操作方法包括:
10.s1.通过国密算法sm2密钥交换协议,新虚拟机和虚拟机管理员建立安全通道;
11.s2.新虚拟机向虚拟机管理员发送自己的用户标识;
12.s3.虚拟机管理员根据国密算法sm9协议,生成新虚拟机的加密私钥;
13.s4.虚拟机管理员判断在生成新虚拟机私钥的过程中是否更新加密主私钥和加密主公钥,若是,则需要更新所有已知虚拟机的加密私钥,并将更新后的加密私钥存储于虚拟机管理员的安全区域中,执行步骤s5;若否,则执行步骤s5;
14.s5.虚拟机管理员将生成的加密私钥发送至新虚拟机。
15.进一步的,所述步骤s4中更新加密主私钥和加密主公钥具体为:
16.a1.虚拟机管理员阻止新虚拟机的注册;
17.a2.虚拟机管理员使用上一次的加密信息,采用国密算法sm9的密钥交换协议,和虚拟机建立安全通道;
18.a3.将更新后的密钥信息发给虚拟机;
19.a4.重复步骤a2-a3,直到更新完所有虚拟机;
20.a5.开放新虚拟机的注册流程。
21.进一步的,所述安全方法中虚拟机完成注册后,向虚拟机管理员申请硬盘资源的方法包括:
22.s1.通过国密算法sm9密钥交换协议,虚拟机和虚拟机管理员建立安全通道;
23.s2.虚拟机向虚拟机管理员申请硬盘空间;
24.s3.虚拟机管理员分配硬盘空间,并将虚拟机自己的用户标识和分配硬盘空间发送至虚拟机硬件设备;
25.s4.虚拟机硬件设备建立硬盘空间和虚拟机的对应表;
26.s5.返回虚拟机硬件设备的硬盘标识和对应的分配硬盘空间给虚拟机。
27.进一步的,所述安全方法中当虚拟机向自己的空间发送命令时,在物理主机中的操作系统为每个虚拟机建立一个安全层,来完成安全会话的建立,具体包括:
28.s1.通过国密算法sm9密钥交换协议,虚拟机和虚拟机管理员建立安全通道;
29.s2.虚拟机向虚拟机硬件设备发起安全会话,虚拟机管理员产生会话密钥;
30.s3.虚拟机管理员使用产生的会话密钥完成命令的加解密操作。
31.进一步的,所述步骤s2中发起安全会话具体为:
32.b1.判断会话是否建立完成,若否,则执行步骤b2;若是,则执行步骤b3;
33.b2.在建立会话过程中虚拟机管理员更新了虚拟机或虚拟机硬件设备的密钥,则会话建立失败;当会话建立失败后,虚拟机向虚拟机管理员确认密钥更新完成,再重新建立会话,并执行步骤b4;
34.b3.在会话已经建立后虚拟机管理员更新了密钥,则继续进行会话,直到会话结束,并在下次建立会话时,使用更新后的密钥,并执行步骤b4;
35.b4.在会话已经建立后,虚拟机进行安全的读写擦操作。
36.进一步的,所述步骤b4中虚拟机进行安全的读写擦操作具体为:
37.c1.虚拟机的用户层将命令发送到虚拟机的安全层中;
38.c2.虚拟机的安全层将会话密钥作为参数传入驱动中;
39.c3.驱动生成写命令后,虚拟机管理员对命令通过国密算法sm4进行加密;
40.c4.虚拟机硬件设备收到命令后,使用会话密钥,虚拟机管理员对命令通过国密算法sm4进行解密;
41.c5.虚拟机管理员验证该命令的合法性,若合法,则执行该命令。
42.进一步的,所述步骤c2之后还包括:
43.若驱动和虚拟机硬件设备无法通过国密算法sm4完成加密和解密操作时,将虚拟机的用户标识和会话密钥通过国密算sm3操作,并放入nvme命令的apptag中,虚拟机硬件设
备收到命令后,根据访问的地址范围查找出虚拟机的用户标识。
44.进一步的,所述步骤c5之后还包括:
45.c6.当命令的合法性检查完成后,判断所述命令为写命令还是读命令,若为写命令,则根据虚拟机的用户的pin码或用户标识对数据进行加密;若为写命令,则根据虚拟机的用户的pin码进行数据的读取。
46.与现有技术相比,本发明提供的一种基于多用户,多虚拟机平台的数据存储安全系统及方法,用于解决在读写存储设备时,对用户身份进行验证,以及对传输过程的数据进行保护的问题。特别地,在传统的基于tcg的自加密盘中,一旦用户解锁了自己在硬盘中的数据,其他用户或者管理员也能访问这一片区域的数据。特别是一些钓鱼软件可能持续攻击该用户数据,一旦发现该用户解锁了存储设备的数据,会马上进行数据的盗窃。特别是在云虚拟机中,硬件资源是共享的,所以需要从用户到硬件资源池对数据进行保护。
47.在本发明的系统中,虚拟机管理员根据密钥交换协议,分配不同的身份标识给不同的虚拟机用户,虚拟机用户根据该标识向硬件资源池申请资源,且该资源属于该用户独享,直到用户释放该资源,或者虚拟机管理员回收该资源。
48.在用户的身份标识建立后,用户和硬件资源通过密钥交换协议,产生一个临时的会话密钥,用于本次用户活动中,对于用户和硬件资源的命令认证,直到该会话结束。
49.在数据的读写过程中,用户在和硬盘之间建立安全通道后,向硬盘发送数据pin,如果没有发送数据pin,硬盘根据用户标识产生一个数据pin,用于数据加解密的初始向量的一部分,在数据读取时,需要输入相同的数据标识,才可以将数据解密,因此可以保证只有该用户才可以读取数据。
50.采用本发明后,对于硬盘的资源申请,对硬盘的操作命令和读写硬盘的数据都根据用户标识进行了加密。如果其他用户访问非该用户的数据区域,则该命令无法被硬盘执行,并返回命令错误给驱动。在该系统中,管理员只能负责分配和回收硬盘资源,如果管理员访问用户的数据区域,由于其无法获得用户和硬盘之间的会话密钥,因此也无法发出有效命令,从而无法获取用户数据。当硬盘丢失时,其他人无法获取用户的标识或者用户的pin,因此也无法对数据进行解密。
51.同时,由于采用基于标识的安全认证策略,因此在云迁移过程中,用户和硬盘只要标识保持不变,那么就可以进行替换,并不影响数据的有效性。
附图说明
52.图1是实施例一提供的虚拟化结构示意图;
53.图2是实施例一提供的安全用户定义示意图;
54.图3是实施例二提供的命令发送流程示意图。
具体实施方式
55.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施
例中的特征可以相互组合。
56.本发明的目的是针对现有技术的缺陷,提供了一种基于国密的云服务器访问固态硬盘的安全系统和方法。
57.实施例一
58.本实施例提供一种基于国密的云服务器访问固态硬盘的安全系统,包括虚拟机硬件设备、虚拟机管理员、数个物理主机;虚拟机管理员分别与虚拟机硬件设备、数个物理主机连接;数个物理主机中的每个物理主机包括数个虚拟机、数个操作系统;
59.数个虚拟机中的每个虚拟机通过虚拟机管理员向虚拟机硬件设备读写数据;
60.虚拟机管理员基于国密算法sm9、sm3或sm4建立安全通道,并负责管理主密钥,和处理密钥生成中心的工作。
61.本实施例提供了一种多用户,多虚拟机平台的数据存储安全系统及方法,基于国密sm9和其他商密算法,用于解决在读写存储设备时,对用户身份进行验证,以及在传输过程的数据进行保护的问题。
62.本实施例将基于nvme协议的固态硬盘作为例,但需要说明的是,本实施例的系统在应用过程中可扩展到其他存储设备中。
63.如图1所示,虚拟化结构包括虚拟机硬件设备、虚拟机管理员、多个物理主机;其中每个物理主机中包括多个操作系统,与多个操作系统相适配的虚拟机、安装于虚拟机内的应用程序。
64.在多虚拟机平台中,虚拟机指的是运行于物理主机上的虚拟主机,一台物理主机可以同时运行多个虚拟主机,而一个虚拟机平台可以支持多个物理主机。虚拟机访问的虚拟硬件设备也都是虚拟化的,是通过虚拟机管理员的虚拟化技术实现的。所以当运行于虚拟机中的应用程序进行数据的读写时,读写的是虚拟硬件设备硬盘中的数据,在通过虚拟机管理员虚拟机的转化后,变成访问物理硬盘的读写操作。
65.虚拟机硬件设备作为资源统一放入资源池中,所以不同的虚拟机可能访问同一个虚拟机硬件设备的不同存储卷。而且对于同一个虚拟机来说,也可能不同的应用程序在访问同一个虚拟机硬件设备。因此对于虚拟机硬件设备,需要有能力区分不同的虚拟机用户和对应的物理资源。
66.如图2所示,虚拟机和虚拟机硬件设备都可以看成不同的安全用户,在启动阶段需要向虚拟机管理员根据自己的用户标识申请私钥。根据国密算法sm9协议,虚拟机向虚拟机硬件设备的硬盘读写数据可以看作安全用户a(虚拟机)向安全用户b(虚拟机硬件设备)发送消息。其中,虚拟机管理员属于安全管理员用户admin,负责管理主密钥,和处理密钥生成中心的工作。
67.在整个云安全系统中,所有的用户和硬盘虚拟机和虚拟机硬件设备都必须分配为一个用户标识,在对虚拟机和虚拟机硬件设备的硬盘进行迁移时,需要在新硬盘上分配同样的用户标识,来完成硬盘的替代工作。同样的,如果用户切换了虚拟机,只需要使用相同的用户标识,就可以完成用户在虚拟机之间的迁移。
68.本实施例在安全的策略中基于中国商密算法sm3、sm4和sm9。在nvme安全盘中,首先安全管理员需要对用户进行身份标识验证;其次用户向安全管理员申请硬盘资源;再次用户和硬盘之间需要建立安全通道,来完成对硬盘的操作命令;最后,在写入数据时,根据
用户标识对数据进行加密,在读出数据时,需要用户标识来完成解密。在该系统和方法中,实现了用户、命令、数据的三重验证。真正实现了在多用户系统并行操作时,其他用户,钓鱼软件甚至管理员也无法窃取用户数据的方案。
69.实施例二
70.本实施例提供一种基于国密的云服务器访问固态硬盘的安全方法,其中基于实施例一中的一种基于国密的云服务器访问固态硬盘的安全系统实现的。
71.本实施例采用国密算法sm9、sm3或sm4构建加解密系统,虚拟机访问虚拟机硬件设备时进行身份验证,并申请硬盘资源,对虚拟机硬件设备的读写都是基于该虚拟机身份建立安全通道,在安全通道内对数据进行读写;在写入虚拟机硬件设备的数据中,加入虚拟机的用户信息对数据进行加密,读出数据时需要虚拟机的用户信息对数据进行解密。
72.当新虚拟(新用户)机加入时,向虚拟机管理员(安全管理员)进行注册操作方法包括:
73.s1.通过国密算法sm2密钥交换协议,新用户和安全管理员建立安全通道;
74.s2.新用户向安全管理员发送自己的用户标识,例如身份证号,邮件或者手机号;
75.s3.安全管理员根据国密算法sm9协议,生成新用户的加密私钥;
76.s4.安全管理员判断在生成新用户私钥的过程中是否更新加密主私钥和加密主公钥,若是,则需要更新所有已知用户的加密私钥,并将更新后的加密私钥存储于安全管理员的安全区域中,执行步骤s5;若否,则执行步骤s5;
77.s5.安全管理员将生成的加密私钥发送至新用户。
78.在步骤s4中,当安全管理员需要更新加密主公钥和用户私钥具体为:
79.a1.安全管理员阻止新用户的注册;
80.a2.安全管理员使用上一次的加密信息,采用国密算法sm9的密钥交换协议,和用户建立安全通道;
81.a3.将更新后的密钥信息发给用户;
82.a4.重复步骤a2-a3,直到更新完所有用户;
83.a5.开放新用户的注册流程,即执行步骤s1。
84.当已有用户进行身份认证时,其步骤为:
85.根据sm9数字签名流程,将用户id进行使用用户私钥进行签名;
86.s1.安全管理员对该签名进行验证。
87.s2.当虚拟机硬件设备(硬盘)加入资源池时,需要云管理员为该硬盘分配用户id,然后向安全管理员进行相同的用户注册或者验证。
88.用户完成注册后,向安全管理员申请硬盘资源的方法包括:
89.s1.通过国密算法sm9密钥交换协议,用户和安全管理员建立安全通道;
90.s2.用户向安全管理员申请硬盘空间;
91.s3.安全管理员分配硬盘空间,并将用户自己的用户标识和分配硬盘空间发送至硬盘;
92.s4.硬盘建立硬盘空间和虚拟机的对应表;
93.s5.返回硬盘标识和对应的分配硬盘空间给用户。
94.当用户向自己的空间发送命令时,参考图3,在操作系统中为每个用户建立一个安
全层,来完成安全会话的建立,具体包括:
95.s1.通过国密算法sm9密钥交换协议,用户和安全管理员建立安全通道;
96.s2.用户向硬盘发起安全会话,安全管理员产生会话密钥;
97.s3.安全管理员使用产生的会话密钥完成命令的加解密操作。
98.在本实施例中,步骤s2中发起安全会话具体为:
99.b1.判断会话是否建立完成,若否,则执行步骤b2;若是,则执行步骤b3;
100.b2.在建立会话过程中安全管理员更新了主机或硬盘的密钥,则会话建立失败;当会话建立失败后,用户向安全管理员确认密钥更新完成,再重新建立会话,并执行步骤b4;
101.b3.在会话已经建立后安全管理员更新了密钥,则继续进行会话,直到会话结束,并在下次建立会话时,使用更新后的密钥,并执行步骤b4;
102.b4.在会话已经建立后,用户进行安全的读写擦操作。
103.在本实施例中,步骤b4中虚拟机进行安全的读写擦操作具体为:
104.c1.虚拟机的用户层将命令发送到虚拟机的安全层中;
105.c2.虚拟机的安全层将会话密钥作为参数传入驱动中;
106.c3.驱动生成写命令后,安全管理员对命令通过国密算法sm4进行加密;
107.c4.硬盘收到命令后,使用会话密钥,安全管理员对命令通过国密算法sm4进行解密;
108.c5.安全管理员验证该命令的合法性,若合法,则执行该命令。
109.在本实施例中,步骤c2之后还包括:
110.若驱动和硬盘无法通过国密算法sm4完成加密和解密操作时,将用户的用户标识和会话密钥通过国密算sm3操作,并放入nvme命令的apptag中,硬盘收到命令后,根据访问的地址范围查找出虚拟机的用户标识。
111.进一步的,所述步骤c5之后还包括:
112.c6.当命令的合法性检查完成后,判断命令为写命令还是读命令,若为写命令,则根据虚拟机的用户的pin码或用户标识对数据进行加密;若为写命令,则根据虚拟机的用户的pin码进行数据的读取。
113.在本实施例中,如果是写命令,则根据用户的pin或者用户标识来对数据进行加密,其步骤为:
114.1.根据自加密盘的要求,如果用户输入了pin,则采用用户的pin,否则使用用户标识作为用户pin;
115.2.根据用户pin,trng的真随机数,进行基于sm4的kdf操作,生成kek;
116.3.硬盘根据trng生成加密数据用的dek;
117.4.使用kek对dek进行sm4的密钥封装操作,生成mek,将mek存储与硬盘中;
118.5.使用dek对数据基于sm4进行加密。
119.如果是读命令,则根据用户的pin进行数据的读取时,其步骤为:
120.1.如果密钥没有加载到解密模块,需要用户输入pin或者根据用户的身份标识来生成kek,然后使用kek对mek进行sm4解封操作,恢复dek;
121.2.使用dek对数据进行解密。
122.当执行擦除工作时,可以直接删除存储的mek,从而完成数据的删除操作。
123.由于每一笔读写擦命令都需要验证用户的合法性,从而保证了当其他用户同时使用该硬盘时,也无法窃取当前用户的信息。
124.本实施例中对于自加密硬盘,当用户提供数据密钥时,使用数据密钥对数据进行加解密。当不提供数据密钥时,将用户标识作为数据密钥对数据进行加解密。
125.本实施例的用户将硬盘的io操作命令发给硬盘驱动时,中间经过一个安全层,在安全层中,将命令加密方式,用户标识和会话密钥发送给硬盘驱动。如果选择命令自加密,那么驱动需要将读写命令先根据会话密钥进行sm4加密,然后再写入内存中。硬盘取出命令后,首先需要将命令进行sm4解密,验证命令正确性后方能执行命令。如果选择签名验证方式,那么驱动将用户标识根据会话密钥进行sm4加密,然后放入nvme命令的apptag中,硬盘取出命令后,首先对apptag进行sm4解密,然后验证命令访问的区间符合该用户的合法访问区间,才可以进行访问。
126.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献