CN104917604A - 一种密钥分配方法 - Google Patents

一种密钥分配方法 Download PDF

Info

Publication number
CN104917604A
CN104917604A CN201410090645.9A CN201410090645A CN104917604A CN 104917604 A CN104917604 A CN 104917604A CN 201410090645 A CN201410090645 A CN 201410090645A CN 104917604 A CN104917604 A CN 104917604A
Authority
CN
China
Prior art keywords
session
key
user
value
key distribution
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
CN201410090645.9A
Other languages
English (en)
Other versions
CN104917604B (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.)
Beijing Xinwei Telecom Technology Inc
Original Assignee
Beijing Xinwei Telecom Technology Inc
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 Beijing Xinwei Telecom Technology Inc filed Critical Beijing Xinwei Telecom Technology Inc
Priority to CN201410090645.9A priority Critical patent/CN104917604B/zh
Publication of CN104917604A publication Critical patent/CN104917604A/zh
Application granted granted Critical
Publication of CN104917604B publication Critical patent/CN104917604B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提出一种密钥分配方法,包括:a,密钥分配中心KDC和每个用户之间共享一个秘密值对;b,用户发出会话密钥分配请求;c,KDC随机产生会话密钥,获取所有与会话相关的t个用户的秘密值对,将特定数值与会话密钥组成的数值对和获取的t个秘密值对作为函数点,构造一个唯一的多项式函数,计算出多项式函数上与t个秘密值对不同的t个附加点,发送特定数值和t个附加点给所有与会话相关的用户;d,与会话相关的用户根据自身秘密值对和t个附加点恢复出多项式函数,根据多项式函数和特定数值计算出会话密钥。本发明计算量小,只需一次申请即可同时为多个用户分配密钥,且能为离线用户进行密钥分配。

Description

