首页> 中国专利> 计算基于块密码的加密方案系统和方法的密钥轮换周期

计算基于块密码的加密方案系统和方法的密钥轮换周期

摘要

一种方法包括由密钥管理计算机至少基于对抗存储限制获得密钥轮换周期。所述密钥管理计算机可以随后生成第一密码密钥。所述密钥管理计算机可以随后生成第二密码密钥,以根据所述密钥轮换周期来替换所述第一密码密钥。

著录项

  • 公开/公告号CN112913184A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利权人 维萨国际服务协会;

    申请/专利号CN201980069866.9

  • 发明设计人 A·路克斯;W·戴;

    申请日2019-10-25

  • 分类号H04L9/06(20060101);H04L9/08(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人徐倩;钱慰民

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:14:36

说明书

相关申请交叉引用

本申请要求2018年10月26日申请的第62/751,068号美国临时申请的优先权,所述美国临时申请的内容出于所有目的以全文引用的方式并入本文中。

背景技术

在现代密码学中使用正式安全分析。这些安全分析通常涉及对手的可用资源,以确定对手是否能够成功地破解特定的密码方案。但是,用于分析对手破解密码方案的能力的传统技术通常基于对手的计算能力(运行时间)。虽然这在一些情况下可能是有效的,但计算能力可能无法准确表示对手破坏安全系统的能力。因此,密码密钥的替换次数可能比必要次数更频繁,这可能会浪费计算机资源。

本发明的实施例单独地以及共同地解决这些问题和其它问题。

发明内容

一个实施例涉及一种方法,包括:由密钥管理计算机至少基于对抗存储限制获得密钥轮换周期;由所述密钥管理计算机生成第一密码密钥;以及由所述密钥管理计算机生成第二密码密钥,以根据所述密钥轮换周期来替换所述第一密码密钥。

另一实施例涉及一种密钥管理计算机,包括:处理器;以及计算机可读介质,所述计算机可读介质耦合到所述处理器,所述计算机可读介质包括能由所述处理器执行以实施方法的代码,所述方法包括:至少基于对抗存储限制获得密钥轮换周期;生成第一密码密钥;以及生成第二密码密钥,以根据所述密钥轮换周期来替换所述第一密码密钥。

有关本发明的实施例的更多详细信息,请参见具体实施方式和附图。

附图说明

图1示出了根据实施例的系统的框图。

图2示出了根据实施例的密钥管理计算机的框图。

图3示出了根据实施例的确定密钥轮换周期的过程的框图。

图4示出了根据实施例的用于密钥轮换的过程的流程图。

具体实施方式

在论述实施例之前,可以进一步详细地描述一些术语。

“对抗存储限制”可以包括对手的数据存储限制。对抗存储限制可以是对手(例如,对抗计算机、装置等)可以存储的数据的量。在一些实施例中,对抗存储限制可以是内存限制。在一些实施例中,可以就可以用于快速计算的快速随机存取存储器来讨论内存限制。作为示意性实例,Amazon EC2 P3可以具有2

“密钥”或“密码密钥”可以包括用于密码算法中以将输入数据变换为另一表示的一条信息。密码算法可以是将原始数据变换成替代表示的加密算法,或将加密信息变换回到原始数据的解密算法。密码算法的示例可包括三重数据加密标准(TDES)、数据加密标准(DES)、高级加密标准(AES)等。

“密钥标识符”可以包括用于唯一标识至少一个密钥的字母、数字和/或符号的任何组合。密钥标识符可以随机地分配、连续地或根据任何模式或算法分配。在一些实施例中,密钥标识符可以源自密钥。

“块密码”可以包括对称为块的一组位进行操作的确定性过程,其中通过密码密钥指定的变换不变。在一些实施例中,安全块密码可以适用于根据固定的密码密钥对单个块进行加密。可以创建后续密码密钥,以在第一密码密钥到期后执行进一步的加密。在一些实施例中,可以采用多种操作模式以允许以安全方式重复使用密码密钥,从而允许任何加密数据的保密性和真实性。

“块大小”可以包括块中包括的位的量。块密码可以对固定长度的位串进行操作,其中位串的长度可以被称作块大小。块大小可以包括任何合适的大小(例如,块大小可以为64位、128位、192位、256位等)。

“安全值”可以包括指示安全级别的值。在一些实施例中,安全值可以被称作安全容限。在一些实施例中,安全值可以是可以使得相关联的密码过程安全的任何合适的值。例如,安全值可以等于2

“密钥轮换周期”可以包括重复其中第一密码密钥可以轮换为第二密码密钥的间隔。密钥轮换周期可以包括密码密钥在替换为另一密码密钥之前可以使用的时间量。例如,对于第一密码密钥,密钥轮换周期可以是1天的时间。在使用第一密码密钥1天后,密钥管理计算机可以用第二密码密钥来替换第一密码密钥。在一些实施例中,密钥轮换周期无需基于时间。例如,密钥轮换周期可以指定用于第一密码密钥的加密数据限制。例如,密钥轮换周期可以是2^70位的加密数据限制。在密钥管理计算机使用第一密码密钥对2^70位的数据进行加密之后,密钥管理计算机可以开始利用第二密码密钥。作为另一实例,密钥轮换周期可以指定用于第一密码密钥的密码调用限制。例如,密钥轮换周期可以指定用于第一密码密钥的密码调用限制等于例如2^63次调用。在已进行密码调用之后,密钥管理计算机可以轮换到下一(例如,第二)密码密钥。

“明文”可以包括呈明码形式的文本。例如,这可以包括在无需任何处理的情况下可由人或计算机读取的文本,例如短语“你好,近来如何?”在一些实施例中,明文还可以包括呈未加密形式的文本。数字或其它符号也可以适合作为明文。

“密文”可以包括呈加密形式的文本。例如,这可以指在可由人或计算机读取之前可能要解密的文本。密文可以由任何数量的密码算法或密码系统生成,例如Rivest-Shamir-Adleman(RSA)、高级加密标准(AES)等。

“服务器计算机”可以包括功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机群集或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可以耦合到数据库,并且可包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可以包括一个或多个计算设备,且可使用各种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。

“处理器”可以包括任何合适的数据计算装置。处理器可以包括一起工作以实现期望的功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序组件。CPU可以是微处理器,例如AMD的Athlon、Duron和/或Opteron;IBM和/或Motorola的PowerPC;IBM和Sony的Cell处理器;Intel的Celeron、Itanium、Pentium、Xeon和/或XScale;和/或类似处理器。

“存储器”可以包括可以存储电子数据的任何合适的装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实施所要方法的指令。存储器的示例可包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可以使用任何合适的电、光和/或磁操作模式来操作。

I.引言

用于分析对手破解密码方案的能力的传统技术通常基于对手的计算能力(运行时间)。虽然这在一些情况下可能是有效的,但计算能力可能无法准确表示对手破坏安全系统的能力。因此,密码密钥的替换次数可能比必要次数更频繁,这可能会浪费计算机资源。

实施例允许确定用于轮换密码密钥的密钥轮换周期。密钥轮换周期可以至少基于对抗存储限制。确定基于对抗存储限制的密钥轮换周期可能是确定适当的密钥轮换周期的一种更准确方式。

可以任何合适的方式获得和/或确定对抗存储限制。例如,在一些实施例中,可以由密钥管理计算机从操作密钥管理计算机的安全小组获得对抗存储限制。在其它实施例中,可以通过以下方式来确定对抗存储限制:获得初始对抗存储限制,接着使用摩尔定律或用于确定技术开发随时间的估计增长的其它合适机制确定当前对抗存储限制。例如,可以由密钥管理计算机相对于先前确定的对抗存储限制使确定的对抗存储限制增加预定的量,每6个月进行一次。

在获得密钥轮换周期之后,密钥管理计算机可以生成第一密码密钥。在一些实施例中,密钥管理计算机可以将第一密码密钥存储在密码密钥数据库中,所述密码密钥数据库可以由一个或多个密钥接收方计算机访问。在其它实施例中,密钥管理计算机可以将第一密码密钥提供给密钥接收方计算机。

在生成第一密码密钥之后,密钥管理计算机可以生成第二密码密钥,以根据密钥轮换周期来替换第一密码密钥。例如,如果密钥轮换周期等于对应块密码的5次调用(例如,块密码的5次使用),则一旦满足密钥轮换周期概述的要求(例如,在用第一密码密钥执行了5次调用之后),就可以使用第二密码密钥来替换第一密码密钥。

II.系统

实施例可以包括如本文中所描述的任何合适的系统。在一些实施例中,合适的系统能够执行如本文中所描述的方法。图1中示出了一个此系统,并在下文对其进行了进一步描述。

A.网络概述

图1示出了根据实施例的包括多个组件的系统100。系统100包括密钥管理计算机102、第一密钥接收方计算机104和第n密钥接收方计算机106。系统100进一步包括对手计算机108。密钥管理计算机102可以与任何合适数量的其它计算机进行操作性通信。例如,密钥管理计算机102可以与第一密钥接收方计算机104和第n密钥接收方计算机106进行操作性通信。密钥管理计算机102和/或第一密钥接收方计算机104到第n密钥接收方计算机106中的任一个可以用作服务器计算机、客户端计算机或服务器计算机和客户端计算机两者。

出于说明简单起见,图1中示出了一定数量的组件。然而,应理解,一些实施例可以包括多于一个每种组件。

系统100中的计算机可以通过任何合适的通信信道或通信网络与彼此进行操作性通信。合适的通信网络可以是下列中的任一个和/或组合:直接互连、互联网、局域网(LAN)、城域网(MAN)、作为互联网节点的运行任务(OMNI)、安全定制连接、广域网(WAN)、无线网络(例如,采用协议例如但不限于无线应用协议(WAP)、I-模式等)等。计算机、网络与装置之间的消息可以使用安全通信协议来传输,这些安全通信协议例如,但不限于,文件传送协议(FTP);超文本传送协议(HTTP);安全超文本传送协议(HTTPS)、安全套接层(SSL)、ISO(例如,ISO 8583)等。

密钥管理计算机102可以生成、管理和/或传输和接收对称密码密钥和/或公用-私用密码密钥。例如,密钥管理计算机102可以生成并轮换密码密钥以供其自身用来对由密钥管理计算机102存储的数据进行加密和/或对由密钥管理计算机102存取的数据进行解密。在一些实施例中,密钥管理计算机102可以生成并轮换密码密钥,所述密码密钥用于对密钥管理计算机102与第一密钥接收方计算机104到第n密钥接收方计算机106之间的通信进行加密和解密。在一些实施例中,所述密钥管理计算机102可以生成并轮换密钥管理计算机102自身不使用的、但被预配到第一密钥接收方计算机104到第n密钥接收方计算机106的密码密钥。由所述密钥管理计算机102预配的密码密钥可以由第一密钥接收方计算机104到第n密钥接收方计算机106用来对它们之间的通信进行加密和解密,或用来对存储数据进行加密或解密。

在一些实施例中,密钥管理计算机102可以至少基于对抗存储限制获得密钥轮换周期。密钥管理计算机102可以随后生成第一密码密钥。在生成第一密码密钥之后,密钥管理计算机102可以生成第二密码密钥,以根据密钥轮换周期来替换第一密码密钥。

密钥接收方计算机(例如,第一密钥接收方计算机104到第n密钥接收方计算机106)能够从密钥管理计算机102接收第一密码密钥和/或第二密码密钥。在一些实施例中,密钥接收方计算机能够生成密码密钥请求消息。密码密钥请求消息可以是包括对一个或多个密码密钥的请求的请求消息。密钥接收方计算机可以随后将密码密钥请求消息提供给密钥管理计算机102。在接收密码密钥请求消息之后,密钥管理计算机102可以确定是否将一个或多个密码密钥提供给密钥接收方计算机。密钥管理计算机102可以随后生成密码密钥响应消息并将密码密钥响应消息提供给密钥接收方计算机。密钥接收方计算机可以随后用在密码密钥响应消息中接收到的一个或多个密码密钥来对任何合适的数据进行加密。

对手计算机108可以包括由对抗实体操作的任何合适的计算机、装置等。对手计算机108可以与第n密钥接收方计算机106进行操作性通信。对手计算机108可以尝试对第n密钥接收方计算机106执行恶意动作。在一些实施例中,对手计算机108可以例如尝试破坏由第n密钥接收方计算机106采用的密码方案。

B.密钥管理计算机

图2示出了根据实施例的密钥管理计算机200的框图。示例性密钥管理计算机200可以包括处理器204。处理器204可以耦合到存储器202、网络接口206和计算机可读介质208。计算机可读介质208可以包括对抗存储限制确定模块208A、密钥轮换周期确定模块208B和密码密钥生成模块208C。密钥管理计算机200可以与密码密钥数据库220进行操作性通信。

存储器202可以用于存储数据和代码。存储器202可以在内部或在外部耦合到处理器204(例如,基于云的数据存储装置),且可以包括易失性和/或非易失性存储器的任何组合,例如RAM、DRAM、ROM、闪存或任何其它合适的存储器装置。例如,存储器202可以存储密码密钥和与各种参数相关联的值,所述参数例如(但不限于)块密码块大小、安全值、对抗存储限制(例如,以位为单位)、密钥轮换周期(例如,用于密码密钥的数据限制)等。

计算机可读介质208可以包括可由处理器204执行以执行一方法的代码,所述方法包括:由密钥管理计算机至少基于对抗存储限制获得密钥轮换周期;由密钥管理计算机生成第一密码密钥;以及由密钥管理计算机生成第二密码密钥,以根据密钥轮换周期来替换第一密码密钥。

对抗存储限制确定模块208A可以包括可由处理器204执行的代码或软件,用于确定对手(例如,对手计算机)的存储限制。对抗存储限制确定模块208A可以与处理器204一起从操作密钥管理计算机200的安全小组获得对抗存储限制(例如,作为输入)。例如,安全小组可以分析市售计算机、装置、组件等。安全小组可以基于对市售计算机的分析来确定平均对抗存储限制、对抗存储限制的高端值和/或任何其它合适的对抗存储限制。在其它实施例中,对抗存储限制确定模块208A可以与处理器204一起从预定值开始使对抗存储限制定期增大。对抗存储限制确定模块208A可以与处理器204一起基于摩尔定律或存储器能力中的其它合适的估计时间增长来使对抗存储限制定期增大。例如,对抗存储限制确定模块208A可以与处理器204一起按3个月的周期定期使对抗存储限制增大预定量(例如,加上预定量、使对抗存储限制翻倍等)。

密钥轮换周期确定模块208B可以包括可由处理器204执行的代码或软件,用于确定密码密钥轮换周期。密钥轮换周期确定模块208B可以与处理器204一起至少基于对抗存储限制确定密码密钥轮换周期。在一些实施例中,除了基于对手存储限制之外,密钥轮换周期确定模块208B还可以与处理器204一起进一步基于安全值和块密码块大小确定密钥轮换周期。

例如,在一些实施例中,密钥轮换周期确定模块208B可以与处理器204一起确定密钥轮换周期q等于:

其中ε可以是安全值,n可以是对应块密码的块大小,并且m可以是对抗存储限制。安全值ε可以包括指示安全级别的值。安全值ε可以是可以使得相关联的密码过程安全的任何合适的值。例如,安全值ε可以等于值2

块大小n可以包括块密码的块中包括的位的量。块密码可以对固定长度的位串进行操作,其中位串的长度可以被称作块大小n。块大小n可以包括任何合适的大小(例如,块大小n可以为64位、128位、192位、256位等)。对抗存储限制m可以包括对手的数据存储限制。对抗存储限制m可以是对手(例如,对抗计算机、装置等)可以存储的数据的量。作为示意性实例,Amazon出售的市售Amazon EC2 P3可以具有2

密码密钥生成模块208C可以包括可由处理器204执行的代码或软件,用于生成密码密钥。密码密钥生成模块208C可以与处理器204一起生成任何合适的密码密钥。在一些实施例中,密码密钥生成模块208C可以与处理器204一起生成对称密码密钥。对称密码密钥可以是用于对称加密的密码密钥。例如,对称密钥可以用于对明文进行加密以及对密文进行解密。传输装置可以使用对称密钥来对消息进行加密,并且接收装置可以使用相同的对称密钥来对加密的消息进行解密。对称密钥实际上表示可以用于保存私人信息的两个或更多个计算装置之间的共享秘密。在一些实施例中,密码密钥生成模块208C可以与处理器204一起基于AES、RSA或如本领域的技术人员已知的任何其它合适的密码系统生成密码密钥。

网络接口206可以包括可以允许密钥管理计算机200与外部计算机通信的接口。网络接口206可以使得密钥管理计算机200能够向另一装置(例如,资源提供商计算机、授权计算机、密钥接收方计算机等)传送数据和从另一装置传送数据。网络接口206的一些示例可以包括调制解调器、物理网络接口(例如以太网卡或其它网络接口卡(NIC))、虚拟网络接口、通信端口、个人计算机存储卡国际协会(PCMCIA)插槽和卡等等。由网络接口206启用的无线协议可以包括Wi-Fi

在一些实施例中,密钥管理计算机200可以操作性地耦合到密码密钥数据库220。密码密钥数据库220可以安全地存储数据,例如密码密钥。密码密钥数据库220可以是常规的、容错的、相关的、可缩放的安全数据库,例如那些可购自Oracle

III.方法

实施例可以使用上文所描述的系统和设备来至少基于对抗存储限制安全地获得密钥轮换周期。图3-4描述了此类方法的一些实例。在一些实施例中,密钥管理计算机可以分别包括图1和2的密钥管理计算机102或200。密钥接收方计算机可以包括图1的第一密钥接收方计算机104或第N密钥接收方计算机106。现将描述对密钥轮换技术的额外细节和解释。

A.块密码

块密码可以将明文块作为整体进行加密,并且可以产生相同长度的密文块。例如,块密码可以采用长度为b位的固定长度文本块和密钥作为输入,并且生成b位的密文块。在一些实施例中,可以使用64位或128位的块大小。

可以采用多种操作模式以允许以安全方式重复使用密码密钥。例如,可能存在一种模式、两种模式、三种模式、四种模式、五种模式等。在一些实施例中,由密钥管理计算机利用五种模式的情况可以允许可以使用块密码的各种加密应用。五种操作模式可以包括:1)电码本(ECB);2)密码分组链接(CBC);3)密码反馈(CFB);4)输出反馈(OFB)以及5)计数器(CTR)。

