CN112513849A - 信息处理装置、验证方法和验证程序 - Google Patents

信息处理装置、验证方法和验证程序 Download PDF

Info

Publication number
CN112513849A
CN112513849A CN201980049031.7A CN201980049031A CN112513849A CN 112513849 A CN112513849 A CN 112513849A CN 201980049031 A CN201980049031 A CN 201980049031A CN 112513849 A CN112513849 A CN 112513849A
Authority
CN
China
Prior art keywords
information
version
setting
registered
setting file
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
CN201980049031.7A
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN112513849A publication Critical patent/CN112513849A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

信息处理装置(10)从具有防篡改性的安全模块存储部(12d)取得用于验证设定文件的数字签名的公开密钥和设定文件的ID信息,使用所取得的公开密钥和ID信息,通过应用程序(11)执行验证设定文件的设定数据的完整性的处理。然后,信息处理装置(10)从安全模块存储部(12d)取得登记版本信息,使用所取得的登记版本信息,通过应用程序(11)执行验证设定文件的设定版本的处理。此外,在设定文件的设定版本和登记版本信息满足规定的条件的情况下,信息处理装置(10)将登记版本信息更新为设定版本的版本。

Description

信息处理装置、验证方法和验证程序
技术领域
本发明涉及信息处理装置、验证方法和验证程序。
背景技术
以往,已知有在应用(AP)程序使用设定文件时确认该设定数据的完整性的技术。此处,完整性是指对象数据未被篡改。此外,篡改包含替换为不同的版本(回滚(Rollback)攻击等)。
例如,已知有通过操作系统(OS)进行访问控制,以确保设定数据的完整性。OS向AP程序或文件提供访问控制的机构。可以通过OS的功能对设定文件赋予仅具有权限的用户或程序能够更新的权限。也就是说,只要OS适当地工作,被赋予了权限的AP程序适当地工作,用户适当地设定权限,则可以认为在AP程序参考设定数据时,该设置数据的完整性得到保护。
已知有在信息处理装置中使用TPM(Trusted Platform Module:可信平台模块)等安全模块的启动程序的完整性确认技术。该技术能够确认在OS启动之前的进程中所执行的固件、内核等程序的完整性,但被赋予给在OS启动以前所执行的程序,不能被在OS启动以后所执行的AP程序使用。即,仅通过在OS启动以后所执行的AP程序,在设定文件的完整性确认中无法使用安全模块。
例如,安全模块具有独立于OS的访问控制机构,具有记录程序的版本号并参考版本号的功能和根据由访问控制机构设定的权限使版本号增加(版本升级)的功能。此外,安全模块具有防篡改性,对版本号执行上述以外的操作在物理上是非常困难的。
例如,在OS启动之前,按照读取专用区域的固件(read-only firmware:只读固件)、可升级固件(read-write firmware:读写固件)、内核、构成OS的程序或服务的顺序执行程序。之前所执行的程序确认下一个程序的版本、安全芯片所记录的版本号,如果版本正确,则执行下一个程序。安全模块的访问控制机构具有在判定信息处理装置的OS启动前(pre-OS environment:操作系统前环境)所执行的程序的访问权的机构,仅以这样的方式被判定了访问权的正当程序(OS启动前的固件)能够执行版本号的更新。
现有技术文献
非专利文献
非特許文献1:“File and Folder Permissions”、[online]、[平成30年7月18日検索]、インターネット<https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2000/bb727008(v=technet.10)>
非特許文献2:“TPM Usage”、[online]、[平成30年7月18日検索]、インターネット<https://www.chromium.org/developers/design-documents/tpm-usage>
发明内容
发明所要解决的课题
但是,在以往的技术中,存在无法不依赖于OS而在应用程序中适当地确认设定数据的完整性的课题。例如,在现有的依赖于OS的访问控制的技术中,对在OS上工作的全部程序和文件适当地设定了权限,被赋予特权的全部程序和文件由于篡改等而不进行预想外的工作,仅在满足使用信息处理装置的全部特权用户对用于行使权限的密码等适当地进行管理的条件的情况下,可以预期在AP程序参考设定数据时,该设定数据的完整性得到保护。
但是,上述条件的管理对象(用户、文件、程序)较多,维持完整状态需要较多成本,也难以对其进行确认。换言之,在现实中,未维持完整状态的情况也较多。例如,由于用户的非法操作或操作失误而在系统内产生恶意软件能够以管理者权限侵入的路径(安全漏洞),如果恶意软件侵入该路径,则恶意软件能够以管理者权限篡改全部设定文件。仅依赖于OS的访问控制的AP程序难以检测出这样的设定文件的篡改。
此外,在使用了安全模块的启动程序的完整性确认技术中,在OS启动前进程的完整性确认中更新版本信息等时的安全芯片的访问权(许可)被赋予给在OS启动前所执行的程序,无法从OS启动后的一般AP程序使用。即,仅通过在OS起动以后所执行的一般AP程序,无法在设定文件等的完整性确认中使用安全芯片。
用于解决课题的手段
为了解决上述课题,达成目的,本发明的信息处理装置的特征在于,具有:设定文件验证部,其从具有防篡改性的安全模块的存储部取得与用于验证设定文件的数字签名的验证密钥相关的信息和设定文件的ID信息,使用所取得的与验证密钥相关的信息和ID信息,通过应用程序执行验证设定文件的设定数据的完整性的处理;设定文件版本验证部,其从所述安全模块的存储部取得登记版本信息,使用所取得的登记版本信息,通过所述应用程序执行验证所述设定文件的设定版本的处理;以及设定文件版本更新部,在所述设定文件的设定版本和所述登记版本信息满足规定的条件的情况下,所述设定文件版本更新部将所述登记版本信息更新为所述设定版本的版本。
此外,本发明的验证方法是一种由信息处理装置执行的验证方法,其特征在于,所述验证方法包含以下工序:设定文件验证工序,从具有防篡改性的安全模块的存储部取得与用于验证设定文件的数字签名的验证密钥相关的信息和设定文件的ID信息,使用所取得的与验证密钥相关的信息和ID信息,通过应用程序执行验证设定文件的设定数据的完整性的处理;版本验证工序,从所述安全模块的存储部取得登记版本信息,使用所取得的登记版本信息,通过所述应用程序执行验证所述设定文件的设定版本的处理;以及更新工序,在所述设定文件的设定版本和所述登记版本信息满足规定的条件的情况下,将所述登记版本信息更新为所述设定版本的版本。
此外,本发明的验证程序的特征在于,使计算机执行以下步骤:设定文件验证步骤,从具有防篡改性的安全模块的存储部取得与用于验证设定文件的数字签名的验证密钥相关的信息和设定文件的ID信息,使用所取得的与验证密钥相关的信息和ID信息,通过应用程序执行验证设定文件的设定数据的完整性;处理版本验证步骤,从所述安全模块的存储部取得登记版本信息,使用所取得的登记版本信息,通过所述应用程序执行验证所述设定文件的设定版本的处理;以及版本更新步骤,在所述设定文件的设定版本和所述登记版本信息满足规定的条件的情况下,将所述登记版本信息更新为所述设定版本的版本。
发明效果
根据本发明,起到不依赖于OS而能够通过应用程序适当地确认设定数据的完整性的效果。
附图说明
图1是示出第一实施方式的系统的结构的一例的图。
图2是示出设定文件所包含的信息的一例的图。
图3是示出公开密钥/ID信息所包含的信息的一例的图。
图4是说明由第一实施方式的信息处理装置进行的设定文件使用处理的流程图。
图5是说明由第一实施方式的信息处理装置进行的设定文件更新处理的流程图。
图6是说明由第一实施方式的信息处理装置进行的AP程序启动处理的流程图。
图7是说明由第一实施方式的信息处理装置进行的设定文件记录处理的流程图。
图8是说明由第一实施方式的信息处理装置进行的公开密钥/ID信息更新处理的流程图。
图9是说明第一实施方式的信息处理装置中的运行周期的图。
图10是示出执行验证程序的计算机的图。
具体实施方式
以下,根据附图,详细地说明本申请的信息处理装置、验证方法和验证程序的实施方式。另外,本申请的信息处理装置、验证方法和验证程序不受该实施方式限定。
[第一实施方式]
在以下的实施方式中,依次说明第一实施方式的系统的结构、信息处理装置中的处理流程,最后说明第一实施方式的效果。
[系统的结构]
首先,使用图1,对第一实施方式的系统进行说明。图1是示出第一实施方式的系统的结构的一例的图。第一实施方式的系统具有信息处理装置10和管理装置20。另外,图1所示的各装置的数量仅是一例,不限于此。例如,信息处理装置10和管理装置20也可以由一个装置构成。
信息处理装置10搭载有一个或多个AP程序11。信息处理装置10搭载有具有防篡改性的安全模块12(例如,TPM等)。此外,信息处理装置10具有硬盘等装置存储部13和操作系统等装置控制部14。
管理装置20从远程创建具有数字签名的权限的用户输入到AP程序11的设定文件,向信息处理装置10发送。此外,管理装置20供具有对公开密钥信息的访问权的用户从远程更新安全模块的公开密钥信息。另外,作为装置结构,也可以是与信息处理装置10相同的装置结构。
首先,对信息处理装置10的各功能部进行说明。信息处理装置10的应用程序11具有设定文件输入部11a、设定文件验证部11b、设定文件版本验证部11c、设定文件版本更新部11d和AP控制部11e。
设定文件输入部11a读入装置存储部13所记录的设定文件。另外,在本实施方式中,说明从同一设备的存储部读入的情况,但是也可以经由NW取得。
设定文件验证部11b从安全模块存储部12d取得用于验证设定文件的数字签名的公开密钥和设定文件的ID信息,使用所取得的公开密钥和ID信息,执行验证设定文件的设定数据的完整性的处理。
设定文件版本验证部11c从安全模块存储部12d取得登记版本信息,使用所取得的登记版本信息,执行验证设定文件的设定版本的处理。
在设定文件的设定版本和登记版本信息满足规定的条件的情况下,设定文件版本更新部11d执行将登记版本信息更新为设定版本的版本的处理。例如,在作为规定的条件,设定文件的设定版本是比登记版本信息前一个的版本的情况下,设定成使登记版本更新(递增)为前一个的版本,进行以下的说明。另外,能够按照每个信息处理装置10或者每个AP程序11来设定该规定的条件。这样,能够按照每个信息处理装置10或者每个AP程序11指定要容许的更新程序的结果,操作员能够创建每个信息处理装置10或每个AP程序11的版本信息和设定文件,从而实施唯一的更新。此外,规定的条件是能够变更的信息。例如,在作为规定的条件,设定文件的设定版本是比登记版本信息早两个的版本的情况下,也可以作为适当的更新的结果而容许,如将登记版本更新为设定版本的版本那样进行设定变更。
AP控制部11e控制AP程序11的上述各部件。AP控制部11e仅在设定数据的完整性为OK、设定版本等于登记版本时,许可设定文件的使用。此外,AP控制部11e经由装置控制部14进行对安全模块12的访问。
安全模块12具有访问控制部12a、公开密钥/ID信息管理部12b、登记版本管理部12c、安全模块存储部12d和安全模块控制部12e。
访问控制部12a控制对安全模块存储部12d的数据的访问。具体而言,访问控制部12a受理针对安全模块存储部12d所存储的公开密钥和ID信息的更新请求,验证由用户输入的认证用密码,根据验证结果判定是否许可更新。
例如,访问控制部12a对公开密钥和ID信息的更新操作进行基于HMAC(Hash-basedMessage Authentication Code:基于哈希的消息验证码)等认证的访问制限。也就是说,访问控制部12a在从远程实施公开密钥/ID信息的更新时,进行消息的篡改检查和HMAC认证。此处,消息是公开密钥/ID信息的更新命令(在命令自变量中包含更新对象的新的公开密钥/ID信息)。另外,认证方法不限于HMAC认证。此外,访问控制部12a针对公开密钥和ID信息的参考、登记版本信息的参考、登记版本信息的递增,不限制访问。
公开密钥/ID信息管理部12b进行公开密钥和ID信息的参考、更新。具体而言,在由访问控制部12a判定为许可更新的情况下,公开密钥/ID信息管理部12b更新安全模块存储部12d所存储的公开密钥和ID信息。
登记版本管理部12c进行登记版本信息的参考、更新(递增)。安全模块存储部12d存储公开密钥和ID信息、登记版本信息。此外,安全模块存储部12d存储用于更新公开密钥和ID信息的认证密码。安全模块控制部12e控制安全模块12的上述各部件。
装置存储部13存储设定文件。在设定文件中能够设定OS的访问权。装置控制部14控制上述各部件,进行与管理装置20之间的通信。此外,装置控制部14将针对各应用而在管理装置20中分别独立地创建出的设定文件记录到装置存储部13中。
这样,在信息处理装置10中,使用具有独立于OS独立的访问控制功能和数据保护功能的安全模块12,因此,能够不依赖于针对OS的权限设定而确认设定文件的完整性。
管理装置20具有设定文件创建部21、设定文件发送部22、公开密钥/ID信息登记部23和控制部24。
设定文件创建部21具有针对一个以上的信息处理装置10的一个以上的AP程序11分别创建单独的设定文件的功能和用户接口。此外,设定文件创建部21还包含进行用于生成数字签名的密钥的管理或用户认证的功能。此外,设定文件创建部21例如还能够对单独并且多个设定文件统一赋予一次的数字签名。
设定文件发送部22向一个以上的信息处理装置10发送设定文件。公开密钥/ID信息登记部23经由信息处理装置10的装置控制部14更新安全模块12的公开密钥/ID信息。此外,公开密钥/ID信息登记部23还包含用于HMAC认证的HMAC创建功能。控制部24控制上述各部件,进行与信息处理装置10之间的通信。
[数据的说明]
此处,分别对上述的设定文件、公开密钥/ID信息和登记版本信息进行说明。首先,对设定文件进行说明。如图2所例示,设定文件是包含设定数据、设定文件ID、设定版本和数字签名作为结构要素的文件。
设定数据是AP程序所读入的数据(内容)。能够通过设定文件ID和设定版本唯一地识别设定数据。设定文件ID是信息处理装置10和AP程序11所固有的设定文件的种类。另外,可能存在相同的设定文件ID的多个版本的设定文件。
设定版本是识别具有相同的设定文件ID的设定文件的版本的信息。版本信息的形式与登记版本信息的形式一致。数字签名是针对包含设定数据、设定文件ID、设定版本的信息的、基于公开密钥加密方式(RSA算法等)的数字签名。
接着,对公开密钥和ID信息(公开密钥/ID信息)进行说明。如图3所例示,公开密钥/ID信息是验证设定文件的数字签名所需的数据,由登记公开密钥信息和登记ID信息构成。该数据无需保密,需要通过安全模块12保护完整性。
例如,登记公开密钥信息是设定文件的数字签名的验证密钥(公开密钥),登记ID信息是设定文件的设定数据ID。在该情况下,验证方法通过公开密钥信息直接验证数字签名,并对设定数据ID进行对照即可。此外,不限定于此,例如,登记公开密钥信息也可以为用于验证设定文件的数字签名的验证密钥(公开密钥)的证书的根证书,登记ID信息也可以为设定文件的数据ID和设定文件的数字签名的验证密钥(公开密钥)的证书的识别ID。
在该情况下,作为验证方法,预先将设定文件的数字签名的验证密钥(公开密钥)的证书保管到信息处理装置10的装置存储部13等中。而且,首先,使用上述的证书验证设定文件的数字签名,接着,通过从安全模块取得的根证书验证上述的证书,进一步对设定数据ID进行对照。
接着,对登记版本信息进行说明。登记版本信息无需保密,但是,需要通过安全模块保护完整性。此外,登记版本信息使用单向运算的计算结果。作为主要例子,说明由TPM2.0规定的以下两种例子,但是,不限于此。
例如,登记版本信息包含计数器值(整数值)、计数器值的存储器索引,递增方法为新计数器值=旧计数器值+1。此外,登记版本信息包含哈希值(sha256等)、哈希值的存储器索引,递增方法也可以为新哈希值=哈希(旧哈希值|哈希(设定文件))。在该情况下,登记版本信息初始值作为旧哈希值设定随机数值,登记新哈希值。另外,随机数值是秘密信息,之后不使用,因此,立即从存储器等删除。
[信息处理装置的处理流程]
接着,使用图4~图8,说明第一实施方式的信息处理装置10的处理流程。图4是说明由第一实施方式的信息处理装置进行的设定文件使用处理的流程图。图5是说明由第一实施方式的信息处理装置进行的设定文件更新处理的流程图。图6是说明由第一实施方式的信息处理装置进行的AP程序启动处理的流程图。图7是说明由第一实施方式的信息处理装置进行的设定文件记录处理的流程图。图8是说明由第一实施方式的信息处理装置进行的公开密钥/ID信息更新处理流程图。
首先,使用图4,说明由信息处理装置10进行的设定文件使用时的处理。如图4所示,首先,信息处理装置10的AP程序11的设定文件输入部11a从装置存储部13读入设定文件(步骤S101)。然后,AP程序11的设定文件验证部11b从安全模块存储部12d取得公开密钥/ID信息(步骤S102)。
接下来,AP程序11的设定文件验证部11b使用登记公开密钥信息和登记ID信息,验证设定文件的数字签名和设定数据ID(步骤S103)。然后,在设定文件验证部11b进行验证的结果是验证结果为NG的情况下(步骤S104为否定),直接结束处理。此外,在设定文件验证部11b进行验证的结果是验证结果为OK的情况(步骤S104为肯定)下,AP程序11的设定文件版本验证部11c从安全模块存储部12d取得登记版本信息(步骤S105)。
接下来,AP程序11的设定文件版本验证部11c使用登记版本信息,验证设定文件的设定版本(步骤S106)。然后,在AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本不一致的情况(步骤S107为否定)下,直接结束处理。
此外,在AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本一致的情况(步骤S107为肯定)下,AP程序11的AP控制部11e判定为所读入的设定文件具有完整性,许可所读入的设定文件的使用(步骤S108)。
接着,使用图5,说明信息处理装置10的设定文件更新时的处理。如图5所示,首先,信息处理装置10的AP程序11的设定文件输入部11a从装置存储部13读入设定文件(步骤S201)。然后,AP程序11的设定文件验证部11b从安全模块存储部12d取得公开密钥/ID信息(步骤S202)。
接下来,AP程序11的设定文件验证部11b使用登记公开密钥信息和登记ID信息,验证设定文件的数字签名和设定数据ID(步骤S203)。然后,在设定文件验证部11b进行验证的结果是验证结果为NG的情况(步骤S204为否定)下,直接结束处理。此外,在设定文件验证部11b进行验证的结果是验证结果为OK的情况(步骤S204为肯定)下,AP程序11的设定文件版本验证部11c从安全模块存储部12d取得登记版本信息(步骤S205)。
接下来,AP程序11的设定文件版本验证部11c使用登记版本信息,验证设定文件的设定版本(步骤S206)。然后,在AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本+1不一致的情况(步骤S207为否定)、即、设定版本不是比登记版本前一个的版本的情况下,直接结束处理。
此外,在AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本+1一致的情况(步骤S207为肯定)下,AP程序11的设定文件版本更新部11d指示安全模块的登记版本管理部,使登记版本信息递增(步骤S208)。
接着,使用图6,说明信息处理装置10的AP程序11启动时的处理。在图6的例子中,说明在AP程序11的启动时,将“设定文件使用”处理和“设定文件更新”处理作为一个处理过程实现的情况。如图6所示,首先,信息处理装置10的AP程序11的设定文件输入部11a从装置存储部13读入设定文件(步骤S301)。然后,AP程序11的设定文件验证部11b从安全模块存储部12d取得公开密钥/ID信息(步骤S302)。
接下来,AP程序11的设定文件验证部11b使用登记公开密钥信息和登记ID信息,验证设定文件的数字签名和设定数据ID(步骤S303)。然后,在设定文件验证部11b进行验证的结果是验证结果为NG的情况(步骤S304为否定)下,直接结束处理。此外,在设定文件验证部11b进行验证的结果是验证结果为OK的情况(步骤S304为肯定)下,AP程序11的设定文件版本验证部11c从安全模块存储部12d取得登记版本信息(步骤S305)。
接下来,AP程序11的设定文件版本验证部11c使用登记版本信息,验证设定文件的设定版本(步骤S306)。然后,在AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本一致的情况(步骤S307为肯定)下,AP程序11的AP控制部11e判定为所读入的设定文件具有完整性,许可所读入的设定文件的使用(步骤S308)。
此外,在AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本不一致的情况(步骤S307为否定)并且设定版本与登记版本+1一致的情况(步骤S309为肯定)下,AP程序11的设定文件版本更新部11d指示安全模块的登记版本管理部而使登记版本信息递增(步骤S310)。
此外,在AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本不一致的情况(步骤S307为否定)并且AP程序11的设定文件版本验证部11c进行验证的结果是设定版本与登记版本+1不一致的情况(步骤S309为否定)下,直接结束处理。
接着,使用图7,说明由信息处理装置10和管理装置20进行的设定文件的创建/记录处理。如图7所示,首先,管理装置20的设定文件创建部21针对一个以上的信息处理装置10的一个以上的AP程序11分别创建单独的设定文件(步骤S401)。另外,这时,设定文件创建部21在每次创建数字签名时实施用户认证。
接下来,设定文件发送部22向一个以上的信息处理装置10发送设定文件(步骤S402)。然后,装置控制部14将设定文件记录到装置存储部13中(步骤S403)。
接着,使用图8,说明由信息处理装置10和管理装置20对公开密钥/ID信息进行更新时的处理。如图8所示,首先,公开密钥/ID信息登记部23经由装置控制部14向安全模块12发送更新公开密钥/ID信息的命令(步骤S501)。在该命令中包含认证用的HMAC,为了创建HMAC,用户输入了认证密码。
然后,安全模块12的访问控制部12a使用保管在安全模块存储部12d中的公开密钥/ID信息的认证密码来验证HMAC(步骤S502)。安全模块12的访问控制部12a在进行验证的结果是验证结果为NG的情况(步骤S503为否定)下,直接结束处理。
在安全模块12的访问控制部12a进行验证的结果是验证结果为OK的情况(步骤S503为肯定)下,安全模块的公开密钥/ID信息管理部12b更新保管在安全模块存储部12d中的公开密钥/ID信息(步骤S504)。
如上所述,例如,用户对被赋予了版本信息的设定文件赋予数字签名,AP程序11根据安全模块12所保管的公开密钥/ID信息来验证签名。然后,AP程序11根据上述的验证结果确认版本信息和设定文件的完整性。并且,通过利用在安全模块12中保管的认证密码对用户进行认证,进行上述的公开密钥/ID信息的登记更新。
[运行周期]
此处,使用图9,对第一实施方式的信息处理装置10中的运行周期进行说明。图9是用于说明第一实施方式的信息处理装置中的运行周期的图。如图9所示,信息处理装置10中的运行由处于包含关系的运行周期1~3的3个周期构成。运行周期1是AP程序11的启动、停止周期,频度最高。在启动时,AP程序11自动地检查设定文件的完整性和版本。此外,能够不伴随用户操作(认证操作等)而自动地执行。
此外,运行周期2为AP程序11的设定文件变更周期,频度比运行周期1低。为了在设定文件的创建中赋予数字签名,伴随用户认证操作。针对一个以上的信息处理装置10的一个以上的AP程序11,能够非同步地并且通过一次的操作来实施。非同步表示对用户来说的设定文件创建时刻和对AP程序11来说的设定文件更新时刻(安全芯片的登记版本信息的递增)为非同步。
此外,运行周期3为公开密钥/ID信息的变更,频度比运行周期2低(例如,几年周期)。此处,伴随用于更新安全模块/ID信息的用户认证操作。为了安全地实施,优选同步处理。
如上所述,能够设置成频度较高的运行的用户操作较少,用户操作较多的运行的频度较低。因此,能够充分降低总的操作成本,即使在以多个装置和多个AP程序为对象的情况下,也能够高效的运行。
此外,通过形成为上述的结构,能够设为如运用周期那样,频度较高的运用的用户操作较少,用户操作较多的运用的频度较低。根据上述内容,版本信息的更新不限于在OS启动前所执行的程序,仅通过一般的AP程序11,就能够低成本地实施设定文件等的完整性确认。
[第一实施方式的效果]
这样,第一实施方式的信息处理装置10从具有防篡改性的安全模块存储部12d取得用于验证设定文件的数字签名的公开密钥和设定文件的ID信息,使用所取得的公开密钥和ID信息,通过应用程序11执行验证设定文件的设定数据的完整性的处理。然后,信息处理装置10从安全模块存储部12d取得登记版本信息,使用所取得的登记版本信息,通过应用程序11执行验证设定文件的设定版本的处理。此外,在设定文件的设定版本和登记版本信息满足规定的条件的情况下,信息处理装置10将登记版本信息更新为设定版本的版本。
此外,在第一实施方式的信息处理装置10中,在判定设定文件的完整性/版本时,不仅依赖于OS的访问控制,而将与OS功能独立的安全模块12的访问控制和防篡改性作为判定依据,能够不依赖于OS而通过应用程序适当地确认设定数据的完整性。
此外,例如,由于用户的非法操作或操作失误而在系统内产生恶意软件能够以管理者权限侵入的路径(安全漏洞),如果恶意软件侵入该路径,则恶意软件能够以管理者权限篡改全部设定文件。即使在这样的情况下,信息处理装置10的AP程序11也能够检测出设定文件的篡改。也就是说,对于恶意软件来说,篡改安全模块存储部12d的数据或安全模块12的功能远比篡改OS上的文件或功能困难。
此外,本申请的验证方法能够在在搭载有安全模块12的信息处理装置10的OS上所执行的全部AP程序11中使用。此外,信息处理装置10例如能够确认向用户所指定的唯一设定文件版本的版本升级。这是因为,在设定文件所记载的“设定文件ID”和“设定版本”中,设定数据是唯一地识别的,“设定文件ID”是信息处理装置10和AP程序11固有的设定文件的种类。
[系统结构等]
此外,图示的各装置的各结构要素是功能概念性的各结构要素,不一定需要如物理上所图示地构成。即,各装置的分散/合并的具体方式不限于图示,能够根据各种负荷和使用状况等,以任意的单位在功能或物理上分散/合并而构成其全部或一部分。并且,在各装置中进行的各处理功能能够通过CPU和由该CPU分析执行的程序来实现其全部或任意的一部分,或者作为基于有线逻辑的硬件来实现。
此外,还能够手动地进行在本实施方式中所说明的各处理中的、作为自动地进行的处理而说明的处理的全部或一部分,或者,还能够通过公知的方法自动地进行作为手动地进行的处理而说明的处理的全部或一部分。此外,除非另外指定,否则可以任意地变更上述文档中、附图中所示的处理过程、控制过程、具体名称、包含各种数据或参数的信息。
[程序]
图10是示出执行验证程序的计算机的图。计算机1000例如具有存储器1010、CPU1020。此外,计算机1000具有硬盘驱动器接口1030、盘驱动器接口1040、串行端口接口1050、视频适配器1060和网络接口1070。这些各部件通过总线1080连接。
存储器1010包含ROM(Read Only Memory:只读存储器)1011和RAM 1012。ROM 1011存储例如BIOS(Basic Input Output System:基本输入输出系统)等引导程序。硬盘驱动器接口1030与硬盘驱动器1090连接。盘驱动器接口1040与盘驱动器1100连接。例如,磁盘或光盘等可拆装的存储介质被插入盘驱动器1100中。串行端口接口1050例如与鼠标1051、键盘1052连接。视频适配器1060例如与显示器1061连接。
硬盘驱动器1090例如存储OS 1091、应用程序1092、程序模块1093和程序数据1094。即,规定信息处理装置10的各处理的程序被作为记述有可由计算机执行的代码的程序模块1093来安装。程序模块1093例如存储到硬盘驱动器1090中。例如,用于执行与装置中的功能结构相同的处理的程序模块1093存储到硬盘驱动器1090中。另外,硬盘驱动器1090也可以通过SSD(Solid State Drive:固态硬盘)代替。
此外,在上述实施方式的处理中使用的数据作为程序数据1094存储到例如存储器1010、硬盘驱动器1090中。而且,CPU 1020根据需要将存储器1010、硬盘驱动器1090所存储的程序模块1093或程序数据1094读出到RAM 1012中并执行。
另外,程序模块1093或程序数据1094不限于存储到硬盘驱动器1090中的情况,例如也可以存储到可拆装的存储介质中,经由盘驱动器1100等被CPU 1020读出。或者,程序模块1093和程序数据1094也可以存储到经由网络、WAN而连接的其它计算机中。而且,程序模块1093和程序数据1094也可以从其它计算机中经由网络接口1070被CPU 1020读出。
标号说明
10:信息处理装置;
11:AP程序;
11a:设定文件输入部;
11b:设定文件验证部;
11c:设定文件版本验证部;
11d:设定文件版本更新部;
11e:AP控制部;
12:安全模块;
12a:访问控制部;
12b:公开密钥/ID信息管理部;
12c:登记版本管理部;
12d:安全模块存储部;
12e:安全模块控制部;
13:装置存储部;
14:装置控制部;
20:管理装置;
21:设定文件创建部;
22:设定文件发送部;
23:公开密钥/ID信息登记部;
24:控制部。

