CN102171968A - 信息处理装置、方法、程序及集成电路 - Google Patents

信息处理装置、方法、程序及集成电路 Download PDF

Info

Publication number
CN102171968A
CN102171968A CN2009801388971A CN200980138897A CN102171968A CN 102171968 A CN102171968 A CN 102171968A CN 2009801388971 A CN2009801388971 A CN 2009801388971A CN 200980138897 A CN200980138897 A CN 200980138897A CN 102171968 A CN102171968 A CN 102171968A
Authority
CN
China
Prior art keywords
mentioned
key
data
encrypting
encryption
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.)
Pending
Application number
CN2009801388971A
Other languages
English (en)
Inventor
伊藤孝幸
松岛秀树
高山久
芳贺智之
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102171968A publication Critical patent/CN102171968A/zh
Pending legal-status Critical Current

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/60Digital content management, e.g. content distribution

Landscapes

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

Abstract

在使用多个密钥数据库将相同的数据同步时,由于利用预先设定的别的密钥数据库的密钥将由别的数据库管理的数据更新,所以目的是通过削减密钥的解密次数,提供高速的数据同步处理。管理树结构的密钥数据库(A120)和密钥数据库(B121)的密钥管理软件(116)在来自上位应用的数据的加密请求时,判断是否应同步,利用预先设定的别的密钥数据库的密钥进行加密数据的同步。由此,削减了向加密解密处理部(114)的加密的密钥的装载次数,进行高速的数据的加密解密。

Description

