用户计算机的认证的制作方法

文档序号:10697701阅读:197来源:国知局
用户计算机的认证的制作方法
【专利摘要】本发明涉及用户计算机的认证。提供了用于向可连接到移动网络的用户计算机附近的检验方服务器认证用户计算机的计算机实现的方法。用户计算机存储属性证书,所述属性证书证明一组用户属性和用于向移动网络标识用户计算机的设备标识符。用户计算机与移动网络通信以便获得位置证书。所述位置证书证明所述设备标识符和位置数据,所述位置数据指示由所述移动网络确定的所述用户计算机的当前位置。用户计算机生成认证令牌,所述认证令牌包括属性证书、位置证书、位置数据、以及用于证明所述属性证书中的设备标识符等于所述位置证书中的设备标识符的证据。用户计算机将所述认证令牌发送到所述检验方服务器以用于用户计算机的认证。
【专利说明】
用户计算机的认证
技术领域
[0001] 本发明一般地设及用户计算机的认证,更具体地说,设及可连接到移动网络的用 户计算机向所述用户计算机附近的检验方服务器的认证。
【背景技术】
[0002] 在许多情形中,用户计算机可W用于向附近的检验方服务器认证。例如,诸如移动 电话、平板计算机、PDA之类的用户计算机可W存储信息,当将该信息提供给检验方服务器 时,该信息可W用于获得对服务或其它资源的访问。示例性实例包括:使用存储在用户计算 机上的支付数据(例如信用卡详细信息),在销售点终端处支付商品/服务款项;W及基于存 储在用户计算机上的授权数据,证明有权进入建筑物或其它设施。此处的一个问题是用户 计算机可能被恶意软件感染。该恶意软件可W试图捕获所存储的信息,并且使用该信息认 证不同用户计算机。存储在移动电话上的认证信息例如可W由恶意软件发送到恶意方,并 且然后用于W该用户的名义在别处获得商品/服务。
[0003] 众所周知,在某些支付系统中,作为支付授权过程的一部分,从移动网络运营商获 得用户移动设备的位置并且将该位置与商家位置相比较。如果两个位置不一致,则确定安 全问题。但是,已知系统往往危及用户隐私和/或需要复杂的操作过程。

【发明内容】

