CN101169814A - 用于管理和自动生成加密密钥的系统和方法 - Google Patents

用于管理和自动生成加密密钥的系统和方法 Download PDF

Info

Publication number
CN101169814A
CN101169814A CN200710153333.8A CN200710153333A CN101169814A CN 101169814 A CN101169814 A CN 101169814A CN 200710153333 A CN200710153333 A CN 200710153333A CN 101169814 A CN101169814 A CN 101169814A
Authority
CN
China
Prior art keywords
key
key set
application program
set group
keys
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200710153333.8A
Other languages
English (en)
Other versions
CN101169814B (zh
Inventor
P·D·伯克
K·D·博特朱姆
赵青云
钟显维
A·德迈尔斯
U·范李
J·L·伦茨
M·A·罗西勒斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101169814A publication Critical patent/CN101169814A/zh
Application granted granted Critical
Publication of CN101169814B publication Critical patent/CN101169814B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

公开了一种用于管理和生成加密密钥的系统、方法和介质。在一个实施例中,处理器执行加密密钥处理计算机代码,以从应用程序接收密钥请求。处理器确定发出请求的应用程序是否在被授权接收所请求密钥的机器范围内的节点或服务器上执行。如果被授权,则处理器产生一个密钥映射并将密钥映射发送到应用程序,使应用程序能够访问密钥映射中的一个或多个密钥。根据可指定的调度自动更新密钥。

Description

用于管理和自动生成加密密钥的系统和方法
技术领域
本发明属于计算机系统内的加密领域。更特别地说,本发明涉及计算系统中的加密密钥管理和生成。
背景技术
许多不同类型的计算系统已经在世界范围内得到广泛使用。这些计算系统包括个人计算机、服务器、大型机、各种单机和内置的计算装置。伸展的客户端-服务器系统的存在,使得应用和信息遍布于多个PC网络、大型计算机、小型计算机之上。在一个通过网络连接的分布式系统中,用户可以访问多个应用程序、数据库、网络系统、操作系统和大型计算机应用。计算机向个体或企业提供许多软件应用,包括文字处理、电子制表以及计帐。此外,网络使处在不同地域的人能够通过电子邮件、网站、即时消息传送以及网上会议进行高速通信。
高性能单片机微处理器的普通架构是精简指令集计算机(RISC)架构,其特征是供快速执行的一小组简化的频繁使用指令。因而,在RISC架构中,复杂的指令包括一小组分步骤非常快速执行的简单指令。在适合执行特定简单指令的执行单元中完成这些步骤。在超标量架构中,这些执行单元典型地包括并行操作的载入/存储单元、整数算术/逻辑单元、浮点算术/逻辑单元以及图形逻辑单元。在处理器架构中,操作系统控制处理器的操作和处理器的外围组件。将可执行的应用程序存储在计算机硬盘驱动器中。响应于用户输入,计算机处理器使应用程序运行。
因而,在现代的系统中,多个计算机—包括服务器—通过网络连接在一起。每个计算机可以运行用于完成某项功能的应用程序。这些应用程序可以包括文字处理、电子邮件、图形制作、文档查看和标记、电子制表、数据库、音乐播放器、因特网浏览器、照片处理(photo-shop)、游戏、反病毒程序,以及由于太多而没有提到的许多其他应用程序。许多应用程序完成程序数据的加密和/或解密。例如,电子邮件发送器可以在将电子邮件向接受者发送前加密电子邮件。加密电子邮件的接受者将需要解密从发送器接收到的加密电子邮件。在另一种应用中,发送器可以在发送一个文件之前对该文件进行数字签名。数字签名的操作包括加密。也能够通过加密验证数字签名。通过应用程序使用加密的其他例子大量存在。
为了完成加密和/或解密,应用程序必须具有一个密钥,并必须遵循使用该密钥完成加密/解密的已知算法。因此,应用程序可以处理要求加密的敏感数据。例如,应用程序可以加密一个文件。该加密文件防止没有密钥的人阅读该文件。同样可以对文件中的数据进行签名。在对数据进行签名后,不能在不被察觉的情况下修改数据。
随着因特网的出现和计算机的广泛使用,越来越多的商业事务电子地发生。为了推动这种“电子商务”,计算网络采用加密和数字签名。加密能够使用户隐藏在网络上传输的消息。解密能够从消息的加密副本中恢复原始消息。数字签名使用户能够电子地给文件签名。形成数字签名包括公共密钥密码系统中的加密。该系统采用一种算法,该算法使用两种不同的但在数学上相关的“密钥”,一个用于创建数字签名,另一个用于验证数字签名。经常将利用这两种密钥的计算机设备和软件共同地称为“非对称密码系统”。
用于数字签名的非对称密码系统的互补密钥称为私人密钥和公共密钥。签名者使用私人密钥创建数字签名。理论上,只有该签名者能够访问他的私人密钥。公共密钥通常为更多人所知。依赖于签名的一方使用公共密钥来验证数字签名。尽管该对密钥在数学上相关,但是从公共密钥导出私人密钥在计算上是不可行的。因此,尽管很多人可能知道特定签名者的公共密钥,并且能够使用它验证签名者的签名,但是他们不能访问签名者的私人密钥,伪造签名者的数字签名。这是“不可逆性”原则。
用于创建和验证数字签名的基本处理是“杂凑函数”。杂凑函数是一种算法,它创建一种采用“杂凑结果”形式的数字表示或“指纹”。该杂凑结果通常比消息小很多,然而对消息而言基本是唯一的。使用签名者私人密钥加密这个杂凑结果,创建数字签名。在使用相同杂凑函数时,消息的任何改变总是产生不同的杂凑结果。对于一种可靠的杂凑函数,从它的杂凑值导出原始消息在计算上是不可行的。因此杂凑函数使创建数字签名的软件能够在更少且可预知数量的数据上操作,同时仍旧提供与原始消息内容的鲁棒的证据相关性。
为了对文档或信息的任何其他项目进行签名,签名者首先要精确地划定出将要签名的界限。将要签名的已划定界限信息称为“消息”。然后签名者的软件中的杂凑函数计算出对该消息唯一的(对于所有实际目的)杂凑结果。然后签名者的软件使用签名者的私人密钥将杂凑结果加密成一个数字签名。因此,得到的数字签名对于该消息和创建数字签名时所用的私人密钥来说都是唯一的。
当签名者发送一个已签名消息时,同样发送一个无签名消息。接受者通过使用用户的公共密钥解密加密的杂凑来验证该签名。接受者同样对无签名消息进行杂凑。然后比较两种杂凑结果。只有当两种杂凑结果相同时,签名才通过验证。杂凑结果相同意味着,经发送者签名的消息是接受者所接收的那条消息。然后,发送者不能否认他对接受者接收并验证了的消息进行过签名。数字签名的验证者必须确信该签名是特定人员做出的。这种保证由值得信任的第三方给出,第三方签发证书,该证书证明能够使用证书中指定的公共密钥验证的签名属于证书中标明的一方。
因此,许多应用程序必须具有密钥以对文档、文件和数据块进行加密和签名。需要管理和生成这些密钥的方法。
发明内容
本发明提供用于管理和生成用于加密的密钥的系统、方法和介质。在一个实施例中,加密密钥管理系统包括密钥管理器。该密钥管理器确定是否授权请求一个或多个密钥的应用程序接收所请求的一个或多个密钥,如果授权,那么产生一个发送到应用程序的密钥映射。该系统包括在可预定的时间对至少一个密钥生成事件进行调度的密钥调度器。密钥生成器在所调度的密钥生成事件中生成密钥。生成的密钥与密钥集和密钥集组相关联。密钥集包括一个或多个密钥,密钥集组包括一个或多个密钥集。密钥存储器存储生成的密钥连同该密钥的属性,使得每个密钥与该密钥的一组属性相关联。密钥属性可以包括别名、版本和该密钥所属密钥集的名称。
实施例包括一种用于管理和生成密钥的方法。该方法包括从应用程序接收对提供与密钥集或密钥集组相关联的密钥的调用。一个密钥集包括至少一个密钥,一个密钥集组包括至少一个密钥集。该方法包括确定应用程序是否在针对关联密钥集或密钥集组指定的范围内。如果应用处在指定范围内,则产生与该密钥集或密钥集组相关联的密钥的映射。该方法还包括,根据可指定的调度,生成包含在密钥集或密钥集组中的密钥。
本发明的另一个实施例提供了一种包括指令的计算机程序产品,该指令在数据处理系统中执行时,有效地使系统完成一系列用于管理和生成加密密钥的操作。这一系列操作通常包括从应用程序接收提供密钥集或密钥集组中的一个或多个密钥的请求。操作还包括确定应用程序是否在针对密钥集或密钥集组指定的范围内。如果应用在指定范围内,则这一系列操作包括产生所请求密钥的映射。范围被定义为各种不同的分组,例如进程(Java进程)、节点(在一个特定机器上的所有Java进程)、节点分组(多于一个节点)、集群(与一个特定应用相关的一组Java进程),或小区(包括整个环境的一组节点)。指定范围可以是这些中的任何一种。基于指定范围,这确定密钥集或密钥集组的用于隔离目的的可见性。该操作还包括根据预定调度生成密钥集的新密钥。相应地,映射可以包括最新生成的密钥和较旧的密钥。
附图说明
通过阅读下列详细描述和参考附图,本发明的优点将变得很明显,附图中相似的参考标号可以指示相似的单元。
图1描述了网络中的数字系统的实施例;该数字系统能够执行加密密钥管理软件。
图2描述了与接口模块通信的加密密钥处理器的实施例。
图2A描述了密钥管理器的框图。
图3描述了用于获取应用程序所请求密钥的实施例的流程图。
图4描述了用于调用和选择密钥的接口模块的操作的实施例的流程图。
图5描述了根据调度生成新密钥的实施例的流程图。
具体实施方式
下面是对附图中所述的本发明示例性实施例的详细描述。如此详细的示例性实施例是为了清楚地揭示本发明。然而,提出大量详细描述的意图不是要限制实施例的预期变化;而正相反,这样做的意图是覆盖落入由所附权利要求定义的本发明的精神和范围内的所有修改、等效形式以及替代方案。为了将不同实施例清楚地呈现给本领域普通技术人员,设计了下面的详细描述。
公开了用于管理和生成加密密钥的系统、方法和介质。在一个实施例中,处理器执行加密密钥处理计算机代码,以接收来自应用程序的密钥请求。处理器确定发出请求的应用程序是否在经授权接收所请求密钥的机器范围内的节点或服务器上执行。如果是这样,处理器产生一个密钥映射并将密钥映射发送到应用程序,使应用程序能够获得密钥映射中的一个或多个密钥。根据可指定的调度自动更新密钥。因此,应用程序可以接收最新和/或较旧的密钥。可以根据调度生成密钥,以确保密钥足够新,使得没有暴力攻击可以将它们计算出来。这种操作也允许系统更有规律地改变密钥,这可以实现更短的密钥长度,改进加密性能,并仍维持高安全级别。
图1示出了一种数字系统116(本文中有时称为机器),例如根据本发明一种实施例实现的计算机或服务器。数字系统116包括处理器100,该处理器能够根据BIOS(基本输入/输出系统)代码104和操作系统(OS)代码106进行操作。将BIOS代码和OS代码存储在存储器108中。BIOS代码典型地存储在只读存储器(ROM)上,OS代码典型地存储在计算机系统116的硬盘驱动器上。数字系统116包括物理地接近处理器100而定位的二级(L2)高速缓冲存储器102。存储器108也存储供处理器100执行的其他程序,并存储数据109。
在一个实施例中,存储器108存储用以管理和生成加密密钥的计算机代码107,下文将对其进行描述。这种计算机代码引起处理器执行指令,完成多种加密密钥管理和加密密钥生成功能。例如,处理器100执行代码,以产生密钥集或密钥集组中的一组密钥。处理器100也执行代码,以将密钥和它的各种属性相关联。处理器100也执行代码,以确定调用密钥的应用是否在指定范围内。处理器100也确定密钥生成事件的时间。
处理器100包括片上一级(L1)高速缓冲存储器190、指令获取程序130、控制电路160以及执行单元150。一级高速缓冲存储器190接收并存储接近执行时间的指令。指令获取程序130从存储器中获取指令。执行单元150完成指令调用的操作。在一个实施例中,这些指令包括用于识别接口模块所命名密钥集或密钥集组的指令。这些指令引起处理器100确定是否授权发出请求的应用程序接收所请求的密钥。这些指令还引起处理器100从密钥存储器中获取所请求密钥并由此产生密钥映射。
执行单元150可以包括载入/存储单元、整数算术/逻辑单元、浮点算术/逻辑单元以及图形逻辑单元。每个执行单元包括完成指令获取程序130所获取指令的执行中各步骤的各级。在超标量架构中,不同执行单元并行地操作。因此,执行单元150包括一组不同类型的操作单元,这些操作单元并行地执行指令,实现加密密钥管理处理。
控制电路160控制指令获取程序130和执行单元150。控制电路160也从执行单元150接收与控制决定相关的信息。例如,在执行管道(pipeline)中发生数据高速缓冲存储器丢失的情况下,通报控制电路160处理暂停。
数字系统116还典型地包括其他没有示出的组件和子系统,例如:可信平台模块、存储器控制器、随机访问存储器(RAM)、外围设备驱动器、系统监视器、键盘、彩色视频监视器、一个或多个软盘驱动器、一个或多个可移动非易失性介质驱动器例如硬盘硬件驱动器、CD和DVD驱动器、指针设备例如鼠标以及网络接口适配器等等。数字系统116可以包括个人计算机、工作站、服务器、大型计算机、笔记本计算机或膝上式计算机、桌上型计算机,等等。处理器100还可以经由输入/输出装置110与服务器112通信。服务器112连接系统116与其他计算机和服务器114。因此,数字系统116可以在一个计算机网络中,例如因特网和/或局域内部网。此外,服务器112可以控制对其他存储器的访问,包括磁带驱动器存储器、硬盘阵列、RAM、ROM,等等。
因此,在数字系统116的一种操作模式中,L2高速缓冲存储器从存储器108中接收数据和指令,准备在处理器100的处理器管道中处理这些数据和指令。L2高速缓冲存储器102是快速存储器,物理地接近处理器100以获得更快的速度。L2高速缓冲存储器从存储器108中接收用于多个指令线程的指令。这种指令可以包括载入和存储指令、分支指令、算术逻辑指令、浮点指令,等等。L1高速缓冲存储器190位于处理器中,包含优选地从L2高速缓冲存储器102中接收的数据和指令。理论上,随着时间接近程序指令的执行时间,将连同数据(如果存在)一起传递指令,首先传递到L2高速缓冲存储器,然后随着执行时间的临近,传递到L1高速缓冲存储器。
执行单元150执行从L1高速缓冲存储器190中接收到的指令。执行单元150的每个单元适合执行一组指定指令。将指令提交到并行执行的不同执行单元。可在整数寄存器文件和浮点寄存器文件(没有示出)中存储和存取执行单元150处理的数据。存储在这些寄存器文件中的数据也可以来自或被传送到板上L1高速缓冲存储器190或者外部高速缓冲存储器或存储器。处理器可以通过执行载入指令将数据从存储器例如L1高速缓冲存储器中载入到处理器寄存器。处理器可以通过执行存储指令将数据从寄存器存储到存储器。
数字系统116将具有它自己的存储器,用于存储它的操作系统、BIOS、执行应用程序代码、加密密钥处理代码以及文件和数据。计算机的存储器包括只读存储器(ROM)、以DRAM和SRAM实现的高速缓冲存储器、硬盘驱动器、CD驱动器和DVD驱动器。服务器也具有它自己的存储器,并可以控制对其他存储器例如磁带驱动器和硬盘阵列的访问。每个计算机可以存储和执行它自己的应用程序。一些应用程序,例如数据库,可以驻留在服务器中。因此,每个计算机可以访问存储在服务器中的同一数据库。另外,每个计算机可以经由服务器访问其他存储器。
机器116可以存储用于管理和生成密钥的计算机代码107。处理器100执行这些计算机代码,以生成、指定和提供对根据调度所生成的加密密钥的限制访问。图2示出了用于管理、生成,和传送密钥的实施例的框图。这里有一个用于管理和生成加密密钥的加密密钥处理器200。还有一个与加密密钥处理器200通信的接口模块250。加密密钥处理器是这样一个处理器,它执行用于管理和生成加密密钥并将这些密钥传送到发出请求的接口模块的计算机代码。接口模块是由处理器执行以在运行中的应用程序和系统的剩余部分之间提供接口的计算机代码。在操作期间,使用接口模块的应用程序可以从加密密钥处理器中请求用于加密和/或数字签名的加密密钥。
在一个实施例中,由执行接口模块软件的同一处理器执行加密密钥处理软件。加密密钥处理器在后台操作。在另一个实施例中,加密密钥处理软件在一个数字系统的处理器上运行,而接口模块软件在另一个数字系统的处理器上运行。因此,加密密钥处理器能够管理多个其他计算机和服务器的密钥并确定将所请求的密钥授予哪些计算机和服务器。
加密密钥处理器200包括密钥管理器202。密钥管理器202完成涉及生成和管理密钥的多个功能。密钥管理器202的一项功能是根据系统管理员的规定将密钥与它们各自的属性相关联。密钥属性包括密钥所属密钥集的名称、密钥的别名、密钥口令、跟踪的密钥参考(key reference)的数量、密钥的访问范围,等等。通过接口模块从应用中接收对一个或多个密钥的请求时,调用由密钥管理器202执行的方法,以产生指定密钥集或密钥集组中的可用密钥的映射。但是首先,密钥管理器202确定是否授权发出请求的机器接收一个或多个所请求的密钥。如果是这样,那么产生可用密钥映射。然后接口模块250在映射中识别出它所需的密钥。如果发出请求的机器不在请求密钥的指定范围内,那么密钥管理器202将“请求未授权”的消息发送到发出请求的接口模块。
密钥存储器204存储密钥和密钥别名。密钥存储器204可以存储至少两类密钥。一类是用于加密和解密数据的单一密钥。这类密钥这里称为秘密密钥。密钥存储器204也存储公共/私人加密系统的密钥对。在这样一个系统中,密钥对中的一个密钥是私人密钥,密钥对中的另一个密钥是公共密钥。私人密钥的拥有者秘密保存私人密钥并使用它对数据进行加密和/或签名。公共密钥比私人密钥更广泛地为人所知并能够用于解密数据和验证签名。密钥存储器204也存储由密钥管理器202关联到每个密钥的属性。这些属性包括密钥别名、密钥集名称,和密钥集组名称。应该注意,密钥存储器204可以是执行加密密钥软件的同一机器中的存储器,如图2中示出的那样,或者密钥存储器可以是位于另一个机器中的存储器。如果是远程的密钥存储器,密钥管理器具有密钥存储器所处远程机器的相关信息,以进行对密钥存储器的远程调用,并获取所需密钥。
密钥管理器202能够调用对一个秘密密钥或一个公共/私人密钥对的生成。通过密钥生成器206完成密钥或密钥对的生成。根据调度器208实现的调度,通过调用密钥生成器206生成新的密钥。根据从密钥管理器202中接收的频率说明,调度器208确定下一次密钥生成事件的时间。当到达密钥生成事件的时间时,调度器208引起密钥生成器206生成新的密钥并将这个事件通报密钥管理器202。
密钥生成器206可以包括生成秘密密钥的第一密钥生成器,和生成公共/私人密钥对的第二密钥生成器。换句话说,秘密密钥和公共/私人密钥对是由两种不同算法生成的。密钥存储器204从密钥生成器206中接收密钥并存储它们。根据由被授权人指定的参数所确定的调度,密钥管理器202定期地调用密钥生成器206。因此,在一个实施例中,被授权人能够指定频率(密钥生成事件间隔多少天),并在该周该天该时生成新的密钥。
如上所述,加密密钥处理200能够在完成接口模块处理250的同一机器中完成,或者在不同的机器中完成。接口模块250的处理通过例如图1中所示的处理器完成。接口模块250包括密钥集助手252和密钥集组助手254。密钥集助手252是用于获得对密钥集中密钥的访问的处理。密钥集组助手254是用于获得对密钥集组中密钥的访问的处理。例如,密钥集助手254可以代表上层(overlaying)应用程序请求秘密密钥的最新版本。接口模块250将这个请求发送到加密密钥处理器200。密钥管理器202确定是否授权发出请求的应用程序接收所请求的密钥。然后密钥管理器202可以获取所请求密钥的最新版本。在一个实施例中,接口模块能够请求较早版本的密钥,密钥管理器能够传送较早版本的密钥。被授权人指定加密密钥处理所跟踪的较早版本号。这样使得应用程序可以解密利用旧密钥加密的数据。
因此,加密密钥处理器管理加密密钥。加密密钥处理器从应用程序中接收对得到密钥方法的调用。对得到密钥方法的调用指定了密钥集或密钥集组的名称。每个密钥集具有至少一个密钥,每个密钥集组具有至少一个密钥集。在执行得到密钥方法之前,加密密钥处理器确定发出请求的应用程序是否在针对命名密钥集或密钥集组所指定的范围内。如果应用程序在指定范围内,那么加密密钥处理器产生所请求密钥的映射。例如,一个得到密钥方法调用一个密钥集组中的所有密钥。加密密钥处理器将因此产生该密钥集组中所有密钥的映射。将这种映射通过接口模块发送到应用程序。然后应用程序能够在映射中选择任何一个或多个密钥。
密钥集由密钥参考组成。密钥参考(key reference)使用别名指代实际加密密钥。别名是密钥的速记名称。每个密钥具有指代它的别名。将实际密钥存储在密钥存储器中,并通过调用密钥别名获取密钥。下列代码块指定了密钥对密钥集。
<keySets     xmi:id=″KeySet_BIRKT40Node01_1″  name=″NodeLTPAKeyPair″
aliasPrefix=″LTPAKeyPair″
这个代码块创建或指定一个密钥集并通过名称标识该密钥集。该代码也指定一个别名前缀。将别名前缀加在密钥别名前。因此,密钥集中的密钥将与指定前缀相关联。
下列块指定了口令,所跟踪的密钥参考的最大数量,以及指示是否删除旧密钥的属性。
password=″{xor}HRYNFAtrbxEwOzpvbhw6MzM=″
maxKeyReferences=″2″
deleteOldKeys=″true″
可以在KeySet级别上指定口令,然后该密钥集中所有密钥具有相同的口令,或者在KeyReference级别上指定口令,然后每个密钥具有与之关联的口令。maxKeyReferences属性指定任何给定时间所跟踪的密钥参考的最大数量。这个变量存储需要跟踪的密钥的数量。一旦达到需要跟踪的密钥的最大数量,则在下一次密钥生成事件上,移除最旧的密钥参考并增加一个新的密钥参考。例如,在maxKeyReference是2时,在任何时间点上密钥集将只有两个密钥参考。如果deleteOldKeys属性是真,则将从KeyStore属性涉及的KeyStore中移除旧密钥。KeyStore属性指定密钥存储的密钥存储器。
下列块指定了密钥类型,确定密钥集的密钥存储器位置。
keyGenerationClass=″com.ibm.ws.security.ltpa.LTPAKeyPairGenerator″
isKeyPair=″true″
keyStore=″KeyStore_BIRKT40Node01_3″
keyGenerationClass属性涉及的应用特定类生成密钥。取决于isKeyPair属性是真或假,该类实现KeyGenerator或KeyPairGenerator接口。
下列块指定了管理范围。
<managementScopes   xmi:id=″ManagementScope BIRK.T40Node01_1″
scopeName=″(cell):BIRKT40Node01    Cell:(node):BIRKT40Node01″
scopeType=″node″/>
通过KeySet指定的管理范围指向KeySet对其可见的节点的小区名称和节点名称。这个可见性具有继承特性以使节点的任何成员(应用服务器)能够查看这些密钥。但是,其他节点的成员不能查看这些密钥。在一个实施例中,管理范围能够设置为一个单一服务器。
下列块指定了涉及别名的密钥:
<keyReference xmi:id=″KeyReference_1 128391356884″keyAlias=″LTPAKeyPair_8″
version=″8″/>
<keyReference xmi:id=″KeyReference_1 128433215373″keyAlias=″LTPAKeyPair_9″
version=″9″/>
这两个代码块分别通过指定密钥参考、密钥别名和密钥版本指定密钥。当生成一个新密钥时,密钥参考中的版本#递增,aliasPrefix属性将存储在KeyStore中此处的密钥别名加上前缀。因此,密钥集由密钥参考组成。密钥参考使用别名指代实际加密密钥。别名是密钥的速记名称。每个密钥具有指代它的别名。将实际密钥存储在密钥存储器中,并通过调用密钥别名获取密钥。
</keySets>
这使指定密钥对集的代码块结束。
下列代码块指定了秘密密钥密钥集。
<keySetsxmi:id=″KeySet_BIRKT40Node01_2″
name=″NodeLTPASecret″aliasPrefix=″LTPASecret″
password=″{xor}HRYNFAtrbxEwOzpvbhw6MzM=″
maxKeyReferences=″2″
deleteOldKeys=″true″
keyGenerationClass=″com.ibm.ws.security.ltpa.LTPAKeyGenerator″
keyStore=″KeyStore_BIRKT40Node01_3″
managementScope=″ManagementScope_BIRKT40Node01_1″>
<keyReference xmi:id=″KeyReference_1 128391359568″keyAlias=″LTPASecret_8″
version=″8″/>
<keyReference xmi:id=″KeyReference_1 128433217215″keyAlias=″LTPASecret_9″
version=″9″/>
</keySets>
能够将密钥集分组到一起并将其当作一个单个实体管理。将其称为KeySetGroup,由下列代码块定义:
<keySetGroups xmi:id=″KeySetGroup BIRKT40Node01_1″
name=″NodeLTPAKeySetGroup″
autoGenerate=″true″
这个代码创建或指定一个密钥集组并通过名称标识该密钥集组。autoGenerate属性指定是否根据调度生成一个取代密钥以取代某个密钥。
下列块指定了涉及调度对象的属性。
wsSchedule=″WSSchedule_BKKT40Node01_1″
下列块指定了哪些密钥集属于这个组。
keySet=″KeySet_BIRKT40Node01_1KeySet_BIRKT40Node01_2″
下列块指定了密钥集组中密钥的访问范围。
managementScope=″ManagementScope_BIRKT40Node0 1_1″/>
因此,上面定义的KeySetGroup本身具有范围,但必须至少与其组内的KeySet相同或比其更特定(例如,节点范围内的KeySetGroup不能包含服务器范围内的KeySet)。在一个实施例中,为了配置自动密钥生成,KeySet必须是KeySetGroup的一个成员。KeySetGroup可以包含一个或多个KeySet。
wsSchedule属性涉及调度对象,调度对象确定开始下一次密钥生成事件的时间。KeySetGroup的密钥生成事件调用每个密钥集keyGenerationClass的generateKey或generateKeyPair方法。这样将对每个KeySet产生一个新版本密钥(潜在地,最旧的版本不再是密钥集的一部分)。下面示出了一个调度例子:
<wsSchedules xmi:id=″WSSchedule_BIRKT40Node01_1″
name=″LTPAKeySetGenerationSchedule″
frequency=″90″
dayOfWeek=″1″
hour=″22″
minute=″00″
nextGenerationTime=″1136174401335″/>
这能够用于生成下一次密钥生成事件发生的将来日期。在nextGenerationTime属性中这个日期持续存在。一旦这个日期和时间逝去,则基于频率:一周中的哪天、小时和分钟,生成一个新的日期和时间。
当isKeyPair的属性是“真”,keyGenerationClass实现KeyPair生成接口。这用来生成典型地用于签名的公共/私人密钥对。该密钥对能够是一个java.security.PublicKey和一个java.security.Private key。或者该密钥对能够是一个java.security.cert.Certificate(包含java.security.PublicKey)和一个java.security.PrivateKey。因此,存在一个密钥对生成方法:
generateKeyPair();
无论是根据调度时间还是手动请求,必须生成密钥对时,密钥管理器执行这个方法。类似地,存在一个秘密密钥生成方法:
generateKey();
一种关联的方法是:
void init(java.util.Properties customProps).
密钥管理器执行这个方法,将为密钥集配置的任何定制特性传递到接口模块。下列代码行是指定定制特性的例子:
<properties xmi:id=″Property_1″name=″key_Iength″value=″1024″required=″false″/>
properties xmi:id=″Property_1″name=″key_algorithm″value=″RSA″
required=″false″/>
这些例子中第一个特性说明将密钥长度特性指定具有密钥长度值1024。第二特性说明指定生成密钥所用的算法,在这种情况中是RSA(RSA是一种按发明人Rivest,Shamir,和Adleman命名的算法)。required属性指出是否必须指定数值。
图2A示出了密钥管理器202的框图,它包括上述的生成密钥224和生成密钥对222方法。密钥管理器202还包括从密钥存储器中取回所请求密钥的方法。因此,密钥集组助手将调用下列方法,密钥管理器将执行下列方法,以获得密钥集组中所有密钥的密钥映射:
getAllKeysForKeySetGroup(element 226);
其通过下列调用实现:
public java.util.Map getAllKeysForKeySetGroup(java.lang.String keySetGroupName)
throws KeyException,java.lang.SecurityException
再次强调,密钥集组包含一个或多个密钥集中每个密钥集的密钥。每个密钥集具有一个或多个密钥。在这个方法的调用中,密钥集组助手必须指定密钥集组名称。加密密钥管理器确定调用该方法的接口模块是否在指定密钥集组的管理范围内。
指定组中的密钥是秘密密钥和/或公共/私人密钥对。当一个秘密密钥返回到接口模块时,接口模块不识别密钥类型或算法。它只将密钥从密钥管理器传递到应用程序。应用程序了解密钥类型和算法以便使用。
根据版本分类的映射中的密钥例子为:
{version_2={   LTPASecret_2=javax.crypto.spec.SecretKeySpec@16833,
LTPAKeyPair_2=com.ibm.websphere.crypto.KeyPair@5e225e22},
version_3={LTPASecret_3=javax.crypto.spec.SecretKeySpec@fffe8b59,
LTPAKeyPair_3=com.ibm.websphere.crypto.KeyPair@lceclcec},
version_4={LTPAKeyPair_4=com.ibm.websphere.crypto.KeyPair@5bd45bd
4,LTPASecret_4=javax.crypto.spec.SecretKeySpec@1781d}}
该方法返回密钥集组内密钥集中密钥的密钥参考的映射。每个条目具有一个密钥别名(例如LTPAKeyPair_2),和一个密钥。在一个实施例中,杂凑别名以产生一个杂凑对象。将该映射发送到接口模块,接口模块将映射传输到运行在与接口模块相同处理器上的上层应用程序。在接收到该映射后,应用程序能够搜索这种映射,选择出想要的密钥。例如,如果应用程序想要组中最旧的秘密密钥,而目录是按照时间次序列出的,那么它将简单地选择目录中第一个秘密密钥条目。
密钥集组助手将调用下列方法,密钥管理器将执行下列方法,以获取密钥集组中最新密钥。
getLatestKeysForKeySetGroup(element 228);
密钥集组具有组内密钥的最新版本,还可以保留组内密钥的较早版本。这种方法只返回最新密钥的密钥参考的映射。这些参考的例子是:
{LTPAKeyPair_4=com.ibm.websphere.crypto.KeyPair@5bd45bd4,
LTPASecret_4=javax.crypto.spec.SecretKeySpec@1781d}
密钥集助手将调用下列方法,密钥管理器将执行下列方法,以获取密钥集中所有密钥。
getAllKeysForKeySet(element 230);
这种方法返回密钥集中所有密钥的映射。名为“CellLTPASecret”的KeySet中密钥的例子是:
{LTPASecret_2=javax.crypto.spec.SecretKeySpec@16833,
LTPASecret_3=javax.crypto.spec.SecretKeySpec@fffe8b59,}
名为“CellLTPAKeyPair”的KeySet中密钥的例子是:
{LTPAKeyPair_4=com.ibm.websphere.crypto.KeyPair@5bd45bd4,
LTPAKeyPair_2=com.ibm.websphere.crypto.KeyPair@5e225e22,
LTPAKeyPair_3=com.ibm.websphere.crypto.KeyPair@lceclcec}
密钥集组助手将调用下列方法,密钥管理器将执行下列方法,以得到密钥集组中最新密钥。
getLatestKeyForKeySet(element 232);
取决于KeySet类型,这种方法返回一个包含Java安全密钥实例或IBM websphere.crypto密钥对实例的对象。因此,该方法能够返回一个秘密密钥或一个密钥对。密钥对可以是一个公共密钥和一个私人密钥或一张证书和一个私人密钥。这种方法返回的对象格式可以取决于密钥类型。名为“CellLTPASecret”的KeySet中最新密钥的例子是:
javax.crypto.spec.SecretKeySpec@1781d
名为“CellLTPAKeyPair”的KeySet中最新密钥的例子是:
com.ibm.websphere.crypto.KeyPair@5bd45bd4
图3示出了如上述加密密钥处理器操作的流程图300的实施例。加密密钥处理器从接口模块接收对得到密钥集或密钥集组中密钥方法的调用(单元302)。例如,接口模块可以调用方法getLatestKeysForKeySetGroup以得到密钥集组中的最新密钥。当激活Java2安全时,调用这种方法的访问要求许可(单元304)。如果没有授予许可,密钥管理器将一个错误返回到发出请求的接口模块(单元308)。如果授予许可,密钥管理器确定发出请求的机器是否在访问所请求密钥的机器的指定管理范围内(单元306)。因此,例如,一个执行应用程序的服务器可以是节点的一部分,在所请求密钥的管理范围属性中指定了该节点。如果是这样,加密密钥处理器将进入执行所调用的得到密钥方法的步骤(单元310)。如果不是这样,密钥管理器将一个错误返回到接口模块(单元308)。
将要执行(单元310)的所调用的得到密钥方法可以是多个得到密钥方法中的一个,包括上述那些方法。执行所调用的得到密钥方法,产生该得到密钥方法所指定密钥集或密钥集组中的密钥的映射。在一个实施例中,对这种映射的元素—包含所请求密钥的密钥参考—进行杂凑,以产生杂凑映射(单元312)。加密密钥管理器将该映射发送到接口模块(单元314),接口模块将该映射传递给应用程序。然后应用程序从该映射中选择一个或多个想要的密钥。例如,应用程序从该映射中选择一个给定别名的密钥。或者应用在该映射中搜索一个秘密密钥或公共/私人密钥对的特定版本。
图4示出了接口模块和使用该接口模块的应用程序的操作的流程图400的实施例。当应用程序需要一个密钥时,应用程序指定密钥所属的密钥集或密钥集组的名称(单元402)。接口模块的密钥集组助手或密钥集助手将调用一个得到密钥方法,它传送指定密钥集组或密钥集或者指定密钥集组或密钥集的子集的映射(单元404)。响应于调用的得到密钥方法,密钥管理器将传送一个结果,接口模块将接收一个结果,在一个实施例中,该结果可以是一个错误或所请求的密钥映射(单元406)。
如果密钥管理器返回一个错误(单元408),应用程序处理该错误(单元410)。处理错误可以包括在视频监视器上显示一个窗口,窗口包含一个消息例如“拒绝许可”。如果密钥管理器返回一种映射,密钥集助手或密钥集组助手将该映射传递到应用程序。应用程序在密钥管理器提供的映射中查找想要的密钥(单元412)。然后,应用程序从映射中选出想要的一个或多个密钥(单元414)。例如,应用程序可以首先选择最旧的秘密密钥以解密一个文件。然后,应用程序可以选择最新的密钥对以对一个文档进行数字签名。
图5示出了调度密钥生成的流程图500的实施例。在加密密钥处理器软件执行的开始,接收并执行密钥生成频率语句,确定生成新密钥的指定频率(单元502)。利用这个信息,加密密钥处理器计划下一次密钥生成事件(单元504)。系统监控时间(单元506)以确定现在是否到了发生密钥生成事件的时间(单元508)。如果不是,系统继续监控时间(单元506)。否则,密钥管理器调用生成密钥方法(单元510)。密钥管理器将新生成的密钥连同它们的属性存储到密钥存储器中(单元512)。
因此,几个并发和相关的处理发生在操作期间。在操作的一方面,处理器接收得到密钥的调用,确定是否授权提出调用的应用程序接收密钥,生成密钥映射,并将该映射传输到提出调用的应用程序。在操作的另一方面,接口模块调用一个得到密钥方法并接收密钥映射。然后应用程序在密钥映射中选择一个或多个想要的密钥。在操作的第三方面,处理器调度密钥生成事件并监控时间,确定密钥生成事件将要发生的时间。在一次密钥生成事件中,可以为一个或多个密钥集中的每一个密钥集生成新密钥。
本发明能够利用完全硬件实施例的形式、完全软件实施例的形式或者包括硬件单元和软件单元的实施例的形式。在一个实施例中,本发明用包括但不限于固件、常驻软件、微代码等软件来实施。另外,实施例能够采用机器可访问读取介质中获取的计算机程序产品的形式,该介质提供用于由如图1所示计算机或者任何指令执行系统使用或者与该计算机或者指令执行系统结合使用的程序代码。出于本说明书考虑,机器可访问或计算机可用或者计算机可读介质能够是任何如下有形装置,该有形装置能够包含、存储、通信、传播或者传送用于由指令执行系统、装置或者设备使用或者与该指令执行系统、装置或者设备结合使用的程序。介质能够是电、磁、光、电磁、红外线或者半导体系统(或者装置或者设备)或者传播介质。计算机可读介质的例子包括半导体或者固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前例子包括光盘只读存储器(CD-ROM)、光盘读/写(CD-R/W)和DVD。
适合于存储和/或执行程序代码的数据处理系统将包括直接地或者通过系统总线间接地耦合到存储器单元的至少一个处理器。存储器单元能够包含在程序代码的实际执行期间利用的本地存储器108、大容量存储器和高速缓存存储器102、190,这些高速缓存存储器提供对至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储器获取代码的次数。输入/输出或者I/O设备(包括但不限于键盘、显示器、指示设备等)能直接地或者通过居间I/O控制器耦合到系统。网络适配器也可以耦合到系统以使数据处理系统能够变为通过居间专用或者公共网络耦合到其它数据处理系统或者远程打印机或者存储设备。调制解调器、有线调制解调器和以太网卡只是当前可用网络适配器类型的数个例子而已。因此,本发明的另一个实施例提供了一种包含有效指令的计算机程序产品,该指令在数据处理系统中执行时,引起系统完成一系列用于管理加密密钥的操作。这系列操作通常包括从应用程序中接收对提供密钥集或密钥集组中一个或多个密钥的请求。一个密钥集包括至少一个密钥,一个密钥集组包括至少一个密钥集。操作包括确定应用程序是否在针对密钥集或密钥集组指定的范围内。如果应用在指定范围内,那么这一系列操作包括产生所请求密钥映射。这一系列操作还包括根据预定调度为密钥集生成新密钥。
操作还可以包括存储每个密钥的版本号并将密钥的版本号与密钥相关联。因此,可以通过别名前缀和版本号识别密钥。操作还可以包括从应用程序指定的密钥集或密钥集组中得到最新密钥。该范围可以指定一个授权接收所请求密钥的节点或服务器,在操作期间应用程序必须常驻其中。在一些实施例中,与密钥集组相关联的范围至少如与密钥集组内密钥集相关联的最小范围一样小。
尽管根据一些实施例详细描述了本发明及其优势,但是应该明白在不脱离如所附权利要求所定义的本发明精神和范围的情况下,在这里能够做出不同的改变、替代和改造。尽管本发明的一个实施例可以达到多重目标,但是不是每一个落在所附权利要求范围内的实施例都能达到每一个目标。此外,本发明应用范围并不意图限于说明书中所述的处理、机器、制造、合成物、装置、方法和步骤的特定实施例。本领域普通技术人员从本发明公开内容中将容易地明白,根据本发明可以利用现有的或以后将开发出来的处理、机器、制造、合成物、装置、方法和步骤,它们完成与这里所述相应实施例基本上相同的功能或达到与这里所述相应实施例基本上相同的结果。因此,所附权利要求意图在其范围内包括这些处理、机器、制造、合成物、装置,方法和步骤。

Claims (14)

1.一种加密密钥管理系统,包括:
密钥管理器,确定是否授权请求一个或多个密钥的应用程序接收所请求的一个或多个密钥,并产生所请求密钥的映射;
密钥调度器,在可预定的时间对至少一个密钥生成事件进行调度;
密钥生成器,在所调度的密钥生成事件中生成至少一个生成密钥,其中所述生成密钥与密钥集和密钥集组相关联,并且其中密钥集包括一个或多个密钥,密钥集组包括一个或多个密钥集;以及
密钥存储器,存储所述至少一个生成密钥以及所述密钥的属性,使得每个密钥与所述密钥的一组属性相关联。
2.根据权利要求1所述的系统,其中所述密钥管理器确定所述应用程序是否在针对所述密钥集指定的范围内。
3.根据权利要求2所述的系统,其中所述密钥管理器确定一个范围,以指定被授权接收所请求密钥的节点或服务器,在执行期间所述应用程序必须驻留在所述节点或服务器中。
4.根据权利要求2所述的系统,其中所述密钥管理器确定与密钥集组相关联的范围,所述范围至少如与所述密钥集组内密钥集相关联的最小范围一样小。
5.根据权利要求1所述的系统,其中所述密钥存储器存储密钥属性,所述密钥属性包括密钥集或密钥集组中每个密钥的版本号。
6.根据权利要求1所述的系统,其中所述密钥管理器确定请求一个或多个密钥的所述应用程序的位置是否在针对所述指定密钥集或密钥集组所指定的范围内。
7.根据权利要求1所述的系统,其中所述密钥管理器执行获取密钥集或密钥集组中所有密钥的方法。
8.根据权利要求1所述的系统,其中所述密钥管理器执行只获取密钥集或密钥集组中最新密钥的方法。
9.一种用于管理加密密钥的方法,包括:
从应用程序接收对提供与密钥集或密钥集组相关联的至少一个密钥的调用,其中一个密钥集包括至少一个密钥,一个密钥集组包括至少一个密钥集;
确定所述应用程序是否在针对所述关联密钥集或密钥集组所指定的范围内;
如果所述应用在所述关联范围内,那么产生与所述密钥集或密钥集组相关联的至少一个密钥的映射;以及
根据可指定的调度,生成至少一个包括在所述密钥集或密钥集组中的密钥。
10.根据权利要求9所述的方法,还包括将密钥与具有版本号的别名相关联,其中密钥集中密钥的最新版本是根据所述调度最新生成的密钥的版本。
11.根据权利要求10所述的方法,其中相同密钥的所有版本具有相同的别名前缀。
12.根据权利要求9所述的方法,其中来自应用程序的对提供与密钥集组相关联的密钥的调用可以是只用以产生密钥集中最新密钥的映射的特定调用。
13.根据权利要求9所述的方法,其中所述范围可以指定一个被授权接收所请求密钥的节点或服务器,所述应用程序在请求密钥时必须驻留在所述节点或服务器中。
14.根据权利要求9所述的方法,其中与密钥集组相关联的范围至少如与所述密钥集组内的密钥集相关联的最小范围一样小。
CN200710153333.8A 2006-10-26 2007-09-17 用于管理和自动生成加密密钥的系统和方法 Expired - Fee Related CN101169814B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/553,276 US7822206B2 (en) 2006-10-26 2006-10-26 Systems and methods for management and auto-generation of encryption keys
US11/553,276 2006-10-26

Publications (2)

Publication Number Publication Date
CN101169814A true CN101169814A (zh) 2008-04-30
CN101169814B CN101169814B (zh) 2010-06-02

Family

ID=39330198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710153333.8A Expired - Fee Related CN101169814B (zh) 2006-10-26 2007-09-17 用于管理和自动生成加密密钥的系统和方法

Country Status (3)

Country Link
US (1) US7822206B2 (zh)
JP (1) JP5296365B2 (zh)
CN (1) CN101169814B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102334307A (zh) * 2009-02-27 2012-01-25 爱特梅尔卢梭公司 密码系统的密钥恢复机制
CN103988466A (zh) * 2011-12-15 2014-08-13 汤姆逊许可公司 群加密方法及设备
CN105793861A (zh) * 2013-09-30 2016-07-20 谷歌公司 用于安全地管理安全元件上的数据的系统、方法和计算机程序产品
CN106664209A (zh) * 2014-08-26 2017-05-10 国际商业机器公司 基于密码的秘密加密密钥的生成和管理

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) * 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
US8611542B1 (en) * 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US9495561B2 (en) * 2008-01-08 2016-11-15 International Business Machines Corporation Target of opportunity recognition during an encryption related process
US8682470B2 (en) 2008-01-08 2014-03-25 International Business Machines Corporation Data storage drive with target of opportunity recognition
US9349410B2 (en) 2008-01-08 2016-05-24 International Business Machines Corporation Automated data storage library with target of opportunity recognition
US8422686B2 (en) * 2008-06-19 2013-04-16 International Business Machines Corporation Automated validation and execution of cryptographic key and certificate deployment and distribution
US8559637B2 (en) * 2008-09-10 2013-10-15 Verizon Patent And Licensing Inc. Securing information exchanged via a network
WO2011106052A1 (en) 2010-02-23 2011-09-01 Rambus Inc. Decision feedback equalizer
CN104756127B (zh) * 2012-10-12 2018-03-27 皇家飞利浦有限公司 通过虚拟机进行安全数据处理
EP2719551B1 (en) 2012-10-15 2015-06-24 Continental Automotive GmbH Method and system for monitoring a parameter of a tire of a vehicle
US9183403B2 (en) 2013-06-28 2015-11-10 Hewlett-Packard Development Company, L.P. Key retrieval
JP5877215B2 (ja) * 2014-02-27 2016-03-02 日本電信電話株式会社 データ利用装置、暗号化データ流通システム、データ利用方法、暗号化データ流通方法、プログラム
US11615401B1 (en) 2014-04-30 2023-03-28 Wells Fargo Bank, N.A. Mobile wallet authentication systems and methods
US11461766B1 (en) 2014-04-30 2022-10-04 Wells Fargo Bank, N.A. Mobile wallet using tokenized card systems and methods
US11288660B1 (en) 2014-04-30 2022-03-29 Wells Fargo Bank, N.A. Mobile wallet account balance systems and methods
US11610197B1 (en) 2014-04-30 2023-03-21 Wells Fargo Bank, N.A. Mobile wallet rewards redemption systems and methods
US9652770B1 (en) 2014-04-30 2017-05-16 Wells Fargo Bank, N.A. Mobile wallet using tokenized card systems and methods
US11748736B1 (en) 2014-04-30 2023-09-05 Wells Fargo Bank, N.A. Mobile wallet integration within mobile banking
US10997592B1 (en) 2014-04-30 2021-05-04 Wells Fargo Bank, N.A. Mobile wallet account balance systems and methods
US10445739B1 (en) 2014-08-14 2019-10-15 Wells Fargo Bank, N.A. Use limitations for secondary users of financial accounts
US10218692B2 (en) 2014-08-21 2019-02-26 International Business Machines Corporation Management of digital certificates
US9965627B2 (en) 2014-09-14 2018-05-08 Sophos Limited Labeling objects on an endpoint for encryption management
US9537841B2 (en) * 2014-09-14 2017-01-03 Sophos Limited Key management for compromised enterprise endpoints
US10122687B2 (en) 2014-09-14 2018-11-06 Sophos Limited Firewall techniques for colored objects on endpoints
JP5838248B1 (ja) * 2014-09-24 2016-01-06 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
US11853919B1 (en) 2015-03-04 2023-12-26 Wells Fargo Bank, N.A. Systems and methods for peer-to-peer funds requests
US10097346B2 (en) * 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US11468414B1 (en) 2016-10-03 2022-10-11 Wells Fargo Bank, N.A. Systems and methods for establishing a pull payment relationship
US11295297B1 (en) 2018-02-26 2022-04-05 Wells Fargo Bank, N.A. Systems and methods for pushing usable objects and third-party provisioning to a mobile wallet
US11775955B1 (en) 2018-05-10 2023-10-03 Wells Fargo Bank, N.A. Systems and methods for making person-to-person payments via mobile client application
US11077727B2 (en) 2018-12-27 2021-08-03 Continental Automotive Systems, Inc. Vehicle TPMS security strategy
KR20200108515A (ko) * 2019-02-25 2020-09-21 현대자동차주식회사 차량 스마트키 시스템 및 그 제어 방법
CN110785783B (zh) * 2019-03-04 2024-03-26 创新先进技术有限公司 对用于区块链系统的签名验证进行测试的方法和设备
US11551190B1 (en) 2019-06-03 2023-01-10 Wells Fargo Bank, N.A. Instant network cash transfer at point of sale
US11979496B2 (en) * 2021-09-15 2024-05-07 Microsoft Technology Licensing, Llc Secret rotation in a cloud service

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812666A (en) * 1995-03-31 1998-09-22 Pitney Bowes Inc. Cryptographic key management and validation system
DE19622630C1 (de) 1996-06-05 1997-11-20 Siemens Ag Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
US6307936B1 (en) * 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
US6401203B1 (en) 1997-11-20 2002-06-04 Dan Eigeles Method for automatic handling of certificate and key-based processes
US6118873A (en) 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6785809B1 (en) 1998-08-27 2004-08-31 Nortel Networks Limited Server group key for distributed group key management
AU1448800A (en) * 1998-10-23 2000-05-15 L-3 Communications Corporation Apparatus and methods for managing key material in heterogeneous cryptographic assets
US7103185B1 (en) 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US7103915B2 (en) * 2000-11-13 2006-09-05 Digital Doors, Inc. Data security system and method
US8176563B2 (en) * 2000-11-13 2012-05-08 DigitalDoors, Inc. Data security system and method with editor
JP4074057B2 (ja) 2000-12-28 2008-04-09 株式会社東芝 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法
US20030149876A1 (en) * 2002-02-01 2003-08-07 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
JP3900483B2 (ja) 2002-06-24 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報配信システム、そのサーバ及び情報処理装置
US7174021B2 (en) * 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations
US7240365B2 (en) * 2002-09-13 2007-07-03 Sun Microsystems, Inc. Repositing for digital content access control
US7751569B2 (en) 2002-11-19 2010-07-06 Oracle America, Inc. Group admission control apparatus and methods
JP2006514321A (ja) * 2003-02-03 2006-04-27 ノキア コーポレイション 暗号化されたアプリケーションをインストールするためのアーキテクチャ
KR100744531B1 (ko) * 2003-12-26 2007-08-01 한국전자통신연구원 무선 단말기용 암호키 관리 시스템 및 방법
US7907733B2 (en) * 2004-03-05 2011-03-15 Electronics And Telecommunications Research Institute Method for managing traffic encryption key in wireless portable internet system and protocol configuration method thereof, and operation method of traffic encryption key state machine in subscriber station
US7437771B2 (en) * 2004-04-19 2008-10-14 Woodcock Washburn Llp Rendering protected digital content within a network of computing devices or the like
EP1867189A1 (fr) * 2005-04-07 2007-12-19 France Telecom Communication securisee entre un dispositif de traitement de donnees et un module de securite

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102334307A (zh) * 2009-02-27 2012-01-25 爱特梅尔卢梭公司 密码系统的密钥恢复机制
CN102334307B (zh) * 2009-02-27 2015-04-01 英赛瑟库尔公司 密码系统的密钥恢复机制
CN103988466A (zh) * 2011-12-15 2014-08-13 汤姆逊许可公司 群加密方法及设备
CN105793861A (zh) * 2013-09-30 2016-07-20 谷歌公司 用于安全地管理安全元件上的数据的系统、方法和计算机程序产品
CN105793861B (zh) * 2013-09-30 2018-11-09 谷歌有限责任公司 用于安全地管理安全元件上的数据的系统、方法和计算机程序产品
CN106664209A (zh) * 2014-08-26 2017-05-10 国际商业机器公司 基于密码的秘密加密密钥的生成和管理

