CN108712380B - 一种基于策略的混合身份认证方法 - Google Patents

一种基于策略的混合身份认证方法 Download PDF

Info

Publication number
CN108712380B
CN108712380B CN201810326878.2A CN201810326878A CN108712380B CN 108712380 B CN108712380 B CN 108712380B CN 201810326878 A CN201810326878 A CN 201810326878A CN 108712380 B CN108712380 B CN 108712380B
Authority
CN
China
Prior art keywords
server
user
key
policy
end user
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
Application number
CN201810326878.2A
Other languages
English (en)
Other versions
CN108712380A (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.)
Sunwave Communications Co Ltd
Original Assignee
Sunwave Communications 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 Sunwave Communications Co Ltd filed Critical Sunwave Communications Co Ltd
Priority to CN201810326878.2A priority Critical patent/CN108712380B/zh
Publication of CN108712380A publication Critical patent/CN108712380A/zh
Application granted granted Critical
Publication of CN108712380B publication Critical patent/CN108712380B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/3236Cryptographic 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 using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于策略的混合身份认证方法,终端用户(u)和服务器(s)之间的通信通过混合身份来进行标识,在将终端用户(u)和服务器(s)之间的对称秘钥和公开秘钥进行交互;并且将用户策略作为参数放入到服务器对用户数据访问的行为中,将用户设定的数据访问策略通过默克尔树的方式在区块链网络上进行加密存储,终端用户(u)和服务器(s)之间的信息交互通过策略以及相互协商的秘钥来进行访问控制。本发明属于区块链和隐私保护创新领域。本发明设计出的基于策略的混合身份认证方法,可应用于在需要进行隐私保护的数据应用环境,同时实现方式简单,易于操作。

Description