电码本(ECB)可以被视为最简单的模式,其中可以一次处理一个块的明文。可以使用相同的密钥对每一明文块进行加密。使用术语码本是因为对于给定的密码密钥,每个b位明文块可能有唯一的密文。作为示意性实例,码本可以是一大组位,其中每个可能的b位明文都有一条目,表示其对应的密文。对于长于b位的消息,密钥管理计算机可以将消息分成b位块,适当地对所述块进行加密,接着在一些实施例中,填充最后一个块。

在一些实施例中,可以使用相同的密码密钥一次执行对一个块的解密。例如,明文可以由一连串b位块(P

在一些实施例中,ECB可以定义如下,其中E可以是加密函数,D可以是解密函数,并且K可以是密码密钥,

C

P

ECB模式对于例如加密密钥等较小量的数据可能是有用的。ECB的特征在于,如果相同的b位明文块在消息中出现多次,则始终会产生相同的密文。

B.安全分析

安全分析可以将攻击者在破解密码协议方面的成功优点与攻击者的可用资源联系起来。目前的对称密码学技术可以处理对手的运行时间。然而,存储器(就可以用于快速计算的快速随机存取存储器而言)的数量级受到的限制可能比计算受到的限制更大。例如,Amazon EC2 P3例子(例如,Amazon出售的市售云服务)具有2

表1:Amazon EC2 P3例子的容量

块密码是最广泛使用的密码元素之一。块密码通常可以假设为随机函数。在分析中,这可以通过PRP/PRF交换辅助定理(即,伪随机排列(PRP)和伪随机函数(PRF))充分体现,所述辅助定理可以说明以下内容:A可以是具有m位内存的进行q次oracle查询的随机存取机。假设F

就随机存取机A的大小为m的内存而言,本文中所描述的技术提供对(上述等式的)左侧的限制。因此,可以开发一个用于分析内存受限的对手的帧,并且可以就时间内存权衡为PRP/PRF交换提供明确肯定结果。

字随机存取机(字RAM)计算模型可以非常类似于现代计算机。因而,可以在理想模型中分析对称密码元素,其中对手可以是计算上无限制的,并且对手的“运行时间”通过理想对象的查询次数充分体现。因此,可以得出以下对手模型。

对oracle O:{0,1}

确定了一个oracleΟ:{0,1}

按照惯例,可能是m≥n的情况。通过应用f

以上内容可以得出以下定理1:

定理1(例如,等式F)中受限的量(例如,安全值ε)可以是例如AES和3DES的块密码用于进行加密的量。在这些应用中,q可以对应于加密方案的多次块密码调用。在一些实施例中,上述定理1的右侧可以进一步除以块大小的n位以确定q′,其可以对应于加密方案的数据限制,表示在单个密钥下要进行加密的最大数据量(例如,直到需要新密钥为止)。本文中所描述的技术允许密钥管理计算机在已知对潜在攻击者的可用内存的适当限制时放宽对数据限制的限制。

图3示出了根据实施例的确定密钥轮换周期的过程的框图。图3包括密码参数302、风险分析参数304、模型306和密钥轮换周期308。

密码参数302可以包括模型306的参数,这些参数可以涉及由密钥管理计算机使用的密码方案。例如,密码参数302可以包括块大小n(例如,以位为单位)。风险分析参数304可以包括模型306的参数,这些参数可以基于执行的风险分析且可以取决于密钥管理计算机的操作环境。例如,风险分析参数304可以包括安全值ε(例如,无单位)和对抗存储限制m(例如,以位为单位)。密钥管理计算机可以将密码参数302和风险分析参数304输入到模型306中。

模型306可以包括密钥管理计算机可以获得密钥轮换周期308的方式。例如,模型306可以包括使密码参数302(例如,块大小n)和风险分析参数304(例如,安全值ε和对抗存储限制m)与密钥轮换周期308(例如,密钥轮换周期q)相关的等式。密钥轮换周期可以包括可以表示何时用第二密码密钥来替换第一密码密钥(例如,轮换密钥)的值。图3的密钥轮换周期q(例如,调用次数,或当密钥轮换周期为q’时以位为单位)可以在相关联密码密钥没有轮换为后续密码密钥的情况下指定块密码调用次数。

在一些实施例中,在确定密钥轮换周期q′时,模型306可以进一步包括参数的额外例子或块大小n。在此情况下,密钥轮换周期308可以包括密钥轮换周期q′(例如,以位为单位),其可以指定由轮换到后续密码密钥之前的密码密钥进行加密的数据量。作为示意性实例,要确定密钥轮换周期q′,模型可以是

在一些实施例中,如果选择了除如本文中所描述的ECB模式之外的更具体块密码操作模式,则所述模型可以包括附加项。例如,其它模式可以产生模型306,其中可以将附加项添加到例如

C.密钥轮换过程

图4示出了根据实施例的用于密钥轮换的过程400的流程图。将在密钥管理计算机获得密钥轮换周期并生成可以基于密钥轮换周期替换的密码密钥的上下文中描述图4所述的方法。然而,应理解,本发明可以应用于至少基于对手存储限制获得密钥轮换周期的其它情况。图4的过程400可以由密钥管理计算机(例如,图2的密钥管理计算机200)执行。

在步骤402之前,密钥管理计算机可以获得对抗存储限制m。如本文中所描述,密钥管理计算机可以任何合适的方式获得对抗存储限制m。在一些实施例中,可以接收对抗存储限制m作为处理400的输入,或者可以例如基于可用系统组件的存储限制(例如,对操作对手计算机的对抗实体可用)的评估来确定所述对抗存储限制m。

例如,密钥管理计算机可以从操作密钥管理计算机的安全小组获得对抗存储限制m(例如,作为输入)。密钥管理计算机可以接收值为1.5太字节的对抗存储限制m作为输入。在一些实施例中,对抗存储限制m的值可以小于1.5太字节(例如,为1太字节)。在其它实施例中,对抗存储限制m的值可以大于1.5太字节(例如,为2太字节)。例如,较大值的对抗存储限制m可能会更安全,这是因为对手可能无法(例如,可能会更难以)破解加密。然而,较小值的对抗存储限制m可能会较不安全,并且可能会生成更长的密钥轮换周期且因此更少的密码密钥。

在其它实施例中,密钥管理计算机可以定期从预定值开始增大对抗存储限制m。密钥管理计算机可以基于例如摩尔定律或存储器能力中的其它合适的估计时间增长来使对抗存储限制m定期增大。例如,密钥管理计算机可以按2个月的周期定期使对抗存储限制m增大预定量(例如,加上预定量、使对抗存储限制m翻倍等)。例如,密钥管理计算机可以在1个月、2个月、6个月、1年、2年等周期之后使对抗存储限制m的值从1.2太字节的开始值增长0.05太字节、0.1太字节、0.5太字节、0.75太字节、1.0太字节的值。例如,在一些实施例中,对抗存储限制m可以是1拍字节或任何其它合适的值。

在步骤402,密钥管理计算机可以至少基于对抗存储限制获得密钥轮换周期。例如,密钥管理计算机可以从存储器检取对抗存储限制m,然后根据图3所示的过程基于对抗存储限制m获得密钥轮换周期。在其它实施例中,除了基于对手存储限制之外,密钥管理计算机还可以基于安全值ε和块密码块大小确定密钥轮换周期。

作为示意性实例,密钥管理计算机可以从存储器获得2

在一些实施例中,密钥轮换周期可以指定用于第一密码密钥的加密数据限制。在其它实施例中,密钥轮换周期可以指定用于第一密码密钥的密码调用限制。

在一些实施例中,在获得密钥轮换周期之后,密钥管理计算机可以将密钥轮换周期存储在存储器中。

在步骤404,密钥管理计算机可以生成第一密码密钥。第一密码密钥可以用于数据加密和/或安全通信。例如,密码密钥可以是对称密码密钥并且可以根据块密码密码技术而生成。

在一些实施例中,在生成第一密码密钥之后,密钥管理计算机可以将第一密码密钥提供给密钥接收方计算机。密钥接收方计算机可以任何合适的方式利用第一密码密钥。例如,密钥接收方计算机可以用第一密码密钥来对数据进行加密。

在其它实施例中,在生成第一密码密钥之后,密钥管理计算机可以将第一密码密钥存储在密码密钥数据库中,所述密码密钥数据库可以由多个密钥接收方计算机访问。

在又其它实施例中,在生成第一密码密钥之后,密钥管理计算机可以用第一密码密钥来对数据进行加密。

在步骤406,密钥管理计算机可以生成第二密码密钥,以根据确定的密钥轮换周期来替换第一密码密钥。例如,可以自第一密码密钥的生成和/或使用以来在由密钥轮换周期指示的要求已满足(例如,已对一定量的位进行了加密、已进行了多次块密码调用等)时或之前生成第二密码密钥。

在一些实施例中,密钥管理计算机可以从密钥接收方计算机接收密码密钥请求消息。密钥管理计算机可以随后将包括第二密码密钥的密码密钥响应消息提供给密钥接收方计算机。例如,密钥接收方计算机可以用第二密码密钥来对额外数据进行加密。

在其它实施例中,密钥管理计算机可以将生成的密码密钥存储到密码密钥数据库中。密钥接收方计算机可以在任何合适的时间从密码密钥数据库检取第一密码密钥和/或第二密码密钥。

接下来,讨论了确定用于密码协议的密钥轮换周期的先前熟知分析与公开方的实施例之间的比较分析。实施例提供改进的密钥轮换周期。作为示意性实例,下表2和表3示出了传输层安全(TLS)(例如,通过计算机网络提供通信安全的密码协议)方面的数据限制q的初步结果和分析。下文示出了先前使用的TLS 1.3:

表2:先前方法的密钥轮换周期下表3示出了利用用以确定密钥轮换周期q′的实施例的TLS 1.3。

表3:实施例的密钥轮换周期

因此,实施例允许在轮换密码密钥之前密钥轮换周期q’(例如,2

密钥管理计算机可以确定可以基于数据限制(例如加密数据限制)的密钥轮换周期。密钥管理计算机可以基于使用中的块密码的块大小和对抗存储限制m来确定密钥轮换周期。在一些实施例中,密钥轮换周期也可以基于安全值ε。例如,如图3所示,密钥管理服务器可以通过计算q′=ε*2

在一些实施例中,如本文中所描述的,可以至少基于对抗存储限制m具有密钥轮换周期的密钥管理计算机可以生成密码密钥。密钥管理服务器可以将密码密钥发出和/或预配到其它计算机。例如,密钥管理服务器可以将对称密钥预配到第一密钥接收方计算机和第二密钥接收方计算机。第一密钥接收方计算机和第二密钥接收方计算机可以随后使用从密钥管理服务器接收的对称密钥彼此建立安全通信信道。在一些实施例中,密钥管理计算机可以将用于密码密钥的数据限制(例如,密钥轮换周期)传输到密钥接收方计算机。密钥接收方计算机可以随后跟踪用密码密钥加密的数据量,并且能够在和/或当加密的数据量接近和/或达到数据限制时请求新的密码密钥。

本发明的实施例具有许多优点。例如,根据实施例确定的密钥轮换周期可以允许在相关联的密码密钥到期之前对更多数据进行加密。以此方式,密钥管理服务器可以节省计算能力,因为可能不需要频繁创建密码密钥。例如,参考上述传输层安全(TLS)实例,实施例提供了比先前熟知分析中更长的密钥轮换周期。因此,密钥管理计算机可能无需生成与通过先前熟知方法和系统生成的密码密钥一样多的密码密钥。

本申请中描述的任何软件组件或功能可实施为使用例如Java、C、C++、C#、Objective-C、Swift的任何合适的计算机语言或例如Perl或Python的脚本语言使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上以供存储和/或传送,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质,或例如光盘(CD)或数字通用盘(DVD)的光学介质、闪存存储器等等。计算机可读介质可以是此类存储或传送装置的任何组合。

此类程序还可以使用适应于经由包括互联网的符合多种协议的有线、光学和/或无线网络进行传输的载波信号来编码和传输。因此,根据本发明的实施例的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,经由互联网下载)。任何此类计算机可读介质可驻存在单个计算机产品(例如,硬盘驱动器、CD或整个计算机系统)之上或之内,并且可存在于系统或网络内的不同计算机产品之上或之内。计算机系统可以包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其它合适的显示器。

以上描述是说明性的且不是限制性的。在本领域技术人员阅读了本公开之后,本发明的许多变体对于他们会变得显而易见。因此,本发明的范围不应该参考上面的描述来确定,而是应该参考待决的权利要求及其完整范围或等同物来确定。

在不偏离本发明的范围的情况下,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。

如本文中所使用,除非明确指示有相反的意思,否则使用“一个”、“一种”或“所述”旨在意指“至少一个”。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号