CN111353780B - 授权验证方法、装置及存储介质 - Google Patents
授权验证方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111353780B CN111353780B CN202010127226.3A CN202010127226A CN111353780B CN 111353780 B CN111353780 B CN 111353780B CN 202010127226 A CN202010127226 A CN 202010127226A CN 111353780 B CN111353780 B CN 111353780B
- Authority
- CN
- China
- Prior art keywords
- transaction
- authorization
- public key
- authorization information
- authorized
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例公开了一种授权验证方法、装置、设备和存储介质。该方法包括:获取授权用户组的授权结果,授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值;根据授权结果确定第一授权信息并存储于区块链,将第一授权信息发送给被授权方;获取待验证的第二授权信息,第二授权信息包括第二交易索引、第二公钥地址和第二交易附值;根据第一授权信息验证第二授权信息是否有效,若有效则授权验证通过。本发明实施例提供的授权验证方法通过去中心化的区块链保存第一授权信息避免了因中心服务器被攻击导致的不可靠,设置预设授权人数阈值用于降低因授权用户组中少数用户的私钥泄露导致授权泛滥的风险。
Description
技术领域
本发明属于密码学与软件工程的技术领域,尤其涉及一种授权验证方法、装置、设备及存储介质。
背景技术
随着社会的发展,用户授权及验证的场景越来越多,这里的用户可以是单个人也可以是一个机构。传统的授权验证系统面临着许多问题,如专利201410079876.X提出的身份验证方法及装置,服务器接收第一终端设备发送的业务获取请求,发起对第一终端设备的身份验证,在获取了身份验证后通过一系列的验证环节最后判断身份的合法性再提供第一终端请求的业务。诸如这样的传统身份验证方法,都可以抽象成是一端到另一端的验证方式。用户发布签名信息来提供身份验证的依据,验证方验证授权记录中的用户签名来验证授权的有效性。这样的验证方式如果用在实际的场景中,例如高校颁发学位证书,学生受聘的企业验证证书的真伪。在这样的场景中,因为一对一验证模式的局限会造成许多问题,如学校会面临着在校招高峰时间段内处理多个企业验证请求的压力;如果学校的私钥丢失,则无法完成证书的颁发和验证,先前颁发的证书失效;如果学校的私钥被泄露,则攻击者可以伪造证书信息。现有的发明还不足以解决上述问题。如发明201310008315.6提出的一种多重签名生成与验证系统及其方法,这个方法虽然使用了多重签名的方法但是只是将签名放在了签名收集单元中,验证方如需验证授权记录依然需要访问特定的一个单元,某个验证高峰可能会造成访问单元的访问压力过载,且授权记录存在被篡改的风险,并且只存储在特定单元的授权记录并没有透明公开,如果存储单元遭到攻击,虽然篡改了授权记录后授权记录无效,但是不排除恶意删除的可能。发明201610796491.4提出的一种基于身份密码机制的多重数字签名方法,来提高系统的安全性和稳定性,这个发明是将身份密码机制与Rabin算法相结合降低系统的负载来减轻证书管理的负担,但是这个发明还是存在签名没有透明公开的问题,并且还是会造成一定的证书管理的负担,而且也存在上述的授权记录丢失的可能。发明201610902142.6虽然使用了区块链作为存储用户更改密钥消息广播的平台来防篡改,提升了网络授权的安全性和可用性,但是依然不能解决用户私钥丢失造成的授权失效和用户私钥泄露造成的授权被造假的可能。
发明内容
有鉴于此,本发明提供了一种授权验证方法,能够解决用数据中心的证书管理负担大,授权信息不够公开,用户私钥丢失造成的授权失效和用户私钥泄露造成的授权被造假的问题。
为解决上述技术问题,本发明采用以下技术方案:
第一方面,本发明提供了一种授权验证方法,该方法包括:
获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值;
根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方;
获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值;
根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过。
第二方面,本发明提供了一种授权验证装置,包括:
第一获取模块,用于获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值;
授权模块,用于根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方;
第二获取模块,用于获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值;
验证模块,用于根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过。
第三方面,本发明提供了一种授权验证设备,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如前述的授权验证方法。
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现前述的授权验证方法。
本发明提供的授权验证方法通过去中心化的区块链保存第一授权信息避免了因中心服务器被攻击导致的不可靠,设置预设授权人数阈值用于降低因授权用户组中少数用户的私钥泄露导致授权泛滥的风险。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本申请的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的一种授权验证方法的流程图;
图2是本发明实施例一提供的一种授权验证方法的流程图;
图3是本发明实施例二提供的一种授权验证装置的结构示意图;
图4是本发明实施例三提供的一种授权验证设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施中的技术方案进行清楚、完整的描述。可以理解的是,此处所描述的具体实施例仅仅是本申请一部分实施例,而不是全部的实施例,仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一区域称为第二区域,且类似地,可将第二区域称为第一区域。第一区域和第二区域两者都是区域,但其不是同一区域。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。需要说明的是,当一个部被称为“固定于”另一个部,它可以直接在另一个部上也可以存在居中的部。当一个部被认为是“连接”到另一个部,它可以是直接连接到另一个部或者可能同时存在居中部。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述,只是为了说明的目的,并不表示是唯一的实施方式。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
参见图1,本实施例提供了一种授权验证方法,,具体的,该方法包括以下步骤:
S110、获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值。
授权用户组为一个由所有可以进行授权的用户组成的集合,授权用户组中每个用户都有一对公钥和私钥,这里的用户形式不做限制,其可以是个人也可以是机构等。本实施例中也不限制公私钥对的具体生成算法,例如可以使用RSA、ECDSA等算法生成公私钥对,其中用户的私钥为用户个人保存,二用户的公钥需要上传至服务器公开,授权用户组中所有用户的公钥组成的集合称之为第一公钥,本实施例中也不限制用户保存私钥的具体方法也不限制公钥的公开方法,例如可以使用公钥基础设施PKI,PGP等方法公开公钥。
在一次授权过程前,被授权方会向作为授权方的授权用户组发出授权请求,授权请求中包含待授权方核验的具体信息,授权用户组会根据授权请求验证是否可以进行授权,只有在验证所有内容符合授权用户组的认知时才会进行签名发出相应的授权结果,授权结果中包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值。
授权用户签名为授权用户组中的一个或多个用户对被授权方进行授权时,利用各自的私钥提供授权签名生成的,授权用户签名中包含了所有参与授权的用户的签名。
预设授权人数阈值是为多重签名机制所设置,用于根据预设授权人数阈值和实际授权人数验证是否满足多重签名成立条件。
S120、根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方。
本实施例中提供的授权验证方法基于多重签名的思想,多重签名机制最初是为了解决加密货币的签名机制问题,在加密货币领域如果用户的私钥丢失则无法花费对应地址的资金。这种问题极大的增加了用户资金丢失的风险。为了避免一个私钥的丢失导致所对应地址的资金丢失,加密货币利用多重签名机制来实现降低私钥丢失造成资金无法使用的风险。多重签名机制规定给N个用户分别持有N个私钥,只要其中M个用户签名通过验证则整个授权有效,类似的,本实施例中会基于第一公钥和授权用户签名生成第一授权信息,再将第一授权信息扩散到区块链中,这样授权信息便是公开的,且利用区块链的去中心化和不可篡改特性,不会因服务器中心被攻击而使授权验证不可靠。
本实施例中除了基于多重签名的验证机制外,用于确定第一授权信息的信息中还包括第一公钥,这是另一个验证依据,也可以用于匹配授权方和被授权方提供的授权信息。
当授权方将授权结果通过在区块链上交易的方式生成了第一授权信息后,会将第一授权信息发送给被授权方,以使被授权方使用第一授权信息,应当理解的是,第一授权信息中的的第一交易索引和第一交易附值是在交易过程中生成,这些信息随着交易的完成(成功和失败均算完成)存储在区块链中,第一公钥地址用于完成在区块链上的交易。
本实施例提供的授权验证方法中,公布到区块链的第一授权信息可能是有效的也可能是无效的,因为第一授权信息中授权用户签名中所包含的授权用户人数可能也是未达到预设授权人数阈值的,这种情况下发布的第一授权信息就是无效的,具体可以在验证授权信息的过程中判断。
实际根据第一公钥、授权用户签名和预设授权人数阈值生成第一授权信息的过程可以根据需求和情况不同而有所不同。
S130、获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值。
当一个验证方想要验证其拿到的授权信息是否有效时,需要发送被授权方提供的第二授权信息供区块链验证,此处所指的第二授权信息可能是由授权方发出的,也可能是由被授权方伪造的,与被授权方接收到的第一授权信息类似的,其提供的第二授权信息中应当包括第二交易索引、第二公钥地址和第二交易附值,这些信息将用于验证第二授权信息是否有效。
S140、根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过。
根据步骤S120可知,验证第二授权信息是否有效时需要验证是否满足多重签名的机制以及授权用户组的相关信息是否对应,具体就是匹配所述第一公钥地址和第二公钥地址验证是否通过、根据所述第二交易记录索引验证其对应的第二交易是否通过区块链的验证(用于验证授权用户签名中授权用户的数量是否达到预设授权人数阈值)以及匹配所述第一交易附值和第二交易附值验证是否通过,当上述验证全部通过则所述第二授权信息有效。
为了便于理解,下面以一学生信息验证过程作为示例:
假设某学生毕业后应聘某企业,该学生向该企业提供第二授权信息(学位证书),该企业需要验证第二授权信息是否有效。可以理解的是,授权过程在该学生毕业时已经发生,该学生的毕业院校作为授权方,在验证该学生的学号、姓名、就读信息等内容符合毕业要求时会对其进行签名(可以有一个也可以有多个,签名的数量达到预设授权人数阈值时才是授权成功)得到授权结果,基于授权结果结合区块链可以得到第一授权信息(学位证书),具体的,第一授权信息是通过交易的方式产生并体现在区块链上,第一授权信息中包括了交易记录对应的第一交易索引、第一交易附值以及第一公钥地址。当第一授权信息产生后会被发送给被授权方(该学生)。当该学生提供的第二授权信息为真时,第二授权信息就是第一授权信息,该企业基于待验证的第二授权信息向区块链验证其是否为真,当第二授权信息中的第二交易索引对应的交易记录有效,第二授权信息中的第二公钥地址和第一公钥地址一致时,且第二交易附值和第一交易附值一致时,说明第二授权信息为真。
本实施例提供了一种授权验证方法,通过授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值生成第一授权信息,并将第一授权信息上传至区块链以供验证,将被授权方提供的第二授权信息与第一授权信息进行比较验证,通过去中心化的区块链保存第一授权信息避免了因中心服务器被攻击导致的不可靠如授权信息被篡改和删除,授权用户组中用户的私钥无需上传减少了泄露的风险,预设授权人数阈值用于降低因授权用户组中少数用户的私钥泄露导致授权泛滥的风险。
实施例二
本实施例在实施例一的基础上对授权验证方法中部分流程进行了进一步的解释和举例,具体如图2所示,包括:
S210、获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值。
步骤S210和步骤S110一致。
S220、根据所述第一公钥和所述授权人数阈值生成第一公钥地址。
具体包括:根据所述第一公钥生成公钥组合,根据所述预设授权人数阈值、所述授权用户组的总人数和所述公钥组合生成第一公钥地址和第一哈希值。
本实施例中不限制生成公钥组合的具体方式,只要最终能够解析出第一公钥即可,例如某一授权用户组中有N个能够授权的用户,则第一公钥为{P1,P2,…,PN},公钥组合应当能够完全解析出{P1,P2,…,PN}。本实施例中也不限制新地址的生成算法,示例性的可以采用hash算法。其中第一哈希值是通过生成第一公钥地址时会生成的赎回脚本计算得到的。得到第一公钥地址后需要将其存储到公钥地址系统,本实施例中不限制公钥地址系统的具体形式,优选的可以采用区块链系统作为公钥地址系统。
在一些优选实施例中,采用区块链系统作为公钥地址系统时,将第一公钥地址存储到区块链系统的方式示例性的可以为:利用已存在区块链上的第二地址向第一公钥地址交易,具体可以是交易少量的加密货币,交易完成后第一公钥地址便存在于区块链系统。当然本实例中并不限定将第一公钥存储到区块链系统的具体形式。
S230、根据所述授权用户签名生成第一交易脚本。
具体包括:将所述授权用户签名添加至第一交易脚本;为所述第一交易脚本配置脚本操作符,所述脚本操作符用于令基于所述交易脚本进行交易得到的交易附值等于所述第一哈希值。
授权用户签名是由授权用户组中能够授权的用户利用自身的私钥提供的,在授权阶段会有K(K大于等于1)个授权用户组中的用户提供授权签名,将该K个授权用户签名添加至新的交易脚本得到第一交易脚本,同时还会使用OP_RETURN脚本操作符,OP_RETURN脚本操作符作用在于使得在第一交易脚本运行交易时使得交易结束后将第一哈希值绑定在交易的输出部分作为第一交易附值。
S240、基于所述第一交易脚本生成第一交易记录索引和第一交易附值。
本步骤是进一步确定第一授权信息中其他相关信息的过程,由于该过程是基于区块链系统完成的,在本步骤完成时也将相关信息上传到了区块链,也就是将第一授权信息上传到区块链,具体内容包括:
使用所述第一公钥地址基于所述第一交易脚本向所述第二地址进行交易并生成第一交易记录和第一交易记录索引,所述第一交易记录包括第一交易附值。
第一交易记录中除了第一交易附值外还包括第一交易脚本中的一切信息如授权用户组的授权用户签名和授权用户组的第一公钥。此处的交易也是在区块链上完成的,具体的交易方式一般是加密币交易的方式。本步骤中随着交易的完成,第一交易记录所包含或相关的信息会在区块链中传播。应当说明的是,此处不论交易是否成功都会产生相应的第一交易记录存在与区块链上,只是失败的交易会导致第一交易记录对应的第一授权信息验证无法通过最后的授权验证。
S250、根据所述第一公钥地址、第一交易记录索引和第一交易附值确定第一授权信息并发送给被授权方。
第一交易记录索引用于查找对应的交易记录,本实施例中授权信息验证中需要验证的就是第一公钥地址、和第一交易附值以及第一交易记录,第一交易记录验证的是授权过程中的交易是否成功,也就是验证第一交易脚本的授权用户数量是否达到预设授权人数阈值,综上本实施例中以第一公钥地址、第一交易记录索引(可以在区块链上直接找到第一交易记录验证交易相关信息)和第一交易附值作为第一授权信息发送给被授权方,第一授权信息中包含了三种验证信息。
步骤S220-S250为步骤S120的具体示例,具体说明了如何在区块链中根据第一公钥、授权用户签名和预设授权人数阈值确定第一授权信息并发送给被授权方。
S260、获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值。
步骤S260和步骤S130一致。
具体的,第二授权信息和第一授权信息是对应的,第一授权信息包括第一公钥地址、第一交易记录索引和第一交易附值,则第二授权信息应当包括第二公钥地址、第二交易记录索引和第二交易附值(若有缺失则验证不可能通过)。
S270、根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过。
步骤S270和步骤S140一致,本实施例结合前述内容具体说明验证过程:
匹配所述第一公钥地址和第二公钥地址验证是否通过、根据所述第二交易记录索引验证其对应的第二交易是否通过区块链的验证以及匹配所述第一交易附值和第二交易附值验证是否通过,当上述验证全部通过则所述第二授权信息有效。也就是验证分为三个方面:验证第一公钥地址和第二公钥地址是否一致,这是验证授权用户组的公钥是否一致,若不一致则说明授权用户组不同则第二授权信息无效;验证第二交易记录索引对应的交易记录是否有效;验证第二交易附值是否等于第一交易附值(就是验证被授权方提供的第二交易附值是否等于授权过程中的第一哈希值)。在上述三个验证全部通过的情况下才能视为被授权方的提供的第二授权信息有效。
其中根据所述第二交易记录索引验证其对应的第二交易是否通过区块链的验证实际是:根据所述第二交易记录索引确定其对应的第二交易记录,判断第二交易记录对应的第二交易是否成功,若成功则第二交易通过区块链的验证,若失败,则第二交易未通过区块链的验证,也就是根据所述第二交易记录索引确定其对应的第二交易记录,确定对所述第二交易记录进行签名的授权用户数量,验证所述授权用户数量是否不小于所述预设授权人数阈值,判断验证是否通过,这一过程实际是由区块链完成的而非用户进行的。也就是说需要验证交易记录对应的交易是否是有效的,如果是失败的交易也是会有对应的交易记录的,这样可以避免授权验证的漏洞。
更具体的,实际上区块链是有多个节点的,区块链的节点实际是作为验证过程的服务提供方,当待验证的第二授权信息发送到区块链上后(不限定发送方),区块链上的多个节点用于验证第二交易记录索引对应的交易是否是成功进行的(加密币成功花费、转账等变化),这个过程不需要通过所有节点的验证,可以预先配置一个预设数值,当验证通过的节点个数大于这个预设数值时认为第二交易记录索引对应的交易是成功的。
本实施例在实施例一的基础上,进一步提供了更为详细的确定第一授权信息并上传至区块链的过程,以及根据被授权方提供的第二授权信息进行验证的过程,将授权过程中的授权信息通过交易的方式上传到区块链中令整个授权流程更透明,授权系统更稳定,根据授权信息中的公钥地址、交易记录索引和交易附值三种信息完成授权验证使得授权系统更安全不易被伪造的授权信息破解。
实施例三
图3为本发明实施例三提供的一种授权验证装置的结构示意图,如图3所述,该装置包括:
第一获取模块310,用于获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值。
授权模块320,用于根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方。
具体的,在一些实施例中,授权模块320包括:
公钥地址生成单元,用于根据所述第一公钥和所述授权人数阈值生成第一公钥地址。
具体的,第一公钥地址的生成过程为:根据所述第一公钥生成公钥组合,根据所述预设授权人数阈值、所述授权用户组的总人数和所述公钥组合生成第一公钥地址和第一哈希值。
交易脚本生成单元,用于根据所述授权用户签名生成第一交易脚本。
具体的,第一交易脚本的生成过程为:将所述授权用户签名添加至第一交易脚本;为所述第一交易脚本配置脚本操作符,所述脚本操作符用于令基于所述交易脚本进行交易得到的交易附值等于所述第一哈希值。
第一交易单元,用于基于所述第一交易脚本生成第一交易记录索引和第一交易附值。其交易过程需要基于区块链上已经存在的第二地址:在区块链上基于所述第一交易脚本使用所述第一公钥地址向所述第二地址进行交易并生成第一交易记录和第一交易记录索引,所述第一交易记录包括第一交易附值。
发送单元,用于根据所述第一公钥地址、第一交易记录索引和第一交易附值确定第一授权信息并发送给被授权方。
第二获取模块330,用于获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值。
验证模块340,用于根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过。
具体的,所述第二授权信息包括第二公钥地址、第二交易记录索引和第二交易附值,验证过程具体为:匹配所述第一公钥地址和第二公钥地址验证是否通过、根据所述第二交易记录索引验证其对应的第二交易是否通过区块链的验证以及匹配所述第一交易附值和第二交易附值验证是否通过,当上述验证全部通过则所述第二授权信息有效。
具体的,在一些实施例中所述根据所述第二交易记录索引验证其对应的第二交易是否通过区块链的验证包括:
根据所述第二交易记录索引确定其对应的第二交易记录,判断第二交易记录对应的第二交易是否成功,若成功则第二交易通过区块链的验证,若失败,则第二交易未通过区块链的验证。
本实施例提供了一种授权验证装置,通过授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值生成第一授权信息,并将第一授权信息上传至区块链以供验证,将被授权方提供的第二授权信息与第一授权信息进行比较验证,通过去中心化的区块链保存第一授权信息避免了因中心服务器被攻击导致的不可靠如授权信息被篡改和删除,授权用户组中用户的私钥无需上传减少了泄露的风险,预设授权人数阈值用于降低因授权用户组中少数用户的私钥泄露导致授权泛滥的风险
实施例四
图4为本发明实施例六提供的一种设备400的结构示意图,如图4所示,该设备包括存储器410、处理器420,设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;设备中的存储器410、处理器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的授权验证方法对应的程序指令/模块(例如,授权验证装置中的第一获取模块310、授权模块320、第二获取模块330和验证模块340)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的授权验证方法。
其中,所述处理器420用于运行存储在存储器410中的计算机可执行程序,以实现如下步骤:步骤S110、获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值;步骤S120、根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方;步骤S130、获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值;步骤S140、根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过。
当然,本发明实施例所提供的一种设备,该设备不限于如上所述的方法操作,还可以执行本发明实施例任意实施例所提供的授权验证方法中的相关操作。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提供了一种授权验证设备,能够通过去中心化的区块链保存第一授权信息避免了因中心服务器被攻击导致的不可靠,设置预设授权人数阈值用于降低因授权用户组中少数用户的私钥泄露导致授权泛滥的风险。
实施例五
本发明实施例八还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种授权验证方法,该授权验证方法包括:
获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值;
根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方;
获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值;
根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的授权验证方法中的相关操作。
通过以上关于实施方式的描述,所述领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,设备,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述授权装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (6)
1.一种授权验证方法,其特征在于,包括:
获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值;
根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方;
获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值;
根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过;
根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方,包括:
根据所述第一公钥和所述授权人数阈值生成第一公钥地址;
根据所述授权用户签名生成第一交易脚本;
基于所述第一交易脚本生成第一交易记录索引和第一交易附值;
根据所述第一公钥地址、第一交易记录索引和第一交易附值确定第一授权信息并发送给被授权方;
其中,所述预设授权人数阈值用于验证实际授权人数是否满足多重签名成立条件;
根据所述第一公钥和所述授权人数阈值生成第一公钥地址,包括:
根据所述第一公钥生成公钥组合,根据所述预设授权人数阈值、所述授权用户组的总人数和所述公钥组合生成第一公钥地址和第一哈希值;
根据所述授权用户签名生成第一交易脚本,包括:
将所述授权用户签名添加至第一交易脚本;
为所述第一交易脚本配置脚本操作符,所述脚本操作符用于在第一交易脚本运行交易时使得交易结束后将第一哈希值绑定在交易的输出部分作为第一交易附值;
基于所述第一交易脚本生成第一交易记录索引和第一交易附值,包括:
在区块链上基于所述第一交易脚本使用所述第一公钥地址向第二地址进行交易并生成第一交易记录和第一交易记录索引,所述第一交易记录包括第一交易附值。
2.根据权利要求1所述的方法,其特征在于,根据所述第一授权信息验证所述第二授权信息是否有效包括:
匹配所述第一公钥地址和第二公钥地址验证是否通过、根据第二交易记录索引验证其对应的第二交易是否通过区块链的验证以及匹配所述第一交易附值和第二交易附值验证是否通过,当验证全部通过则所述第二授权信息有效。
3.根据权利要求2所述的方法,其特征在于,根据所述第二交易记录索引验证其对应的第二交易是否通过区块链的验证包括:
根据所述第二交易记录索引确定其对应的第二交易记录,判断第二交易记录对应的第二交易是否成功,若成功则第二交易通过区块链的验证,若失败,则第二交易未通过区块链的验证。
4.一种授权验证装置,其特征在于,包括:
第一获取模块,用于获取授权用户组的授权结果,所述授权结果包括授权用户组的第一公钥、授权用户组的授权用户签名和预设授权人数阈值;
授权模块,用于根据所述授权结果确定第一授权信息并存储于区块链,所述第一授权信息包括第一交易索引、第一公钥地址和第一交易附值,将所述第一授权信息发送给被授权方;
第二获取模块,用于获取待验证的第二授权信息,所述第二授权信息包括第二交易索引、第二公钥地址和第二交易附值;
验证模块,用于根据所述第一授权信息验证所述第二授权信息是否有效,若有效则授权验证通过;
公钥地址生成单元,用于根据所述第一公钥和所述授权人数阈值生成第一公钥地址;
具体的,所述第一公钥地址的生成过程为:根据所述第一公钥生成公钥组合,根据所述预设授权人数阈值、所述授权用户组的总人数和所述公钥组合生成第一公钥地址和第一哈希值;
交易脚本生成单元,用于根据所述授权用户签名生成第一交易脚本;
具体的,所述第一交易脚本的生成过程为:将所述授权用户签名添加至第一交易脚本;为所述第一交易脚本配置脚本操作符,所述脚本操作符用于在第一交易脚本运行交易时使得交易结束后将第一哈希值绑定在交易的输出部分作为第一交易附值;
第一交易单元,用于基于所述第一交易脚本生成第一交易记录索引和第一交易附值;
发送单元,用于根据所述第一公钥地址、第一交易记录索引和第一交易附值确定第一授权信息并发送给被授权方;
其中,所述预设授权人数阈值用于验证实际授权人数是否满足多重签名成立条件;
第一交易单元,用于在区块链上基于所述第一交易脚本使用所述第一公钥地址向第二地址进行交易并生成第一交易记录和第一交易记录索引,所述第一交易记录包括第一交易附值。
5.一种授权验证设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-3任意一项所述授权验证方法。
6.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时,实现如权利要求1-3任意一项所述授权验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127226.3A CN111353780B (zh) | 2020-02-28 | 2020-02-28 | 授权验证方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127226.3A CN111353780B (zh) | 2020-02-28 | 2020-02-28 | 授权验证方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111353780A CN111353780A (zh) | 2020-06-30 |
CN111353780B true CN111353780B (zh) | 2023-10-17 |
Family
ID=71194147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127226.3A Active CN111353780B (zh) | 2020-02-28 | 2020-02-28 | 授权验证方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111353780B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468600B (zh) * | 2021-06-30 | 2023-04-28 | 建信金融科技有限责任公司 | 一种数据授权方法、装置和设备 |
CN114140119A (zh) * | 2021-12-02 | 2022-03-04 | 杭州复杂美科技有限公司 | 一种跨链见证交易的签名系统和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095697A (zh) * | 2013-01-09 | 2013-05-08 | 华东师范大学 | 一种多重签名生成与验证系统及其方法 |
CN104901801A (zh) * | 2014-03-06 | 2015-09-09 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN106797389A (zh) * | 2016-11-18 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链网络、物品交易方法、装置及节点设备 |
CN107819586A (zh) * | 2017-11-20 | 2018-03-20 | 电子科技大学 | 一种多授权中心的门限属性基签名方法 |
CN108229962A (zh) * | 2018-01-04 | 2018-06-29 | 众安信息技术服务有限公司 | 基于区块链的权限管理方法及系统 |
CN108764872A (zh) * | 2018-06-01 | 2018-11-06 | 杭州复杂美科技有限公司 | 一种授权支付方法及系统、设备和存储介质 |
CN109787771A (zh) * | 2019-01-02 | 2019-05-21 | 浙江师范大学 | 一种基于区块链的身份授权方法及系统 |
CN109903042A (zh) * | 2019-01-18 | 2019-06-18 | 深圳壹账通智能科技有限公司 | 基于区块链的信息授权方法、装置、介质及电子设备 |
-
2020
- 2020-02-28 CN CN202010127226.3A patent/CN111353780B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095697A (zh) * | 2013-01-09 | 2013-05-08 | 华东师范大学 | 一种多重签名生成与验证系统及其方法 |
CN104901801A (zh) * | 2014-03-06 | 2015-09-09 | 腾讯科技(深圳)有限公司 | 身份验证方法及装置 |
CN106797389A (zh) * | 2016-11-18 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链网络、物品交易方法、装置及节点设备 |
CN107819586A (zh) * | 2017-11-20 | 2018-03-20 | 电子科技大学 | 一种多授权中心的门限属性基签名方法 |
CN108229962A (zh) * | 2018-01-04 | 2018-06-29 | 众安信息技术服务有限公司 | 基于区块链的权限管理方法及系统 |
CN108764872A (zh) * | 2018-06-01 | 2018-11-06 | 杭州复杂美科技有限公司 | 一种授权支付方法及系统、设备和存储介质 |
CN109787771A (zh) * | 2019-01-02 | 2019-05-21 | 浙江师范大学 | 一种基于区块链的身份授权方法及系统 |
CN109903042A (zh) * | 2019-01-18 | 2019-06-18 | 深圳壹账通智能科技有限公司 | 基于区块链的信息授权方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111353780A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhaofeng et al. | Blockchain-based decentralized authentication modeling scheme in edge and IoT environment | |
US10783260B2 (en) | Method for providing simplified account registration service and user authentication service, and authentication server using same | |
CN110692214B (zh) | 用于使用区块链的所有权验证的方法和系统 | |
CN111062716B (zh) | 生成区块链签名数据的方法及装置、区块链交易发起系统 | |
KR102469024B1 (ko) | 디지털 인증서 검증 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체 | |
JP7289298B2 (ja) | 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法 | |
CN111066046B (zh) | 抗重放攻击认证协议 | |
JP3522447B2 (ja) | 認証交換方法および付加型公衆電子署名方法 | |
US9882890B2 (en) | Reissue of cryptographic credentials | |
CN110958110A (zh) | 一种基于零知识证明的区块链隐私数据管理方法和系统 | |
GB2434724A (en) | Secure transactions using authentication tokens based on a device "fingerprint" derived from its physical parameters | |
JPH0512321A (ja) | 認証方式 | |
CN110930153B (zh) | 基于隐藏第三方账号的区块链隐私数据管理方法和系统 | |
US20200204338A1 (en) | Securing public key cryptographic algorithms | |
CN113360943A (zh) | 一种区块链隐私数据的保护方法及装置 | |
JP2005520364A (ja) | デジタル署名された証明書を更新しかつ拡張するシステムおよび方法 | |
CN111353780B (zh) | 授权验证方法、装置及存储介质 | |
Küpçü | Official arbitration with secure cloud storage application | |
JP3970243B2 (ja) | 暗号認証方法 | |
Xu et al. | Secure fuzzy identity-based public verification for cloud storage | |
CN112184245B (zh) | 一种跨区块链的交易身份确认方法及装置 | |
US7366911B2 (en) | Methods and apparatus for computationally-efficient generation of secure digital signatures | |
CN116506134B (zh) | 数字证书管理方法、装置、设备、系统及可读存储介质 | |
Boontaetae et al. | RDI: Real digital identity based on decentralized PKI | |
CN112837064B (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 |