基于sm1/sm2算法的权限控制方法及装置的制作方法

文档序号:6422885阅读:262来源:国知局
专利名称:基于sm1/sm2算法的权限控制方法及装置的制作方法
技术领域
本发明涉及安全控制领域,具体而言,涉及一种基于SM1/SM2算法的权限控制方法及装置。
背景技术
国密SMl算法是由国家密码管理局编制的一种商用密码分组标准对称算法。该算法是国家密码管理部门审批的SMl分组密码算法,分组长度和密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES相当,SM2算法是国家密码管理局编制的商用密码标准的公钥算法标准,SM2算法采用ECC椭圆曲线原理,算法密钥有192比特和256比特两种,SM2算法在安全强度和运算速度上均优于RSA算法。SM2算法已经公开,但多以IP核的形式存在于芯片中。采用SM1/SM2算法已经研制了系列芯片、智能IC卡、智能密码钥 匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。当今社会很多企事业单位中,为不同的用户赋予不同的权限,访问不同的资源,也即权限管理,小到门禁系统、考勤系统,大到政府、银行内部的管理系统,都有着十分广泛的应用。效率与安全性是权限管理关注的重点,如果门禁系统不能禁止非法用户进入,如果银行内部的权限管理系统足够繁琐以至于无法及时将房贷发放到按揭用户的手中,将会造成非常严重的后果并大大降低工作效率。很多小区、大楼、智能大厦以及高档写字楼等都运用了或者需要运用一种不仅安全而且具备权限管理和控制的门禁系统来达到确保安全和高效管理的目标。但是现有的权限管理系统,或现在大量使用的Ml卡等设备,都具备容易破解或者其他安全性不高的缺点,另外如何有效的进行权限管理在各个系统中也都不是一个容易解决的问题。很多权限管理系统中,加密-鉴权算法往往采用DES-RSA模式,而DES、RSA等加密算法的核心部分为国外所掌握,因此,采用国外加密算法的权限管理系统,对我国政府部门尤其是一些国家核心保密部门的日常运行和决策造成了很大的威胁。