Claims (6)

1.一种信息处理装置,其特征在于,具有:
设定文件验证部,其从具有防篡改性的安全模块的存储部取得与用于验证设定文件的数字签名的验证密钥相关的信息和设定文件的ID信息,使用所取得的与验证密钥相关的信息和ID信息,通过应用程序执行验证设定文件的设定数据的完整性的处理;
设定文件版本验证部,其从所述安全模块的存储部取得登记版本信息,使用所取得的登记版本信息,通过所述应用程序执行验证所述设定文件的设定版本的处理;以及
设定文件版本更新部,在所述设定文件的设定版本和所述登记版本信息满足规定的条件的情况下,所述设定文件版本更新部将所述登记版本信息更新为所述设定版本的版本。
2.根据权利要求1所述的信息处理装置,其特征在于,
所述信息处理装置还具有装置控制部,该装置控制部将针对各应用而分别独立地创建的设定文件记录到存储部中。
3.根据权利要求1所述的信息处理装置,其特征在于,该信息处理装置还具有:
访问控制部,其受理针对所述安全模块的存储部所存储的与验证密钥相关的信息和ID信息的更新请求,验证由用户输入的认证用密码,根据验证结果判定是否许可更新;以及
管理部,在由所述访问控制部判定为许可更新的情况下,所述管理部更新所述安全模块的存储部所存储的与验证密钥相关的信息和ID信息。
4.根据权利要求1所述的信息处理装置,其特征在于,
所述规定的条件是能够进行设定变更的。
5.一种由信息处理装置执行的验证方法,其特征在于,所述验证方法包含以下工序:
设定文件验证工序,从具有防篡改性的安全模块的存储部取得与用于验证设定文件的数字签名的验证密钥相关的信息和设定文件的ID信息,使用所取得的与验证密钥相关的信息和ID信息,通过应用程序执行验证设定文件的设定数据的完整性的处理;
版本验证工序,从所述安全模块的存储部取得登记版本信息,使用所取得的登记版本信息,通过所述应用程序执行验证所述设定文件的设定版本的处理;以及
更新工序,在所述设定文件的设定版本和所述登记版本信息满足规定的条件的情况下,将所述登记版本信息更新为所述设定版本的版本。
6.一种验证程序,其特征在于,其使计算机执行以下步骤:
设定文件验证步骤,从具有防篡改性的安全模块的存储部取得与用于验证设定文件的数字签名的验证密钥相关的信息和设定文件的ID信息,使用所取得的与验证密钥相关的信息和ID信息,通过应用程序执行验证设定文件的设定数据的完整性的处理;
版本验证步骤,从所述安全模块的存储部取得登记版本信息,使用所取得的登记版本信息,通过所述应用程序执行验证所述设定文件的设定版本的处理;以及
更新步骤,在所述设定文件的设定版本和所述登记版本信息满足规定的条件的情况下,将所述登记版本信息更新为所述设定版本的版本。
CN201980049031.7A 2018-07-31 2019-07-30 信息处理装置、验证方法和验证程序 Pending CN112513849A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018144329A JP6697038B2 (ja) 2018-07-31 2018-07-31 情報処理装置、検証方法および検証プログラム
JP2018-144329 2018-07-31
PCT/JP2019/029907 WO2020027159A1 (ja) 2018-07-31 2019-07-30 情報処理装置、検証方法および検証プログラム

