一种多加密锁装置的制作方法

文档序号:6617801阅读:115来源:国知局
专利名称:一种多加密锁装置的制作方法
技术领域
本实用新型涉及加密技术,特别涉及一种多加密锁装置。
技术背景使用加密锁是实现软件安全保护和版权保护的主要手段。加密锁中存储着从软件代码中移植来的硬件端代码,PC端存储着对应的PC端代码,硬件 端代码和PC端代码共同构成完整的一套软件代码。因此,只有将加密锁与 PC端相连,在PC端运行软件时才能够调用加密锁中的硬件端代码,从而保证软件的正常运行。但加密锁的硬件处理速度通常要低于运行软件所基于的PC端的硬件处理速度,这就使得软件的运行效率会受到很大的影响。因此,为了提高软件的运行效率,可以并行使用多个加密锁,将对单个 加密锁的串行调用转换为对多个加密锁的并行调用。被并行调用的多个加密 锁的组合,称为多加密锁结构。但现有并行调用多个加密锁的方案存在以下问题,即加密锁的拆分问题PC端代码能够被随意复制,但每个复制的PC端代码均需要有对应的加 密锁,因此,有些用户将多加密锁结构被拆分为多个独立的加密锁,并基于 这些拆分的独立加密锁,分别实现所复制的多个PC端代码对应的软件运行 过程。拆分使用多个加密锁只是降低了软件运行效率,但仍然能够实现软件 的正常运行。这样,由于多加密锁结构能够被随意拆分并广泛使用,使得加密锁的安 全保护力度下降。而且,用户只需购买一套对应多加密锁结构的软件,即可 通过拆分加密锁并分别结合复制的PC端代码,能够将对一套软件复制为多个来使用,使得加密锁对软件版权保护的安全性和可靠性较低,进而使得软 件开发商的利益受到严重侵害。可见,现有技术中的多加密锁结构能够被任意拆分使用,使得加密锁对 软件版权保护的安全性和可靠性不高。实用新型内容有鉴于此,本实用新型的一个主要目的在于,提供一种多加密锁装置, 能够提高加密锁对软件版权保护的安全性和可靠性。根据上述的一个主要目的,本实用新型提供了一种多加密锁装置,包括 以主锁、以及与所述主加密锁相连的至少一个从锁,其中,所述主锁,对接收自从锁的授权请求进行处理,并将处理得到的授权结果反馈给从锁;所述从锁,根据接收自所述主锁的授权结果确定自身状态。所述主锁包括授权模块、加密运算模块,其中,所述授权模块将接收自从锁的随机数输出给加密运算模块;将接收自加 密运算模块输出的加密后的随机数反馈给对应的从锁;所述加密运算模块对接收自授权模块的随机数加密,并将加密后的随机 数输出给授权模块。所述从锁包括认证模块、解密运算模块和功能代码模块,其中,所述认证模块生成并存储随机数输出给主锁;将接收自主锁的加密后的 随机数输出给解密运算模块;所述解密运算模块对所述认证模块输出的加密后的随机数解密,并将解 密后的随机数输出给认证模块;所述功能代码模块存储软件中的代码,其自身状态在认证模块自身生成 的随机数与解密运算模块输出的随机数相同时为可用状态、并允许外部调用 所述存储的代码。模块、签名生成模块,其中,所述授权模块将接收自从锁的随机数输出给签名生成模块;将签名生成 模块输出的签名结果反馈给对应的从锁;所述签名生成模块对接收自授权模块的随机数进行签名处理,并将得到 的签名结果输出给授权模块。所述从锁中包括认证模块、签名解析模块和功能代码模块,其中,所述认证模块生成并存储随机数,将生成的随机数输出给所述主锁;将 接收自所述主锁的授权鉴别码输出给所述签名解析模块;所述签名解析模块对所述认证模块输出的签名结果进行验证,并将验证 结果输出给认证模块;所述功能代码模块存储软件中的代码,其自身状态在签名解析模块输出 的验证结果为验证成功时为可用状态、并允许外部调用所述存储的代码。所述主锁进一步包括功能代码模块;所述授权模块进一步接收外部的调用请求,在对该请求认证通过后,将 功能代码模块的状态切换为可用状态;所述功能代码模块存储软件中的代码,并在自身状态为可用状态时,允 许外部调用所述存储的代码。由上述技术方案可见,本实用新型中的多加密锁装置中包括主锁、以及 与所述主锁相连的至少一个从锁,其中,主锁对接收自从锁的授权请求进行 处理,并将处理得到的授权结果反馈给从锁;从锁根据接收自所述主锁的授 权结果确定自身状态。这样,由于从锁必须通过主锁的授权,才能够将自身 的状态切换为可用状态,因此,从锁无法脱离与其对应的唯一的主锁而独立 工作,即便是主从锁结构被拆分,从锁也无法实现对任何软件的安全保护, 避免了多加密锁结构被拆分造成的安全性和可靠性不高的问题。


