
本发明涉及信息安全领域,具体为一种用于标识解析体系的安全存储及权限管理的方法。
背景技术:
1、国密算法,即国家商用密码算法。是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准。如sm系列密码,sm代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。sm4是分组加密算法,是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。sm4算法与aes算法具有相同的密钥长度、分组长度,都是128bit,因此在安全性上高于3des算法。于2012年3月21日发布,适用于密码应用中使用分组密码的需求。
2、现有国家标识解析提供的标识权限管理只提供了两级读写权限:admin以及public,不利于标识解析体系的推广以及工业生产活动中对数据的权限管理需求和安全需求。
技术实现思路
1、本发明所解决的技术问题在于提供一种用于标识解析体系的安全存储及权限管理的方法,以解决技术背景中所提到的问题。为实现上述目的,本发明提供如下技术方案:一种用于标识解析体系的安全存储及权限管理的方法,具体包括:应用管理模块,角色管理模块,元数据管理模块,角色数据权限管理模块,原始秘钥管理模块,标识加密存储模块,标识解密解析模块,所述应用管理模块负责定义访问标识的应用,并提供应用访问所需的应用编号和应用访问秘钥,并在应用访问标识功能时,对应用进行鉴权;角色管理模块提供访问标识的应用所使用的角色的定义和管理功能;元数据管理模块提供标识数据字段的定义和角色对字段的读、写访问权限的管理功能;角色数据权限管理模块负责为角色添加可以访问的元数据及其字段的读写权限;原始秘钥管理模块负责管理用于生成动态秘钥的原始秘钥数据;标识加密存储模块负责提供动态秘钥的生成与存储加密功能;标识解密解析模块负责提供加密标识的解密与解析功能。
2、优选地,所述应用管理模块包含了应用基本信息的管理,应用访问标识所需的身份认证信息的管理,包括应用id以及应用访问秘钥,应用访问标识时,必须携带id以及秘钥证明拥有访问权,所述应用管理模块还定义了该应用所拥有的角色。
3、优选地,所述角色管理模块包含了应用角色的管理,定义了角色的基本信息,角色管理模块也可定义角色和应用的对应关系,角色可以被多个应用拥有,应用也可以拥有多个角色。
4、优选地,所述元数据管理模块包含了元数据的管理以及元数据权限的管理,所述元数据是描述数据的数据,元数据描述的是标识中存储的数据,为了确保外部应用访问标识时仅能访问标识拥有者所赋予的访问权限,元数据管理模块在定义数据字段信息的同时,也定义了数据的访问权限信息,具体实施步骤如下:
5、(1)定义元数据信息
6、step1:创建元数据基本信息,填写元数据的标识、版本、描述等信息;
7、setp2:新增字段信息;
8、setp3:重复setp2,直至所有的字段添加完成;
9、setp4:定义标识原始权限信息,是否公开以及读写权限;
10、(2)定义权限信息
11、setp1:选择可以访问使用该元数据定义的标识的角色;
12、setp2:逐个定义字段是否可以被该角色读、写;
13、setp3:重复setp1、setp2,直到所有需要访问该元数据定义的标识的角色都被添加完成;
14、(3)注册元数据标识
15、setp1:选择该元数据标识所用的标识企业前缀;
16、setp2:根据字段信息和权限信息生成元数据标识values信息;
17、setp3:向企业节点注册该元数据标识。
18、优选地,所述原始秘钥管理模块负责管理用于生成动态秘钥的原始秘钥数据。
19、优选地,所述标识加密存储模块负责提供动态秘钥的生成与存储加密功能,所述标识加密存储模块根据标识元数据所定义的权限和字段信息,对标识数据进行加密,具体实施步骤如下:
20、(1)计算标识秘钥;
21、setp1:取标识的整个key部分;
22、setp2:转换成byte数组;
23、setp3:将每个byte高低位互换;
24、setp4:将形成的新byte数组转换为int;
25、setp5:对int数组求和;
26、setp6:对和进行1024模运算;
27、setp7:1024减去上一步的计算结果;
28、setp8:所得差值为原始秘钥索引;
29、setp9:取得原始秘钥;
30、setp10:取标识的整个key部分;
31、setp11:转换成ascii码数组;
32、setp12:分别以正序和倒序生成两个3*3矩阵;
33、setp13:对两个矩阵进行矩阵乘运算,获得结果矩阵1;
34、setp14:对结果矩阵1的每个元素进行对3求模运算;
35、setp15:根据运算结果决定该位置的内容是数字还是大小写字母;
36、setp16:对结果矩阵1元素进行不同段ascii码模运算,数字对10求模,字母对26求模;
37、setp17:根据规则计算出动态秘钥在原始秘钥的插入位置;
38、setp18:与setp9所得的原始秘钥合并,形成新秘钥;
39、(2)加密标识
40、setp1:计算秘钥;
41、setp2:获取标识的value;
42、setp3:获取标识的元数据标识value;
43、setp4:根据权限判断是否允许写入;
44、setp5:使用国密4算法和计算出的秘钥,对所有需要加密的字段加密;
45、(3)注册/更新标识
46、setp1:向企业节点注册或者更新标识。
47、优选地,所述标识解密解析模块负责提供加密标识的解密与解析功能,并根据请求所提供的角色信息,返回该角色所能访问的标识数据,具体实施步骤如下:
48、(1)计算标识秘钥;
49、setp1:取标识的整个key部分;
50、setp2:转换成byte数组;
51、setp3:将每个byte高低位互换;
52、setp4:将形成的新byte数组转换为int;
53、setp5:对int数组求和;
54、setp6:对和进行1024模运算;
55、setp7:1024减去上一步的计算结果;
56、setp8:所得差值为原始秘钥索引;
57、setp9:取得原始秘钥;
58、setp10:取标识的整个key部分;
59、setp11:转换成ascii码数组;
60、setp12:分别以正序和倒序生成两个3*3矩阵;
61、setp13:对两个矩阵进行矩阵乘运算,获得结果矩阵1;
62、setp14:对结果矩阵1的每个元素进行对3求模运算;
63、setp15:根据运算结果决定该位置的内容是数字还是大小写字母;
64、setp16:对结果矩阵1元素进行不同段ascii码模运算,数字对10求模,字母对26求模;
65、setp17:根据规则计算出动态秘钥在原始秘钥的插入位置;
66、setp18:与setp9所得的原始秘钥合并,得到秘钥;
67、(2)解密标识
68、setp1:计算秘钥;
69、setp2:获取标识的一个value;
70、setp3:获取该value的type属性所描述的元数据标识;
71、setp4:根据元数据标识以及传入的角色信息判断该角色是否可读整个value;
72、setp5:获取value的字段,与角色信息对比,判断是否可读该字段;
73、setp6:允许读,则解密该字段;
74、setp7:不允许读,跳过该字段;
75、setp8:重复setp5、6、7,直到该value的所有字段解析完毕;
76、setp9:重复setp2至8,直到该表示的所有value解析完毕;
77、setp10:返回解密后的标识信息。
78、与现有技术相比,本发明具有以下有益效果:
79、(1):补全了国家标识解析体系标识数据权限管理功能,提供了角色字段级权限管理功能,并将权限信息通过元数据标识注册在标识体系内,形成了标识数据的自洽;
80、(2):提供了标识安全存储功能,通过原始秘钥推算出的动态秘钥,为每个标识提供独一无二的密钥,降低暴力破解加密标识的可能性和杜绝了单一秘钥泄露导致全部加密失效的可能。