CN115022091A - 一种基于数字证书的自主授权方法和系统 - Google Patents

一种基于数字证书的自主授权方法和系统 Download PDF

Info

Publication number
CN115022091A
CN115022091A CN202210934098.2A CN202210934098A CN115022091A CN 115022091 A CN115022091 A CN 115022091A CN 202210934098 A CN202210934098 A CN 202210934098A CN 115022091 A CN115022091 A CN 115022091A
Authority
CN
China
Prior art keywords
certificate
application
preset
user
control strategy
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
Application number
CN202210934098.2A
Other languages
English (en)
Other versions
CN115022091B (zh
Inventor
施建龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yici Netlink Hangzhou Technology Co ltd
Original Assignee
Yici Netlink Hangzhou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yici Netlink Hangzhou Technology Co ltd filed Critical Yici Netlink Hangzhou Technology Co ltd
Priority to CN202210934098.2A priority Critical patent/CN115022091B/zh
Publication of CN115022091A publication Critical patent/CN115022091A/zh
Application granted granted Critical
Publication of CN115022091B publication Critical patent/CN115022091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种基于数字证书的自主授权方法,其中,该方法应用在分布式的私有云设备上,包括:在接收到应用发送的首次运行请求时,判断用户是否输入授权运行指令,若是,在本地存储中获取预设CA证书及其私钥,通过私钥,在应用的程序文件中添加签名信息,以及,将预设CA证书的公开项与程序文件绑定;在接收到应用发送的运行请求时,通过预设CA证书对应用进行校验,在校验成功的情况下,允许运行应用,通过本申请,在分布式私有云设备下,实现了用户完全自主化的授权控制。

Description

一种基于数字证书的自主授权方法和系统
技术领域
本申请涉及信息安全领域,特别是涉及一种基于数字证书的自主授权方法和系统。
背景技术
随着互联网技术的不断发展,授权场景越来越多,例如,移动设备在安装新应用时的授权认证、应用获取手机定位信息、以及读取本地数据时的授权认证等。
在相关技术中,针对用户授权的底层实现机制,普遍采用内置白名单的方式,与“黑名单”相反,当应用A内部的白名单中保存了应用B的相关信息,在后续交互时,会默认信任应用B发出的数据请求。可以理解,用户执行授权操作的过程,相当于在白名单中注册信息的过程。
在采用上述方式时,软件/或设备开发商普遍可以通过中心服务器控制白名单的更新,以实现对某些功能的授权,例如,苹果手机会自动记录AppleID下的账户权限记录,当用户在新手机上登录该AppleID时,会在新手机上同步这些权限记录,而不用再次授权认证。
但是,在分布式私有云设备中,对数据的隐私性和安全性要求较高。对于该类设备的用户来说,他们并不希望在执行授权操作时有厂商参与,也并不希望自己的授权记录被厂商或者其他用户获知。
目前针对相关技术中,在分布式私有云设备下,如何让用户完全自主的实现授权控制,是本领域技术人员急需解决的问题。
发明内容
本申请实施例提供了一种基于数字证书的自主授权方法、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中的用户自主授权方法问题。
第一方面,本申请实施例提供了一种基于数字证书的自主授权方法,应用在分布式的私有云设备上,所述方法包括:
在接收到应用发送的首次运行请求时,判断用户是否输入授权运行指令,若是,
在本地存储中获取预设CA证书及其私钥,通过所述私钥,在所述应用的程序文件中添加签名信息,以及,将所述预设CA证书的公开项与所述程序文件绑定;
在接收到所述应用发送的运行请求时,通过所述预设CA 证书对所述应用进行校验,在校验成功的情况下,允许运行所述应用。
通过上述实施例,在用户自己的私有云设备上,基于设备本地存储的CA证书,实现了用户完全自主化的授权机制,满足了用户对于数据隐私化的需求。
在其中一些实施例中,通过所述私钥,在所述应用的程序文件中添加签名信息,包括:
获取所述预设CA证书的私钥;
对所述应用的程序文件进行哈希运算,得到所述应用的文件哈希值;
通过所述私钥对所述文件哈希值进行加密,得到加密密文;
以所述加密密文为签名信息,将所述签名信息与所述程序文件绑定。
通过上述实施例,以CA证书的私钥在应用中写入签名,由于CA证书的私钥只归用户所有,并不对外暴露,因此,利用私钥进行签名即可证明是用户自己给予了软件运行的权利。
在其中一些实施例中,通过所述预设CA 证书对所述应用进行校验,包括:
获取并解析所述运行请求,得到所述应用程序、所述签名信息和所述预设CA证书的公开项;
校验所述预设CA证书的公开项是否有效,以及,
获取设备本地存储的所述预设CA证书的公钥,通过所述公钥校验所述签名信息是否有效,
若两者均是,指示校验成功。
在其中一些实施例中,通过所述公钥校验所述签名信息是否有效,包括:
通过所述公钥解密所述加密密文,得到第二文件哈希值;
判断所述第二文件哈希值与所述文件哈希值是否一致,若是,指示所述签名信息有效。
通过上述实施例,在实现用户自主授权的前提下,利用CA证书的签名-校验机制,实现了对授权与否的校验,进一步提升了安全性。
在其中一些实施例中,允许运行所述应用之后,所述方法还包括:
系统内核针对本次运行,生成进程文件格式,并对所述进程文件格式分配进程ID;
读取所述应用对应在系统上的inode号,并将所述inode号、所述进程ID与所述预设CA证书绑定,
其中,所述应用每次运行时的inode号一致,且同一应用在卸载并重新安装时,所述inode号不一致。
通过本实施例,为用户自定义的实现更为细分的授权控制,提供了必要的实施基础。
在其中一些实施例中,在实现细分粒度自主授权的情况下,所述方法还包括:
通过用户终端设备获取用户的操作指令,根据所述操作指令生成自定义控制策略,并通过所述私钥在所述自定义控制策略中添加第二签名信息;
在识别到所述应用执行访问请求时,根据所述应用的进程ID,查找本地是否存在与所述访问请求相关联的自定义控制策略,若是,通过所述预设CA证书校验所述自定义控制策略;
在校验成功的情况下,且所述自定义控制策略下注册有所述应用对应的inode号时,允许所述访问请求。
通过上述实施例,在已授权软件可以运行的情况下,用户还可以根据自身需求,灵活便捷的制定一些细分的控制策略,进而在应用执行访问时,通过在与访问请求相关的自定义控制策略下,注册应用的inode号。实现一些细分权限的授权,不受限于软件厂商的现有功能,完全由用户自身定义策略,并在自己设备上实现细分粒度的控制。
在其中一些实施例中,在所述自定义控制策略下未注册所述应用对应的inode号时,所述方法还包括:
生成安全告警信息,将所述告警信息转换为可视化UI界面,并发送至所述用户终端设备;
判断用户是否在所述可视化UI界面上输入授权访问指令,若是,更新所述自定义控制策略,
其中,更新所述自定义控制策略包括:在所述自定义控制策略中注册所述应用对应的inode号,以及在注册成功之后,通过所述私钥再次在所述自定义控制策略中添加第二签名信息;
通过所述预设CA证书校验所述更新之后的自定义控制策略,在校验成功的情况下,发现其中包含所述应用对应的inode号,允许响应所述访问请求。
通过上述实施例,在应用不具备某项细分权限时,可以实时响应用户的操作,对应用请求某项项细分权限,进行快速授权。
在其中一些实施例中,所述用户的预设CA证书包括:
用户CA证书,以及
以所述用户CA证书为根证书,签发基于不同功能需求下的证书请求,得到的二级证书,以及,
以所述二级证书,签发基于所述功能需求下,不同业务需求下的证书请求,得到的三级证书。
通过上述实施例,由于根证书可以基于不同类型的请求签发多个二级证书,二级证书也可以基于不同类型的请求签发多个三级证书,而利用二级证书、三级证书上信息的差异,可以实现具体功能和具体业务在逻辑层的区分和标识。
在其中一些实施例中,通过用户信息,将所述预设CA证书和所述自定义控制策略,加密保存在所述私有云设备的存储体上。
通过上述实施例,在预设CA证书和控制策略生成之后,将CA证书和控制策略在本地加密保存,而非直接采用明文形式保存,在需要用时再将其解密。从而提升了私钥及整个方案的安全性,
第二方面,本申请提供了一种基于数字证书的自主授权系统,应用在分布式的私有云设备上,所述系统包括:判断模块、获取模块和校验运行模块,其中;
所述判断模块用于,在接收到应用发送的首次运行请求时,判断用户是否输入授权运行指令,
所述获取模块用于,在判断结果为是的情况下,在本地存储中获取预设CA证书及其私钥,通过所述私钥,在所述应用的程序文件中添加签名信息,以及,将所述预设CA证书的公开项与所述程序文件绑定;
所述校验运行模块用于,在接收到所述应用发送的运行请求时,通过所述预设CA证书对所述应用进行校验,在校验成功的情况下,运行所述应用。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的方法。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于数字证书自主授权方法的应用环境示意图;
图2是根据本申请实施例的一种基于数字证书的自主授权方法的流程图;
图3是根据本申请实施例的一种在应用程序文件中添加签名信息的流程图;
图4是根据本申请实施例的一种校验签名信息的示意图
图5是根据本申请实施例的一种基于数字证书的自主授权方法的结构框图;
图6是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供了一种基于数字证书的自主授权方法,图1是根据本申请实施例的基于数字证书自主授权方法的应用环境示意图,如图1所示,本申请技术方案应用在特定私域的可信通信场景下,例如,基于私有云设备10的自组授权场景,其中,私有云设备10与用户终端11通过可信的内网通道进行信息交互。
进一步的,当私有云设备10上安装的应用请求获取权限时,用户操作用户终端11发送授权指令,私有云设备10在接受该指令之后,通过内部的预设CA证书对应用添加签名信息,经过校验之后实现对该应用的授权。本申请实施例中,无需厂商或其他第三方参与,用户在设备端即可自主实现授权认证,提升了数据安全性,保障了用户隐私。
需要说明的是,用户终端11可以是智能手机或平板电脑等移动设备,也可以是PC电脑等固定设备;私有云设备10可以是用于可信通信场景定制的个人私有云设备或家庭私有云设备。
图2是根据本申请实施例的一种基于数字证书的自主授权方法的流程图,如图2所示,该方法包括如下步骤:
S201,在接收到应用发送的首次运行请求时,判断用户是否输入授权运行指令,若是,在本地存储中获取预设CA证书及其私钥,通过私钥,在应用的程序文件中添加签名信息,以及,将预设CA证书的公开项与程序文件绑定;
上述首次运行请求,即应用在安装之后第一次尝试运行的请求;
其中,该请求可以被转发至用户终端,在用户终端的前端界面,以可视化选项的形式展示给用户;例如,在手机显示界面上,提示用户是否允许该软件运行,对应的,当用户在界面上点击“是”时,即输入了授权运行指令。
可选的,在用户输入授权指令之后,为了提升安全性,可以对用户身份进行认证,具体的,可以但不限于利用PIN码、指纹识别和人脸验证等手段,对用户身份进行认证。
进一步的,私有云设备的本地存储中保存有预设CA证书(即数字证书),该证书由主体信息和签名信息组成,生成用户CA证书的过程包括:
通过非对称加密算法生成一对公私钥对,并获取本设备对应的应用信息(userid)、网络信息(networkid)和集群信息(clusterid),以上述信息组成用户CA证书的扩展信息;进一步的,将公钥、用户证书扩展信息和其他必须的主体信息组合生成证书请求,之后,通过私钥签发该证书请求生成该用户CA证书。
可以理解的是,数字证书的公钥通常是公开的,而私钥是保密的。在加密通信场景中,设备通常会在本地生成一对公钥和私钥,且把公钥发布出去同时将私钥保存在本地;在数字证书中,由于私钥只能使发布者拥有,通常用私钥进行签名来证明身份。对应在,本实施例中,通过私钥在应用的程序文件中添加签名信息,即可证实这项权限就是设备的主人授予的,
S202,在接收到应用发送的运行请求时,通过预设CA 证书对应用进行校验,在校验成功的情况下,允许运行应用。
本实施例中对于每次运行请求都需进行权限校验,因此,步骤S202中的“运行请求”并不限定为具体第几次的运行请求,其可以是第一次,也可是第N次。
但是应当理解,在“运行请求”是第一次发送的情况下,由于应用并未进行签名,也并未与预设CA证书进行绑定,因此,必然无法通过校验,系统不会允许其运行。
同理,而对于第2-N次的运行请求,若用户并未对该项应用的进行授权。由于应用并未进行签名,也并未与预设CA证书绑定,因此,无论第几次尝试运行,也必然无法通过校验的,系统不会允许其运行。
需要说明的是,本实施例中,“预设CA证书”的公开项,包括证书的主体信息和公钥,也就是除私钥之外的其他部分,CA证书与程序文件的绑定并不涉及私钥部分。
进一步的,通过预设CA 证书对应用进行校验的目的为:判断应用是否被授权,以及判断用户的授权信息是否是可信的,具体的,利用了数字证书的如下机制:
对应用进行签名的过程,即在程序中添加一段特定(签名)信息。该特定信息由预设CA证书私钥加密得到,由于私钥只保存设备存储内部,对应的,当接收到应用的运行请求时,若应用中包含有上述预设CA证书,即表示应用已进行授权操作,进一步的,若可以用证书的公钥解密其中的签名信息,即可证实这个“授权”是可信的,即指示校验成功,允许该应用运行。
通过上述步骤S201至S202,相比较于相关技术中依赖于软件开发厂商,并基于白名单实现授权的方法。本申请实施例,利用数字证书的公私钥签名-校验机制,在第三方不参与、无感知的情况下,完全由用户自主的实现授权控制,在设备损坏时,用户所涉及的授权记录和授权控制规则都随之消失。相比较于相关方法,保障了用户隐私,同时提升了安全性。
需要说明的是,在某些终端设备中,会默认来自官方应用市场的软件是可信的,即在系统中内置了关于应用商店的白名单;例如,在用户从OPPO手机官方“软件商店”安装应用时,无需授权认证,即可一键安装。虽然官方商店的应用都会经过严格的审查,但是,还是存在一些风险,若审查过程出现纰漏,应用仍旧会默认直接安装,造成安全隐患。
针对上述情况,若采用本申请提供的用户自主授权方法,由用户在自己的设备上,完全自主的利用本地的数据进行授权及校验,则可以有效的避免上述问题。
在其中一些实施例中,图3是根据本申请实施例的一种在应用程序文件中添加签名信息的流程图,如图3所示,该流程包括如下步骤:
S301,获取预设CA证书的私钥;
S302,对应用的程序文件进行哈希运算,得到应用的文件哈希值;
S303,通过私钥对文件哈希值进行加密,得到加密密文;
S304,以加密密文为签名信息,将签名信息与程序文件绑定。
在其中一些实施例中,通过预设CA 证书对应用进行校验,包括:
获取并解析运行请求,得到应用程序、签名信息和预设CA证书的公开项;
校验预设CA证书的公开项是否有效,以及,获取本地存储的私钥,通过公钥校验签名信息是否有效,若两者均是,指示运行请求校验成功。
当某个软件需要运行时,系统中的安全模块会在exec(一种内核函数)中拦截启动,进一步的,通过校验软件中的证书是否为有效的用户CA证书,如果没有证书拒绝软件启动,如果证书已失效也会拒绝软件启动,进一步的,校验证书有效之后,再校验证书中附带的签名信息是否有效。
在其中一些实施例中,图4是根据本申请实施例的一种校验签名信息的示意图,如图4所示,该流程包括如下步骤:
S401,获取预设CA证书中的公钥,通过公钥解密加密密文,得到第二文件哈希值;
S402,判断第二文件哈希值与文件哈希值是否一致,若是,指示签名信息有效。可以理解的是,若两个文件完全一致,则通过哈希计算得到的哈希值一定是相同的。
而本申请实施例中,由于加密密文是通过预设CA证书的私钥加密文件哈希值得到,而公私钥对又是通过非加密算法生成,因此,若通过公钥可以解密密文得到与前述哈希值相同的另外一个哈希值,则可以证明其中的签名信息就是通过用户授权得到的,且文件并未被改动过。
在其中一些实施例中,允许运行应用之后,为了实现更为细分粒度的授权控制,本实施例还包括:
系统内核针对本次运行,生成进程文件格式,并对进程文件格式分配进程ID;
其中,需要说明的是,进程的识别和处理是系统的一种内置机制,由于系统只能识别进程,因此,需要将每次运行的进程与上述预设CA证书信息绑定,当系统搜索到一个进程时,会查看与该进程相关联的证书信息,再进一步的查看该证书信息中是否包含了软件运行、读取存储空间等权限信息。
进一步的,对于软件应用的每次运行,其进程ID也不一定是相同的,若用户有多个私有云设备,对于同一个软件,其在不同设备上运行的进程ID也是不同的,但是,该进程ID指向的CA证书信息,以及证书信息中的用于授权的签名信息也一定是相同的。
读取应用对应在系统上的inode号,并将inode号、进程ID与预设CA证书绑定,其中,应用每次运行时的inode号一致,且同一应用在卸载并重新安装时,inode号不一致。
本实施例中,在应用每次启动时,在设备文件系统上的inode号一定是一致的,但是,在重新下载应用之后, inode即会变化,其上的签名信息就会丢失。对应的,对于文件来说,在文件被失效删除后但又重新拷贝之后,该文件的inode号也是不同的。
在其中一些实施例中,实现细分粒度自主授权,具体包括如下步骤:
步骤1:通过用户终端设备获取用户的操作指令,根据操作指令生成自定义控制策略,并通过私钥在自定义控制策略中添加第二签名信息;
其中,添加第二签名信息以及校验第二签名信息的方式与步骤S301、S302、S401、S402的方式相同,因此具体流程本申请中不再赘述。
而用户的自定义控制策略可以根据自身需求灵活设置,如自行将部分私密文件设置为授权受控范围、将全部文件设置为受控范围,需要授权才能访问;或者,将照片和视频设置为受控范围,文件则不属于受控范围;
更进一步的,还可以将一定时间范围内的照片和视频设置为受控范围,或者,将内存大于某个阈值的文件设置为受控范围等等。应当理解,对于按照何种需求划分的受控范围,用户都可以通过自定义控制策略而实现。
步骤2:在识别到应用执行访问请求时,根据应用的进程ID,查找本地是否存在与访问请求相关联的自定义控制策略,若是,通过预设CA证书校验自定义控制策略;
步骤3A:在校验成功的情况下,在自定义控制策略下注册有应用对应的inode号时,允许访问请求。
步骤3B:在自定义控制策略下注册应用对应的inode号以实现授权,具体包括如下步骤:
步骤3B1:在自定义控制策略下未注册应用对应的inode号时,生成安全告警信息,将告警信息转换为可视化UI界面,并发送至用户终端设备;
步骤3B2:判断用户是否在可视化UI界面上输入授权访问指令,若是,更新自定义控制策略,其中,更新自定义控制策略包括:在自定义控制策略中注册应用对应的inode号,以及通过私钥在自定义控制策略中添加第二签名信息;
步骤3B3:通过预设CA证书校验更新的自定义控制策略,在校验成功的情况下,发现其中包含应用对应的inode号,允许响应访问请求。
需要说明的是,这种细分粒度化的授权控制方式,与现有的方式相比,其并不依赖于软件厂商功能,也就是说,并不是在软件的现有框架上进行编辑,而是由用户完全创建自主化的创造了一种规则,进而基于该规则实现了细分粒度的授权控制。
本实施例与现有方式中,在软件现有框架下进行有限的编辑相比,本质上是完全不同的,举例如下:
现有方式:
提供有私密公开文件夹,用户通过将一个个数据放入私密文件夹中实现受控访问。在后续访问过程中,若需要访问私密文件夹中的文件,则需要进行授权认证。进一步的,即使现有方式中可能也存在按照时间、位置划分的受控区域的实例,如用户访问位于某个时间段的照片时,需要进行授权认证。
但是,应当理解,现有技术中这种方式,无论是较为宽泛的隐私文件受控访问,还是更细分一级的时间、位置等区间受控,这种方式也都是用户在现有软件框架下进行的编辑,并未由用户创造了这种规则。另外,由于受限于软件的普适性和研发成本,并没有办法做到更为精细,覆盖面更广的权限控制。
本申请:
用户按照自身需求,完全创造性的在可视化界面中自行制定控制策略,当发现软件有访问请求时,搜索是否与该访问请求相关的控制策略,并判断这个策略下是否注册该软件的inode号,若有,则放行,若没有,则拒绝。
从而极大程度满足了用户的权限控制需求,提升了用户的自主程度,另外,因为用户可以根据需求自行定义权限,软件厂商也不用考虑软件的普适性。
对于另外一个应用场景,本实施例的有益技术效果也通过如下举例加以证实:
现有采用白名单机制,还存在导致设备控制的灵活性下降的问题,一旦产品发布后,产品级别的授权只能通过如下两种方式实现白名单的更迭:
1.在产品设备中内置相关服务,远程控制白名单更迭机制;(而在远程更新白名单的过程中,数据的安全性难以保障);
2.利用产品软件或者系统软件更迭达到白名单更迭机制,这种方式无疑会导致便捷性下降,对于开发商而言,若一项很小的白名单改动,也需要更新软件,这无疑会造成较大的资源浪费。
针对于上述问题,若采用本申请的方式,则可以避免这些问题,由于用户完全自主在本地进行授权,只需要根据功能需求,制定自定义控制策略,即可安全、便捷的解决上述问题。
在其中一些实施例中,预设CA证书可以是用户CA证书,也可以是以用户CA证书为根证书,签发基于不同功能需求生成的证书请求,得到的二级证书;也可以是,以二级证书,签发基于功能需求下的不同具体业务需求生成的证书请求,得到的三级证书。
由于可以利用根证书,基于不同的功能信息生成多个二级证书,因此,可以用一个二级证书负责一项功能的授权认证,可以更清楚的识别和区分各项功能。对应的,三级证书与二级证书逻辑相同,只是其作用体现在区别更为细分的业务层。
在其中一些实施例中,在生成预设CA证书和自定义控制策略之后,为了提升安全性,通过用户信息,将预设CA证书和自定义控制策略,加密保存在私有云设备的存储体上。
本实施例还提供了一种基于数字证书的自主授权系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的一种基于数字证书的自主授权方法的结构框图,该系统包括:判断模块50、获取模块51和校验运行模块52,其中;
判断模块50用于,在接收到应用发送的首次运行请求时,判断用户是否输入授权运行指令,
获取模块51用于,在判断结果为是的情况下,在本地存储中获取预设CA证书及其私钥,通过私钥,在应用的程序文件中添加签名信息,以及,将预设CA证书与程序文件绑定;
校验运行模块52用于,在接收到应用发送的运行请求时,通过预设CA 证书对应用进行校验,在校验成功的情况下运行应用,其中,运行请求包括:程序文件、签名信息和预设CA证书的公开项。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于数字证书的自主授权方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图6是根据本申请实施例的电子设备的内部结构示意图,如图6所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图6所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种基于数字证书的自主授权方法,数据库用于存储数据。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种基于数字证书的自主授权方法,其特征在于,应用在分布式的私有云设备上,所述方法包括:
在接收到应用发送的首次运行请求时,判断用户是否输入授权运行指令,若是,
在本地存储中获取预设CA证书及其私钥,通过所述私钥,在所述应用的程序文件中添加签名信息,以及,将所述预设CA证书的公开项与所述程序文件绑定;
在接收到所述应用发送的运行请求时,通过所述预设CA 证书对所述应用进行校验,在校验成功的情况下,允许运行所述应用。
2.根据权利要求1所述的方法,其特征在于,通过所述私钥,在所述应用的程序文件中添加签名信息,包括:
获取所述预设CA证书的私钥;
对所述应用的程序文件进行哈希运算,得到所述应用的文件哈希值;
通过所述私钥对所述文件哈希值进行加密,得到加密密文;
以所述加密密文为签名信息,将所述签名信息与所述程序文件绑定。
3.根据权利要求2所述的方法,其特征在于,通过所述预设CA 证书对所述应用进行校验,包括:
获取并解析所述运行请求,得到所述应用程序、所述签名信息和所述预设CA证书的公开项;
校验所述预设CA证书的公开项是否有效,以及,
获取设备本地存储的所述预设CA证书的公钥,通过所述公钥校验所述签名信息是否有效,
若两者均是,指示校验成功。
4.根据权利要求3所述的方法,其特征在于,通过所述公钥校验所述签名信息是否有效,包括:
通过所述公钥解密所述加密密文,得到第二文件哈希值;
判断所述第二文件哈希值与所述文件哈希值是否一致,若是,指示所述签名信息有效。
5.根据权利要求1所述的方法,其特征在于,允许运行所述应用之后,所述方法还包括:
系统内核针对本次运行,生成进程文件格式,并对所述进程文件格式分配进程ID;
读取所述应用对应在系统上的inode号,并将所述inode号、所述进程ID与所述预设CA证书绑定,
其中,所述应用每次运行时的inode号一致,且同一应用在卸载并重新安装时,所述inode号不一致。
6.根据权利要求5所述的方法,其特征在于,在实现细分粒度自主授权的情况下,所述方法还包括:
通过用户终端设备获取用户的操作指令,根据所述操作指令生成自定义控制策略,并通过所述私钥在所述自定义控制策略中添加第二签名信息;
在识别到所述应用执行访问请求时,根据所述应用的进程ID,查找本地是否存在与所述访问请求相关联的自定义控制策略,若是,通过所述预设CA证书校验所述自定义控制策略;
在校验成功的情况下,且所述自定义控制策略下注册有所述应用对应的inode号时,允许所述访问请求。
7.根据权利要求6所述的方法,其特征在于,在所述自定义控制策略下未注册所述应用对应的inode号时,所述方法还包括:
生成安全告警信息,将所述告警信息转换为可视化UI界面,并发送至所述用户终端设备;
判断用户是否在所述可视化UI界面上输入授权访问指令,若是,更新所述自定义控制策略,
其中,更新所述自定义控制策略包括:在所述自定义控制策略中注册所述应用对应的inode号,以及在注册成功之后,通过所述私钥再次在所述自定义控制策略中添加第二签名信息;
通过所述预设CA证书校验所述更新之后的自定义控制策略,在校验成功的情况下,发现其中包含所述应用对应的inode号,允许响应所述访问请求。
8.根据权利要求5所述的方法,其特征在于,所述预设CA证书包括:
用户CA证书,以及
以所述用户CA证书为根证书,签发基于不同功能需求下的证书请求,得到的二级证书,以及,
以所述二级证书,签发基于所述功能需求下,不同业务需求下的证书请求,得到的三级证书。
9.根据权利要求1和6中任意一项所述的方法,其特征在于,
通过用户信息,将所述预设CA证书和所述自定义控制策略,加密保存在所述私有云设备的存储体上。
10.一种基于数字证书的自主授权系统,其特征在于,应用在分布式的私有云设备上,所述系统包括:判断模块、获取模块和校验运行模块,其中;
所述判断模块用于,在接收到应用发送的首次运行请求时,判断用户是否输入授权运行指令,
所述获取模块用于,在判断结果为是的情况下,在本地存储中获取预设CA证书及其私钥,通过所述私钥,在所述应用的程序文件中添加签名信息,以及,将所述预设CA证书的公开项与所述程序文件绑定;
所述校验运行模块用于,在接收到所述应用发送的运行请求时,通过所述预设CA 证书对所述应用进行校验,在校验成功的情况下,运行所述应用。
11.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
CN202210934098.2A 2022-08-04 2022-08-04 一种基于数字证书的自主授权方法和系统 Active CN115022091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210934098.2A CN115022091B (zh) 2022-08-04 2022-08-04 一种基于数字证书的自主授权方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210934098.2A CN115022091B (zh) 2022-08-04 2022-08-04 一种基于数字证书的自主授权方法和系统

Publications (2)

Publication Number Publication Date
CN115022091A true CN115022091A (zh) 2022-09-06
CN115022091B CN115022091B (zh) 2022-12-16

Family

ID=83065767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210934098.2A Active CN115022091B (zh) 2022-08-04 2022-08-04 一种基于数字证书的自主授权方法和系统

Country Status (1)

Country Link
CN (1) CN115022091B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117633906A (zh) * 2023-11-14 2024-03-01 国网上海能源互联网研究院有限公司 一种台区智能融合终端有效性的可信验证方法
CN117640251A (zh) * 2024-01-24 2024-03-01 中国信息通信研究院 基于分布式网络的加解密核验方法和装置、设备和介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067622A (en) * 1996-01-02 2000-05-23 Moore; Steven Jerome Software security system using remove function to restrict unauthorized duplicating and installation of an application program
US6353928B1 (en) * 1999-01-04 2002-03-05 Microsoft Corporation First run installer
CN103248481A (zh) * 2012-02-10 2013-08-14 工业和信息化部电信传输研究所 一种基于应用数字签名认证的开放api公共授权访问控制的方法
CN103685138A (zh) * 2012-08-30 2014-03-26 卓望数码技术(深圳)有限公司 移动互联网上的Android平台应用软件的认证方法和系统
US8997076B1 (en) * 2007-11-27 2015-03-31 Google Inc. Auto-updating an application without requiring repeated user authorization
US9058504B1 (en) * 2013-05-21 2015-06-16 Malwarebytes Corporation Anti-malware digital-signature verification
CN108270786A (zh) * 2018-01-16 2018-07-10 广东欧珀移动通信有限公司 应用程序的权限管理方法、装置、存储介质及智能终端
CN108429769A (zh) * 2018-06-01 2018-08-21 北京砂信息技术有限公司 基于生物特征识别的身份认证方法、装置、系统及存储介质
CN108446539A (zh) * 2018-03-16 2018-08-24 福建深空信息技术有限公司 一种软件授权方法和软件授权文件生成系统
CN108599959A (zh) * 2018-04-28 2018-09-28 深圳Tcl数字技术有限公司 授权证书校验方法、装置及可读存储介质、应用设备
CN110110507A (zh) * 2019-04-26 2019-08-09 深圳市国鑫恒宇科技有限公司 一种软件授权与保护的方法、装置、系统及存储介质
CN111382425A (zh) * 2018-12-29 2020-07-07 深圳Tcl新技术有限公司 多签名机制下的应用安装管理方法、智能终端及存储介质
CN111666564A (zh) * 2020-05-14 2020-09-15 平安科技(深圳)有限公司 应用程序安全启动方法、装置、计算机设备和存储介质
CN114091112A (zh) * 2021-10-26 2022-02-25 维沃移动通信有限公司 应用权限管控方法、装置和电子设备
CN114785514A (zh) * 2022-03-23 2022-07-22 国网上海能源互联网研究院有限公司 一种用于工业物联化终端应用许可授权的方法及系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067622A (en) * 1996-01-02 2000-05-23 Moore; Steven Jerome Software security system using remove function to restrict unauthorized duplicating and installation of an application program
US6353928B1 (en) * 1999-01-04 2002-03-05 Microsoft Corporation First run installer
US8997076B1 (en) * 2007-11-27 2015-03-31 Google Inc. Auto-updating an application without requiring repeated user authorization
CN103248481A (zh) * 2012-02-10 2013-08-14 工业和信息化部电信传输研究所 一种基于应用数字签名认证的开放api公共授权访问控制的方法
CN103685138A (zh) * 2012-08-30 2014-03-26 卓望数码技术(深圳)有限公司 移动互联网上的Android平台应用软件的认证方法和系统
US9058504B1 (en) * 2013-05-21 2015-06-16 Malwarebytes Corporation Anti-malware digital-signature verification
CN108270786A (zh) * 2018-01-16 2018-07-10 广东欧珀移动通信有限公司 应用程序的权限管理方法、装置、存储介质及智能终端
CN108446539A (zh) * 2018-03-16 2018-08-24 福建深空信息技术有限公司 一种软件授权方法和软件授权文件生成系统
CN108599959A (zh) * 2018-04-28 2018-09-28 深圳Tcl数字技术有限公司 授权证书校验方法、装置及可读存储介质、应用设备
CN108429769A (zh) * 2018-06-01 2018-08-21 北京砂信息技术有限公司 基于生物特征识别的身份认证方法、装置、系统及存储介质
CN111382425A (zh) * 2018-12-29 2020-07-07 深圳Tcl新技术有限公司 多签名机制下的应用安装管理方法、智能终端及存储介质
CN110110507A (zh) * 2019-04-26 2019-08-09 深圳市国鑫恒宇科技有限公司 一种软件授权与保护的方法、装置、系统及存储介质
CN111666564A (zh) * 2020-05-14 2020-09-15 平安科技(深圳)有限公司 应用程序安全启动方法、装置、计算机设备和存储介质
CN114091112A (zh) * 2021-10-26 2022-02-25 维沃移动通信有限公司 应用权限管控方法、装置和电子设备
CN114785514A (zh) * 2022-03-23 2022-07-22 国网上海能源互联网研究院有限公司 一种用于工业物联化终端应用许可授权的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. LIU: "OAuth Based Authentication and Authorization in Open Telco API", 《2012 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ELECTRONICS ENGINEERING》 *
邱勤等: "基于数字证书的自有APP签名保护方案", 《电信工程技术与标准化》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117633906A (zh) * 2023-11-14 2024-03-01 国网上海能源互联网研究院有限公司 一种台区智能融合终端有效性的可信验证方法
CN117640251A (zh) * 2024-01-24 2024-03-01 中国信息通信研究院 基于分布式网络的加解密核验方法和装置、设备和介质
CN117640251B (zh) * 2024-01-24 2024-05-31 中国信息通信研究院 基于分布式网络的加解密核验方法和装置、设备和介质

Also Published As

Publication number Publication date
CN115022091B (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
US20210350013A1 (en) Security systems and methods for continuous authorized access to restricted access locations
TWI667585B (zh) 一種基於生物特徵的安全認證方法及裝置
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
CN109274652B (zh) 身份信息验证系统、方法及装置及计算机存储介质
EP2765750B1 (en) Controlling application access to mobile device functions
CN115022091B (zh) 一种基于数字证书的自主授权方法和系统
CN105960774A (zh) 近场通信认证机制
US9942047B2 (en) Controlling application access to mobile device functions
US20170185790A1 (en) Dynamic management of protected file access
WO2021190197A1 (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
JP6756056B2 (ja) 身元検証による暗号チップ
US20210014682A1 (en) Methods and systems for securing and utilizing a personal date store on a mobile device
WO2017112640A1 (en) Obtaining a decryption key from a mobile device
US9733852B2 (en) Encrypted synchronization
US12014363B2 (en) Apparatus and methods for non-fungible tokens as universal digital identification
CN112422281B (zh) 一种更改安全模块中密钥的方法及系统
JP6451947B2 (ja) リモート認証システム
CN117579374B (zh) 基于OpenAPI的服务访问权限认证方法、装置、系统和服务器
Tamrakar et al. On rehoming the electronic id to TEEs
KR20170096691A (ko) 자체확장인증을 이용한 키관리 방법
CN118734347A (zh) 数据处理方法、装置、终端及存储介质
CN116366335A (zh) 远程访问内网的方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and system for autonomous authorization based on digital certificates

Granted publication date: 20221216

Pledgee: Hangzhou Gaoxin Financing Guarantee Co.,Ltd.

Pledgor: Yici netlink (Hangzhou) Technology Co.,Ltd.

Registration number: Y2024980038549

PE01 Entry into force of the registration of the contract for pledge of patent right