Publications (1)

Publication Number Publication Date
CN112513849A true CN112513849A (zh) 2021-03-16

Family

ID=69232257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980049031.7A Pending CN112513849A (zh) 2018-07-31 2019-07-30 信息处理装置、验证方法和验证程序

Country Status (6)

Country Link
US (1) US12026258B2 (zh)
EP (1) EP3812939B1 (zh)
JP (1) JP6697038B2 (zh)
CN (1) CN112513849A (zh)
AU (1) AU2019313886B2 (zh)
WO (1) WO2020027159A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517827A (zh) * 2003-01-08 2004-08-04 Kddi株式会社 内容文件制作者的认证方式及其程序
CN1881903A (zh) * 2005-06-17 2006-12-20 日本电气株式会社 文件版本管理装置及方法和程序
CN101189617A (zh) * 2005-06-01 2008-05-28 松下电器产业株式会社 电子设备、更新服务器装置、密钥更新装置
US20090271620A1 (en) * 2008-04-28 2009-10-29 Gosukonda Naga Venkata Satya Sudhakar Techniques for secure data management in a distributed environment
US20100088522A1 (en) * 2008-10-02 2010-04-08 John Barrus Method and Apparatus for Tamper Proof Camera Logs
CN102014133A (zh) * 2010-11-26 2011-04-13 清华大学 在云存储环境下一种安全存储系统的实现方法
CN107797827A (zh) * 2016-08-30 2018-03-13 华邦电子股份有限公司 安全储存系统以及用于安全储存的方法
CN107894895A (zh) * 2017-11-06 2018-04-10 网易(杭州)网络有限公司 代码更新的处理方法、装置、存储介质、处理器及服务器

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1659810B1 (en) * 2004-11-17 2013-04-10 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating configuration parameters in a mobile terminal
US7958346B2 (en) 2005-08-18 2011-06-07 Oracle International Corp. Multilayered security for systems interacting with configuration items
JP2009003853A (ja) * 2007-06-25 2009-01-08 Panasonic Corp 複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール
US8214654B1 (en) * 2008-10-07 2012-07-03 Nvidia Corporation Method and system for loading a secure firmware update on an adapter device of a computer system
JP5387282B2 (ja) * 2009-09-25 2014-01-15 富士通株式会社 コンテンツ処理装置、コンテンツの部分完全性保証のためのプログラム
JP5952175B2 (ja) * 2012-11-27 2016-07-13 日本電信電話株式会社 制御装置、制御システム、制御方法および制御プログラム
JP6595822B2 (ja) * 2015-07-07 2019-10-23 キヤノン株式会社 情報処理装置及びその制御方法
DE102015213412A1 (de) * 2015-07-16 2017-01-19 Siemens Aktiengesellschaft Verfahren und Anordnung zum sicheren Austausch von Konfigurationsdaten einer Vorrichtung
CN106411830B (zh) * 2016-01-25 2019-06-21 平安科技(深圳)有限公司 防止访问数据被篡改的方法及移动终端
EP3489853B1 (en) * 2017-11-27 2021-02-24 Schneider Electric Industries SAS A method for providing a firmware update of a device
JP7185978B2 (ja) * 2018-07-03 2022-12-08 株式会社ソラコム 認証情報の設定を仲介するための装置及び方法
US10789061B2 (en) * 2018-09-26 2020-09-29 Intel Corporation Processor based component firmware update method and apparatus
GB201902470D0 (en) * 2019-02-22 2019-04-10 Secure Thingz Ltd Security data processing device
EP4287054A1 (en) * 2022-06-03 2023-12-06 Siemens Aktiengesellschaft Computer implemented method for updating a safety software code, computer hardware device, computer program and a computer-readable medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517827A (zh) * 2003-01-08 2004-08-04 Kddi株式会社 内容文件制作者的认证方式及其程序
CN101189617A (zh) * 2005-06-01 2008-05-28 松下电器产业株式会社 电子设备、更新服务器装置、密钥更新装置
CN1881903A (zh) * 2005-06-17 2006-12-20 日本电气株式会社 文件版本管理装置及方法和程序
US20060288056A1 (en) * 2005-06-17 2006-12-21 Nec Corporation File version management device, method, and program
US20090271620A1 (en) * 2008-04-28 2009-10-29 Gosukonda Naga Venkata Satya Sudhakar Techniques for secure data management in a distributed environment
US20100088522A1 (en) * 2008-10-02 2010-04-08 John Barrus Method and Apparatus for Tamper Proof Camera Logs
CN102014133A (zh) * 2010-11-26 2011-04-13 清华大学 在云存储环境下一种安全存储系统的实现方法
CN107797827A (zh) * 2016-08-30 2018-03-13 华邦电子股份有限公司 安全储存系统以及用于安全储存的方法
CN107894895A (zh) * 2017-11-06 2018-04-10 网易(杭州)网络有限公司 代码更新的处理方法、装置、存储介质、处理器及服务器

