一种主控密钥的管理方法和系统转让专利

申请号 : CN200610114517.9

文献号 : CN1976276B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆舟于华章

申请人 : 飞天诚信科技股份有限公司

摘要 :

本发明提供了一种主控密钥的管理方法和系统,属于信息安全技术领域。为了达到安全恢复出主控密钥的目的,本发明提供了一种主控密钥的管理方法,包括生成主控密钥;根据子密钥持有者输入的个人信息,对所述主控密钥进行运算生成子密钥和子密钥认证密钥,将所述子密钥和子密钥认证密钥分发给所述子密钥持有者;在需要恢复出主控密钥时,由一定数量的子密钥持有者共同恢复出主控密钥。本发明还提供了一种主控密钥的管理系统,包括密钥生成模块、密钥分配模块和主控密钥恢复模块。采用本发明的提供技术比较安全,同时,可以在主控密钥丢失的情况下安全地恢复出主控密钥,方便用户使用,节省人力、物力和智能密钥装置的维护成本。

权利要求 :

1.一种主控密钥的管理方法,其特征在于,所述方法包括以下步骤:步骤A:主控密钥管理系统生成主控密钥;

步骤B:所述主控密钥管理系统根据子密钥持有者输入的个人信息,对所述主控密钥进行运算生成子密钥和子密钥认证密钥;

步骤C:所述主控密钥管理系统将生成的子密钥和子密钥认证密钥保存到授权智能密钥装置内,存有子密钥及子密钥认证密钥的授权智能密钥装置分发给子密钥持有者;

步骤D:子密钥持有者输入所述个人信息,同时提供子密钥和子密钥认证密钥;

步骤E:验证所述子密钥持有者的身份是否合法,验证通过后,用所述个人信息结合算法,生成子密钥辅助信息;

步骤F:当合法子密钥持有者输入的正确个人信息的个数达到预定数量后,根据所述密钥辅助信息和所述子密钥恢复出主控密钥。

2.如权利要求1所述的主控密钥的管理方法,其特征在于,所述步骤A中的主控密钥是随机生成的。

3.如权利要求1或2所述的主控密钥的管理方法,其特征在于,所述步骤A具体为:主控密钥管理系统生成主控密钥,然后将所述主控密钥存入主控智能密钥装置内。

4.如权利要求1所述的主控密钥的管理方法,其特征在于,所述子密钥认证密钥是通过对所述子密钥进行数字签名得到的。

5.如权利要求1所述的主控密钥的管理方法,其特征在于,所述运算使用的算法包括RSA算法、椭圆曲线算法或Hash算法。

6.如权利要求1所述的主控密钥的管理方法,其特征在于,所述步骤E中的验证所述子密钥持有者的身份是否合法的步骤具体为:主控密钥管理系统利用所述子密钥持有者提供的子密钥认证密钥并结合算法,验证所述子密钥是否为合法子密钥;通过判断所述子密钥是否为合法子密钥,判断所述子密钥持有者的身份是否合法。

7.如权利要求1或6所述的主控密钥的管理方法,其特征在于,所述算法包括RSA算法或椭圆曲线算法。

8.如权利要求1所述的主控密钥的管理方法,其特征在于,所述步骤E中的验证所述子密钥持有者的身份是否合法的步骤还包括:子密钥持有者输入PIN码或生物识别码,根据所述PIN码或生物识别码判断所述子密钥持有者的身份是否合法。

9.如权利要求1所述的主控密钥的管理方法,其特征在于,所述步骤F中的预定数量为部分或所有子密钥持有者的个数。

说明书 :

一种主控密钥的管理方法和系统

技术领域