一种基于策略的混合身份认证方法
技术领域
本发明涉及区块链技术领域及身份认证技术,主要是一种基于策略的混合身份认证方法。
背景技术
区块链是一种分布式账本技术,账本内的交易按照密码学签名和哈希算法保证不可篡改,且所有交易在账本中可追溯。在公有区块链中,用户的账户信息和交易内容都是公开的,仅仅通过“伪匿名”的方式保护用户隐私。但在数据作为资产的情况下,一方面用户并不希望所有的数据资源都开放给公共的网络环境,另一方面服务商业不希望数据在一次授权后就被其他用户无限次使用,因此有必要使用加密技术来保护数据隐私,同时又要保证授权的服务商能够查看数据,以保证大数据应用的正常使用。这就需要灵活的访问控制策略来实现对不同用户访问权限的控制。
发明内容
本发明的目的在于克服现有技术存在的不足,而提供一种基于策略的混合身份认证方法,是一种在区块链中的混合身份认证方法。
本发明的目的是针对现有互联网环境下,用户一旦提交数据,则无法再对数据进行管理的弊端,通过身份认证和数据加密的方法,在大数据环境下保护用户隐私,具体来说是通过区块链技术将用户与服务器之间的交互通过基于策略的混合身份认证进行保护。该方法适用于用户和服务商之间的数据交互环节形成身份识别并利于数据在公开的区块链网络上存储和发布。
本发明的目的是通过如下技术方案来完成的。这种基于策略的混合身份认证方法,终端用户(u)和服务器(s)之间的通信通过混合身份来进行标识,在将终端用户(u)和服务器(s)之间的对称秘钥和公开秘钥进行交互;并且将用户策略作为参数放入到服务器对用户数据访问的行为中,将用户设定的数据访问策略通过默克尔树的方式在区块链网络上进行加密存储,终端用户(u)和服务器(s)之间的信息交互通过策略以及相互协商的秘钥来进行访问控制。
该方法包括以下步骤:
步骤1:终端用户(u)通过加密信道向服务器(s)注册,终端用户(u)生成非对称秘钥对(pku,s,sku,s)以及对称秘钥ku,s,其中上标u,s表示该秘钥为终端用户(u)所有,且发生的加密通信为终端用户(u)向服务器(s)传递信息的专有秘钥;终端用户(u)向服务器(s)发送公钥pku,s和对称秘钥ku,s;服务器(s)生成非对称秘钥对(pks,u,sks,u),并向终端用户(u)发送公钥pks,u,则终端用户(u)与服务器(s)均拥有秘钥pku,s,pks,u,ku,s
步骤2:终端用户(u)向服务器(s)注册应用,终端用户(u)给出服务器(s)访问终端用户(u)数据的访问策略集合POLICYu,s={xn,n∈N},其中xn为某种访问策略的描述;
步骤3:终端用户(u)和服务器(s)利用各自的公钥以及约定的区块链网络形成交易数字地址A(p),其中A表示形成地址的算法,输入为公钥p,该地址在此区块链网络上具有唯一性;即终端用户(u)在与服务器(s)的数字交易地址为A(pku,s),而服务器(s)的数字交易地址为A(pks,u);
步骤4:构造策略默克尔树,其方法为:
1)使用hash函数对每一个策略进行hash运算,获得形如Hn=hash(xn)或hash值;其中hash函数hash()采用SHA-1、SHA-256、SHA-512、Whirlpool、RIPEMD-160算法,为了与区块链技术取得统一,推荐使用SHA-256算法。
2)若策略总数为N,再计算HN+1=hash(H1+H2),HN+2=hash(H3+H4),……;
3)按照以上方法逐层计算hash值,最后形成默克尔跟HRoot;
步骤5:打包一个区块链网络上的标准交易信息,将以上获得的默克尔根HRoot嵌入到标准消息中;此时,交易的发起方和接收方均为A(pku,s),以保证需要的时候将该认证信息发送给其他用户。在此过程中要保证消息的合法性既不能违背标准消息格式,也要保证该交易的有效性。因此需要加上对区块链网络奖励的代币(在此区块链上产生、流通的货币),例如,在已经成熟的比特币网络中,有一种标准的交易格式,该交易消息的输出部分操作码是OP_RETURN,作为打包该笔交易的矿工的奖励;若该笔交易没有被成功打包且过了存在的有效时间,则重新构造该交易信息,加大交易奖励,即加大给矿工的费用,来获得更大的被打包到区块的机会。
本发明的有益效果为:依据上述方法可以在将终端用户(u)和服务器(s)之间的对称秘钥和公开秘钥进行交互,并且将用户设定的数据访问策略通过默克尔树的方式在区块链网络上进行加密存储,终端用户(u)和服务器(s)之间的信息交互通过策略以及相互协商的秘钥来进行访问控制。
附图说明
图1是验证身份的流程图。
图2是形成默克尔树的示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落后于本申请所附权利要求所限定的范围。
在本发明实施例中,本发明应用区块链技术提供了一种基于策略的混合身份认证方法。
1、用户注册,交换秘钥:
步骤1:终端用户(u)通过加密信道向服务器(s)注册,终端用户(u)生成非对称秘钥对(pku,s,sku,s)以及对称秘钥ku,s,其中上标u,s表示该秘钥为终端用户(u)所有,且发生的加密通信为终端用户(u)向服务器(s)传递信息的专有秘钥。终端用户(u)向服务器(s)发送公钥pku,s和对称秘钥ku,s。服务器(s)生成非对称秘钥对(pks,u,sks,u),并向终端用户(u)发送公钥pks,u。则终端用户(u)与服务器(s)均拥有秘钥pku,s,pks,u,ku,s
步骤2:终端用户(u)向服务器(s)注册应用,终端用户(u)给出服务器(s)访问终端用户(u)数据的访问策略集合POLICYu,s={xn,∈N},其中xn为某种访问策略的描述。
步骤3:终端用户(u)和服务器(s)利用各自的公钥以及约定的区块链网络形成交易数字地址A),其中A表示形成地址的算法,输入为公钥p,该地址在此区块链网络上具有唯一性。即终端用户(u)在与服务器(s)的数字交易地址为A(pku,s),而服务器(s)的数字交易地址为A(pks,u)。
步骤4:构造策略默克尔树。其方法如图2所示:
使用hash函数对每一个策略进行hash运算,获得形如Hn=hash(xn)或hash值,其中Hash函数hash()可以采用SHA-1、SHA-256、SHA-512、Whirlpool、RIPEMD-160等算法,为了与区块链技术取得统一,推荐使用SHA-256算法。
若策略总数为N,再计算HN+1=hash(H1+H2),HN+2=hash(H3+H4),……
按照以上方法逐层计算hash值,最后形成默克尔跟HRoot。
步骤5:打包一个区块链网络上的标准交易信息,将以上获得的默克尔根HRoot嵌入到标准消息中。此时,交易的发起方和接收方均为A(pku,s),以保证需要的时候可以将该认证信息发送给其他用户。在此过程中要保证消息的合法性既不能违背标准消息格式,也要保证该交易的有效性。因此需要加上对区块链网络奖励的代币(在此区块链上产生、流通的货币),例如,在已经成熟的比特币网络中,有一种标准的交易格式,该交易消息的输出部分操作码是OP_RETURN,作为打包该笔交易的矿工的奖励;若该笔交易没有被成功打包且过了存在的有效时间,则重新构造该交易信息,加大交易奖励,即加大给矿工的费用,来获得更大的被打包到区块的机会。
当以上步骤完成后,策略作为默克尔树存放在区块链网络中。
2、基于策略的身份验证:
本例提供三种方式进行基于策略的身份验证。如图1所示。
第一种方式:由终端用户(u)发起的身份验证,由于所有用户数据都由终端用户产生,则仅需要验证终端用户(u)提供的公钥是否为已经生成的公钥,即判断pk′=pku,s是否成立即可。需要注意的是,当pk′=pku,s成立时,此时向服务器(s)发送数据可能产生新的地址、网络等规则的变化,此时,将新产生的规则xp加入到策略集合中,即POLICYu,s={xn,n∈N}∪xp,并且重复上述步骤4和步骤5。当pk′=pku,s不成立时,则不能通过验证。若需要发起新的注册需求,则需重复上述步骤1-5。
第二种方式:由服务器(s)向终端用户(u)发起身份验证,首先验证pk′=pks,u是否成立,若成立,则需继续查看服务器(s)提供的策略xp∈POLICYu,s是否成立,若成立,则通过验证;否则都不能通过身份验证。
第三种方式:由其他服务(s’)向数据存储方(可以是终端用户(u)也可以是服务器(s))发起身份验证,此时,数字化交易地址A’与A(pku,s)及A(pks,u)均不同。首先判断pk′=pku,s是否成立,若成立,则计算Hp=hash(xp),并根据Hp查找步骤4生成的默克尔树,若该Hp是该默克尔树的某叶子节点,则认为是终端用户(u)授权其他服务(s’)发起的验证,通过验证。否则,不能通过验证。
可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。