信息处理装置、方法、程序及集成电路
技术领域
本发明涉及在多个加密解密***中共享数据的技术。
背景技术
近年来,保存在个人计算机(PC)及便携电话等的信息处理装置中的个人信息等的数据的盗取成为问题。
这样的数据的盗取有由计算机病毒等的有恶意的程序进行的情况。有恶意的程序利用在作为对象的信息处理装置中动作的其他程序的漏洞等,进入到该信息处理装置中而非法地动作,读取保存在该信息处理装置的存储部中的数据,经由网络将所读取的数据发送给攻击者等。
为了防止这样的数据的盗取,可以通过将数据加密来保护数据。作为数据加密技术,存在通过使用文件***的加密处理来实现的技术、以及不依存于文件***的技术。
在专利文献1中,公开了使用对应于文件的文件密钥将文件加密的技术。由此,能够按照文件而用不同的密钥进行加密。
此外,在非专利文献1中,作为不依存于文件***的技术,在Trusted Computing Gruop(TCG)中,公开了进行数据的加密的Protected Storage的规格。以下,对在非专利文献1中公开的加密解密处理模组进行说明。
用来实现该加密解密处理模组的密钥管理软件具有密钥数据库,密钥数据库将在该加密解密处理模组中使用的密钥通过树结构管理。密钥数据库存在于加密解密处理模组的外部的存储装置中。密钥数据库的树结构为了使说明变得简单,设为由3个层级构成、由1个根、2个中间节点、4个叶构成。在上述根之下连接着2个中间节点,在2个中间节点之下分别连接着2个叶。对根分配了根密钥。在第1及第2中间节点中,分别保存使用根密钥加密的密钥A及使用根密钥加密的密钥B。在连接于第1中间节点之下的2个叶中,分别保存使用第1中间节点的密钥A加密的密钥C及加密的密钥D。在连接在第2中间节点之下的2个叶中,分别保存使用第2中间节点的密钥B加密的密钥E及加密的密钥F。这里,密钥C、密钥D、密钥E及密钥F分别是用于将数据加密或解密的密钥。
上述加密解密处理模组由非易失性存储器、加密解密引擎及密钥保存部构成。此外,将上述加密解密处理模组防篡改化,以使其不能被进行从外部的处理数据的盗取及篡改。非易失性存储器保存有上述根密钥。根密钥是公开密钥加密方式的秘密密钥(私有密钥)、共享密钥加密方式的秘密密钥。加密解密引擎进行加密的密钥的解密、密钥的加密、加密的数据的解密及数据的加密。密钥保存部保存加密解密引擎使用的密钥。
这样,根密钥通过被保存到防篡改化的加密解密处理模组的内部中而受到保护。另一方面,其他密钥A、密钥B、密钥C、密钥D、密钥E及密钥F通过在加密解密处理模组的外部的存储装置中被加密而受到保护。
密钥管理软件如果被从加密解密处理模组的外部的应用程序请求密钥C的取得,则从密钥管理数据库取得保存在作为对应于密钥C的叶的父级的中间节点中的加密密钥B,将加密密钥B向加密解密处理模组输出。加密解密处理模组通过加密解密引擎将加密密钥B使用根密钥解密而生成密钥B。接着,密钥管理软件从密钥管理数据库取得保存在对应于密钥C的叶中的加密密钥C,将加密密钥C向加密解密处理模组输出。加密解密处理模组通过加密解密引擎将加密密钥C使用密钥B解密,将解密得到的密钥C保存到密钥保存部中。接着,密钥管理软件从加密解密处理模组接受表示密钥的装载结束的通知。这样,密钥的向加密解密处理模组的装载处理结束。
在将密钥C保存到加密解密处理模组的密钥保存部中之后,密钥管理软件被从应用程序请求数据的加密或解密,密钥管理软件将从应用程序接受到的数据向加密解密处理模组输出,对加密解密处理模组委托,以使其使用密钥C进行加密或解密。加密解密处理模组将接受到的数据通过加密解密引擎使用保存在密钥保存部中的密钥C进行加密或解密,将加密文或解密文输出。密钥管理软件将从加密解密处理模组接受到的加密文或解密文向应用程序输出。这样,加密解密处理结束。
如以上说明,通过使用密钥数据库及加密解密处理模组,能够将平文的密钥(根密钥)总是保存到防篡改化的加密解密处理模组的内部中而使用。因此,能够防止平文的密钥的盗取。
先行技术文献
专利文献1:日本特表2006-510958号公报
非专利文献1:TCG Specification Architecture Overview Specification Revision 1.328th March 2007
发明内容
发明的概要
发明要解决的课题
这里,设想通过由非专利文献1公开的方法、使用1个加密解密处理模组、和由不同的树结构构成的2个密钥数据库的情况。
例如,在信息处理装置利用分发音乐的音乐分发***及分发电影的电影分发***接受音乐及电影的供给的情况下,由于音乐分发***和电影分发***由不同的音乐分发厂商和电影分发厂商运营,所以在各自的***中使用的密钥数据库不同的情况较多。
在这样的情况下,假设通过各自的密钥数据库保持有将1个共享数据加密后的加密共享数据。
此时,如果发生共享数据的更新,则首先,在第1密钥数据库中,使用根密钥将中间节点的加密密钥解密,使用得到的密钥将叶的加密密钥解密,使用得到的密钥将更新后的共享数据加密并保持。接着,与第1密钥数据库的情况同样,在第2密钥数据库中,使用根密钥将中间节点的加密密钥解密,使用得到的密钥将叶的加密密钥解密,使用得到的密钥将更新后的共享数据加密并保持。
这样,在使用不同的树结构的2个密钥数据库将1个共享数据加密并保持的情况下,在各自的密钥数据库中,发生从根向叶的方向的密钥的解密处理。因此,有信息处理装置的负荷变大的问题。
为了解决上述问题,本发明的目的是提供一种在多个加密解密***中将相同的数据分别加密并保持的情况下、能够使得处理的负荷不变大的信息处理装置、方法、程序及集成电路。
解决课题的手段
为了达到上述目的,作为本发明的一技术方案的信息处理装置,是具有分别将数据加密并保管的多个加密解密***的信息处理装置,其特征在于,具备:数据取得机构,取得一个加密解密***中的加密的对象数据;判断机构,判断上述对象数据是否被在其他加密解密***中加密并保管;密钥取得机构,在判断为被保管的情况下,取得在其他加密***中保管的加密数据的密钥;密钥存储机构,在上述一个加密解密***中使用;以及密钥写入机构,在上述一个加密解密***中,与上述对象数据建立对应而将所取得的上述密钥写入到上述密钥存储机构中。
由于这样构成,所以能够将其他加密***的密钥从一个加密解密***直接解密。由此,节省了在其他加密***中取得上述密钥的工夫,能够使信息处理装置的负荷不会变大。
附图说明
图1是表示本发明的实施方式1的信息处理装置10的硬件结构的框图。
图2是表示信息处理装置10的软件结构的框图。
图3表示密钥数据库A120及密钥数据库B121的树结构。
图4表示节点信息结构体150的数据结构的一例。
图5表示节点信息结构体160的数据结构的一例。
图6表示管理表220的数据结构的一例。
图7是表示向加密解密处理部114的密钥的装载的动作的流程图。
图8是表示数据的加密解密的动作的流程图。
图9是表示将共享的数据B同步更新的动作的流程图。
图10是表示管理表220的更新的动作的流程图。后接图11。
图11是表示管理表220的更新的动作的流程图。后接图12。
图12是表示管理表220的更新的动作的流程图。前接图11。
图13是表示密钥的取得的动作的流程图。
图14是表示共享数据的更新的动作的流程图。
图15是表示本发明的实施方式2的信息处理装置10具备的加密解密处理部260的结构的框图。
图16是表示本发明的实施方式3的信息处理装置10具备的加密解密处理部270的结构的框图。
图17表示密钥表274的数据结构的一例。
图18表示密钥表274的其他数据结构的一例。
图19表示密钥保存部330的数据结构的一例。
图20表示块管理表331的数据结构的一例。
图21表示作为变形例的密钥数据库A283及密钥数据库B284的树结构的一例。
图22表示作为变形例的管理表的管理信息300的数据结构的一例。
图23是表示作为变形例的密钥管理软件进行的管理表的更新处理的流程图。
图24表示作为变形例的、使用加密数据的哈希值的情况下的管理表320的一例。
图25是作为变形例而表示应同步的数据的密钥的取得的流程图。
图26是作为变形例而表示在被指示以将共享数据同步的情况下、其他加密解密***管理的共享数据的更新处理的流程图。
图27变形例而表示被从外部供给了加密的共享数据的更新的指示的信息处理装置的软件结构。
图28是作为变形例而表示从外部供给了加密的共享数据的更新的指示时的数据同步处理的流程图。
具体实施方式
作为技术方案1所述的形态的信息处理装置,是具有分别将数据加密并保管的多个加密解密***的信息处理装置,其特征在于,具备:数据取得机构,取得一个加密解密***中的加密的对象数据;判断机构,判断上述对象数据是否被在其他加密解密***中加密并保管;密钥取得机构,在判断为保管有的情况下,取得在其他加密解密***中保管的加密数据的密钥;密钥存储机构,在上述一个加密解密***中使用;以及密钥写入机构,在上述一个加密解密***中,与上述对象数据建立对应并将所取得的上述密钥写入到上述密钥存储机构中。
此外,作为技术方案2所述的形态的信息处理装置,是具有分别将数据加密并存储的第1加密解密***及第2加密解密***的信息处理装置,其特征在于,具备:数据取得机构,取得上述第1加密解密***中的加密的对象数据;判断机构,判断将上述对象数据加密而生成的加密数据是否存储在上述第2加密解密***中;密钥取得机构,在判断为存储有的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;第1密钥存储机构,在上述第1加密解密***中使用;加密解密机构,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;密钥写入机构,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
此外,技术方案3所述的形态的上述信息处理装置还具备第2数据保存机构,该第2数据保存机构在上述第2加密解密***中存储使用上述第2密钥将上述对象数据加密生成的第2加密对象数据,来作为上述加密数据;上述判断机构判断作为上述加密数据的上述第2加密对象数据是否存储在上述第2数据保存机构中。
此外,在技术方案4所述的形态的上述信息处理装置中,上述加密解密机构还在上述第1加密解密***中使用上述第1密钥将上述对象数据加密而生成第1加密对象数据;上述信息处理装置还具备:上述第1加密解密***中的第1数据保存机构;以及数据写入机构,将所生成的上述第1加密对象数据写入到上述第1数据保存机构中。
此外,技术方案5所述的形态的上述信息处理装置还具备存储有管理表的表存储机构,该管理表与上述对象数据建立对应而包括表示在上述第2加密解密***中上述加密数据存储的位置的位置信息;上述判断机构通过判断对应于上述对象数据的位置信息是否存储在上述管理表中,判断上述加密数据是否存储在上述第2加密机构中。
此外,在技术方案6所述的形态的上述信息处理装置中,上述数据取得机构还取得上述对象数据的更新的指示;上述判断机构还判断将有关上述指示的上述对象数据加密而生成的加密数据是否存储在上述第2加密解密***中;上述密钥取得机构还在判断为被存储的情况下,从上述第1密钥存储机构取得上述加密第2密钥;上述加密解密机构还将所取得的上述加密第2密钥解密而生成第2密钥,使用所生成的第2密钥将通过上述对象数据的更新而得到的更新数据加密,生成第2加密更新数据;上述数据写入机构还将所生成的上述第2加密更新数据覆盖到存储于上述第2数据保存机构中的上述第2加密对象数据上。
此外,在技术方案7所述的形态的上述信息处理装置中,上述加密解密机构使用对应于上述第1密钥的解密密钥将上述加密第2密钥解密。
此外,在技术方案8所述的形态的上述信息处理装置中,上述管理表与上述对象数据建立对应,并且还包括表示存储有对应于上述第1密钥的解密密钥的位置的密钥位置信息;
上述加密解密机构使用从由上述密钥位置信息表示的位置取得的上述解密密钥。
此外,在技术方案9所述的形态的上述信息处理装置中,上述加密解密机构还使用上述第1密钥将上述更新数据加密而生成第1加密更新数据;上述数据写入机构还将所生成的上述第1加密更新数据覆盖到存储于上述第1数据保存机构中的上述第1加密对象数据上。
此外,在技术方案10所述的形态的上述信息处理装置中,上述数据写入机构在将上述第1加密更新数据覆盖到存储于上述第1数据保存机构中的上述第1加密对象数据上之后,在接受到同步指示的情况下,将上述第2加密更新数据覆盖到存储于上述第2数据保存机构中的上述第2加密对象数据上。
此外,在技术方案11所述的形态的上述信息处理装置中,包含在上述管理表中的上述位置信息表示在上述第2数据保存机构中存储上述第2加密对象数据的位置;上述数据写入机构将上述第2加密更新数据写入到由上述位置信息表示的位置中。
此外,在技术方案12所述的形态的上述信息处理装置中,上述加密解密机构还将存储在上述第1数据保存机构中的上述第1加密对象数据解密而生成对象数据,基于所生成的对象数据将得到的更新数据加密。
此外,在技术方案13所述的形态的上述信息处理装置中,上述管理表将上述对象数据的摘要值和上述位置信息建立对应而包含;上述判断机构根据上述对象数据计算其摘要值,判断在上述管理表中是否存储有对应于得到的摘要值的上述位置信息。
此外,在技术方案14所述的形态的上述信息处理装置中,上述管理表建立将上述第1加密对象数据的摘要值和上述位置信息建立对应而包含;上述判断机构根据存储在第1数据保存机构中的上述第1加密对象数据计算其摘要值,判断在上述管理表中是否存储有对应于得到的摘要值的上述位置信息。
此外,在技术方案15所述的形态的上述信息处理装置中,上述信息处理装置还具备在上述第2加密解密***中使用的第2密钥存储机构;上述数据取得机构还取得上述第2加密解密***中的加密的对象数据;上述判断机构还判断将上述对象数据加密而生成的加密数据是否存储在上述第1加密解密***中;上述密钥取得机构还在判断为存储有的情况下,取得在上述第1加密解密***中用于将上述加密数据加密的第1密钥;上述加密解密机构还在上述第2加密解密***中,使用用于将上述对象数据加密的第2密钥,将所取得的上述第1密钥加密,生成加密第1密钥;上述密钥写入机构还在上述第2加密解密***中,与上述对象数据建立对应而将所生成的上述加密第1密钥写入到上述第2密钥存储机构中。
此外,在技术方案16所述的形态的上述信息处理装置中,上述加密解密机构还在上述第2加密解密***中,使用上述第2密钥将上述对象数据加密,生成第2加密对象数据;上述信息处理装置还具备:上述第2加密解密***中的第2数据保存机构;以及数据写入机构,将所生成的上述第2加密对象数据写入到上述第2数据保存机构中。
此外,在技术方案17所述的形态的上述信息处理装置中,上述数据取得机构还取得上述对象数据的更新的指示;上述判断机构还判断将有关上述指示的上述对象数据加密而生成的加密数据是否存储在上述第1加密解密***中;上述密钥取得机构还在判断为存储有的情况下,从上述第2密钥存储机构取得上述加密第1密钥;上述加密解密机构还将所取得的上述加密第1密钥解密而生成第1密钥,使用所生成的第1密钥,将通过上述对象数据的更新而得到的更新数据加密,生成第1加密更新数据;上述数据写入机构还将所生成的上述第1加密更新数据覆盖到存储于上述第1数据保存机构中的上述第1加密对象数据上。
此外,在技术方案18所述的形态的上述信息处理装置中,上述第1密钥存储机构在第1加密解密***中,通过层级结构来管理密钥,对于层级结构的各密钥的下位分配被加密以使得能够使用该密钥解密的密钥;密钥写入机构将上述加密第2密钥分配并写入到上述第2密钥的下位。
此外,在技术方案19所述的形态的上述信息处理装置中,上述信息处理装置还具备处理器,该处理器按照利用第1加密解密***中的加密数据的应用程序而动作;上述应用程序包括将加密的对象数据输出的命令;上述处理器对上述数据取得机构输出加密的对象数据。
此外,在技术方案20所述的形态的上述信息处理装置中,上述信息处理装置还具备密钥保存机构,该密钥保存机构将在上述第1加密解密***中被解密的密钥与表示是上述第1加密解密***用的第1类型信息建立对应而保持,将在上述第2加密解密***中被解密的密钥与表示是上述第2加密解密***用的第2类型信息建立对应而保持;上述加密解密机构在上述第1加密解密***中,使用与上述第1类型信息建立了对应的密钥进行解密;上述加密解密机构在上述第2加密解密***中,使用与上述第2类型信息建立了对应的密钥进行加密;上述信息处理装置还具备控制机构,该控制机构对于上述第1加密解密***中的解密的结果,与上述第1类型信息建立对应而保持在上述密钥保存机构中的密钥,通过将上述第1类型信息改写为表示是上述第2加密解密***用的上述第2类型信息,在上述第2加密解密***中对使用了上述密钥的上述更新数据进行加密。
此外,在技术方案21所述的形态的上述信息处理装置中,上述密钥保存机构由具有规定的容量的多个块构成,将表示保持的密钥分别保存在哪个块中的块信息与上述保持的密钥分别建立对应而保持。
此外,在技术方案22所述的形态的上述信息处理装置中,上述加密解密机构具备:控制部;密钥保存部,保持上述第1加密解密***用的上述第1密钥;以及加密解密引擎部,使用保持在上述密钥保存部中的上述第1密钥进行加密;上述控制部在取得上述第1密钥而保持到上述密钥保存部中时,在上述密钥保存部的空闲区域不足的情况下,将上述密钥保存部已经保持的一个密钥通过上述加密解密引擎部加密而保存到上述密钥保存部之外,在上述密钥保存部中,将所取得的上述第1密钥覆盖到保持有保存对象的上述密钥的区域中,在使用上述第1加密解密***的上述第1密钥的加密完成之后,将保存的上述加密密钥通过上述加密解密引擎部解密,覆盖到保持有上述第1密钥的区域上。
此外,技术方案23所述的形态的方法,是在具有分别将数据加密并存储的第1加密解密***及第2加密解密***、具备在上述第1加密解密***中使用的第1密钥存储机构的信息处理装置中使用的方法,其特征在于,具备:数据取得步骤,取得上述第1加密解密***中的加密的对象数据;判断步骤,判断将上述对象数据加密而生成的加密数据是否存储在上述第2加密解密***中;密钥取得步骤,在判断为存储有的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;加密解密步骤,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;密钥写入步骤,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
此外,技术方案24所述的形态的计算机程序,是在具有分别将数据加密并存储的第1加密解密***及第2加密解密***、具备在上述第1加密解密***中使用的第1密钥存储机构的信息处理装置中使用的计算机程序,其特征在于,用来使作为计算机的上述信息处理装置执行:数据取得步骤,取得上述第1加密解密***中的加密的对象数据;判断步骤,判断将上述对象数据加密而生成的加密数据是否存储在上述第2加密解密***中;密钥取得步骤,在判断为存储有的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;加密解密步骤,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;密钥写入步骤,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
此外,技术方案25所述的形态的上述计算机程序记录在计算机可读取的记录媒体中。
此外,技术方案26所述的形态的集成电路,是具有分别将数据加密并存储的第1加密解密***及第2加密解密***的集成电路,其特征在于,具备:数据取得机构,取得上述第1加密解密***中的加密的对象数据;判断机构,判断将上述对象数据加密而生成的加密数据是否存储在上述第2加密解密***中;密钥取得机构,在判断为存储有的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;第1密钥存储机构,在上述第1加密解密***中使用;加密解密机构,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;密钥写入机构,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
以下,参照附图对本发明的实施方式进行说明。
1.实施方式1
对作为有关本发明的一实施方式的信息处理装置10进行说明。
(信息处理装置10的概要)
在信息处理装置10中,第1加密解密***及第2加密解密***分别独立地动作,在第1及第2加密解密***间共享利用1个数据。第1及第2加密解密***是不同的加密解密***,分别由密钥数据库及加密的数据构成。
作为一例,信息处理装置10利用分发音乐的音乐分发***及分发电影的电影分发***从音乐分发***接受音乐的供给、从电影分发***接受电影的供给。音乐分发***和电影分发***由不同的音乐分发厂商和电影分发厂商运营。第1加密解密***是用于音乐分发***的加密解密***,第2加密解密***是用于电影分发***的加密解密***。在第1及第2加密解密***中,共享的数据的一例是信息处理装置10的使用者的住所。
(共享住所的情况)
这里,作为一例,对共享住所的情况进行说明。
另外,假设在电影分发***的第2加密解密***中,已经保持有使用者的加密的住所。具体而言,信息处理装置10具备用于第2加密解密***的子加密数据保存部,该子加密数据保存部存储有使用第2加密解密***的第2密钥将作为对象数据的住所加密而生成的第2加密对象数据、即加密的住所。但是,假设在第1加密解密***中还没有保持使用者的加密的住所。
信息处理装置10在音乐分发***的第1加密解密***中,为了将使用者的住所加密并保持,取得作为加密的对象数据的使用者的住所。接着,判断将作为对象数据的住所加密而生成的加密数据(加密的住所)是否存储在第2加密解密***中。具体而言,信息处理装置10判断第2加密对象数据(加密的住所)是否为了第2加密解密***而存储在子加密数据保存部中。接着,在判断为加密数据(加密的住所)存储在第2加密解密***中的情况下,从第2加密解密***取得在第2加密解密***中用于将上述加密数据(加密的住所)加密的第2密钥。这里,信息处理装置10保持有在第1加密解密***中使用的密钥数据库A。信息处理装置10在第1加密解密***中,使用用于将上述对象数据(使用者的住所)加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥,在第1加密解密***的密钥数据库A中,与上述对象数据(使用者的住所)建立对应,将所生成的上述加密第2密钥写入到密钥数据库A中。
此外,信息处理装置10在第1加密解密***中,使用上述第1密钥将上述对象数据(使用者的住所)加密而生成第1加密对象数据(加密的住所)。信息处理装置10具备用来存储第1加密对象数据(加密的住所)的子加密数据保存部,在用于第1加密解密***的子加密数据保存部中,写入所生成的上述第1加密对象数据(加密的住所)。
以上,通过在第1加密解密***中保持加密的住所,在第1加密解密***和第2加密解密***中共享住所。进而,在第1加密解密***中,与住所建立对应,将在第2加密解密***中被用于住所的加密的第2密钥在第1加密解密***中加密并保持。
(将共享的住所更新的情况)
接着,作为一例,对信息处理装置10的使用者将作为在第1加密解密***和第2加密解密***中共享的对象数据的住所更新的情况进行说明。
信息处理装置10在第1加密解密***中,取得作为对象数据的住所的更新的指示。信息处理装置10与上述同样,还判断将有关上述指示的上述对象数据(旧住所)加密而生成的加密数据(加密的旧住所)是否存储在第2加密解密***中。在判断为被存储的情况下,从密钥数据库A取得上述加密第2密钥,将所取得的上述加密第2密钥解密而生成第2密钥,使用生成的第2密钥,将通过上述对象数据(旧住所)的更新而得到的更新数据(新住所)加密,生成第2加密更新数据(加密的新住所),将所生成的上述第2加密更新数据(加密的新住所)覆盖到存储在用于第2加密***的子加密数据保存部中的上述第2加密对象数据(加密的旧住所)上。
此外,信息处理装置10在第1加密解密***中,使用上述第1密钥将更新数据(新住所)加密而生成第1加密更新数据(加密的新住所),将所生成的上述第1加密更新数据(加密的新住所)覆盖到存储在用于第1加密***的子加密数据保存部中的上述第1加密对象数据(加密的旧住所)上。
通过以上,不依存于第2加密解密***,仅通过第1加密解密***,就能够知道在第2加密解密***中使用的第2密钥。
1.1信息处理装置10的硬件结构
信息处理装置10如图1所示,由CPU111、第1存储部112、第2存储部113、加密解密处理部114、总线115及输入输出部(未图示)构成。CPU111、第1存储部112、第2存储部113、加密解密处理部114及输入输出部经由总线115相互连接。
以下,对信息处理装置10的各构成单元的详细情况进行说明。
CPU111是微处理器,通过将保存在第1存储部112中的程序等中包含的命令代码读出、解读、执行,控制信息处理装置10整体的动作。
第1存储部112由易失性的半导体存储器构成,保存有密钥管理软件116、应用程序A117、应用程序B118、数据访问部119、密钥数据库A120及密钥数据库B121。
第2存储部113由硬盘单元构成,具有加密数据保存部122。加密数据保存部122由子加密数据保存部122a及子加密数据保存部122b构成。加密数据保存部122保存在应用程序A117及应用程序B118等中使用的加密的数据。子加密数据保存部122a保存在应用程序A117中使用的加密的数据。子加密数据保存部122b保存在应用程序B118中使用的加密的数据。
加密解密处理部114由非易失性存储器部123、加密解密引擎部124、密钥数据库B用密钥保存部125以及密钥数据库A用密钥保存部126构成,加密解密处理部114被防篡改化,以使其不能被进行从加密解密处理部114的外部的处理数据的盗取及篡改。
非易失性存储器部123由即使在没有被从外部电源供电的情况下也不会丢失存储的数据的非易失性的半导体存储器构成。非易失性存储器部123保存有密钥数据库A用的根密钥127和密钥数据库B用的根密钥128。
密钥数据库A用的根密钥127及密钥数据库B用的根密钥128是公开密钥加密方式(public key cryptosystem,也称作非对称加密方式asymmetric key cryptosystem)的秘密密钥(私有密钥)、或共享密钥加密方式(secret key cryptosystem,也称作对称加密方式symmetric key cryptosystem)的秘密密钥。此外,密钥数据库A用的根密钥127及密钥数据库B用的根密钥128分别是对应于密钥数据库A及密钥数据库B的根的密钥。密钥数据库A用的根密钥127及密钥数据库B用的根密钥128由于是在密钥数据库A及密钥数据库B的其他所有节点的密钥的解密中使用的密钥,所以不是由第1存储部112上的密钥数据库A120或密钥数据库B121、而由防篡改化的加密解密处理部114管理、保持。另外,如果将包含在密钥数据库A120及密钥数据库B121中的密钥的全部记录到防篡改化的加密解密处理部114的非易失性存储器部123中,则对加密解密处理部114要求的记录容量变大,所以仅将在将其他全部节点的密钥解密时需要的根密钥在防篡改化的加密解密处理部114的非易失性存储器部123中保护。
加密解密引擎部124进行加密的密钥的解密、密钥的加密、加密的数据的解密及数据的加密。在加密解密中,使用作为公开密钥加密方式的RSA加密或作为共享密钥加密方式的AES加密等的加密算法等。
密钥数据库B用密钥保存部125在利用加密解密引擎部124时,保存由密钥数据库B121管理的密钥。
密钥数据库A用密钥保存部126在利用加密解密引擎部124时,保存由密钥数据库A120管理的密钥。
另外,密钥数据库A120、密钥数据库A用密钥保存部126、密钥数据库A用的根密钥127及子加密数据保存部122a构成第1加密解密***,密钥数据库B121、密钥数据库A用密钥保存部125、密钥数据库B用的根密钥128及子加密数据保存部122b构成第2加密解密***。
1.2信息处理装置10的软件结构
使用图2对信息处理装置10的软件结构进行说明。
在信息处理装置10中,应用程序A117及应用程序B118分别经由密钥管理软件116对密钥数据库A120及密钥数据库B121访问、经由数据访问部119对加密数据保存部122访问。另外,在信息处理装置10中,未图示的OS、设备驱动器、其他应用程序也动作。
另外,如以下说明,应用程序A117和应用程序B118共享数据B。
(1)密钥数据库A120及密钥数据库B121
这里,对密钥数据库A120及密钥数据库B121进行说明。
(密钥数据库A120)
密钥数据库A120是使用作为n分叉树的树结构管理密钥的数据库,由应用程序A117利用。在图3中表示由密钥数据库A120使用的树结构的一例。
密钥数据库A120的树结构作为一例而如图3所示,由4个层级构成,由1个根132、2个中间节点133及134、4个叶135~138及1个叶239构成。在根132之下连接着2个中间节点133及134,在中间节点133之下连接着2个叶135及136,在中间节点134之下连接着2个叶137及138。此外,在叶138之下连接着1个叶239。
对根132分配了密钥数据库A用的根密钥127。如上所述,根密钥127不是保存在密钥数据库A120内、而保存在加密解密处理部114的非易失性存储器部123中。
对中间节点133及134分别分配了密钥A及密钥B,对叶135、136、137、138、239分别分配了密钥C、密钥D、密钥E、密钥F及密钥I。
在中间节点133中,保存有使用根密钥127加密的密钥A,在中间节点134中,保存有使用根密钥127加密的密钥B。在叶135中,保存有使用中间节点133的密钥A加密的密钥C,在叶136中,保存有使用中间节点133的密钥A加密的密钥D,在叶137中,保存有中间节点134的密钥B加密的密钥E,在叶138中,保存有使用中间节点134的密钥B加密的密钥F。这里,密钥C、密钥D、密钥E及密钥F分别是用于将数据加密或解密的密钥。
在叶239中,加密并保存有后述的密钥数据库B121的叶142的密钥I。这里,保存在叶239中的加密的密钥I是使用叶138的密钥F加密的。
另外,作为一例,如图3所示,加密的数据A(146)是使用对叶136分配的密钥D将数据A加密而生成的,加密的数据B(147)是将数据B使用对叶138分配的密钥F加密而生成的。
密钥数据库A120在第1存储部112中存储有多个节点信息结构体,通过这些多个节点信息结构体构成树结构。多个节点信息结构体分别对应于密钥数据库A120的根、多个中间节点及多个叶,在密钥数据库A120中用于管理密钥。在图4中表示密钥数据库A120的节点信息结构体150的数据结构的一例。
节点信息结构体150如图4所示由密钥长151、密钥152、父节点识别码153、密钥句柄值154、数据句柄值155、数据156及其他的附属信息157构成。
在密钥长151的字段中,保存在进行加密解密的情况下使用的密钥的长度。保存的值也可以是位长或字节长等的数值。进而,也可以是预先决定的对应于密钥的长度的识别码。
在密钥152的字段中,保存将在进行加密解密的情况下使用的密钥加密而生成的加密密钥。此外,在密钥152的字段中,也可以保存表示加密密钥存在的位置的位置信息。但是,对应于根的密钥不保存在节点信息结构体的密钥152的字段中。此外,保存在密钥152的字段中的加密密钥是被使用通过由父节点识别码153指定的节点号码决定的中间节点或根的密钥(各节点的父节点的密钥)加密的。
在父节点识别码153的字段中,保存指定对应于该节点信息结构体150的节点的父节点的识别码。此外,在父节点识别码153的字段中,也可以保存表示父节点的位置的位置信息。进而,也可以保存预先决定的识别码或动态生成的识别码。这些识别码指定父节点。
在密钥句柄值154的字段中,保存表示对该节点分配的加密密钥存在的位置的位置信息。在不存在加密密钥的情况下,保存NULL。
在数据句柄值155的字段中,在存在使用对应于该节点信息结构体150的密钥加密的数据的情况下,保存作为该加密数据的生成的基础的平文数据存在的位置的位置信息。在不存在这样的加密数据的情况下,保存NULL。
在数据156的字段中,在使用节点信息结构体150保存数据时,保存加密的数据。
其他附属信息157是保存其他各节点需要的信息的字段。
作为一例,在叶239的节点信息结构体的密钥的字段中,将对应于后述的密钥数据库B121的叶142的密钥I加密而保存,在叶239的节点信息结构体的父节点识别码中,保存有识别叶138的识别码(节点号码)。另外,叶142在密钥数据库B121中是保存将数据B加密的密钥的叶。
如以上说明,密钥数据库A在第1加密解密***中将密钥通过层级结构管理。对层级结构的各密钥的下位,分配被加密以使其能够使用该密钥解密的密钥。
(密钥数据库B121)
密钥数据库B121是使用作为n分叉树的树结构来管理密钥的数据库,由应用程序B118利用。在图3中表示由密钥数据库B121使用的树结构的一例。
密钥数据库B121的树结构作为一例而如图3所示,由4个层级构成,由1个根139、2个中间节点140及141、4个叶142~145、以及1个叶247构成。在根139之下连接着2个中间节点140及141,在中间节点140之下连接着2个叶142及143,在中间节点141之下连接着2个叶144及145。此外,在叶142之下连接着叶247。
对于根139分配了密钥数据库B用的根密钥12。如上所述,根密钥128不是保存在密钥数据库B121内,而保存在加密解密处理部114的非易失性存储器部123中。
对中间节点140及141分别分配了密钥G及密钥H,对叶142、143、144、145、247分别分配了密钥I、密钥J、密钥K、密钥L及密钥F。
在中间节点140中,保存有使用根密钥128加密的密钥G,在中间节点141中,保存有使用根密钥128加密的密钥H。在叶142中,保存有使用中间节点140的密钥G加密的密钥I,在叶143中,保存有使用中间节点140的密钥G加密的密钥J,在叶144中,保存有使用中间节点141的密钥H加密的密钥K,在叶145中,保存有使用中间节点141的密钥H加密的密钥L。这里,密钥I、密钥J、密钥K及密钥L分别是用于将数据加密或解密的密钥。
在叶247中,加密保存有密钥数据库A120的叶138的密钥F。这里,保存在叶247中的加密的密钥F是使用叶142的密钥I加密的。
另外,作为一例,如图3所示,加密的数据B(148)是使用对叶142分配的密钥I将数据B加密而生成的。
这里,图3所示的加密的数据B(147)和加密的数据B(148)的作为加密的基础的数据B是共享的。即,应用程序A117和应用程序B118共享数据B。
密钥数据库B121在第1存储部112中存储有多个节点信息结构体,由这些多个节点信息结构体构成树结构。多个节点信息结构体分别对应于密钥数据库B121的根、多个中间节点及多个叶,在密钥数据库B121中用于管理密钥。在图5中表示密钥数据库B121的节点信息结构体160的数据结构的一例。
节点信息结构体160如图5所示,由加密种类161、密钥长162、保存有密钥或数据的场所的链接目标信息163、父节点识别码164、密钥句柄值165、数据句柄值及其他附属信息167构成。
图5所示的节点信息结构体160代替在图4所示的节点信息结构体150中包含的密钥152及数据156而包括加密种类161及链接目标信息163。关于其他构成单元在这里省略说明。
在加密种类161的字段中,保存RSA加密或椭圆加密等的公开密钥加密方式、AES加密或3DES加密等的共享密钥加密方式的加密算法的名称、或者对应于上述加密算法的识别码。另外,在公开密钥方式的情况下,在本字段中保存以对父节点分配的公开密钥来加密的秘密密钥、和公开密钥。
在链接目标信息163的字段中,保存指示在加密解密中利用的密钥的文件、或加密的数据的文件存在的场所的信息。
作为一例,在由叶247的节点信息结构体的链接目标信息表示的位置中,加密保存有对密钥数据库A120的叶138分配的密钥F,在叶247的节点信息结构体的父节点识别码中,保存有识别叶142的识别码(节点号码)。另外,叶138在密钥数据库A120中是保存将数据B加密的密钥的叶。
如以上说明,密钥数据库B在第2加密解密***中将密钥通过层级结构管理。对层级结构的各密钥的下位,分配被加密以使其能够使用该密钥解密的密钥。
(2)加密数据保存部122
加密数据保存部122保存加密的数据。加密数据保存部122由子加密数据保存部122a及子加密数据保存部122b构成。
子加密数据保存部122a作为一例,保存有使用叶136的密钥D来加密的数据A(146)及使用叶138的密钥F来加密的数据B(147)。此外,子加密数据保存部122b保存有使用叶142的密钥I来加密的数据B(148)。
这里,图3所示的加密的数据B(147)和加密的数据B(148)的作为加密的基础的数据B是共享的。即,应用程序A117和应用程序B118共享数据B。
(3)应用程序A117、应用程序B118及数据访问部119
应用程序A117是使用由密钥数据库A120管理的密钥、利用保存在加密数据保存部122中的加密数据的软件。应用程序A117包含有请求对第1加密解密***的数据处理的计算机命令。例如是对第1加密解密***的数据的新的登录(加密并存储)、参照(解密并参照)、更新(解密并更新、再次加密并存储)、删除等。此外,包括将加密的对象数据输出的命令。
应用程序B118是使用由密钥数据库B121管理的密钥、利用保存在加密数据保存部122中的加密数据的软件。应用程序A118包含有请求对第2加密解密***的数据处理的计算机命令。例如是对第2加密解密***的数据的新的登录(加密并存储)、参照(解密并参照)、更新(解密并更新、再次加密并存储)、删除等。此外,包括将加密的对象数据输出的命令。
数据访问部119是用来对加密数据保存部122访问、将加密数据读出、更新、或写入的软件。
(4)密钥管理软件116
密钥管理软件116如图2所示,由利用数据库判断部201、平文数据提取部202、哈希值生成部203、哈希值判断部204、句柄值判断部205、密钥取得部206、管理表保存部207、管理表更新部208及密钥写入部209构成。这里,哈希值生成部203、哈希值判断部204及管理表保存部207构成判断一个加密解密***中的加密的对象数据是否被在其他加密解密***中加密并保管的判断部。密钥取得部206在由该判断部判断为保管有的情况下,取得在其他加密解密***中被保管的加密数据的密钥。密钥写入部209在上述一个加密解密***中,与上述对象数据建立对应、将所取得的上述密钥写入到密钥数据库A120(或密钥数据库B121)中。
(管理表保存部207)
管理表保存部207保持有图6所示的管理表220。
管理表220表示存在于加密数据保存部122中的多个加密数据分别被使用密钥数据库A120和密钥数据库B121的密钥怎样管理。管理表220将根据用加密后的数据来管理的数据生成的哈希值构成为条目。
管理表220如图6所示,由多个管理信息构成。多个管理信息分别对应于保存在加密数据保存部122中的多个加密数据。各管理信息由哈希值、第1数据句柄值、第2数据句柄值、第1密钥句柄值及第2密钥句柄值构成。
哈希值是根据作为对应的加密数据的基础的平文数据生成的哈希值。
第1数据句柄值是作为该管理信息的哈希值的生成的基础的平文数据,是作为对密钥数据库A的叶分配的加密数据的基础的平文数据的数据句柄值。平文数据的数据句柄值是表示该平文数据存在的位置的位置信息。该第1数据句柄值对应于图4的节点信息结构体150的数据句柄值155。在平文数据没有被通过密钥数据库A120管理的情况下,第1数据句柄值是NULL值。
第2数据句柄值是作为该管理信息的哈希值的生成的基础的平文数据,是作为对密钥数据库B的叶分配的加密数据的基础的平文数据的数据句柄值。平文数据的数据句柄值是表示该平文数据存在的位置的位置信息。该第2数据句柄值对应于图5的节点信息结构体160的数据句柄值166。在平文数据没有被通过密钥数据库B121管理的情况下,第2数据句柄值是NULL值。
第1密钥句柄值是将作为该管理信息的哈希值的生成的基础的平文数据加密的密钥的句柄值。换言之,在对应的加密数据被由密钥数据库A120管理的情况下,是表示将用于将该加密数据加密的密钥进行加密而生成的加密密钥存在于密钥数据库A120的哪里的位置数据。在对应的加密数据没有被通过密钥数据库A120管理的情况下,第1密钥句柄值是NULL值。该第1密钥句柄值对应于图4的节点信息结构体的密钥句柄值154。
第2密钥句柄值是将作为该管理信息的哈希值的生成的基础的平文数据加密的密钥的句柄值。换言之,在对应的加密数据被由密钥数据库B121管理的情况下,是表示将用于将该加密数据加密的密钥进行加密而生成的加密密钥存在于密钥数据库B121的哪里的位置数据。在对应的加密数据没有被通过密钥数据库B121管理的情况下,第2密钥句柄值是NULL值。该第2密钥句柄值对应于图5的节点信息结构体160的密钥句柄值165。
(密钥管理软件116的其他构成单元)
利用数据库判断部201从请求源的应用程序接受节点信息结构体,使用接受到的节点信息结构体,判断请求源的应用程序利用密钥数据库A120或密钥数据库B121的哪个。在接受到的节点信息结构体是图4所示的节点信息结构体150的情况下,决定为利用密钥数据库A120。在接受到的节点信息结构体是图5所示的节点信息结构体160的情况下,决定为利用密钥数据库B121。接着,将数据库的判断结果向句柄值判断部205输出。
平文数据提取部202从请求源的应用程序取得节点信息结构体,从所取得的节点信息结构体中提取数据句柄值,在所提取的数据句柄值不是NULL的情况下,从由所提取的数据句柄值表示的位置取得平文数据,将所取得的平文数据向哈希值生成部203输出。这样,平文数据提取部202是取得一个加密解密***中的加密的对象数据的数据取得部。
哈希值生成部203从平文数据提取部202接受平文数据,根据接受到的平文数据生成唯一的哈希值(摘要值)。例如,利用单向性函数(SHA1算法等)生成唯一的哈希值,将所生成的哈希值向哈希值判断部204输出。
哈希值判断部204从哈希值生成部203接受哈希值,参照在管理表保存部207管理的管理表220中保存的哈希值,判断在管理表220中是否存在与由哈希值生成部203生成的哈希值一致的哈希值。将判断结果向句柄值判断部205输出。此外,在存在一致的哈希值的情况下,将包含该哈希值的管理信息从管理表220读出,将所读出的管理信息向句柄值判断部205输出。
句柄值判断部205从利用数据库判断部201接受数据库的判断结果。此外,从哈希值判断部204接受判断结果。在存在一致的哈希值的情况下,接受包含该哈希值的管理信息。在接受到的判断结果表示存在一致的哈希值的情况下,判断在接受到的管理信息中包含的管理信息中包含的第1密钥句柄值或第2密钥句柄值是否是NULL。
关于对第1密钥句柄值及第2密钥句柄值中的哪个进行判断,使用从利用数据库判断部201接受到的数据库的判断结果。即,在数据库的判断结果表示密钥数据库A的利用的情况下,对作为密钥数据库A的叶的密钥句柄值的第1密钥句柄值进行判断。另一方面,在数据库的判断结果表示密钥数据库B的利用的情况下,对作为密钥数据库B的叶的密钥句柄值的第2密钥句柄值进行判断。接着,将其判断结果向密钥取得部206输出。在判断结果表示不是NULL的情况下,进而,在数据库的判断结果表示密钥数据库A的利用的情况下,将第1密钥句柄值向密钥取得部206输出。在数据库的判断结果表示密钥数据库B的利用的情况下,将第2密钥句柄值向密钥取得部206输出。
密钥取得部206从句柄值判断部205接受判断结果。在接受到的判断结果表示不是NULL的情况下,再接受密钥句柄值。接着,从由取迂回路径的密钥句柄值表示的位置取得加密密钥,将所取得的加密密钥向加密解密处理部114的加密解密引擎部124输出。
密钥写入部209将密钥数据库A120或密钥数据库B121的节点信息结构体更新。此外,新生成节点信息结构体,将所生成的节点信息结构体追加写入到密钥数据库A120或密钥数据库B121中。此外,密钥写入部209将加密密钥分配写入到该密钥的下位。
管理表更新部208将管理表保存部207管理的管理表更新。
1.3信息处理装置10的动作说明
这里,对信息处理装置10的动作进行说明。
使用图7所示的流程图,说明
(1)向加密解密处理部114的密钥的装载的动作及数据的加密解密的动作
(a)向加密解密处理部114的密钥的装载的动作。
作为一例,密钥管理软件116被从应用程序A117请求图3所示的密钥A的装载(S400)。
接着,密钥管理软件116从密钥数据库A120取得保存在对应于被指定的密钥A的节点中的加密密钥A,将所取得的加密密钥A向加密解密处理部114输出(S401)。
接着,加密解密处理部114从密钥管理软件116接受加密密钥A,通过加密解密引擎部124将加密密钥A使用保存在非易失性存储器部123中的根密钥127进行解密,将得到的密钥A保存到密钥数据库A用密钥保存部126中(S402)。
接着,密钥管理软件116从加密解密处理部114接受表示密钥A的装载结束的通知(S403)。
通过以上,向加密解密处理部114的密钥的装载处理结束。
关于密钥C、密钥D等的向加密解密处理部114的装载也能够通过与上述同样的动作进行。例如,在基于加密密钥C将密钥C向加密解密处理部114装载的情况下,在按照上述步骤S400~S403将密钥A装载后,进行与上述步骤S400~S403同样的动作。在此情况下,特别是,只要在上述步骤S401中密钥管理软件116从密钥数据库A120取得加密密钥C、在步骤S402中加密解密处理部114使用保存在密钥数据库A用密钥保存部126中的密钥A将加密密钥C解密就可以。关于密钥D的装载处理也是同样的。
这样,为了将图3所示的密钥C向加密解密处理部114装载,只要如以下这样就可以。
(i)按照上述步骤S400~S403装载密钥A。
(ii)在装载密钥A之后,如上述中说明那样,与步骤S400~S403同样,装载密钥C。
此外,为了将图3的密钥数据库A120的叶239的密钥I向加密解密处理部114装载,只要如以下这样就可以。
(i)与步骤S400~S403同样,装载密钥B。
(ii)在装载密钥B之后,与步骤S400~S403同样,装载密钥F。在此情况下,在上述步骤S401中,密钥管理软件116从密钥数据库A120取得加密密钥F,在步骤S402中,加密解密处理部114使用保存在密钥数据库A用密钥保存部126中的密钥B将加密密钥F解密。
(iii)在装载密钥F之后,与步骤S400~S403同样,装载密钥I。在此情况下,在上述步骤S401中,密钥管理软件116从密钥数据库A120取得加密密钥I,在步骤S402中,加密解密处理部114使用保存在密钥数据库A用密钥保存部126中的密钥F将加密密钥I解密。
此外,关于被从应用程序B118请求密钥的装载的情况,也只要与上述同样动作就可以。
(b)接着,使用图8所示的流程图对数据的加密解密的动作进行说明。这里,以将图3所示的加密的数据B(147)解密的情况为例进行说明。另外,假设在密钥数据库A用密钥保存部126中保存有密钥F。
在密钥F被保存到密钥数据库A用密钥保存部126中之后,密钥管理软件116被从应用程序A117请求加密的数据B(147)的解密处理(S410)。
接着,密钥管理软件116从应用程序A117接受加密的数据B(147),将加密的数据B(147)向加密解密处理部114输出,对加密解密处理部114委托以使其使用密钥F进行解密(S411)。
接着,加密解密处理部114接受加密的数据B(147),将接受到的加密的数据B(147)通过加密解密引擎部124使用保存在密钥数据库A用密钥保存部126中的密钥F解密,输出数据B(S412)。
接着,密钥管理软件116从加密解密处理部114接受数据B,将数据B向应用程序A117输出,对应用程序A117通知解密的完成(S413)。
通过以上,结束解密处理。
另外,在将数据加密的情况下,也只要与上述同样就可以。在此情况下,在步骤412中,加密解密引擎部124只要使用保存在密钥保存部中的密钥将数据加密就可以。
(2)数据的同步更新处理
如上所述,应用程序A117和应用程序B118共享数据B。这里,使用图9所示的流程图,对将共享的数据B同步更新时的信息处理装置10的动作进行说明。
在应用程序A117将与应用程序B118共享的数据B更新时,信息处理装置10如以下这样动作。
应用程序A117如上所述,使用密钥管理软件116和密钥数据库A120,将保存在从密钥数据库A120的根到对应于数据B的叶138的各个节点中的加密密钥依次解密(S201)。
接着,应用程序A117对密钥管理软件116委托,以使其将更新后的数据B用在步骤S201中取得的密钥F加密,密钥管理软件116将管理表220更新(S202)。另外,关于该步骤的更详细的内容,使用图10~图12在后面叙述。
接着,密钥管理软件116使用管理表220,判断加密的对象的数据(更新之前的数据B)是否是在密钥数据库A120和密钥数据库B121中共享的数据(S203)。是否是共享的数据如以下这样进行。即,密钥管理软件116使哈希值生成部203生成更新之前的数据B的哈希值,使哈希值判断部204判断在管理表220中是否存在包含与所生成的哈希值相同哈希值的管理信息,在存在的情况下,句柄值判断部205进行的判断如下。
句柄值判断部205在包含在该管理信息中的第1密钥句柄值及第2密钥句柄值中的、与被指定的一侧的加密解密***不同的另一侧的加密解密***的密钥句柄值不是NULL的情况下,决定为在第1加密解密***及第2加密解密***中共享。在此情况下,将控制向步骤S204转移。
另一方面,句柄值判断部205在包含在该管理信息中的第1密钥句柄值及第2密钥句柄值中的、与被指定的一侧的加密解密***不同的另一侧的加密解密***的密钥句柄值是NULL的情况下,决定为在第1加密解密***及第2加密解密***中没有共享。在此情况下,将控制向步骤S206转移。
接着,密钥管理软件116取得在数据B的同步处理中使用的密钥。即,取得对方侧的密钥(S204)。另外,关于该步骤的详细的内容,使用图13在后面叙述。
接着,密钥管理软件116将对方侧的共享的数据同步更新(S205)。另外,关于该步骤的详细的内容,使用图14在后面叙述。
接着,密钥管理软件116如上述那样,将自身的更新后的数据B加密,将加密后的更新数据B覆盖写入到子加密数据保存部122a中(步骤S206)。接着,结束处理。
另外,在上述说明中,设应用程序A117将共享数据更新而进行了说明,但应用程序B118也能够用同样的方法将共享数据更新。
这里,如果将步骤S203中的判断结果及然后的处理整理,则为以下这样。另外,这里,设第1密钥句柄值是被指定的一侧的加密解密***的密钥句柄值,第2密钥句柄值是另一侧的加密解密***的密钥句柄值。
(i)在步骤S203中,判断为第1密钥句柄值和第2密钥句柄值的两者都不是NULL的情况
在此情况下,第1加密解密***及第2加密解密***的两者具有对象的数据。
取得第2加密解密***中的加密数据的密钥,将所取得的密钥在第1加密解密***中加密,在第1加密解密***中存储加密密钥。此外,在第2加密解密***中,将更新数据加密而生成加密更新数据,通过所生成的加密更新数据将加密数据覆盖。进而,在第1加密解密***中,将更新数据加密而生成加密更新数据,通过所生成的加密更新数据将加密数据覆盖。
(ii)在步骤S203中,判断为第1密钥句柄值是NULL、第2密钥句柄值不是NULL的情况
在此情况下,第1加密解密***不具有对象的数据,第2加密解密***具有对象的数据。
取得第2加密解密***中的加密数据的密钥,将所取得的密钥在第1加密解密***中加密,在第1加密解密***中存储加密密钥。此外,在第2加密解密***中,将更新数据加密而生成加密更新数据,通过所生成的加密更新数据将加密数据覆盖。进而,在第1加密解密***中,将更新数据加密而生成加密更新数据,将所生成的加密更新数据写入。
(iii)在步骤S203中,判断为第1密钥句柄值不是NULL、第2密钥句柄值是NULL的情况
在此情况下,第1加密解密***具有对象的数据,第2加密解密***不具有对象的数据。
在第1加密解密***中,将更新数据加密而生成加密更新数据,通过所生成的加密更新数据将加密数据覆盖。
没有第2加密解密***中的处理。
(iv)在步骤S203中,判断为第1密钥句柄值是NULL、第2密钥句柄值也是NULL的情况
在此情况下,第1加密解密***不具有对象的数据,第2加密解密***也不具有对象的数据。
在第1加密解密***中,将更新数据加密而生成加密更新数据,将所生成的加密更新数据写入。
在该情况中,不是数据的更新而是新的数据的写入。
没有第2加密解密***中的处理。
(3)管理表220的更新
这里,使用图10~图12所示的流程图对管理表220的更新的动作进行说明。另外,这里说明的管理表220的更新的动作是图9的步骤S202的详细情况。
利用数据库判断部201利用被从应用程序(应用程序A117或应用程序B118)输入的命令,判断被输入的数据(节点信息结构体)是密钥数据库A用、还是密钥数据库B用(S211)。应用程序在利用由密钥数据库A120管理的密钥及数据的情况下,利用密钥数据库A120用的命令和节点信息结构体150,在利用由密钥数据库B121管理的密钥及数据的情况下,利用密钥数据库B121用的命令和节点信息结构体160。因此,利用数据库判断部201通过参照被从应用程序输入的命令、判断被输入的数据即节点信息结构体是节点信息结构体150、还是节点信息结构体160,能够判断是密钥数据库A120用、还是密钥数据库B121用。
在是密钥数据库A120用的情况下,平文数据提取部202从节点信息结构体150中提取平文数据和数据句柄值(S212)。此外,在是密钥数据库B121用的情况下,平文数据提取部202从节点信息结构体160提取数据句柄值,从由节点信息结构体160的链接目标信息决定的位置提取平文数据(S213)。
接着,哈希值生成部203根据所提取的平文数据生成哈希值(S214)。
接着,哈希值判断部204判断保存在管理表220中的管理信息中包含的平文数据的哈希值中,是否存在与在步骤S214中生成的哈希值一致者。具体而言,如以下这样进行。
哈希值判断部204在管理表220内表示管理信息的条目号码的变量N中代入初始值0(S215)。这里,所谓管理表220的条目号码,是唯一地识别包含在管理表220中的管理信息的识别信息。
接着,哈希值判断部204确认第N个管理信息内的哈希值是否与在步骤S214中生成的哈希值一致(S216)。在不一致的情况下(S216中:否),如果N不是管理表220的末端的管理信息的条目号码(S218中:否),则对N加1(S220),向步骤S216返回。
如果N是管理表220的末端的管理信息的条目号码(S218中:是),则将控制向S219转移。
如果第N个管理信息内的哈希值与在步骤S214中生成的哈希值一致(S216中:是),则判断管理表220的相同的管理信息内的一方的数据句柄值是否是NULL(S217)。具体而言,句柄值判断部205参照保存有与在步骤S214中生成的哈希值一致的值的管理表220的管理信息,参照该管理信息内的第1及第2数据句柄值。如果第1及第2数据句柄值中的、与被应用程序指定的密钥数据库不同的另一方的密钥数据库用的数据句柄值为NULL(空),则表示在另一方的密钥数据库中没有共享被从其他应用程序加密委托的数据。此外,如果与被应用程序指定的密钥数据库不同的另一方的密钥数据库用的数据句柄值不是NULL(空),则表示共享了被从其他应用程序加密委托的数据。因而,如果一方的数据句柄值是NULL(空),则将控制转移到步骤S219(S217中:是)。此外,如果一方的数据句柄值的字段不是NULL(空),则将控制转移到步骤S221(S217中:否)。
哈希值判断部204在判断为在管理表中不存在在步骤S214中生成的哈希值的情况下(S218中:是)、或者在判断为管理表220的相同的管理信息内的一方的数据句柄值是NULL的情况下(S217中:是),管理表更新部208在管理表220中追加新的管理信息,在该管理信息的各字段中,保存在步骤S214中生成的哈希值及节点信息结构体的数据句柄值(S219)。接着,该处理结束。
接着,管理表更新部208在管理表220的管理信息中,在对应于被指定的密钥数据库的数据句柄值的字段中,保存从从应用程序接受到的节点信息结构体中提取的数据句柄值(S221)。例如,在应用程序A117使用密钥数据库A120请求了加密处理的情况下,将从从应用程序A117接受到的节点信息结构体中提取的数据句柄值保存到管理表220的管理信息内的对应于密钥数据库A的数据句柄值的字段中。
接着,密钥取得部206将由从应用程序接受到的节点信息结构体表示、被指定为将对应于数据句柄值的数据加密的密钥转送给不同的密钥数据库用密钥保存部(S222)。例如,在被从应用程序A117指示的情况下,将被指定的密钥向密钥数据库B用密钥保存部125转送。此外,在被从应用程序B118指示的情况下,将被指定的密钥向密钥数据库A用密钥保存部126转送。
接着,密钥取得部206确认在与被指定的密钥数据库不同的密钥数据库用的密钥保存部中是否装载有由对应于数据B的父节点的密钥句柄表示的密钥(S223)。例如,在被从应用程序A117指示的情况下,确认在密钥数据库B用密钥保存部125中是否装载有由对应于数据B的父节点的密钥句柄表示的密钥。此外,在被从应用程序B118指示的情况下,确认在密钥数据库A用密钥保存部126是否装载有由对应于数据B的父节点的密钥句柄表示的密钥。
如果装载有对应的密钥(S223中:是),则不需要重新装载,所以将控制向步骤S225。如果没有装载有对应的密钥(S223中:否),则密钥取得部206取得不同的密钥数据库的从根到数据B的父节点的加密密钥,反复进行加密密钥的解密,取得将数据B加密的密钥(S224)。
接着,密钥取得部206将为了数据B的加密的而取得的密钥,使用被指定为将对应于数据句柄值的数据加密的密钥、即使用在步骤S222中转送的密钥加密,生成加密密钥。接着,在被指定的密钥数据库是密钥数据库A的情况下,通过将所生成的加密密钥保存到数据B的节点信息结构体150的密钥的字段中,将密钥数据库A更新。此外,在被指定的密钥数据库是密钥数据库B的情况下,通过将所生成的加密密钥、在数据B的节点信息结构体160的链接目标信息的字段中表示加密密钥被保存的位置的信息,将密钥数据库B更新(S225)。接着,结束处理。
通过这样的操作,将数据B和对应于数据B的节点的密钥句柄的密钥用相同的节点(叶)管理。
(4)密钥的取得的动作
使用图13所示的流程图对密钥的取得的动作进行说明。另外,这里说明的密钥的取得的动作是图9的步骤S204的详细情况。
哈希值生成部203根据所提取的平文数据生成哈希值(S231)。
接着,哈希值判断部204判断是否存在保存于管理表220中的管理信息内的哈希值、与在步骤S231中生成的哈希值一致者。具体而言,如以下这样进行。
哈希值判断部204在管理表220内表示管理信息的条目号码的变量N中代入初始值0(S232)。接着,确认第N个管理信息的哈希值是否与在步骤S231中生成的哈希值一致(S233)。在不一致的情况下(S233中:否),如果N不是管理表220的末端的管理信息的条目号码(S238中:否),则对N加1(S239),向步骤S233返回。
如果N是管理表220的末端的管理信息的条目号码(S238中:是),则结束处理。
在一致的情况下(S233中:是),句柄值判断部205参照保存有与在步骤S231中生成的哈希值一致的值的管理表220的管理信息,参照该管理信息内的第1数据句柄值及第2数据句柄值。即,参照密钥数据库A的叶的数据句柄值和密钥数据库B的叶的数据句柄值。如果第1及第2数据句柄值都不是NULL(空),则表示在另一方的密钥数据库中也共享有被从应用程序加密委托的数据。此外,如果第1及第2数据句柄值的至少一方为NULL(空),则表示在另一方的密钥数据库中没有共享被从应用程序加密委托的数据。因而,如果第1及第2数据句柄值的至少一方为NULL(空)(S234中:否),则结束处理。
此外,如果第1及第2数据句柄值的字段都不是NULL(空)(S234中:是),则句柄值判断部205从管理表220的上述管理信息中取得对应于被指定的密钥管理数据库的密钥句柄值(S235)。
接着,密钥取得部206取得对应于在步骤S235中取得的密钥句柄值的加密的密钥,将加密密钥使用加密解密处理部114解密,将所取得的密钥装载到加密解密处理部114的密钥数据库A用密钥保存部126中(S236)。此外,在步骤S236的解密处理中使用的密钥由于与在共享数据的加密时利用的密钥是相同的,所以在进行步骤S236的时点装载在加密解密处理部114中。
接着,结束处理。
(5)共享数据的更新的动作
使用图14所示的流程图对共享数据的更新的动作进行说明。另外,这里说明的共享数据的更新的动作是图9的步骤S205的详细情况。
数据访问部119将在图13所示的密钥的取得的动作中取得的密钥向不同的密钥数据库用密钥保存部转送(S241)。
接着,数据访问部119生成不同的密钥数据库用的节点信息结构体,在所生成的节点信息结构体的各字段中保存值,将修正后的数据保存到不同的密钥数据库中(S242)。
接着,加密解密引擎部124通过数据访问部119的指示,使用在步骤S241中转送的密钥,将更新数据加密(S243)。
并且,参照共享数据的哈希值,提取管理表220的对应的管理信息,在所提取的管理信息中,参照保存在不同的密钥数据库的数据句柄值中的值,确定共享数据的节点。接着,通过将在不同的密钥数据库中管理的共享数据的节点的加密数据用加密的更新数据覆盖,将链接更新(S244)。接着,结束处理。
另外,共享数据的哈希值既可以利用在步骤S212或S213中已经生成的值,也可以新生成。此外,作为另外的更新方法,也可以如果存在管理密钥数据库及加密的数据的各节点的位置信息的信息,则将该位置信息变更,以使其指示保存有新的节点信息结构的位置。
通过以上,本实施方式的信息处理装置10能够将密钥数据库B侧保存的密钥从包括密钥数据库A的加密解密***直接解密。由此,省去了遍历密钥数据库B的树结构而取得密钥的工夫,能够使更新后的数据高速地同步。
此外,通过同样的方式,本实施方式的信息处理装置能够将密钥数据库A侧保存的密钥从包括密钥数据库B的加密解密***直接解密。由此,省去了沿着密钥数据库A的树结构取得密钥的工夫,能够使更新后的数据高速地同步。
此外,本实施方式的信息处理装置在共享数据的更新时,确定共享数据节点而将该节点更新。因此,能够防止在进行共享数据的更新时误将不同的节点的数据破坏。此外,由于将共享数据覆盖到确定的位置上,所以能够将旧的共享数据可靠地丢弃。
2.实施方式2
对作为有关本发明的另一实施方式的信息处理装置10具备的加密解密处理部260进行说明。
实施方式2的信息处理装置10代替实施方式1的信息处理装置10具备的加密解密处理部114而具备图15所示的加密解密处理部260。加密解密处理部260具有与实施方式1的加密解密处理部114类似的结构。这里,以与加密解密处理部114的差异点为中心进行说明。
加密解密处理部260除了实施方式1的加密解密处理部114具有的非易失性存储器部123、加密解密引擎部124、密钥数据库B用密钥保存部125及密钥数据库A用密钥保存部126以外,还具备同步专用密钥保存部265。
此外,在实施方式2中,代替在实施方式1的步骤S222和S241中向密钥数据库B用密钥保存部125或密钥数据库A用密钥保存部126的转送,将密钥向同步专用密钥保存部265转送而利用。
即,密钥取得部206将由从应用程序接受到的节点信息结构体表示、被指定为将对应于数据句柄值的数据加密的密钥向同步专用密钥保存部265转送(S222)。
此外,数据访问部119将在图13所示的密钥的取得的动作中取得的密钥向同步专用密钥保存部265转送(S241)。
这样,通过具备同步专用密钥保存部265,在数据同步处理中,不需要使用实施方式1的密钥数据库A用密钥保存部126及密钥数据库B用密钥保存部125。因而,在数据同步处理时,不需要将保存在密钥数据库A用密钥保存部126及密钥数据库B用密钥保存部125中的密钥丢弃。
3.实施方式3
对作为有关本发明的另一实施方式的信息处理装置10具备的加密解密处理部270进行说明。
代替实施方式1的信息处理装置10具备的加密解密处理部114,实施方式3的信息处理装置10具备图16所示的加密解密处理部270。加密解密处理部270具有与实施方式1的加密解密处理部114类似的结构。这里,以与加密解密处理部114的差异点为中心进行说明。
加密解密处理部270除了实施方式1的加密解密处理部114具有的非易失性存储器部123及加密解密引擎部124以外,还具备共享密钥保存部273。加密解密处理部270不具备密钥数据库A用密钥保存部126及密钥数据库B用密钥保存部125。共享密钥保存部273相当于密钥数据库A用密钥保存部126及密钥数据库B用密钥保存部125。
共享密钥保存部273如图16所示,保存有密钥表274。
密钥表274如图17所示,包括多个密钥信息。各密钥信息由类型及密钥构成。类型表示利用的密钥数据库。即,表示是密钥数据库A用还是密钥数据库B用。在密钥的字段中保存有上述密钥。
在实施方式3的信息处理装置10中,代替在实施方式1的步骤S222和S241中转送密钥,而在密钥表274中变更利用的数据库的类型。
利用图17及图18说明数据库的类型的变更的一例。这里,在图17所示的例子中,假设在密钥数据库B中,共享数据被用作为密钥数据库B的密钥的“0xAA0xBB…0x11”加密。
首先,使用在实施方式1中说明的方法,将由密钥数据库A管理的、密钥数据库B的密钥“0xAA0xBB…0x11”装载到共享密钥保存部273中。在该时点,由于密钥数据库B的密钥“0xAA0xBB…0x11”被密钥数据库A管理,所以在图17的密钥表274中,数据库的类型是“数据库A用”275。
接着,密钥管理软件116对加密解密处理部270指示,以使其将已装载的密钥“0xAA0xBB…0x11”变更为密钥数据库B用。加密解密处理部270在共享密钥保存部273的密钥表274中,将已装载的密钥“0xAA0xBB…0x11”变更为密钥数据库B用(图18)。在图18的密钥表274中,数据库的类型成为“数据库B用”276。
接着,密钥管理软件116使用在实施方式1中说明的方法,将共享数据更新(同步)。
然后,密钥管理软件116对加密解密处理部270指定,以使其将已装载的密钥“0xAA0xBB…0x11”变更为密钥数据库A用。加密解密处理部270在共享密钥保存部273的密钥表274中,将已装载的密钥“0xAA0xBB…0x11”变更为密钥数据库A用(图17)。在图17的密钥表274中,数据库的类型成为“数据库A用”275。
这样,通过具备共享密钥保存部273、使用密钥表274,在数据同步处理中不再需要密钥的转送。此外,由于在密钥数据库A和密钥数据库B中共享密钥,所以能够减小密钥的保存所需要的区域的尺寸。
另外,在共享数据的更新(同步)之后,也可以不进行指定以变更密钥数据库的类型。
此外,在共享数据的更新(同步)之后,加密解密处理部270也可以将所利用的密钥丢弃。
4.其他变形例
(1)在上述各实施方式中,密钥数据库A120及密钥数据库B121保存在作为半导体存储器的第1存储部112中,但也可以保存在由硬盘单元构成的第2存储部113中。
(2)在上述各实施方式中,将加密解密处理部114用硬件装置实现,但也可以用软件实现。进而,实现加密解密处理部114的软件也可以在安全的软件执行环境中被执行。
(3)在上述各实施方式中,在步骤S222和步骤S241中,也可以是,在进行密钥转送之后,将应被从各密钥保存部丢弃的密钥用根密钥加密,临时保存到加密解密处理部的非易失性存储器中,在同步处理结束后,再次装载到加密解密处理部内部的易失性存储器中。另外,假设在同步处理的期间中通过不受理对于加密解密处理部的新的处理请求而不变更各密钥保存部内部的所在等的信息。
在此情况下,加密解密处理部具备控制部、保持第1加密解密***用的上述第1密钥的第1密钥保存部、保持第2加密解密***用的上述第2密钥的第1密钥保存部、和使用保持在上述第1及第2密钥保存部中的上述第1密钥及第2密钥进行加密的加密解密引擎部。上述控制部在取得上述第1密钥而保持到上述第1密钥保存部中时,判断上述第1密钥保存部的空闲区域是否不足,在上述第1密钥保存部的空闲区域不足的情况下,将上述第1密钥保存部已经保持的一个密钥通过上述加密解密引擎部加密而保存到上述第1密钥保存部之外,上述第1密钥保存部中,将所取得的上述第1密钥覆盖到保持有保存对象的上述密钥的区域中,在上述第1加密解密***中的使用上述第1密钥的加密完成之后,将保存的上述加密密钥通过上述加密解密引擎部解密,覆盖到保持有上述第1密钥的区域中。
(4)在上述各实施方式中,也可以将各密钥保存部用固定长尺寸的块单位管理,根据密钥的长度而使用多个块保存密钥。在此情况下也可以使用,块管理用的块管理表管理各密钥保存部。
在图19中表示将各密钥保存部用固定长尺寸的块单位管理的情况的一例。图19所示的密钥保存部330由固定长尺寸的10个块构成,密钥被用块单位管理。
在图20中表示将密钥保存部用固定长尺寸的块单位管理的情况的块管理表的一例。图20所示的块管理表331表示密钥保存部330的哪个块被用于保存哪个密钥数据库的密钥。块管理表331包括多个由密钥数据库的类型及利用的块号码构成的组而构成,构成了数据库的类型与利用的块号码的对应关系的表。
块管理表331表示,将保存在密钥保存部330的块#1及块#2中的2个数据连结成的连结体是密钥数据库A用的一个密钥,将保存在块#3及块#4中的2个数据连结成的连结体是密钥数据库A用的一个密钥,将保存在块#5、块#6、块#7及块#8中的4个数据连结成的连结体是密钥数据库B用的一个密钥,保存在块#9中的数据是密钥数据库B用的一个密钥,保存在块#10中的数据是密钥数据库B用的一个密钥。
根据该结构,能够将保持密钥的区域用块单位高效率地管理。
如以上说明,信息处理装置具备将在第1加密解密***中被解密的密钥与表示是第1加密解密***用的第1类型信息建立对应而保持、将在第2加密解密***中被解密的密钥与表示是第2加密解密***用的第2类型信息建立对应而保持的密钥保存部(图19中表示)。
加密解密处理部在第1加密解密***中使用与上述第1类型信息建立对应的密钥进行解密,在第2加密解密***中使用与上述第2类型信息建立对应的密钥进行加密。
信息处理装置还具备对于第1加密解密***中解密的结果、与第1类型信息建立对应而保持在密钥保存部中的密钥、通过将第1类型信息改写为表示是第2加密解密***用的第2类型信息、在第2加密解密***中进行使用上述密钥的上述更新数据的加密的控制机构。
此外,密钥保存部由具有规定的容量的多个块构成,将表示保持的密钥分别保存在哪个块中的块信息与上述保持的密钥分别建立对应而保持。
(5)在上述各实施方式中,也可以将管理表的各管理信息用对应于该管理信息的叶的密钥加密并保持。在此情况下,将管理表按照管理信息分割,将各管理信息通过叶管理。
在图21中表示将管理表按照管理信息分割而通过叶管理的情况的一例。应用程序A280、应用程序B281、密钥数据库A283及密钥数据库B284与实施方式1的应用程序A117、应用程序B118、密钥数据库A120及密钥数据库B121是相同的。密钥管理软件282利用密钥数据库A283及密钥数据库B284、使用后述的方法进行管理。
将管理表的各管理信息用被分配了将对应于该管理信息的数据加密的密钥的节点的密钥加密。在图21所示的一例中,对于共享的数据B,在密钥数据库A283中,使用被分配了将数据B加密的密钥的节点287(叶-4)的密钥将对应于数据B的管理信息加密并保存(289)。同样,对于共享的数据B,在密钥数据库B284中,使用被分配了将数据B加密的密钥的节点293(叶-5)的密钥将对应于数据B的管理信息加密并保存(295)。
将对应于图21的数据B的管理表的管理信息300在图22中作为一例表示。构成管理信息300的要素与构成图6所示的管理表220的管理信息的要素是相同的。
用来将共享数据加密的叶的密钥在共享数据的更新时必定被搜索。在管理表中,记录有通过由其他密钥数据库管理的叶的密钥加密的共享数据的位置。因此,通过将这样的叶的密钥与该管理表建立对应,能够使在同步处理时应更新的共享数据的位置的搜索简单化。
如以上说明,管理表建立对应而包括加密数据的摘要值和各句柄值(位置信息)。判断部根据存储在加密数据保存部中的加密数据计算其摘要值,判断对应于所得到的摘要值的各句柄值(位置信息)是否存储在管理表中。
(6)在上述各实施方式中,也可以将管理表的各管理信息使用保存在加密解密处理部中的根密钥加密并保持。
(7)在上述各实施方式中,在应用程序将数据加密时,密钥管理软件将管理表更新,但密钥管理软件也可以以其他定时将管理表更新。
图23是表示在应用程序(应用程序A或应用程序B)将数据解密时、密钥管理软件进行的管理表的更新处理的流程图。
应用程序(这里作为一例设为应用程序A)对密钥管理软件请求,以使其将数据B解密(S500)。
接着,密钥管理软件从保存有被请求了解密的数据B的节点信息结构体取得平文数据(S501)。
密钥管理软件将所取得的平文数据保存到与被从应用程序指定为使用的密钥数据库不同的密钥数据库用的节点信息结构体中(S502)。
密钥管理软件对加密解密引擎部指示,以使其将在步骤S502中保存了平文数据的节点信息结构体用与被从应用程序指定为使用的密钥数据库不同的密钥数据库的全部的叶的密钥加密,加密解密引擎部将保存有平文数据的节点信息结构体加密(S503)。
密钥管理软件将在步骤S503中加密后的节点信息结构体判断与由与被从应用程序指定为使用的密钥数据库不同的密钥数据库加密并管理的数据是否一致(S504)。如果一致(S504中:是),则判断为该数据是共享数据,将管理表更新(S505),结束管理表的更新。
此外,在步骤S504中判断为不一致的情况下(S503中:否),结束管理表的更新。
另外,在步骤S504中的判断是否一致时,也可以使用加密数据的哈希值进行比较。此外,也可以将加密数据的哈希值保存到管理表的平文数据的哈希值的字段中。
在图24中表示在共享数据的确定时使用加密数据的哈希值的情况的管理表320的一例。图24的管理表320与图6的管理表220的差异是,生成哈希值的对象在管理表320中是加密数据,相对于此,在管理表220中是平文数据。除此以外的管理表的字段是相同的。
在图25中表示使用图24所示的管理表320确定共享数据、取得应同步的数据的密钥的流程图。
图25所示的流程图与在实施方式1中说明的密钥取得的流程图(图13)的差异是,在实施方式1的密钥取得中,在步骤S231中根据平文数据生成哈希值,相对于此,在图25的流程图中,在步骤S231a中根据加密数据生成哈希值。
图25的步骤S232以后的处理与图13的步骤S232以后的处理是相同的。
(8)在上述各实施方式中,也可以将密钥管理软件及管理表在安全的软件执行环境中执行及管理。作为实现安全的软件执行环境的技术,也可以使用作为仅起动合法的软件的技术的安全引导。进而,也可以通过别的方法构建安全的软件执行环境。
(9)在上述各实施方式中,作为包含在节点信息结构体中的加密种类,也可以指定椭圆曲线加密方式或NTRU加密方式。进而,作为包含在节点信息结构体中的密钥长,除了密钥的位长的指定以外,也可以用预先定义的定义信息来指定密钥长。此外,加密解密引擎部也可以实现椭圆曲线加密方式或NTRU加密方式的加密解密。
(10)在上述各实施方式中,在节点信息结构体中,将密钥句柄值的字段和数据句柄值的字段使用不同的字段实现,但也可以使用相同的字段实现。
例如,也可以是,为了表示对应的密钥和数据存在的位置而使用相同的号码,在节点信息结构体中,仅设置保存该号码的1个字段。该号码的一例是识别密钥数据库的树结构的节点的识别信息。
在此情况下,在各密钥数据库中,确保区域,将密钥句柄值和数据句柄值作为组保存到该区域中。在该区域中,将该组的存储的位置通过上述号码识别。
此外,在此情况下,在各密钥数据库中,确保密钥句柄值区域,将密钥句柄值保存到该密钥句柄值区域中。在该密钥句柄值区域中,通过上述号码识别该密钥句柄值存储的位置。此外,在各密钥数据库中,确保数据句柄值区域,将数据句柄值保存到该数据句柄值区域中。在该数据句柄值区域中,将该数据句柄值存储的位置通过上述号码识别。
(11)在上述各实施方式中,将哈希值使用SHA-1算法生成,但也可以使用除此以外的方法。例如,也可以是SHA-2(SHA-224、SHA-256、SHA-384、SHA-512)算法或MD5(Message Digest 5)算法等。
(12)在上述各实施方式中,如果一方的加密解密***管理的共享数据被更新,则信息处理装置此时将其他解密***管理的共享数据更新。但是,并不限定于此,也可以在被指示将共享数据同步的情况下,将其他加密解密***管理的共享数据更新。由此,仅在其他加密解密***侧需要共享数据时能够将该共享数据更新,所以能够减少进行更新处理的次数。
在图26中表示在被指示将共享数据同步的情况下、其他加密解密***管理的共享数据的更新处理的流程图。
图26所示的流程图与在实施方式1中说明的数据同步的流程图(图9)的差异是,在图26所示的流程图中,在步骤S511中追加了判断是否有同步指示的判断步骤。
在步骤S511中,在有同步指示的情况下,将控制转移到步骤S201。步骤S201以后的处理与图9的步骤S201以后的处理是相同的。
此外,在步骤S511中,在没有同步指示的情况下,将控制转移到步骤S206,在步骤S206中,将自身的更新数据B加密,接着结束处理。
此外,在步骤S511中的同步指示的判断中,也可以使用由密钥管理软件管理的标志的值、向密钥管理软件的数据加密解密次数、或密钥管理软件的利用时间等进行判断。
此外,数据访问部119将在第1加密解密***中被加密的更新数据覆盖到存储于子加密数据保存部122a中的加密数据上。然后,在接受到同步指示的情况下,数据访问部119将在第2加密解密***中被加密的更新数据覆盖到存储于子加密数据保存部122b中的加密数据上。
(13)在上述各实施方式中,对于信息处理装置中的共享数据的更新的详细情况没有触及,但也可以在将加密的共享数据解密后进行共享数据的更新。例如,可以管理表示内容的利用次数的信息那样的累积性变化的共享数据。将利用次数加密而保持在第1加密解密***及第2加密解密***中。在第1加密解密***中利用内容时,将加密的利用次数解密而得到利用次数,从所得到的利用次数减去“1”。接着,将减去“1”后的利用次数再次加密。此时,将新的加密利用次数覆盖到在第2加密解密***中保持的加密利用次数上。
此外,也可以从外部供给加密的共享数据的更新的指示。即,也可以从外部供给将共享数据更新而得到的更新数据。在此情况下,在第1加密解密***中,将更新数据加密而保持加密更新数据,在第2加密解密***中,也将更新数据加密而保持加密更新数据。
在图27中表示被从外部供给加密的共享数据的更新的指示的信息处理装置的软件结构。
应用程序A117、应用程序B118、密钥数据库A120、密钥数据库B121及加密数据保存部122与实施方式1的应用程序A117、应用程序B118、密钥数据库A120、密钥数据库B121及加密数据保存部122是相同的。
密钥管理软件116a如图27所示,除了密钥管理软件116具有的利用数据库判断部201、平文数据提取部202、哈希值生成部203、哈希值判断部204、句柄值判断部205、密钥取得部206、管理表保存部207、管理表更新部208及密钥写入部209以外,还包括数据状态变更部324。
数据状态变更部324管理及变更保存在加密数据保存部122中的数据的状态。
使用图28所示的流程图,对被从外部供给了加密的共享数据的更新的指示时的数据同步处理进行说明。
密钥管理软件116a的数据状态变更部324将保存在加密数据保存部122中的加密数据B解密而得到平文数据,将被从应用程序A117指定的变更反映到平文数据中,制作更新数据B(S521)。
例如,应用程序A117在对密钥管理软件116a指示、以使其对被用对密钥数据库A120的叶分配的密钥加密的数据B作为累积性的变更而减去1的情况下,数据状态变更部324使用密钥数据库A120将加密数据B解密而取得平文数据,从平文数据减去1。并且,将减法后的结果的数据作为更新数据B。
步骤S201以后的处理与图9的步骤S201以后的处理是相同的。
另外,在图28的步骤S205中,密钥管理软件116a通过加密的更新数据B将对方侧的加密数据B更新。
(14)关于在上述实施方式中叙述的构成单元,也可以将其一部分或全部在可实现的范围内作为软件安装。在此情况下,能够抑制必须放置到集成电路上的硬件的量,所以能够进一步提高集成度。
(15)在上述各实施方式中,设为应用程序A使用密钥数据库A、应用程序B使用密钥数据库B、此外在非易失性存储器部123中存储有密钥数据库A用的根密钥及密钥数据库B用的根密钥、在加密解密处理部中存在密钥数据库A用密钥保存部及密钥数据库B用密钥保存部,但并不限定于此。
也可以是,在信息处理装置中存储有n(n是3以上的正整数)个应用程序、保持有n个密钥数据库,n个应用程序分别对应于n个密钥数据库,应用程序使用对应的密钥数据库,在非易失性存储器部123中存储有n个密钥数据库用的根密钥,在加密解密处理部中存在n个密钥数据库用的密钥保存部,加密数据保存部具备n个子加密数据保存部。
在此情况下,也可以是,信息处理装置具有分别将数据加密并保管的n个加密解密***,该信息处理装置具备:数据取得部,取得n个加密解密***中的某一个加密解密***中的加密的对象数据;判断部,判断上述对象数据是否在其他加密解密***中被加密而保管;密钥取得部,在判断为保管有的情况下,取得在其他加密解密***中保管的加密数据的密钥;密钥数据库(密钥存储机构),在上述一个加密解密***中使用;密钥写入部,在上述一个加密解密***中,与上述对象数据建立对应而将所取得的上述密钥写入到上述密钥数据库中。
(16)有关本发明的第1形态的信息处理装置,是第1***和第2***动作的信息处理装置,上述第1***和上述第2***是将数据加密而管理的相互独立的***,上述信息处理装置具备:第1数据保存部,保存将在上述第1***与上述第2***之间共享的共享数据用作为上述第1***用的密钥的第1加密密钥加密的加密共享数据;第2数据保存部,保存将上述共享数据用作为上述第2***用的密钥的第2加密密钥加密的加密共享数据;第1密钥保存部,作为上述第1***用的密钥,保存使用上述第1加密密钥加密的上述第2加密密钥;控制部,控制上述第1***和上述第2***;上述控制部如果被指示保存在上述第1数据保存部中的加密共享数据的更新,则控制上述第1***,以使其将更新后的共享数据用上述第1加密密钥加密而记录到上述第1数据保存部中、将上述加密的第2加密密钥使用对应于上述第1加密密钥的第1解密密钥解密而生成上述第2加密密钥,控制上述第2***,以使其通过用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密而记录到上述第2数据保存部中、将上述加密共享数据更新。
据此,本形态的信息处理装置控制上述第1***,以使其将更新后的共享数据用上述第1加密密钥加密而记录到上述第1数据保存部中、将上述加密的第2加密密钥使用对应于上述第1加密密钥的第1解密密钥解密而生成上述第2加密密钥,用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密而记录到上述第2数据保存部中。由此,本形态的信息处理装置能够将第2***具有的第2加密密钥从第1***直接解密。由此,省去在第2***中取得第2加密密钥的工夫,能够使更新后的数据高速地同步。
此外,在有关本发明的第2形态的信息处理装置中,上述控制部还控制上述第2***,以使其确定上述第2数据保存部中的上述加密共享数据的位置、将用上述第2加密密钥进行上述更新后的共享数据覆盖到上述确定的位置上。
据此,由于确定加密共享数据的位置,所以能够防止在进行加密共享数据的更新误将不同的数据破坏。此外,由于将共享数据覆盖到所确定的位置上,所以能够将旧的共享数据可靠地丢弃。
此外,有关本发明的第3形态的信息处理装置还具备将表示加密的上述共享数据的上述第2数据保存部中的位置的信息与上述第1解密密钥建立对应而管理的共享数据管理部;上述控制部控制上述第2***,以使其基于与上述第1解密密钥建立了对应的上述信息确定上述第2数据保存部中的上述加密共享数据的所在、将上述第2更新数据覆盖到上述位置上。
据此,将表示共享数据的第2数据保存部中的位置的信息与第1解密密钥建立对应而管理。第1解密密钥是在共享数据的更新时必定被搜索的信息。在本形态中,由于将加密共享数据的位置、即应更新的共享数据的位置与这样的第1解密密钥建立了对应,所以能够使共享数据的位置的探索简单化。
此外,有关本发明的第4形态的信息处理装置还具备将表示加密的上述共享数据的上述第2数据保存部中的位置的信息与上述共享数据的摘要值建立对应而管理的共享数据管理部;上述控制部控制上述第2***,以使其将保存在上述第1数据保存部中的加密共享数据使用上述第1解密密钥解密、计算关于通过解密得到的共享数据的摘要值、通过使用上述摘要值参照上述共享数据管理部管理的信息、确定上述第2数据保存部中的上述加密共享数据的位置、将上述第2更新数据覆盖到上述位置上。
据此,将表示第2数据保存部中的位置的信息作为上述共享数据的摘要值建立对应而管理。由于共享数据的摘要值能够减小数据尺寸,所以能够以较小的尺寸的数据进行管理。此外,由于与共享数据的摘要值建立对应管理,所以在共享数据被篡改的情况下得不到正确的摘要值,也不能确定共享数据的位置。由此,能够防止非法的读出。
此外,有关本发明的第5形态的信息处理装置还具备将表示加密的上述共享数据的上述第2数据保存部中的位置的信息与保存在上述第1数据保存部中的加密共享数据的摘要值建立对应而管理的共享数据管理部;控制部控制上述第2***,以使其计算保存在上述第1数据保存部中的上述加密共享数据的摘要值、通过使用上述摘要值参照上述共享数据管理部管理的信息、确定上述第2数据保存部中的上述加密共享数据的位置、将上述第2更新数据覆盖到上述位置上。
据此,将表示第2数据保存部中的位置的信息作为保存在上述第1数据保存部中的加密共享数据的摘要值建立对应而管理。由于加密共享数据的摘要值能够减小数据尺寸,所以能够以较小的尺寸的数据进行管理。此外,由于与加密共享数据的摘要值建立对应管理,所以在加密共享数据被篡改的情况下得不到正确的摘要值,也不能确定加密共享数据的位置。由此,能够防止非法的读出。
此外,有关本发明的第6形态的信息处理装置还具备作为上述第2***用的密钥而保存使用上述第2加密密钥加密的上述第1加密密钥的第2密钥保存部;如果被指示保存在上述第2数据保存部中的加密共享数据的更新,则上述控制部还控制上述第2***,以使其将更新后的共享数据用上述第2加密密钥加密并记录到上述第2数据保存部中、将上述加密的第1加密密钥使用对应于上述第2加密密钥的第2解密密钥解密而生成上述第1加密密钥,控制上述第1***,以使其通过用由上述第2***生成的第1加密密钥将上述更新后的共享数据加密并记录到上述第1数据保存部中,将上述加密共享数据更新。
据此,对于第2***也能够进行共享数据的同步。
此外,在有关本发明的第7形态的信息处理装置中,上述控制部如果被指示保存在上述第1数据保存部中的加密共享数据的更新,则还控制上述第1***,以使其将保存在上述第1数据保存部中的加密共享数据使用上述第1解密密钥解密,将上述解密后的共享数据更新为上述更新后的共享数据。
据此,能够将共享数据解密后更新。由此,能够管理例如表示内容的利用次数的信息那样的累积性变化的共享数据。
此外,在有关本发明的第8形态的信息处理装置中,上述控制部在保存在上述第1数据保存部中的加密共享数据被更新后、被指示在上述第1***与上述第2***之间将上述共享数据同步的情况下,控制上述第2***,以使其用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密并记录到上述第2数据保存部中、将上述加密共享数据更新。
据此,在保存在上述第1数据保存部中的加密共享数据被更新后、被指示在上述第1***与上述第2***之间将上述共享数据同步的情况下,将第2***的共享数据更新。由此,能够仅在第2***中需要更新的共享数据时将第2***的共享数据更新,所以能够削减进行更新处理的次数。
此外,有关本发明的第9形态的信息处理装置还具备将包括上述第1解密密钥的上述第1***用的密钥以层级结构管理的层级管理部;在上述层级结构中,对各密钥的下位分别了被加密以使其能够使用上述各密钥解密的密钥;上述层级管理部将加密的上述第2加密密钥与上述第1解密密钥的下位建立对应而管理。
据此,第1***能够利用以树结构等的层级结构管理的密钥数据库。
此外,有关本发明的第10形态的信息处理装置还具备使利用上述第1***管理的数据的软件动作的动作部;上述控制部从上述软件受理保存在上述数据保存部中的加密共享数据的更新的指示。
据此,能够从应用利用第1***。
此外,有关本发明的第11形态的信息处理装置还具备将上述第1***解密的密钥与表示是面向上述第1***的信息建立对应保持、将上述第2***解密的密钥与表示是面向上述第2***的信息建立对应保持的保持部;上述第1***使用与表示是面向上述第1***的信息建立了对应的密钥进行解密;上述第2***使用与表示是面向上述第2***的信息建立了对应的密钥进行加密;上述控制部对于上述第1***的解密的结果、与表示是面向上述第1***的信息建立对应而保持在上述保持机构中的第2加密密钥,通过将上述信息改写为表示是面向上述第2***的信息,使上述第2***进行使用上述第2加密密钥的上述更新的共享数据的加密。
据此,控制部对于上述第1***的解密的结果、与表示是面向上述第1***的信息建立对应而保持在上述保持机构中的第2加密密钥,通过将上述信息改写为表示是面向上述第2***的信息,使上述第2***进行使用上述第2加密密钥的上述更新的共享数据的加密。因而,能够减小用于加密解密的密钥的保存所需要的区域的尺寸。此外,由于将用于加密解密的密钥以解密的状态持续保持,所以能够削减密钥的解密次数。
此外,在有关本发明的第12形态的信息处理装置中,上述保持部由具有规定的容量的多个块构成;将表示保持的密钥分别保存在哪个块中的信息与上述保持的密钥分别建立对应而保持。
根据该结构,能够将保持密钥的区域用块单位高效率地管理。
此外,在有关本发明的第13形态的信息处理装置中,上述信息处理装置还目标保持面向上述第2***的密钥的保持部;上述第2***使用上述保持部保持的密钥进行加密,上述控制部通过将上述第2加密密钥保持在上述保持部中,使上述第2***进行上述更新后的共享数据的加密,在将上述第2加密密钥保持到上述保持部中时,在上述保持部的空闲区域不足的情况下,将上述保持部已经保持的密钥加密而保存到上述保持部之外,将上述第2加密密钥覆盖到保持有保存的上述密钥的区域中,在按成上述第2***进行的上述第2更新数据的生成后,将保存的上述密钥解密,覆盖到保持有上述第2加密密钥的区域中。
根据该结构,控制部在将第2加密密钥保持到上述保持部中时,在上述保持部的空闲区域不足的情况下,将上述保持部已经保持的密钥加密而保存到上述保持部之外,将上述第2加密密钥覆盖到保持有保存的上述密钥的区域中,在按成上述第2***进行的上述第2更新数据的生成后,将保存的上述密钥解密,覆盖到保持有上述第2加密密钥的区域中。因而,即使在保持部中没有足够的空闲区域的情况,也能够进行共享数据的更新。此外,由于在将密钥保存到保持部外时进行加密,所以能够在保持部之外保护密钥不受抢夺密钥等的攻击。
此外,有关本发明的第14形态的信息处理方法,是在第1***和第2***动作的信息处理装置中使用的信息处理方法,上述第1***和上述第2***是将数据加密而管理是相互独立的***,上述信息处理装置具备:第1数据保存部,保存将在上述第1***与上述第2***之间共享的共享数据用作为上述第1***用的密钥的第1加密密钥加密的加密共享数据;第2数据保存部,保存将上述共享数据用作为上述第2***用的密钥的第2加密密钥加密的加密共享数据;第1密钥保存部,作为上述第1***用的密钥,保存使用上述第1加密密钥加密的上述第2加密密钥;在上述信息处理方法中,如果被指示保存在上述第1数据保存部中的加密共享数据的更新,则控制上述第1***,以使其将更新后的共享数据用上述第1加密密钥加密而记录到上述第1数据保存部中、将上述加密的第2加密密钥使用对应于上述第1加密密钥的第1解密密钥解密而生成上述第2加密密钥,控制上述第2***,以使其通过用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密而记录到上述第2数据保存部中、将上述加密共享数据更新。
此外,有关本发明的第15形态的信息处理程序,是在第1***和第2***动作的信息处理装置中使用的信息处理程序,上述第1***和上述第2***是将数据加密而管理是相互独立的***,上述信息处理装置具备:第1数据保存部,保存将在上述第1***与上述第2***之间共享的共享数据用作为上述第1***用的密钥的第1加密密钥加密的加密共享数据;第2数据保存部,保存将上述共享数据用作为上述第2***用的密钥的第2加密密钥加密的加密共享数据;第1密钥保存部,作为上述第1***用的密钥,保存使用上述第1加密密钥加密的上述第2加密密钥;上述信息处理程序如果被指示保存在上述第1数据保存部中的加密共享数据的更新,则控制上述第1***,以使其将更新后的共享数据用上述第1加密密钥加密而记录到上述第1数据保存部中、将上述加密的第2加密密钥使用对应于上述第1加密密钥的第1解密密钥解密而生成上述第2加密密钥,控制上述第2***,以使其通过用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密而记录到上述第2数据保存部中、将上述加密共享数据更新。
有关本发明的第16形态的信息处理程序记录在计算机可读取的记录媒体中。
此外,有关本发明的第17形态的信息处理集成电路,是在第1***和第2***动作的信息处理装置中使用的集成电路,上述第1***和上述第2***是将数据加密而管理是相互独立的***,上述信息处理装置具备:第1数据保存部,保存将在上述第1***与上述第2***之间共享的共享数据用作为上述第1***用的密钥的第1加密密钥加密的加密共享数据;第2数据保存部,保存将上述共享数据用作为上述第2***用的密钥的第2加密密钥加密的加密共享数据;第1密钥保存部,作为上述第1***用的密钥,保存使用上述第1加密密钥加密的上述第2加密密钥;上述集成电路如果被指示保存在上述第1数据保存部中的加密共享数据的更新,则控制上述第1***,以使其将更新后的共享数据用上述第1加密密钥加密而记录到上述第1数据保存部中、将上述加密的第2加密密钥使用对应于上述第1加密密钥的第1解密密钥解密而生成上述第2加密密钥,控制上述第2***,以使其通过用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密而记录到上述第2数据保存部中、将上述加密共享数据更新。
此外,作为本发明的一实施方式的信息处理装置,是第1***和第2***动作的信息处理装置,其特征在于,具备:第1数据保存部,保存将在上述第1***与上述第2***之间共享的共享数据用作为上述第1***用的密钥的第1加密密钥加密的加密共享数据;第2数据保存部,保存将上述共享数据用作为上述第2***用的密钥的第2加密密钥加密的加密共享数据;第1密钥保存部,作为上述第1***用的密钥,保存使用上述第1加密密钥加密的上述第2加密密钥;控制部,控制上述第1***和上述第2***;上述控制部如果被指示保存在上述第1数据保存部中的加密共享数据的更新,则控制上述第1***,以使其将更新后的共享数据用上述第1加密密钥加密而记录到上述第1数据保存部中、将上述加密的第2加密密钥使用对应于上述第1加密密钥的第1解密密钥解密而生成上述第2加密密钥,用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密,记录到上述第2数据保存部中。
通过这样的结构,有关本发明的信息处理装置控制上述第1***,以使其将更新后的共享数据用上述第1加密密钥加密而记录到上述第1数据保存部中、将上述加密的第2加密密钥使用对应于上述第1加密密钥的第1解密密钥解密而生成上述第2加密密钥,用由上述第1***生成的第2加密密钥将上述更新后的共享数据加密,记录到上述第2数据保存部中。通过该结构,有关本发明的信息处理装置能够将第2***具有的第2加密密钥从第1***直接解密。由此,省去在第2***中取得第2加密密钥的工夫,能够使更新后的数据高速地同步。
(17)关于在上述实施方式中叙述的构成单元,也可以由1个***LSI(Large Scale Integration:大规模集成电路)构成。***LSI是将多个构成部分集成在1个芯片上而制造的超多功能LSI,具体而言,是包括微处理器、ROM、RAM等而构成的计算机***。在上述RAM中存储有计算机程序。通过上述微处理器按照上述计算机程序动作,***LSI实现其功能。
此外,构成上述各装置的构成单元的各部既可以单独地1芯片化,也可以包括一部分或全部而1芯片化。在此情况下,与将上述构成单元用软件安装相比,能够使处理高速化。
(18)***LSI根据集成度的差异,也有称作IC、LSI、超级LSI、超大规模LSI的情况,不言而喻,将***LSI以上述哪种集成度实现的情况都包含在本发明中。此外,也可以利用在LSI制造后能够编程的FPGA(Field Programmable Gate Array)、或能够再构成LSI内部的电路单元的连接及设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行构成单元的集成化。有可能是生物技术的应用等。
(19)构成上述各装置的构成单元的一部分或全部也可以由相对于各装置可拆装的IC卡或单体的模组构成。上述IC卡或上述模组是由微处理器、ROM、RAM等构成的计算机***。上述IC卡或上述模组也可以包括上述超多功能LSI。通过微处理器按照计算机程序动作,上述IC卡或上述模组实现其功能。该IC卡或该模组也可以具有防篡改性。
(20)此外,本发明也可以将上述计算机程序或上述数字信号记录到计算机可读取的记录媒体、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc)、半导体存储器等中。此外,也可以是记录在这些记录媒体中的上述数字信号。
此外,本发明也可以是将上述计算机程序或上述数字信号经由电气通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等传送的***。
此外,本发明也可以是具备微处理器和存储器的计算机***,上述存储器存储有上述计算机程序,上述微处理器按照上述计算机程序而动作。
此外,也可以通过将上述程序或上述数字信号记录到上述记录媒体中并移送、或者将上述程序或上述数字信号经由上述网络等移送、由独立的其他计算机***实施
(21)也可以是这些实施方式及变形例的组合。
产业上的可利用性
有关本发明的管理用多个树结构的密钥数据库的密钥保护的数据的密钥管理软件中的、密钥使用的高速化方法,在使用两个密钥数据库将相同的数据同步时,由于利用预先设定的别的密钥数据库的密钥、将由别的数据库管理的数据更新,所以具有能够削减密钥的解密次数的效果。因此,在进行高速的数据同步的设备等的领域中特别有效。
标号说明
10信息处理装置
111CPU
112第1存储部
113第2存储部
114加密解密处理部
115总线
116密钥管理软件
117应用程序A
118应用程序B
119数据访问部
120密钥数据库A
121密钥数据库B
122加密数据保存部
123非易失性存储器部
124加密解密引擎部
125密钥数据库B用密钥保存部
126密钥数据库A用密钥保存部
201利用数据库判断部
202平文数据提取部
203哈希值生成部
204哈希值判断部
205句柄值判断部
206密钥取得部
207管理表保存部
208管理表更新部