[0001] 本发明涉及信息安全技术领域,特别涉及一种主控密钥的管理方法和系统。 背景技术
[0002] 智能密钥装置是一种带有处理器和存储器的小型硬件装置,它可通过计算机的数据通讯接口与计算机连接。智能密钥装置采用PIN码验证用户身份的合法性,在进行身份认证时将智能密钥装置与计算机相连,用户在计算机上输入PIN码,智能密钥装置会自动校验该PIN码的正确性,只有当用户输入的PIN码正确时,才允许用户操作智能密钥装置。智能密钥装置还具有密钥生成功能,并可安全存储密钥和预置加密算法。智能密钥装置与密钥相关的运算完全在装置内部运行,且智能密钥装置具有物理抗攻击的特性,安全性极高,常用的智能密钥装置通过USB接口与计算机相连。
[0003] 由于智能密钥装置具有高安全的特性,所以很多要求安全性较高的领域都采用智能密钥装置进行身份认证,以保证操作的安全性。例如银行系统利用智能密钥装置认证柜员和用户的身份。
[0004] 秘密共享体制常被用于银行、军事等领域,对重要秘密实施分散保管非常重要。基于门限方案的秘密共享的原理是:取任何消息,并把它分成n部分,每部分叫做它的“影子”或共享,这样它们中的任何m部分能够用来重构消息,更准确地说,这叫做(m,n)门限方案。以(3,4)门限方案为例,假设将秘密消息分给A、B、C、D四个人,每个人持有该秘密消息的“影子”,这样把A、B、C、D中的任意三个“影子”放在一起就能重构出原秘密消息。 [0005] 现有技术中,秘密共享体制常通过部分子密钥持有者输入个人密码来完成主控密钥的恢复。这需要一部分子密钥持有者在主控密钥恢复系统内输入密码即可恢复主控密钥,从而得到明文信息,因而,这种主控密钥恢复技术缺陷非常明显。主要是安全性不高,密码只是被编辑的一组数据,非法人员可以采用偷盗、窥视、及网上破译软件进行破译等手段获取到这些数据,这样,非法人员使用不正常手段获取以密码形式存在的子密钥后成为秘密共享的参与者,并非法篡改子密钥,致使主控密钥在无法正常恢复的情况下并不能判断出究竟哪一段子密钥被非法篡改了,不能判断谁在进行欺诈行为。简言之,在秘密共享体制中,若主控密钥丢失,如何利用子密钥恢复出主控密钥,以及如何在无法正常恢复出主控密钥时确认恶意分子,仍是现有技术中存在的一项缺陷。

发明内容

