CN100524254C - 机密信息处理设备及方法 - Google Patents
机密信息处理设备及方法 Download PDFInfo
- Publication number
- CN100524254C CN100524254C CNB2005800373097A CN200580037309A CN100524254C CN 100524254 C CN100524254 C CN 100524254C CN B2005800373097 A CNB2005800373097 A CN B2005800373097A CN 200580037309 A CN200580037309 A CN 200580037309A CN 100524254 C CN100524254 C CN 100524254C
- Authority
- CN
- China
- Prior art keywords
- program
- update
- unit
- hash value
- context
- 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.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 174
- 238000012545 processing Methods 0.000 claims abstract description 135
- 238000000034 method Methods 0.000 claims description 181
- 238000004364 calculation method Methods 0.000 claims description 71
- 108010001267 Protein Subunits Proteins 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000012790 confirmation Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
一种机密信息处理装置,包括:控制单元102,用于存储分配给所述装置中资源的访问控制级别,该访问控制基本用作判断是否允许从任何所述外部装置对任意所述资源访问的标准;机密信息存储单元105,用于存储更新目标程序;以及内部CPU 103,用于在接收到更新请求时为更新所述更新目标程序执行更新处理。控制单元102根据访问控制级别判断是否允许从外部装置对所述资源的访问。在更新处理期间,内部CPU 103将资源的访问控制级别从表示访问被允许的级别改变为表示访问不被允许的级别。
Description
技术领域
本发明涉及一种用于机密信息处理装置中的机密信息处理程序的技术。
背景技术
在用于处理需要版权保护的内容的系统中,需要保护机密信息不被泄漏,该机密信息例如为用于解密所述内容的密钥和被解密的内容。例如,参考文件1公开了一种用于保护机密信息不被泄漏的技术。该技术中提供了一种机密信息处理装置,其包括处理机密信息的专用CPU,其中存储有例如密钥和由专用CPU执行的程序的机密信息的存储器,以及加密计算电路,其中控制整个系统的CPU被限制访问机密信息以及由专用CPU执行的程序。
通过这种结构,该装置的安全级别得以改进,并且可以有效地防止内容的未授权执行。
参考文件1:公开号为No.2004-96666的日本专利申请。
发明内容
技术问题
然而,上述现有技术存在的问题在于,由于由专用CPU执行的程序不能通过从外部的访问得到更新,在包括机密信息处理装置的系统被封装为产品之后,该机密信息处理装置的功能不可能根据需要进行更新。
因此本发明的目的在于提供一种机密信息处理装置,在有效地防止机密信息被泄漏的同时,其功能可以根据需要进行修改。
技术方案
上述目标通过一种用于控制从外部装置对其资源访问的机密信息处理装置来实现,所述机密信息处理装置包括:级别存储单元,用于存储分配给所述资源的访问控制级别,该访问控制级别用作判断是否允许从任何所述外部装置对任意所述资源访问的标准;程序存储单元,用于存储更新目标程序;接收单元,用于从外部装置之一接收更新所述更新目标程序的请求;更新单元,用于在接收单元接收到所述请求时执行更新处理以更新所述更新目标程序;访问控制单元,用于根据对应于所述资源的访问控制级别判断是否允许从所述外部装置对所述资源的访问;以及级别改变单元,用于在更新处理期间将资源的访问控制级别从表示允许来自外部装置的访问的级别改变为指示来自外部装置的访问不被允许的级别。其中,所述资源在更新处理期间将被所述更新单元访问。各访问控制级别由等级表示。所述机密信息处理装置还包括:级别接收单元,用于从外部装置接收分配给该外部装置的访问控制级别;如果由接收的访问控制级别表示的等级等于或者高于由资源的访问控制级别表示的等级,则所述访问控制单元允许所述外部装置访问所述资源;并且如果由接收的访问控制级别表示的等级低于由资源的访问控制级别表示的等级,则所述访问控制单元不允许所述外部装置访问所述资源。
上述目标也通过一种用在用于控制从外部装置对其资源的访问的机密信息处理装置的机密信息处理方法来实现,所述机密信息处理装置包括:级别存储单元,用于存储分配给所述资源的访问控制级别,该访问控制级别用作判断是否允许从任何所述外部装置对任意所述资源访问的标准;程序存储单元,用于存储更新目标程序;所述机密信息处理方法包括以下步骤:从外部装置之一接收更新所述更新目标程序的请求;如果接收到所述请求,则执行更新处理以更新所述更新目标程序;根据对应于所述资源的访问控制级别判断是否允许从所述外部装置对所述资源的访问;以及在由更新单元执行更新处理期间,将资源的访问控制级别改变为表示来自外部装置的访问不被允许的级别,该资源在更新处理期间由更新单元访问并且其访问控制级别指示来自外部装置的访问被允许。
上述目标也通过一种用于使机密信息处理装置执行机密信息处理以执行机密信息处理的程序来实现,该装置控制从外部装置对其资源的访问,所述机密信息处理装置包括:级别存储单元,用于存储分配给所述资源的访问控制级别,该访问控制级别用作判断是否允许从任何所述外部装置对任意所述资源访问的标准;以及程序存储单元,用于存储更新目标程序,所述机密信息处理包括以下步骤:从外部装置之一接收更新所述更新目标程序的请求;如果接收到所述请求,则执行更新处理以更新所述更新目标程序;根据对应于所述资源的访问控制级别判断是否允许从所述外部装置对所述资源的访问;以及在更新处理期间,将资源的访问控制级别从表示来自外部装置的访问被允许的级别改变为使来自外部装置的访问不被允许的级别。其中,所述资源在更新处理期间将被访问。各访问控制级别由等级表示。所述机密信息处理方法还包括:从外部装置接收分配给该外部装置的访问控制级别;在判断步骤,如果由接收的访问控制级别所表示的等级等于或者高于由资源的访问控制级别所表示的等级,则允许该外部装置访问所述资源;并且在判断步骤,如果由接收的访问控制级别所表示的等级低于由资源的访问控制级别所表示的等级,则不允许该外部装置访问所述资源。
上述目标也通过一种计算机可读记录介质实现,其中记录用于使机密信息处理装置执行机密信息处理的程序,该装置控制从外部装置对其资源的访问,所述机密信息处理装置包括:级别存储单元,用于存储分配给所述资源的访问控制级别,该访问控制级别用作判断是否允许从任何所述外部装置对任意所述资源访问的标准;以及程序存储单元,用于存储更新目标程序,所述机密信息处理包括以下步骤:从外部装置之一接收更新所述更新目标程序的请求;如果接收到所述请求,则执行更新处理以更新所述更新目标程序;根据对应于所述资源的访问控制级别判断是否允许从所述外部装置对所述资源的访问;以及在由更新单元执行更新处理期间,将资源的访问控制级别从表示来自外部装置的访问被允许的级别改变为表示来自外部装置的访问不被允许的级别。
技术效果
通过上述结构,在执行更新处理时,可以限制从外部装置的访问。因此根据需要可以从外部修改机密信息处理装置的功能,同时有效地防止机密信息泄漏。
在上述机密信息处理装置中,在更新处理之后,级别改变单元可以将在更新处理期间被改变的访问控制级别返回到改变之前的访问控制级别。
通过上述结构,从外部访问的限制在更新处理之后被放松,在机密信息处理装置执行除更新处理以外的处理时,可以保持正常的从外部的访问。
在上述机密信息处理装置中,各访问控制级别可以由等级表示,所述机密信息处理装置还包括级别接收单元,用于从外部装置接收分配给该外部装置的访问控制级别,如果由接收的访问控制级别表示的等级等于或者高于由资源的访问控制级别表示的等级,则所述访问控制单元允许所述外部装置访问所述资源,并且如果由接收的访问控制级别表示的等级低于由资源的访问控制级别表示的等级,则所述访问控制单元不允许所述外部装置访问所述资源。
通过上述结构,可以根据内部资源需要的的机密级别而设置访问控制级别。因此可以获得灵活而精细的访问控制,例如,其中主要限制从外部对具有高机密性的资源的访问,而容易允许从外部对具有低机密性资源的访问。
在上述机密信息处理装置中,所述接收单元可以是所述资源之一,并且只要在所述访问控制单元允许外部装置访问所述接收单元时才接收所述更新请求。
通过上述结构,可以将从其接收更新请求的外部装置限制到预定的外部装置。因此可以有效地防止从外部装置无限地接收更新请求并且防止更新处理的浪费执行。
上述机密信息处理装置还可以包括上限值存储单元,用于存储所述等级的上限值,并且如果由接收的外部装置的访问控制级别表示的等级高于所述上限值,则所述访问控制单元不允许外部装置访问任何资源。
上述机密信息处理装置还可以包括上限值存储单元,用于存储所述等级的上限值,并且如果由接收的外部装置的访问控制级别表示的等级高于所述上限值,则所述访问控制单元通过将由接收的访问控制级别表示的等级设为等于上限值而判断是否允许外部装置访问任何资源。
通过上述结构,可以限制允许外部装置访问资源的访问控制级别。因此,即使外部装置的访问控制级别通过未授权的操作被设置为表示高等级,也可以有效地拒绝从外部装置的访问。
上述机密信息处理装置还可以包括验证单元,用于执行外部装置的验证,并且如果所述验证单元通过所述验证不确认外部装置的真实性,则所述访问控制单元不允许外部装置访问任何资源。
通过上述结构,可以拒绝从未授权的外部装置的访问。因此可以有效防止来自外部装置的未授权访问。
上述机密信息处理装置还可以包括解密单元,用于从外部装置为更新目标程序接收加密的更新程序,并且解密所述接收的加密的更新程序以产生更新程序,所述解密单元包括数据输出子单元,其是可以由级别改变单元改变的资源之一,并且用于输出由解密单元产生的更新程序,并且更新单元通过访问数据输出子单元以接收更新程序而执行更新处理,并且将所述接收的更新程序存储到程序存储单元中。
通过上述结构,在执行更新处理的同时,限制了对数据输出子单元的访问,该数据输出子单元在解密后输出更新程序。因此可以在从外部输入机密信息时保持安全性。
在上述机密信息处理装置中,所述程序存储单元包括程序存储子单元和保存子单元,所述程序存储子单元存储更新目标程序和所述更新目标程序的上下文,所述更新单元包括:接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;保存单元,用于在接管判断单元判断所述更新程序应该接管所述上下文时将更新目标程序的上下文保存到保存子单元;以及哈希值计算单元,用于计算更新目标程序的哈希值,其中所述解密单元还包括接收通过加密更新目标程序的哈希值产生的加密的哈希值,解密接收的加密的哈希值,并且将通过解密所述加密的哈希值产生的哈希值输出到数据输出子单元,并且所述更新单元从数据输出子单元接收由解密单元产生的更新目标程序的所述哈希值,并且只有当接收的哈希值于计算的哈希值匹配时才将所述更新程序和更新目标程序的上下文存储到程序存储子单元中。
在上述机密信息处理装置中,如果接收的更新目标程序的哈希值与计算的更新目标程序的哈希值不匹配,则所述更新单元还从保存子单元中删除更新目标程序的上下文。
通过上述结构,可以基于更新目标程序的哈希值判断从外部装置输入的更新程序是否可以接管所述目标更新程序的上下文。
在上述机密信息处理装置中,所述解密单元还从外部装置接收通过加密更新程序的哈希值产生的加密的哈希值,解密接收的加密的哈希值,并且将通过解密所述加密的哈希值产生的哈希值输出到数据输出子单元,
所述哈希值计算单元还在接收的更新目标程序的哈希值与计算的更新目标程序的哈希值相匹配时计算该更新程序的哈希值,并且更新单元从数据输出子单元接收由解密单元产生的更新程序的哈希值,并且只有当接收的更新程序的哈希值与计算的更新程序的哈希值相匹配时才将所述更新程序和更新目标程序的存储到程序存储子单元中。
在上述机密信息处理装置中,如果接收的更新程序的哈希值与计算的更新程序的哈希值不匹配,则所述更新单元还从程序存储单元中删除更新程序。
通过上述结构,可以在基于从没有被篡改的外部装置输入的更新程序的哈希值进行确认之后接收所述更新程序。因此可以防止被篡改的程序存储到机密信息处理装置。
在上述机密信息处理装置中,所述程序存储单元包括程序存储子单元和保存子单元,所述程序存储子单元存储更新目标程序和该更新目标程序的上下文,所述保存子单元存储基于各多个已经从初始程序更新到更新目标程序的更新程序的哈希值计算的多代哈希值,所述更新单元包括:接管判断单元,用于判断所述更新程序是否应该接管更新目标程序的上下文;以及保存单元,用于在所述接管判断单元判断所述更新程序应该接管上下文时将更新目标程序的上下文保存到保存子单元中,其中所述解密单元还从外部装置接收通过加密多代哈希值产生的加密的哈希值,解密接收的加密的哈希值,并且将通过解密所述加密的哈希值产生的多代哈希值输出到数据输出子单元,并且所述更新单元从数据输出子单元接收通过解密单元产生的多代哈希值,并且只有当接收的多代哈希值与存储在保存子单元中的多代的哈希值相匹配时才将所述更新程序和更新目标程序的上下文存储到程序存储子单元中。
在上述机密信息处理装置中,如果接收的多代哈希值与存储在保存子单元中的多代哈希值不匹配,则更新单元还可以从保存子单元中删除更新目标程序的上下文。
通过上述结构,可以基于多代哈希值判断从外部装置输入的更新程序是否可以接管更新之前程序的上下文。通过该结构,所述上下文不能由未授权的用户从外部输入的更新程序以未授权的方式使用,除非各更新程序的所有哈希值都泄漏到外部。因此可以有效防止对上下文未授权的接管。
在上述机密信息处理装置中,所述解密单元还接收通过加密更新程序的哈希值产生的加密的哈希值,解密接收的加密的哈希值,并且将通过解密所述加密的哈希值产生的哈希值输出到数据输出子单元,并且如果接收的多代哈希值与存储在保存子单元中的多代哈希值相匹配,则所述更新单元还通过在更新程序上执行哈希计算而计算更新程序的哈希值,接收通过解密单元产生的来自数据输出子单元的更新程序的哈希值,并且只有当接收的更新程序的哈希值与计算的更新程序的哈希值相匹配时才将所述更新程序和更新目标程序的上下文存储到程序存储子单元中。
在上述机密信息处理装置中,如果接收的更新程序的哈希值与计算的更新程序的哈希值不匹配,则所述更新单元还从程序存储单元中删除更新程序。
通过上述结构,可以基于从没有被篡改的外部装置输入的更新程序的哈希值进行确认之后接收所述更新程序。因此可以防止被篡改的程序存储到机密信息处理装置。
在上述机密信息处理装置中,所述更新单元还将存储在保存子单元中的多代哈希值与计算的更新程序的哈希值进行链接以产生链接值,通过对链接值执行哈希计算而计算多代哈希值,并且用计算的多代哈希值替换存储在保存子单元中的多代哈希值。
通过上述结构,可以当更新程序接管更新目标程序的上下文时更新多代哈希值。这加强了防止从外部对上下文的未授权接管的保护力度。
在上述机密信息处理装置中,所述程序存储单元还存储更新目标程序的上下文,所述更新单元包括:接管判断单元,用于判断所述更新程序是否应该接管更新目标程序的上下文;输出判断单元,用于在所述接管判断单元判断更新程序不应该接管上下文时判断是否输出所述上下文;以及哈希值计算单元,用于在所述输出判断单元判断输出所述上下文时计算所述更新目标程序的哈希值,所述保密信息处理装置还包括加密单元,用于加密所述计算的哈希值和所述上下文,其中所述更新单元将所述加密的哈希值与加密的上下文进行链接以产生链接的加密的哈希值和上下文并将该链接的加密的哈希值和上下文输出到机密信息处理装置外部。
通过上述结构,可以对应于更新目标程序的哈希值而临时在外部保存没有被更新程序接管的更新目标程序的上下文。这使得,当机密信息处理装置接收已经保存到外部的上下文时,可以基于哈希值而简单的确认从外部输入的上下文是否是更新目标程序的上下文,以重复使用所述更新目标程序。
在上述机密信息处理装置中,所述程序存储单元包括程序存储子单元和保存子单元,所述程序存储子单元存储所述更新目标程序和该更新目标程序的上下文,所述更新单元包括:接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;保存判断单元,用于在接管判断单元判断所述更新程序不应该接管所述上下文时判断是否将更新目标程序的上下文保存到保存子单元中;哈希值计算单元,用于在保存判断单元判断保存上下文时计算更新目标程序的哈希值;以及保存单元,用于将所述哈希值与所述上下文进行链接以产生链接的哈希值和上下文并将所述链接的哈希值和上下文保存到保存子单元中。
通过上述结构,可以对应与更新目标程序的哈希值而临时将没有由更新程序接管的更新目标程序的上下文保存到保存子单元中。这使得,当机密信息处理装置接收已经保存到外部的上下文时,可以基于哈希值而简单的确认从保存子单元输入的上下文是否是更新目标程序的上下文,以重复使用所述更新目标程序。
在上述机密信息处理装置中,所述解密单元还从外部装置接收更新程序的加密的哈希值和更新程序的加密的上下文,并且解密接收的加密的哈希值和上下文,以产生哈希值和上下文,所述更新单元包括:哈希值计算单元,用于计算更新程序的哈希值;以及哈希值判断单元,用于判断计算的更新程序的哈希值是否与由所述解密单元产生的更新程序的哈希值相匹配,其中如果哈希值判断单元判断计算的哈希值与由所述解密单元产生的哈希值相匹配,则所述更新单元将由所述解密单元产生的上下文作为更新程序的上下文存储到程序存储单元,并且如果哈希值判断单元判断计算的哈希值与由所述解密单元产生的哈希值不匹配,则从程序存储单元中删除更新程序。
通过上述结构,其中从外部输入的上下文对应于所述哈希值输入,可以简单地确认输入的上下文是否是授权的更新程序的上下文。这使得可以有效防止由未授权的上下文的输入试图对机密信息处理装置的篡改。
在上述机密信息处理装置中,所述程序存储单元包括程序存储子单元和保存子单元,所述程序存储子单元存储所述更新程序,所述保存子单元存储通过对更新程序的上下文与所述更新程序的哈希值进行链接而产生的各多段链接数据,所述更新单元包括:哈希值计算单元,用于计算更新目标程序的哈希值;以及链接数据判断单元,用于判断具有与计算的哈希值相同的哈希值的一段链接数据是否存储在所述保存子单元,其中如果链接数据判断单元判断该段链接数据被存储到程序存储子单元,所述更新单元存储包括在该段链接数据中的更新程序的上下文,并且如果链接数据判断单元判断该段链接数据没有被存储到程序存储子单元中,则所述更新单元从所述程序存储子单元中删除所述更新程序。
通过上述结构,可以基于与所述上下文相关的哈希值,确认从外部输入的更新程序是否是存储在机密信息处理装置中的上下文的更新程序。这使得可以有效防止通过更新程序未授权的输入而未授权的使用上下文。
在上述机密信息处理装置中,所述程序存储单元包括程序存储子单元和保存子单元,所述程序存储子单元存储更新目标程序和所述更新目标程序的上下文,所述保存子单元存储由加密的更新目标程序表示的链值,所述更新程序通过采用加密密钥和所述链值进行加密,所述更新单元包括:接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;以及保存单元,用于在接管判断单元判断所述更新程序应该接管所述上下文时将更新目标程序的上下文保存到保存子单元中,其中所述解密单元还使用存储在保存子单元中的加密密钥和链值解密从外部装置收到的更新程序,并且将所述解密的更新程序输出到所述数据输出子单元,并且所述更新单元从数据输出子单元接收解密的更新程序,并且将所述接收的更新程序和更新目标程序的上下文存储到程序存储子单元中。
通过上述结构,采用对更新目标程序唯一的加密密钥和链值加密要接收更新目标程序的上下文的更新程序,并且通过采用相同的加密密钥和链值在机密信息处理装置中进行解密。通过该结构,未授权的用户不能从外部输入更新程序并且不能解密输入的更新程序,除非该未授权的用户既知道加密密钥又知道链值。因此可以有效防止未授权地接管上下文。
在上述机密信息处理装置中,所述程序存储单元包括存储所述更新目标程序的组并包括存储对应与更新目标程序的更新程序的组,并且所述更新单元通过在包括在程序存储单元中的组之间转换而执行更新处理。
在上述机密信息处理装置中,所述存储更新目标程序的组可以存储所述更新目标程序的上下文,当更新请求时,所述接收单元接收指定要被转换的组的组信息并存储所述更新程序,所述更新单元包括:接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;以及组转换单元,用于在接管判断单元判断所述更新程序应该接管上下文时将包括在程序存储单元中的访问目标组从存储更新目标程序的组转换到存储更新程序的组,其中所述更新单元将所述更新目标程序的上下文存储到等级交换单元交换的组中。
通过上述结构,当更新程序存储在内部时,可以从外部方便的执行程序更新处理。这使得可以不把机密信息带到外部,从外部以安全和可靠的方式执行程序更新处理。
在上述机密信息处理装置中,更新目标程序包括指定存储对应于更新目标程序的更新程序的组的接管组信息并且可以接管更新目标程序的上下文,更新单元包括接管组判断单元,用于判断由接收的组信息指定的组是否与由接管组信息指定的组相匹配,其中如果所述接管组判断单元判断由接收的组信息指定的组与由接管组信息指定的组相匹配,则所述组转换单元将包括在程序存储单元中的访问目标组从存储更新目标程序的组转换到存储更新程序的组。
通过上述结构,可以有效防止通过从外部未授权的访问而转换组。这使得可以有效的防止通过未授权的操作执行更新程序。
在上述机密信息处理装置中,各访问控制级别由三个或多个等级之一表示。
通过上述结构,可以控制所述访问,从而在更新处理期间只有预定的外部装置可以访问所述资源。并且同时,可以限制从外部对机密信息处理装置中的预定资源的访问。这使得可以根据机密级别而灵活控制所述访问。
附图说明
图1示出了本发明的实施方式1中机密信息处理装置100的结构功能方框图;
图2示出了由机密信息处理装置100执行的访问控制处理的过程流程图;
图3示出了变化之前等级对应表的示例;
图4是表示由机密信息处理装置100执行的程序更新处理过程的流程图;
图5示出了改变之后的等级对应表;
图6是表示由机密信息处理装置100执行的上下文接管输入处理过程的流程图;
图7是表示由机密信息处理装置100执行的上下文接管输入处理过程的流程图;
图8是产生加密的第一代哈希值过程的示意图;
图9是产生加密的链接哈希值过程的示意图;
图10是表示由机密信息处理装置100执行的上下文外部输出处理过程的流程图;
图11是表示由机密信息处理装置100执行的上下文外部输入处理过程的流程图;
图12是表示由机密信息处理装置100执行的上下文保存处理过程的流程图;
图13是表示由机密信息处理装置100执行的保存上下文输入处理过程的流程图;
图14是表示由机密信息处理装置150执行的程序更新处理过程的流程图;
图15是表示由机密信息处理装置150执行的程序更新处理过程的流程图;
图16是表示链值产生处理过程的流程图,其中机密信息处理装置150在保存区域1053中存储链值并且更新所存储的链值。
图17是表示链值如何按照图16所示的过程进行更新的示意图;
图18是表示由机密信息处理装置150执行的上下文接管输入处理过程的流程图;
图19是表示由机密信息处理装置150执行的上下文外部输入处理过程的流程图;
图20是表示由机密信息处理装置150执行的保存上下文输入处理过程的流程图;
图21是表示机密信息处理装置200的结构功能方框图;
图22是表示由机密信息处理装置200执行的程序更新处理过程的流程图;
图23是表示由机密信息处理装置200执行的上下文接管输入处理过程的流程图;
图24是表示在程序更新处理执行之前等级对应表的示例;
图25表示计算程序存储区域1051的结构;
图26表示由机密信息处理装置200执行的访问控制处理过程的流程图。
附图标记说明
100,200:机密信息处理装置
101:外部接口
102,112:控制单元
103:内部CPU
104:加密计算单元
105,115:机密信息存储单元
120,121:外部装置
1021:访问控制单元
1022:等级对应表存储单元
1023:上限等级存储单元
1024,1124:程序更新请求寄存器
1041:数据输入单元
1042:计算处理单元
1043:数据输出单元
1051:计算程序存储区域
1052:更新程序存储区域
1053:保存区域
1125:验证单元
1201:CPU
1211:DSP
具体实施方式
下面将参照附图说明实施本发明的最佳实施方式。
<实施方式1>
<结构>
图1示出了本发明实施方式1中的机密信息处理装置100的结构功能方框图。
机密信息处理装置100包括外部接口101、控制单元102、内部CPU 103、加密计算单元104以及机密信息存储单元105。外部装置120和121经由外部接口101连接到机密信息处理装置100。为了方便,提供了两个外部装置连接到机密信息处理装置100的说明。然而,一个外部装置或三个或更多的外部装置可以连接到机密信息处理装置100。
外部接口101从外部装置120和121接收各种类型的数据,例如等级信息、后更新程序和用于后更新程序的上下文,并且将接收的数据输出到控制单元102。
“等级信息”是表示用于确定是否允许访问机密信息处理装置100中各资源的标准的等级的信息。等级信息初步在外部装置120和121和机密信息处理装置100中的各资源中设定。当任何外部装置120和121以及内部CPU 103试图访问机密信息处理装置100中的资源时,其经由图1所示的专用总线向控制单元102输出等级信息。
“等级信息”的定义也适用于下面将要说明的机密信息处理装置150和200。
控制单元102包括访问控制单元1021、上限等级存储单元1023和程序更新请求寄存器1024。
访问控制单元1021包括用于存储等级对应表的等级对应表存储单元1022。访问控制单元1021基于从外部装置120和121以及内部CPU 103输出的各段等级信息而控制对机密信息处理装置100中由外部装置120和121以及内部CPU 103请求的资源的访问。
更具体的,访问控制单元1021参照表示机密信息处理装置100中资源的地址和分配给该资源的等级之间对应的等级对应表来检测分配给访问目标资源的等级,将检测的等级与由输出等级信息指示的等级进行比较,并且如果输出等级等于或者高于所检测的等级,则允许对该访问目标资源的访问,而如果输出等级低于所检测的等级,则拒绝对该访问目标资源的访问。
图3表示等级对应表的示例。在图3中,为了方便,地址由资源名称标识。然而,在实际中,等级对应表包含资源的地址。
上限等级存储单元1023存储等级上限值。
这里,该“等级上限值”表示作为用于判断由外部装置120和121输出的等级信息表示的等级是否高的不合理的标准的阈值。如果由外部装置120和121输出的等级信息表示的等级高于该阈值,则控制单元102拒绝由该外部装置对访问目标的访问。如果由外部装置120和121输出的等级信息表示的等级等于或低于该阈值,则访问控制单元1021对由该外部装置对访问目标的访问执行上述访问控制。
程序更新请求寄存器1024包括有更新请求标记,其指示是否已经从任何外部装置120和121以及内部CPU 103接收到程序更新请求。
控制单元102监视由程序更新请求寄存器1024保持的更新请求标记,并且如果该更新请求标记表示已经接收到程序更新请求,则监控单元102命令内部CPU 103执行更新程序。
当从控制单元102接收到上述指令时,内部CPU 103从下面将要说明的机密信息存储单元105中的更新程序存储区域1052中读取更新程序,并且如下所述执行程序更新处理。
加密计算单元104包括数据输入单元1041、计算处理单元1042和数据输出单元1043。
数据输入单元1041包括用于存储数据的寄存器并接收如程序、程序上下文以及哈希(hash)值的各种类型数据,这些数据从外部装置120和121以及内部CPU 103输出。
计算处理单元1042包括用于存储用来加密或解密数据的密钥数据的密钥数据存储单元,并且采用存储在密钥数据存储单元中的密钥数据对从数据输入单元1041输入的数据进行加密或者解密,而且将加密或解密数据输出到数据输出单元1043。
数据输出单元1043包括用于存储从计算处理单元1042接收的加密或解密数据的寄存器,并且经由内部CPU 103或外部接口101向外部输出所接收的数据。
机密信息存储单元105包括计算程序存储区域1051、更新程序存储区域1052和保存区域1053。
计算程序存储区域1051是用于存储用来完成机密信息处理装置100功能的程序的存储区域,并且用于存储该程序的上下文。
图25示出了计算程序存储区域1051的结构。计算程序存储区域1051包括计算程序存储区域A10511和计算程序存储区域B10515。计算程序存储区域A10511包括计算程序区域10512、上下文保存标记区域10513和计算程序存储标记区域10514。计算程序存储区域B10515包括上下文接管标记区域10516和上下文输入方法标记区域10517。
计算程序区域10512是用于存储用来完成机密信息处理装置100功能的程序的区域,并且用于存储该程序的上下文。上下文保存标记区域10513是用于存储上下文保存标记的区域。计算程序存储标记区域10514是用于存储计算程序存储标记的区域。
这里,“上下文保存标记”是指在下面将要说明的程序更新过程中,表示用于完成预更新机密信息处理装置100功能的程序(下文中称为“预更新程序”)上下文的处理方法的标记。
同时,“计算程序存储标记”是指在下面将要说明的程序更新过程中,表示预更新程序及其上下文是否存储在计算程序区域10512的标记。
上下文接管标记区域10516是用于存储上下文接管标记的区域。上下文输入方法标记区域10517是用于存储上下文输入方法标记的区域。
这里,“上下文接管标记”是指表示一程序(下文中称为“后更新程序”)是否应该接管预更新程序上下文的标记,该程序完成机密信息处理装置100的功能,通过改变部分或全部预更新程序产生,并且在下面将要说明的程序更新处理中代替预更新程序。
这里,“接管”是指后更新程序与预更新程序共享该预更新程序的上下文。
同时,“上下文输入方法标记”是指在下面将要说明的程序更新处理中表示输入后更新程序的上下文的方法的标记。
更新程序存储区域1052是存储用于为存储在计算程序存储区域1051中的程序执行程序更新处理的更新程序的存储区域。
保存区域1053是用于临时存储在计算程序存储区域1051中存储的程序的上下文的存储区域。
外部装置120包括CPU 1201。当外部装置120试图访问机密信息处理装置100时,该外部装置120向外部接口101输出等级信息和访问目标的地址。当请求的访问被允许时,该外部装置120执行与机密信息处理装置100中的访问目标的各种类型数据的发送/接收。
同时,外部装置120从外部获得下面将要说明的加密的第一代哈希值和加密的链接哈希值,并且将获得的值输入到机密信息处理装置100。
这里应该注意,加密的第一代哈希值和加密的链接哈希值在外部环境中产生。
加密的第一代哈希值是通过采用加密密钥对预更新程序的哈希值和后更新程序的哈希值的链接值进行加密而产生。
图8是产生加密的第一代哈希值的过程示意图。
加密的链接哈希值是通过对后面将要说明的多代哈希值和后更新程序的哈希值的链接值进行加密而产生。
更具体的,“加密的链接哈希值”是通过对最近更新的程序的哈希值和基于从用于完成机密信息处理装置100功能的初始程序开始已经被多次更新的各多个程序的哈希值进行计算而得到的哈希值(下文中称为“多代哈希值”)进行链接并且采用加密密钥对该链接的哈希值进行加密而产生加密的哈希值。
更具体的,该多代哈希值在以下步骤中进行计算。
首先,将初始程序(下文中称为“第一代程序”)的哈希值与第一次更新后的程序(下文中称为“第二代程序”)的哈希值进行链接,并且对链接的哈希值执行哈希计算。这提供了第一多代哈希值。之后,将该第一多代哈希值与第二次更新后的程序(下文中称为“第三代程序”)的哈希值进行链接,并且对该链接的哈希值执行哈希计算。这提供了第二多代哈希值。该多代哈希值通过该第二多代哈希值进行更新。这样,每次在更新程序时,通过重复上述过程计算多代哈希值,并且通过最新计算的多代哈希值而更新该多代哈希值。
图9是产生加密的链接哈希值的过程示意图。
外部装置121包括数字信号处理器(DSP)1211。当外部装置121试图访问机密信息处理装置100时,外部装置121向外部接口101输出等级信息和访问目标的地址。当请求的访问被允许时,外部装置121执行与机密信息处理装置100中访问目标的各种类型数据的发送/接收。
<操作>
下面将说明机密信息处理装置100在访问控制处理中的操作。图2示出了访问控制处理的过程流程图。现在将参照图2所示的流程图说明访问控制处理的操作。
控制单元102经由外部接口101接收来自外部装置120或者121的等级信息和访问目标的地址(步骤S201),并且进行比较以判断由等级信息表示的等级是否高于存储在上限等级存储单元1023中的等级上限值(步骤S202)。
如果由等级信息表示的等级高于等级上限值(步骤S202中判断为是),则控制单元102拒绝由外部装置对访问目标的访问(步骤S205)。
如果由等级信息表示的等级不高于等级上限值(步骤S202中判断为否),则控制单元102通过参照存储在访问控制单元1021中的等级对应表,进一步判断由等级信息表示的等级是否等于或高于访问目标资源的等级(步骤S203)。
如果由等级信息表示的等级等于或高于访问目标资源的等级(步骤S203中判断为是),则控制单元102允许对访问目标的访问(步骤S204)。如果由等级信息表示的等级低于访问目标资源的等级(步骤S203中判断为否),则控制单元102执行步骤S205的处理。
这里应该注意,机密信息处理装置100除了步骤S202外,对内部CPU 103也执行上述处理步骤。
这里将说明上述访问控制处理的具体示例,假设向外部装置120分配等级2,向外部装置121分配等级1,将等级2存储在上限等级存储单元1023中,并且在等级对应表中,如图3所示向资源分配等级。在步骤S201中,控制单元102从外部装置120和121接收等级信息和作为访问目标的程序更新请求寄存器1024的地址。在步骤S202中,控制单元102进行比较以判断由等级信息表示的等级是否高于存储在上限等级存储单元1023中的等级上限值。
由于外部装置120和121的等级不高于等级上限值(步骤S202中判断为否),控制单元102执行步骤S203并判断外部装置120的等级(等级“2”)是否等于或高于作为访问目标资源的程序更新请求寄存器1024的等级(等级“2”),并判断外部装置121的等级(等级“1”)是否等于或高于程序更新请求寄存器1024的等级(等级“2”)。由于外部装置120的等级等于程序更新请求寄存器1024的等级(步骤S203中判断为是),控制单元102允许外部装置120对程序更新请求寄存器1024的访问。另一方面,由于外部装置121的等级低于程序更新请求寄存器1024的等级(步骤S203中判断为否),控制单元102拒绝外部装置121对程序更新请求寄存器1024的访问(步骤S205)。
通过这些操作,可以从外部预先检测和拒绝未授权的访问。同时,由于向具有更高保密等级的资源分配了更高等级,在允许从外部对所需资源进行访问的同时,可以限制从外部对具有更高保密等级的资源的访问。通过该结构,当从外部接收到访问机密信息处理装置100中资源的请求时,可以在保护机密方面获得有效的访问控制。
下面将说明由机密信息处理装置100执行的程序更新处理的操作。图4是表示程序更新处理过程的流程图。将参照图4所示的流程图说明该操作。
当经由外部接口101从外部装置120接收到程序更新请求(步骤S401)时,其中该装置在图2所示的访问控制处理中被允许访问程序更新请求寄存器1024,程序更新请求寄存器1024修改更新请求标记以表示接收到了程序更新请求(下文中称为表示“是”)。
当更新请求标记被更新为表示“是”时,根据从控制单元102接收的更新程序执行指令,内部CPU 103激活存储在更新程序存储区域1052中的更新程序(步骤S402)。然后,当在图2所示的访问控制处理中被允许访问该访问控制单元1021时,内部CPU 103改变访问控制单元1021的等级对应表中所示的预定资源的等级(在本示例中为保密计算单元104的数据输入单元1041、计算处理单元1042和数据输出单元1043)(步骤S403)。
图3示出了在步骤S403中改变之前的等级对应表的具体示例。图5示出了在步骤S403中改变之后的等级对应表的具体示例。
接着,当在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103判断存储在计算程序存储区域1051中的计算程序存储标记是否表示“已存储”(步骤S404)。
如果存储在计算程序存储区域1051中的计算程序存储标记表示“已存储”(步骤S404判断为“是”),则内部CPU 103判断存储在计算程序存储区域1051中的上下文接管标记是否表示“接管”(步骤S405)。
如果存储在计算程序存储区域1051中的上下文接管标记表示“接管”(步骤S405判断为“是”),则内部CPU 103执行下面将要说明的上下文接管输入处理(步骤S407)。在该处理完成之后,当在图2所示的访问控制处理中被允许访问该访问控制单元1021时,内部CPU 103将访问控制单元1021的等级对应表中预定资源的等级返回到在步骤S403中改变之前的等级(步骤S416)。
如果存储在计算程序存储区域1051中的计算程序存储标记不表示“已存储”(步骤S404判断为“否”),则内部CPU 103检测由存储在计算程序存储区域1051中的上下文输入方法标记表示的输入方法(步骤S417)。
如果检测到上下文输入方法标记表示外部输入,则内部CPU 103执行下面将要说明的上下文外部输入处理(步骤S414),并且在完成该步骤之后,执行步骤S416的处理。
如果检测到上下文输入方法标记表示保存输入,则内部CPU 103执行下面将要说明的保存上下文输入处理(步骤S415),并且在完成该步骤之后,执行步骤S416的处理。
如果检测到上下文输入方法标记表示没有输入,则内部CPU 103转到下面将要说明的步骤S411。
如果上下文接管标记不表示“接管”(步骤S405判断为“否”),则内部CPU 103检测处理预更新程序的上下文的方法,该方法由存储在计算程序存储区域1051中的上下文保存标记表示(步骤S406)。
如果检测到上下文保存标记表示外部输出,则内部CPU 103执行下面将要说明的上下文外部输出处理(步骤S408),并且完成该步骤之后,执行步骤S414的处理。
如果检测到上下文保存标记表示保存,则内部CPU 103执行下面将要说明的上下文保存处理(步骤S409),并且完成该步骤之后,执行步骤S415的处理。
如果检测到上下文保存标记表示删除,则内部CPU 103删除存储在计算程序存储区域1051中的预更新程序的上下文(步骤S410)。
当加密计算单元104接收到从外部装置120输入到数据输入单元1041的加密的后更新程序,该外部装置在图2所示的访问控制处理中被允许访问数据输入单元1041(步骤S411),则计算处理单元1042解密该加密的后更新程序(步骤S412),并且将该解密的后更新程序输出到数据输出单元1043。
当在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收解密的后更新程序,并且当在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将后更新程序存储到计算程序存储区域1051(步骤S413),并且执行步骤S416的处理。
下面将说明机密信息处理装置100在上下文接管输入处理中的操作。图6和图7是表示上下文接管输入处理的过程流程图。现在,将参照图6所示的流程图说明上下文接管输入处理的操作。
当在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU103将预更新程序的上下文保存到保存区域1053(步骤S601),该预更新程序的上下文被保存在计算程序存储区域1051中,并且当在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103检测由存储在计算程序存储区域1051中的预更新程序包含的从属确认方法标记表示的从属确认方法(步骤S602)。
如果检测到从属确认方法标记表示第一代哈希值的确认方法,则加密计算单元104经由外部接口101接收从外部装置(在本示例中为外部装置120)输入到数据输入单元1041的加密的第一代哈希值(步骤S603),其中该外部装置在图2所示的访问控制处理中被允许访问数据输入单元1041。计算处理单元1042解密该接收的加密的第一代哈希值(步骤S604),计算预更新和后更新程序的哈希值(步骤S605),并将计算的哈希值输出到数据输出单元1043。
然后,当在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103对存储在计算程序存储区域1051中的预更新程序执行哈希计算处理(步骤S606)。然后,当在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收该计算的预更新程序的哈希值,并判断在步骤S605和步骤S606中计算的预更新程序的哈希值是否互相匹配(步骤S607)。
如果步骤S607中判断两个哈希值互相匹配(步骤S607中判断为是),则内部CPU 103通知外部装置120允许经由外部接口101输入后更新程序(步骤S608)。
接着,加密计算单元104经由外部接口101从在图2所示的访问控制处理中已经被允许访问数据输入单元1041的外部装置120接收输入到数据输入单元1041的加密的后更新程序(步骤S609)。计算处理单元1042解密该接收的加密的后更新程序,并将该解密的程序输出到数据输出单元1043。
然后,当在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收该解密的后更新程序,并且当在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将该接收的后更新程序存储到计算程序存储区域1051(步骤S610),为后更新程序执行哈希计算处理(步骤S611),并判断在步骤S605和步骤S611中计算的后更新程序的哈希值是否互相匹配(步骤S612)。
如果在判断步骤S612中判断两个哈希值互相匹配(步骤S612中判断为是),并且当内部CPU 103在图2所示的访问控制处理中被允许访问该保存区域1053时,内部CPU 103读取在步骤S601中保存在保存区域1053中的预更新程序的上下文,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将预更新程序的上下文存储到计算程序存储区域1051(步骤S626),并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103从保存区域1053删除预更新程序的上下文(步骤S627)。
如果在判断步骤S612中判断两个哈希值不互相匹配(步骤S612中判断为否),并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103从计算程序存储区域1051删除后更新程序(步骤S622),并且执行步骤S627的处理。
如果在判断步骤S607中判断两个哈希值不互相匹配(步骤S607中判断为否),则内部CPU 103通知外部装置120拒绝经由外部接口101输入后更新程序(步骤S623),并执行步骤S627的处理。
如果在步骤S602中检测从属确认方法标记表示多代哈希值的确认方法,该多代哈希值通过将最新更新的程序到初始程序的哈希值进行链接而产生,该加密计算单元104经由外部接口101接收从外部装置120输入到数据输入单元1041的加密的链接哈希值(步骤S613),其中该外部装置在图2所示的访问控制处理中被允许访问数据输入单元1041。该计算处理单元1042解密接收的加密的链接哈希值(步骤S614),计算多代哈希值和后更新程序的哈希值(步骤S615),并且将计算的哈希值输出到数据输出单元1043。
接着,当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收该计算的多代哈希值和后更新程序的哈希值,并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103读取已经被预先存储在保存区域1053中的多代哈希值,并判断该计算的多代哈希值是否与预先存储在保存区域中的多代哈希值匹配(步骤S616)。
如果判断计算的多代哈希值与预先存储在保存区域中的多代哈希值匹配(步骤S616中判断为是),则内部CPU通知外部装置120允许经由外部接口101输入后更新程序(步骤S617)。
然后,加密计算单元104接收从外部装置120输入到数据输入单元1041的加密的后更新程序(步骤S618),其中该装置在图2所示的访问控制处理中被允许访问数据输入单元1041。计算处理单元1042解密该加密的后更新程序,并将该解密的后更新程序输出到数据输出单元1043。
接着,当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收该解密的后更新程序,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将该接收的后更新程序存储到该计算程序存储区域1051(步骤S619),为该后更新程序执行哈希计算处理(步骤S620),并且判断在步骤S615和步骤S620中的计算的后更新程序的哈希值是否互相匹配(步骤S621)。
如果在步骤S621中判断哈希值互相匹配(步骤S621判断为是),并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103将存储在保存区域1053中的多代哈希值与在步骤S620中计算的后更新程序的哈希值进行链接,并采用该链接的结果执行哈希计算以获得哈希值(步骤S624),用在步骤S624中获得的哈希值代替存储在保存区域1053中的多代哈希值(步骤S625),并转到步骤S626。
如果在步骤S615中判断哈希值不互相匹配(步骤S616判断为否),则内部CPU 103转到步骤S623。
如果在步骤S621中判断哈希值不互相匹配(步骤S621判断为否),则内部CPU 103转到步骤S622。
下面将说明由机密信息处理装置100执行上下文外部输出处理。
图10是表示上下文外部输出处理的过程流程图。现在将参照图10的流程图说明上下文外部输出处理过程。
当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103为存储在计算程序存储区域1051中的预更新程序执行哈希计算处理(步骤S901),并且当内部CPU 103在图2所示的访问控制处理中被允许访问数据输入单元1041时,内部CPU 103将该计算的哈希值与存储在计算程序存储区域1051中的预更新程序的上下文进行链接(步骤S902),并且将该结果输出到加密计算单元104。
加密计算单元104的计算处理单元1042加密该链接的哈希值和上下文(步骤S903),并且将该结果输出到数据输出单元1043。
当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收该加密的链接哈希值和上下文,并且经由外部接口101将该加密的哈希值和上下文输出到外部装置120(步骤S904)。
接着将说明由机密信息处理装置100执行的上下文外部输入处理。图11是表示上下文外部输入处理的过程流程图。现在,将参照图11的流程图说明上下文外部输入处理过程。
当从外部装置120将加密的后更新程序输入到加密计算单元104的数据输入单元1041(步骤S1001)时,其中该装置在图2所示的访问控制处理中被允许访问数据输入单元1041,计算处理单元1042解密该加密的后更新程序(步骤S1002),并且将该解密的后更新程序输出到数据输出单元1043。
当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收该解密的后更新程序,并且将其存储到计算程序存储区域1051(步骤S1003)。
此外,当将加密的链接哈希值和后更新程序的上下文从外部装置120输入到加密计算单元104的数据输入单元1041(步骤S1004)时,其中该装置在图2所示的访问控制处理中被允许访问数据输入单元1041,计算处理单元1042解密该加密的链接数据(步骤S1005),并且将该解密的链接数据输出到数据输出单元1043。
然后,当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103为存储在计算程序存储区域1051中的后更新程序执行哈希计算处理(步骤S1006),然后,当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,该内部CPU 103从数据输出单元1043接收解密的后更新程序的哈希值,并且判断该计算的哈希值是否与该解密的后更新程序的哈希值匹配(步骤S1007)。
如果在步骤S1007中判断两个哈希值互相匹配(步骤S1007中判断为是),则内部CPU 103从数据输出单元1043接收解密的后更新程序的上下文,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将该解密的后更新程序的上下文存储到计算程序存储区域1051(步骤S1008)中。如果在步骤S1007中判断两个哈希值不互相匹配(步骤S1007中判断为否),并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103从计算程序存储区域1051中删除该后更新程序(步骤S1009)。
接着将说明由机密信息处理装置100执行的上下文保存处理。图12是表示上下文保存处理过程的流程图。现在将参照图12的流程图说明上下文保存处理过程。
内部CPU 103为存储在计算程序存储区域1051中的预更新程序执行哈希计算处理(步骤S1101),将该计算的哈希值与存储在计算程序存储区域1051中的预更新程序的上下文进行链接(步骤S1102),并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103将该链接的哈希值和上下文存储到保存区域1053。
下面将说明由机密信息处理装置100执行的保存上下文输入处理。图13是表示保存上下文输入处理过程的流程图。现在将参照图13的流程图说明保存上下文输入处理过程。
加密计算单元104接收从外部装置120输入到数据输入单元1041的加密的后更新程序(步骤S1201),该装置在图2所示的访问控制处理中被允许访问数据输入单元1041,然后该计算处理单元1042解密该加密的后更新程序,并且将该解密的后更新程序输出到数据输出单元1043。
当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收解密的后更新程序,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将该接收的后更新程序存储到计算程序存储区域1051(步骤S1202),为该后更新程序执行哈希计算处理(步骤S1203),并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103在保存区域1053中为具有与计算的哈希值相等的哈希值的上下文搜索存储在保存区域1053中的哈希值和上下文的链接数据(步骤S1204),并且判断该上下文是否被检测到(步骤S1205)。
如果在步骤S1205中判断该上下文被检测到(步骤S1205中判断为是),则内部CPU 103读取链接的哈希值的上下文和来自保存区域1053的上下文,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将该读取的上下文存储到计算程序存储区域1051(步骤S1206)。如果在步骤S1205中判断没有检测到该上下文(步骤S1205中判断为否),并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103从计算程序存储区域1051删除后更新程序(步骤S1207)。
<实施方式2>
在实施方式1中,基于哈希值确定从外部输入的上下文或者保存在保存区域1053中的上下文在上下文接管输入处理、上下文外部输入处理和保存上下文输入处理中是否可应用于后更新程序。在实施方式2中,将说明基于链值进行确定。
下面的说明集中在与实施方式1不同的机密信息处理装置100的功能和操作。
<结构>
实施方式2中的机密信息处理装置150与实施方式1中的机密信息处理装置100具有相同的结构,除了在保存区域1053中存储预更新程序的链值。因此,省略了对机密信息处理装置150结构的说明。
这里应该注意,“链值”表示由加密纯文本数据获得的加密文本数据表示的值,并且在纯文本数据下次被加密时使用。在本示例中,每次更新用于获得机密信息处理装置150的功能的程序时,链值被更新为由加密的更新程序表示的值。
在下面的说明中,用于获得机密信息处理装置150功能的初始程序被称为第一代程序,在第一次更新之后的程序被称为第二代程序,并且在第二次更新之后的程序被称为第三代程序,等等。
<操作>
图16是表示链值产生处理过程的流程图,其中机密信息处理装置150在保存区域1053中存储链值并更新该存储的链值。
将参照图16说明链值产生处理。
加密计算单元104从内部CPU 103获得存储在保存区域1053中的链值的初始值以及存储在计算程序存储区域1051中的第一代程序,并且使用获得的初始值和加密密钥对该第一代程序进行加密(步骤S1401)。
当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收加密的第一代程序,并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103使用由加密的第一代程序表示的值(作为链值)改写存储在保存区域1053中的初始值(步骤S1402)。
然后,加密计算单元104从内部CPU 103获得存储在计算程序存储区域1051中的第二代程序以及存储在保存区域1053中的更新的链值,并且使用获得的链值和加密密钥对该第二代程序进行加密(步骤S1403)。
当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收加密的第二代程序,并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103使用由加密的第二代程序表示的值(作为链值)改写存储在保存区域1053中的链值(步骤S1404)。为各第三代程序及其后的程序重复步骤S1403和S1404(步骤S1405)。
这里应该注意,上述链值产生处理可以通过外部装置(除了外部装置120和121)而不是通过机密信息处理装置150被预先执行,并且在该处理中产生的链值可以存储在保存区域1053中。
图17是表示链值如何按照上述过程更新的示意图。
图14和15是表示由机密信息处理装置150执行的程序更新处理过程的流程图,其中与实施方式1的图4所示的程序更新处理中的步骤相同的步骤具有相同的步骤编号。
下面将说明与机密信息处理装置100执行不同的步骤S1312、S1313,上下文接管输入处理(步骤S1307)、上下文外部输入处理(步骤S1314)和保存上下文输入处理(步骤S1315)。
首先说明步骤S1312和S1313。
在图15中的步骤S410之后,或者如果在步骤S417中检测到上下文输入方法标记表示“删除”,并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103将存储在保存区域1053中的链值初始化到初始值(步骤S1312)。
在加密计算单元104中,并且在步骤S411之后,计算处理单元1042使用存储在保存区域1053中的初始值和加密密钥解密接收的加密的后更新程序(步骤S1313)。
下面将说明由机密信息处理装置150执行的上下文接管输入处理。图18是表示上下文接管输入处理过程的流程图。
当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103将在计算程序存储区域1051中存储的预更新程序的上下文存储,即保存到保存区域1053中(步骤S1601)。
接着,加密计算单元104接收加密的后更新程序,该后更新程序通过使用加密密钥和由加密的预更新程序表示的链值进行加密,并经由外部接口101从在图2所示的访问控制处理中被允许访问数据输入单元1041的外部装置120被输入到数据输入单元1041(步骤S1602)。然后,计算处理单元1042使用加密密钥和由存储在保存区域1053中的加密的预更新程序表示的链值解密该接收的加密的后更新程序(步骤S1603),并且将该解密的后更新程序输出到数据输出单元1043。
当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103从数据输出单元1043接收该解密的后更新程序,并且将其存储到计算程序存储区域1051(步骤S1604),并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103从保存区域1053读取预更新程序的上下文,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将该读取的上下文存储到该计算程序存储区域1051(步骤S1605)。当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103使用由加密的后更新程序表示的链值改写由存储在保存区域1053中的预更新程序表示的链值(步骤S1606)。
下面将说明由机密信息处理装置150执行的上下文外部输入处理。
图19是表示上下文外部输入处理过程的流程图。现在将参照图19所示的流程图说明上下文外部输入处理的操作。
当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103将由存储在保存区域1053中的加密的预更新程序表示的链值初始化到初始值(步骤S1701)。
接着,加密计算单元104接收加密的后更新程序,该后更新程序通过使用加密密钥和由加密的预更新程序表示的链值进行加密,并经由外部接口101从在图2所示的访问控制处理中被允许访问数据输入单元1041的外部装置120被输入到数据输入单元1041(步骤S1702)。然后,计算处理单元1042使用加密密钥和存储在保存区域1053中的初始值解密该接收的加密的后更新程序(步骤S1703),并且将该解密的后更新程序输出到数据输出单元1043。
当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收该解密的后更新程序,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,将该解密的后更新程序存储到计算程序存储区域1051(步骤S1704)。
接着,加密计算单元104接收哈希值和加密的后更新程序的上下文的链接数据,其通过使用加密密钥和由加密的预更新程序表示的链值进行加密,并且经由外部接口101从在图2所示的访问控制处理中被允许访问数据输入单元1041的外部装置120被输入到数据输入单元1041(步骤S1705)。然后,计算处理单元1042使用加密密钥和存储在保存区域1053中的初始值解密接收的哈希值和后更新程序的上下文的链接数据(步骤S1706),并且将该解密的后更新程序输出到数据输出单元1043。
当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103为存储在计算程序存储区域1051中的后更新程序执行哈希计算(步骤S1707),并且当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043时,内部CPU 103从数据输出单元1043接收解密的后更新程序的哈希值,并判断计算的哈希值与解密的后更新程序的哈希值是否互相匹配(步骤S1708)。
如果在步骤S1708中判断两个哈希值互相匹配(步骤S1708中判断为是),则内部CPU 103从数据输出单元1043接收解密的后更新程序的哈希值,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将后更新程序的上下文存储到计算程序存储区域1051(步骤S1709)。如果在步骤S1708中判断两个哈希值不互相匹配(步骤S1708中判断为否),则当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103从计算程序存储区域1051删除后更新程序(步骤S1710)。
下面将说明由机密信息处理装置150执行保存上下文输入处理。
图20是表示保存上下文输入处理过程的流程图。现在将参照图20所示的流程图说明保存上下文输入处理的操作。
当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103将由存储在保存区域1053中的加密的预更新程序表示的链值初始化到初始值(步骤S1801)。
接着,加密计算单元104接收加密的后更新程序,该后更新程序通过使用加密密钥和由加密的预更新程序表示的链值进行加密,并经由外部接口101从在图2所示的访问控制处理中被允许访问数据输入单元1041的外部装置120被输入到数据输入单元1041(步骤S1802)。然后加密计算单元104从内部CPU 103获得存储在保存区域1053中的初始值,并且计算处理单元1042使用获得的初始值和加密密钥解密该接收的加密的后更新程序(步骤S1803),并且将该解密的后更新程序输出到数据输出单元1043。
当内部CPU 103在图2所示的访问控制处理中被允许访问数据输出单元1043使,内部CPU 103从数据输出单元1043接收该解密的后更新程序,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051使,内部CPU 103将该后更新程序存储到计算程序存储区域1051中并为后更新程序执行哈希计算处理(步骤S1804),并且当内部CPU 103在图2所示的访问控制处理中被允许访问保存区域1053使,内部CPU 103为具有与计算的哈希值相等的哈希值的上下文搜索哈希值的链接数据和存储在保存区域1053中的上下文(步骤S1805),并且判断该上下文是否被检测到(步骤S1806)。
如果在步骤S1806中判断该上下文被检测到(步骤S1806中判断为是),则内部CPU 103读取链接的哈希值的上下文和来自保存区域1053的上下文,并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103将该读取的上下文存储到计算程序存储区域1051(步骤S1807)。如果在步骤S1806中判断没有检测到该上下文(步骤S1806中判断为否),并且当内部CPU 103在图2所示的访问控制处理中被允许访问计算程序存储区域1051时,内部CPU 103从计算程序存储区域1051删除后更新程序(步骤S1808)。
<实施方式3>
在实施方式1和2中,预更新程序通过从外部向机密信息处理装置(机密信息处理装置100或150)输入后更新程序而进行更新。在实施方式3中,预更新程序和后更新程序在机密信息处理装置的存储单元中存储为不同的组,并且通过从外部在组间切换而执行程序更新处理。
以下说明集中在与实施方式1的不同点。
<结构>
图21是表示实施方式3中机密信息处理装置200的结构功能方框图。在图21中,也包括在实施方式1的机密信息处理装置100中的组成元件被分配相同的附图标记。如图21所示,机密信息处理装置200在控制单元112和机密信息存储单元115的结构中与机密信息处理装置100不同。
由于控制单元112包括验证单元1125并且在程序更新请求寄存器1124的功能方面存在不同,控制单元112不同于实施方式1的机密信息处理装置100的控制单元102。
一旦从外部装置120经由外部接口101接收到验证请求,验证单元1125执行验证处理,并且经由外部接口101向外部装置120通知验证结果。
程序更新请求寄存器1124从外部装置120接收组信息,其真实性已经由验证单元1125确认,并且存储该接收到的组信息,其中组信息指明在机密信息存储单元115的计算程序存储区域1151中提供的组,并且在其中存储有后更新程序。
机密信息存储单元115在计算程序存储区域1151的功能上不同于实施方式1中机密信息处理装置100的机密信息存储单元105。计算程序存储区域1151被划分为多个组,其中在各个组中存储有预更新程序或后更新程序。计算程序存储区域1151的结构与图25所示的结构相同。
这里应该注意,可以提供多个后更新程序,而不限制于一个后更新程序。
<操作>
如图2所示,在实施方式1的访问控制处理中,如果由等级信息表示的等级高于等级上限值(步骤S202中判断为是),则控制单元102拒绝由外部装置对访问目标的访问(步骤S205)。在实施方式3的访问控制处理中,如果由等级信息表示的等级高于等级上限值(步骤S202中判断为是),则机密信息处理装置200的控制单元112将由等级信息表示的等级作为上限值,并执行步骤S203的处理。
图26是表示由机密信息处理装置200执行的访问控制处理过程的流程图。在图26中,与图2所示步骤相同的步骤具有相同的步骤标记。图26所示的访问控制处理不同于图2所示的部分在于其包括步骤S2601,在该步骤中控制单元112将由等级信息表示的等级作为上限值。
下面将说明由机密信息处理装置执行的程序更新处理。
图22是表示程序更新处理的过程流程图。现在将参照图22所示的流程图说明程序更新处理中的操作。
一旦从外部装置120经由外部接口101接收到验证请求,控制单元112的验证单元1125执行验证处理,其中该外部装置120已经在图26所示的访问控制处理中被允许访问验证单元1125,并且判断该外部装置120是否被验证(步骤S2002)。
如果在步骤S2002中判断外部装置120被验证(步骤S2002中判断为是),则程序更新请求寄存器1124接收从外部装置120经由外部接口101输入的等组信息(步骤S2003),该装置已经在图26所示的访问控制处理中被允许访问程序更新请求寄存器1124,并且存储该组信息。
在将组信息存储到程序更新请求寄存器1124中之后,在图26所示的访问控制处理中被允许访问更新程序存储区域1052的内部CPU根据来自控制单元112的指令激活存储在更新程序存储区域1052中的更新程序,已执行该更新程序(步骤S2004)。当内部CPU 103在图26所示的访问控制处理中被允许访问该访问控制单元1021时,内部CPU 103改变预定资源的等级(在本示例中为程序更新请求寄存器1124的等级)(步骤S2005),并且当内部CPU 103在图26所示的访问控制处理中被允许访问计算程序存储区域1151时,内部CPU 103判断存储在其中存储有预更新程序的组中的上下文接管标记是否表示“接管”。
如果在步骤S2006中判断上下文接管标记表示示“接管”(步骤S2006中判断为是),则内部CPU 103执行上下文接管输入处理(步骤S2007)。在该处理完成之后,并且当内部CPU 103在图26所示的访问控制处理中被允许访问该访问控制单元1021时,内部CPU 103将预定资源的等级返回到改变之前并且存储在访问控制单元1021中的等级(步骤S2012)。
如果在步骤S2006中判断上下文接管标记不表示“接管”(步骤S2006中判断为否),则内部CPU103判断上下文保存标记表示什么(步骤S2008),其表示如何处理预更新程序的上下文。
如果在步骤S2008中判断上下文保存标记表示“保存”,则内部CPU 103将预更新程序的上下文保存到组中(步骤S2009),将访问目标组返回到由存储在程序更新请求寄存器1124中的组信息指定的组(步骤S2013),恢复存储在新访问目标组中的后更新程序的上下文(步骤S2014),并且执行步骤S2012的处理。
如果在步骤S2008中判断上下文保存标记表示“删除”,则内部CPU 103删除预更新程序的上下文(步骤S2010),并且执行步骤S2011的处理。
如果在步骤S2002中判断外部装置120没有被验证(步骤S2002中判断为否),则内部CPU 103结束程序更新处理。
下面将说明由机密信息处理装置200执行的上下文接管输入处理。图23是表示上下文接管输入处理过程的流程图。现在将参照图23所示的流程图说明上下文接管输入处理中的操作。
当内部CPU 103在图26所示的访问控制处理中被允许访问程序更新请求寄存器1124时,内部CPU 103判断由存储在程序更新请求寄存器1124中的组信息指定的组是否与包含在预更新程序中的接管组信息表示的任何组匹配(步骤S2101)。
这里应该注意,“接管组信息”是表示一个或多个组的信息,其中各个组中存储有可以接管预更新程序上下文的预更新程序。
如果在步骤S2101中判断由存储在程序更新请求寄存器1124中的组信息指定的组与由包含在预更新程序中的接管组信息表示的任何组匹配,当内部CPU 103在图26所示的访问控制处理中被允许访问计算程序存储区域1151时,内部CPU 103从计算程序存储区域1151中的组中读取预更新程序的上下文,并且当内部CPU 103在图26所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103将该读取的上下文保存到保存区域1053中(步骤S2102),将访问目标组转换到由存储在程序更新请求寄存器1124中的组信息指定的组(步骤S2103),从保存区域1053读取预更新程序的上下文,并且当内部CPU 103在图26所示的访问控制处理中被允许访问计算程序存储区域1151时,内部CPU 103将该读取的上下文存储到新访问目标组中(步骤S2104),并且当内部CPU 103在图26所示的访问控制处理中被允许访问保存区域1053时,内部CPU 103删除已经保存在保存区域1053中的预更新程序的上下文(步骤S2105)。
<补充说明>
到此为止,已经通过其实施方式说明了本发明的机密信息处理装置100、150和200。然而,本发明不局限于这些实施方式,而是可以以各种方式进行修改,例如,如下所述。
(1)在上述实施方式1-3中,内部CPU 103可以访问更新程序存储区域1052,无论在程序更新处理的执行之前或者之后。然而,通过在程序更新处理执行之前或者之后改变设置在内部CPU 103中的等级,可以执行一种控制从而内部CPU 103只有在程序更新处理的执行期间可以访问更新程序存储区域1052。
更具体的,在程序更新处理的执行之前如图24所示设置等级对应表,其中内部CPU 103的等级被设置为2,外部装置120的等级被设置为2,外部装置121的等级被设置为1,并且存储在上限等级存储单元1023中的等级被设置为2。然后,当从外部装置120向程序更新请求寄存器1024或向程序更新请求寄存器1124发送更新请求时,控制单元102或控制单元112将内部CPU103的等级改变为3。通过该结构,可以实现上述控制。
通过上述结构,可以当程序更新处理没有执行时限制对更新程序存储区域1052的访问。这就加强了关于程序更新处理的保密性。
同时,在上述示例中,外部装置120可以直接访问计算程序存储区域1051或计算程序存储区域1151,其使得可以直接将后更新程序存储到计算程序存储区域1051或计算程序存储区域1151,而不使用内部CPU 103。这减少了机密信息处理装置在执行程序更新处理中的负担。
(2)在上述实施方式1-3中,由等级信息表示了三级等级。然而,不局限于三级,可以表示四级或更多级。
(3)在上述实施方式1-3中,经由专用总线输入或输出等级信息。然而,可以经由数据总线输入或输出等级信息。
(4)在上述实施方式1-3中,机密信息处理装置100、150和200可以与外部装置120和121一起在一个LSI中实现。同时,可以在不同LSI中实现这些装置的每一个。
(5)在上述实施方式1-3中,控制单元102或112的访问控制单元1021基于等级对整个装置执行访问控制。然而,可以为加密计算单元104、机密信息存储单元105和机密信息存储单元115各自提供独立的访问控制单元,其基于等级执行访问控制。
(6)在上述实施方式1-3中,在外部装置120和121中设置的等级可以固定,也可以改变。
(7)在上述实施方式1-3中,上下文被保存到各组。然而,可以对应于保存区域1053为保存区域1053提供上下文存储区域,并且该上下文可以被保存到保存区域1053。
工业实用性
本发明可以作为机密控制技术对实现机密信息处理装置的功能的程序进行更新,在该装置中没有信息泄漏。
Claims (26)
1、一种机密信息处理装置,其用于控制从外部装置对其资源的访问,该机密信息处理装置包括:
级别存储单元,用于存储分配给所述资源的访问控制级别,该访问控制级别在判断是否允许从任何所述外部装置对任意所述资源的访问中用作标准;
程序存储单元,用于存储更新目标程序;
接收单元,用于从外部装置之一接收更新所述更新目标程序的请求;
更新单元,用于在接收单元接收到所述请求时执行更新处理以更新所述更新目标程序;
访问控制单元,用于根据对应于所述资源的访问控制级别确定是否允许从所述外部装置对所述资源的访问;以及
级别改变单元,用于在更新处理期间将资源的访问控制级别从表示允许来自外部装置的访问的级别改变到表示不允许来自外部装置的访问的级别,其中,
所述资源在更新处理期间将被所述更新单元访问,
各访问控制级别由等级表示,
所述机密信息处理装置还包括:
级别接收单元,用于从外部装置接收分配给该外部装置的访问控制级别,
如果由接收的访问控制级别表示的等级等于或者高于由资源的访问控制级别表示的等级,则所述访问控制单元允许所述外部装置访问所述资源,并且
如果由接收的访问控制级别表示的等级低于由资源的访问控制级别表示的等级,则所述访问控制单元不允许所述外部装置访问所述资源。
2、根据权利要求1所述的机密信息处理装置,其特征在于,所述级别改变单元在所述更新处理之后将在更新处理期间被改变的访问控制级别返回到所述改变之前的访问控制级别。
3、根据权利要求1所述的机密信息处理装置,其特征在于,所述接收单元是所述资源之一,并且只有在所述访问控制单元允许所述外部装置访问所述接收单元时才接收所述更新请求。
4、根据权利要求1所述的机密信息处理装置,其特征在于,还包括:
上限值存储单元,用于存储所示等级的上限值,并且
如果由接收的外部装置的访问控制级别表示的等级高于所述上限值,则所述访问控制单元不允许所述外部装置访问任何所述资源。
5、根据权利要求1所述的机密信息处理装置,其特征在于,还包括:
验证单元,用于执行对所述外部装置的验证,并且
如果所述验证单元通过所述验证不确认所述外部装置的真实性,则所述访问控制单元不允许所述外部装置访问任何所述资源。
6、根据权利要求1所述的机密信息处理装置,其特征在于,还包括:
解密单元,用于从外部装置接收用于所述更新目标程序的加密过的更新程序,并且解密所接收的加密过的更新程序以产生更新程序,
所述解密单元包括:
数据输出子单元,其为可以由所述级别改变单元改变的所述资源之一,并且用于输出由解密单元产生的更新程序,并且
所述更新单元通过访问数据输出子单元而执行所述更新处理以接收所述更新程序,并且将所接收的更新程序存储到程序存储单元中。
7、根据权利要求6所述的机密信息处理装置,其特征在于,
所述程序存储单元包括程序存储子单元和保存子单元,
所述程序存储子单元存储所述更新目标程序和所述更新目标程序的上下文,
所述更新单元包括:
接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;
保存单元,用于在所述接管判断单元判断所述更新程序应该接管所述上下文时将所述更新目标程序的上下文保存到保存子单元中;以及
哈希值计算单元,用于计算所述更新目标程序的哈希值,其中
所述解密单元还接收通过加密更新目标程序的哈希值而产生的加密的哈希值,解密所接收的加密的哈希值,并且将通过解密所加密的哈希值产生的哈希值输出到数据输出子单元,并且
所述更新单元从数据输出子单元接收由解密单元产生的更新目标程序的所述哈希值,并且只有在接收的哈希值与计算的哈希值相匹配时将所述更新程序和更新目标程序的上下文存储到所述程序存储子单元中。
8、根据权利要求7所述的机密信息处理装置,其特征在于,
所述解密单元还从外部装置接收通过对更新程序的哈希值进行加密而产生的加密的哈希值,解密所接收的加密的哈希值,并且将通过解密所述加密的哈希值产生的哈希值输出到数据输出子单元,
所述哈希值计算单元还在接收的更新目标程序的哈希值与计算的更新目标程序的哈希值相匹配时计算该更新程序的哈希值,并且
所述更新单元从所述数据输出子单元接收由所述解密单元产生的更新程序的所述哈希值,并且只有当接收的更新程序的哈希值与计算的更新程序的哈希值相匹配时将所述更新程序和更新目标程序的上下文存储到更新程序子单元中。
9、根据权利要求7所述的机密信息处理装置,其特征在于,
如果接收的更新目标程序的哈希值与计算的更新目标程序的哈希值不匹配,则所述更新单元还从所述保存子单元删除所述更新目标程序的上下文。
10、根据权利要求9所述的机密信息处理装置,其特征在于,
如果接收的更新程序的哈希值与计算的更新程序的哈希值不匹配,则所述更新单元还从所述程序存储单元中删除所述更新程序。
11、根据权利要求6所述的机密信息处理装置,其特征在于,
所述程序存储单元包括程序存储子单元和保存子单元,
所述程序存储子单元存储所述更新目标程序和该更新目标程序的上下文,
所述保存子单元存储基于各多个已经从初始程序更新到更新目标程序的更新程序的哈希值计算的多代哈希值,
所述更新单元包括:
接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;以及
保存单元,用于在所述接收判断单元判断所述更新程序应该接管所述上下文时将所述更新目标程序的上下文保存到所述保存子单元中,其中
所述解密单元还从外部装置接收通过加密多代哈希值产生的加密的哈希值,解密接收的加密的哈希值,并且将通过解密所述加密的哈希值而产生的多代哈希值输出到所述数据输出子单元,并且
所述更新单元从所述数据输出子单元接收通过所述解密单元产生的多代哈希值,并且只有在所述接收的多代哈希值与存储在保存子单元中的多代哈希值相匹配时将所述更新程序和更新目标程序的上下文存储到程序存储子单元中。
12、根据权利要求11所述的机密信息处理装置,其特征在于,
所述解密单元还接收通过加密更新程序的哈希值而产生的加密的哈希值,解密所接收的加密的哈希值,并且将通过解密所述加密的哈希值而产生的哈希值输出到数据输出子单元,并且
如果接收的多代哈希值与存储在保存子单元中的多代哈希值相匹配,则所述更新单元还通过对更新程序执行哈希计算而计算该更新程序的哈希值,从数据输出子单元接收通过解密单元产生的更新程序的哈希值,并且只有在接收的更新程序的哈希值与计算的更新程序的哈希值相匹配时将所述更新程序和更新目标程序的上下文存储到程序存储子单元中。
13、根据权利要求12所述的机密信息处理装置,其特征在于,
所述更新单元还将存储在保存子单元中的多代哈希值与计算的更新程序的哈希值进行链接以产生链接值,通过对链接值执行哈希计算而计算多代哈希值,并且用计算的多代哈希值替换存储在保存子单元中的多代哈希值。
14、根据权利要求11所述的机密信息处理装置,其特征在于,
如果接收的多代哈希值与存储在保存子单元中的多代哈希值不匹配,则所述更新单元还从保存子单元删除更新目标程序的上下文。
15、根据权利要求14所述的机密信息处理装置,其特征在于,
如果接收的更新程序的哈希值与计算的更新程序的哈希值不匹配,则所述更新单元还从程序存储单元删除更新程序。
16、根据权利要求6所述的机密信息处理装置,其特征在于,
所述程序存储单元还存储所述更新目标程序的上下文,
所述更新单元包括:
接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;
输出判断单元,用于在所述接管判断单元判断更新程序不应该接管所述上下文时判断是否输出所述上下文;以及
哈希值计算单元,用于在所述输出判断单元判断输出所述上下文时计算所述更新目标程序的哈希值,
所述保密信息处理装置还包括:
加密单元,用于对所述计算的哈希值和所述上下文进行加密,其中,
所述更新单元将所述加密的哈希值与加密的上下文进行链接以产生链接的加密的哈希值和上下文并将该链接的加密的哈希值和上下文输出到机密信息处理装置外部。
17、根据权利要求6所述的机密信息处理装置,其特征在于,
所述程序存储单元包括程序存储子单元和保存子单元,
所述程序存储子单元存储所述更新目标程序和该更新目标程序的上下文,
所述更新单元包括:
接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;
保存判断单元,用于在接管判断单元判断所述更新程序不应该接管所述上下文时判断是否将所述更新目标程序的上下文保存到所述保存子单元;
哈希值计算单元,用于在所述保存判断单元判断保存上下文时计算所述更新目标程序的哈希值;以及
保存单元,用于将所述哈希值与所述上下文进行链接以产生链接的哈希值和上下文并将所述链接的哈希值和上下文保存到保存子单元。
18、根据权利要求6所述的机密信息处理装置,其特征在于,
所述解密单元还从外部装置接收所述更新程序的加密的哈希值和更新程序的加密的上下文,并且解密所接收的加密的哈希值和上下文,以产生哈希值和上下文,
所述更新单元包括:
哈希值计算单元,用于计算所述更新程序的哈希值;以及
哈希值判断单元,用于判断计算的更新程序的哈希值是否与由所述解密单元产生的更新程序的哈希值相匹配,其中,
如果哈希值判断单元判断计算的哈希值与由所述解密单元产生的哈希值相匹配,则所述更新单元将由所述解密单元产生的上下文作为更新程序的上下文存储到程序存储单元中,并且如果哈希值判断单元判断计算的哈希值与由所述解密单元产生的哈希值不匹配,则从程序存储单元中删除所述更新程序。
19、根据权利要求6所述的机密信息处理装置,其特征在于,
所述程序存储单元包括程序存储子单元和保存子单元,
所述程序存储子单元存储所述更新程序,
所述保存子单元存储通过链接更新程序的上下文和所述更新程序的哈希值而产生的各多段链接数据,
所述更新单元包括:
哈希值计算单元,用于计算所述更新程序的哈希值;以及
链接数据判断单元,用于判断具有与计算的哈希值相同的哈希值的链接数据段是否存储在所述保存子单元中,其中
如果链接数据判断单元判断存储有该链接数据段,则所述更新单元将包括在该链接数据段中的更新程序的上下文存储到所述程序存储子单元中,并且
如果链接数据判断单元判断没有存储该链接数据段,则所述更新单元从所述程序存储子单元中删除所述更新程序。
20、根据权利要求6所述的机密信息处理装置,其特征在于,
所述程序存储单元包括程序存储子单元和保存子单元,
所述程序存储子单元存储更新目标程序和所述更新目标程序的上下文,
所述保存子单元存储由加密的更新目标程序表示的链值,
所述更新程序通过使用加密密钥和所述链值进行加密,
所述更新单元包括:
接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;以及
保存单元,用于在所述接管判断单元判断所述更新程序应该接管所述上下文时将所述更新目标程序的上下文保存到保存子单元中,其中,
所述解密单元还使用存储在保存子单元中的加密密钥和链值解密从外部装置接收的更新程序,并且将所述解密的更新程序输出到所述数据输出子单元,并且
所述更新单元从数据输出子单元接收解密的更新程序,并且将所述接收的更新程序和该更新目标程序的上下文存储到程序存储子单元中。
21、根据权利要求1所述的机密信息处理装置,其特征在于,
所述程序存储单元包括存储所述更新目标程序的组并包括存储对应于所述更新目标程序的更新程序的组,并且
所述更新单元通过在包括在所述程序存储单元中的组之间转换而执行更新处理。
22、根据权利要求21所述的机密信息处理装置,其特征在于,
所述存储更新目标程序的组存储所述更新目标程序的上下文,
当更新请求时,所述接收单元接收指定要被转换的组的组信息并存储所述更新程序,
所述更新单元包括:
接管判断单元,用于判断所述更新程序是否应该接管所述更新目标程序的上下文;以及
组转换单元,用作在所述接管判断单元判断所述更新程序应该接管上下文时将包括在程序存储单元中的访问目标组从存储更新目标程序的组转换到存储更新程序的组,其中
所述更新单元将所述更新目标程序的上下文存储到组转换单元要转换到的组。
23、根据权利要求22所述的机密信息处理装置,其特征在于,
所述更新目标程序包括指定存储对应于所述更新目标程序的更新程序的组的组信息并且可以接管所述更新目标程序的上下文,
所述更新单元包括:
接管组判断单元,用于判断由接收的组信息指定的组是否与由接管组信息指定的组相匹配,其中
如果所述接管组判断单元判断由接收的组信息指定的组与由接管组信息指定的组相匹配,则所述组转换单元将包括在所述程序存储单元中的访问目标组从存储更新目标程序的组转换到存储更新程序的组。
24、根据权利要求1所述的机密信息处理装置,其特征在于,各访问控制级别由三个或多个等级之一表示。
25、根据权利要求1所述的机密信息处理装置,其特征在于,还包括:
上限值存储单元,用于存储所述等级的上限值,并且
如果由接收的外部装置的访问控制级别表示的等级高于所述上限值,则所述访问控制单元通过将由接收的访问控制级别表示的等级设为等于上限值而判断是否允许外部装置访问任何所述资源。
26、一种用于机密信息处理装置的机密信息处理方法,该机密信息处理装置用于控制从外部装置对其资源的访问,
所述机密信息处理装置包括:
级别存储单元,用于存储分配给所述资源的访问控制级别,该访问控制级别用作判断是否允许从任何所述外部装置对任意所述资源访问的标准;和
程序存储单元,用于存储更新目标程序;
所述机密信息处理方法包括以下步骤:
从外部装置之一接收更新所述更新目标程序的请求,和从外部装置接收分配给该外部装置的访问控制级别;
如果接收到所述请求,则执行更新处理以更新所述更新目标程序;
根据对应所述资源的访问控制级别,判断是否允许从所述外部装置对所述资源的访问;以及
在更新处理期间,将所述资源的访问控制级别从表示来自外部装置的访问被允许的级别改变到表示来自外部装置的访问不被允许的级别,
其中,
所述资源在更新处理期间将被访问,
各访问控制级别由等级表示,并且
在判断是否允许从所述外部装置对所述资源的访问中,如果由接收的访问控制级别所表示的等级等于或者高于由资源的访问控制级别所表示的等级,则允许该外部装置访问所述资源,并且
在判断是否允许从所述外部装置对所述资源的访问中,如果由接收的访问控制级别所表示的等级低于由资源的访问控制级别所表示的等级,则不允许该外部装置访问所述资源。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004328200A JP4496061B2 (ja) | 2004-11-11 | 2004-11-11 | 機密情報処理装置 |
JP328200/2004 | 2004-11-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101048765A CN101048765A (zh) | 2007-10-03 |
CN100524254C true CN100524254C (zh) | 2009-08-05 |
Family
ID=36336435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800373097A Expired - Fee Related CN100524254C (zh) | 2004-11-11 | 2005-11-07 | 机密信息处理设备及方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080010686A1 (zh) |
EP (1) | EP1830273A4 (zh) |
JP (1) | JP4496061B2 (zh) |
KR (1) | KR20070084188A (zh) |
CN (1) | CN100524254C (zh) |
WO (1) | WO2006051754A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE491999T1 (de) * | 2006-10-06 | 2011-01-15 | Agere Systems Inc | Schutz von geheiminformationen in einem programmierten elektronischen gerät |
US20080178257A1 (en) * | 2007-01-20 | 2008-07-24 | Takuya Mishina | Method for integrity metrics management |
JP4931245B2 (ja) * | 2007-11-30 | 2012-05-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アクセス制御方法、サーバ装置およびシステム |
WO2009083971A2 (en) * | 2007-12-27 | 2009-07-09 | Safend Ltd. | System and method for contextual and behavioral based data access control |
US10430604B2 (en) * | 2008-02-05 | 2019-10-01 | Equifax Inc. | Systems and methods for securing data in electronic communications |
US8600896B2 (en) * | 2008-03-28 | 2013-12-03 | Panasonic Corporation | Software updating apparatus, software updating system, invalidation method, and invalidation program |
JP4932033B2 (ja) * | 2008-03-28 | 2012-05-16 | パナソニック株式会社 | ソフトウェア更新装置、ソフトウェア更新システム、改ざん検証方法、及び改ざん検証プログラム |
CN102224704A (zh) * | 2008-11-13 | 2011-10-19 | 松下电器产业株式会社 | 内容解密处理装置、内容解密处理方法及集成电路 |
US8386800B2 (en) * | 2009-12-04 | 2013-02-26 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
CN102480548A (zh) * | 2010-11-23 | 2012-05-30 | 腾讯科技(深圳)有限公司 | 应用程序启动方法及装置 |
WO2012124270A1 (ja) * | 2011-03-15 | 2012-09-20 | パナソニック株式会社 | 改ざん監視システム、管理装置、保護制御モジュール及び検知モジュール |
US20130166922A1 (en) * | 2011-12-23 | 2013-06-27 | Ati Technologies Ulc | Method and system for frame buffer protection |
CN103457922B (zh) * | 2012-06-05 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 电子认证客户端系统及处理方法、电子认证系统及方法 |
WO2017111903A1 (en) | 2015-12-21 | 2017-06-29 | Intel Corporation | Integrating system in package (sip) with input/output (io) board for platform miniaturization |
US10091904B2 (en) * | 2016-07-22 | 2018-10-02 | Intel Corporation | Storage sled for data center |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4625081A (en) * | 1982-11-30 | 1986-11-25 | Lotito Lawrence A | Automated telephone voice service system |
JPS6227840A (ja) * | 1985-07-29 | 1987-02-05 | Nec Corp | デ−タ破壊防止方式 |
FR2591775B1 (fr) * | 1985-12-12 | 1988-03-04 | Inst Nat Rech Inf Automat | Dispositif electronique formant memoire stable rapide perfectionnee |
US5522076A (en) * | 1993-05-13 | 1996-05-28 | Kabushiki Kaisha Toshiba | Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function |
JPH06324857A (ja) * | 1993-05-13 | 1994-11-25 | Toshiba Corp | コンピュータシステム |
JP3882321B2 (ja) * | 1998-03-13 | 2007-02-14 | 株式会社日立製作所 | オペレーティングシステムのモジュールプログラムを備えた計算機 |
EA003963B1 (ru) * | 2000-05-10 | 2003-12-25 | Конинклейке Филипс Электроникс Н.В. | Контролируемое распространение цифровой информации, в особенности аудиоданных |
US9213836B2 (en) * | 2000-05-28 | 2015-12-15 | Barhon Mayer, Batya | System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages |
US7484105B2 (en) * | 2001-08-16 | 2009-01-27 | Lenovo (Singapore) Ptd. Ltd. | Flash update using a trusted platform module |
US6456485B1 (en) * | 2001-08-27 | 2002-09-24 | Eldre Corporation | Device for connecting a circuit breaker to a bus bar |
US7137004B2 (en) * | 2001-11-16 | 2006-11-14 | Microsoft Corporation | Manifest-based trusted agent management in a trusted operating system environment |
US20040001087A1 (en) * | 2002-06-27 | 2004-01-01 | Warmus James L. | Methods and apparatus for electronic distribution of customized content via a broadcast signal |
JP4349788B2 (ja) * | 2002-10-31 | 2009-10-21 | パナソニック株式会社 | 半導体集積回路装置 |
JP2004259077A (ja) * | 2003-02-27 | 2004-09-16 | Hitachi Ltd | 組込み機器プログラム更新方法 |
JP2004272832A (ja) * | 2003-03-12 | 2004-09-30 | Konica Minolta Holdings Inc | プログラマブル論理回路及び該プログラマブル論理回路を備えるコンピュータシステム並びに論理回路情報の書き込み方法 |
US7644288B2 (en) * | 2003-03-19 | 2010-01-05 | Ricoh Company, Ltd. | Image forming apparauts that checks authenticity of an update program |
JP2004323209A (ja) * | 2003-04-25 | 2004-11-18 | Sumitomo (Shi) Construction Machinery Manufacturing Co Ltd | リフティングマグネットの制御方法 |
US9077611B2 (en) * | 2004-07-07 | 2015-07-07 | Sciencelogic, Inc. | Self configuring network management system |
US7590589B2 (en) * | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
-
2004
- 2004-11-11 JP JP2004328200A patent/JP4496061B2/ja not_active Expired - Fee Related
-
2005
- 2005-11-07 US US11/665,822 patent/US20080010686A1/en not_active Abandoned
- 2005-11-07 EP EP05799882A patent/EP1830273A4/en not_active Withdrawn
- 2005-11-07 CN CNB2005800373097A patent/CN100524254C/zh not_active Expired - Fee Related
- 2005-11-07 WO PCT/JP2005/020373 patent/WO2006051754A1/ja active Application Filing
- 2005-11-07 KR KR1020077010722A patent/KR20070084188A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR20070084188A (ko) | 2007-08-24 |
US20080010686A1 (en) | 2008-01-10 |
CN101048765A (zh) | 2007-10-03 |
JP2006139517A (ja) | 2006-06-01 |
WO2006051754A1 (ja) | 2006-05-18 |
EP1830273A1 (en) | 2007-09-05 |
EP1830273A4 (en) | 2009-01-07 |
JP4496061B2 (ja) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524254C (zh) | 机密信息处理设备及方法 | |
KR100463842B1 (ko) | 파일 보안 시스템의 키 관리 장치와 암호키 관리방법 | |
CN100508448C (zh) | 内容处理装置 | |
US20070143632A1 (en) | File management apparatus | |
US8223972B2 (en) | Method and device for speeding up key use in key management software with tree structure | |
WO2010041442A1 (ja) | 情報処理装置、方法、プログラム及び集積回路 | |
US8001391B2 (en) | Method of encrypting and decrypting data stored on a storage device using an embedded encryption/decryption means | |
US8286001B2 (en) | Method and central processing unit for processing encrypted software | |
JP4606421B2 (ja) | 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造 | |
DE60207223D1 (de) | Verfahren und system zur bereitstellung von busverschlüsselung basierend auf einem kryptographischen schlüsselaustausch | |
MX2007008540A (es) | Metodo y dispositivo de almacenamiento portatil para asignar area segura en area insegura. | |
CN106997368A (zh) | 一种数据仓库中的数据保护方法及装置 | |
KR20020067663A (ko) | 데이터배포시스템 | |
US20190171841A1 (en) | Method and system for encrypting files and storing the encrypted files in a storage file system | |
US8024583B2 (en) | Confidential information processing host device and confidential information processing method | |
CN101539890B (zh) | 数据处理系统、密码管理方法及数据读取与写入方法 | |
CN103370718A (zh) | 使用分布式安全密钥的数据保护 | |
KR101999209B1 (ko) | 가상 함수 테이블 포인터 암호화 시스템 및 그 방법 | |
US11698993B2 (en) | Integrated circuit configured to perform symmetric encryption operations with secret key protection | |
CN111639349B (zh) | 一种数据加密处理方法、装置和存储介质 | |
JP2010231623A (ja) | キャッシュメモリ制御装置及び方法 | |
JPH0944407A (ja) | データファイルの保護方法及びセキュリティ方式 | |
CN213814673U (zh) | 一种基于用户指纹识别的多安全等级存储访问装置 | |
CN113360859B (zh) | 基于Python解释器的加密文件安全控制方法和装置 | |
JP3797531B2 (ja) | ディジタルデータの不正コピー防止システム |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090805 Termination date: 20121107 |