Claims (3)

1.一种基于策略的混合身份认证方法,其特征在于:终端用户(u)和服务器(s)之间的通信通过混合身份来进行标识,在将终端用户(u)和服务器(s)之间的对称密钥和公开密钥进行交互;并且将用户策略作为参数放入到服务器对用户数据访问的行为中,将用户设定的数据访问策略通过默克尔树的方式在区块链网络上进行加密存储,终端用户(u)和服务器(s)之间的信息交互通过策略以及相互协商的密钥来进行访问控制;
其中,终端用户(u)和服务器(s)之间的通信通过混合身份来进行标识,在将终端用户(u)和服务器(s)之间的对称密钥和公开密钥进行交互;并且将用户策略作为参数放入到服务器对用户数据访问的行为中,将用户设定的数据访问策略通过默克尔树的方式在区块链网络上进行加密存储包括以下步骤:
步骤1:终端用户(u)通过加密信道向服务器(s)注册,终端用户(u)生成非对称密钥对(pku,s,sku,s)以及对称密钥ku,s,其中上标u,s表示该密钥为终端用户(u)所有,且发生的加密通信为终端用户(u)向服务器(s)传递信息的专有密钥;终端用户(u)向服务器(s)发送公钥pku,s和对称密钥ku,s;服务器(s)生成非对称密钥对(pks,u,sks,u),并向终端用户(u)发送公钥pks,u,则终端用户(u)与服务器(s)均拥有密钥pku,s,pks,u,ku,s
步骤2:终端用户(u)向服务器(s)注册应用,终端用户(u)给出服务器(s)访问终端用户(u)数据的访问策略集合POLICYu,s={xn,n∈N},其中xn为某种访问策略的描述;
步骤3:终端用户(u)和服务器(s)利用各自的公钥以及约定的区块链网络形成交易数字地址A(p),其中A表示形成地址的算法,输入为公钥p,该地址在此区块链网络上具有唯一性;即终端用户(u)在与服务器(s)的数字交易地址为A(pku,s),而服务器(s)的数字交易地址为A(pks,u);
步骤4:构造策略默克尔树,其方法为:
1)使用hash函数对每一个策略进行hash运算,获得形如Hn=hash(xn)或hash值;
2)若策略总数为N,再计算HN+1=hash(H1+H2),HN+2=hash(H3+H4);
3)按照以上方法逐层计算hash值,最后形成默克尔根HRoot;
步骤5:打包一个区块链网络上的标准交易信息,将以上获得的默克尔根HRoot嵌入到标准消息中;此时,交易的发起方和接收方均为A(pku,s),以保证需要的时候将该认证信息发送给其他用户;
其中,终端用户(u)和服务器(s)之间的信息交互通过策略以及相互协商的密钥来进行访问控制包括:
1)由终端用户(u)发起的身份验证,验证pku,s是否为已经生成的公钥;当pku,s为已经生成的公钥时,将新产生的规则xp加入到策略集合中,即POLICYu,s={xn,n∈N}∪xp,并且重复上述步骤4和步骤5;当pku,s不是已经生成的公钥时,则不能通过验证;若需要发起新的注册需求,则重复上述步骤1至步骤5;
2)由服务器(s)向终端用户(u)发起身份验证,验证pks,u是否为已经生成的公钥;当pks ,u为已经生成的公钥时,则需继续查看服务器(s)提供的策略xp∈POLICYu,s是否成立,若成立,则通过验证;否则都不能通过身份验证;
3)由其他服务(s’)向数据存储方发起身份验证,此时,数字化交易地址A’与A(pku,s)及A(pks,u)均不同;验证pku,s是否为已经生成的公钥;当pku,s为已经生成的公钥时,则计算Hp=hash(xp),并根据Hp查找步骤4生成的默克尔树,若该Hp是该默克尔树的某叶子节点,则认为是终端用户(u)授权其他服务(s’)发起的验证,通过验证;否则都不能通过验证,其中,所述数据存储方包括终端用户(u)和服务器(s)。
2.根据权利要求1所述的基于策略的混合身份认证方法,其特征在于:在步骤4中,hash函数hash()采用SHA-1、SHA-256、SHA-512、Whirlpool、RIPEMD-160算法。
3.根据权利要求1所述的基于策略的混合身份认证方法,其特征在于:在步骤5中,要保证消息的合法性既不能违背标准消息格式,也要保证该交易的有效性,需要加上对区块链网络奖励的代币。
CN201810326878.2A 2018-04-12 2018-04-12 一种基于策略的混合身份认证方法 Active CN108712380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810326878.2A CN108712380B (zh) 2018-04-12 2018-04-12 一种基于策略的混合身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810326878.2A CN108712380B (zh) 2018-04-12 2018-04-12 一种基于策略的混合身份认证方法