[0006] 为了达到安全恢复出主控密钥的目的,本发明提供了一种主控密钥的管理方法和系统。所述技术方案如下:
[0007] 一种主控密钥的管理方法,所述方法包括以下步骤:
[0008] 步骤A;主控密钥管理系统生成主控密钥;
[0009] 步骤B:所述主控密钥管理系统根据子密钥持有者输入的个人信息,对所述主控密钥进行运算生成子密钥和子密钥认证密钥;
[0010] 步骤C:所述主控密钥管理系统将生成的子密钥和子密钥认证密钥保存到授权智能密钥装置内,存有子密钥及子密钥认证密钥的授权智能密钥装置分发给子密钥持有者; [0011] 步骤D:子密钥持有者输入所述个人信息,同时提供子密钥和子密钥认证密钥; [0012] 步骤E:验证所述子密钥持有者的身份是否合法,验证通过后,用所述个人信息结合算法,生成子密钥辅助信息;
[0013] 步骤F:当合法子密钥持有者输入的正确个人信息的个数达到预定数量后,根据所述密钥辅助信息和所述子密钥恢复出主控密钥。
[0014] 所述步骤A中的主控密钥是随机生成的。
[0015] 所述步骤A具体为:
[0016] 主控密钥管理系统生成主控密钥,然后将所述主控密钥存入主控智能密钥装置内。
[0017] 所述步骤B具体包括:
[0018] 所述主控密钥管理系统根据子密钥持有者输入的个人信息,结合所述主控密钥及算法生成子密钥和子密钥认证密钥。
[0019] 所述子密钥认证密钥是通过对所述子密钥进行数字签名得到的。 [0020] 所述运算使用的算法是RSA算法、椭圆曲线算法或Hash算法。
[0021] 所述步骤E中的验证所述子密钥持有者的身份是否合法的步骤具体为: [0022] 主控密钥管理系统利用所述子密钥持有者提供的子密钥认证密钥并结合算法,验证所述子密钥是否为合法子密钥;通过判断所述子密钥是否为合法子密钥,判断所述子密钥持有者的身份是否合法。
[0023] 所述算法包括RSA算法或椭圆曲线算法。
[0024] 所述步骤E中的验证所述子密钥持有者的身份是否合法的步骤还包括: [0025] 子密钥持有者输入PIN码或生物识别码,根据所述PIN码或生物识别码判断所述子密钥持有者的身份是否合法。
[0026] 所述步骤F中的预定数量为部分或所有子密钥持有者的个数。
[0027] 本发明的技术方案带来的有益效果是:
[0028] 通过验证用户是否为授权智能密钥装置的合法持有者,以及是否为子密钥的合法持有者,在主控密钥无法恢复的情况下,能够得知谁是非法参与者,实现了安全恢复出主控密钥的目的。
[0029] 利用子密钥持有者输入的个人信息参与计算来生成子密钥及子密钥认证密钥,解决了现有技术中秘密共享体制不安全的问题;
[0030] 同时,利用本发明提供的方法,可以在主控密钥丢失的情况下安全地恢复出主控密钥;
[0031] 本发明方便用户使用,节省人力、物力和智能密钥装置的维护成本。 [0032] 附图说明
[0033] 图1是本发明实施例1提供的主控密钥生成和分配的方法流程图; [0034] 图2是本发明实施例1提供的主控密钥恢复的方法流程图;
[0035] 图3是本发明实施例2提供的主控密钥的管理系统示意图。
[0036] 具体实施方式
[0037] 下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。 [0038] 因为银行是典型的多级管理体系,所以本实施例以银行系统为例进行说明。本实施例的技术方案中总行持有主控密钥管理系统及主控智能密钥装置,各个分行分别持有一个授权智能密钥装置。
[0039] 实施例1
[0040] 假设秘密共享的3个参与者依次为:分行A,分行B,分行C,授权智能密钥装置分别为USB Key1、USB Key2和USB Key3,共享的主控密钥为:MKey∈GF(r),具体密钥(主控密钥和子密钥)生成与分配步骤如下:
[0041] 步骤101:主控密钥管理系统随机生成主控密钥Mkey=CE9013D9,并将该主控密钥存入总行的主控智能密钥装置中。
[0042] 步骤102:分行A的USB Key1与主控密钥管理系统建立连接。
[0043] 步骤103:主控密钥管理系统随机选择一个1次多项式:f(x)=a1x+MKey mod r,且a1∈GF(r),GF(r)为一个有限域,其阶为r。
[0044] 这里,形如y=x mod z的含义是:x除以z的余数为y,在本实施例中,选择的r为大于秘密共享参与者人数的质数,即大于分行的个数3,以避免在子密钥分配过程中产生与主控密钥相同的子密钥,设
[0045] r=EDE00768E9730C0734A1DA4DE09FA8C5BAF77A1DB2991058D32638BDC4E26DB3, [0046] 则原多项式f(x)=a1x+MKey mod r为:f(x)=a1x+a0(mod r),
[0047] 其中a0,a1分别为CE9013D9,E9CA0D87,
[0048] 步骤104:分行A输入密码Input[0]=F3B425A9。
[0049] 步骤105:主控密钥管理系统通过密钥生成算法计算出私钥d。
[0050] 该密钥生成算法具体如下:
[0051] d=e-1modφ(m),这里e为公钥,e=010001,
[0052] m=pq=AE6ED3DEB4CFAEDB7D37BCADAD5696198229A70F9B7306C87B31CB4ED037A36F(p、q为RSA算法中的两个大质数)。
[0053] φ(m)与e互素,
[0054] φ(m)=(p-1)*(q-1)=AE6ED3DEB4CFAEDB7D37BCADAD569617DA31213FA0323122BB70833C65D09648,
[0055] d=8A5157B041B06DF79E53944A242984DB65299033E3D3E922A17F96914E2B1, [0056] p=E4CEB3031CDCB2899DF6CB04A5BA5E03,
[0057] q=C329D2CCDE64231C21CA7D0DC4ACAF25,
[0058] 在本实施例中,公钥e是由主控密钥管理系统随机产生的,私钥d的计算过程是在主控密钥管理系统内部完成的。
[0059] 步骤106:主控密钥管理系统将分行A输入的密码Input[0]=F3B425A9进行Hash运算,该Hash算法为SHA1:HashInput[0]=D8C066C84E7A8C7ADA1C5F12D5ED4DF5HashInput[0] [0]C0768406,设辅助信息β =β =69F41CAE0B144D5C48E24AAAEDAACE67E4BBF9D[0]
7EB9216880F2286D1CE084E39,本实施例β=5,并对β 作如下Hash运算: [0060] (a)计算
[0061] 子密钥Y[0]=f(β[0])=59B94FA29723D5E7846AE21895E818B3D0FD20E19C1695F3F43B7DFF2DDFA134;
[0062] (b)计算
[0063] 子密钥认证密钥V[0]=H(Y[0])dmodm=304975CBE4F4C31917F37FF57D8810D1240D64F916D21C6832361A186BBCA55D;
[0064] 在上述步骤中,子密钥认证密钥V[0]是利用私钥d对H(Y[0])进行数字签名后得到的,其填充算法如PKCS#1中描述的,H(Y[0])表示对子密钥Y[0]进行Hash变换。 [0065] 步骤107:主控密钥管理系统将Y[0]和V[0]分别作为分行A的子密钥和子密钥认证密钥,存入USB Key1中并分配给分行A来保管。
[0066] 同理,分行B,分行C通过输入各自的信息,由总行的主控密钥管理系统分别生成:分行B的子密钥
[0067] Y[1] = CAD4550F1482698C84996A1E905D90B54A61734E397D8CE61730EF4AF9789068,分行B的子密钥认证密钥
[0068] V[1] = 39907ACE0116CE3ECD4CB2DCAC2C34C05E94E9963BC9DF123E309DB7E4219448,分行C的子密钥
[0069] Y[2] = 4351DE2AEA9AB3D31612E1C370918F493FD966B918425DE363AD3C842538991F,分行C的子密钥认证密钥
[0070] V[2] = 5E8E0A11EA94DA140175692D36BF0870A22FCBD3A42F63901DF1BF01C3F85C39。
[0071] 将Y[1]、V[1]存入USB Key2中,将Y[2]、V[2]存入USB Key3中,并USB Key2、USB Key3分别分配给分行B,分行C来保管。
[0072] 在本实施例中,分行A、分行B、分行C输入的密码不能相同,否则系统将显示密码重复的错误提示。
[0073] 在本实施例中,当需要恢复主控密钥时,只要3个参与者中任意2个合作即可恢复主控密钥Mkey,恢复方法如下:
[0074] 假设分行A与分行B合作:
[0075] 步骤201:分行A将其拥有的USB Key1与总行的主控密钥管理系统建立连接; [0076] 步骤202:分行A输入PIN码;
[0077] 步骤203:通过验证分行A输入PIN码是否正确来判断分行A是否为USB Key1的合法持有者,若分行A通过USB Key1的认证则执行步骤204,否则执行步骤208。 [0078] 该判断过程是在USB Key1内部完成的。
[0079] 步骤204:分行A输入密码Input[0]=F3B425A9,总行的主控密钥管理系统将分行A输入的密码通过Hash算法计算:
[0080] HashInput[0]=D8C066C84E7A8C7ADA1C5F12D5ED4DF5C0768406, [0081] 再计算辅助信息:
[0082] β[0] = 69F41CAE0B144D5C48E24AAAEDAACE67E4BBF9D7EB9216880F2286D1CE084E39。
[0083] 步骤205:总行的主控密钥管理系统利用USB Key1内部的认证子密钥V[0]验证USB Key1内部的子密钥Y[0]是否为合法密钥,若分行A的子密钥Y[0]通过认证,则执行步骤206,否则执行步骤208。
[0084] 在本实施例中,主控密钥管理系统对授权智能密钥装置内部子密钥的认证过程如下:
[0085] 对于参与秘密共享的分行A来说,如果V[0]e≡H(Y[0])(mod m),则分行A为出示了真正子密钥的合法参与者,否则分行A为内部欺诈者或外部欺诈者。如果欺诈者改Y[0]为* * *e *Y[0],则须计算V[0],使得V[0] ≡H(Y[0])(mod m)才能通过验证,但是欺诈者不知道私钥d,* * *
所以计算出V[0] 等价于攻破RSA加解密体制;如果欺诈者改V[0]为V[0],则须计算Y[0] 使* *e
得H(Y[0])≡V[0] (mod m),在单向函数具有足够的安全性时,这也是难以实现的。对于本发明,欺诈成功等价于攻破RSA加解密体制或单向函数,因而具有很强的安全性。 [0086] 步骤206:同理,总行的主控密钥管理系统认证分行B是否为合法的参与者,若分行B的子密钥Y[1]通过认证,则执行步骤207,否则执行步骤208。
[0087] 步骤207:分行A,分行B均通过认证,此时总行的主控密钥管理系统利用分行A,[0] [1]分行B所保管的2个子密钥可以得到2个插值点(β ,Y[0]),(β ,Y[1]),并将上述两点带入方程Lagrange插值方程: (其中t=2,r=EDE00768E973
0C0734A1DA4DE09FA8C5BAF77A1DB2991058D32638BDC4E26DB3)重构与步骤103中的多项式等价的方程,最后令x=0,计算出Mkey=f(0)=CE9013D9,从而恢复出主控密钥。 [0088] 步骤208:系统提示认证失败信息。
[0089] 同理,假设分行A,分行C合作或者分行B、分行C合作,或者分行A分行B,分行C同时合作,均可按上述方法恢复出主控密钥Mkey。
[0090] 实施例2
[0091] 参见图3,本发明还提供了一种主控密钥的管理系统,用于实现主控密钥的生成、分配及恢复,该系统包括:
[0092] 密钥生成模块,用于生成主控密钥、子密钥及子密钥认证密钥; [0093] 密钥分配模块,用于将生成的主控密钥存入主控智能密钥装置内;将生成的子密钥及子密钥认证密钥分配到授权智能密钥装置内;
[0094] 主控密钥恢复模块,用于通过提供达到预定数量的子密钥后,恢复出所述主控密钥。
[0095] 本实施例中,总行持有主控密钥的管理系统及主控智能密钥装置,分行A、分行B、分 行C分别持有一个授权智能密钥装置。
[0096] 密钥生成模块用于根据分行A、分行B、分行C输入的信息,生成主控密钥,并将生成的主控密钥结合RSA和Hash算法生成子密钥及子密钥认证密钥;
[0097] 密钥分配模块用于将生成的主控密钥存入主控智能密钥装置内;将生成的子密钥及子密钥认证密钥分配到授权智能密钥装置内,并分别分配给分行A、分行B、分行C来保管; [0098] 主控密钥恢复模块用于通过达到预定数量的子密钥后,在主控密钥管理系统内部恢复出主控密钥。
[0099] 上述实施例对本发明所提供的一种主控密钥的管理方法和系统进行了详细介绍。以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。