一种密钥分配方法
技术领域
本发明涉及无线通信领域,尤其涉及一种密钥分配方法。
背景技术
通信和互联网技术发展至今,安全问题已日益突出。当通信实体间需要进行保密通信时,密钥必不可少,密钥管理已经成为保密通信的关键技术之一。
在小型网络中,通常采用每对用户共享一个密钥的方法。当通信实体间需要进行保密通信时,直接采用预先共享的密钥。采用这种方法虽然比较简单,但在大型网络中却不可行。一个具有N个用户的网络,为了在任意两个用户之间实现保密通信,需要生成和分配N(N-1)/2个密钥,随着系统规模的增大,密钥管理的复杂性急剧增加。例如当N=1000时,就需要产生并分配约50万个密钥,而每个用户都需要保存这50万个密钥。
为了降低密钥管理的复杂性,在大型网络中,通常采用中心化的管理方式,由一个可信赖的服务器作为密钥分配中心KDC(Key Distribution Center)或密钥传输中心KTC(Key Transportation Center)来实现。通信实体间在进行保密通信前,有一个密钥分配过程。图1-3给出了现有常见的几种基本模式,其中k是第一实体A和第二实体B之间的通信会话密钥。
图1中密钥分配方法步骤顺序为:①第一实体A和第二实体B分别向密钥分配中心申请通信会话密钥。A产生一对临时公私钥对a和pa,向密钥分配中心发送密钥申请,该消息中携带pa。②密钥分配中心收到申请后,产生会话密钥k,用pa加密后发送给A。A收到密钥分配中心的响应后,使用临时私钥a解密得到k。同时B也产生一对临时公私钥对b和pb,执行类似的过程得到k。
图2中第二实体B与密钥分配中心之间没有直接的连接,密钥分配方法步骤顺序为:①A产生一对临时公私钥对a和pa,向密钥分配中心发送密钥申请,该消息中携带pa。同时B也产生一对临时公私钥对b和pb,并通过A向密钥分配中心发送密钥申请,该消息中携带pb。②密钥分配中心收到A的申请后,产生会话密钥k,用pa加密后发送给A。A收到密钥分配中心的响应后,使用临时私钥a解密得到k。③密钥分配中心收到A转发的B的申请后,用pb加密k发送给A。④A再转发给B,B收到后使用临时私钥b解密得到k。
图3中,第二实体B与密钥分配中心之间没有直接的连接,密钥分配方法步骤顺序为:①A产生一对临时公私钥对a和pa,向密钥分配中心发送密钥申请,该消息中携带pa。②同时B也产生一对临时公私钥对b和pb,并通过A向密钥分配中心发送密钥申请,该消息中携带pb。③密钥分配中心产生会话密钥k,使用pa和pb加密后发送给A。A收到密钥分配中心的响应后,使用临时私钥a解密属于A的密文得到k。④A同时将属于B的密文转发给B,B收到密文后使用临时私钥b解密得到k。
上述常见的几种基本模式由于有密钥分配中心的参与,可以确保每对实体间保密通信密钥的新鲜性,但存在以下几点不足:(1)各用户每次申请密钥时都需要产生一对临时公私钥,并且需要使用临时私钥进行解密操作。对于KDC而言,如果有N个用户申请密钥,则需要进行N次的公钥加密操作。相对于对称密码算法,公钥密码算法加解密的速度是很慢的。(2)用于集群通信时,虽然能够通过扩展同时为多个用户分配同一会话密钥,但会话密钥实际上是多次分别发送给各个用户的,缺乏灵活性,而且KDC必须保存会话密钥才能在新用户动态加入会话时为其分配密钥。(3)必须要求参与通信的所有实体都处于在线状态,对于需要离线加密发送的应用场景无能为力。(4)KDC没有掌握任何密钥申请者的信息,任何人都能成功申请到会话密钥,存在安全隐患。
发明内容
为了解决现有密钥分配方法的缺陷,发明提出了一种基于秘密值的密钥分配方法,该方法包括以下步骤:
a,密钥分配中心和每个用户之间共享一个秘密值对;
b,某一用户发出会话密钥分配请求;
c,密钥分配中心随机产生一个会话密钥,并获取到所有与会话相关的用户的秘密值对,然后将特定数值与会话密钥组成的数值对以及获取到的t个秘密值对作为函数点,构造一个唯一的多项式函数,并计算出该多项式函数上与所述t个秘密值对不同的t个附加点,最后将所述特定数值和t个附加点发送给所有与会话相关的用户,其中t为所有与会话相关的用户的数目;
d,各个与会话相关的用户分别根据自己的秘密值对和接收到的t个附加点恢复出所述多项式函数,然后根据恢复出的多项式函数和接收到的特定数值,计算得到会话密钥。
优选的,步骤c中,密钥分配中心还根据会话密钥和所有与会话相关的用户的身份标识计算一个认证值,并发送所有与会话相关的用户;步骤d中,各个与会话相关的用户还根据自己计算得到的会话密钥以及所有与会话相关的用户的身份标识,采用与步骤c相同的计算方法得出一个认证值,并与接收到的认证值比较,如果相同,则用户通过对会话密钥的和其他用户的认证。
优选的,步骤a中,每个用户注册时,密钥分配中心和该用户之间共享一个秘密值对。
优选的,步骤c中,密钥分配中心通过广播或者组播将所述特定数值和t个附加点发送给与会话相关的用户。
优选的,步骤c中,所述特定数值为0。
优选的,步骤c中,密钥分配中心还生成一个随机数,采用随机数对所述t个秘密值对进行加密,将特定数值与会话密钥组成的数值对以及加密后的t个秘密值对作为函数点,构造所述多项式函数,并根据会话密钥、随机数和所有与会话相关的用户的身份标识计算所述认证值,最后还将随机数也发送给所有与会话相关的用户;步骤d中,各个与会话相关的用户采用接收到的随机数对自己的秘密值对进行所述加密,根据加密后的自己的秘密值对和接收到的t个附加点恢复出所述多项式函数,各个与会话相关的用户还根据自己计算得到的会话密钥以及所有与会话相关的用户的身份标识和接收到的随机数,采用与步骤c相同的计算方法得出一个认证值。进一步的,所述加密为采用随机数对秘密值对中的某一列元素进行异或运算。
优选的,步骤c中,密钥分配中心采用拉格郎日插值定理构造所述多项式函数;步骤d中,各个与会话相关的用户采用拉格郎日插值定理恢复所述多项式函数。
本发明提供一种基于秘密值共享的密钥分配方法,其优点在于:(1)可避免采用公钥加密算法的复杂计算,计算量小。(2)只需一次申请,即可同时为多个用户分配密钥,可采用组播的形式发送,效率更高。(3)KDC不必保存会话密钥,提高了安全性。(4)即使参与会话的用户离线,也能为其进行密钥分配。(5)能进行密钥和用户认证,所分配的密钥只能被合法的用户得到,安全性更强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是背景技术中传统密钥分配方法一的步骤顺序示意图;
图2是背景技术中传统密钥分配方法二的步骤顺序示意图;
图3是背景技术中传统密钥分配方法三的步骤顺序示意图;
图4是本发明实施例中密钥分配方法的总体流程示意图;
图5是本发明实施例中密钥分配方法的在线用户的步骤顺序示意图;
图6是本发明实施例中密钥分配方法的离线用户的步骤顺序示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例假设有多个用户Ut之间需要进行保密组呼通信,其中,i=1,2,3,...t,,用户U1和用户U2为上线状态,用户u3为离线状态。具体密钥分配流程如图4所示,详细步骤描述如下:
(1)每个用户事先需要向KDC注册并订阅密钥分配服务,KDC维护用户的注册信息并且移除未订阅密钥分配服务的用户,通过注册,KDC和用户Ut之间共享了一对秘密值(xi,yi);
(2)用户U1向KDC发出会话密钥分配请求,携带了其希望进行保密通信的用户集合{U2,...,Ut},t≥2 ;
(3)KDC收到用户U1密钥分配请求,确定相关用户集合为{U1,U2,...,Ut}t≥2,并获取到和相关用户共享的秘密值对{(x1,y1),(x2,y2),...(xt,yt)}。KDC随机地选择一个会话密钥k和一个随机数R。KDC采用随机数对t个秘密值对进行加密,本实施例的加密方法为使用随机数R对yi进行异或运算,得到 { ( x 1 , y 1 ⊕ R ) , ( x 2 , y 2 ⊕ R ) , . . . ( x t , y t ⊕ R ) } 共t个加密后的秘密值对。KDC通过选择不同的随机数R,对于相同的k能产生不同的f(x),从而可以进一步隐藏会话密钥k的信息。KDC将t个加密后的秘密值对和(0,k)作为函数点,用拉格郎日插值定理构造出一个唯一的t次多项式函数f(x),然后计算出f(x)上其它的t个和{(x1,y1),(x2,y),...(xt,yt)}中任意一个都不同的附加点Pi,i=1,2,...t。 在实际应用时(0,k)这个点也可以替换为其它特定数值m与k组成的数值对,本实施例特定数值m之所以采用0有两个好处,一是计算量小,二是用户恢复出f(x)以后,会话密钥k直接取常数项就可以了。KDC还根据k和这t个用户的身份标识、R计算一个认证值Auth=h(U1,U2...Ut,R,k),这里h是一个单向hash函数。
(4)KDC将相关参数{Auth,Pi,R,m=0,i=1,2,...t}发送给相关用户{U1,U2,...,Ut},t≥2 ,所有KDC和相关用户间的消息都可以在广播信道上公开传输。
其中,对于U1、U2等在线用户,本实施例的步骤顺序如图5所示,具体为:①U1向KDC发送密钥申请消息。②KDC将计算出的各个用户的相关参数通过广播或组播的方式分别发送给U1、U2在线用户,U1收到密钥分配中心发送的自身的相关参数后计算会话密钥,同理,U2收到密钥分配中心发送的自身的相关参数后计算会话密钥。在实际应用中,也可以将U1、U2相关参数全都发送给U1,由U1将U2相关参数转发给U2
对于U等离线用户,本实施例的步骤顺序如图6所示,具体为:①U1向KDC发送密钥申请消息。②KDC将计算出的U1、U3的相关参数一起发送给U1。③U1收到密钥分配中心发送的自身的相关参数后计算会话密钥,并将U3的相关参数离线转发给U3。U3上线后,收到U1转发的相关参数后计算会话密钥。本领域技术人员可以理解,KDC也可以将U3等离线用户的相关参数发送给其他在线用户,由其他在线用户转发给U3等离线用户。
(5)相关用户Ut,i=1,2,3,...t,收到KDC发送的消息后,获得相关参数,根据R得到自身的加密秘密值对然后根据和t个附加点Pt,i=1,2,...t,采用拉格朗日插值定理可以很快地恢复出f(x),会话密钥k=f(0)。最后Ut计算h(U1,U,...Ut,Rk),并将得到的hash值和接收到的Auth值进行比较,如果两值相等,那么Ut可以确认该密钥是由KDC分发的,并且同时也确认了采用该会话密钥进行保密通信的所有相关用户的身份。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种密钥分配方法,其特征在于,所述方法包括以下步骤:
a,密钥分配中心和每个用户之间共享一个秘密值对;
b,某一用户发出会话密钥分配请求;
c,密钥分配中心随机产生一个会话密钥,并获取到所有与会话相关的用户的秘密值对,然后将特定数值与会话密钥组成的数值对以及获取到的t个秘密值对作为函数点,构造一个唯一的多项式函数,并计算出该多项式函数上与所述t个秘密值对不同的t个附加点,最后将所述特定数值和t个附加点发送给所有与会话相关的用户,其中t为所有与会话相关的用户的数目;
d,各个与会话相关的用户分别根据自己的秘密值对和接收到的t个附加点恢复出所述多项式函数,然后根据恢复出的多项式函数和接收到的特定数值,计算得到会话密钥。
2.根据权利要求1所述的方法,其特征在于:
步骤c中,密钥分配中心还根据会话密钥和所有与会话相关的用户的身份标识计算一个认证值,并发送所有与会话相关的用户;
步骤d中,各个与会话相关的用户还根据自己计算得到的会话密钥以及所有与会话相关的用户的身份标识,采用与步骤c相同的计算方法得出一个认证值,并与接收到的认证值比较,如果相同,则用户通过对会话密钥和其他用户的认证。
3.根据权利要求1或2所述的方法,其特征在于步骤a,每个用户注册时,密钥分配中心和该用户之间共享一个秘密值对。
4.根据权利要求1或2所述的方法,其特征在于步骤c,密钥分配中心通过广播或者组播将所述特定数值和t个附加点发送给与会话相关的用户。
5.根据权利要求1或2所述的方法,其特征在于步骤c,所述特定数值为0。
6.根据权利要求1或2所述的方法,其特征在于:
步骤c中,密钥分配中心还生成一个随机数,采用随机数对所述t个秘密值对进行加密,将特定数值与会话密钥组成的数值对以及加密后的t个秘密值对作为函数点,构造所述多项式函数,并根据会话密钥、随机数和所有与会话相关的用户的身份标识计算所述认证值,最后还将随机数也发送给所有与会话相关的用户;
步骤d中,各个与会话相关的用户采用接收到的随机数对自己的秘密值对进行所述加密,根据加密后的自己的秘密值对和接收到的t个附加点恢复出所述多项式函数,各个与会话相关的用户还根据自己计算得到的会话密钥以及所有与会话相关的用户的身份标识和接收到的随机数,采用与步骤c相同的计算方法得出一个认证值。
7.根据权利要求6所述的方法,其特征在于:所述加密为采用随机数对秘密值对中的某一列元素进行异或运算。
8.根据权利要求7所述的方法,其特征在于:步骤c中,密钥分配中心采用拉格郎日插值定理构造所述多项式函数;步骤d中,各个与会话相关的用户采用拉格郎日插值定理恢复所述多项式函数。
CN201410090645.9A 2014-03-12 2014-03-12 一种密钥分配方法 Expired - Fee Related CN104917604B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410090645.9A CN104917604B (zh) 2014-03-12 2014-03-12 一种密钥分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410090645.9A CN104917604B (zh) 2014-03-12 2014-03-12 一种密钥分配方法

