CN102752112B - 基于sm1/sm2算法的权限控制方法及装置 - Google Patents
基于sm1/sm2算法的权限控制方法及装置 Download PDFInfo
- Publication number
- CN102752112B CN102752112B CN201110101369.8A CN201110101369A CN102752112B CN 102752112 B CN102752112 B CN 102752112B CN 201110101369 A CN201110101369 A CN 201110101369A CN 102752112 B CN102752112 B CN 102752112B
- Authority
- CN
- China
- Prior art keywords
- user
- personal information
- sign
- resource
- module
- 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
Abstract
本发明公开了一种基于SM1/SM2算法的权限控制方法及装置,其中方法包括:通过用户身份设备向后台管理模块协商得到会话密钥;采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign,Resource)进行SM1加密,将得到的加密结果SM1(ID,Sign,Resource)发送给数据采集模块;通过数据采集模块将加密结果SM1(ID,Sign,Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,并根据SM2公钥对签名字符串进行解密,得到用户私人信息;验证用户私人信息与第一用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第一用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
Description
技术领域
本发明涉及安全控制领域,具体而言,涉及一种基于SM1/SM2算法的权限控制方法及装置。
背景技术
国密SM1算法是由国家密码管理局编制的一种商用密码分组标准对称算法。该算法是国家密码管理部门审批的SM1分组密码算法,分组长度和密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES相当,SM2算法是国家密码管理局编制的商用密码标准的公钥算法标准,SM2算法采用ECC椭圆曲线原理,算法密钥有192比特和256比特两种,SM2算法在安全强度和运算速度上均优于RSA算法。SM2算法已经公开,但多以IP核的形式存在于芯片中。采用SM1/SM2算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
当今社会很多企事业单位中,为不同的用户赋予不同的权限,访问不同的资源,也即权限管理,小到门禁系统、考勤系统,大到政府、银行内部的管理系统,都有着十分广泛的应用。
效率与安全性是权限管理关注的重点,如果门禁系统不能禁止非法用户进入,如果银行内部的权限管理系统足够繁琐以至于无法及时将房贷发放到按揭用户的手中,将会造成非常严重的后果并大大降低工作效率。
很多小区、大楼、智能大厦以及高档写字楼等都运用了或者需要运用一种不仅安全而且具备权限管理和控制的门禁系统来达到确保安全和高效管理的目标。但是现有的权限管理系统,或现在大量使用的M1卡等设备,都具备容易破解或者其他安全性不高的缺点,另外如何有效的进行权限管理在各个系统中也都不是一个容易解决的问题。
很多权限管理系统中,加密-鉴权算法往往采用DES-RSA模式,而DES、RSA等加密算法的核心部分为国外所掌握,因此,采用国外加密算法的权限管理系统,对我国政府部门尤其是一些国家核心保密部门的日常运行和决策造成了很大的威胁。
发明内容
本发明提供一种基于SM1/SM2算法的权限控制方法及装置,用以进行有效的安全控制以及权限管理,达到高效安全的权限控制要求。
为达到上述目的,本发明提供了一种基于SM1/SM2算法的权限控制方法,其包括以下步骤:
通过用户身份设备向后台管理模块协商得到会话密钥;
当用户请求使用某种资源时,在用户身份设备端采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign,Resource)进行SM1加密,将得到的加密结果SM1(ID,Sign,Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源;
通过数据采集模块将加密结果SM1(ID,Sign,Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;
根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,并根据SM2公钥对签名字符串进行解密,得到用户私人信息;
验证用户私人信息与第一用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第一用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
较佳的,上述权限控制方法还包括以下步骤:根据用户私人信息生成SM2证书,将用户私人信息以及带SM2私钥的SM2证书写入用户身份设备;同时将用户私人信息、SM2证书以及用户对应的权限信息位写入数据库。
较佳的,用户私人信息包括:姓名、年龄、ID和指纹。
为达到上述目的,本发明还提供了一种基于SM1/SM2算法的权限控制装置,其包括:
密钥生成模块,用于通过用户身份设备向后台管理模块协商得到会话密钥;
加密模块,用于采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign,Resource)进行SM1加密,将得到的加密结果SM1(ID,Sign,Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源;
解密模块,用于通过数据采集模块将加密结果SM1(ID,Sign,Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;
SM1/SM2密码模块,用于根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,根据SM2公钥对签名字符串进行解密,得到用户私人信息;
验证模块,用于验证用户私人信息与第一用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第一用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明一个实施例的基于SM1/SM2算法的权限控制方法流程图;
图2为根据本发明一个实施例的基于SM1/SM2算法的权限控制装置模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
所以,发明一种具备良好的安全和权限控制功能的管理系统,就有了其非比寻常的意义。而具有自主知识产权的SM1、SM2算法的安全管理系统,恰恰成为解决这一问题的核心。
图1为根据本发明一个实施例的基于SM1/SM2算法的权限控制方法流程图。如图1所示,其包括以下步骤:
S101,通过用户身份设备向后台管理模块协商得到会话密钥;
S102,当用户请求使用某种资源时,在用户身份设备端采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign,Resource)进行SM1加密,将得到的加密结果SM1(ID,Sign,Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源;
S103,通过数据采集模块将加密结果SM1(ID,Sign,Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;
S104,根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,并根据SM2公钥对签名字符串进行解密,得到用户私人信息;
S105,验证用户私人信息与第一用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第一用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
SM1/SM2算法为国家具有自主知识产权的国产算法,SM1相较与DES,AES具有加密速度更快、抵抗线性攻击、差分攻击更好的优势。SM2算法为国产ECC算法,与RSA算法相比,采用较短的密钥就可以达到和RSA算法相同的加密强度。160位SM2算法的安全性相当于1024位的RSA算法,而210位的SM2则相当于2048位的RSA。本实施例通过使用具有自主知识产权的SM1/SM2算法,实现了国产算法的保密通信、身份识别以及权限分级管理,大大提高了整个系统的安全性和易用性,确保了国家核心秘密的安全。
例如,上述权限控制方法还包括以下步骤:根据用户私人信息生成SM2证书,将用户私人信息以及带SM2私钥的SM2证书写入用户身份设备;同时将用户私人信息、SM2证书以及用户对应的权限信息位写入数据库。
例如,用户私人信息包括:姓名、年龄、ID和指纹。
在上述实施例中,用户身份设备用于存储能够鉴别用户身份和权限的信息,它通常是一种可以被用户随身携带的硬件设备,用户身份识别设备本身具备SM1、SM2加解密的功能。数据采集模块负责将用户身份设备中的待鉴别信息提取出来,传送给SM1/SM2密码模块,数据采集模块可以是一种硬件设备,也可以是一种基于PC平台操作系统之上的软件。
图2为根据本发明一个实施例的基于SM1/SM2算法的权限控制装置模块图。如图2所示,其包括:
密钥生成模块10,用于通过用户身份设备向后台管理模块协商得到会话密钥;
加密模块20,用于采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign,Resource)进行SM1加密,将得到的加密结果SM1(ID,Sign,Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源;
解密模块30,用于通过数据采集模块将加密结果SM1(ID,Sign,Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;
SM1/SM2密码模块40,用于根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,根据SM2公钥对签名字符串进行解密,得到用户私人信息;
验证模块50,用于验证用户私人信息与第一用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第一用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
SM1/SM2密码模块负责已经SM1的加解密运算、SM2的加密、解密、签名等运算;SM1/SM2密码模块由后台管理模块管理。后台管理模块负责综合管理,包括初始化用户身份设备、管理用户权限,判定是否对用户开放资源;后台管理模块通常包含一个用于存储用户信息以及用户权限的数据库。资源模块为不同权限管理系统下针对不同用户的权限可以开放的资源,不同的权限管理系统的资源不同,并不针对某一种权限管理系统。
以下为根据本发明一个优选实施例的权限控制方法的工作过程:
首先,系统完成初始化的过程,即管理员为用户发放身份设备的过程。管理员收集用户的私人信息Prinfo,如姓名、年龄、ID、指纹等信息,并以用户的私人信息为参数,通过SM1/SM2密码模块生成SM2证书,管理员将用户私人信息以及带私钥的SM2证书写入用户身份设备。管理员根据用户的实际权限,为用户生成权限标志位;管理员将用户私人信息、用户SM2证书、用户权限分配标志,都写入后台数据库中。管理员将用户身份设备发放到相应的用户手中。
其次,用户使用身份设备请求使用某种资源Resource。用户身份设备通过数据传输模块与后台管理模块协商密钥Sessionkey作为保护通信安全的回话密钥。用户每次请求资源协商新的Sessionkey。用户身份设备使用自身存取的SM2私钥对用户私人信息Prinfo1进行签名,并将用户ID和签名信息Sign组成的字符串(ID,Sign)使用Sessionkey做SM1加密后,记为SM1(ID,Sign,Resource),发送给数据采集模块,数据采集模块将SM1(ID,Sign,Resource)传送给后台管理模块。后台管理模块通过SM1/SM2密码模块,使用Sessionkey解密得到(ID,Sign,Resource)字符串。后台管理模块通过用户ID查询数据库中相关的证书得到用户SM2公钥Pubkey以及私人信息Prinfo2。后台管理模块调用SM1/SM2密码模块,使用用户SM2公钥Pubkey验证用户私人信息Prinfo1与Proinfo2是否匹配。如果不匹配,拒绝该用户的请求。若匹配,则继续通过数据库查询该用户相应的Resource资源权限分配标志位,如果该用户具备访问该资源Resource的权限,则将允许该用户访问资源模块,否则,拒绝该用户的请求。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (4)
1.一种基于SM1/SM2算法的权限控制方法,其特征在于,包括以下步骤:
通过用户身份设备向后台管理模块协商得到会话密钥;
当用户请求使用某种资源时,在所述用户身份设备端采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据所述会话密钥对ID、Sign、Resource进行SM1加密,将得到的ID、Sign、ResourceSM1加密结果发送给数据采集模块,其中ID代表所述用户私人信息,Sign代表所述签名字符串,Resource代表该某种资源;
通过所述数据采集模块将所述ID、Sign、ResourceSM1加密结果发送至所述后台管理模块,并根据所述会话密钥对其进行解密得到ID、Sign、Resource字符串;
根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,并根据所述SM2公钥对所述签名字符串进行解密,得到所述用户私人信息;
验证所述用户私人信息与所述第一用户私人信息是否一致,若不一致则拒绝用户请求,否则根据所述第一用户私人信息在所述数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
2.根据权利要求1所述的权限控制方法,其特征在于,还包括以下步骤:
根据用户私人信息生成SM2证书,将用户私人信息以及带SM2私钥的SM2证书写入用户身份设备;
同时将所述用户私人信息、所述SM2证书以及用户对应的权限信息位写入数据库。
3.根据权利要求1所述的权限控制方法,其特征在于,所述用户私人信息包括:
姓名、年龄、ID和指纹。
4.一种基于SM1/SM2算法的权限控制装置,其特征在于,包括:
密钥生成模块,用于通过用户身份设备向后台管理模块协商得到会话密钥;
加密模块,用于采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据所述会话密钥对ID、Sign、Resource进行SM1加密,将得到的ID,Sign,ResourceSM1加密结果发送给数据采集模块,其中ID代表所述用户私人信息,Sign代表所述签名字符串,Resource代表某种资源;
解密模块,用于通过所述数据采集模块将所述ID,Sign,ResourceSM1加密结果发送至所述后台管理模块,并根据所述会话密钥对其进行解密得到ID、Sign、Resource字符串;
SM1/SM2密码模块,用于根据该ID在所述数据库中查询得到相应的第一用户私人信息和用户公钥,根据所述SM2公钥对所述签名字符串进行解密,得到所述用户私人信息;
验证模块,用于验证所述用户私人信息与所述第一用户私人信息是否一致,若不一致则拒绝用户请求,否则根据所述第一用户私人信息在所述数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110101369.8A CN102752112B (zh) | 2011-04-22 | 2011-04-22 | 基于sm1/sm2算法的权限控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110101369.8A CN102752112B (zh) | 2011-04-22 | 2011-04-22 | 基于sm1/sm2算法的权限控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102752112A CN102752112A (zh) | 2012-10-24 |
CN102752112B true CN102752112B (zh) | 2016-02-24 |
Family
ID=47032025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110101369.8A Active CN102752112B (zh) | 2011-04-22 | 2011-04-22 | 基于sm1/sm2算法的权限控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752112B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052596A (zh) * | 2013-03-11 | 2014-09-17 | 江苏国盾科技实业有限责任公司 | 一种基于sm2算法的应用服务系统 |
CN104917741B (zh) * | 2014-07-19 | 2018-10-02 | 国家电网公司 | 一种基于usbkey的明文文档公网安全传输系统 |
CN104506320B (zh) * | 2014-12-15 | 2018-04-17 | 山东中创软件工程股份有限公司 | 一种身份认证的方法及系统 |
CN106161017A (zh) * | 2015-03-20 | 2016-11-23 | 北京虎符科技有限公司 | 标识认证安全管理系统 |
CN109450884B (zh) * | 2018-10-26 | 2019-10-15 | 天津海泰方圆科技有限公司 | 一种数据加密、解密方法、装置、系统、设备及介质 |
CN109617703B (zh) * | 2019-01-31 | 2022-07-05 | 北京深思数盾科技股份有限公司 | 密钥管理方法和装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100469030C (zh) * | 2006-07-05 | 2009-03-11 | 中山大学 | 一种用于数字家庭网络的信息资源权限管理方法 |
CN101848088A (zh) * | 2009-12-28 | 2010-09-29 | 北京海泰方圆科技有限公司 | 用密码算法提交个人识别码的系统 |
-
2011
- 2011-04-22 CN CN201110101369.8A patent/CN102752112B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102752112A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201181472Y (zh) | 硬件密钥装置和移动存储系统 | |
CN102752112B (zh) | 基于sm1/sm2算法的权限控制方法及装置 | |
CN106161402A (zh) | 基于云环境的加密机密钥注入系统、方法及装置 | |
CN204595860U (zh) | 一种存储设备加密桥接器 | |
CN101483654A (zh) | 实现认证及数据安全传输的方法及系统 | |
CN103955654A (zh) | 基于虚拟文件系统的u盘安全存储方法 | |
CN111274599A (zh) | 一种基于区块链的数据共享方法及相关装置 | |
CN102932155A (zh) | 一种支持采用硬件加密算法的高速存储控制soc芯片 | |
CN102236756A (zh) | 一种基于TCM可信密码模块和USBKey的文件加密方法 | |
CN103516523A (zh) | 一种基于云存储的数据加密体系架构 | |
Vegesna | Investigations on Different Security Techniques for Data Protection in Cloud Computing using Cryptography Schemes | |
CN110011812A (zh) | 一种适用于机场安全的证卡防伪方法 | |
Zhou et al. | Implementation of cryptographic algorithm in dynamic QR code payment system and its performance | |
CN112822010B (zh) | 一种基于量子密钥和区块链的可移动存储介质管理方法 | |
CN1953366B (zh) | 智能密钥装置的密码管理方法和系统 | |
Gajmal et al. | Blockchain-based access control and data sharing mechanism in cloud decentralized storage system | |
CN107733936A (zh) | 一种移动数据的加密方法 | |
CN102270182B (zh) | 基于同步用户和主机认证的加密可移动存储设备 | |
Hu | Study of file encryption and decryption system using security key | |
TWI430643B (zh) | Secure key recovery system and method | |
IBRAHIM et al. | A novel data encryption algorithm to ensure database security | |
CN105306220A (zh) | 一种基于智能密码钥匙的文件刻录控制系统及其实现方法 | |
Veena et al. | A cost-effective 2-tier security paradigm to safeguard cloud data with faster authentication | |
Sawle et al. | Survey on data classification and data encryption techniques used in cloud computing | |
CN106911467A (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 |