首页> 中国专利> 用于无证书认证加密(CLAE)的方法和系统

用于无证书认证加密(CLAE)的方法和系统

摘要

描述一种在由具有发送方身份串的发送方加密明文消息之前,在基于身份的加密系统中验证来自可信中心的多个公共参数的方法。该方法包括:通过TC身份串识别可信中心,可信中心具有基于TC身份串的可信中心的基于身份的公共加密秘钥;确定发送方是否具有发送方私人秘钥和包括可信中心的公共加密秘钥和双线性映射的用于可信中心的公共参数;以及通过比较通过包括发送方私人秘钥和公共加密秘钥的变量计算的双线性映射的值,在将明文消息加密为密文之前,使用TC身份串验证公共参数。密文可以包括认证成分,用于一旦接收到并且使用发送方的身份串和接收方的私人秘钥解密密文,就验证发送方。

著录项

  • 公开/公告号CN104641592A

    专利类型发明专利

  • 公开/公告日2015-05-20

    原文格式PDF

  • 申请/专利号CN201380019081.3

  • 发明设计人 贝赫扎德·马列克;

    申请日2013-01-30

  • 分类号H04L9/32(20060101);H04L12/58(20060101);H04L9/30(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人李宝泉;周亚荣

  • 地址 加拿大安大略

  • 入库时间 2023-12-18 08:54:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-18

    授权

    授权

  • 2017-09-15

    专利申请权的转移 IPC(主分类):H04L9/32 登记生效日:20170829 变更前: 变更后: 申请日:20130130

    专利申请权、专利权的转移

  • 2016-11-02

    专利申请权的转移 IPC(主分类):H04L9/32 登记生效日:20161012 变更前: 变更后: 申请日:20130130

    专利申请权、专利权的转移

  • 2015-06-17

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20130130

    实质审查的生效

  • 2015-05-20

    公开

    公开

说明书

技术领域

本发明涉及无证书认证加密方案,并且特别涉及使用身份串提供 基于身份的加密的加密方案。

背景技术

密码加密算法将保密性添加至通过不安全信道传送的敏感数据。 当在发送之前,加密算法将数据从明文转变为密文时,数据被保护。 如果接收方能够反转加密算法,则加密数据的接收方仅能够解密密文 并且从所接收的传输检索明文。如果加密和解密算法共享相同秘钥, 则密码系统被已知为“对称的”,并且算法被称为对称秘钥算法。如 果加密算法中的秘钥不同于解密算法中的秘钥,则密码系统被已知为 “不对称的”,并且算法被称为不对称秘钥算法。

在不对称秘钥算法中,用于加密的秘钥(即,“公共秘钥”)被 公开知晓,每一个人都能够使用其加密敏感数据。然而,在解密中使 用的秘钥(即,“私人秘钥”)仅被加密数据的期望接收者知晓,并 且被保护,使得期望接收者是仅能够解密加密消息的实体。不对称密 码系统通常被称为公共秘钥密码系统(PKC)。

在PKC中,公共秘钥和私人秘钥相互独立,使得公共秘钥的知识 不揭露或者导致私人秘钥。换句话说,公共秘钥可以是公共的,使得 任何人都可以加密用于特定接收方的数据,但是仅特定接收方知晓私 人秘钥,并且能够利用私人秘钥解密和检索数据。由于PKC中的公共 秘钥被公开知晓,所以它们被认为是不敏感的,并且可以通过任何不 安全的公共信道被发送。然而,PKC的主要挑战在于,相信可用公共 秘钥实际上是否与期望接收方相关联。换句话说,如果不同公共秘钥 (即,错误或修改后的公共秘钥)被错误或欺骗使用,则通过利用加 密实现的总体安全性受到损害。从而,公共秘钥密码系统中的加密的 安全性依赖正确地分发属于或与加密消息的期望接收方相关联的公共 秘钥。从而,在利用PKC中的公共秘钥加密敏感数据之前,必须验证 公共秘钥。

由于大系统是动态的,并且新成员一直加入或离开系统,所以公 共秘钥一直被公布和/或废除。在登记(设置)时,给新成员分发新的 公共/私人秘钥集合,并且在它们可以用所生成的新公共秘钥与新成员 安全地通信之前,向所有其他现有成员通知该新公共秘钥。

在PKC中,存在用于贯穿系统生成并且分发公共秘钥的两种机制。 在第一种机制中,通过可信中心生成公共秘钥,然后通过安全信道将 它们远程地分发给系统中的用户。第二种机制是发送方为每一个接收 方本地地生成公共秘钥。以此方式,不要求可信中心首先生成用于每 一个接收方的私人秘钥,并且然后通过安全信道将这些所生成的公共 秘钥远程地分发至每一个发送方。

本地生成公共秘钥胜过依靠可信中心提供公共秘钥。当公共加密 秘钥被本地生成时,秘钥的等待时间被减少,这是因为其不再必须从 远程服务器检索证书。

传统上,在PKC中,公共秘钥通过可信中心(证书授权)生成, 保证公共秘钥属于特定接收方。证书授权是贯穿PKC分发证书的可信 赖实体。在典型PKC中,可信中心可操作成产生X.509证书,该X.509 证书包括用于接收方的公共秘钥以及其他辅助数据。然后,可信中心 数字签名所提供的证书,以便发送方验证所提供的证书和对应公共秘 钥的真实性。然而,在大系统中分发和管理公共秘钥证书是具有挑战 性的任务,因为证书必须防止在传输期间通过不安全信道或者当在发 送方的本地机器处被接收时被篡改。

公共秘钥加密的替代方法是自生成公共参数,其将被用于使用诸 如电话号码、电子邮件地址或用户名的接收方的已知身份加密敏感数 据。Boneh和Franklin介绍了一种基于身份的加密方案,其 中,在加密中使用接收方的身份,诸如,在Dan Boneh和Matthew  Franklin的“Identity-Based Encryption from the Weil Pairing”SIAM  Journal of Computing,32(3):586-615,2003和美国专利No.7,113,594中描 述的,其内容通过引用完全结合于此。在它们设置时,给予每一个用 户私人秘钥,但是使用接收方的身份和可信中心的公共秘钥构造加密 秘钥。他们的系统消除了对联系可信中心(证书授权)以检索接收方 的公共秘钥的需要。然而,在他们的系统中,可信中心的公共秘钥(Ppub) 被严格保护。如果不同公共秘钥在加密时被错误或欺骗使用,则加密 的安全性完全受到损害。

应该注意,他们的方案的总体安全性依赖可信中心的公共秘钥的 安全性,该公共秘钥被公开知晓并且从而广泛可用。如果对手可以通 过访问可信中心的公共秘钥的本地存储或者通过经由中间人攻击发送 不同公共秘钥来改变可信中心的公共参数,则加密系统的安全性受到 损害。

发明内容

本发明针对提供一种改进的无证书认证加密(CLAE)方法和使用 基于身份的加密的认证系统。

本发明的目标在于配置PKC系统,该PKC系统消除了用于贯穿 系统分发和管理公共秘钥的需要。作为代替,公共秘钥被生成并且被 本地验证。一旦系统被初始化,则系统中的任何实体都可以自生成任 何其他实体的公共秘钥,并且通过使用诸如电话号码、电子邮件地址 或用户名的接收方的身份来加密敏感数据。然后,仅真正接收方能够 使用仅接收方知晓并且从可信中心获得的私人秘钥,解密并且检索敏 感数据。

PKC系统中的很多安全性挑战之一是防止公共秘钥证书被篡改并 且贯穿系统安全地分发它们。上述Boneh和Franklin提出了一种方案,其中,使用用户的公共身份生成加密秘钥。然而,可信中心的 公共秘钥出现相同问题(即,根据Boneh和Franklin,为“秘钥发生器”)。 如果Ppub和P被欺骗性地替换,则欺骗者可以容易地访问加密消息。 因为Boneh和Franklin设置中的Ppub和P被公共知晓并且广泛可用, 所以该攻击是可能的。从而,公共秘钥根本不被保护,或者它们贯穿 系统与私人秘钥或秘密主秘钥相比不太受保护。而且,公共参数经由 公共不安全信道贯穿系统被广播。从而,对手可能尝试改变加密算法 中的Ppub和P的值。

如现有技术中描述的,如果欺骗者用诸如xP的任何其他点替换 Ppub,其中,x被欺骗者知晓,则对手可以容易地找到(即,根据 Boneh和Franklin,为“会话秘钥”),并且反转M的加密。这进一步 如下示出:如由Boneh和Franklin描述的,如上所述,我们使得 gID=e(QID,Ppub),在欺骗者的修改下,其将变为g′ID=e(QID,xP)。对 应消息秘钥将是其中,其可以容易地从Voltage Security中 的V=rP找到。这通过在中计算以下被执行:

e(QID,V)x=e(QID,rP)x=e(QID,xp)r=gIDr

相反,根据本发明的CLAE方案允许发送方在加密消息之前,本 地验证服务器的公共秘钥(即,Ppub)。换句话说,发送方可操作地在 加密消息之前验证可信中心(TC),由此确保公共参数未被修改。本 发明的CLAE方案中的信任点从服务器的公共身份(例如,“abc.com”) 建立,并且不像现有技术那样,其不是可以被更改的固定参数。

在本发明的一方面中,设计了新CLAE框架,其使用接收方的身 份消除对公共秘钥证书的需要。代替使用预定参数生成公共/私人加密 秘钥,用户结合可信中心的身份以及接收方的身份。以此方式,在生 成加密秘钥时提供更大灵活性,用户可以使用其自己的身份任意地选 择任何可信中心,并且可以保证其选择将强加于接收方。例如,用户 可能想要将加密电子邮件从“abc.com”账户发送至具有“xyz.com”账 户的某个人。在该情况下,用户可以简单地通过在加密处理中使用可 信中的身份,选择“abc.com”或“xyz.com”作为可信中心。然后,迫 使接收方向由发送方选择的可信中心验证其本身。这样的系统还可以 允许加密消息的发送方验证一个或多个公共参数,以确保它们未被篡 改。

一方面,本发明在于使用基于身份的加密,由具有发送方身份串 (Idsender)的发送方通过网络将加密消息发送至接收方的方法,该方法 可以包括:通过TC身份串(IdTC)识别可信中心(TC),可信中心具 有基于TC身份串(IdTC)的可信中心的基于身份的公共加密秘钥(gpub)。 而且,该方法可以包括:确定发送方是否具有发送方私人秘钥(Prvsender) 和用于所选可信中心(TC)的多个公共参数(PK),公共参数(PK) 包括可信中心的基于身份的公共加密秘钥(gpub)和双线性映射(e)。 而且,该方法可以包括:在加密明文消息(M)之前,使用TC身份串 (IdTC)验证可信中心(TC)的公共参数(PK)。而且,该方法可以 包括:通过接收方身份串(Idrecipient)识别接收方,接收方具有基于接 收方身份串(Idrecipient)的用于可信中心(TC)的接收方的基于身份的 公共秘钥加密(grecipient)。而且,该方法可以包括:使用公共参数(PK) 和接收方身份串(Idrecipient),生成接收方的基于身份的公共加密秘钥 (grecipient)。而且,该方法可以包括:使用公共参数(PK)、随机对 称秘钥(σ)和接收方的基于身份的公共加密秘钥(grecipient),将明文 消息(M)加密为密文(C),密文(C)包括加密消息。最后,该方 法可以包括:通过网络将密文(C)传送至接收方。

另一方面,本发明在于一种用于在具有发送方身份串(Idsender)的 发送方和具有接收方身份串(Idrecipient)的接收方之间的网络系统中使 用利用基于身份的加密的无证书认证加密(CLAE)的方法,在发送方 处,该方法可以包括:通过TC身份串(IdTC)识别可信中心(TC), 可信中心具有基于TC身份串(IdTC)的可信中心的基于身份的公共加 密秘钥(gpub);确定发送方是否具有发送方私人秘钥(Prvsender)和用 于可信中心(TC)的多个公共参数(PK),公共参数(PK)包括可信 中心的基于身份的公共加密秘钥(gpub)和双线性映射(e);在加密 明文消息(M)之前,使用TC身份串(IdTC)验证可信中心(TC)的 公共参数(PK);通过接收方身份串(Idrecipient)识别接收方,接收方 具有基于接收方身份串(Idrecipient)的用于可信中心(TC)的接收方的 基于身份的公共加密秘钥(grecipient);使用公共参数(PK)和接收方 身份串(Idrecipient),生成接收方的基于身份的公共加密秘钥(grecipient); 使用公共参数(PK)、随机对称秘钥(σ)和接收方的基于身份的公共 加密秘钥(grecipient),将明文消息(M)加密为密文(C),密文(C) 包括加密消息;以及通过网络将密文(C)传送至接收方。而且,在接 收方处,该方法可以包括:通过网络系统从发送方接收密文(C);确 定接收方是否具有接收方私人秘钥(Prvrecipient)和用于可信中心(TC) 的公共秘钥(PK);使用公共参数(PK)、以及接收方私人秘钥(Prvrecipient) 解密密文(C),以获得明文消息(M)。

另一方面,本发明在于一种在由具有发送方身份串(Idsender)的发 送方加密明文消息(M)之前,在基于身份的加密系统中验证来自可信 中心(TC)的多个公共参数(PK)的方法。该方法可以包括:通过TC 身份串(IdTC)识别可信中心(TC),可信中心具有基于TC身份串(IdTC) 的可信中心的基于身份的公共加密秘钥(gpub)。而且,该方法可以包 括:确定发送方是否具有发送方私人秘钥(Prvsender)和用于可信中心 (TC)的多个公共参数(PK),公共参数(PK)包括可信中心的基于 身份的公共加密秘钥(gpub)和双线性映射(e)。最后,该方法可以 包括:在通过比较利用包括发送方私人秘钥(Prvsender)和可信中心的 基于身份的公共加密秘钥(gpub)的变量计算的双线性映射(e)的值, 加密明文消息(M)之前,使用TC身份串(IdTC)验证可信中心(TC) 的公共参数(PK)。

另一方面,本发明在于一种用于使用基于身份的加密通过网络发 送加密消息的系统。该系统可以包括:具有TC身份串(IdTC)的可信 中心(TC)、具有发送方身份串(Idsender)的发送方、以及具有接收方 身份串(Idrecipient)的接收方。可信中心(TC)可以包括第一存储器和 一个或多个处理器,被配置用于:从安全参数(λ)生成多个公共参数 (PK)和秘密主秘钥(s),公共参数(PK)包括双线性映射(e)和 基于TC身份串(IdTC)的可信中心的基于身份的公共加密秘钥(gpub); 接收来自请求者的请求;如果来自请求者的请求包含识别请求者的标 识符(Id),则基于标识符(Id)和秘密主秘钥(s)生成私人秘钥(PrvId); 以及通过网络系统将私人秘钥(PrvId)传送至请求者;并且如果来自 请求者的请求包括对公共参数(PK)的请求,则通过网络系统将公共 参数(PK)传送至请求者。发送方可以包括第二存储器和一个或多个 处理器,被配置用于:通过TC身份串(IdTC)识别可信中心(TC), 确定发送方是否具有发送方私人秘钥(Prvsender)和用于可信中心(TC) 的公共参数(PK),在加密明文消息(M)之前,使用TC身份串(IdTC) 验证可信中心(TC)的公共参数(PK);通过接收方身份串(Idrecipient) 识别接收方,接收方具有基于接收方身份串(Idrecipient)的用于可信中 心(TC)的接收方的基于身份的公共加密秘钥(grecipient);使用公用 参数(PK)和接收方身份串(Idrecipient)生成接收方的基于身份的公共 加密秘钥(grecipient);使用公共参数(PK)、随机对称秘钥(σ)和接 收方的基于身份的公共加密秘钥(grecipient),将明文消息(M)加密为 密文(C),密文(C)包括加密消息;以及通过网络将密文(C)传 送至接收方。接收方可以包括第三存储器和一个或多个处理器,被配 置用于;通过网络系统从发送方接收密文(C);确定接收方是否具有 接收方私人秘钥(Prvrecipient)和用于可信中心(TC)的公共参数(PK); 使用公共参数(PK)和接收方私人秘钥(Prvrecipient)解密密文(C), 以获得明文消息(M)。

另一方面,本发明在于一种计算机程序产品,包括:计算机可读 存储器,在其上存储计算机可执行指令,当由计算机执行时,执行以 下方法:通过TC身份串(IdTC)识别可信中心(TC),可信中心具有 基于TC身份串(IdTC)的可信中心的基于身份的公共加密秘钥(gpub); 确定发送方是否具有发送方私人秘钥(Prvsender)和用于可信中心(TC) 的多个公共参数(PK),公共参数(PK)包括可信中心的基于身份的 公共加密秘钥(gpub)和双线性映射(e);在加密明文消息(M)之前, 使用TC身份串(IdTC)验证可信中心(TC)的所述公共参数(PK); 通过接收方身份串(Idrecipient)识别接收方,接收方具有基于接收方身 份串(Idrecipient)的用于可信中心(TC)的接收方的基于身份的公共加 密秘钥(grecipient);使用公共参数(PK)和接收方身份串(Idrecipient), 生成接收方的基于身份的公共加密秘钥(grecipient);使用公共参数(PK)、 随机对称秘钥(σ)和接收方的基于身份的公共加密秘钥(grecipient), 将明文消息(M)加密为密文(C),密文(C)包括基于明文消息(M) 的加密消息;以及通过网络将密文(C)传送至接收方。

本发明的进一步和其他特征从其实施例的以下详细说明对于本领 域技术人员将变得明显。

附图说明

现在与附图一起,可以对以下详细说明作出参考,在附图中:

图1示出根据本发明的实施例的网络系统;

图2示出根据本发明的实施例的用于发送加密消息的方法的流程 图;

图3示出根据本发明的实施例的在向可信中心登记的网络中的多 个用户;

图4示出根据本发明的实施例的用于向可信中心登记的被标记为 “身份串”的用户的流程图;

图5示出根据本发明的实施例的被标记为“用户A”的用户通过 使用基于身份的加密的无证书认证加密,将加密消息传送至网络中的 被标记为“用户B”的用户;

图6示出根据本发明的实施例的用于被标记为“用户A”的用户 加密到被标记为“用户B”的用户的消息的流程图;

图7示出根据本发明的实施例的用于被标记为“用户A”的用户 确定是否获得用于可信中心的公共秘钥的流程图;

图8示出根据本发明的实施例的用于被标记为“用户B”的用户 解密来自被标记为“用户A”的用户的消息的流程图;以及

图9示出根据本发明的实施例的用于被标记为“用户B”的用户 确定是否从可信中心获得其私人秘钥的流程图。

具体实施方式

根据本发明的实施例的网络系统10在图1中示出。网络系统10 包括可信中心20、通过诸如内联网、互联网等的网络2连接的被标记 为“发送方”的用户30和被标记为“接收方”的用户30。但是两个用 户30可以不同地被标记,应该理解,标记是任意的,并且可以基于加 密消息被发送的方向改变。“发送方”是可操作地将明文消息封装为 加密消息用于传输的用户30,并且“接收方”是可操作地从“发送方” 接收加密消息的用户30。当对加密消息响应时,“接收方”可以变为 “发送方”,并且反之亦然。

被标记为“发送方”和“接收方”的每个用户30均被配置有存储 器32和一个或多个处理器34。应该理解,可以包括本领域技术人员知 晓的任何附加硬件,诸如,专用电路、现场可编程门阵列(FPGA)等。 每个用户30都可以存在于结合必要操作系统、本领域技术人员已知的 软件和/或浏览器的独立计算机和/或移动设备上。

类似地,可信中心20可以存在作为专用服务器或作为分布式网络 的一部分,具有存储器22和一个或多个处理器24。可信中心20还可 以包括本领域中已知的附加硬件和软件组件,诸如,防火墙和关联安 全机制。可信中心20通过网络2连接至“发送方”和“接收方”。

在操作中,根据本发明的网络系统10可操作成使用无证书认证加 密(CLAE)方案,将信息从“发送方”传送至“接收方”。每个用户 30都可操作成与可信中心20通信,以获得各自私人秘钥(Prv)和多 个公共参数(PK)。公共参数(PK)专用于可信中心,其包括可信中 心的基于身份的公共加密秘钥(gpub)。一旦这些参数(即,Prv和PK) 由各自“发送方”和“接收方”获取,发送方和接收方可操作成通过 使用接收方的公共秘钥加密消息,通过安全信道,独立于可信中心20 通信,其中,接收方的公共秘钥由发送方使用从可信中心(TC)获取 的公共参数(PK)和与接收方相关联的接收方身份串(Idrecipient)本地 生成。而且,在加密消息之前,发送方可操作成使用发送方已知的可 信中心身份串(IdTC)验证可信中心(TC)的公共参数(PK),以确 保公共参数(PK)未被修改。

CLAE方案基于基于身份的加密并且如图2中所示的 优选实施例的流程图100中所示,通常如下操作:

a.在步骤110中,用户30(即,“发送方”)通过TC身份串(IdTC, 即,“xyz.com”或“TC的名称”)识别可信中心(TC)。

b.在步骤120中,“发送方”确定其是否具有发送方私人秘钥 (Prvsender)和与可信中心(TC)相关联或由可信中心(TC)生成的多 个公共参数。

c.在步骤130中,在加密明文消息(M)之前,“发送方”验证 可信中心(TC)的公共参数(PK)。验证处理依赖均由可信中心(TC) 生成的公共参数(PK)和发送方私人秘钥(Prvsender)的特性、以及已 知TC身份串(IdTC)和发送方身份串(Idsender)。特别是,验证处理 依赖双线性映射(e)的数学特性,其形成公共参数的一部分,如以下 进一步论述。

d.在步骤140中,“发送方”识别用户30(即,“接收方”), 以通过接收方身份串(Idrecipient)接收明文消息(M)。接收方身份串 可以是电子邮件地址、电话号码、名字等。

e.在步骤150中,“发送方”使用公共参数(PK)和接收方身份 串(Idrecipient)生成接收方的基于身份的公共加密秘钥(grecipient)。以 此方式,不要求与可信中心(TC)的通信,并且由可信中心(TC)发 布的证书不必须验证接收方的公共秘钥(grecipient)。本地生成接收方的 公共秘钥(grecipient)还允许离线加密。

f.在步骤160中,“发送方”将明文消息(M)加密为密文(C)。 密文(C)包括加密消息、以及解密消息所必须的辅助信息。附加认证 信息还可以被附着至密文(C)。

g.在步骤170中,“发送方”通过网络2将密文(C)传送至“接 收方”。当消息被加密时,可以通过不安全信道发送消息。用户将要 求接收方私人秘钥(Prvrecipient)和用于可信中心(PK)的公共参数, 以读取明文消息(M)。

以此方式,只要“发送方”具有所要求的公共参数(PK)及其自 己的发送方私人秘钥(Prvsender),“发送方”就能够将明文消息(M) 作为加密消息发送至“接收方”,而不访问可信中心(TC)。而且, 利用公共参数(PK)及其自己的发送方私人秘钥(Prvsender),“发送 方”能够验证公共参数(PK)未被损坏。以此方式,“发送方”可操 作成确保仅具有接收方私人秘钥(Prvrecipient)的“接收方”能够解密密 文(C)。

为了实现CLAE方案和上述优选实施例的方法,利用四个主要算 法。应该理解,附加算法、应用编程接口(API)、方法、和/或函数将 由本领域技术人员知晓和/或实现,以提供实现根据本发明的网络系统 所必须的公共功能和操作。根据优选实施例的四个主要算法包括:

Setup(λ):该算法由可信中心20(即,系统管理者员)运行,其提 供加密/解密服务。其将安全参数(λ)看作输入,并且将CLAE的公共 参数(PK)看作输出,并且将管理员(例如,具有身份串“admin”) 的秘密主秘钥(s)看作可信中心(TC)。

Keygen(Id,s):该算法也由可信中心20(即,管理员)运行,其 贯穿系统分发私人秘钥(Prv)。其将可以从用户30接收的身份串(Id) 以及来自管理员的秘密主秘钥(s)看作输入。其输出将在Auth-Decrypt() 算法中被用于解密的私人秘钥(PrvId),并且该私人秘钥还可以被结 合到Verifi-Encrypt()算法中,以允许发送消息的认证。虽然Keygen() 算法由可信中心20运行,但是其可以代表将其身份串(Id)提供给可 信中心(TC)的用户运行。

Verifi-Encrypt(Id,PK,M):该算法由希望加密敏感数据(即,“发 送方”)的各个用户30独立运行。其将接收方的身份串(Id、或更特 别地,Idrecipient)、公共参数(PK)的集合和明文消息(M)看作输入。 该算法首先在用于特定可信中心20的给定管理网络下,验证公共参数 (PK)是否是真实的,并且然后输出密文消息(C),其中,C= <V,U,W,Y>,并且其中,V、U和W是解密并且恢复明文消息M所必 须的参数,并且Y是可以由接收方使用以认证发送方的参数。

Auth-Decrypt(PrvId,PK,C):该算法由为密文(C)的接收方并且 希望解密并且从密文(C)访问明文消息(M)的各个用户30独立地 运行。该算法将接收方的私人秘钥(PrvId,或更特别地,Prvrecipient)、 公共参数(PK)和密文消息(C)看作输入。如果接收方在与接收方的 身份串(Id)相关联的相同管理网络下具有合适私人秘钥(PrvId),则 该算法输出明文消息(M)。

以下将进一步论述根据优选实施例的四个提及的算法中的每个的 内部结构,包括可以提供所涉及算法的功能的数学基础。

双线性配对

CLAE方案基于双线性配对。双线性配对形式上被如下限定:

使G和GT为素数p的群,并且使g是G的发生器。双线性映射 是从G x G到GT的有效可计算函数,使得其具有以下特性:

1.双线性:对于所有g、g’、h、h’∈G,

e:G×G→GT

e(gg′,h)=e(g,h)e(g′,h),

e(g,hh′)=e(g,h)e(g,h′)

注意,该e(.,.)是对称的,即,e(ga,gb)=e(gb,ga)=e(g,g)aba,b.

2.非退化性:如果对于所有h∈G,e(g,h)=1,则g=I(身份)。

Weil配对和Tate配对是通过对于密码系统有用的椭圆曲线群的有 效线性映射的两种实现,如在Ian F.Blake,Gadiel Seroussi和Nigel P. Smart,editors,Advances in Elliptic Curve Cryptography,Cambride  University Press,2005中描述的,其内容通过引用完全结合于此。密码 双线性映射必须具有在以下部分中解释的复杂特性。

复杂性假定

通常,密码双线性映射需要为单向函数,即,计算双线性配对应 该是有效的,但是逆必须很难。双线性迪菲-赫尔曼(BDH)复杂性假 定涉及解决通过大代数群的离散对数问题(DLP)的困难。

定义1(BDH假定):使得G和GT是素数p的群,双线性映射e: G×G→GT,其中,g是用于G的发生器,并且假设 {ga,gb,gc},在不知晓a、b或c的情况下,计算e(g,g)abc∈GT很难。

非正式地,BDH假定的判定变量规定,正确区分e(g,g)abc∈GT与随 机选择R∈GT的概率是可忽略的□。如果对于任何d>0,我们使得对于 足够大λ,g(λ)<1/λd,则函数g:R→R可忽略。正式定义如下进行。

判定BDH假定:假设挑战者随机地选择a,b,c,z∈Z*p。g是用于 通过其限定双线性映射e(.,.)的群G的发生器。判定BDH假定规定,非 多项式时间对手可以区分元组<A=ga,B=gb,C=gc,Z=e(g,g)abc>与具有不 可忽略概率的元组<A=ga,B=gb,C=gc,Z=e(g,g)z>。

这是密码系统中的标准假定,并且提供用于主要方案的安全性的 证据基础。

无证书认证加密

使用以上提供的双线性映射和假定的本发明的优选实施例中的 CLAE方案中的主要算法的详情如下给出:

Setup(λ):其将安全参数λ看作输入,并且然后生成素数p的群G 和GT和双线性映射e。群的大小由λ确定。我们用“admin”标记可信 中的身份串,注意,可以使用表示可信中心的任何其他串,例如 “abc.com”或“xyz.com”。选择共享秘钥为n位长的对称秘钥加密函 数□。我们通过D表示对应于□的解密函数,并且应该清楚,通过知晓 □,很容易找到D。选择三个密码散列函数H1、H2和H3,使得 H1:{0,1}*→G,H2:GT→{0,1}n,以及H3:{0,1}n×{0,1}n→Z*p。随即选择 并且设置gadmin=H1(“admin”)∈G。计算作为可 信中的公共秘钥。我们用包括描述<G,GT,e,gpub,H1,H2,H3,□>的公共参 数(PK)表示CLAE的公共参数。将s设置为秘密主秘钥,其仅被可 信中心知晓。输出PK和s。

KeyGen(Id,s):其将用户的身份串(Id)和管理员的秘密主秘钥(s) 作为输入。其计算gid=H1(Id)∈G并且将用户的私人秘钥设置为 然后,其输出PrvId以及公共参数(PK),并且例如通过 安全信道,与用户秘密地共享它。用户的私人秘钥(PrvId)还可以例 如亲自通过移动设备的短消息服务(SMS),经由随后丢弃的纸张等, 通过其他安全机制与用户共享。虽然私人秘钥(PrvId)必须保持安全, 但是公共参数(PK)非常能适应攻击,并且可能甚至通过不安全信道 被发送和/或被公开地广播。

Verifi-Encrypt(Id,PK,M):其将接收方的身份串(Id)(即, Idrecipient)和公共参数(PK)的集合作为输入。明文消息M被如下加密: 该方法首先通过比较e(Prvsender,gpub)与e(gsender,gad min),在所选可信中心下 验证公共参数(PK)是真实的。回忆起,对于和的正确值,我们使得:e(Prvsender,gpub)=e(gsender1/s,gadmins)=e(gsender,gadmin).

如果使用不同可信中心,例如,“another-admin”,通过选择可 信中心的公共秘钥,即,用于“another-admin”的gpub,并且比较 e(Prvsender,gpub)=e(gsrnder,ganother-ad min),验证处理进行相同处理。该验证处 理是确认在加密中使用正确公共参数(PK)的重要步骤。应该注意, 仅固定参数是可信中心的公共秘钥(gpub)和发送方的私人秘钥 (Prvsender),其已从可信中心(TC)被获取。每次使用公共参数(PK) 以及发送方和可信中心的身份串(Idsender和IdTC)执行验证时,都本地 生成参数gsender和gadmin。如果验证通过,则选择随机对称秘钥(σ)并 且输出加密密文(C),其中,C=<V,U,W,Y>,并且其中,V、U、W 和Y被如下计算:

其中r=H3(σ,M)

U=σH2(e(g1dr,gadmin))

W=□σ(M)

Y=H2(e(Prvsender,gId)r)

应该注意,对于发送方,在以上公式中使用的身份串(Id)是接 收方的身份串(Idrecipient)。

Auth-Decrypt(PrvId,PK,C):其将接收方的私人秘钥(PrvId,或更 特别地,Prvrecipient)、公共参数(PK)和加密密文(C)看作输入,其 中,C=<V,U,W,Y>。如果接收方在与Id相关联的相同可信域下具有合 适私人秘钥(PrvId),则算法将如下输出消息M:首先计算 σ=UH2(e(PrvId,V)),其中,PrvId=gId1/s,并且然后输出

M=Dσ(W)

注意,Y被用于如下认证发送方:接收方使用M和σ,以通过计 算r=H3(σ,M)检索r。然后,算检验是否Y=H2(e(gsender,PrvId)r)。 如果是,则发送方被认证,并且加密密文(C)来自所要求的发送方。 另外,接收方拒绝发送方。

正确性:很容易检验解密正确地恢复M。注意,并且从而,我们得到

e(PrvId,V)=e(gId1/s,gpubr)=e(gId1/s,gadminrs)=e(gIdr,gadmin)

从而,UH2(e(PrvId,V))=σH2(e(gIdrgsenderr,gadmin))H2(e(PrvId,V))=σ,其然 后被应用至D,以根据要求,解密W并且检索M。还容易检验 e(gsender,PrvId)r如下返回Y,用于r和s的正确值:

e(gsender,PrvId)r=e(gsender,gId1/s)r=(gsender1/s,gId)r=e(Prvsender,gId)r

如上所述,可信中心20被配置成通过运行Setup(λ)算法初始化无 证书认证加密(CLAE)系统的设置,并且通过响应来自网络系统10 中的不同用户30的KeyGen(Id,s)函数调用,管理私人秘钥(Prv)和 公共参数(PK)的分发。当启动时或者当可信中心20通过生成新秘密 主秘钥(s)和新公共参数(PK)为其本身确定必须更新或重置网络系 统10的安全性时,可信中心20可以自己初始化Setup(λ)算法。例如, Setup(λ)可以根据更新时间表等运行。

使用以上在优选实施例中描述的数学基础,网络系统10中的用户 30能够使用CLAE方案加密和解密消息。

现在转到图3,网络系统10中的不同用户30可操作成向可信中 心20登记,并且获取公共参数(PK)以及他们各自的私人秘钥(Prv)。 例如,用户30可以调用由可信中心20可用的KeyGen函数28。

可信中心20还可以提供Setup函数26用于用户调用。当被调用 时,Setup函数26可以初始化Setup(λ)算法,以通过生成新秘密主秘钥 (s)和新公共参数(PK),更新和/或重置网络系统10的安全性。

现在参考图4,用户30可操作成通过首先向可信中心20认证其 本身,向可信中心20登记。用于认证的不同手段可以被用于向可信中 心20认证用户30,如本领域中已知的。例如,可以使用基于密码的认 证、诸如来自麻省理工学院的Kerberos协议的挑战-响应协议、生物测 定认证(即,指纹、视网膜)等。一旦用户30认证了其本身,用户30 就可操作成调用由可信中心20提供的KeyGen函数28,并且将其身份 串(Id)提交到可信中心(TC)。在图4中,用户30被标记为“身份 串”(即,“ID串”)。然后,可信中心(TC)使用由用户30提供 的身份串(Id)和其自己的秘密主秘钥(s),调用KeyGen(Id,s)算法。 进而,可信中心20接收用于用户30的私人秘钥(PrvID string),然后, 可信中心20将其传递到用户30。可信中心20还可以将需要基于它们 的身份串(Id)本地生成其他用户的基于身份的公共加密秘钥的公共参 数(PK)传递到用户30,作为KeyGen函数28的一部分。

一旦用户30具有其各自私人秘钥(Prv)和包括可信中心的基于 身份的公共加密秘钥(gpub)的公共参数(PK),发送方就能够在不联 系可信中心20的情况下,将加密消息发送至接收方。证书授权不是必 须的。作为代替,用户30能够使用用户30已知的接收方身份串 (Idrecipient)和公共参数(PK),本地生成接收方公共秘钥(grecipient)。

现在参考图5,在优选实施例中示出从被标记为“用户A”的用户 30A到被标记为“用户B”的用户30B的传输。加密消息的发送可以 在不联系可信中心20的情况下完成。作为代替,接收方的基于身份的 公共加密秘钥(即,gUser B)由发送方(即,“用户A”)本地生成。

在一些实施例中,本发明的CLAE方案对于加密诸如视频、音频 和其他媒体的大文件可能无效。在这样的情况下,可能期望使用常规 对称加密方案,诸如,先进加密标准(AES)、三倍数据加密方案(TDEA 或3DES)等,以传送大文件。然后,本发明的CLAE方案可以用于传 送常规对称加密方案的常规加密秘钥(Σ)作为将被保护的明文消息 (M)。以此方式,所传送的文件可以使用常规对称加密方案被对称加 密,常规加密秘钥(Σ)使用本发明的CLAE方案与加密数据被一起传 送。

现在参考图6,示出说明由被标记为“用户A”的用户30A使用 的用于加密用于被标记为“用户B”的用户的消息的方法的流程图600。 在步骤610中,发送方(即,用户30A或“用户A”)识别或者选择 可信中心(TC),以使加密消息与其相关联。发送方通过其TC身份 串(IdTC)识别可信中心(TC),即,标签“TC”。

接下来,在步骤612中,发送方确定其是否具有包括可信中心的 基于身份的公共加密秘钥(gpub)的用于可信中心(TC)的多个公共参 数(PK),或者发送方在处理之前是否必须获取TC的公共秘钥。简 单地参考图7,发送方通过比较发送方已经存储在存储器中的任何gpub是否与可信中心的身份串(IdTC)相关联,确定其是否需要获取TC的 公共秘钥。如果不是,则用户30A使其本身向可信中心20认证,并且 调用KeyGen函数,以接收其自己的私人秘钥(PrvUser A)和可信中心 的公共参数(PK),如当在图4中的登记新用户30时先前描述的。

返回到图6,一旦发送方相信其具有合适公共秘钥gpub,发送方就 在步骤614中使用发送方的私人秘钥(Prvsender,或更特别地,PrvUser A) 验证TC的公共秘钥gpub,如以上关于Verifi-Encrypt(Id,PK,M)算法描 述的。特别是,发送方计算e(Prvsender,gpub),并且使用与可信中心20相 关联的公共参数(PK)中的不同参数,比较其与e(gsender,gad min)。如上所 述,TC的公共秘钥gpub和发送方私人秘钥(PrvUser A,即,Prvsender) 是由发送方从可信中心(TC)接收和存储的固定值。然而,公共秘钥 gsender和gadmin一直使用公共参数(PK)和发送方身份串(Idsedner,即, “用户A”)和可信中心身份串(IdTC,即,“admin”)被本地生成。 如果如上所述满足e(Prvsender,gpub)=e(gsender,gad min),则发送方可以保证公共参 数(PK)未被篡改。

一旦发送方验证了公共参数(PK),通过使用常规对称加密方案 (即,AES、3DES等),选择用于加密诸如大文档或视频/音频文件的 实际机密数据的常规加密秘钥(Σ),发送方可以开始。然后,明文消 息(M)被设置成包括将由CLAE Verifi-Encrypt()算法保护的常规对 称加密方案的常规加密秘钥(Σ),如步骤616中所示。接下来,如在 步骤618中所示,机密数据使用常规对称加密方案被对称加密,并且 常规加密秘钥(Σ)被存储为明文消息(M)(或其一部分)。

接下来,在步骤620中,发送方计算如以上关于Verifi-Encrypt(Id, PK,M)算法描述的密文(C)的每个成分,以使用在公共参数(PK)内 找到的对称秘钥加密函数(□)并且使用由发送方本地生成的随机对称 秘钥(σ),对称地加密明文消息(M)。特别是,使用与接收方相关 联的接收方身份串(Idrecipient,即,“用户B”)、每次Verifi-Encrypt(Id, PK,M)运行时随机生成的随机对称秘钥(σ)、和可信中心的基于身份 的公共秘钥、以及公共参数(PK)中的其他公共参数,V、U和W中 的每个都被计算用于特定可信中心(TC)。

在步骤622中,通过使用发送方私人秘钥(Prvsender,或更特别地, PrvUser A)返回用于接收方的密文成分Y,标记加密消息。接收方可操 作成使用该密文成分Y,认证所接收的消息。

最后,密文(C)在步骤624中被封装在一起,并且准备附着到将 被发送至接收方的传输。密文(C)的成分可以被封装为文件(即, “cip.key”)或者在本领域中的其他方法和/或结构内。然后,使用常 规对称加密方案以及包含存储在明文消息(M)中的常规加密秘钥(Σ) 的文件“cip.key”对称加密的数据准备用于传输到接收方,并且可以 通过不安全信道作为合适加密消息被发送。

当接收到密文(C)时,即,如存储在文件“cip.key”中的,接收 方可操作成解密密文(C),以检索包含用于加密实际数据的常规加密 秘钥(Σ)的明文消息(M)。现在参考图8,示出说明被标记为“用 户B”的用户30B解密来自被标记为“用户A”的消息的流程图800。 在步骤810中,接收方(即,用户30B或“用户B”)从所接收的传 输检索密文(C)。例如,密文(C)可以被封装为文件“cip.key”。

接下来,在步骤812处,接收方确定其是否需要从可信中心(C) 获取接收方私人秘钥(Prvrecipient,或更特别地,PrvUser B)。简单地参 考图9,接收方通过比较接收方可能已经存储在存储器中的任何PrvUserB是否与可信中心的身份串(IdTC,即,“admin”)相关联,确定其是 否需要获取用于特定可信中心(TC)的接收方私人秘钥(PrvUser B)。 如果不是,则用户30B使其本身向可信中心20认证,并且调用KeyGen() 函数,以接收其自己的私人秘钥(PrvUser B)和可信中心的公共秘钥gpub, 如当在图4中登记新用户30时先前描述的。此时,接收方还可以从可 信中心(TC)接收更新后的公共参数(PK)的集合。

返回图8,在步骤814中,接收方现在能够使用接收方私人秘钥 (PrvUser B)和公共参数(PK),解密密文(C)的不同成分V、U和 W。从这些成分看,接收方能够检索存储在明文消息“M”和“r”中 的常规加密秘钥(Σ),如在Auth-Decrypt(PrvId,PK,C)算法中描述的。 而且,在步骤816中,接收方可操作成通过检查密文(C)成分Y,验 证消息的发送方。如在Auth-Decrypt(PrvId,PK,C)算法中描述的,发送 方可以通过计算Y=H2(e(Prvsender,grecipient)r)被认证。从而,因为 e(gsender,Prvrecipient)=e(Prvsender,grecipient),接收方可操作成验证发送方是否满 足Y=H2(e(gsender,Prvrecipient)r),其中,gsender从发送方身份串(Idsender)本地 生成。

最后,一旦发送方已被验证,则接收方可操作成恢复包含由常规 对称加密方案使用以加密机密数据的常规加密秘钥(Σ)的明文消息 (M)。密文消息(M)使用随机对称秘钥(σ)和对称秘钥加密函数□ 被恢复,以容易地确定D,如以上在Auth-Decrypt(PrvId,PK,C)算法 中描述的。使用存储在明文消息(M)中的常规加密秘钥(Σ),接收 方可操作成使用常规对称加密方案解密所发送的消息。解密处理现在 完成。

如以上在本发明的优选实施例中描述的CLAE允许期望接收方在 不存储或参考任何公共秘钥证书的情况下验证发送方的身份。如果接 收方成功地解密密文(C),则接收方使用公共参数(PK)和发送方身 份串(Idsender),基于双线性映射(e)的特性,认证发送方。认证是 CLAE的主要部分,并且以此方式,比将附加认证成分单独添加至加密 处理,更有效地验证发送方。根据本发明的优选实施例的CLAE方案 将确保不仅敏感数据保持机密的,而且机密数据的发送方是可信的。 应该注意,通过从其他认证/数字签名方案存在的应用中的密文(C) 去除Y,可以使得认证是可选的。

动态授权

根据本发明的优选实施例的CLAE方案中的加密秘钥从由例如域 名称、电话号码等的可信中心的标识符计算的动态参数导出。

该新设计在具有多次授权的工作中具有更大的灵活性。在接收方 可以解密并且检索敏感数据之前,加密数据的发送方可以强迫详细描 述关于接收方的访问条件。发送方可以不仅选择接收方是谁,而且选 择接收方如何接收其私人秘钥(Prvrecipient)。例如,描述串可以与TC 身份串(IdTC)结合或被附加有TC身份串,以增加接收方从可信中心 (TC)获取其私人秘钥(Prvrecipient)所必须的由可信中心(TC)要求 的认证等级。通过可信中心(TC)可以迫使接收方,通过满足由描述 串提供的其附加条件,进一步认证其本身。附加描述串可以包括接收 方的角色、接收方的年龄、接收方的位置、有效期限等。

作为实例,发送方可以选择bob@abc.com作为加密消息的接收方 的身份,并且可以将“abc.com-December-2013”设置为可信中心的公 共身份串(TCId),有效期限为2013年12月。然后,通过本地计算新 gadmin-new,TC身份串的发送方的描述(TCId)被强迫在密文(C)中。 如果发送方拥有与新gadmin-new相对应的可信中心(TC)的公共秘钥 则其可以通过Verifi-Encrypt()进行,如上所述。否则, 迫使发送方获取新gpub,如关于图7所示的。

超过这个日期,加密算法将从可信中心接收新公共秘钥,并且可 以使用其生成新加密秘钥。然后,迫使接收方从可信中心更新其私人 秘钥。这在系统中的用户的身份在扩展周期内保持不变的条件下非常 有用,但是对于使得私人秘钥周期性地和/或频繁地更新的安全原因有 益。在接收方侧,如果相同秘密主秘钥(s)被用于计算可信中心的新 的基于身份的公共加密秘钥gpub-new,则不必须对接收方的私人秘钥 (Prvrecipient)或加密算法作出改变。然而,如果使用不同秘密主秘钥(s), 则将迫使接收方接收与具有新TC身份串(IdTC-new)的可信中心(TC) 的秘密主秘钥相对应的新私人秘钥,如图9中所示。

应该注意,如果发送方决定使用诸如“xyz.com”而不是“abc.com” 的不同服务器(可信授权),可以使用相同加密算法。仅加密算法的 差异存在于使用新可信中心的新可信中心的基于身份的公共加密秘钥 (gpub)中,并且其他保持相同。

信任的交换

如上所述,新CLAE方案允许发送方在各种可信授权下与任何接 收方秘密通信。例如,发送方可以将加密消息从“abc.com”域(通过 秘密主秘钥s)发送至“xyz.com”域(具有秘密主秘钥s’)中的某人。 根据是否s=s’,两种不同情况可能发生。

a.如果s=s’:发送方在加密中使用新可信中心的公共秘钥(s’)。 通过新公共秘钥(s’),加密过程中的其他与之前完全相同。在解密算 法中不要求进一步改变,并且期望接收方在使用相同私人秘钥(PrvId) 之前解密密文。

b.如果s≠s’:发送方在加密中使用新可信中心的公共秘钥(s’)。 通过新公共秘钥(s’),加密过程中的其他与之前完全相同。现在迫使 期望接收方使其本身向由发送方选择的新可信中心认证,以便接收对 应新私人秘钥Prv’Id。在解密算法中不要求进一步改变,并且在使用新 私人秘钥Prv’Id之前,期望接收方解密密文(C)。

以此方式,发送方控制哪个可信中心(TC)与其相关联,并且可 以迫使接收方向其选择的可信中心(TC)认证。从而,发送方可以依 靠选择其优选可信中心的附加安全性,以生成私人秘钥(PrvId)并且 将私人秘钥(PrvId)提供给接收方。然后,责任可以被赋予接收方, 以与可靠可信中心相关联,并且使其本身向发送方选择的可信中心 (TC)认证,以接收用于接收方的私人秘钥(Prvrecipient)。

虽然本公开描述和示出了本发明的特定优选实施例,但是还将理 解,本发明不限于这些特定实施例,而是,本发明包括为在此描述和 示出的特定实施例和特征的功能或机械等同物的所有实施例。权利要 求的范围应该不限于在实例中阐述的优选实施例,而是由与说明书总 体一致的广泛解释给出。

将理解,虽然本发明的多种特征关于本发明的一个或另一个实施 例被描述,但是本发明的多种特征和实施例可以与在此描述和示出的 本发明的其它特征和实施例结合或结合使用。而且,虽然在此描述的 多种方法可能涉及特定顺序和数量的步骤,但是应该理解,在此描述 的方法步骤的顺序和/数量应该不被解释为限制性的,由本领域技术人 员将理解步骤的其他顺序和/或数量。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号