Also Published As

Publication number Publication date
US20080101610A1 (en) 2008-05-01
US7822206B2 (en) 2010-10-26
JP5296365B2 (ja) 2013-09-25
CN101169814B (zh) 2010-06-02
JP2008109662A (ja) 2008-05-08

Similar Documents

Publication Publication Date Title
CN101169814B (zh) 用于管理和自动生成加密密钥的系统和方法
Daraghmi et al. MedChain: A design of blockchain-based system for medical records access and permissions management
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
US8675875B2 (en) Optimizing use of hardware security modules
US11258591B2 (en) Cryptographic key management based on identity information
US20210135847A1 (en) Random node selection for permissioned blockchain
CN105103119A (zh) 数据安全服务系统
JP2009089045A (ja) 暗号モジュール選定装置およびプログラム
CN105122265A (zh) 数据安全服务系统
CN116249999A (zh) 用于区块链网络的共识服务
Kumbhare et al. Designing a secure storage repository for sharing scientific datasets using public clouds
EP3703306A1 (en) Data registration method, data decoding method, data structure, computer, and program
CA3058012C (en) Cryptography chip with identity verification
Sumathi et al. A group-key-based sensitive attribute protection in cloud storage using modified random Fibonacci cryptography
WO2019120323A2 (en) Securely performing cryptographic operations
CN116941265A (zh) 区块链网络身份管理使用ssi
Rasina Begum et al. ECC-CRT: an elliptical curve cryptographic encryption and Chinese remainder theorem based deduplication in cloud
US20230208638A1 (en) Future asset reclamation via blockchain
Babel et al. Bringing data minimization to digital wallets at scale with general-purpose zero-knowledge proofs
Anwarbasha et al. An efficient and secure protocol for checking remote data integrity in multi-cloud environment
JP2023098847A (ja) 装置、方法、コンピュータプログラム(プライバシー保護ブロックチェーンの選択的監査プロセス)
Alfaidi et al. The right to be forgotten: Privacy and security in blockchain with multi-authority based chameleon hash function map-abch solution
Madanagopal et al. Blockchain based Letter of Recommendation Verification System for Higher Studies
Gupta et al. A comparative study on blockchain-based distributed public key infrastructure for IoT applications
Noh Blockchain-Based Secure and Trustworthy Mechanisms for Decentralized Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20200917