Publications (2)

Publication Number Publication Date
CN104917604A true CN104917604A (zh) 2015-09-16
CN104917604B CN104917604B (zh) 2018-05-11

Family

ID=54086337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410090645.9A Expired - Fee Related CN104917604B (zh) 2014-03-12 2014-03-12 一种密钥分配方法

Country Status (1)

Country Link
CN (1) CN104917604B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154921A (zh) * 2016-03-03 2017-09-12 阿里巴巴集团控股有限公司 共管账户的授权方法和装置、共管账户的认证方法和装置
CN109194476A (zh) * 2018-09-28 2019-01-11 中国科学技术大学 安全高效的线上线下组密钥分发方法
CN110502918A (zh) * 2019-07-09 2019-11-26 杭州电子科技大学 一种基于分级安全加密的电子文件访问控制方法和系统
CN111107038A (zh) * 2018-10-25 2020-05-05 山东量子科学技术研究院有限公司 加密方法、解密方法及装置
CN111404673A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 一种量子密钥分发的方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601957A (zh) * 2003-09-22 2005-03-30 华为技术有限公司 一种进行组密钥分发的方法
US7395549B1 (en) * 2000-10-17 2008-07-01 Sun Microsystems, Inc. Method and apparatus for providing a key distribution center without storing long-term server secrets
CN101888382A (zh) * 2010-07-08 2010-11-17 西北工业大学 组播会话密钥分发方法
CN101977198A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 域间认证及密钥协商方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395549B1 (en) * 2000-10-17 2008-07-01 Sun Microsystems, Inc. Method and apparatus for providing a key distribution center without storing long-term server secrets
CN1601957A (zh) * 2003-09-22 2005-03-30 华为技术有限公司 一种进行组密钥分发的方法
CN101888382A (zh) * 2010-07-08 2010-11-17 西北工业大学 组播会话密钥分发方法
CN101977198A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 域间认证及密钥协商方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周杰: "基于拉格朗日插值多项式的层次式组密钥分发方案", 《厦门大学学报(自然科学版)》 *
张斌: "基于拉格朗日多项式插值法的密钥产生方案", 《小型微型计算机处理》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154921A (zh) * 2016-03-03 2017-09-12 阿里巴巴集团控股有限公司 共管账户的授权方法和装置、共管账户的认证方法和装置
US10650135B2 (en) 2016-03-03 2020-05-12 Alibaba Group Holding Limited Authorization method and device for joint account, and authentication method and device for joint account
CN109194476A (zh) * 2018-09-28 2019-01-11 中国科学技术大学 安全高效的线上线下组密钥分发方法
CN109194476B (zh) * 2018-09-28 2020-08-25 中国科学技术大学 安全高效的线上线下组密钥分发方法
CN111107038A (zh) * 2018-10-25 2020-05-05 山东量子科学技术研究院有限公司 加密方法、解密方法及装置
CN111107038B (zh) * 2018-10-25 2022-07-29 山东量子科学技术研究院有限公司 加密方法、解密方法及装置
CN111404673A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 一种量子密钥分发的方法和设备
CN111404673B (zh) * 2019-01-02 2023-05-09 中国移动通信有限公司研究院 一种量子密钥分发的方法和设备
CN110502918A (zh) * 2019-07-09 2019-11-26 杭州电子科技大学 一种基于分级安全加密的电子文件访问控制方法和系统