发明内容
本发明提供一种基于SM1/SM2算法的权限控制方法及装置,用以进行有效的安全控制以及权限管理,达到高效安全的权限控制要求。为达到上述目的,本发明提供了一种基于SM1/SM2算法的权限控制方法,其包括以下步骤通过用户身份设备向后台管理模块协商得到会话密钥;当用户请求使用某种资源时,在用户身份设备端采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign, Resource)进行SMl加密,将得到的加密结果SMl (ID, Sign, Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源;通过数据采集模块将加密结果SMl (ID, Sign, Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign, Resource)字符串;根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,并根据SM2公钥对签名字符串进行解密,得到用户私人信息;验证用户私人信息与第二用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第二用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。较佳的,上述权限控制方法还包括以下步骤根据用户私人信息生成SM2证书,将 用户私人信息以及带SM2私钥的SM2证书写入用户身份设备;同时将用户私人信息、SM2证书以及用户对应的权限信息位写入数据库。较佳的,用户私人信息包括姓名、年龄、ID和指纹。为达到上述目的,本发明还提供了一种基于SM1/SM2算法的权限控制装置,其包括密钥生成模块,用于通过用户身份设备向后台管理模块协商得到会话密钥;加密模块,用于采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign, Resource)进行SMl加密,将得到的加密结果SMl (ID,Sign,Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源;解密模块,用于通过数据采集模块将加密结果SMl (ID, Sign, Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;SM1/SM2密码模块,用于根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,根据SM2公钥对签名字符串进行解密,得到用户私人信息;验证模块,用于验证用户私人信息与第二用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第二用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为根据本发明一个实施例的基于SM1/SM2算法的权限控制方法流程图;图2为根据本发明一个实施例的基于SM1/SM2算法的权限控制装置模块图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。所以,发明一种具备良好的安全和权限控制功能的管理系统,就有了其非比寻常的意义。而具有自主知识产权的SMI、SM2算法的安全管理系统,恰恰成为解决这一问题的核心。图I为根据本发明一个实施例的基于SM1/SM2算法的权限控制方法流程图。如图I所示,其包括以下步骤S101,通过用户身份设备向后台管理模块协商得到会话密钥;S102,当用户请求使用某种资源时,在用户身份设备端采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign, Resource)进行SMl加密,将得到的加密结果SMl (ID,Sign, Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源; S103,通过数据采集模块将加密结果SMl (ID, Sign, Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;S104,根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,并根据SM2公钥对签名字符串进行解密,得到用户私人信息;S105,验证用户私人信息与第二用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第二用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。SM1/SM2算法为国家具有自主知识产权的国产算法,SMl相较与DES,AES具有加密速度更快、抵抗线性攻击、差分攻击更好的优势。SM2算法为国产ECC算法,与RSA算法相t匕,采用较短的密钥就可以达到和RSA算法相同的加密强度。160位SM2算法的安全性相当于1024位的RSA算法,而210位的SM2则相当于2048位的RSA。本实施例通过使用具有自主知识产权的SM1/SM2算法,实现了国产算法的保密通信、身份识别以及权限分级管理,大大提高了整个系统的安全性和易用性,确保了国家核心秘密的安全。例如,上述权限控制方法还包括以下步骤根据用户私人信息生成SM2证书,将用户私人信息以及带SM2私钥的SM2证书写入用户身份设备;同时将用户私人信息、SM2证书以及用户对应的权限信息位写入数据库。例如,用户私人信息包括姓名、年龄、ID和指纹。在上述实施例中,用户身份设备用于存储能够鉴别用户身份和权限的信息,它通常是一种可以被用户随身携带的硬件设备,用户身份识别设备本身具备SMI、SM2加解密的功能。数据采集模块负责将用户身份设备中的待鉴别信息提取出来,传送给SM1/SM2密码模块,数据采集模块可以是一种硬件设备,也可以是一种基于PC平台操作系统之上的软件。图2为根据本发明一个实施例的基于SM1/SM2算法的权限控制装置模块图。如图2所示,其包括密钥生成模块10,用于通过用户身份设备向后台管理模块协商得到会话密钥;加密模块20,用于采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据会话密钥对(ID,Sign, Resource)进行SMl加密,将得到的加密结果SMl (ID,Sign,Resource)发送给数据采集模块,其中ID代表用户私人信息,Sign代表签名字符串,Resource代表该某种资源;解密模块30,用于通过数据采集模块将加密结果SMl (ID, Sign, Resource)发送至后台管理模块,并根据会话密钥对其进行解密得到(ID,Sign,Resource)字符串;SM1/SM2密码模块40,用于根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,根据SM2公钥对签名字符串进行解密,得到用户私人信息;验证模块50,用于验证用户私人信息与第二用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第二用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。SM1/SM2密码模块负责已经SMl的加解密运算、SM2的加密、解密、签名等运算;SM1/SM2密码模块由后台管理模块管理。后台管理模块负责综合管理,包括初始化用户身份设备、管理用户权限,判定是否对用户开放资源;后台管理模块通常包含一个用于存储用户信息以及用户权限的数据库。资源模块为不同权限管理系统下针对不同用户的权限可以开 放的资源,不同的权限管理系统的资源不同,并不针对某一种权限管理系统。以下为根据本发明一个优选实施例的权限控制方法的工作过程首先,系统完成初始化的过程,即管理员为用户发放身份设备的过程。管理员收集用户的私人信息Prinfo,如姓名、年龄、ID、指纹等信息,并以用户的私人信息为参数,通过SM1/SM2密码模块生成SM2证书,管理员将用户私人信息以及带私钥的SM2证书写入用户身份设备。管理员根据用户的实际权限,为用户生成权限标志位;管理员将用户私人信息、用户SM2证书、用户权限分配标志,都写入后台数据库中。管理员将用户身份设备发放到相应的用户手中。其次,用户使用身份设备请求使用某种资源Resource。用户身份设备通过数据传输模块与后台管理模块协商密钥Sessionkey作为保护通信安全的回话密钥。用户每次请求资源协商新的Sessionkey。用户身份设备使用自身存取的SM2私钥对用户私人信息Prinfol进行签名,并将用户ID和签名信息Sign组成的字符串(ID,Sign)使用Sessionkey做SMl加密后,记为SMl (ID, Sign, Resource),发送给数据采集模块,数据采集模块将SMl (ID, Sign, Resource)传送给后台管理模块。后台管理模块通过SM1/SM2密码模块,使用Sessionkey解密得到(ID,Sign,Resource)字符串。后台管理模块通过用户ID查询数据库中相关的证书得到用户SM2公钥Pubkey以及私人信息Prinfo2。后台管理模块调用SM1/SM2密码模块,使用用户SM2公钥Pubkey验证用户私人信息Prinfol与Proinfo2是否匹配。如果不匹配,拒绝该用户的请求。若匹配,则继续通过数据库查询该用户相应的Resource资源权限分配标志位,如果该用户具备访问该资源Resource的权限,则将允许该用户访问资源模块,否则,拒绝该用户的请求。本领域普通技术人员可以理解附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域普通技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
权利要求
1.一种基于SM1/SM2算法的权限控制方法,其特征在于,包括以下步骤 通过所述用户身份设备向后台管理模块协商得到会话密钥; 当用户请求使用某种资源时,在所述用户身份设备端采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据所述会话密钥对(ID,Sign, Resource)进行SMl加密,将得到的加密结果SMl (ID,Sign,Resource)发送给数据采集模块,其中ID代表所述用户私人信息,Sign代表所述签名字符串,Resource代表该某种资源; 通过所述数据采集模块将所述加密结果SMl (ID, Sign, Resource)发送至所述后台管理模块,并根据所述会话密钥对其进行解密得到(ID,Sign,Resource)字符串; 根据该ID在所述数据库中查询得到相应的第一用户私人信息和用户公钥,并根据所述SM2公钥对所述签名字符串进行解密,得到所述用户私人信息; 验证所述用户私人信息与所述第二用户私人信息是否一致,若不一致则拒绝用户请求,否则根据所述第二用户私人信息在所述数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
2.根据权利要求I所述的权限控制方法,其特征在于,还包括以下步骤 根据用户私人信息生成SM2证书,将用户私人信息以及带SM2私钥的SM2证书写入用户身份设备; 同时将所述用户私人信息、所述SM2证书以及用户对应的权限信息位写入数据库。
3.根据权利要求I所述的权限控制方法,其特征在于,所述用户私人信息包括 姓名、年龄、ID和指纹。
4.一种基于SM1/SM2算法的权限控制装置,其特征在于,包括 密钥生成模块,用于通过所述用户身份设备向后台管理模块协商得到会话密钥; 加密模块,用于采用SM2私钥对用户私人信息进行签名,得到签名字符串,并根据所述会话密钥对(ID,Sign, Resource)进行SMl加密,将得到的加密结果SMl (ID,Sign,Resource)发送给数据采集模块,其中ID代表所述用户私人信息,Sign代表所述签名字符串,Resource代表该某种资源; 解密模块,用于通过所述数据采集模块将所述加密结果SMl (ID, Sign, Resource)发送至所述后台管理模块,并根据所述会话密钥对其进行解密得到(ID,Sign, Resource)字符串; SM1/SM2密码模块,用于根据该ID在所述数据库中查询得到相应的第一用户私人信息和用户公钥,根据所述SM2公钥对所述签名字符串进行解密,得到所述用户私人信息; 验证模块,用于验证所述用户私人信息与所述第二用户私人信息是否一致,若不一致则拒绝用户请求,否则根据所述第二用户私人信息在所述数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
全文摘要
本发明公开了一种基于SM1/SM2算法的权限控制方法及装置,其中方法包括通过用户身份设备向后台管理模块协商得到会话密钥;采用SM2私钥对用户私人信息进行签名,得到签名字符串,并进行SM1加密,将得到的加密结果发送给数据采集模块;通过数据采集模块将加密结果发送至后台管理模块,并根据会话密钥对其进行解密得到字符串;根据该ID在数据库中查询得到相应的第一用户私人信息和用户公钥,并根据SM2公钥对签名字符串进行解密,得到用户私人信息;验证用户私人信息与第二用户私人信息是否一致,若不一致则拒绝用户请求,否则根据第二用户私人信息在数据库中查询该用户是否拥有访问该某种资源的权限,若是则允许该用户访问该某种资源,否则拒绝其访问请求。
文档编号G06F21/00GK102752112SQ201110101369
公开日2012年10月24日 申请日期2011年4月22日 优先权日2011年4月22日
发明者何丽, 尹刚, 徐树民, 梁剑, 王磊 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1