CN107438849B - 用于验证电子设备的完整性的***和方法 - Google Patents

用于验证电子设备的完整性的***和方法 Download PDF

Info

Publication number
CN107438849B
CN107438849B CN201780001186.4A CN201780001186A CN107438849B CN 107438849 B CN107438849 B CN 107438849B CN 201780001186 A CN201780001186 A CN 201780001186A CN 107438849 B CN107438849 B CN 107438849B
Authority
CN
China
Prior art keywords
response
module
electronic device
integrity
environment
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.)
Active
Application number
CN201780001186.4A
Other languages
English (en)
Other versions
CN107438849A (zh
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.)
Huawei International Pte Ltd
Original Assignee
Huawei International Pte 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 Huawei International Pte Ltd filed Critical Huawei International Pte Ltd
Publication of CN107438849A publication Critical patent/CN107438849A/zh
Application granted granted Critical
Publication of CN107438849B publication Critical patent/CN107438849B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3271Cryptographic 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 using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • 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
    • 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
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof

Landscapes

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

Abstract

本文档揭示一种用于验证电子设备的***完整性的***和方法。所述电子设备包含提供于所述电子设备的安全环境内的验证器模块以及提供于所述电子设备的正常环境内的扫描器模块,由此所述安全环境包括与所述正常环境中的硬件隔离的所述硬件,即,这两个环境是硬件隔离的。

Description