Also Published As

Publication number Publication date
CN104917604B (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
CN104113408B (zh) 一种实现及时用户属性撤销的基于密文策略属性加密方法
CN108510270B (zh) 一种量子安全的移动转账方法
WO2017109584A3 (en) Computer-implemented cryptographic method for improving a computer network, and terminal, system and computer-readable medium for the same
JP6125523B2 (ja) グループメンバーによるグループシークレットの単純化された管理
CN102333308A (zh) 一种基于位置信息的加密认证方法
CN108183791B (zh) 应用于云环境下的智能终端数据安全处理方法及系统
EP2754259B1 (en) Management of group secrets by group members
CN104917604A (zh) 一种密钥分配方法
CN108847928B (zh) 基于群组型量子密钥卡实现信息加解密传输的通信系统和通信方法
EP2745461B1 (en) Management of group secrets by group members
Hsu et al. A novel group key transfer for big data security
CN109274492B (zh) 自安全的紧耦合秘密共享方法
CN113239403A (zh) 一种数据共享方法及装置
CN110635912B (zh) 数据处理方法及装置
CN114362928B (zh) 一种用于多节点间加密的量子密钥分发与重构方法
GB2604323A (en) System and method for group key formation
CA3204279A1 (en) System and method for key establishment
GB2620579A (en) Systems and methods for encrypted gossip communication
CN104202317A (zh) 云平台数据管理的方法和系统
CN103997405A (zh) 一种密钥生成方法及装置
CN112995215A (zh) 解密系统、方法、装置、电子设备及存储介质
CN103384233B (zh) 一种代理转换的方法、装置和系统
CN100588153C (zh) 一种多播数据加密传输的方法
CN106452736B (zh) 密钥协商方法和系统
KR102401460B1 (ko) 키 배송 시스템 및 방법, 키 생성 장치, 대표 유저 단말, 서버 장치, 유저 단말 및 프로그램

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PP01 Preservation of patent right

Effective date of registration: 20191121

Granted publication date: 20180511

PP01 Preservation of patent right
PD01 Discharge of preservation of patent

Date of cancellation: 20200710

Granted publication date: 20180511

PD01 Discharge of preservation of patent
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180511

Termination date: 20200312

CF01 Termination of patent right due to non-payment of annual fee