Publications (2)

Publication Number Publication Date
CN108712380A CN108712380A (zh) 2018-10-26
CN108712380B true CN108712380B (zh) 2021-01-19

Family

ID=63866749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810326878.2A Active CN108712380B (zh) 2018-04-12 2018-04-12 一种基于策略的混合身份认证方法

Country Status (1)

Country Link
CN (1) CN108712380B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132620A1 (en) * 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
CN106503994B (zh) * 2016-11-02 2020-07-28 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
CN106936566B (zh) * 2017-03-09 2020-03-31 江苏省南京市南京公证处 一种基于区块链技术的可外包的文书签署方法
CN107103252A (zh) * 2017-04-27 2017-08-29 电子科技大学 基于区块链的数据访问控制方法
CN107682308B (zh) * 2017-08-16 2019-12-13 北京航空航天大学 基于区块链潜信道技术的电子证据保存系统
CN107682331B (zh) * 2017-09-28 2020-05-12 复旦大学 基于区块链的物联网身份认证方法

Also Published As

Publication number Publication date
CN108712380A (zh) 2018-10-26

Similar Documents

Publication Publication Date Title
Cruz et al. RBAC-SC: Role-based access control using smart contract
US10673626B2 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CN108737374B (zh) 一种区块链中数据存储的隐私保护方法
CN110147994B (zh) 一种基于同态加密的区块链的即时执行方法
WO2021114819A1 (zh) 生成和执行智能合约交易的方法及装置
CN115699000A (zh) 通过计算机网络进行安全的多边数据交换的方法、装置和计算机可读介质
CN109040045A (zh) 一种基于密文策略属性基加密的云存储访问控制方法
WO2018170341A1 (en) Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication
CN109450843B (zh) 一种基于区块链的ssl证书管理方法及系统
CN114172735A (zh) 基于智能合约的双链混合式区块链数据共享方法及系统
KR20200066258A (ko) 정보 보호를 위한 시스템 및 방법
AU2017223133A1 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US20140281491A1 (en) Identity escrow management for minimal disclosure credentials
KR20210040078A (ko) 안전한 보관 서비스를 위한 시스템 및 방법
Zhou et al. EverSSDI: blockchain-based framework for verification, authorisation and recovery of self-sovereign identity using smart contracts
CN115296838B (zh) 基于区块链的数据共享方法、系统及存储介质
CN108777673B (zh) 一种在区块链中进行双向身份认证方法
Hussein et al. A survey of cryptography cloud storage techniques
Shen et al. SecDM: Securing data migration between cloud storage systems
Guo et al. Using blockchain to control access to cloud data
Hong et al. Service outsourcing in F2C architecture with attribute-based anonymous access control and bounded service number
Smith et al. Identity system essentials
Riad et al. A blockchain-based key-revocation access control for open banking
Borse et al. Anonymity: A secure identity management using smart contracts
CN116436708A (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 policy based hybrid identity authentication method

Effective date of registration: 20210624

Granted publication date: 20210119

Pledgee: Industrial and Commercial Bank of China Limited Hangzhou Qianjiang Branch

Pledgor: SUNWAVE COMMUNICATIONS Co.,Ltd.

Registration number: Y2021330000641

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