Claims (26)

1.一种信息处理装置,具有分别将数据加密并保管的多个加密解密***,其特征在于,具备:
数据取得机构,取得一个加密解密***中的加密的对象数据;
判断机构,判断上述对象数据是否在其他加密解密***中被加密并被保管;
密钥取得机构,在判断为被保管的情况下,取得在其他加密解密***中被保管的加密数据的密钥;
密钥存储机构,在上述一个加密解密***中使用;以及
密钥写入机构,在上述一个加密解密***中,与上述对象数据建立对应并将所取得的上述密钥写入到上述密钥存储机构中。
2.一种信息处理装置,具有分别将数据加密并存储的第1加密解密***及第2加密解密***,其特征在于,具备:
数据取得机构,取得上述第1加密解密***中的加密的对象数据;
判断机构,判断将上述对象数据加密而生成的加密数据是否存储在上述第2加密解密***中;
密钥取得机构,在判断为被存储的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;
第1密钥存储机构,在上述第1加密解密***中使用;
加密解密机构,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;以及
密钥写入机构,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
3.如权利要求2所述的信息处理装置,其特征在于,
上述信息处理装置还具备第2数据保存机构,该第2数据保存机构在上述第2加密解密***中存储使用上述第2密钥将上述对象数据加密而生成的第2加密对象数据,来作为上述加密数据;
上述判断机构判断作为上述加密数据的上述第2加密对象数据是否被存储在上述第2数据保存机构中。
4.如权利要求3所述的信息处理装置,其特征在于,
上述加密解密机构还在上述第1加密解密***中使用上述第1密钥将上述对象数据加密而生成第1加密对象数据;
上述信息处理装置还具备:
上述第1加密解密***中的第1数据保存机构;以及
数据写入机构,将所生成的上述第1加密对象数据写入到上述第1数据保存机构中。
5.如权利要求4所述的信息处理装置,其特征在于,
上述信息处理装置还具备存储有管理表的表存储机构,该管理表与上述对象数据建立对应而包括表示在上述第2加密解密***中上述加密数据被存储的位置的位置信息;
上述判断机构通过判断对应于上述对象数据的位置信息是否被存储在上述管理表中,判断上述加密数据是否被存储在上述第2加密机构中。
6.如权利要求5所述的信息处理装置,其特征在于,
上述数据取得机构还取得更新上述对象数据的指示;
上述判断机构还判断将有关上述指示的上述对象数据加密而生成的加密数据是否被存储在上述第2加密解密***中;
上述密钥取得机构还在判断为被存储的情况下,从上述第1密钥存储机构取得上述加密第2密钥;
上述加密解密机构还将所取得的上述加密第2密钥解密而生成第2密钥,使用所生成的第2密钥将通过更新上述对象数据而得到的更新数据加密,生成第2加密更新数据;
上述数据写入机构还将所生成的上述第2加密更新数据覆盖到存储于上述第2数据保存机构中的上述第2加密对象数据上。
7.如权利要求6所述的信息处理装置,其特征在于,
上述加密解密机构使用对应于上述第1密钥的解密密钥将上述加密第2密钥解密。
8.如权利要求7所述的信息处理装置,其特征在于,
上述管理表与上述对象数据建立对应,并且还包括表示存储有对应于上述第1密钥的解密密钥的位置的密钥位置信息;
上述加密解密机构使用从由上述密钥位置信息表示的位置取得的上述解密密钥。
9.如权利要求6所述的信息处理装置,其特征在于,
上述加密解密机构还使用上述第1密钥将上述更新数据加密而生成第1加密更新数据;
上述数据写入机构还将所生成的上述第1加密更新数据覆盖到存储于上述第1数据保存机构中的上述第1加密对象数据上。
10.如权利要求9所述的信息处理装置,其特征在于,
上述数据写入机构在将上述第1加密更新数据覆盖到存储于上述第1数据保存机构中的上述第1加密对象数据上之后,在接受到同步指示的情况下,将上述第2加密更新数据覆盖到存储于上述第2数据保存机构中的上述第2加密对象数据上。
11.如权利要求9所述的信息处理装置,其特征在于,
包含在上述管理表中的上述位置信息表示在上述第2数据保存机构中存储有上述第2加密对象数据的位置;
上述数据写入机构将上述第2加密更新数据写入到由上述位置信息表示的位置中。
12.如权利要求6所述的信息处理装置,其特征在于,
上述加密解密机构还将存储在上述第1数据保存机构中的上述第1加密对象数据解密而生成对象数据,基于所生成的对象数据将得到的更新数据加密。
13.如权利要求5所述的信息处理装置,其特征在于,
上述管理表将上述对象数据的摘要值和上述位置信息建立对应而包含;
上述判断机构根据上述对象数据计算其摘要值,判断在上述管理表中是否存储有对应于得到的摘要值的上述位置信息。
14.如权利要求5所述的信息处理装置,其特征在于,
上述管理表将上述第1加密对象数据的摘要值和上述位置信息建立对应而包含;
上述判断机构根据存储在第1数据保存机构中的上述第1加密对象数据计算其摘要值,判断在上述管理表中是否存储有对应于得到的摘要值的上述位置信息。
15.如权利要求2所述的信息处理装置,其特征在于,
上述信息处理装置还具备在上述第2加密解密***中使用的第2密钥存储机构;
上述数据取得机构还取得上述第2加密解密***中的加密的对象数据;
上述判断机构还判断将上述对象数据加密而生成的加密数据是否存储在上述第1加密解密***中;
上述密钥取得机构还在判断为被存储的情况下,取得在上述第1加密解密***中用于将上述加密数据加密的第1密钥;
上述加密解密机构还在上述第2加密解密***中,使用用于将上述对象数据加密的第2密钥,将所取得的上述第1密钥加密,生成加密第1密钥;
上述密钥写入机构还在上述第2加密解密***中,与上述对象数据建立对应而将所生成的上述加密第1密钥写入到上述第2密钥存储机构中。
16.如权利要求15所述的信息处理装置,其特征在于,
上述加密解密机构还在上述第2加密解密***中,使用上述第2密钥将上述对象数据加密,生成第2加密对象数据;
上述信息处理装置还具备:
上述第2加密解密***中的第2数据保存机构;以及
数据写入机构,将所生成的上述第2加密对象数据写入到上述第2数据保存机构中。
17.如权利要求16所述的信息处理装置,其特征在于,
上述数据取得机构还取得更新上述对象数据的指示;
上述判断机构还判断将有关上述指示的上述对象数据加密而生成的加密数据是否存储在上述第1加密解密***中;
上述密钥取得机构还在判断为被存储的情况下,从上述第2密钥存储机构取得上述加密第1密钥;
上述加密解密机构还将所取得的上述加密第1密钥解密而生成第1密钥,使用所生成的第1密钥,将通过更新上述对象数据而得到的更新数据加密,生成第1加密更新数据;
上述数据写入机构还将所生成的上述第1加密更新数据覆盖到存储于上述第1数据保存机构中的上述第1加密对象数据上。
18.如权利要求2所述的信息处理装置,其特征在于,
上述第1密钥存储机构在第1加密解密***中,通过层级结构来管理密钥,对于层级结构的各密钥的下位分配被加密以使得能够使用该密钥解密的密钥;
密钥写入机构将上述加密第2密钥分配并写入到上述第2密钥的下位。
19.如权利要求2所述的信息处理装置,其特征在于,
上述信息处理装置还具备处理器,该处理器按照利用第1加密解密***中的加密数据的应用程序而动作;
上述应用程序包括将加密的对象数据输出的命令;
上述处理器对上述数据取得机构输出加密的对象数据。
20.如权利要求2所述的信息处理装置,其特征在于,
上述信息处理装置还具备密钥保存机构,该密钥保存机构将在上述第1加密解密***中被解密的密钥与表示是上述第1加密解密***用的第1类型信息建立对应而保持,将在上述第2加密解密***中被解密的密钥与表示是上述第2加密解密***用的第2类型信息建立对应而保持;
上述加密解密机构在上述第1加密解密***中,使用与上述第1类型信息建立了对应的密钥进行解密;
上述加密解密机构在上述第2加密解密***中,使用与上述第2类型信息建立了对应的密钥进行加密;
上述信息处理装置还具备控制机构,该控制机构对于上述第1加密解密***中的解密的结果、与上述第1类型信息建立对应而保持在上述密钥保存机构中的密钥,通过将上述第1类型信息改写为表示是上述第2加密解密***用的上述第2类型信息,在上述第2加密解密***中对使用了上述密钥的上述更新数据进行加密。
21.如权利要求20所述的信息处理装置,其特征在于,
上述密钥保存机构由具有规定的容量的多个块构成,将表示保持的密钥分别保存在哪个块中的块信息与上述保持的密钥分别建立对应而保持。
22.如权利要求2所述的信息处理装置,其特征在于,
上述加密解密机构具备:
控制部;
密钥保存部,保持上述第1加密解密***用的上述第1密钥;以及
加密解密引擎部,使用保持在上述密钥保存部中的上述第1密钥进行加密;
上述控制部在取得上述第1密钥并保持到上述密钥保存部中时,在上述密钥保存部的空闲区域不足的情况下,将上述密钥保存部已经保持的一个密钥通过上述加密解密引擎部加密而保存到上述密钥保存部之外,在上述密钥保存部中,将所取得的上述第1密钥覆盖到保持有保存对象的上述密钥的区域中,在使用了上述第1加密解密***中的上述第1密钥的加密完成之后,将保存的上述加密密钥通过上述加密解密引擎部解密,覆盖到保持有上述第1密钥的区域上。
23.一种信息处理装置中使用的方法,该信息处理装置具有分别将数据加密并存储的第1加密解密***及第2加密解密***,具备在上述第1加密解密***中使用的第1密钥存储机构,该方法的特征在于,具备:
数据取得步骤,取得上述第1加密解密***中的加密的对象数据;
判断步骤,判断将上述对象数据加密而生成的加密数据是否被存储在上述第2加密解密***中;
密钥取得步骤,在判断为被存储的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;
加密解密步骤,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;以及
密钥写入步骤,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
24.一种计算机程序,在具有分别将数据加密并存储的第1加密解密***及第2加密解密***、具备在上述第1加密解密***中使用的第1密钥存储机构的信息处理装置中使用,其特征在于,
用来使作为计算机的上述信息处理装置执行:
数据取得步骤,取得上述第1加密解密***中的加密的对象数据;
判断步骤,判断将上述对象数据加密而生成的加密数据是否被存储在上述第2加密解密***中;
密钥取得步骤,在判断为被存储的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;
加密解密步骤,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;以及
密钥写入步骤,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
25.如权利要求24所述的计算机程序,其特征在于,
上述计算机程序记录在计算机可读取的记录媒体中。
26.一种集成电路,具有分别将数据加密并存储的第1加密解密***及第2加密解密***,其特征在于,具备:
数据取得机构,取得上述第1加密解密***中的加密的对象数据;
判断机构,判断将上述对象数据加密而生成的加密数据是否被存储在上述第2加密解密***中;
密钥取得机构,在判断为被存储的情况下,取得在上述第2加密解密***中用于将上述加密数据加密的第2密钥;
第1密钥存储机构,在上述第1加密解密***中使用;
加密解密机构,在上述第1加密解密***中,使用用于将上述对象数据加密的第1密钥,将所取得的上述第2密钥加密而生成加密第2密钥;以及
密钥写入机构,在上述第1加密解密***中,与上述对象数据建立对应而将所生成的上述加密第2密钥写入到上述第1密钥存储机构中。
CN2009801388971A 2008-10-10 2009-10-07 信息处理装置、方法、程序及集成电路 Pending CN102171968A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-263680 2008-10-10
JP2008263680 2008-10-10
PCT/JP2009/005217 WO2010041442A1 (ja) 2008-10-10 2009-10-07 情報処理装置、方法、プログラム及び集積回路