用于验证电子设备的完整性的***和方法
技术领域
本发明涉及一种用于验证电子设备的***完整性的***和方法。电子设备包含提供于电子设备的安全环境内的验证器模块以及提供于电子设备的正常环境内的扫描器模块,由此安全环境包括与正常环境中的硬件分离的硬件,即,这两个环境是硬件分离的。在电子设备的完整性验证期间,验证器模块验证安装在正常环境中的扫描器模块和操作***两者的完整性。
背景技术
在获得超级用户和/或管理员权限或从电子设备清除所有用户限制,例如,支持Android操作***或越狱iPhone操作***的目标下,对电子设备作出未授权修改使电子设备易受安全漏洞攻击并且损害设备的总体安全性。电子设备中的关键或特权模块包含在设备的操作***(Operating System,OS)核心内或在设备的***内执行的***关键过程或***管理后台程序。
对电子设备的大部分未授权修改会在设备的操作***中留下某种踪迹。例如,在Linux设备中,当root此设备时,root过程将创建SU命令模块(即,使未授权应用程序能够获得较高权限的模块)或将递增给予某些过程的权限。因此,验证是否已root设备的方法涉及扫描用于SU命令模块或用于递增某些过程的权限的设备。验证设备的完整性的其它方法涉及检查设备的文件***,检查用于某些核心代码的固定存储器位置或检查用于具有root/***权限的未知过程的设备存储器的动态部分。毫无疑问,恶意攻击者将适应这些扫描技术并且将不断地想出新方法来掩盖其踪迹,由此避免检测。
此类反恶意程序解决方案面临的共同问题是检测/保护程序通常安装在待保护的操作***中。因此,如果攻击者意识到在***中运行的此类反恶意程序解决方案的存在,攻击者可以实施使反恶意程序解决方案修改的攻击,由此有效地停用所述解决方案的有效性。简而言之,安装在正常操作空间内的反恶意程序解决方案总是易遭受精心设计的攻击。
用于确定设备的完整性的所提出方法涉及相对于原始核心内包含的数据周期性地检查设备核心的数据。执行此方法的模块提供于设备的安全状态内。验证模块通常安装在此类安全区域内,因为理论上仅超级用户或***管理员可以访问提供于此区域中的模块或对所述模块作出修改。这确保安装在此类安全区域内的模块将与攻击和未授权修改分离。
完成此的本领域中已知的解决方案是基于信任区的完整性测量架构(TrustZone-based Integrity Measurement Architecture,TIMA)解决方案。TIMA解决方案完全在信任环境中运行,因此没有攻击可以修改TIMA机构。然而,由于在TIMA解决方案中未利用安装在正常操作***内的应用程序,因此这表示TIMA解决方案可以仅检查简单攻击踪迹。例如,所述TIMA解决方案仅能够检查是否已修改核心代码(即,通过计算已知存储器区域的数字散列并且将结果与预定值相比较),并且仅能够用存储于信任环境中的秘密密钥来验证模块的标志。因此,所述TIMA解决方案不能够检测设备或设备的操作***的复杂变化,例如,已修改的数据、已改变的过程权限等。实际上,存在一些已知攻击工具,例如,可以用于在不被检测到的情况下攻击TIMA实施的设备的“towelroot”、“pingpong root”和“kingroot”。另外,对安装在信任环境内的应用程序或模块实施更新会困难得多。因此,信任环境中的这些模块不能够处理由于更新这些模块时的低效和困难引起的最新攻击。
用于验证设备的完整性或防止设备受到攻击的其它所提出方法涉及利用由远程服务器不断地更新的信息。通过分析攻击样本,远程服务器能够改进验证/保护过程的准确度和效率,并且此更新信息被周期性地更新到设备中。安全启动/信任启动/dm-verity是依赖于以下想法的其它解决方案:如果仅允许验证组件在***中加载和运行,可以检测和解决大部分攻击,如果不是全部的话。为了实现此,这些解决方案需要通过预安装模块验证待加载模块;由此预安装模块最初由硬件验证模块验证。另外,安全启动解决方案还确保在***启动之后使用称为“启动链”的技术执行重要组件。例如,在Linux操作***中,所提出的安全启动链解决方案在设备最初通电时实施以下启动顺序:
1)在制造设备之后,设备的处理器将从不可编辑的预定位置加载引导加载程序;
2)引导加载程序将验证和加载“u-boot”或通用启动引导,所述通用启动引导类似于BIOS对个人计算机执行的操作来处理设备的基本输入和输出过程;以及
3)u-boot随后将加载核心,所述核心加载Android***。
上文提出的安全启动解决方案允许使用硬件组件来执行验证。然而,仅当最初加载模块时执行这些验证,并且除此之外不执行其它验证步骤。因此,此解决方案无法保护操作***免受例如上述攻击工具的运行程序攻击。
出于以上原因,本领域技术人员不断地努力提出一种以高效且可靠的方式验证电子设备的***完整性的***和方法。
发明内容
通过根据本发明的实施例提供的***和方法解决了以上及其它问题并推进了本领域的发展。
根据本发明的***和方法的实施例的第一优点是在验证电子设备的***的完整性之前,将由安装在设备的信任环境内的验证模块验证扫描器模块的完整性,所述扫描器模块提供于设备的正常操作***内。此额外验证层确保不会影响***的可靠性。
根据本发明的***和方法的实施例的第二优点是扫描器模块的完整性的验证(此模块由此提供于正常操作***内)可以与验证设备的***完整性的步骤组合,由此消除对额外的耗时验证步骤的需求。
根据本发明的***和方法的实施例的第三优点是在使用仅可以由验证模块解密的加密方法对通过扫描器模块产生的响应进行加密时,不可能窜改、攻击或改变所述响应。
根据本发明的***和方法的实施例的第四优点是设备的***完整性的验证可以周期性地执行并且不限于仅当设备通电或启动时。
根据本发明的***和方法的实施例的第五优点是与验证模块不同,当扫描器模块安装在正常环境中时,扫描器模块可以容易地且不断地与最新反恶意程序、反root或反越狱程序更新。
由通过以下方式操作的根据本发明的方法的实施例提供以上优点。
根据本发明的第一方面,用于验证电子设备的***完整性的方法包括以下步骤:通过提供于电子设备中的安全环境内的验证器模块产生质询;将所述质询从验证器模块传输到提供于电子设备中的正常环境内的扫描器模块,其中所述质询指示扫描器模块在正常环境中执行完整性验证功能以产生响应;由扫描器模块对所述响应进行加密并且将加密响应传输到验证器模块;以及通过验证器模块验证扫描器模块的完整性,由此响应于确定验证扫描器模块的完整性而由验证器模块确定所述响应是否有效,由此响应于确定所述响应无效而执行缓解措施。
参考第一方面,在第一方面的第一可能实施方式中,验证扫描器模块的完整性的步骤包括由验证器模块对加密响应进行解密,由此响应于加密响应的成功解密而验证扫描器模块的完整性。
参考第一方面或第一方面的第一可能实施方式,在第一方面的第二可能实施方式中,电子设备中的安全环境包括用于电子设备的安全世界虚拟处理器。
参考第一方面、第一方面的第一或第二可能实施方式,在第一方面的第三可能实施方式中,电子设备中的正常环境包括用于电子设备的正常世界虚拟处理器。
参考第一方面、第一方面的第一、第二或第三可能实施方式,在第一方面的第四可能实施方式中,验证功能包括扫描核心代码;扫描进程列表;扫描存储器页表;或检查核心保护机构的状态和参数。
参考第一方面、第一方面的第一、第二、第三或第四可能实施方式,在第一方面的第五可能实施方式中,对响应进行加密包括通过私有或公共密钥对响应进行加密,其中所述私有或公共密钥提供于扫描器和验证器模块中。
参考第一方面、第一方面的第一、第二、第三、第四或第五可能实施方式,在第一方面的第六可能实施方式中,确定响应是否有效包括将响应与提供于安全环境中的安全数据库中包含的数据匹配,其中当未发现匹配时,所述响应确定为无效。
参考第一方面、第一方面的第一、第二、第三、第四、第五或第六可能实施方式,在第一方面的第七可能实施方式中,其中在使用验证器模块产生质询的步骤之前,所述方法包括通过验证器模块验证提供于正常环境内的扫描器模块的完整性。
参考第一方面的第七可能实施方式,在第一方面的第八可能实施方式中,验证提供于正常环境内的扫描器模块的完整性包括:由验证器模块产生验证响应请求并且将所述验证响应请求从验证器模块传输到扫描器模块,其中所述验证响应请求指示扫描器模块产生加密验证响应,并且将所述加密验证响应传输到验证器模块;以及由验证器模块确定所述加密验证响应是否有效,由此响应于确定所述响应无效而执行缓解措施。
参考第一方面的第八可能实施方式,在第一方面的第九可能实施方式中,确定加密验证响应是否有效包括由验证器模块对所述加密验证响应进行解密,由此响应于确定对所述验证响应进行解密而将解密验证响应与提供于安全环境中的安全数据库中包含的验证数据匹配,其中当未发现匹配时,验证响应确定为无效。
参考第一方面,或第一方面的第一、第二、第三、第四、第五、第六或第七可能实施方式,在第一方面的第十可能实施方式中,缓解措施包括防止提供于正常环境中的软件模块的执行。
参考本发明的第一方面,在第一方面的第十一可能实施方式中,安全环境是与正常环境分离的硬件。
参考第一方面,或第一方面的第一、第二、第三或第四可能实施方式,在第一方面的第十二可能实施方式中,混淆扫描器模块中的验证功能。
参考本发明的第一方面,在第一方面的第十三可能实施方式中,其中在使用验证器模块产生质询的步骤之前,所述方法包括通过电子设备检测电子设备的通电;以及在电子设备中的安全环境中加载验证模块。
参考本发明的第一方面或第一方面的第十三可能实施方式,在第一方面的第十四可能实施方式中,所述方法进一步包括:确定是否已经过预设时间间隔;以及当已经过预设时间间隔时重复用于验证电子设备的***完整性的方法。
根据本发明的第二方面,提供一种用于验证电子设备的***完整性的***,所述***包括:处理单元,所述处理单元具有安全环境和正常环境;以及由处理单元可读的非暂时性媒体,所述媒体存储当由处理单元执行时使处理单元执行以下操作的指令:
使用提供于安全环境内的验证器模块产生质询;
将质询从验证器模块传输到提供于正常环境内的扫描器模块,其中所述质询指示扫描器模块在正常环境中执行完整性验证功能以产生响应;
使用扫描器模块对响应进行加密,并且将加密响应传输到验证器模块;以及
使用验证器模块验证扫描器模块的完整性,由此响应于确定验证扫描器模块的完整性而使用验证器模块确定所述响应是否有效,由此响应于确定所述响应无效而执行缓解措施。
参考第二方面,在第二方面的第一可能实施方式中,其中用于验证扫描器模块的完整性的指令包括:
用于引导处理单元执行以下操作的指令:
使用验证器模块对加密响应进行解密,由此响应于加密响应的成功解密而验证扫描器模块的完整性。
参考第二方面或第二方面的第一可能实施方式,在第二方面的第二可能实施方式中,其中处理单元中的安全环境包括安全世界虚拟处理器。
参考第二方面、第二方面的第一或第二可能实施方式,在第二方面的第三可能实施方式中,其中处理单元中的正常环境包括正常世界虚拟处理器。
参考第二方面、第二方面的第一、第二或第三可能实施方式,在第二方面的第四可能实施方式中,其中验证功能包括:
用于引导处理单元执行以下操作的指令:
扫描核心代码;扫描进程列表;扫描存储器页表;或检查核心保护机构的状态和参数。
参考第二方面,或第二方面的第一、第二、第三或第四可能实施方式,在第二方面的第五可能实施方式中,其中用于对响应进行加密的指令包括:
用于引导处理单元执行以下操作的指令:
用私有或公共密钥对响应进行加密,其中所述私有或公共密钥提供于扫描器和验证器模块中。
参考第二方面、或第二方面的第一、第二、第三、第四或第五可能实施方式,在第二方面的第六可能实施方式中,其中用于确定响应是否有效的指令包括:
用于引导处理单元执行以下操作的指令:
将响应与提供于安全环境中的安全数据库中包含的数据匹配,其中当未发现匹配时,所述响应确定为无效。
参考第二方面或第二方面的第一、第二、第三、第四、第五或第六可能实施方式,在第二方面的第七可能实施方式中,其中在用于使用验证器模块产生质询的指令之前,所述指令包括:
用于引导处理单元执行以下操作的指令:
使用提供于安全环境内的验证器模块验证提供于正常环境内的扫描器模块的完整性。
参考第二方面的第七可能实施方式,在第二方面的第八可能实施方式中,其中用于验证提供于正常环境内的扫描器模块的完整性的指令包括:
用于引导处理单元执行以下操作的指令:
使用验证器模块产生验证响应请求并且将所述验证响应请求从验证器模块传输到扫描器模块,其中所述验证响应请求指示扫描器模块产生加密验证响应,并且将所述加密验证响应传输到验证器模块;以及
使用验证器模块确定加密验证响应是否有效,由此响应于确定所述响应无效而执行缓解措施。
参考第二方面的第八可能实施方式,在第二方面的第九可能实施方式中,其中用于确定加密验证响应是否有效的指令包括:
用于引导处理单元执行以下操作的指令:
使用验证器模块对加密验证响应进行解密,由此响应于确定对验证响应进行解密而将解密验证响应与提供于安全环境中的安全数据库中包含的验证数据匹配,其中当未发现匹配时,所述验证响应确定为无效。
参考第二方面、或第二方面的第一、第二、第三、第四、第五、第六或第七可能实施方式,在第二方面的第十可能实施方式中,其中缓解措施包括::
用于引导处理单元阻止提供于正常环境中的软件模块的执行的指令。
参考本发明的第二方面,在第二方面的第十一可能实施方式中,其中安全环境是与正常环境分离的硬件。
参考第二方面,或第二方面的第一、第二、第三或第四可能实施方式,在第二方面的第十二可能实施方式中,其中混淆扫描器模块中的验证功能。
参考本发明的第二方面,在第二方面的第十三可能实施方式中,其中在用于使用验证器模块产生质询的指令之前,所述***包括:
用于引导处理单元执行以下操作的指令:
检测电子设备的通电;以及
在电子设备中的安全环境中加载验证模块。
参考本发明的第二方面,或第二方面的第十三可能实施方式,在第二方面的第十四可能实施方式中,混淆扫描器模块。
附图说明
在以下详细描述中描述并在以下图式中示出根据本发明的以上优点和特征:
图1说明根据本发明的实施例的表示用于实施实施例的电子设备中的组件的框图;
图2说明根据本发明的实施例的处理器的安全环境和正常环境的示例性框图;
图3说明根据本发明的实施例的用于验证电子设备的完整性的时序图;
图4说明根据本发明的实施例的在用于电子设备的完整性验证的验证模块处执行的过程的流程图;
图5说明根据本发明的实施例的用于验证提供于正常环境内的扫描器模块的完整性的过程的流程图;以及
图6说明根据本发明的实施例的在用于产生验证扫描器模块和电子设备的完整性的加密响应的扫描器模块处执行的过程的流程图。
具体实施方式
本发明涉及一种用于验证电子设备的***完整性的***和方法。电子设备配备有安装在电子设备的安全环境内的验证器模块以及安装在电子设备的正常环境内的扫描器模块,由此安全环境包括与正常环境中的硬件分离的硬件,即,这两个环境是硬件分离的。
图1说明根据本发明的实施例的示出用于实施实施例的可以包含在电子设备100中的处理***和处理***的组件的框图。电子设备100可以包含但不限于,能够执行通信功能的任何设备,例如,智能手机、平板电脑、移动计算机、上网本、例如智能手表的可穿戴式电子设备等。本领域技术人员将认识到,每个电子设备的准确配置可以不同且每个电子设备的准确配置可以改变,并且图1仅通过实例方式提供。
在本发明的实施例中,电子设备100包括控制器101和用户接口102。用户接口102被布置成实现用户与电子设备100之间的手动交互,并且出于此目的包含用户输入指令以控制电子设备100所需的输入/输出组件。本领域技术人员将认识到,用户接口102的组件在实施例之间可以不同,但是通常将包含显示器140、键盘135和触控板136中的一个或多个。
控制器101通过总线115与用户接口102进行数据通信并且包含存储器120;安装在电路板上的中央处理单元(Central Processing Unit,CPU)105,所述CPU处理用于执行此实施例的方法的指令和数据;操作***106;在此实施例中采用网卡150形式的输入/输出(input/output,I/O)接口130,用于与用户接口102和通信接口通信。网卡150可以例如用于通过有线或无线网络将数据从电子设备100发送到其它处理设备或通过有线或无线网络接收数据。网卡150可以使用的无线网络包含但不限于,无线保真(Wireless-Fidelity,Wi-Fi)、蓝牙、近场通信(Near Field Communication,NFC)、蜂窝网络、卫星网络、电信网络、广域网(Wide Area Network,WAN)等。
存储器120和操作***106通过总线110与CPU 105进行数据通信。存储器组件包含易失性和非易失性存储器两者以及每种类型的存储器中的多于一个存储器,包含随机存取存储器(Random Access Memory,RAM)120、只读存储器(Read Only Memory,ROM)125和大容量存储设备145,最后一个包括一个或多个固态驱动器(solid-state drive,SSD)。本领域技术人员将认识到,存储器组件包括非暂时性计算机可读媒体并且应视为除了暂时性传播信号之外包括所有计算机可读媒体。通常,指令作为程序代码存储于存储器组件中,但还可以硬接线。存储器120可以包含核心和/或编程模块,例如,可以存储于易失性或非易失性存储器中的软件应用程序。
本文中的术语“CPU”用于一般指代可以处理此类指令的任何设备或组件,并且可以包含:微处理器、微控制器、可编程逻辑设备或其它计算设备。也就是说,CPU 105可以由任何合适的逻辑电路提供,用于接收输入,根据存储于存储器中的指令处理所述输入并且产生输出(例如,到达存储器组件或在显示器140上)。在此实施例中,CPU 105可以是具有存储器可寻址空间的单核或多核处理器。在一个实例中,CPU 105可以是多核CPU,包括例如8核CPU。
图2说明根据本发明的实施例的用于提供安全环境虚拟处理器210(下文称为“安全环境”)和正常环境虚拟处理器205(下文称为“正常环境”)的处理器105的示例性框图。正常环境205可以包含用于以最少安全设置在正常模式下操作的操作***206、核心222、应用程序224和扫描器220。相反地,安全环境210可以配备有安全操作***、安全核心、安全数据库235和安全验证器模块230。
安全环境210可以与普通环境205硬件分离,由此确保位于正常环境内的应用程序、核心、模块和操作***可以不接入提供于安全环境内的应用程序、核心、模块和操作***。此基于硬件的分离可以通过,但不限于,处理器架构提供,所述处理器架构由高级精简指令集机器(Advanced RISC Machine,ARM)提供。在ARM处理器中,此基于硬件的分离被实施为信任区技术。ARM处理器的信任区技术实现基于硬件的分离以将在单个物理处理器核心上执行的代码分成两个环境,即,安全环境和正常环境。本领域技术人员将认识到,图2中所说明的软件或模块,例如,安装在安全环境210和正常环境205中的模块可以使用用于此类操作***的开发代码写入,或可以从针对此类操作***编码的现有种类或组件修改以执行如下所述的每个模块所需的过程,并且数据或信息可以按需要在这些模块之间传送。
安装在安全环境内的组件受到严格的安全要求,并且因此可以执行受限功能且仅可以由设备的制造商或设备的超级用户接入或修改。这使更新安全环境内的应用程序、模块或核心变成冗长且不切实际的选项。
提供于正常环境205内的操作***206可以包含任意操作***,例如,Android、Linux、iPhone OS(iOS)或适合用于电子设备100或移动设备中的任何其它操作***。核心222和/或应用程序224可以执行用于管理电子设备100的资源的指令。提供于正常环境205内的扫描器模块220可以用于将指令或命令提供到操作***206、核心222或应用程序224,并且还可以用于从这些组件中的每一个接收响应。然而,应注意,正常环境205中的组件可以不接入或控制提供于安全环境210内的组件,例如,数据库235或验证器230。然而,安装在正常环境中的组件可以将数据发送到安装在安全环境210中的组件或从所述组件接收指令。从正常环境205的组件传输的数据可以不包含命令或指令,因为此本质的数据不会由安全环境210中的组件来处理。
图3说明根据本发明的实施例的用于验证电子设备100的完整性的时序图。如先前在图2中所说明,验证器模块230提供于安全环境210内。验证器模块210可以包括用于产生指令(下文中称为“质询”)或各种类型的请求,例如验证请求的应用程序或安全应用程序,所述指令或请求随后传输到正常环境205中的组件。图2中所说明的***通过以下方式操作。验证器230首先将产生包含将由扫描器模块220执行的特定指令的质询。在本发明的实施例中,可以使用公共密钥或私有密钥加密对此质询进行加密,由此对应公共或私有密钥先前已提供到扫描器模块220。在步骤305处,所产生质询随后传输到扫描器模块220。在接收质询之后,扫描器模块220将执行质询内包含的指令。如果已对质询进行加密,扫描器模块220将使用合适的解密密钥对质询进行解密并且随后将执行质询内包含的指令。这样确保质询、质询中包含的指令以及指令中指定的扫描功能/目标保持对所有其它模块和/或过程保密。
所述指令可以包含用于扫描器模块220执行用于验证操作***206的完整性的步骤的命令,并且此指令可以使用由操作***206提供的默认特征和功能来完成。在本发明的实施例中,指令可以包含但不限于,用于扫描器模块220执行算法的命令,以针对已知恶意代码扫描核心222中的代码、扫描进程列表、检查存储器120以root或越狱踪迹、扫描存储器120的页表、检查核心222或应用程序224的状态和权限参数。所有这些完整性验证算法可以存储于扫描器模块220内。在本发明的实施例中,扫描器模块220内包含的完整性验证算法和/或扫描器模块220可以混淆,由此阻止扫描器模块220和这些代码由恶意攻击者检索和/或分析。应注意,混淆的扫描器模块220仍可以执行从验证器模块210接收的指令。换句话说,在扫描器模块220能够执行所接收指令之前所扫描模块220不需要是未混淆的。因此,混淆的扫描器模块220将一直总保持混淆。通过使验证指令加密以及通过使扫描器模块220混淆,这确保双倍地保护提供于正常操作环境205内的扫描器模块220,以免受正常环境205中的其它模块的未授权访问。本领域技术人员将认识到,在不脱离本发明的情况下,当开发新更新以寻址新发现的恶意代码或攻击时可以将新验证算法提供到扫描器模块220。在扫描器模块安装在正常操作环境205内时,这些更新可以容易地安装在扫描器模块220中。在步骤310处,通过扫描器模块220进行完整性验证算法的执行。
在已执行验证功能之后,验证结果和来自相应核心、应用程序和/或模块的响应随后将返回到扫描器模块220。这在步骤315处发生。所述响应都在扫描器模块220处整理,所述扫描器模块随后继续使用提供于扫描器模块220内的公共或私有密钥对所整理响应进行加密。本领域技术人员将认识到,在不脱离本发明的情况下,其它加密或可能甚至混淆技术可以用于对所整理响应进行加密。在步骤320处,加密的所整理响应随后传输到验证器模块230。
验证器模块230随后将使用加密响应来验证扫描器模块220的完整性。在本发明的实施例中,如果验证器模块230成功地对加密响应进行解密,这表示在相同加密密钥和/或算法用于对响应进行加密时扫描器模块220的完整性尚未受损。为了对加密响应进行解密,验证器模块230将必须从安全数据库235检索秘密公共/私有密钥。这在步骤325中发生。
数据库235将通过验证器模块230分析请求以确定所述请求是否是有效请求,即,所请求的秘密密钥是否包含在所述数据库的记录内。如果所请求的秘密密不可用,这可以触发***的完整性已受损的警告。相反地,如果可以成功地检索秘密密钥,在步骤330处此秘密密钥随后转发到验证器模块230。
验证器模块230随后将利用秘密密钥来对加密响应进行解密。如果响应不可以进行解密或如果解密产生无意义结果,这将强在很大程度上暗示扫描器模块220已受损并且随后将通过验证器模块230执行缓解措施。在本发明的实施例中,缓解措施可以包含:锁住电子设备,由此防止其它应用程序运行;使电子设备断电;和/或将通知服务器缓解措施已在电子设备上起始的警报发送到远程服务器。本领域技术人员将认识到,在不脱离本发明的情况下可以获取其它缓解步骤。或者,如果响应成功地进行解密,这表示扫描器模块220的完整性完好并且响应随后由验证器模块230进一步分析。
基于早期产生的质询内包含的命令,验证器模块230随后将从安全数据库235检索预期的一组结果。随后将从数据库235检索的结果与解密响应中包含的结果相比较。如果两组结果匹配或满足内部检查表,响应随后确定为有效并且验证模块230随后确定电子设备100的完整性尚未受损。或者,如果结果不匹配或如果不符合检查表的所有内容,这表示电子设备100的完整性已损坏并且随后必须由验证器模块230执行缓解措施。如上文所提及,可以通过验证器模块230获取的缓解措施包含但不限于:锁住电子设备,由此防止其它应用程序运行;使电子设备断电;和/或将通知服务器缓解措施已在电子设备上起始的警报发送到远程服务器。
在本发明的示例性实施例中,本发明的***可以实施为用于个人自带设备(Bring-Your-Own-Device,BYOD)***中的设备的反root检测***。在BYOD***中,允许员工使用自己的电子设备来查看公司的机密数据。为了确保不损坏这些数据的机密性,公司需要确保电子设备具有完好的操作***(operating system,OS),也就是说,尚未root或越狱的OS。总而言之,公司需要确保由设备的操作***实施的安全措施保持完好,由此用户仅授予受限访问控制权限。
在本发明的此实施例中,当员工将其设备添加到BYOD***时,两个程序或模块首先安装在电子设备中。第一程序或模块是将安装在设备的信任执行环境(TrustedExecution Environment,TEE)或其等效安全环境中的验证器模块,并且第二程序是将安装在设备的丰富执行环境(Rich Execution Environment,REE)或其等效正常环境中的扫描器模块。
验证器模块将包含验证器模块可以要求扫描器模块执行的任务的列表,例如,扫描核心代码、扫描进程列表、检查SU模块、扫描存储器页表、检查核心保护机构的状态和参数等等。可以使用提供于验证器模块内的请求发送方程序来选择这些任务,由此此程序将验证请求或包含目标/命令的集合的质询发送到扫描器模块。在本发明的实施例中,请求发送方程序可以配备有计时器和函数回调处理器,使得请求发送方程序可以周期性地或在重要BYOD功能将启动时开始。
验证器模块还可以包含私有密钥(所述私有密钥也可以是对称解密密钥),验证算法可以使用所述私有密钥来解密和验证由扫描器模块发送回的响应。除了上述内容之外,验证器模块还包含用于执行缓解措施的响应处理器,所述缓解措施例如,锁住手机,关闭手机和/或响应于接收失效响应或响应的不成功解密而通知响应授权。
安装在REE环境中的扫描器模块包含公共密钥(所述公共密钥也可以是对称加密密钥),所述公共密钥可以用于对将发送到验证器模块的响应进行加密并且所述公共密钥可以通过混淆和白盒技术保护。扫描器模块还包含用于执行从验证器模块接收的指令或命令的一组扫描算法,并且还可以混淆这些算法。扫描器模块还包含响应算法,所述响应算法在将加密结果发送回验证器之前利用公开密钥对扫描算法的结果进行加密。在本发明的实施例中,扫描器模块实施为操作***的***模块,例如,如果操作***是Android操作***;扫描器模块将实施为可以由Android核心加载的Android***模块。
在本发明的实施例中,每当电子设备启动或通电时(在加载通用启动之前或刚好在加载通用启动之后)可以自动地加载验证器模块。此启动顺序类似于本领域中已知的安全启动链技术。在已加载验证器模块之后,所述验证器模块保持在设备的TEE中,并且由此通过硬件隔离免受安装在REE中的应用程序的影响。这表示在验证器模块正运行时,恶意攻击者无法卸载模块或修改模块的设置。类似地,在安全启动链加载REE中的核心之后,安全启动链将加载REE或正常环境中的扫描器模块。刚好在已加载扫描器模块之后以及在加载操作***之前,扫描器模块将扫描核心并且将正确核心的参考发送到验证器。此后,加载REE中的操作***并且所述操作***照常执行。
在本发明的其它实施例中,可以用5分钟至1小时之间的随机时间间隔周期性地执行验证器模块。这表示验证器模块将周期性地请求扫描器模块执行***完整性扫描。在此***完整性扫描期间执行如图3中所示的步骤305至330。调节随机间隔以实现设备的性能与设备的安全性之间的平衡。为了进一步改进效率,验证器模块可以基于设备的电源状态、设备的电荷状态、设备的CPU工作负载、日期时间等而调节执行时间间隔。应注意,可以从设备的TEE或安全环境内包含的核心和应用程序中获得验证器模块所需的所有必需信息。
在本发明的另一示例性实施例中,本发明的***可以实施为在可以在电子设备与金融机构之间执行在线交易应用之前验证设备的完整性的预在线交易***。在此实施例中,***确保在在线交易期间保护敏感数据,例如,设备中包含的财务数据。此外,***还将确保交易实际上由用户授权。再者,在此实施例中,***还会验证密钥记录器应用程序不在设备的***中运行以试图窃取用户的密码或任何其它敏感信息。
类似地,验证器模块安装在设备的信任执行环境(Trusted ExecutionEnvironment,TEE)或其等效安全环境中,并且扫描器模块安装在设备的丰富执行环境(Rich Execution Environment,REE)或其等效正常环境中。
在此实施例中,在验证器产生质询并将质询传输到扫描器模块之前,即在步骤305之前,验证器模块将首先验证扫描器模块的完整性。这可以通过验证扫描器模块的数字签名,或通过检查扫描器模块的存储器内容来完成。例如,对应金融机构将具有用于计算批准的扫描器模块的数字签名的私有密钥,并且验证器模块将具有用于验证扫描器模块实际上是已由银行数字签名的正确版本的对应公共密钥。公共密钥通常存储于在TEE中提供的安全数据库中。每当与金融机构相关联的程序需要更新扫描器模块(例如,以支持新功能,或编辑允许的进程列表等)时,金融机构将发布扫描器模块的新版本以及对应数字签名(例如,通过在线门户)。用户随后将必须下载更新并且将所述更新安装在其设备上。验证器将使用模块的数字签名周期性地检查扫描器模块的完整性,以便防止通过新的恶意程序/攻击记录或捕获用户的机密数据(例如,密码)。由于验证器模块更新起来困难得多,因此将新验证目标添加到扫描器模块,其方式为使得原始验证器模块仍能够验证由扫描器模块执行的更新扫描动作的响应。关于可以如何实现此的一个实例是来自扫描器模块的响应将包含已使用银行私有密钥数字签名的预期结果。
在扫描器模块的完整性已受损的情况下或如果通过扫描器模块产生的响应尚未得到验证,即,已损坏***,验证器模块将执行缓解措施,例如,通知金融机构对应模块或***的完整性已损坏。在一些情形下,即使在从设备接收此通知之后,如果金融机构确定风险可接受,仍可以允许交易进行。因此,为了金融机构执行适当的威胁评估分析,验证器模块还必须提供关于在将通知传输到金融机构时完整性验证误差的细节,即,关于正运行的应用程序、不符合的目标、从扫描器模块返回的结果等的细节。
根据本发明的实施例,用于验证电子设备的***完整性的方法包括以下四个步骤:
步骤1,通过提供于电子设备中的安全环境内的验证器模块产生质询;
步骤2,将质询从验证器模块传输到提供于电子设备中的正常环境内的扫描器模块,其中质询指示扫描器模块在正常环境中执行完整性验证功能以产生响应;
步骤3,通过扫描器模块对响应进行加密并将加密响应传输到验证器模块;以及
步骤4,通过验证器模块验证扫描器模块的完整性,由此响应于确定验证扫描器模块的完整性而通过验证器模块确定所述响应是否有效,由此响应于确定所述响应无效而执行缓解措施。
为了提供此***或方法,需要用于使用安装在设备的安全环境内的验证器模块以及安装在设备的正常环境内的扫描器模块验证电子设备的***完整性的过程。以下描述以及图4至6描述提供根据本发明的过程的过程的实施例。
图4说明根据本发明的实施例的由安装在电子设备的安全环境内的验证器模块执行以验证设备的***完整性的过程400。通过产生将传输到提供于电子设备的正常环境内的扫描器模块的质询,过程400开始于步骤405。质询将包含待由扫描器模块执行以验证***的完整性的特定指令。在已产生质询之后,所述质询随后由扫描器模块传输和执行。在步骤410处,过程400随后从扫描器模块接收加密响应。在步骤415处,随后通过过程400对所述响应进行解密。过程400可以使用存储于验证器模块内的私有和/或公共密钥对加密响应进行解密,或过程400可以从提供于安全环境内的安全数据库检索必需的秘密密钥。如果未成功地对加密响应进行解密,过程400前进到步骤420,由此过程400随后前进以执行必需的缓解措施。过程400随后结束。
或者,如果在步骤415处已成功地对响应进行解密,过程400将前进到步骤425。在步骤425处,过程400将检查响应以确定将从安全数据库检索的所需数据或检查表。过程400随后将所检索数据与解密响应中包含的数据相比较,以确定响应的有效性。这在步骤430处发生。如果过程400确定响应有效,这表示***的完整性完好并且过程400前进到步骤A。相反地,如果响应确定为无效,过程400替代地前进到步骤420,由此通过过程400执行缓解措施。过程400随后结束。
在本发明的其它实施例中,如果验证器模块在步骤A处接收电子设备已断电且正通电(即,启动)的指示,验证器模块首先将在执行任何其它过程之前启动并且将执行过程400。在可以启动正常环境中的核心或操作***之前,过程400随后将使步骤405至430重复。在本发明的又另一个实施例中,在步骤A处,在已经过预设时间间隔或周期之后,过程400将使步骤405至430重复以验证电子设备的***完整性。
在本发明的另一实施例中,在过程400在步骤405处产生质询之前,过程400将首先验证安装在正常环境中的扫描器模块的完整性。在图4中,此预质询验证在步骤B处发生。图5说明根据本发明的实施例的由验证器模块执行以验证扫描器模块的完整性的过程500。过程500开始于步骤505处,由此产生验证响应请求。验证响应请求将使扫描器模块使用验证器和扫描器模块两者已知的秘密密钥(例如,私有或公共密钥)来产生加密响应。在已产生请求之后,请求随后传输到扫描器模块。扫描器模块随后将执行所接收请求内包含的指令。在步骤510处,过程500随后从扫描器模块接收加密验证响应。在步骤515处,过程500随后继续验证所接收响应。响应的验证可以涉及加密响应的解密,由此如果成功地解密响应,这向过程500意味着响应有效。相反地,如果无法成功地对响应进行解密,这指示响应无效。如果在步骤515处过程500确定响应有效,过程500随后结束。然而,如果在步骤515处确定响应无效,过程500将前进到步骤520,由此将执行缓解措施。过程500随后结束。
图6说明根据本发明的实施例的通过安装在电子设备的正常环境内的扫描器模块执行以产生用于验证扫描器模块和电子设备的完整性的加密响应的过程600。过程600开始于步骤605处,由此过程600从验证器模块接收质询。扼要重述一下,质询将包含将由过程600执行的所有验证步骤。在步骤610处,过程600随后继续执行如在质询中所指示的所有验证功能。在已完成每个功能之后,过程600将手机针对每个特定功能产生的响应并且将所有响应整理成单个通用响应。在步骤615处,随后使用秘密密钥(例如,私有密钥或公共密钥)对通用响应进行加密。此加密响应随后在步骤620处传输到验证器模块,并且过程600随后结束。
以上是如在所附权利要求书中阐述的根据本发明的***和过程的实施例的描述。设想可以设计并将设计落入所附权利要求书的范围内的替代方案。

Claims (18)

1.一种用于验证电子设备的***完整性的方法,其特征在于,所述方法包括:
通过提供于所述电子设备中的安全环境内的验证器模块产生质询;
将所述质询从所述验证器模块传输到提供于所述电子设备中的正常环境内的扫描器模块,其中所述质询指示所述扫描器模块在所述正常环境中执行完整性验证功能以产生响应;
通过所述扫描器模块对所述响应进行加密并将所述加密响应传输到所述验证器模块;以及
通过所述验证器模块对所述加密响应进行解密,由此响应于所述加密响应的成功解密而验证所述扫描器模块的完整性,由此响应于确定验证所述扫描器模块的所述完整性而通过所述验证器模块确定所述响应是否有效,由此响应于确定所述响应无效而执行缓解措施。
2.根据权利要求1所述的方法,其特征在于,所述验证功能包括:
扫描核心代码;
扫描进程列表;
扫描存储器页表;或
检查核心保护机构的状态和参数。
3.根据权利要求1或2所述的方法,其特征在于,所述确定所述响应是否有效包括:
将所述响应与提供于所述安全环境中的安全数据库中包含的数据匹配,其中当未发现匹配时,所述响应确定为无效。
4.根据权利要求1或2所述的方法,其特征在于,在使用所述验证器模块产生所述质询的步骤之前,所述方法包括:
通过所述验证器模块验证提供于所述正常环境内的所述扫描器模块的完整性。
5.根据权利要求4所述的方法,其特征在于,所述验证提供于所述正常环境内的所述扫描器模块的所述完整性包括:
通过所述验证器模块产生验证响应请求并且将所述验证响应请求从所述验证器模块传输到所述扫描器模块,其中所述验证响应请求指示所述扫描器模块产生加密验证响应并且将所述加密验证响应传输到所述验证器模块;以及
通过所述验证器模块确定所述加密验证响应是否有效,由此响应于确定所述响应无效而执行所述缓解措施。
6.根据权利要求5所述的方法,其特征在于,所述确定所述加密验证响应是否有效包括:
通过所述验证器模块对所述加密验证响应进行解密,由此响应于确定对所述验证响应进行解密而将所述解密验证响应与提供于所述安全环境中的安全数据库中包含的验证数据匹配,其中当未发现匹配时,所述验证响应确定为无效。
7.根据权利要求1、2、5、6中任一项所述的方法,其特征在于,所述缓解措施包括:
阻止执行提供于所述正常环境中的软件模块。
8.根据权利要求1、2、5、6中任一项所述的方法,其特征在于,所述电子设备中的所述安全环境包括用于所述电子设备的安全世界虚拟处理器,所述电子设备中的所述正常环境包括用于所述电子设备的正常世界虚拟处理器,并且所述安全环境与所述正常环境硬件隔离。
9.根据权利要求1、2、5、6中任一项所述的方法,其特征在于,进一步包括:
确定是否已经过预设时间间隔;以及
当已经过所述预设时间间隔时,重复用于验证所述电子设备的所述***完整性的所述方法。
10.一种用于验证电子设备的***完整性的***,其特征在于,所述***包括:
处理单元,所述处理单元具有安全环境和正常环境;以及
可通过所述处理单元读取的非暂时性媒体,所述媒体存储当由所述处理单元执行时使所述处理单元执行以下操作的指令:
使用提供于所述安全环境内的验证器模块产生质询;
将所述质询从所述验证器模块传输到提供于所述正常环境内的扫描器模块,其中所述质询指示所述扫描器模块在所述正常环境中执行完整性验证功能以产生响应;
使用所述扫描器模块对所述响应进行加密,并且将所述加密响应传输到所述验证器模块;以及
使用所述验证器模块对所述加密响应进行解密,由此响应于所述加密响应的成功解密而验证所述扫描器模块的所述完整性,由此响应于确定验证所述扫描器模块的所述完整性而使用所述验证器模块确定所述响应是否有效,由此响应于确定所述响应无效而执行缓解措施。
11.根据权利要求10所述的***,其特征在于,所述验证功能包括:
用于引导所述处理单元执行以下操作的指令:
扫描核心代码;
扫描进程列表;
扫描存储器页表;或
检查核心保护机构的状态和参数。
12.根据权利要求10或11所述的***,其特征在于,用于确定所述响应是否有效的所述指令包括:
用于引导所述处理单元执行以下操作的指令:
将所述响应与提供于所述安全环境中的安全数据库中包含的数据匹配,其中当未发现匹配时,所述响应确定为无效。
13.根据权利要求10或11所述的***,其特征在于,在用于使用所述验证器模块产生所述质询的所述指令之前,所述指令包括:
用于引导所述处理单元执行以下操作的指令:
使用提供于所述安全环境内的所述验证器模块验证提供于所述正常环境内的所述扫描器模块的完整性。
14.根据权利要求13所述的***,其特征在于,用于验证提供于所述正常环境内的所述扫描器模块的所述完整性的所述指令包括:
用于引导所述处理单元执行以下操作的指令:
使用所述验证器模块产生验证响应请求并且将所述验证响应请求从所述验证器模块传输到所述扫描器模块,其中所述验证响应请求指示所述扫描器模块产生加密验证响应,并且将所述加密验证响应传输到所述验证器模块;以及
使用所述验证器模块确定所述加密验证响应是否有效,由此响应于确定所述响应无效而执行所述缓解措施。
15.根据权利要求14所述的***,其特征在于,用于确定所述加密验证响应是否有效的所述指令包括:
用于引导所述处理单元执行以下操作的指令:
使用所述验证器模块对所述加密验证响应进行解密,由此响应于确定对所述验证响应进行解密而将所述解密验证响应与提供于所述安全环境中的安全数据库中包含的验证数据匹配,其中当未发现匹配时,所述验证响应确定为无效。
16.根据权利要求10、11、14、15中任一项所述的***,其特征在于,所述缓解措施包括:
用于引导所述处理单元阻止执行提供于所述正常环境中的软件模块的指令。
17.根据权利要求10、11、14、15所述的***,其特征在于,所述电子设备中的所述安全环境包括用于所述电子设备的安全世界虚拟处理器,所述电子设备中的所述正常环境包括用于所述电子设备的正常世界虚拟处理器,并且所述安全环境与所述正常环境硬件隔离。
18.根据权利要求10、11、14、15所述的***,其特征在于,所述***进一步包括:
用于引导所述处理单元执行以下操作的指令:
确定是否已经过预设时间间隔;以及
当已经过所述预设时间间隔时,重复用于验证所述电子设备的所述***完整性的所述***。
CN201780001186.4A 2016-03-29 2017-03-03 用于验证电子设备的完整性的***和方法 Active CN107438849B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG10201602449P 2016-03-29
SG10201602449PA SG10201602449PA (en) 2016-03-29 2016-03-29 System and method for verifying integrity of an electronic device
PCT/SG2017/050102 WO2017171634A1 (en) 2016-03-29 2017-03-03 System and method for verifying integrity of an electronic device

Publications (2)

Publication Number Publication Date
CN107438849A CN107438849A (zh) 2017-12-05
CN107438849B true CN107438849B (zh) 2020-09-04

Family

ID=58361065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780001186.4A Active CN107438849B (zh) 2016-03-29 2017-03-03 用于验证电子设备的完整性的***和方法

Country Status (7)

Country Link
US (1) US10659237B2 (zh)
EP (1) EP3262560B1 (zh)
JP (1) JP6556864B2 (zh)
KR (1) KR102157560B1 (zh)
CN (1) CN107438849B (zh)
SG (1) SG10201602449PA (zh)
WO (1) WO2017171634A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138315B2 (en) * 2018-01-17 2021-10-05 Hewlett Packard Enterprise Development Lp Data structure measurement comparison
JP6706278B2 (ja) * 2018-03-27 2020-06-03 キヤノン株式会社 情報処理装置、及び情報処理方法
EP3900286A1 (en) 2018-12-18 2021-10-27 Telefonaktiebolaget Lm Ericsson (Publ) Attestation of a platform entity
KR102137894B1 (ko) * 2018-12-18 2020-07-24 서울여자대학교 산학협력단 커널 무결성 검사 장치 및 방법
KR102031248B1 (ko) 2019-01-14 2019-10-11 충남대학교산학협력단 보안 모듈을 이용한 실행 환경의 안전성 검증 방법
US11228910B2 (en) * 2019-01-25 2022-01-18 V440 Spó£Ka Akcyjna Mobile communication device and method of determining security status thereof
JP7282616B2 (ja) * 2019-06-27 2023-05-29 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
EP3816830B1 (en) 2019-10-30 2023-07-12 Nxp B.V. Device, integrated circuit and methods therefor
US11436343B2 (en) * 2019-12-31 2022-09-06 Arm Limited Device, system, and method of policy enforcement for rich execution environment
CN111224867B (zh) * 2020-01-03 2021-10-15 清华大学深圳国际研究生院 一种基于多核异构硬件虚拟化的智能网关方法
US20230177894A1 (en) 2020-04-27 2023-06-08 Mitsubishi Electric Corporation Information processing apparatus and information processing method
CN112231652B (zh) * 2020-10-28 2022-02-22 百度在线网络技术(北京)有限公司 可信环境远程验证方法、装置、设备、***及介质
CN113806787A (zh) * 2021-11-19 2021-12-17 苏州浪潮智能科技有限公司 一种arm平台自动解密的方法、装置、设备及可读介质
KR20240071901A (ko) 2022-11-16 2024-05-23 부산대학교 산학협력단 임베디드 시스템의 무결성 보장 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
CN101103584A (zh) * 2003-02-07 2008-01-09 Broadon通信公司 安全及后向兼容处理器以及在其上的安全软件的执行
CN101685487A (zh) * 2008-09-22 2010-03-31 株式会社Ntt都科摩 Api检查装置以及状态监视装置
CN104221028A (zh) * 2012-04-18 2014-12-17 施耐德电器工业公司 微控制器的存储器空间的安全管理的方法
CN104809413A (zh) * 2015-05-13 2015-07-29 上海瓶钵信息科技有限公司 基于TrustZone技术的移动平台可信用户界面框架

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60044844D1 (de) * 1999-02-15 2010-09-30 Hewlett Packard Co Kommunikation zwischen modulen in einer rechenvorrichtung
GB2376765B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments with verifiable environment identities
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
FR2849230B1 (fr) 2002-12-24 2005-04-22 Francois Bangui Procede et dispositif de verification de l'integrite d'une application logicielle sans cle de chiffrement/dechiffrement
US7509644B2 (en) * 2003-03-04 2009-03-24 Secure 64 Software Corp. Operating system capable of supporting a customized execution environment
GB0411654D0 (en) * 2004-05-25 2004-06-30 Hewlett Packard Development Co A generic trusted platform architecture
US8006100B2 (en) * 2004-06-10 2011-08-23 Oracle America, Inc. Enhancing trusted platform module performance
JP4664055B2 (ja) * 2004-12-10 2011-04-06 株式会社エヌ・ティ・ティ・ドコモ プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
US7640583B1 (en) 2005-04-01 2009-12-29 Microsoft Corporation Method and system for protecting anti-malware programs
US20060236122A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Secure boot
FR2887097A1 (fr) 2005-06-14 2006-12-15 France Telecom Procede de protection d'un code-source en langage semi-interprete
JP4775744B2 (ja) * 2007-10-19 2011-09-21 インテル・コーポレーション 信頼できる共存環境をラウンチする方法およびプログラム
US8239967B2 (en) 2008-01-15 2012-08-07 Microsoft Corporation Simultaneous tamper-proofing and anti-piracy protection of software
US8650399B2 (en) * 2008-02-29 2014-02-11 Spansion Llc Memory device and chip set processor pairing
US8051097B2 (en) 2008-12-15 2011-11-01 Apple Inc. System and method for authentication using a shared table and sorting exponentiation
US20120204266A1 (en) 2009-10-12 2012-08-09 Samsung Sds Co., Ltd. Method for providing an anti-malware service
GB2482652B (en) 2010-05-21 2016-08-24 Hewlett Packard Development Co Lp Extending integrity measurements in a trusted device using a policy register
US9118666B2 (en) * 2010-06-30 2015-08-25 Google Inc. Computing device integrity verification
US8996851B2 (en) * 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
US8924715B2 (en) * 2010-10-28 2014-12-30 Stephan V. Schell Methods and apparatus for storage and execution of access control clients
US9087199B2 (en) * 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
US8914876B2 (en) 2011-05-05 2014-12-16 Ebay Inc. System and method for transaction security enhancement
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
KR101897605B1 (ko) 2012-02-24 2018-09-12 삼성전자 주식회사 휴대 단말기의 무결성 보호 방법 및 장치
US9867043B2 (en) * 2012-08-28 2018-01-09 Visa International Service Association Secure device service enrollment
CN103544434B (zh) 2013-11-12 2016-08-24 北京网秦天下科技有限公司 用于确保应用程序安全运行的方法和终端
KR102183852B1 (ko) * 2013-11-22 2020-11-30 삼성전자주식회사 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
US9521125B2 (en) 2014-03-13 2016-12-13 Intel Corporation Pseudonymous remote attestation utilizing a chain-of-trust
US9292692B2 (en) * 2014-05-05 2016-03-22 Sypris Electronics, Llc System and device for verifying the integrity of a system from its subcomponents
US9654499B2 (en) * 2014-06-20 2017-05-16 Vencore Labs, Inc. System and Method for mitigating TOC/TOU attacks in a cloud computing enviroment
JP6181004B2 (ja) * 2014-06-20 2017-08-16 株式会社東芝 メモリ管理装置、プログラム、及び方法
CN106415575B (zh) 2014-06-25 2020-03-20 英特尔公司 硬件配置报告***
JP6257460B2 (ja) * 2014-06-25 2018-01-10 Kddi株式会社 遠隔完全性検証システム、方法及びプログラム
CN104202168A (zh) 2014-09-19 2014-12-10 浪潮电子信息产业股份有限公司 一种基于可信第三方的云数据完整性验证方法
CN104598838B (zh) 2015-01-23 2016-03-30 浙江远望软件有限公司 一种随机校验及提供可信操作环境的文件存储与编辑方法
CN105468980B (zh) 2015-11-16 2018-07-03 华为技术有限公司 一种安全管控的方法、装置及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
CN101103584A (zh) * 2003-02-07 2008-01-09 Broadon通信公司 安全及后向兼容处理器以及在其上的安全软件的执行
CN101685487A (zh) * 2008-09-22 2010-03-31 株式会社Ntt都科摩 Api检查装置以及状态监视装置
CN104221028A (zh) * 2012-04-18 2014-12-17 施耐德电器工业公司 微控制器的存储器空间的安全管理的方法
CN104809413A (zh) * 2015-05-13 2015-07-29 上海瓶钵信息科技有限公司 基于TrustZone技术的移动平台可信用户界面框架

Also Published As

Publication number Publication date
EP3262560A1 (en) 2018-01-03
US10659237B2 (en) 2020-05-19
SG10201602449PA (en) 2017-10-30
US20180019880A1 (en) 2018-01-18
WO2017171634A1 (en) 2017-10-05
JP6556864B2 (ja) 2019-08-07
JP2018519705A (ja) 2018-07-19
KR20180013854A (ko) 2018-02-07
EP3262560B1 (en) 2020-04-22
CN107438849A (zh) 2017-12-05
KR102157560B1 (ko) 2020-09-18

Similar Documents

Publication Publication Date Title
CN107438849B (zh) 用于验证电子设备的完整性的***和方法
CN112074836B (zh) 通过可信执行环境保护数据的设备和方法
US11477036B2 (en) Devices and methods for application attestation
EP2369520B1 (en) Computer architecture for an electronic device providing sls access to mls file system with trusted loading and protection of program execution memory
Wang et al. Enabling security-enhanced attestation with Intel SGX for remote terminal and IoT
KR101296483B1 (ko) 네트워크와의 통신을 위한 장치의 검증 및/또는 인증
US20170230179A1 (en) Password triggered trusted encrytpion key deletion
WO2016195880A1 (en) System, apparatus and method for controlling multiple trusted execution environments in a system
US7457960B2 (en) Programmable processor supporting secure mode
CN103827881A (zh) 用于设备操作***中的动态平台安全的方法和***
Shakevsky et al. Trust dies in darkness: Shedding light on samsung's {TrustZone} keymaster design
JP4754299B2 (ja) 情報処理装置
US20170201528A1 (en) Method for providing trusted service based on secure area and apparatus using the same
Liu et al. $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud
JP2008226191A (ja) 情報処理端末認証システム及び情報処理端末認証方法,情報処理端末認証用プログラム
CN111147252B (zh) 一种云环境可信连接方法
Jacob et al. faulTPM: Exposing AMD fTPMs’ Deepest Secrets
CN115879087A (zh) 一种面向电力终端的安全可信启动方法及***
KR101906484B1 (ko) 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템
EP3901799A1 (en) Systems and methods for remote anomaly data scanner for cyber-physical systems
KR101839699B1 (ko) 인증정보가 노출되지 않는 안전한 보안 usb 시스템 및 방법
KR20160071711A (ko) 안전 인증 시스템 및 방법
Covey et al. An Advanced Trusted Platform for mobile phone devices
Altuwaijri et al. Computer and Information Sciences
KR20130085534A (ko) 모바일 단말기의 인증 플랫폼 및 이를 이용한 서비스 방법

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
GR01 Patent grant
GR01 Patent grant