图1为本实用新型实施例中多加密锁装置的示例性结构图。图2为本实用新型实施例 一 中多加密锁装置的结构图。图3为本实用新型实施例一中多加密锁装置的工作流程图。图4为本实用新型实施例二中多加密锁装置的结构图。图5为本实用新型实施例二中多加密锁装置的工作流程图。
具体实施方式
为使本实用新型的目的、技术方案及优点更加清楚明白,以下参照附图 并举实施例,对本实用新型进一步详细说明。本实用新型中,设置一个多加密锁结构,多个加密锁之间基于预先设定 的验证协议相互关联,每个加密锁与其关联的其他加密锁协同工作。这样,即可使得每个加密锁无法在被拆分后单独使用。例如,设置包括一个主加密锁和多个从加密锁的主从加密锁结构,从加 密锁的使用必须通过主加密锁的授权,使得即便从加密锁被拆分,但由于其 无法通过主加密锁的授权仍然无法被使用。其中,主加密锁(筒称主锁)与从加密锁(简称从锁),均用于对软件 安全的保护,只是两种加密锁之间存在一种一对多的主从关系,即所有的从 锁必须依附于唯一的主锁而存在。以下,以主从锁结构为例,对本实用新型实施例中的多加密锁装置进行 详细说明。图l为本实用新型实施例中多加密锁装置的示例性结构图。如图l所示, 本实用新型实施例中的多加密锁装置包括 一个主锁和至少一个从锁(从锁 1 从锁n, n为正整数)。主锁,接收来自从锁的随机数,根据内部存储的授权规则,对接收到的 随机数进行处理,生成授权鉴别码,并将授权鉴别码作为授权结果反馈给发 送该随机数的从锁。从锁,生成随机数并输出给主锁,请求主锁对其授权;接收来自主锁的 授权鉴别码,并根据内部存储的验证规则,对接收到的授权鉴别码进行验证,并在验证通过后,将自身状态从不可用状态切换为可用状态。其中,在从锁请求主锁的授权时,也可以不采用随机数,而是将预设的任意一种数字标识或其它类型标识输出给主锁,用于请求主锁对其授权。本实施例中的授权规则和验证规则可以为基于 一种预设的验证协议的密码学规则。上述装置中,主锁生成授权鉴别码的处理过程可以为一个加密或签名处理过程;从锁中对授权鉴别码验证的过程可以为 一个解密或对签名结果的验 签过程。下面,对本实用新型中的多加密锁装置进行详细说明。 实施例一本实施例中,授权规则为一种对称加密算法的加密规则和加密密钥;验 证规则为一种对称加密算法的解密规则和解密密钥;对称加密算法可以为现 有任意一种,例如,Triple DES算法。图2为本发实用新型实施例一中多加密锁装置的结构图。如图2所示, 本实施例中的多加密锁装置包括主锁、从锁l 从锁n。主锁,接收来自从锁i U《Kn)的随机数,根据内部存储的加密密钥 和加密规则,对接收到的随机数加密,并将加密后的随机数作为授权鉴别码 输出给从锁i。从锁i,初始状态设置为不可用状态;根据外部输入的调用请求(例如 来自PC端的调用请求),生成并存储随机数,将生成的随机数发送给主锁 (调用请求中可以包括调用该从锁i的密码,从锁i判断密码正确后才生成 随机数,请求主锁的授权);接收来自主锁的授权鉴别码,即加密后的随机 数,并根据内部存储的解密规则和解密密钥(解密规则和解密密钥分别与主 锁中的加密规则和加密密钥相同),对接收到的加密后的随机数解密,并判 断解密后的随机数是否与自身生成的随机数相同,如果相同,则确定验证通 过,将自身状态从不可用状态切换为可用状态,即允许外部调用该从锁内部 存储的代码。上述装置中,主锁和所有从锁中存储的代码,均为硬件端代码。 实际应用中,主锁除了对从锁的调用进行授权之外,也能够实现与所有 从锁相同的软件保护功能。这种情况下,主锁接收外部的调用请求,在对该 请求认证通过后(调用请求中可以包括调用主锁的密码,主锁判断密码正确 后判断认证通过),允许外部调用主锁内部存储的代码。具体来说,主锁中包括授权模块、加密运算模块和功能代码模块。授权模块,接收来自从锁i (1《i《n)的随机数,并输出给加密运算模 块;将加密运算模块输出的加密后的随机数作为授权鉴别码输出给从锁i; 接收外部输入的调用请求,在对该请求认证通过后,将功能代码模块的状态 切换为可用状态。加密运算模块,接收来自授权模块的随机数;根据内部存储的加密密钥 和加密规则,对接收到的随机数加密,并将加密后的随机数输出给授权模块。功能代码模块,初始状态为不可用状态,存储软件中的代码,并在自身 状态为可用状态时,允许外部调用内部存储的代码。每个从锁中包括认证模块、解密运算模块和功能代码模块。认证模块,根据外部输入的调用请求,生成并存储随机数,将生成的随 机数输出给主锁;接收来自主锁的授权鉴别码,即加密后的随机数,并输出 给解密运算模块;判断解密运算模块输出的随机数是否与自身生成并存储的 随机数相同,如果相同,则确定验证通过,将功能代码模块的状态从不可用 状态切换为可用状态;否则,保持功能代码模块的状态为初始设置的不可用 状态。解密运算模块,根据内部存储的解密规则和解密密钥(解密规则和解密 密钥与主锁中的加密规则和加密密钥相同),对认证模块输出的加密后的随 机数解密,并将解密后的随机数输出给认证模块。功能代码模块,初始状态为不可用状态,存储软件中的代码,并在自身 状态为可用状态时,允许外部调用内部存储的代码。实际应用中,主锁和从锁可以为现有基于智能卡芯片的精锐系列网络锁;主锁和从锁中还可以包括其他功能模块,以实现特定应用环境所需的特定功能。图3为本实用新型实施例一中多加密锁装置的工作流程图。如图3所示, 本实施例中多加密锁装置的工作流程包括以下步骤步骤301 ,设置一对加密密钥和解密密钥分別存储于主锁和多个从锁中, 加密密钥和解密密钥相同。本步骤中,加密密钥和解密密钥可以为一串16字节的随机数;所有从 锁的初始状态被设置为不可用状态。步骤302,被调用的从锁生成随机数并输出给主锁。本步骤中,调用从锁时,可以向从锁发送对应的密码,从锁判断密码正 确后,即对调用请求认证通过后,才生成随即序列,请求主锁的授权;生成 的随机数可以为一串8字节的随机数。步骤303,主锁利用设置的加密密钥,并根据设置的加密规则,对从锁 输出的随机数加密,并将加密后的随机数作为授权鉴别码反馈给发送该随机 数的从锁。步骤304,从锁利用设置的解密密钥,并根据设置的与加密规则相同的 解密规则对主锁反馈的授权鉴别码解密,即对加密后的随机数解密。步骤305 ,从锁判断解密后的随机数是否与其自身生成的随机数相同, 如果是,则执行步骤306;否则,执行步骤307。步骤306,将自身状态从不可用状态切换为可用状态,即允许调用该从 锁内部的代码。步骤307,保持自身状态为不可用状态,即禁止调用该从锁内部的代码。 上述流程中,可以为对多个从锁同时进行认证授权的过程;也可以按照上述流程依次对每一个需要调用的从锁进行认证授权;在执行上述流程的同时,主锁中的代码也可以被调用,只是调用主锁中的代码不需要其他加密锁的授权。实施例二本实施例中,授权规则为一种非对称加密算法的加密规则和公钥;验证 规则为一种对非称加密算法的解密规则和私钥;非对称加密算法可以为现有 任意一种,例如,RSA算法。图4为本实用新型实施例二中多加密锁装置的结构图。如图4所示,本 实施例中的多加密锁装置包括主锁、从锁l 从锁n。主锁,接收来自从锁i ( 1《i《n)的随机数,根据内部存储的签名规则 和私钥,对接收到的随机数进行签名处理,并将得到的签名结果作为授权鉴 别码输出给从锁i。从锁i,初始状态设置为不可用状态;根据外部输入的调用请求(例如 来自PC端的调用请求),生成并存储随机数,将生成的随机数发送给主锁 (调用请求中可以包括调用该从锁i的密码,从锁i判断密码正确后才生成 随机数,请求主锁的授权);接收来自主锁的授权鉴别码,即对随机数的签 名结果,并根据内部存储的验签规则和公钥,对接收到的签名结果进行验证, 如果验证通过,则将自身状态从不可用状态切换为可用状态,即允许外部调 用该从锁内部存储的代码。上述装置中,主锁和所有从锁中存储的代码,均为硬件端代码。实际应用中,主锁除了对使用从锁进行授权之外,也能够实现与所有从 锁相同的软件保护功能。这种情况下,主锁接收外部输入的调用请求,在对 该请求认证通过后(调用请求中可以包括调用主锁的密码,主锁判断密码正 确后判断认证通过),允许外部调用主锁内部存储的代码。具体来说,主锁中包括授权模块、签名生成模块和功能代码模块。授权模块,接收来自从锁i (l<Kn)的随机数,并输出给签名生成模 块;将签名生成模块输出的签名结果作为授权鉴别码输出给从锁i;接收外 部输入的调用请求,在对该请求认证通过后,将功能代码模块的状态切换为 可用状态。签名生成模块,接收来自授权模块的随机数;根据内部存储的签名规则和私钥,对接收到的随机数进行签名处理,并将得到的签名结果输出给授权模块。功能代码模块,初始状态为不可用状态,存储软件中的代码,并在自身 状态为可用状态时,允许外部调用内部存储的代码。每个从锁中包括认证模块、签名解析模块和功能代码模块。 认证模块,根据外部输入的请求,生成并存储随机数,将生成的随机数输出给主锁;接收来自主锁的授权鉴别码,即对随机数的签名结果,并输出 给签名解析模块;判断签名解析模块输出的验证结果是否为验证成功,如果 是,则将功能代码模块的状态从不可用状态切换为可用状态;否则,保持功 能代码模块的状态为初始设置的不可用状态。签名解析模块,根据内部存储的验签规则和公钥,对认证模块输出的签 名结果进行验证,并将验证结果输出给认证模块。功能代码模块,初始状态为不可用状态,存储软件中的代码,并在自身 状态为可用状态时,允许外部调用内部存储的代码。实际应用中,主锁和从锁可以为现有基于智能卡芯片的精锐系列网络 锁;主锁和从锁中还可以包括其他功能模块,以实现特定应用环境所需的特 定功能。图5为本实用新型实施例二中多加密锁装置的工作流程图。如图5所示, 本实施例中多加密锁装置的工作流程包括以下步骤步骤501,设置一对相互对应的私钥和公钥,分别存储于主锁和多个从 锁中。本步骤中,所有从锁的初始状态可以被设置为不可用状态。步骤502,需要被调用的从锁生成随机数并输出给主锁。本步骤中,调用从锁时,可以向从锁发送对应的密码,从锁判断密码正确后,即对调用请求认证通过后,才生成随即序列,请求主锁的授权;生成的随机数可以为一串8字节的随机数。步骤503,主锁利用设置的私钥,并根据设置的签名规则,对接收到的随机数进行签名处理,得到对随机数的签名结果,并反馈给发送该随机数的从锁。步骤504,从锁根据内部存储的验签规则和公钥,对接收到签名结果,即授权鉴别码,进行验证。步骤505,从锁判断对签名结果的验证是否通过,如果验证通过,则执 行步骤506;否则,执行步骤507。步骤506,将自身状态从不可用状态切换为可用状态,即允许调用该从 锁内部的代码。步骤507,保持自身状态为不可用状态,即禁止调用该从锁内部的代码。 上述流程中,可以为对多个从锁同时进行认证授权的过程;也可以按照 上述流程依次对每一个需要调用的从锁进行认证授权;在执行上述流程的同 时,主锁中的代码也可以被调用,只是调用主锁中的代码不需要其他加密锁 的授权。本实施例中的装置中,从锁必须经过与主锁的交互而被授权,才能够将 自身的状态切换为可用状态。如果没有主锁或者使用不匹配的主锁,将无法 生成正确的授权鉴别码,所以从锁就无法被使用。因此,从锁无法脱离与其 对应的唯一的主锁而独立工作,即便是主从锁结构被拆分,从锁也无法实现 对任何软件的安全保护,避免了多加密锁结构被拆分造成的安全性和可靠性 不高的问题。本实用新型的技术方案也不限于上述主从锁结构。例如,多个加密锁采 用链行或环形的连接结构,在某个加密锁接收到调用请求时,可以向与其相 邻的加密锁请求授权,并对该相邻的加密锁反馈的授权鉴别码进行验证,在 验证通过后将自身状态从不可用状态切换为可用状态;同理,该加密锁也可 以为与其相邻的加密锁授权。本实用新型实施例中的授权规则和验证规则可以是基于特定验证协议 的任何一种密码学规则或其他规则,只要能够保证加密锁之间的相互关联即 可。以上所述仅为本实用新型的较佳实施例而已,并非用于限定本实用新型的保护范围。凡在本实用新型的精神和原则之内,所作的任何修改、等同替 换以及改进等,均应包含在本实用新型的保护范围之内。
权利要求1、一种多加密锁装置,其特征在于,包括主锁、以及与所述主锁相连的至少一个从锁,其中,所述主锁,对接收自从锁的授权请求进行处理,并将处理得到的授权结果反馈给从锁;所述从锁,根据接收自所述主锁的授权结果确定自身状态。
2、 如权利要求l所述的装置,其特征在于,所述主锁包括授权模块、 加密运算模块,其中,所述授权模块将接收自从锁的随机数输出给加密运算模块;将接收自加 密运算模块输出的加密后的随机数反馈给对应的从锁;所述加密运算模块对接收自授权模块的随机数加密,并将加密后的随机 数输出给授权模块。
3、 如权利要求2所述的装置,其特征在于,所述从锁包括认证模块、解密运算模块和功能代码模块,其中,所述认证模块生成并存储随机数输出给主锁;将接收自主锁的加密后的 随机数输出给解密运算模块;所述解密运算模块对所述认证模块输出的加密后的随机数解密,并将解 密后的随机数输出给认证模块;所述功能代码模块存储软件中的代码,其自身状态在认证模块自身生成 的随机数与解密运算模块输出的随机数相同时为可用状态、并允许外部调用 所述存储的代码。
4、 如权利要求l所述的装置,其特征在于,所述主锁包括授权模块、 签名生成模块,其中,所述授权模块将接收自从锁的随机数输出给签名生成模块;将签名生成 模块输出的签名结果反馈给对应的从锁;所述签名生成模块对接收自授权模块的随机数进行签名处理,并将得到的签名结果输出给授权模块。
5、 如权利要求4所述的装置,其特征在于,所述从锁中包括认证模 块、签名解析模块和功能代码模块,其中,所述认证模块生成并存储随机数,将生成的随机数输出给所述主锁;将 接收自所述主锁的授权鉴别码输出给所述签名解析模块;所述签名解析模块对所述认证模块输出的签名结果进行验证,并将验证 结果输出给认证模块;所述功能代码模块存储软件中的代码,其自身状态在签名解析模块输出 的验证结果为验证成功时为可用状态、并允许外部调用所述存储的代码。
6、 如权利要求2或4所述的装置,其特征在于,所述主锁进一步包括 功能代码模块;所述授权模块进一步接收外部的调用请求,在对该请求认证通过后,将 功能代码模块的状态切换为可用状态;所述功能代码模块存储软件中的代码,并在自身状态为可用状态时,允 许外部调用所述存储的代码。
专利摘要本实用新型公开了一种多加密锁装置。本实用新型公开的多加密锁装置中包括主锁、以及与所述主锁相连的至少一个从锁,其中,所述主锁对接收自从锁的授权请求进行处理,并将处理得到的授权结果反馈给从锁;所述从锁根据接收自所述主锁的授权结果确定自身状态。这样,由于从锁必须通过主锁的授权,才能够将自身的状态切换为可用状态,因此,从锁无法脱离与其对应的唯一的主锁而独立工作,即便是主从锁结构被拆分,从锁也无法实现对任何软件的安全保护,避免了多加密锁结构被拆分造成的安全性和可靠性不高的问题。
文档编号G06F21/22GK201166846SQ20072014884
公开日2008年12月17日 申请日期2007年4月19日 优先权日2007年4月19日
发明者念龙龙, 乾 霍 申请人:北京深思洛克数据保护中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1