Publications (1)

Publication Number Publication Date
CN102171968A true CN102171968A (zh) 2011-08-31

Family

ID=42100403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801388971A Pending CN102171968A (zh) 2008-10-10 2009-10-07 信息处理装置、方法、程序及集成电路

Country Status (5)

Country Link
US (1) US20110173460A1 (zh)
EP (1) EP2337262A1 (zh)
JP (1) JPWO2010041442A1 (zh)
CN (1) CN102171968A (zh)
WO (1) WO2010041442A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414555A (zh) * 2013-08-15 2013-11-27 成都卫士通信息产业股份有限公司 阵列基于io块加密的密钥管理方法
CN105122774A (zh) * 2013-03-07 2015-12-02 瑞典爱立信有限公司 控制对reload网络中的资源的写入访问
CN109309656A (zh) * 2017-07-27 2019-02-05 京瓷办公信息***株式会社 信息处理装置和信息处理装置的控制方法
CN112862420A (zh) * 2019-11-12 2021-05-28 株式会社野村综合研究所 管理***

Families Citing this family (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US8819452B2 (en) * 2009-11-25 2014-08-26 Cleversafe, Inc. Efficient storage of encrypted data in a dispersed storage network
US9672109B2 (en) * 2009-11-25 2017-06-06 International Business Machines Corporation Adaptive dispersed storage network (DSN) and system
US10353774B2 (en) * 2015-10-30 2019-07-16 International Business Machines Corporation Utilizing storage unit latency data in a dispersed storage network
CN101977381B (zh) * 2010-11-18 2013-10-23 杭州华三通信技术有限公司 一种密钥表项的处理方法和设备
JP5755970B2 (ja) * 2011-08-26 2015-07-29 株式会社東芝 演算装置
JP6047933B2 (ja) * 2012-06-05 2016-12-21 凸版印刷株式会社 情報処理装置、情報処理方法及び情報処理システム
US9106405B1 (en) * 2012-06-25 2015-08-11 Amazon Technologies, Inc. Multi-user secret decay
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
WO2014145805A1 (en) 2013-03-15 2014-09-18 Mandiant, Llc System and method employing structured intelligence to verify and contain threats at endpoints
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9189627B1 (en) 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9740857B2 (en) 2014-01-16 2017-08-22 Fireeye, Inc. Threat-aware microvisor
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US9747297B2 (en) * 2014-09-23 2017-08-29 Amazon Technologies, Inc. Synchronization of shared folders and files
CN105468659B (zh) * 2014-09-28 2019-01-04 阿里巴巴集团控股有限公司 一种数据同步方法及装置
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US9906361B1 (en) * 2015-06-26 2018-02-27 EMC IP Holding Company LLC Storage system with master key hierarchy configured for efficient shredding of stored encrypted data items
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US9934389B2 (en) 2015-12-18 2018-04-03 Amazon Technologies, Inc. Provisioning of a shippable storage device and ingesting data from the shippable storage device
KR102139709B1 (ko) * 2015-12-18 2020-07-30 아마존 테크놀로지스, 인크. 배송가능한 스토리지 디바이스의 프로비저닝 및 배송가능한 스토리지 디바이스로부터 데이터 입수
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US20170192688A1 (en) * 2015-12-30 2017-07-06 International Business Machines Corporation Lazy deletion of vaults in packed slice storage (pss) and zone slice storage (zss)
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
JP6786818B2 (ja) * 2016-03-04 2020-11-18 コニカミノルタ株式会社 通信処理システム、処理装置、およびコンピュータプログラム
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11128460B2 (en) 2018-12-04 2021-09-21 EMC IP Holding Company LLC Client-side encryption supporting deduplication across single or multiple tenants in a storage system
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
US11019033B1 (en) 2019-12-27 2021-05-25 EMC IP Holding Company LLC Trust domain secure enclaves in cloud infrastructure
JP2022114391A (ja) * 2021-01-26 2022-08-05 京セラドキュメントソリューションズ株式会社 電子機器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000098885A (ja) * 1998-09-17 2000-04-07 Sony Corp コンテンツ管理方法及びコンテンツ記憶システム
US20030026429A1 (en) * 2000-03-29 2003-02-06 Vadium Technology, Inc. One-time-pad encryption with key ID and offset for starting point
US20030185397A1 (en) * 2001-03-29 2003-10-02 Ryuji Ishiguro Information processing apparatus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918728A (en) * 1989-08-30 1990-04-17 International Business Machines Corporation Data cryptography operations using control vectors
JP4161466B2 (ja) * 1999-04-22 2008-10-08 日本ビクター株式会社 コンテンツ情報記録方法及びコンテンツ情報処理装置
JP3803088B2 (ja) * 2001-04-18 2006-08-02 株式会社パンプキンハウス 暗号システムおよびその制御方法
WO2004034184A2 (en) * 2002-08-23 2004-04-22 Exit-Cube, Inc. Encrypting operating system
JP2004295373A (ja) * 2003-03-26 2004-10-21 Sony Corp 情報記録媒体、情報処理装置、情報記録媒体製造装置、および方法、並びにコンピュータ・プログラム
AU2004258523B2 (en) * 2003-07-07 2009-12-10 Irdeto B.V. Reprogrammable security for controlling piracy and enabling interactive content
KR20060108619A (ko) * 2003-12-17 2006-10-18 마쯔시다덴기산교 가부시키가이샤 콘텐츠 배포 서버, 키 할당 방법, 콘텐츠 출력장치, 및 키발행 센터
US20060117018A1 (en) * 2004-11-30 2006-06-01 Microsoft Corporation Method and system for caching remote files locally
JP4669708B2 (ja) * 2005-02-16 2011-04-13 株式会社日立製作所 ストレージシステム、データ移動方法及び管理計算機
JP4888057B2 (ja) * 2006-11-01 2012-02-29 富士通セミコンダクター株式会社 情報処理装置
JP4358239B2 (ja) * 2007-01-10 2009-11-04 株式会社東芝 コンテンツ提供システム、追跡システム、コンテンツ提供方法及び不正ユーザ特定方法
US8111828B2 (en) * 2007-07-31 2012-02-07 Hewlett-Packard Development Company, L.P. Management of cryptographic keys for securing stored data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000098885A (ja) * 1998-09-17 2000-04-07 Sony Corp コンテンツ管理方法及びコンテンツ記憶システム
US20030026429A1 (en) * 2000-03-29 2003-02-06 Vadium Technology, Inc. One-time-pad encryption with key ID and offset for starting point
US20030185397A1 (en) * 2001-03-29 2003-10-02 Ryuji Ishiguro Information processing apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105122774A (zh) * 2013-03-07 2015-12-02 瑞典爱立信有限公司 控制对reload网络中的资源的写入访问
CN105122774B (zh) * 2013-03-07 2018-10-12 瑞典爱立信有限公司 控制对reload网络中的资源的写入访问
CN103414555A (zh) * 2013-08-15 2013-11-27 成都卫士通信息产业股份有限公司 阵列基于io块加密的密钥管理方法
CN103414555B (zh) * 2013-08-15 2016-08-10 成都卫士通信息产业股份有限公司 阵列基于io块加密的密钥管理方法
CN109309656A (zh) * 2017-07-27 2019-02-05 京瓷办公信息***株式会社 信息处理装置和信息处理装置的控制方法
CN112862420A (zh) * 2019-11-12 2021-05-28 株式会社野村综合研究所 管理***
CN112862420B (zh) * 2019-11-12 2024-03-26 株式会社野村综合研究所 管理***

Also Published As

Publication number Publication date
JPWO2010041442A1 (ja) 2012-03-08
US20110173460A1 (en) 2011-07-14
EP2337262A1 (en) 2011-06-22
WO2010041442A1 (ja) 2010-04-15

Similar Documents

Publication Publication Date Title
CN102171968A (zh) 信息处理装置、方法、程序及集成电路
CN1312876C (zh) 用不可访问的唯一密钥对储存的数据进行加密/解密
CN1940952B (zh) 用于管理内容数据的***和装置
JP5196883B2 (ja) 情報セキュリティ装置および情報セキュリティシステム
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
CN101047495B (zh) 用于传送数据的方法和***
CN101953112A (zh) 信息安全装置及信息安全***
US20100086134A1 (en) Full volume encryption in a clustered environment
US20110099362A1 (en) Information processing device, encryption key management method, computer program and integrated circuit
GB2520489A (en) Deletion of content in digital storage systems
CN102422301A (zh) 记录***、再现***、密钥分发服务器、记录装置、记录介质装置、再现装置、记录方法及再现方法
CN101169814A (zh) 用于管理和自动生成加密密钥的***和方法
CN101484927A (zh) 共享加密文件的加密、解密处理方法
EP2549402B1 (en) Data processing terminal, confidential data access control method, program, storage medium, and integrated circuit
CN1985466A (zh) 使用分发cd按签署组向设备传递直接证据私钥的方法
CN114826696B (zh) 文件内容分级共享方法、装置、设备及介质
CN105718808A (zh) 一种基于多网盘的文件加密存储***及方法
CN111586065A (zh) 一种基于区块链的数据授权方法
KR20020067663A (ko) 데이터배포시스템
EP3343829A1 (en) Searchable cryptograph processing system
CN100501755C (zh) 数据处理装置、数据处理方法
US20120213370A1 (en) Secure management and personalization of unique code signing keys
JP2008016014A (ja) 機密情報保護システム、機密情報復元装置、及び割符生成装置
CN101539890B (zh) 数据处理***、密码管理方法及数据读取与写入方法
US11451522B2 (en) System and method for enabling the secure storage, transmission and access of genetic data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110831