[0004] 根据本发明的第一实施例,提供一种用于向可连接到移动网络的用户计算机附近 的检验方服务器认证所述用户计算机的计算机实现的方法。所述用户计算机存储属性证 书。所述属性证书证明一组用户属性和用于向所述移动网络标识所述用户计算机的设备标 识符。所述用户计算机与所述移动网络通信W便获得位置证书。所述位置证书证明所述设 备标识符和位置数据,所述位置数据指示由所述移动网络确定的所述用户计算机的当前位 置。所述用户计算机生成认证令牌,所述认证令牌包括所述属性证书、所述位置证书、所述 位置数据、W及用于证明所述属性证书中的所述设备标识符等于所述位置证书中的所述设 备标识符的证据。所述用户计算机将所述认证令牌发送到所述检验方服务器W用于所述用 户计算机的认证。
[0005] 上面的实施例提供一种非常简单的认证方法,并且具有高级别的用户隐私。可W 确认所述用户计算机在正确位置处,即,在所述检验方服务器附近,但所述用户计算机不需 要掲示所述设备标识符,因为所述证据展示所述位置证书与所述属性证书证明了相同标识 符。
[0006] 本发明的另一个实施例提供一种计算机程序产品,其包括计算机可读存储介质, 所述计算机可读存储介质具有随其包含的程序指令,所述程序指令可由用户计算机执行, W使得所述用户计算机执行根据上面第一实施例的方法。
[0007] 本发明的另一个实施例提供一种用于向可连接到移动网络的用户计算机附近的 检验方服务器认证所述用户计算机的计算机实现的方法,其中所述用户计算机存储属性证 书,所述属性证书证明一组用户属性和用于向所述移动网络标识所述用户计算机的设备标 识符。所述方法包括在所述检验方服务器处,接收来自所述用户计算机的认证令牌。所述认 证令牌包括所述属性证书、位置证书、位置数据W及证据,所述位置证书证明所述设备标识 符和所述位置数据,所述位置数据指示由所述移动网络确定的所述用户计算机的当前位 置,所述证据用于证明所述属性证书中的所述设备标识符等于所述位置证书中的所述设备 标识符。所述检验方服务器从所述证据检验所述属性证书中的所述设备标识符等于所述位 置证书中的所述设备标识符。所述检验方服务器还检验所述位置证书证明了所述位置数 据,并且判定由所述位置数据指示的所述用户计算机的当前位置是否在所述检验方服务器 附近。所述检验方服务器还判定由所述属性证书证明的所述一组用户属性是否满足所述用 户计算机的认证条件。
[0008] 有利地,所述位置证书可W进一步证明指示所述位置证书的发行时间的时间戳。 该时间戳可W被包括在所述认证令牌中。所述检验方服务器可W检验所述位置证书证明了 所述时间戳,并且判定由所述时间戳指示的所述发行时间是否在当前时间之前的预定时间 间隔内。然后仅可在发行之后的预定时间间隔内使用所述认证令牌。
[0009] 所述属性和位置证书可编码形式被包括在所述认证令牌中。优选实施例包括 在所述用户计算机处,通过所述属性证书的随机盲化产生盲化属性证书。所述盲化属性证 书可W被包括在所述认证令牌中,并且所述证据可W适于证明所述用户计算机拥有所述盲 化属性证书中的所述属性证书。所述用户计算机同样可W产生盲化位置证书W便包括在所 述认证令牌中,并且所述证据适于证明所述用户计算机拥有所述盲化位置证书中的所述位 置证书。运种证书随机盲化的使用可W通过防止经由使用证书链接具有相同用户计算机的 不同交易来提供增强的隐私性。
[0010] 在一个有利的实施例中,所述检验方服务器将策略数据发送到所述用户计算机。 所述策略数据定义所述用户计算机的认证条件。所述用户计算机接收所述策略数据,所述 用户计算机产生所述认证令牌中的所述证据,使得所述证据适于证明所述属性证书中的所 述一组用户属性满足该认证条件。所述检验方服务器然后可W从所述证据检验所述一组用 户属性满足所述认证条件。运可W进一步增强隐私,因为所述用户计算机仅需掲示与认证 具体需要的一组属性有关的信息。
[0011] 在一个优选实施例中,所述检验方服务器可W向所述用户计算机发送定义所述认 证的上下文信息的上下文消息。由所述用户计算机生成的所述证据可W依赖于所述上下文 消息。所述检验方服务器然后可W检验所述证据依赖于所述上下文消息。运提供增加的安 全性,因为所述认证令牌仅可用于由所述上下文信息标识的特定认证过程。
[0012] 下面将通过示例性和非限制性实例的方式,参考附图更详细地描述本发明的实施 例。
【附图说明】
[0013] 图1是其中可W采用体现本发明的认证方法的系统的示意性表示;
[0014] 图2是用于图1系统中的用户计算机的示意框图;
[0015] 图3示出图1系统中的认证过程的步骤;W及
[0016] 图4示出认证过程的另一个实施例的步骤。
【具体实施方式】
[0017] 本发明可W是系统、方法和/或计算机程序产品。计算机程序产品可W包括计算机 可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0018] 计算机可读存储介质可W是可W保持和存储由指令执行设备使用的指令的有形 设备。计算机可读存储介质例如可W是一但不限于一电存储设备、磁存储设备、光存储设 备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更 具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储 器(ROM)、可擦式可编程只读存储器巧PROM或闪存)、静态随机存取存储器(SRAM)、便携式压 缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存 储有指令的打孔卡或凹槽内凸起结构、W及上述的任意合适的组合。运里所使用的计算机 可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过 波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的 电信号。
[0019] 运里所描述的计算机可读程序指令可W从计算机可读存储介质下载到各个计算/ 处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外 部存储设备。网络可W包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关 计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计 算机可读程序指令,并转发该计算机可读程序指令,W供存储在各个计算/处理设备中的计 算机可读存储介质中。
[0020] 用于执行本发明操作的计算机可读程序指令可W是汇编指令、指令集架构(ISA) 指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者W-种或多种编程 语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如 Smalltalk、C++等,W及常规的过程式编程语言一诸如"C"语言或类似的编程语言。计算机 可读程序指令可W完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独 立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机 或服务器上执行。在设及远程计算机的情形中,远程计算机可W通过任意种类的网络一包 括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可W连接到外部计算机(例如利 用因特网服务提供方来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令 的状态信息来个性化电子电路,例如可编程逻辑电路、现场可编程口阵列(FPGA)或可编程 逻辑阵列(PLA),该电子电路可W执行计算机可读程序指令,从而实现本发明的各个方面。
[0021] 运里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/ 或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框W及流程图和/ 或框图中各方框的组合,都可W由计算机可读程序指令实现。
[0022] 运些计算机可读程序指令可W提供给通用计算机、专用计算机或其它可编程数据 处理装置的处理器,从而生产出一种机器,使得运些指令在通过计算机或其它可编程数据 处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功 能/动作的装置。也可W把运些计算机可读程序指令存储在计算机可读存储介质中,运些指 令使得计算机、可编程数据处理装置和/或其它设备W特定方式工作,从而,存储有指令的 计算机可读存储介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方 框中规定的功能/动作的各个方面的指令。
[0023] 也可W把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它 设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,W产生计算机 实现的过程,从而使得在计算机、其它可编程装置、或其它设备上执行的指令实现流程图 和/或框图中的一个或多个方框中规定的功能/动作。
[0024] 附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在运点上,流程图或框图中的每个方框可W代 表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用 于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能可 不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可W基本并行地执行, 它们有时也可W按相反的顺序执行,运依所设及的功能而定。也要注意的是,框图和/或流 程图中的每个方框、W及框图和/或流程图中的方框的组合,可W用执行规定的功能或动作 的专用的基于硬件的系统来实现,或者可W用专用硬件与计算机指令的组合来实现。
[0025] 图1的系统1包括可连接到移动网络3的用户计算机2W及检验方服务器4,检验方 服务器4由在此称为"服务提供方"的实体操作。用户计算机2可W由检验方服务器4附近的 设备用户使用W便向检验方服务器认证,从而获得或访问由服务提供方控制的某个资源。 可W在许多情形中执行运种认证过程。例如,认证可W作为交易(例如在商店或咖啡厅支 付)的一部分执行,或者为了进入建筑物或其它设施(例如,使用会员卡进入俱乐部),或者 为了获得服务提供方限制对其访问的某个项目或其它资源。设备用户可W通过输入用户密 码P对用户计算机2进行解锁W便实现认证过程。运可W包括PIN(个人身份号码)或其它字 母数字字符串、生物测量数据(例如指纹扫描或语音样本)或其它方便的个人标识符。
[0026] 用户计算机2例如可W是移动电话、平板计算机、掌上型计算机、膝上型计算机、笔 记本计算机、PDA(个人数字助理)、个人音乐播放器或者可连接到移动网络的其它移动计算 机设备。在下面描述的一个实施例中,移动网络3包括蜂窝电信网络。在其它实施例中,移动 网络可W包括基于Wi-Fi的移动网络,或者其中可W标识移动计算机设备的位置W便经由 网络与设备通信的任何其它网络。检验方服务器4例如可W包括销售点设备(例如收银机或 其它支付终端)、ATM(自动柜员机)、停车计时器、自动贩卖机、自动售票机、接入点设备(例 如用于控制进入建筑物或其它设施),或者用户可W出于认证目的而在其中提供用户计算 机2的任何其它设备。认证过程需要用户计算机存在于检验方服务器附近。认证过程的用户 计算机与检验方服务器之间的通信通常可W通过通信通道进行,该通信通道经由临时物理 连接或无线链路提供。通信通道可W利用诸如NFC(近场通信)、Wi-Fi或其它无线LAN(局域 网)协议之类的局部通信协议,但通常可W经由任何方便的通信机制或网络被提供。
[0027] 用户计算机2存储设备标识符sidW便向移动网络3标识用户计算机。用户计算机 还存储属性证书Catt,属性证书Catt至少证明设备标识符Sid和一组用户属性att。通过经由 加密算法对要证明的数据项(通常称为"属性")进行编码,W已知方式加密地实现此类证书 中的证明。加密算法被设计为通过针对证书产生加密证据来允许已证明信息的检验。用于 实现此类证书系统的加密协议在所属技术领域是公知的。加密证书由在此称为"属性提供 方"的证书发行者发行,如在图1中的5处示意性地指示的那样。服务提供方信任属性提供方 w便证明由证书证明的属性。加密协议已知,它们允许发行证书而不向证书发行者掲示由 证书证明的属性。证书可W使用属性提供方的加密密钥证明属性。服务提供方然后可W检 验使用正确密钥产生了证书。例如,属性提供方可W使用公钥-私钥对的私钥产生证书,该 公钥-私钥对的公钥可W用于检验。
[00%]由属性证书Catt证明的一组用户属性att通常可W包括一个或多个用户属性。给定 用户属性可W包括表示认证过程可能需要的任何信息项的数据。典型实例包括:诸如支付 账户详细信息(例如,信用卡、借记卡或账户卡详细信息)之类的支付数据和诸如比特币或 其它电子现金之类的支付令牌;定义用户计算机2的属性的设备数据;W及诸如生日、国籍、 职务之类的个人用户信息。
[0029] 属性提供方5的特定性质W及属性提供方确认属性的方式与要描述的认证方法的 操作无关。此类技术是公知的并且不需要在此讨论。用户计算机2可多种方式获得证 书,例如,通过向用户提供证书W便存储在用户计算机2中,或者经由用户计算机和属性提 供方通过网络(例如移动网络3、专用网络或因特网)的通信。
[0030] 在要描述的认证过程的操作中,用户计算机2可W动态获得另一个加密证书,即位 置证书ClDC。位置证书CiDc经由与移动网络3的通信获得,如在图1中示意性地指示的那样。该 证书至少证明设备标识符Sid和位置数据loc,位置数据loc指示由移动网络确定的用户计 算机的当前位置。位置数据loc可任何方便的方式指示位置,例如根据地理坐标、地图 区域、邮政编码、地址等。在下面描述的一个实施例中,直接从移动网络运营商(MN0)获得位 置证书。例如,可W通过经由移动网络3的用户计算机与MN0服务器6之间的通信获得位置证 书。位置证书可W在加密密钥下证明设备标识符Sid和位置数据loc。在下面描述的一个实 施例中,该加密密钥是移动网络运营商的公钥-私钥对的私钥。
[0031] 图1示出在该实例中的认证过程的操作中设及的检验方服务器4的主要组件。运些 组件包括通信接口 7,其提供用于实现与附近用户计算机2的通信的电路。认证逻辑8提供用 于实现下面详述的认证过程的步骤的功能。认证逻辑8可硬件或软件或其组合来实现。 认证逻辑例如可W包括计算机可读存储介质,计算机可读存储介质具有随其包含的程序指 令,所述程序指令可由检验方服务器执行W使得服务器执行认证过程的步骤。存储器9存储 由认证逻辑8在认证过程中使用的数据。在下面的实施例中,该数据包括加密密钥(例如上 面提及的密钥对的公钥)和策略数据。策略数据定义一个或多个条件,由用户计算机2提供 的证书中的属性必须满足运些条件W使与运些用户计算机的认证过程成功。检验方服务器 在该实例中被示为单个"面向用户"设备,用户可W出于认证目的而在该处提供用户计算机 2。但是,一般而言,检验方服务器4可W由此类设备单独实现,或者与一个或多个其它设备 (例如,另一个计算机,面向用户设备可W与之通信W便实现检验方服务器功能的某个方 面)组合实现。
[0032] 图2是用户计算机2的一个实施例的示意框图。用户计算机包括通信接口(由方框 10指示),其提供用于实现与移动网络3和检验方服务器4的通信的电路。用户输入/输出(1/ 0)方框11提供用于与设备用户通信的用户接口(例如显示器和键盘)功能,W便例如请求和 接收用户密码P。处理器12根据存储在计算机可读存储介质13中的程序指令,执行设备2的 处理操作。计算机可读介质13可W存储设备操作系统和用于在设备上运行的任何应用的应 用软件。介质13还存储认证模块14,认证模块14包括用于下面描述的认证过程的步骤的程 序指令。存储器15存储由处理器12在操作中使用的数据,存储器15可W包括一个或多个存 储器类型,包括诸如SRAM(静态随机存取存储器)之类的易失性存储器和诸如闪存之类的非 易失性存储器。所述数据包括属性证书Catt。在某些实施例中,存储器15还可W存储设备标 识符Sid。在该优选实施例中,设备标识符Sid存储在设备的安全硬件模块上,在运种情况下 为SIM卡16,由此将标识符sid绑定到用户计算机2。
[0033] 现在将参考图3描述认证过程的一个实例。当用户在检验方服务器4的附近提供用 户计算机2,并且分别在检验方服务器和用户计算机的通信接口7与10之间建立通信时,认 证过程开始,如在步骤20处指示的那样。在某些实施例中,启动可能需要用户经由I/O机构 11输入用户密码P。在该实例的步骤21,检验方服务器4将策略数据发送到用户计算机2。该 策略数据定义用户计算机的认证条件。该认证条件可W包括一个或多个构成条件。此类构 成条件例如可W指示必须展示一个或多个特定用户属性,或者给定属性必须满足特定要 求,例如是被允许的一组属性的成员或者落入定义的范围内。在步骤22,用户计算机2接收 策略数据。
[0034] 在步骤23,用户计算机2与移动网络3通信W便从MN0服务器6请求位置证书。在步 骤24,MN0服务器6基于在移动网络中标识用户计算机的设备标识符Sid,经由移动网络基础 架构确定用户计算机2的当前位置。MN0服务器生成位置证书Ci。。,位置证书Cl。。证明设备标 识符Sid和位置数据loc,位置数据loc指示检测的用户计算机位置。位置证书Cl。。可W使用 已知证书发行协议来生成,并且可W使用MN0服务器6的加密密钥来产生。在步骤25,用户计 算机2从MN0服务器接收位置证书CiDc。
[0035] 在步骤26,用户计算机2生成认证令牌T。认证令牌T包括存储在存储器15中的属性 证书Catt、从移动网络3接收的位置证书Cl。。、由位置证书证明的位置数据1OC W及证据Π 。证 书Catt和Cl。巧编码形式被结合在认证令牌中,如下面解释的那样。可W将位置数据loc 与来自MN0服务器6的位置证书Cl。。一起提供给用户计算机。可设想其它实施例,其中用户计 算机可W基于用于产生证书的加密密钥(例如使用公钥/私钥对的公钥,该公钥/私钥对的 私钥用于产生证书),从位置证书获得位置数据loc。可W根据作为证书系统的基础的加密 协议,W已知方式生成证据Π ,W便证明属性证书Catt中的设备标识符Sid等于位置证书ClDc 中的设备标识符Sid。在该实例中,证据Π 还适于证明属性证书Catt中的一组用户属性att满 足由在步骤22接收的策略数据定义的认证条件,例如证书包含需要的属性(多个)和/或一 个或多个属性满足指定要求。证据Π 还可W证明要向检验方展示的其它事实,如下面进一 步讨论的那样。在步骤27,用户计算机2将认证令牌T发送到检验方服务器4W用于用户计算 机的认证。
[0036] 在步骤28,检验方服务器4接收认证令牌T。在步骤29,检验方服务器4的认证逻辑8 根据作为证书系统的基础的加密协议,执行加密检验过程。在该过程中,认证逻辑8从证据 Π 检验属性证书Catt中的设备标识符S i d等于位置证书Cl。。中的设备标识符S i d。认证逻辑8 还检验位置证书CiDc证明了该认证令牌中的位置数据loc。检验过程的运部分可W基于用于 生成位置证书的加密密钥(例如,使用公钥/私钥对的公钥,该公钥/私钥对的私钥用于产生 证书),检查位置证书CiDc有效地证明了位置数据loc。认证逻辑8还判定由位置数据loc指示 的用户计算机的当前位置是否在检验方服务器4附近。在此可W将当前用户计算机位置与 检验方服务器的已知位置相比较。认证逻辑可W检查用户计算机在检验方服务器位置的阔 值距离内。认证逻辑还判定由属性证书Catt认证的一组用户属性att是否满足用户计算机的 认证条件。在该实施例中,认证逻辑检查证据Π 证明属性证书Catt中的一组用户属性att满 足由在步骤21发送的策略数据定义的认证条件。检验过程的运部分可W要求属性证书Catt 是基于用于生成属性证书的加密密钥(例如使用公钥/私钥对的公钥,该公钥/私钥对的私 钥由属性提供方用于产生证书)而对所需属性(多个)的有效证明。
[0037] 在决策方框30,认证逻辑8判定步骤29的检验过程是否成功。如果是,即在步骤30 判定"是"(Y),则检验方服务器在步骤31认证用户计算机。然后允许依赖于认证的操作(例 如交易、访问项目/接入设施等)继续。如果检验过程的任何部分失败(在步骤30判定"否" (N)),则在步骤32拒绝认证并且拒绝限制的操作。认证过程然后完成。
[0038] 将看到,上面的实施例允许将由移动网络安全认证的用户计算机的位置确认为在 检验方服务器附近。运阻止另一个位置处的设备例如在通过用户计算机上的恶意软件捕获 和传输之后,恶意使用用户的属性证书Catt。甚至存储在用户计算机上的长期证书因此也得 W免受此类恶意软件的攻击。在不向检验方服务器掲示设备标识符Sid的情况下实现位置 检验。移动网络运营商并不知道与检验方的用户交易的详细信息。在上面的过程中使用策 略数据允许用户仅向检验方掲示与认证所必需的一组已证明属性有关的特定信息。上面的 实施例因此保持高级别的用户隐私。
[0039] 在其中一组用户属性att包括由账户发行者向用户发行的支付账户数据(例如支 付卡详细信息)的实施例中,不向账户发行者掲示由移动网络确定的用户计算机的位置。在 此处的一个优选实施例中,可W在账户发行者的公钥-私钥对的私钥下,对支付账户数据进 行加密。在图3过程的步骤29,检验方服务器可W根据账户发行者公钥-私钥对的公钥,进一 步检验支付账户数据的有效性。因此检验方可W认证支付,并且向检验方掲示从账户发行 者获得的支付(没有包括用户身份的支付账户数据),因此进一步增强用户隐私。此外,账户 发行者并不知道由移动网络确定的用户计算机的位置。
[0040] 下面将描述认证方法的一个实施例的示例性加密实现。该实施例采用基于 Cameni sch-Lysyanskaya签名的匿名证书系统的加密技术。首先将给出Camenisch- Lysyanskaya签名属性的简要描述W便有助于理解要描述的实施例。
[004。公知的基于离散对数的零知识证据:
[0042] 在常用参数模型中,我们使用数个已知结果W便证明有关离散对数的声明,例如: (1)离散对数模质数或合数(discrete logarithm modulo a prime or a composite)的知 识证明;(2)表示模两个(可能不同)质数或合数模相等的知识证明;(3)承诺面向两个其它 承诺值的乘积的证明;(4)承诺值位于给定整数区间内的证明;W及(5)任何两个先前证明 分离或结合的证明。运些协议模合数在强RSA(Rivest、化ami;r、Adleman)假设下是安全的, 并且模质数在离散对数假设下是安全的。
[0043] 当参考上面证明时,我们将针对离散对数的不同知识证明和有关离散对数的声明 有效性的证明,遵循由Camenisch和Stadler引入的表示法(巧ff icient Group Si即ature Schemes for Large G;roups(用于大群的有效群签名方案)",J.Camenisch和M.Stadler,编 车即.Kaliski,Advances in Cryptology-CRYPTO'97,Lecture Notes in Computer Science第1296卷,第410-424页,Springer Verlag,1997年)。例如,PK{ (a ,β, δ) :y = g^e 八歹=客啼。-Λ (u《曰《V)}表示"整数曰、β和δ知识的零知识证明,使得y =邑化哺V =赛。沪成 立,其中u《曰《V',并且其中y、g、h、i、含、在是某些群G=〈g〉=化〉和^ =〈客〉二</7〉的元 素。约定是希腊字母表示被证明的知识数量,而所有其它值对于检验方而言已知。我们应用 Fiat-Shamir 试探法(('How to prove yourself :Practical solutions to identification and signa化re problems(如何证明你自己:用于识别和签名问题的实际 解决方案),',A.Fiat和A.Shamir,编猜A.M.Odlyzko,Advances in Cryptology-CRYPTO'86, Lecture Notes in Computer Science第263卷,第186-194页,Springer Verlag,1987年), W便将此类知识证明变成某个消息m上的签名;这例如被表示为SPK{(a):y二ga}(m)D如果 给出采用这种表示法的协议,则直接导出实现证明的实际协议,并且用于W下实施例的合 适协议对于所属技术领域的技术人员来说将显而易见。
[0044] C 过 menisch-Lysysnsksys^^
[0045] 在"A Signature Scheme with Efficient 化otocols(使用有效协议的签名方 案),'(J.Camenisch和A.Lysyanskaya,编牵茸S.Cimato、C.Galdi^OG.Persiano,Security in Communications Networks,第Ξ 届国际会议,SCN 2002 ^Lecture Notes in Computer 8(31611〇6第2576卷,第268-289页,591';!_11容61'¥61'13容,2003年)中详细描述了〔311161113(311- Lysyanskaya签名。我们提供简单变型,其允许消息也为负整数。假设lm、le、ln和L是系统参 数。Ir是安全系数,并且其它参数的含义将在下面变得显而易见。
[0046] 我们将整数集-1)}表示为±{〇,1}!"'。该集合的元素因此可W 被编码为长度为Im的二进制串加上携带符号的附加位,即共计1"+1位。
[0047] 密钥生成:在输入In上,选择In位RSA模η W使得η = pq,p =化'+1,9 = 29'+1,其中口、 q、P'和q'是质数。随机均匀地选择Ro,…,RL-i,S,ZeQfoi。输出公钥(n,Ro,···,化-i,S,Z)和密 钥P。
[004引消息空间是集合{(mo,... ,mL-i)}。
[0049]签名算法:在输出^,…冲心止,选择长度为le〉lm+2的随机质数e,w及长度为^二 1 n+ lm+1 r的随机数V。
[00加]计算
[0051] 签名包括(e,A,v)。
[0052] 检验算法:为了检验元组(e,A,v)是消息(mo,…,niL-i)上的签名,检查W下声明成 立:
[0化3]
[0054] 证明签名的知识
[0055] 我们回想证明者如何可W证明拥有化签名而不掲示有关签名的任何其它信息。我 们想要使用上面讨论的基于离散对数的零知识证明协议。如果A是公共值,则我们可W通过 针对Ro,…,化-1,S和A证明知识表示Z而运样做。但是,使A成为公共值将使所有交易可链接。 幸运的是,可W随机化A:如果给出签名(A,e,v),则元组(A' : =AS-T mod n,e,v' : =v+e;r)也 是任何值r的有效签名。现在,假设Ae<S>并且从化1}'' ""中随机均匀地选择r,则值A'在爲 上的分布统计上接近均匀。因此,用户可W每次计算新的A',掲示它,并且然后与检验方运 行w下协议:
[0化6]
[0057]现在从该证据协议具有关于声明Α..Ε±·[0,?Ρ +1,2^ -1]的技术结果。尽 管运些声明几乎可W自由实现,但它们需要密钥实际上位于较小区间内,即签名者需要从 Γe<le-lφ-lH-3的[2t-1-2"。+1.2y+2^'-lj中选择e,其中lφ和lH是安全参数(第一参数控 制统计零知识,并且第二参数是PK协议中的质询消息的大小)。同样,我们需要输入到签名 方案的消息的大小是有限的:/;,,€+粗-'ll-2。因为证据只能保证消息的绝对值小于加, 所W我们还在消息空间中包括负消息W便实现一致性。最后,我们注意到在 Z 5 ±<°…峭-iM'£S"'(mod η)中,出现"±"。运是RSA群中的知识证据的技术性:由于在特殊 RSA模η上的群结构巧η及其子群QRn,存在小数量级子群,它们可W允许证明者包括已知小数 量级的倍数W及W1/2概率证明否定声明。但是,运对于本应用来说并不是问题,因为在运 种情况下e(按照定义是奇质数)保持为负并且允许强RSA假设的化简。
[005引(整数)承诺
[0059] 在Pedersen承诺方案(如在"Non-interactive and Information-theoretic Secure Verifiable Secret化a;ring(非交互式和信息理论安全可检验机密共享)" (T.P.Pedersen,编辑J.Feigenbaum,Advances in Cryptology-CRYPT0'91'Lecture Notes in Computer Science第576卷,第129-140页,Springer Ve;rlag,1992年)中详述)中,我们 具有质数阶q的群G和生成器(go,…,gm)作为公共参数。为了承诺值(V/, ...,V,,,) G巧',选择 随机数reZq并且设置C = Com(V/,…,Vw;句=各;Π ;1ι各;''。
[0060] Da曲g&rd和F'ujisakK "An integer commitment scheme based on gro叫S with hidden order(基于具有隐秩序的群的整数承诺方案)",I.D:anig細.d和 EJujisaki,http://ep;rint. iacr .org/2001,2001年)表明,如果群 G 是 RSA 群并且承诺者并 未秘密参与模的因式分解,则可W使用化dersen承诺方案承诺任意大小的整数。
[0061] 将参考图4描述基于上面介绍的加密原理的认证方法的一个实施例。
[0062] 假设(η,R日,…,Rl-1,S,Z)是属性提供方5的公钥,并且化馬,,...Λ-!,是&是MN0的公 钥。假设X是用户的密钥。该密钥X可W存储在用户计算机2上(例如存储器15中)或安全硬件 模块(例如SIM 16)上。在另一个实施例中,密钥X可能由可经由移动网络3访问用户计算机 的认证服务器来存储,或者在用户计算机与此类认证服务器之间共享。运可W使用密钥共 享协议W已知方式实现。用户计算机2的设备标识符是Sid,如前所述。
[0063] 在建立操作中,用户从属性提供方5获得属性证书Catt。为了简单起见,属性证书在 此被描述为向用户断言单个属性a。通过执行发行协议,W已知方式从属性提供方获得证 书。在发行协议结束时,用户计算机2W签名(A,v,e)W及消息x、sid和a的形式存储证书 Catt,使得2 =少姆巧【d礎沪mod(n),χ,础,A e ±{〇,妒并且fe > e >妒-1成立。属性证书因此 在属性提供方的第一公钥-私钥对的私钥下证明属性a和标识符Sid。
[0064] 在发行期间,可W向属性提供方隐藏值X和Sid, W便进一步增强用户的安全性和 隐私性。运可W通过W已知方式利用证书方案的加密功能来实现。
[0065] 用户将用户计算机2携带到检验方服务器4处,检验方服务器4位于位置1处并且提 供对由服务提供方P提供的服务的访问。为了简单起见,在该实例中,服务提供方P仅需要用 户证明拥有向用户断言属性a的证书。要在用户与服务提供方之间实现的特定交易由某些 上下文信息(例如商品/服务的标识符代码、成本、检验方服务器标识符、日期等)定义。
[0066] 当在用户计算机与检验方服务器之间建立了通信时,启动认证过程,如在图4的步 骤40指示的那样。在步骤41,检验方服务器将策略数据与定义交易上下文信息的上下文消 息ext-起发送到用户计算机。在步骤42,用户计算机2接收策略数据和上下文消息。在该实 例的步骤43,用户计算机2请求用户输入用户密码P。在步骤44接收输入密码时,用户计算机 执行密码检验过程W便检验输入密码是正确的用户密码P。运可W设及对照先前存储在用 户计算机2中(例如SIM 16上)的密码P检查输入密码。在另一个实施例中,密码检验过程可 能需要用户计算机与认证服务器之间经由移动网络3通信。例如可能需要此类检验过程W 便访问用户的密钥X,从而确保加密过程。如果在步骤44密码检验失败(例如,在用户的阔值 次数的密码尝试之后),则认证过程结束。
[0067] 假设检验了输入密码,则在步骤45用户计算机与移动网络3通信W便从MN0服务器 6请求位置证书Cl。。。在步骤46,MN0服务器則尋用户计算机2的当前位置确定为Γ。在步骤47, MN0服务器生成位置证书CiDc,位置证书CiDc证明设备标识符Sid、位置数据Γ和时间戳t ',时 间戳t'指示位置证书的发行时间。用户计算机在步骤48接收的位置证书Cl。。采用值sicUr 和t '上的签名(A 巧的形式,W使得《S少辟W巧'賊沪mod树,地/,Λ /'€ ±{〇,1}''。并且 24> g: >沪-|成立。位置证书因此在ΜΝ0的第二公钥-私钥对的私钥下证明标识符Sid、位 置数据Γ和时间戳t'。
[0068] 在步骤49,用户计算机2分别通过属性证书和位置证书的随机盲化产生盲化属性 证书和盲化位置证书。具体地说,用户计算机选择随机数r和f,并且计算y :=AS-Tmod η、 / : =v+e;r,如-I'modH和八=f+.获'。进一步,在步骤50,用户计算机生成证据
[0072] 该证据适合于证明:属性证书中的设备标识符等于位置证书中的设备标识符;用 户计算机拥有相应盲化证书中的属性和位置证书;属性证书包含需要的属性a; W及位置证 书证明位置Γ和时间戳t'。证据Π 还依赖于上下文消息,因为在此将Π 绑定到ext。然后将 认证令牌T生成为以',^',〇,(',/'.口)。令牌1'因此在此包括盲化属性和位置证书、要展示的属 性a、时间戳和当前用户位置W及证据Π 。
[0073] 在步骤51,用户计算机2将认证令牌T发送到检验方服务器4。在步骤52,检验方服 务器接收令牌T。在步骤53,检验方服务器执行加密检验过程W便检验证据Π 证明了针对上 面步骤50详细列举的事实,并且证据Π 被绑定到正确的上下文消息ext。在该过程中,检验 方服务器可W使用上面描述的第一和第二密钥对的公钥分别检验用户计算机拥有的属性 证书和位置证书的有效性。检验方服务器检查用户计算机的位置Γ足够接近检验方服务器 的位置1。检验方服务器还检查由时间戳t'指示的发行时间在当前时间t之前的预定时间间 隔内。
[0074] 认证过程的其余部分对应于图3的认证过程。因此,检验方服务器在步骤54判定检 验是否成功,并且在步骤55认证用户计算机或者在步骤56拒绝认证。
[0075] 除了先前描述的优点之外,在该实施例中时间戳的使用确保只能在发行位置证书 之后的很短时间内使用认证令牌。上下文消息的使用进一步将使用限制为正确的当前交 易。盲化证书的使用确保不能通过使用证书来链接用户的不同交易。仅当输入的用户密码 得到检验时才生成认证令牌。该实施例因此为用户提供额外的安全性和隐私性。
[0076] 上面的实施例可W很容易扩展到断言多个属性的属性证书。同样,更复杂的访问 控制策略是可能的。此类策略W及如何执行它们在所属技术领域公知,并且因此为了简单 起见省略详细信息。在某些实施例中,取决于在策略数据中定义的认证条件,可能不需要向 检验方掲示属性本身,W下操作便已足够:证明由属性证书检验的一组属性包含满足所要 求的认证条件的一个或多个属性。
[0077] 其它实施例当然可W使用Camenisch-Lysyanskaya签名方案之外的匿名证书方 案,并且本发明的实施例通常可W基于任何方便的加密证书系统。其它证书系统的实例包 括:可自盲化证书(例如,在"Self-Blindable Credential Certificates from the Weil Pairing(来自Weil配对的可自盲化证书证书)"化ric R.VerheuLAdvances in Cryptology ASIACRYPT 2001,Lec1:ure Notes in Computer Science第2248卷,2001 年,第 533-551页)中讨论);W及微软公司的U-Prove系统(例如在http:// research.microsof t. com/en-us/projects/u-prove/中讨论)。
[0078] 在某些实施例中,用于获得位置证书的过程可W包括与另一个服务器W及MNO的 通信。例如,用户计算机可W与认证服务器通信W便获得证书,该证书证明设备标识符和从 移动网络获得的位置数据。可W发行此类证书而不向认证服务器公开所证明的信息。仅当 在该过程中检验了用户密码时才发行该位置证书。
[0079] 检验方服务器4的位置可W针对该服务器是预定的,或者自身可W经由移动网络 动态确定,例如,对于包括手持式支付终端(其可W在多个位置处使用)的检验方服务器。
[0080] 备选实施例可能不需要策略数据的传送。认证策略例如可W在用户计算机2处被 预定义,或者用户计算机可W简单地在认证过程中展示所有用户属性。
[0081] 在其它实施例中,可不同于图3和4中所示的顺序执行各步骤。在适当情况下 可W同时执行某些步骤。
[0082] 出于示例目的给出了对本发明的不同实施例的描述,但所述描述并非旨在是穷举 的或是限于所公开的实施例。在不偏离所述实施例的范围和精神的情况下,对于所属技术 领域的普通技术人员来说许多修改和变化都将是显而易见的。在此使用的术语的选择,旨 在最好地解释实施例的原理、实际应用或对市场中的技术的技术改进,或者使所属技术领 域的其它普通技术人员能理解在此所公开的实施例。
【主权项】
1. 一种用于向可连接到移动网络的用户计算机附近的检验方服务器认证所述用户计 算机的计算机实现的方法,所述方法包括在所述用户计算机处: 存储属性证书,所述属性证书证明一组用户属性和用于向所述移动网络标识所述用户 计算机的设备标识符; 与所述移动网络通信以便获得位置证书,所述位置证书证明所述设备标识符和位置数 据,所述位置数据指示由所述移动网络确定的所述用户计算机的当前位置; 生成认证令牌,所述认证令牌包括所述属性证书、所述位置证书、所述位置数据、以及 用于证明所述属性证书中的所述设备标识符等于所述位置证书中的所述设备标识符的证 据;以及 将所述认证令牌发送到所述检验方服务器以用于所述用户计算机的认证。2. 如权利要求1所述的方法,其中所述位置证书进一步证明指示所述位置证书的发行 时间的时间戳,并且其中所述认证令牌包括所述时间戳。3. 如权利要求2所述的方法,还包括在所述用户计算机处,通过所述属性证书的随机盲 化产生盲化属性证书,其中所述认证令牌包括所述盲化属性证书,并且其中所述证据适于 证明所述用户计算机拥有所述盲化属性证书中的所述属性证书。4. 如权利要求3所述的方法,还包括在所述用户计算机处,通过所述位置证书的随机盲 化产生盲化位置证书,其中所述认证令牌包括所述盲化位置证书,并且其中所述证据适于 证明所述用户计算机拥有所述盲化位置证书中的所述位置证书。5. 如权利要求3所述的方法,还包括在所述用户计算机处,从所述检验方服务器接收定 义所述用户计算机的认证条件的策略数据,其中所述证据适于证明所述属性证书中的所述 一组用户属性满足所述条件。6. 如权利要求1所述的方法,还包括在所述用户计算机处,从所述检验方服务器接收定 义所述认证的上下文信息的上下文消息,其中所述证据依赖于所述上下文消息。7. 如权利要求1所述的方法,其中与所述移动网络通信的步骤包括直接与所述移动网 络通信以便获得所述位置证书,其中所述位置证书在所述移动网络的运营商的加密密钥下 证明所述设备标识符和位置数据。8. 如权利要求1所述的方法,还包括在所述用户计算机处,接收由用户输入的密码并且 执行密码检验过程以便检验所输入的密码,其中所述方法使得仅当所输入的密码已被检验 时才生成所述认证令牌。9. 一种用于向可连接到移动网络的用户计算机附近的检验方服务器认证所述用户计 算机的计算机实现的方法,其中所述用户计算机存储属性证书,所述属性证书证明一组用 户属性和用于向所述移动网络标识所述用户计算机的设备标识符,所述方法包括在所述检 验方服务器处: 接收来自所述用户计算机的认证令牌,所述认证令牌包括所述属性证书、位置证书、位 置数据以及证据,所述位置证书证明所述设备标识符和所述位置数据,所述位置数据指示 由所述移动网络确定的所述用户计算机的当前位置,所述证据用于证明所述属性证书中的 所述设备标识符等于所述位置证书中的所述设备标识符; 从所述证据检验所述属性证书中的所述设备标识符等于所述位置证书中的所述设备 标识符; 检验所述位置证书证明了所述位置数据; 判定由所述位置数据指示的所述用户计算机的当前位置是否在所述检验方服务器附 近;以及 判定由所述属性证书证明的所述一组用户属性是否满足所述用户计算机的认证条件。10. 如权利要求9所述的方法,其中所述位置证书进一步证明指示所述位置证书的发行 时间的时间戳,并且其中所述认证令牌包括所述时间戳,所述方法还包括在所述检验方服 务器处: 检验所述位置证书证明了所述时间戳;以及 判定由所述时间戳指示的所述发行时间是否在当前时间之前的预定时间间隔内。11. 如权利要求10所述的方法,其中所述属性证书在第一公钥-私钥对的私钥下证明所 述设备标识符和所述一组用户属性,并且所述位置证书在第二公钥-私钥对的私钥下证明 所述位置数据、时间戳和设备标识符,所述方法还包括在所述检验方服务器处: 根据所述第一公钥-私钥对的公钥检验所述属性证书的有效性;以及 根据所述第二公钥-私钥对的公钥检验所述位置证书的有效性。12. 如权利要求9所述的方法,还包括在所述检验方服务器处: 将定义所述用户计算机的认证条件的策略数据发送到所述用户计算机,其中所述证据 适于证明所述属性证书中的所述一组用户属性满足所述条件;以及 从所述证据检验所述一组用户属性满足所述条件。13. 如权利要求9所述的方法,还包括在所述检验方服务器处: 将定义所述认证的上下文信息的上下文消息发送到所述用户计算机,其中所述证据依 赖于所述上下文消息;以及 检验所述证据依赖于所述上下文消息。14. 如权利要求9所述的方法,其中所述一组用户属性包括支付账户数据,所述支付账 户数据在账户-发行者公钥-私钥对的私钥下被加密以便从所述账户发行者获得支付,所述 方法还包括在所述检验方服务器处,根据所述账户-发行者公钥-私钥对的公钥检验所述支 付账户数据的有效性。15. -种用于向可连接到移动网络并存储属性证书的用户计算机附近的检验方服务器 认证所述用户计算机的计算机程序产品,所述属性证书证明一组用户属性和用于向所述移 动网络标识所述用户计算机的设备标识符,所述计算机程序产品包括计算机可读存储介 质,所述计算机可读存储介质具有随其包含的程序指令,所述程序指令可由所述用户计算 机执行以使得所述用户计算机执行如权利要求1-14之一所述的方法。16. -种用于向可连接到移动网络并存储属性证书的用户计算机附近的检验方服务器 认证所述用户计算机的系统,所述属性证书证明一组用户属性和用于向所述移动网络标识 所述用户计算机的设备标识符,所述系统包括: 存储器;以及 处理器,其在通信上耦合到所述存储器,所述计算机系统被配置为执行如权利要求1-14之一所述的方法。
【文档编号】G06F21/33GK106066958SQ201610248990
【公开日】2016年11月2日
【申请日】2016年4月20日 公开号201610248990.X, CN 106066958 A, CN 106066958A, CN 201610248990, CN-A-106066958, CN106066958 A, CN106066958A, CN201610248990, CN201610248990.X
【发明人】P·布勒, J·L·卡梅尼施, D·A·奥尔蒂斯-耶佩斯, F-S·普赖斯
【申请人】国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1