CN109241726B - 一种用户权限控制方法及装置 - Google Patents
一种用户权限控制方法及装置 Download PDFInfo
- Publication number
- CN109241726B CN109241726B CN201710556783.5A CN201710556783A CN109241726B CN 109241726 B CN109241726 B CN 109241726B CN 201710556783 A CN201710556783 A CN 201710556783A CN 109241726 B CN109241726 B CN 109241726B
- Authority
- CN
- China
- Prior art keywords
- user
- identity
- public key
- private key
- held
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种用户权限控制方法,应用于基于区块链的去中心化系统中的任一节点设备,所述方法包括:接收用户在执行预设的权限操作时,基于持有的私钥提交的执行结果;响应于接收到的所述执行结果,读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识;其中,所述用户的身份标识为所述基于区块链的去中心化系统存储的可信公钥授权的身份标识;查询与所述身份标识关联的用户权限,并基于查询到的所述用户权限对所述用户进行权限控制,以确定所述执行结果是否合法。本申请可以在用户持有的私钥以及对应的公钥发生变化时,始终采用唯一不变的身份标识对用户进行权限控制。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种用户权限控制方法及装置。
背景技术
区块链技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,利用区块链技术来搭建去中心化系统,并在区块链的分布式数据库中收录各种执行程序进行自动执行,已在众多的领域中广泛的进行应用;例如,在金融科技领域,利用区块链技术搭建P2P支付平台,并在区块链上发布诸如智能合约等执行程序,可以在不经过银行等金融机构的前提下,实现不同的用户之间的点对点安全支付。
发明内容
本申请提出一种用户权限控制方法,应用于基于区块链的去中心化系统中的任一节点设备,所述方法包括:
接收用户在执行预设的权限操作时,基于持有的私钥提交的执行结果;
响应于接收到的所述执行结果,读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识;其中,所述用户的身份标识为所述基于区块链的去中心化系统存储的可信公钥授权的身份标识;
查询与所述身份标识关联的用户权限,并基于查询到的所述用户权限对所述用户进行权限控制,以确定所述执行结果是否合法。
可选的,所述读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识,包括:
获取与所述用户持有的私钥对应的公钥,与所述用户的身份标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;
基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;
如果验证通过,基于所述绑定关系读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识。
可选的,其中,所述去中心化系统支持多种电子签名算法。
可选的,所述绑定关系存储在所述用户的用户身份证书中。
可选的,其中,当所述用户持有的私钥及对应的公钥发生更新时,解除更新前的公钥与所述用户的身份标识的绑定关系,并将更新后的公钥与所述用户的身份标识重新绑定。
可选的,所述节点设备搭载了用于承载所述绑定关系的便携式智能硬件;
所述方法还包括:
将所述绑定关系下发至所述便携式智能硬件,以由所述便携式智能硬件在其本地的安全存储环境中存储所述绑定关系。
可选的,所述查询与所述身份标识关联的用户权限,包括:
将所述身份标识作为查询索引,在预设的权限列表中查询与所述身份标识关联的用户权限;其中,所述权限列表包括基于所述去中心化系统存储的可信公钥授权的若干身份标识,以及与各身份标识关联的至少一种用户权限。
可选的,所述用户的身份标识绑定多个公钥;其中,与所述用户的身份标识绑定的多个公钥,分别对应不同的用户角色。
可选的,所述用户的身份标识为基于所述用户提交的身份信息生成的用户身份编码。
可选的,所述去中心化系统为去中心化的在线签约系统;所述执行结果为用户基于持有的私钥提交的用于进行签约确认的电子签名;或者,基于持有的私钥进行电子签名后的用于进行签约确认的消息或者指令。
本申请还提出一种用户权限控制装置,应用于基于区块链的去中心化系统中的任一节点设备,所述装置包括:
接收模块,接收用户在执行预设的权限操作时,基于持有的私钥提交的执行结果;
读取模块,响应于接收到的所述执行结果,读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识;其中,所述用户的身份标识为所述基于区块链的去中心化系统存储的可信公钥授权的身份标识;
查询模块,查询与所述身份标识关联的用户权限,并基于查询到的所述用户权限对所述用户进行权限控制,以确定所述执行结果是否合法。
可选的,所述读取模块:
获取与所述用户持有的私钥对应的公钥,与所述用户的身份标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;
基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;
如果验证通过,基于所述绑定关系读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识。
可选的,其中,所述去中心化系统支持多种电子签名算法。
可选的,所述绑定关系存储在所述用户的用户身份证书中。
可选的,其中,当所述用户持有的私钥及对应的公钥发生更新时,解除更新前的公钥与所述用户的身份标识的绑定关系,并将更新后的公钥与所述用户的身份标识重新绑定。
可选的,所述节点设备搭载了用于承载所述绑定关系的便携式智能硬件;
所述装置还包括:
下发模块,将所述绑定关系下发至所述便携式智能硬件,以由所述便携式智能硬件在其本地的安全存储环境中存储所述绑定关系。
可选的,所述查询模块:
将所述身份标识作为查询索引,在预设的权限列表中查询与所述身份标识关联的用户权限;其中,所述权限列表包括基于所述去中心化系统存储的可信公钥授权的若干身份标识,以及与各身份标识关联的至少一种用户权限。
可选的,所述用户的身份标识绑定多个公钥;其中,与所述用户的身份标识绑定的多个公钥,分别对应不同的用户角色。
可选的,所述用户的身份标识为基于所述用户提交的身份信息生成的用户身份编码。
可选的,所述去中心化系统为去中心化的在线签约系统;所述执行结果为用户基于持有的私钥提交的用于进行签约确认的电子签名;或者,基于持有的私钥进行电子签名后的用于进行签约确认的消息或者指令。
在本申请中,提出了一种在基于区块链的去中心化系统中,使用与用户持有的私钥对应的公钥绑定的用户身份标识对用户进行权限控制的机制;去中心化系统中可以预先存储若干基于该去中心化系统认可的可信公钥授权的身份标识,并将这些身份标识与用户持有的私钥对应的公钥绑定;当去中心化系统中的任一节点设备在接收到用户在执行预设的权限操作时,基于持有的私钥提交的执行结果后,可以读取与该用户持有的私钥对应的公钥绑定的用户身份标识,并查询与该身份标识关联的用户权限,而后可以基于查询到的用户权限对该用户进行权限控制,以确定该用户提交的执行结果是否合法;
由于在本申请中是基于与用户持有的私钥对应的公钥绑定的身份标识对用户进行权限控制,因而当用户持有的私钥失密或者丢失,造成用户持有的私钥以及对应的公钥发生更新时,该用户的身份标识仍然可以保持不变,从而可以在用户持有的私钥以及对应的公钥发生更新时,始终采用唯一不变的身份标识对该用户进行权限控制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一实施例示出的一种用户权限控制方法的流程示意图;
图2是本申请一实施例示出的一种用户权限控制装置的逻辑框图;
图3是本申请一实施例示出的一种承载所述用户权限控制装置的电子设备的硬件架构图。
具体实施方式
在基于区块链技术搭建的去中心化系统中,当用户在该去中心化系统中的任一节点设备上述执行了一些要求该用户具有一定权限的操作后,出于安全上的考虑,通过需要该用户基于持有的私钥向该节点设备提交一个执行结果。而该节点设备在接收到用户提交的执行结果后,需要对该用户进行权限控制,确定该用户是否具有相应的用户权限,进而来最终确认该用户提交的执行结果是否合法。
在相关技术中,上述去中心化系统中的节点设备在针对用户进行权限控制时,通常是基于该用户持有的私钥对应的公钥,或者公钥衍生信息(比如基于该公钥进行相应计算得到的诸如用户的账户地址、用户地址等信息)来实现的。
在初始状态下,去中心化系统可以维护一个白名单用户列表,并基于各白名单用户所持有的私钥对应的公钥,或者基于各白名单用户持有的私钥对应的公钥所衍生出来的信息,为各白名单用户分配用户角色,并为各用户角色分别设置相应的户权限。在该白名单用户列表中的白名单用户,将只能在为其设定的用户权限内来执行相应的权限操作。
其中,用户的私钥为非公开的隐私数据,由用户个人持有;与该私钥对应的公钥,通常存储在该用户的用户身份证书(比如由第三方CA下发的CA证书)中。
在这种情况下,当去中心化系统中的节点设备在接收到用户在执行一些特定的权限操作后,基于持有的私钥提交的执行结果时,首先可以从该用户的用户身份证书中读取与该用户持有的私钥对应的公钥,并基于读取到的公钥,或者基于针对该公钥进行进一步的计算得到该公钥的衍生信息(比如对公钥进行进一步的计算得到诸如用户的账户地址、用户地址等信息),来查找与该用户对应的用户角色绑定的用户权限(即将公钥或者公钥衍生信息作为查询索引来进行查找),然后基于查找到的用户权限对该用户进行权限控制,以确定该用户基于持有的私钥提交的执行结果是否合法。
然而,在实际应用中,一旦各白名单用户持有的私钥发生失密(比如被破解)或者丢失,该用户持有的私钥通常会发生更换,此时与该用户持有的该私钥对应的公钥也会同步的发生更换;在这种情况下,如果去中心化系统中的节点设备,仍然基于用户持有的私钥对应的公钥,或者公钥衍生信息对该用户进行权限控制,那么就可能造成对用户的权限控制出现异常的问题。
例如,在一种场景下,上述去中心化系统可以是基于区块链技术搭建的去中心化的在线签约系统。该去中心化系统中的白名单用户,可以基于持有的私钥在该在线签约系统中进行签约确认,完成相关的电子文书(比如合同、三方协议等)的在线签署。
在这种场景下,上述执行结果可以是各白名单用户(即共同签署电子文书的参与者)基于持有的私钥提交的一个用于进行签约确认的电子签名;或者,基于持有的私钥进行电子签名后的一个用于进行签约确认的消息或者指令。
而签约系统中的节点设备在收到上述用于进行签约确认的电子签名;或者,上述用于进行签约确认的消息或者指令后,可以从该用户的用户身份证书中读取与该用户持有的私钥对应的公钥,然后基于读取到的该公钥来查询该用户具有的用户权限;或者,可以针对该公钥进一步计算得到公钥衍生信息,并基于该公钥衍生信息来查询该用户具有的用户权限。
当查询到用户具有的用户权限后,可以基于查询到的用户权限来确认该用户是否具有在线签署电子文书的权限,进而可以确认该用户提交的上述电子签名是否合法;如果最终确认该用户具有在线签署电子文书的权限,可以认为该用户提交的上述电子签名有效。
然而,假设该用户基于持有的私钥完成了电子文书的签约确认后,该用户持有的私钥发生失密或者丢失,导致该用户更换了私钥,此时该用户持有的公钥会同步发生变更,那么此时签约系统会认为该用户之前已经完成的签约确认操作无效,需要该用户基于持有的更换后的私钥,重新执行签约确认操作;
或者,在签约系统仍然认可该用户之前已经完成的签约确认操作的情况下,当该用户基于变更后的私钥重新相同的签约确认操作后,上述签约系统将无法判定出,该用户基于持有的变更前的私钥执行的签约确认操作,与该用户基于持有的变更后的私钥执行的签约确认操作,是否为来自同一个用户的签约确认操作;
而且,在去中心化的区块链数据库中,由于区块链数据库具有的数据不可篡改的特性,且用户的公钥通常被看作用户身份的代表,用户的公钥如因各种原因而发生变更,在区块链上就无法对该特定用户的行为进行完全追溯。
可见,在相关技术中,与用户持有的私钥对应的公钥,或者公钥衍生信息通常作为用户的“身份”信息,来参与用户的权限控制,而一旦用户持有的私钥以及对应的公钥发生变化,用户的“身份”也会同步发生变化,从而造成对该用户进行权限控制时出现异常的问题。
有鉴于此,本申请提出了一种在基于区块链数据库的去中心化系统中,使用与用户持有的私钥对应的公钥绑定的用户身份标识对用户进行权限控制的机制;去中心化系统中可以预先存储若干基于该去中心化系统认可的可信公钥授权的身份标识,并将这些身份标识与用户持有的私钥对应的公钥绑定;当去中心化系统中的任一节点设备在接收到用户在执行预设的权限操作时,基于持有的私钥提交的执行结果后,可以读取与该用户持有的私钥对应的公钥绑定的用户身份标识,并查询与该身份标识关联的用户权限,而后可以基于查询到的用户权限对该用户进行权限控制,以确定该用户提交的执行结果是否合法;
由于在本申请中是基于与用户持有的私钥对应的公钥绑定的身份标识对用户进行权限控制,因而当用户持有的私钥失密或者丢失,造成用户持有的私钥以及对应的公钥发生更新时,该用户的身份标识仍然可以保持不变,从而可以在用户持有的私钥以及对应的公钥发生更新时,始终采用唯一不变的身份标识对该用户进行权限控制,可以避免由于用户持有的私钥以及对应的公钥发生更新时,对该用户进行权限控制时出现异常的问题。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的一种用户权限控制方法,应用于基于区块链的去中心化系统中的任一节点设备,执行以下步骤:
步骤101,接收用户在执行预设的权限操作时,基于持有的私钥提交的执行结果;
步骤102,响应于接收到的所述执行结果,读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识;其中,所述用户的身份标识为所述基于区块链的去中心化系统存储的可信公钥授权的身份标识;
步骤103,查询与所述身份标识关联的用户权限,并基于查询到的所述用户权限对所述用户进行权限控制,以确定所述执行结果是否合法。
上述去中心化系统,具体可以是一个基于区块链技术搭建的,“去中心化”的分布式系统。
其中,在上述去中心化系统中,可以包括若干台节点设备,这些节点设备可以呈现一种高度自治的“去中心化”特性,并且可以通过搭载区块链的共识机制(比如特定的共识协商算法),将本地化产生的数据,或者发布的执行程序发布至该区块链上,并被最新生成的新区块的“记账人”(俗称“矿工”)收录至该新区块中,同时接入该区块链的各个节点可以将该区块内的所有内容同步至其本地,从而构成该区块链的分布式数据库。
通过这种方式,用户无需在后台部署大规模的服务器集群作为“数据中心”,而且用户一侧的任意形式的前端设备(比如移动终端、PC终端),都可以作为上述去中心化系统中的一台节点设备。
上述权限操作,具体可以包括用户在上述去中心化系统中执行的需要用户具有相应的用户权限的任意形式的用户操作;
例如,上述权限操作可以是用户基于持有的私钥在上述去中心化系统中执行的任意形式的确认操作;比如,以上述去中心化系统为在线签约为例,上述权限操作具体可以是用户基于持有的私钥执行的在线签约电子文书的签约确认操作。
上述执行结果,与上述权限操作相对应,具体可以包括用户在上述去中心化系统中执行了上述权限操作后,基于持有的私钥向去中心化系统中提交的任意形式的执行结果。
其中,上述执行结果的具体形态,在本申请中不进行特别限定;例如,以上述去中心化系统为在线签约通为例,在这种情况下,上述权限操作具体可以是用户基于持有的私钥执行的签约确认操作;而上述执行结果,则可以是用户使用持有的私钥提交的一个用于进行签约确认的电子签名;或者,也可以是该用户使用持有的私钥进行电子签名后的一个用于进行签约确认的指令或者消息,等等。
上述用户身份标识,具体可以是为上述去中心化系统存储的可信公钥授权的身份标识;该“授权”可理解为上述用户身份标识具体可以由上述可信公钥对应的私钥的持有者来配置,当上述可信公钥对应的私钥的持有者为用户配置了身份标识后,可以基于持有的私钥对该身份标识和用户公钥的绑定关系进行电子签名,然后提交给上述去中心化系统。而上述去中心化系统可以预先存储一个或者多个公开的可信公钥(比如可以在区块链的程序代码中添加可信公钥列表),当接收到携带了电子签名的身份标识-公钥的绑定关系后,可以基于存储的可信公钥对该身份标识-公钥生物绑定关系的电子签名进行验证;当验证通过后,即可确认该身份标识为经过上述可信公钥授权的身份标识。
其中,与上述可信公钥对应的私钥的持有方,在本申请中不进行特别限定,可以是上述去中心化系统的运营方(比如去中心化系统的运营方具有CA资质),也可以是第三方的CA机构。即在本申请中,上述身份标识,可以是由上述去中心化系统配置,也可以由第三方CA机构来配置。
类似的,与上述用户持有的私钥对应的公钥,和上述用户的身份标识之间的绑定关系,具体也可以是由上述去中心化系统建立完成,也可以是由第三方的CA机构建立完成。
例如,在一种实现方式中,第三方CA机构可以基于用户提交的个人身份信息(比如用户的身份证号或者企业法人的纳税人识别号、组织机构代码或统一社会信用代码等能够唯一标识用户身份的信息),为用户生成唯一对应的身份标识,并建立该身份标识与该用户持有的私钥对应的公钥的绑定关系,然后将该绑定关系存储在该用户的用户身份证书中,下发至上述去中心化系统中。
以下将以第三方CA机构为用户生成用户身份标识,并由第三方CA机构以用户身份证书的形式向用户下发上述绑定关系为例,并结合在线签约的应用场景为例进行说明。
其中,需要说明的是,以第三方CA机构为用户生成用户身份标识仅为示例性的;在实际应用中,当上述去中心化系统的运营方具有CA资质,上述用户身份标识以及上述用户身份证书,也可以由上述去中心化系统进行生成和下发,在本申请中不进行特别限定。
在本例中,上述去中心化系统可以是基于区块链技术搭建的去中心化的在线签约系统。该去中心化系统中的白名单用户(即共同签署电子文书的参与者),可以基于持有的私钥在该在线签约系统中,完成相关的电子文书(比如合同、三方协议等)的在线签署。
在这种场景下,上述执行结果可以是各白名单用户基于持有的私钥提交的一个用于进行签约确认的电子签名;或者基于持有的私钥进行电子签名后的用于进行签约确认的消息或者指令。各白名单用户在共同参与电子文书的签署,执行相应的签约操作时,可以基于各自的签约角色,使用自己持有的私钥向签约系统提交一个用于进行签约确认的电子签名。
当然,在实际应用中,对于同一个用户而言,可以对应多个签约角色;例如,以企业的法人为例,作为企业的法人可能会在签署谋一份电子文书的流程中,涉及到多个签字角色,如经办人、复核人、审批人等。在这种情况下,区块链数据库存储的可信公钥所代表的授权机构可以为该多个角色设置有关联关系的多个用户身份标识,例如某公司的统一社会信用代码生成的用户标识为abcdefg,则可以给经办人、复核人和审批人分别分配abcdefg1、abcdefg2和abcdefg3的用户身份标识,并在该区块链数据库的权限列表中为该三个用户身份标识设置不同的权限,以帮助不同的用户角色完成相应权限的签约确认。
在初始状态下,用户可以向签约系统提交个人身份信息(比如用户的身份证号或者企业法人的统一社会信用代码等能够唯一标识用户身份的信息),向签约系统发起注册,当注册完成后可以基于注册完成的用户账号以及相关的输入口令登录上述签约系统,并将注册完成的用户账号与用户持有的便携式智能硬件进行绑定。
上述便携式智能硬件,具体可以是一个用于进行非对称加密通信、电子签名和对用户身份进行数字认证的便携式智能硬件;比如,该便携式智能硬件具体可以是USB key硬件。
其中,在该便携式智能硬件中可以内置为用户生成私钥公钥对的安全算法。在示出的一种实施方式中,当用户首次使用该便携式智能硬件,将该便携式智能硬件通信连接到该去中心化系统选择信任的公钥所代表的授权系统,如CA认证中心,该便携式智能硬件可以调用内置的安全算法,为该用户生成一个私钥以及对应于该私钥的公钥。其中,私钥将作为保密数据保存在硬件内由用户个人持有,公钥将上传至该区块链存储的可信公钥所代表的授权系统,如CA认证中心,以制定用户公钥与用户身份标识的绑定关系,如数字证书。用户的身份标识可用代表用户身份的唯一性信息如用户的身份证号或者企业法人的纳税人识别号、组织机构代码或统一社会信用代码等信息生成。
其中,在本例中,上述用户身份标识具体可以是上述CA机构基于哈希算法对上述个人身份信息进行计算生成的一个唯一的用户身份编码。
当为该用户生成了用户身份编码后,可以将该用户身份编码与该用户的公钥进行绑定,然后将该绑定关系存储在为用户生成的用户身份证书中;用户持有的私钥作为保密数据将不包含在用户身份证书中。除此之外,用户在建立上述绑定关系时还可提供用户的名称、地址等其他信息至该绑定关系(如证书)的授权机构,以在建立的绑定关系中加入更多的用户身份信息。
当然,在实际应用中,同一个用户可能会同时承担多个用户角色,并基于持有的多个私钥在不同的用户角色下来完成在线签约操作,在这种情况下,该用户的用户身份编码可与多个公钥绑定,每一个公钥可以分别对应不同的用户角色。
在本例中,当CA机构为用户生成了用户身份证书后,使用代表CA机构的可信公钥对应的私钥对该用户身份证书进行电子签名,然后将电子签名后的用户身份证书下发至上述智能硬件,在上述智能硬件的安全存储环境中进行存储。
在上述区块链去中心化系统中,可以预先配置一个可信公钥列表,在该可信公钥列表中可以包含若干个可信的第三方CA机构的公钥,以及与各公钥对应的电子签名算法。
即在本例中,上述签约系统可以支持多种电子签名算法;比如,可以同时支持多个跨境的第三方CA机构的电子签名算法;通过这种方式,可以提升签约系统与第三方CA机构对接的灵活性,使得签约系统可以与支持不同的电子签名算法的CA机构进行灵活对接。
当然,在实际应用中,如果用户持有的私钥发生失密或者丢失;比如,用户持有的便携式智能硬件被破解或者丢失,造成用户更换了持有的私钥,此时用户的公钥通常也会同步的进行更新;在这种情况下,用户可以使用更换后的便携式智能硬件重新接入上述节点设备,并重复以上过程,触发CA机构重新为该用户生成并下发用户身份证书,以解除更新前的公钥与该用户的用户身份编码的绑定关系,并将更新后的公钥与该用户的用户身份编码重新进行绑定。
通过这种方式,使得用户持有的私钥失密或者丢失,造成用户持有的私钥以及对应的公钥发生更新时,该用户的身份标识仍然可以保持唯一不变,从而可以保证该用户在区块链数据库进行电子存证和溯源时身份的唯一性。
在存储有可信公钥(列表)的区块链去中心化系统中,可建立与上述用户的身份标识对应的身份权限。在本例中,对于上述签约系统而言,可以基于当前已经成功注册的用户名单,维护一个白名单用户列表(比如去中心化系统可以基于实际的需求从已注册成功的用户账号中筛选出部分需要进行权限控制的用户账号,来创建上述白名单用户列表),并为白名单用户列表中的各白名单用户分配用户角色,以及设置相关的用户权限。
同时,上述签约系统还可以基于为各白名单用户设置的用户权限,维护一个用户权限列表;其中,在该用户权限列表中可以存储与各白名单用户对应的经过上述可信公钥授权的用户身份标识,以及与各用户身份标识关联的至少一种用户权限;
例如,在实现时,签约系统在创建上述用户权限列表时,可以从用户的用户身份证书中读取用户的用户身份编码,并将该用户身份编码作为用户唯一的“身份”,来关联相关的用户权限。此时,对于该白名单用户列表中的白名单用户而言,将只能在为其用户身份标识绑定的用户权限内,来执行相应的权限操作。
当用户在成功登录上述签约系统后,在该区块链去中心化系统中任一节点设备上执行了一次签约确认操作时(比如,用户可以通过操作上述便携式智能硬件的“确认按钮”来完成签约确认操作),可以通过持有的私钥提交一个用于进行签约确认的的电子签名;或者,基于持有的私钥进行电子签名后的用于进行签约确认的消息或者指令(如将该电子签名发布至区块链)作为执行结果。
当上述节点设备收到上述执行结果后,首先基于区块链中存储的可信公钥在区块链中对该用户身份证书进行电子签名验签,验签通过后从该用户的用户身份证书中读取该用户的用户身份标识;当读取到该用户的用户身份标识后,上述节点设备可以基于该用户身份标识对该用户进行权限控制。
具体地,上述节点设备可以将该用户身份标识作为查询索引,在上述用户权限列表中查询与该用户身份标识关联的用户权限,然后基于查询到的用户权限对该用户进行权限控制,以确认用户提交的该用于进行签约确认的执行结果是否合法;
例如,在实现时,可以通过查询到的用户权限来确认该用户是否具有在线签约的权限,如果经过查询确定用户具有在线签约的权限,那么可以认为用户提交的用于进行签约确认的执行结果合法;此时,上述节点设备可以基于该用户的公钥对该电子签名进行进一步验证,并在验证通过后,完成一次合法的签约确认。当然,如果经过查询,该用户并不具有在线签约的权限,那么可以认为用户提交的用于进行签约确认的执行结果不合法。在这种情况下,可以直接终止该用户的签约确认行为。
在本申请中,并不具体限制该权限列表的生成方式,可以由区块链数据库针对用户的身份标识生成,也可在用户的公钥与身份标识的绑定关系(即证书)中给予。
可见,通过这种方式,由于签约系统不再基于用户的公钥,或者公钥衍生信息对用户进行权限控制,而是通过基于用户提交的个人身份信息生成的一个唯一不变的用户身份标识来实现权限控制,因此可以始终使用一个唯一不变的用户身份标识对该用户进行权限控制。
而且,该用户身份标识在用户持有的私钥以及对应的公钥发生更换时,并不发生变化,因此可以在用户的私钥和对应的公钥发生变化时,始终采用唯一不变的身份标识对该用户进行权限控制,可以有效避免由于用户持有的私钥以及对应的公钥发生更新时,对该用户进行权限控制时出现异常的问题。
例如,假设该用户基于持有的私钥完成了电子文书的签约确认后,该用户持有的私钥发生失密或者丢失,导致该用户更换了私钥,此时该用户持有的公钥会同步发生变更,但由于该用户的用户身份编码始终保持不变,因而此时签约系统会认为该用户之前已经完成的签约确认操作,仍然是由该用户执行的一次合法的签约确认操作,并不需要该用户基于持有的更换后的私钥,重新执行签约确认操作;
而且,当该用户基于持有的更换后的私钥,再次执行了一次签约确认操作,此时由于上述签约系统始终使用唯一不变的用户身份编码进行权限控制,因此签约系统可以确认基于变更前的私钥执行的签约确认操作,和基于变更后的私钥执行的签约确认操作,都是来自同一个用户的签约确认操作,两次签约确认操作都是由同一个用户执行的合法的签约确认操作。
可见,在基于区块链的去中心化系统中,使用与用户持有的私钥对应的公钥绑定的用户身份编码对用户进行权限控制的机制,可以有效避免在传统的基于区块链的去中心化系统中,基于用户的公钥或者公钥衍生信息对用户进行权限控制的过程中,由于用户的公钥变更导致用户的“身份”发生变化而造成的用户权限控制异常的问题。
其中,需要补充说明的是,以上实施例中以上述去中心化系统为基于区块链技术搭建的在线签约系统为例进行了说明。需要强调的,以上述去中心化系统为基于区块链技术搭建的在线签约系统为例仅为示例性的,并不用限定;显然,在实际应用中,上述去中心化系统也可以其它形式的去中心化系统,在本申请中不再进行一一列举。
与上述方法实施例相对应,本申请还提供了系统的实施例。
请参见图2,本申请提出一种用户权限控制装置20,应用于基于区块链的去中心化系统中的任一节点设备;
其中,请参见图3,作为承载所述用户权限控制装置20的电子设备所涉及的硬件架构中,通常包括处理器、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述用户权限控制装置20通常可以理解为加载在内存中的计算机程序,通过处理器运行之后形成的软硬件相结合的逻辑装置,所述用户权限控制装置20包括:
接收模块201,接收用户在执行预设的权限操作时,基于持有的私钥提交的执行结果;
读取模块202,响应于接收到的所述执行结果,读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识;其中,所述用户的身份标识为所述基于区块链的去中心化系统存储的可信公钥授权的身份标识;
查询模块203,查询与所述身份标识关联的用户权限,并基于查询到的所述用户权限对所述用户进行权限控制,以确定所述执行结果是否合法。
在本例中,所述读取模块202:
获取与所述用户持有的私钥对应的公钥,与所述用户的身份标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;
基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;
如果验证通过,基于所述绑定关系读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识。
在本例中,其中,所述去中心化系统支持多种电子签名算法。
在本例中,所述绑定关系存储在所述用户的用户身份证书中。
在本例中,其中,当所述用户持有的私钥及对应的公钥发生更新时,解除更新前的公钥与所述用户的身份标识的绑定关系,并将更新后的公钥与所述用户的身份标识重新绑定。
在本例中,所述节点设备搭载了用于承载所述绑定关系的便携式智能硬件;
所述装置20还包括:
下发模块204(图2中未示出),将所述绑定关系下发至所述便携式智能硬件,以由所述便携式智能硬件在其本地的安全存储环境中存储所述绑定关系。
在本例中,所述查询模块203:
将所述身份标识作为查询索引,在预设的权限列表中查询与所述身份标识关联的用户权限;其中,所述权限列表包括基于所述去中心化系统存储的可信公钥授权的若干身份标识,以及与各身份标识关联的至少一种用户权限。
在本例中,所述用户的身份标识绑定多个公钥;其中,与所述用户的身份标识绑定的多个公钥,分别对应不同的用户角色。
在本例中,所述用户的身份标识为基于所述用户提交的身份信息生成的用户身份编码。
在本例中,所述去中心化系统为去中心化的在线签约系统;所述执行结果为用户基于持有的私钥提交的用于进行签约确认的电子签名;或者,基于持有的私钥进行电子签名后的用于进行签约确认的消息或者指令。
以上各实施例阐明的系统、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机或者服务器。其中,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本申请方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (18)
1.一种用户权限控制方法,其特征在于,应用于基于区块链的去中心化系统中的任一节点设备,所述方法包括:
接收用户在执行预设的权限操作时提交的执行结果;其中,所述执行结果包括所述用户基于持有的私钥作出的电子签名;
响应于接收到的所述执行结果,读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识;其中,所述用户的身份标识为所述基于区块链的去中心化系统存储的可信公钥授权的身份标识,所述用户的身份标识为基于所述用户提交的身份信息生成的用户身份编码;
查询与所述身份标识关联的用户权限,并基于查询到的所述用户权限对所述用户进行权限控制,以确定所述执行结果包括的电子签名是否合法。
2.根据权利要求1所述的方法,其特征在于,所述读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识,包括:
获取与所述用户持有的私钥对应的公钥,与所述用户的身份标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;
基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;
如果验证通过,基于所述绑定关系读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识。
3.根据权利要求2所述的方法,其特征在于,其中,所述去中心化系统支持多种电子签名算法。
4.根据权利要求1或2所述的方法,其特征在于,所述绑定关系存储在所述用户的用户身份证书中。
5.根据权利要求1或2所述的方法,其特征在于,其中,当所述用户持有的私钥及对应的公钥发生更新时,解除更新前的公钥与所述用户的身份标识的绑定关系,并将更新后的公钥与所述用户的身份标识重新绑定。
6.根据权利要求1或2所述的方法,其特征在于,所述节点设备搭载了用于承载所述绑定关系的便携式智能硬件;
所述方法还包括:
将所述绑定关系下发至所述便携式智能硬件,以由所述便携式智能硬件在其本地的安全存储环境中存储所述绑定关系。
7.根据权利要求1或2所述的方法,其特征在于,所述查询与所述身份标识关联的用户权限,包括:
将所述身份标识作为查询索引,在预设的权限列表中查询与所述身份标识关联的用户权限;其中,所述权限列表包括基于所述去中心化系统存储的可信公钥授权的若干身份标识,以及与各身份标识关联的至少一种用户权限。
8.根据权利要求1或2所述的方法,其特征在于,所述用户的身份标识绑定多个公钥;其中,与所述用户的身份标识绑定的多个公钥,分别对应不同的用户角色。
9.根据权利要求1所述的方法,其特征在于,所述去中心化系统为去中心化的在线签约系统;所述执行结果为用户基于持有的私钥提交的用于进行签约确认的电子签名;或者,基于持有的私钥进行电子签名后的用于进行签约确认的消息或者指令。
10.一种用户权限控制装置,其特征在于,应用于基于区块链的去中心化系统中的任一节点设备,所述装置包括:
接收模块,接收用户在执行预设的权限操作时提交的执行结果;其中,所述执行结果包括所述用户基于持有的私钥作出的电子签名;
读取模块,响应于接收到的所述执行结果,读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识;其中,所述用户的身份标识为所述基于区块链的去中心化系统存储的可信公钥授权的身份标识,所述用户的身份标识为基于所述用户提交的身份信息生成的用户身份编码;
查询模块,查询与所述身份标识关联的用户权限,并基于查询到的所述用户权限对所述用户进行权限控制,以确定所述执行结果包括的电子签名是否合法。
11.根据权利要求10所述的装置,其特征在于,所述读取模块:
获取与所述用户持有的私钥对应的公钥,与所述用户的身份标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;
基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;
如果验证通过,基于所述绑定关系读取与所述用户持有的私钥对应的公钥绑定的所述用户的身份标识。
12.根据权利要求11所述的装置,其特征在于,其中,所述去中心化系统支持多种电子签名算法。
13.根据权利要求10或11所述的装置,其特征在于,所述绑定关系存储在所述用户的用户身份证书中。
14.根据权利要求10或11所述的装置,其特征在于,其中,当所述用户持有的私钥及对应的公钥发生更新时,解除更新前的公钥与所述用户的身份标识的绑定关系,并将更新后的公钥与所述用户的身份标识重新绑定。
15.根据权利要求10或11所述的装置,其特征在于,所述节点设备搭载了用于承载所述绑定关系的便携式智能硬件;
所述装置还包括:
下发模块,将所述绑定关系下发至所述便携式智能硬件,以由所述便携式智能硬件在其本地的安全存储环境中存储所述绑定关系。
16.根据权利要求10或11所述的装置,其特征在于,所述查询模块:
将所述身份标识作为查询索引,在预设的权限列表中查询与所述身份标识关联的用户权限;其中,所述权限列表包括基于所述去中心化系统存储的可信公钥授权的若干身份标识,以及与各身份标识关联的至少一种用户权限。
17.根据权利要求10或11所述的装置,其特征在于,所述用户的身份标识绑定多个公钥;其中,与所述用户的身份标识绑定的多个公钥,分别对应不同的用户角色。
18.根据权利要求10所述的装置,其特征在于,所述去中心化系统为去中心化的在线签约系统;所述执行结果为用户基于持有的私钥提交的用于进行签约确认的电子签名;或者,基于持有的私钥进行电子签名后的用于进行签约确认的消息或者指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710556783.5A CN109241726B (zh) | 2017-07-10 | 2017-07-10 | 一种用户权限控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710556783.5A CN109241726B (zh) | 2017-07-10 | 2017-07-10 | 一种用户权限控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109241726A CN109241726A (zh) | 2019-01-18 |
CN109241726B true CN109241726B (zh) | 2021-05-11 |
Family
ID=65083402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710556783.5A Expired - Fee Related CN109241726B (zh) | 2017-07-10 | 2017-07-10 | 一种用户权限控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241726B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109102261A (zh) * | 2018-08-02 | 2018-12-28 | 刘卓 | 基于赛博钞票的去中心化、安全、省电的加密货币 |
CN109982148B (zh) * | 2019-04-03 | 2022-05-20 | 广州虎牙信息科技有限公司 | 一种直播方法、装置、计算机设备与存储介质 |
CN110245474B (zh) * | 2019-04-19 | 2023-07-14 | 创新先进技术有限公司 | 一种针对公有账户的处理方法及系统 |
CN111241584A (zh) * | 2020-01-15 | 2020-06-05 | 成都理工大学 | 一种基于区块链的学生成绩管理方法 |
CN111224788B (zh) * | 2020-04-21 | 2020-07-24 | 国网区块链科技(北京)有限公司 | 一种基于区块链的电子合同管理方法、装置及系统 |
CN111639020B (zh) * | 2020-05-06 | 2021-07-02 | 贝壳找房(北京)科技有限公司 | 一种程序漏洞复现方法、系统、装置、电子设备及其存储介质 |
CN112559988A (zh) * | 2020-12-11 | 2021-03-26 | 杭州趣链科技有限公司 | 基于区块链的图书借阅方法、装置、设备和可读存储介质 |
CN113114625B (zh) * | 2021-03-16 | 2023-07-18 | 上海源庐加佳信息科技有限公司 | 基于区块链的用户身份校验方法、系统、介质及终端 |
CN113326489A (zh) * | 2021-06-25 | 2021-08-31 | 南京金盾公共安全技术研究院有限公司 | 一种用户信息认证系统及方法 |
CN113836521B (zh) * | 2021-11-26 | 2022-02-25 | 北京溪塔科技有限公司 | 一种基于去中心化身份的多重身份管理方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150356523A1 (en) * | 2014-06-07 | 2015-12-10 | ChainID LLC | Decentralized identity verification systems and methods |
CN105591753A (zh) * | 2016-01-13 | 2016-05-18 | 杭州复杂美科技有限公司 | 一种ca证书在区块链上的应用方法 |
CN105678182A (zh) * | 2015-12-29 | 2016-06-15 | 布比(北京)网络技术有限公司 | 一种数据操作控制的方法及装置 |
CN106097073A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市淘淘谷信息技术有限公司 | 一种用区块链来赋予数字账户交易过程独有id的方法 |
CN106796685A (zh) * | 2016-12-30 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链权限控制方法、装置及节点设备 |
CN106796688A (zh) * | 2016-12-26 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链的权限控制方法、装置、系统及节点设备 |
CN106815764A (zh) * | 2017-01-18 | 2017-06-09 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种基于联盟链的数字资产的管理方法及系统 |
CN106850654A (zh) * | 2017-02-23 | 2017-06-13 | 布比(北京)网络技术有限公司 | 一种分布式信息的授权访问方法及系统 |
CN106850622A (zh) * | 2017-02-07 | 2017-06-13 | 杭州秘猿科技有限公司 | 一种基于许可链的用户身份管理方法 |
-
2017
- 2017-07-10 CN CN201710556783.5A patent/CN109241726B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150356523A1 (en) * | 2014-06-07 | 2015-12-10 | ChainID LLC | Decentralized identity verification systems and methods |
CN105678182A (zh) * | 2015-12-29 | 2016-06-15 | 布比(北京)网络技术有限公司 | 一种数据操作控制的方法及装置 |
CN105591753A (zh) * | 2016-01-13 | 2016-05-18 | 杭州复杂美科技有限公司 | 一种ca证书在区块链上的应用方法 |
CN106097073A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市淘淘谷信息技术有限公司 | 一种用区块链来赋予数字账户交易过程独有id的方法 |
CN106796688A (zh) * | 2016-12-26 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链的权限控制方法、装置、系统及节点设备 |
CN106796685A (zh) * | 2016-12-30 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链权限控制方法、装置及节点设备 |
CN106815764A (zh) * | 2017-01-18 | 2017-06-09 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种基于联盟链的数字资产的管理方法及系统 |
CN106850622A (zh) * | 2017-02-07 | 2017-06-13 | 杭州秘猿科技有限公司 | 一种基于许可链的用户身份管理方法 |
CN106850654A (zh) * | 2017-02-23 | 2017-06-13 | 布比(北京)网络技术有限公司 | 一种分布式信息的授权访问方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109241726A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241726B (zh) | 一种用户权限控制方法及装置 | |
CN108898389B (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN110620810B (zh) | 在区块链上的连续资产转移的非链接所有权 | |
US11171782B2 (en) | Identity and electronic signature verification in blockchain | |
US10903996B2 (en) | Persona selection using trust scoring | |
TWI694709B (zh) | 基於區塊鏈的電子簽名方法及裝置、電子設備 | |
CN112003858B (zh) | 基于区块链的平台对接的方法、电子装置和存储介质 | |
WO2019113552A1 (en) | Methods and systems for recovering data using dynamic passwords | |
JP7412725B2 (ja) | 認証方法及び認証装置 | |
CN115191104B (zh) | 由去中心化标识符锚定的去中心化标识 | |
KR102131206B1 (ko) | 법인 관련 서비스 제공 방법, 이를 지원하는 방법, 이를 수행하는 서비스 서버 및 인증 서버 | |
US11411736B2 (en) | Automatic renewal of a verifiable claim | |
CN109428722A (zh) | 一种内容发布方法及装置 | |
CN109388923B (zh) | 一种程序执行方法及装置 | |
US20240250830A1 (en) | Trusted custody chain for verifiable claims | |
TW202347353A (zh) | 使用實體裝置標識符在區塊鏈上生成並維持數位令牌 | |
CN114266680A (zh) | 基于区块链的电子合同签约方法、装置及系统 | |
US12021868B2 (en) | Securing authentication flows using a decentralized identifier | |
CN111555887B (zh) | 区块链证书兼容性处理方法、装置及计算机存储介质 | |
KR101936941B1 (ko) | 생체인증을 이용한 전자결재 시스템, 방법 및 프로그램 | |
US20240422011A1 (en) | Non-transferable token | |
CN116167766A (zh) | 一种资产通证化方法及相关装置 | |
AU2015243008A1 (en) | Authentication of remote computing device using serial number | |
JP2025027754A (ja) | プログラム、情報処理装置および情報処理方法 | |
CN116340912A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210511 |