Also Published As

Publication number Publication date
EP3812939B1 (en) 2023-01-25
AU2019313886A1 (en) 2021-02-11
EP3812939A1 (en) 2021-04-28
JP2020021270A (ja) 2020-02-06
US12026258B2 (en) 2024-07-02
AU2019313886B2 (en) 2022-04-21
US20210232689A1 (en) 2021-07-29
WO2020027159A1 (ja) 2020-02-06
JP6697038B2 (ja) 2020-05-20
EP3812939A4 (en) 2022-03-23

Similar Documents

Publication Publication Date Title
US11503030B2 (en) Service processor and system with secure booting and monitoring of service processor integrity
US11176255B2 (en) Securely booting a service processor and monitoring service processor integrity
JP6595822B2 (ja) 情報処理装置及びその制御方法
KR101190479B1 (ko) 티켓 인증 보안 설치 및 부트
CN103460195B (zh) 用于安全软件更新的系统和方法
KR100930218B1 (ko) 소프트웨어 기반 보안 코프로세서를 제공하는 방법, 장치및 처리 시스템
JP5565040B2 (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
US8122256B2 (en) Secure bytecode instrumentation facility
CN100594692C (zh) 信息处理装置、服务器装置、信息处理装置的方法及服务器装置的方法
WO2015184891A1 (zh) Android系统的安全管控方法、装置及其系统
JP5191043B2 (ja) プログラムの不正起動防止システム及び方法
US8984296B1 (en) Device driver self authentication method and system
TW201415280A (zh) 用於確保連網至雲端運算環境的系統免於惡意程式碼攻擊之方法及服務
US20070250918A1 (en) Authentication System and Security Device
CN110109710B (zh) 一种无物理可信根的os信任链构建方法与系统
KR102256249B1 (ko) 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
KR20190062797A (ko) 클라우드 서비스를 사용하는 사용자 단말기, 단말기의 보안 통합 관리 서버 및 단말기의 보안 통합 관리 방법
AU2019313886B2 (en) Information processing device, verification method and verification program
Hagl et al. Securing the Linux Boot Process: From Start to Finish.
KR20190118894A (ko) 안전한 usb 장치를 보장하는 부트 방법
EP3168768B1 (en) Software protection
US9792417B2 (en) Methods for controlling software usage
US11971991B2 (en) Information processing apparatus, control method for controlling the same and storage medium
KR102369874B1 (ko) 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스
US20240037216A1 (en) Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination