CN117378170A - 增强型密码术系统和方法 - Google Patents

增强型密码术系统和方法 Download PDF

Info

Publication number
CN117378170A
CN117378170A CN202280037845.0A CN202280037845A CN117378170A CN 117378170 A CN117378170 A CN 117378170A CN 202280037845 A CN202280037845 A CN 202280037845A CN 117378170 A CN117378170 A CN 117378170A
Authority
CN
China
Prior art keywords
cryptographic
white
tamper
box
computing device
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
CN202280037845.0A
Other languages
English (en)
Inventor
C·S·约克
丹尼尔·托马斯·哈克特
格雷戈里·卡里·辛克森
兰德尔·L·沃尔夫
S·K·库玛尔
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.)
Cummins Inc
Original Assignee
Cummins Inc
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 Cummins Inc filed Critical Cummins Inc
Publication of CN117378170A publication Critical patent/CN117378170A/zh
Pending legal-status Critical Current

Links

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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Abstract

提供了用于扩展白盒密码术的方法和系统。计算设备可以在存储器中保持使用白盒密码术解决方案加密的一个或更多个密码术密钥。一个或更多个密码术密钥使用白盒密码术解决方案不支持的密码术算法加密或解密数据。计算设备可以执行一个或更多个防篡改验证,以检测用于篡改计算设备或安装在计算设备上的应用的篡改事件。在确定没有检测到篡改事件时,计算设备可以使用白盒密码术解决方案解密一个或更多个密码术密钥,并且提供一个或更多个密码术密钥来使用白盒密码术解决方案不支持的密码术算法加密或解密数据。

Description

增强型密码术系统和方法
相关申请的交叉引用
本申请要求享有于2021年5月31日提交的题为“ENHANCED CRYPTOGRAPHY SYSTEMSAND METHODS”的第63/195080号美国临时申请的权益和优先权,该美国临时申请的内容通过引用并入本文。
技术领域
本公开涉及密码术系统和方法的增强或扩展。更具体地说,本公开涉及(i)用于将白盒密码术保护的好处扩展到不支持的算法的系统和方法,以及(ii)用于扩展安全密码处理器中的安全存储的系统和方法。
背景
采用密码术来保护秘密数据的系统仍然可能受到入侵者或黑客(hacker)的攻击。具体来说,攻击者可以访问采用密码术的应用的源代码、应用在运行时的目标代码和/或应用的内部工作方式,以获得或重建解密密钥。然后,攻击者可以使用解密密钥来解密秘密数据。白盒密码术系统或解决方案在应用代码中混淆和嵌入秘密(或解密)密钥,使得秘密密钥(secret key)既不在源代码中表示,也不在对应的二进制代码运行期间生成。因此,即使攻击者访问应用源代码或对应的二进制代码,他们也无法获得或重建秘密密钥。由于秘密密钥与应用代码的混淆和混合,因此采用白盒机制或技术的应用即使在不安全的环境中也可以安全运行。
此外,实现加密解决方案的密码处理器通常将秘密密钥存储或保持在密码处理器的安全存储器中。秘密密钥仅在密码处理器内部使用,而不提供或释放于密码处理器外部。将秘密密钥限制在密码处理器中,消除或减少了外部访问秘密密钥的机会。
概述
一个实施例涉及一种方法。该方法包括:由计算设备在存储器中保持使用白盒密码术解决方案加密的一个或更多个密码术密钥,该一个或更多个密码术密钥用于使用白盒密码术解决方案不支持的密码术算法加密或解密数据;由计算设备执行一个或更多个防篡改验证,以检测用于篡改计算设备或安装在计算设备上的应用的篡改事件;并且在确定没有检测到篡改事件时,使用白盒密码术解决方案解密一个或更多个密码术密钥,并且提供一个或更多个密码术密钥以使用白盒密码术解决方案不支持的密码术算法来加密或解密数据。
另一实施例涉及一种装置。该装置包括处理电路,该处理电路具有处理器和存储可执行指令的存储器,当由处理器执行时,可执行指令使得处理电路:在存储器中保持使用白盒密码术机制加密的一个或更多个解密密钥,该一个或更多个解密密钥解密使用白盒密码术机制不支持的加密算法加密的数据;执行一个或更多个防篡改验证,以检测用于篡改该装置或安装在该装置上的应用的篡改事件;并且在确定没有检测到篡改事件时,使用白盒密码术机制解密一个或更多个解密密钥,并且提供一个或更多个解密密钥来解密用白盒密码术机制不支持的加密算法加密的数据。
又一个实施例涉及一种计算机可读介质,包括存储在其上的计算机代码指令。当由处理器执行时,计算机代码指令使处理器:在计算设备的存储器中保持使用白盒密码术机制加密的一个或更多个解密密钥,该一个或更多个解密密钥用于解密使用白盒密码术机制不支持的加密算法加密的数据;执行一个或更多个防篡改验证,以检测用于篡改计算设备或安装在计算设备上的应用的篡改事件;并且在确定没有检测到篡改事件时,使用白盒密码术机制解密所述一个或更多个解密密钥,提供该一个或更多个解密密钥来解密用白盒密码术机制不支持的加密算法加密的数据。
再一实施例涉及一种方法。该方法包括:处理电路在集成在处理电路中的密码处理器的安全存储器中保持第一组密码术资源,并且在处理电路的第二存储器中保持加密的第二组密码术资源。该方法包括处理电路或密码处理器使用来自第一组密码术资源的至少一个密码术密钥解密第二组密码术资源,并提供解密的第二组密码术资源以用于加密或解密数据。该方法包括处理电路在处理电路中禁用调试。
在一些实施方式中,处理电路包括电子控制单元(ECU)。在一些实施方式中,禁用处理电路中的调试包括禁用处理电路的调试端口。在一些实施方式中,禁用处理电路中的调试包括在处理电路的生产状态下关闭处理电路的调试器。
另一实施例涉及包括处理电路的装置。处理电路可以包括集成在处理电路中的密码处理器。密码处理器可以包括安全存储器。处理电路或密码处理器可以在处理电路中所集成的密码处理器的安全存储器中保持第一组密码术资源,并且可以在处理电路的第二存储器中保持加密的第二组密码术资源。密码处理器可以使用来自第一组密码术资源的至少一个密码术密钥来解密第二组密码术资源,并提供解密的第二组密码术资源来加密或解密数据。处理电路或密码处理器可以禁止处理电路中的调试。
在一些实施方式中,处理电路可以包括电子控制单元(ECU)。在一些实施方式中,禁用处理电路中的调试可以包括禁用处理电路的调试端口。在一些实施方式中,禁用处理电路中的调试可以包括在处理电路的生产状态下关闭处理电路的调试器。
提供了许多具体细节,以传授对本公开主题的实施例的透彻理解。在一个或更多个实施例和/或实施方式中,可以以任何合适的方式组合本公开主题的所描述的特征。在这点上,本发明一个方面的一个或更多个特征可以与本发明不同方面的一个或更多个特征组合。此外,在某些实施例和/或实施方式中可以识别可能不在所有实施例或实施方式中存在的附加特征。
附图简述
图1是根据示例实施例的计算设备的框图,该计算设备实现将白盒密码术保护的好处扩展到不支持的算法所提出的方法。
图2是根据示例实施例,图示用于将白盒密码术保护的好处扩展到不支持的算法的方法的流程图。
图3是根据示例实施例的密码术系统的框图,该密码术系统扩展安全密码处理器中的安全存储。
图4是根据示例实施例的用于扩展安全密码处理器中的安全存储的方法的流程图。
详细描述
现有的数据安全和/或密码术系统受到各种限制。本公开中的实施例解决了密码术系统和方法中出现的至少两个技术问题。第一个技术问题与白盒密码术有关。具体来说,虽然白盒密码术机制或解决方案提供了秘密密钥的增强的安全性,但并非所有加密算法都被白盒密码术支持。本文描述的一些实施例允许将白盒密码术保护的好处扩展到不被白盒密码术支持的加密/解密算法。第二个技术问题涉及密码处理器中有限的安全存储。具体地,密码处理器中用于存储秘密密钥或其他秘密信息的安全存储器或存储通常非常有限,并且只能存储预先定义数量的密钥或预先定义量的信息,这在一些实际情况下可能不足以存储所有秘密密钥或秘密信息。本文描述的一些实施例允许扩展安全密码处理器中的安全存储。
将白盒密码术保护的好处扩展到不支持的算法
当以源代码(例如作为应用的一部分)实现密码算法时,通常在运行时从存储器中检索对应的密码密钥(或秘密密钥),并将其传递给加密或解密算法。在这样的时间点,如果黑客在运行时获得对执行代码或相关数据的访问权,则黑客可以获得密码密钥。密码密钥可以在运行时存储在存储器中,或可以作为二进制代码的一部分存储。
白盒密码术解决了上面讨论的弱点或易损性,并提高了密码术密钥的安全性。白盒密码术从不暴露存储器中或二进制代码中的密码术密钥。相反,白盒密码术解决方案将密钥和加密或解密算法混淆、模糊和/或混合在一起,使得人们即使在访问与加密事件或解密事件相关联的执行代码或相关执行数据时,也不能重建密码术密钥。白盒密码术解决方案可以保留密码术密钥的衍生物(或转换),以用于加密或解密数据。即使黑客将调试器附加到执行白盒密码术算法的设备,黑客也无法恢复密码术密钥。
白盒密码术的一个限制在于,任何白盒密码术解决方案都不支持所有的加密或解密算法。白盒密码术解决方案(或对应的库)支持有限的一组密码术算法以及与之混淆的对应的密码密钥。许多公司或实体拥有使用任何现有白盒密码术解决方案都不支持的密码算法的遗留系统或专有系统(或应用)。
本文描述的系统和方法允许将白盒保护的好处(例如,秘密密钥的增强的安全性)扩展到白盒密码术解决方案不支持的密码术算法。具体来说,白盒密码术所支持的密码算法可以按预期使用,也可以加密和/或解密不支持的密码算法的秘密密钥。另外,当被白盒密码算法解密时,防篡改技术可用于防止或减轻对不支持的密码算法的秘密密钥的潜在访问。换句话说,本文描述的系统和方法可以被视为包括两个主要组件;密码术组件或模块,用于使用白盒密码术加密和/或解密与不支持的算法相关联的秘密密钥,以及防篡改模块或组件,用于检查或检测对计算设备或安装在其上的任何应用的篡改,这实现了为了将白盒保护的好处扩展到不支持的密码术算法而提出的方法。
参考图1,示出了根据示例实施例的计算设备100的框图,该计算设备100实现将白盒密码术保护的好处扩展到不支持的算法所提出的方法。简而言之,计算设备100可以包括安装在其上的应用102。应用102可以包括或可以访问(例如,经由一个或更多个应用编程接口(API))白盒解决方案(或库)104、密码术组件106和防篡改组件108。应用102可以访问计算设备100的随机存取存储器(或其他存储器)110,或在其中存储数据。白盒解决方案104可以包括一个或更多个白盒密码术密钥衍生物112(表示为密钥衍生物1、……、密钥衍生物N)。密码术组件106可以包括加密的密钥blob(或加密的一组密钥)114(例如,加密的一组遗留密钥)。加密的一组密钥114可以表示与白盒解决方案104或对应的库不支持的密码算法相关联的密码术密钥。加密的一组密钥114可以使用白盒解决方案104或对应的库支持的加密算法进行加密。一旦加密的一组密钥114被解密,对应的解密密钥116(例如,遗留密钥)(在此表示为密钥1、……、密钥M)就可以被提供给RAM 110,以存储于RAM 110上。
参考图2,根据示例实施例,示出了图示方法200的流程图,该方法200用于将白盒密码术保护的好处扩展到不支持的算法。简而言之,方法200可以包括在存储器中保持使用白盒密码术解决方案加密的一个或更多个密码术密钥(步骤202),以及检查篡改事件(判定块204)。方法200可以包括使用白盒密码术解决方案解密一个或更多个密码术密钥(步骤206),并且在确定没有检测到篡改事件时,提供一个或更多个密码术密钥来解密用白盒密码术解决方案不支持的加密算法加密的数据(步骤208)。方法200可以包括在检测到篡改事件时停止执行集成了方法200的步骤的软件的应用(步骤210)。
现在参考图1和图2,计算设备100可以包括软件应用102,该软件应用102集成了密码术组件106和防篡改组件108。组件106和组件108都可以被实现为可以集成在各种软件应用或程序中的单个软件模块。软件应用102可以集成白盒解决方案104,或者可以经由一个或更多个API访问白盒解决方案104。白盒解决方案104、密码术组件106和防篡改组件108可以由计算设备100的处理器(图1中未示出)执行。
计算设备100或其处理器可以在存储器中保持使用白盒解决方案104加密的一组加密的密码术密钥114(步骤202)。在执行密码术组件106时,计算设备100或处理器可以使用白盒解决方案104所支持的加密算法来加密一组密码术(或秘密)密钥116,并将对应的加密密钥114存储在计算设备100的存储器中。处理器可以在处理器的闪存中存储或保持加密的密钥114,例如,使用密码术组件106的源代码或二进制代码。处理器可以在RAM 110中存储或保持加密的密码术密钥。密码术密钥116可以与白盒解决方案104不支持的一个或更多个密码术算法相关联(或一起使用)。换句话说,密码术密钥116可以是用于使用白盒解决方案104不支持的加密/解密算法加密或解密数据的加密密钥或解密密钥。
处理器(或计算设备100)可以执行防篡改组件108来执行一个或更多个防篡改验证,以检测用于篡改计算设备100或安装在计算设备上的应用102的篡改事件(判定块204)。一个或更多个防篡改验证可以包括防调试验证(或检查)、防root验证、防越狱验证、防挂钩验证或构建时间完整性验证中的至少一个。
当执行防调试验证时,处理器或计算设备100检查调试器是否附接于计算设备100、应用102或其任何组件。一旦由密码术组件106解密,黑客就可以附接调试器来确定或访问密码术密钥116。为了避免这种可能性,如果检测到调试器,则防篡改组件108在执行时可以停止应用102的执行(或防止应用102的启动)(步骤210)。
在计算设备100是Linux设备(例如,Android设备)的情况下,root是提供跨整个系统或整个计算设备100的系统管理员特权的特殊账户。防root验证包括处理器检查计算设备100是否被篡改为使操作系统以root身份运行并给予计算设备100的用户用于进程的提升的特权。在root特权下,用户将会拥有比设备最初预期的更多的特权。roor特权赋予用户对操作系统的全部进行完全访问的权限,而用户可以进行更改并访问各种进程。当检测到导致计算设备100的操作系统以root身份运行的篡改事件时,防篡改组件108在执行时可以导致处理器停止应用102的执行(或防止应用102的启动)(步骤210)。
防越狱验证在概念上等同于防root验证,但适用于苹果计算设备。换句话说,黑客root Linux设备,却越狱苹果设备。用于实现这些篡改事件中的每一者的技术是不同的,因此用于检查或检测这些篡改事件中的每一者的技术也是不同的。当执行时,防篡改组件108可以使处理器检查越狱计算设备100(对于苹果设备)的篡改事件,并且在检测到这样的事件时停止应用102的执行(或防止应用102的启动)(步骤210)。
对于构建时间完整性验证,当执行时,防篡改组件108可以使处理器检查应用102是否在构建后被篡改。处理器可以在运行时检查应用的签名,以确定应用在编译后是否被修改。处理器可以在检测到构建时间完整性故障时停止应用102的执行(或防止应用102的启动)(步骤210)。
对于防挂钩验证,防篡改组件108在执行时可以使处理器检查计算设备100或应用102是否已被篡改为包括用于拦截不同软件组件之间的函数调用、事件和/或消息的挂钩代码。处理器可以在检测到挂钩事件时停止应用102的执行(或防止应用102的启动)(步骤210)。
当执行时,防篡改组件108可使处理器在应用102的执行期间周期性地执行一个或更多防篡改验证。例如,处理器可以在加密的密钥blob 114解密之前、期间和之后执行防篡改验证。如果在任何时间点检测到篡改事件,处理器可以自动停止计算设备100上的应用102的执行(或启动)(步骤210)。
如果没有检测到篡改事件,处理器可以使用白盒密码术解决方案解密一个或更多个加密的密码术密钥114(步骤206和箭头118),并提供解密的密码术密钥以与白盒解决方案104不支持的密码术算法一起使用,以加密或解密数据(步骤208和箭头120)。处理器可以使用白盒解决方案104所支持的解密算法(和对应的密钥衍生物)来解密与不支持的密码术算法相关联的加密密码术密钥114。当加密的密码术密钥114被解密时,处理器可以将对应的解密密钥116传递到RAM 110或计算设备100的其他存储器。处理器可以进一步使用解密的密钥116和对应的不支持的密码术算法来加密或解密数据。注意,密码术密钥116可以是加密密钥或解密密钥。
考虑到上述涉及用白盒解决方案加密非白盒密码术密钥并应用防篡改过程的方法,不支持的密码术算法和对应的密码术密钥116可以享有与白盒解决方案104提供的类似的保护或安全性。具体来说,当不执行应用102时,使用白盒支持的加密以加密形式114保持加密密钥。由于白盒密码术密钥从不暴露,如果黑客访问应用102的源代码或二进制代码,他们将无法解密加密的密钥114。在运行时,当与不支持的密码术算法相关联的密码术密钥116可以以解密的形式存储时,如果检测到任何篡改事件,防篡改组件108阻止应用的执行,因此,阻止对解密的密码术密钥116的访问。
虽然与图1和图2相关联的实施例是根据使用白盒解决方案104加密密码术密钥blob 114来描述的,但是相同的方法可以用于其他秘密信息,例如,除了密码术密钥之外的秘密信息。例如,可以使用白盒解决方案104加密的秘密信息可以包括数字或安全证书、签名或其他秘密信息或数据。
计算设备100可以包括移动设备、智能电话、平板设备、智能手表、台式机、笔记本电脑、计算机服务器或交通工具的电子控制单元(ECU)。计算设备100可以具有Linux或Android操作系统、iOS、Windows操作系统或其他操作系统。应用102可以从在线应用商店下载并安装在计算设备100上。
扩展安全密码处理器上的安全存储
安全内置密码处理器,例如但不限于硬件安全模块(HSM)、基于安全硬件扩展(SHE)规范的单元或密码服务引擎(CSE)单元,通常具有用于存储密码术密钥或其他秘密信息的安全存储器。然而,这种安全存储器通常是有限的,并且只能存储有限数量的安全数据。例如,一些安全密码处理器只能存储25或30个密码术密钥。这种安全存储限制约束了可以使用的保护或密码术机制的数量。例如,这种密码处理器用在一些ECU中,因此限制了可以在ECU中使用的保护或密码术机制(诸如遗留机制)的数量。对于数字签名处理和其他加密或解密需求,ECU中需要比安全密码处理器的安全存储器中存储的密钥更多的密钥。
为了克服上述技术问题,本文描述的实施例允许扩展安全密码处理器中的安全存储,并因此增加可以使用的保护或密码术机制的数量。具体地,除了存储在安全密码处理器中的密码术密钥之外,附加的密码术或秘密信息可以以加密的形式存储在另一个存储器中。可以使用存储在安全密码处理器中的一个或更多个密码术密钥来解密附加的密码术或秘密信息。此外,可以禁用调试,以防止在解密时访问附加的密码术或秘密信息。
参考图3,示出了根据示例实施例的被构造成在安全密码处理器中安全存储的处理电路(或微处理器)300的框图。处理电路300可以包括密码处理器安全存储器302、闪存304和RAM 306。密码处理器安全存储器302可以存储第一组密码术资源308,诸如密码术密钥Key_1-1、……、Key_1-N。闪存304可以存储附加的加密密码术资源310,诸如以加密形式存储的第二组密码术密钥(表示为Key_2-1、……、Key_2-M)。密码处理器可以使用一个或更多个加密算法来加密第二组密码术密钥Key_2-1、…、Key_2-M,该一个或更多个加密算法与存储在密码处理器安全存储器302中的第一组密码术资源308的一个或更多个密码术密钥相关联。处理电路(或微处理器)300可以被构造或配置成禁用调试314。
参考图4,示出了根据示例实施例的用于扩展安全密码处理器中的安全存储的方法400的流程图。简而言之,方法400可以包括在第一安全存储器(例如,安全密码处理器的存储器)中保持第一组密码术密钥(步骤402),以及在第二存储器中保持加密的第二组密码术密钥(步骤404)。方法400可以包括使用第一组密码术密钥中的一个或更多个第一密码术密钥来解密加密的第二组密码术密钥(步骤406),以及提供解密的第二组密码术密钥以用于加密或解密数据(步骤408)。方法400可以包括禁用对处理电路的调试,该处理电路包括密码处理器或存储解密的第二组密码术密钥的存储器(步骤410)。一种装置(例如计算设备)可以包括处理电路(或微处理器)300,或者处理电路300可以执行图4中描述的方法400。
现在参考图3和图4,密码处理器可以使用与在密码处理器中保持的第一组密码术密钥的一个或更多个第一密码术密钥相关联的一个或更多个加密算法来加密第二组密码术密钥(或者更一般地说,第二组秘密信息)。处理电路300或密码处理器可以在闪存304中保持加密的第二组密码术密钥或加密的第二组秘密信息(步骤404)。第一组密码术密钥或第一组密码术资源308对任何人都不可用,因此不能被任何人泄露。结果,来自任何机构的对第一组密码术密钥或第一组密码术资源308的任何密钥(或任何信息)的请求可以基于例如不可用而被拒绝。
密码处理器可以使用由密码处理器保持的第一组密码术密钥中的一个或更多个第一密码术密钥来解密加密的第二组密码术密钥或加密的第二组秘密信息(步骤406)。例如,密码处理器可以使用第一密码术密钥K_1-x解密加密的第二组密码术密钥或加密的第二组秘密信息。解密在密码处理器内执行,使得第一密码术密钥K_1-x(或第一组密码术密钥中的任何密码术密钥)始终在密码处理器内保持。解密的第二组密码术密钥或解密的第二组秘密信息可以存储在RAM 306(或其他存储器)中,用于加密或解密数据。
禁用处理电路(或微处理器)300或RAM 306的调试可以包括在生产期间禁用处理电路(或微处理器)300的调试端口(例如,JTAG端口、NEXUS端口或其他调试端口),以防止(例如,由黑客)对RAM 306的外部访问,并因此防止对在RAM 306中保持的解密的第二组密码术密钥或解密的第二组秘密信息的访问。在一些实施方式中,当从预生产阶段/状态转到生产阶段/状态时,可以在处理电路(或微处理器)300中关闭调试器。可以在处理电路(或微处理器)300中打开调试器,以从生产状态转到诊断状态。然而,在这种情况下,处理电路(或微处理器)300不能再用于生产,因为当调试器打开时,第二组密码术密钥或第二组秘密信息的安全性受到损害。
上面关于图3和图4描述的方法允许通过使用在密码处理器中保持的一个或更多个密码术密钥来加密或解密附加密码术信息,从而以安全的方式使用密码处理器外部的附加密码术信息。加密的附加密码术信息可以在密码处理器外部的另一个存储器(例如闪存304)中保持。处理电路(或微处理器)300中调试器的禁用防止了对附加密码术信息的访问,尤其是附加密码术信息处于解密形式时。因此,上面讨论的方法可以被视为扩展与密码处理器相关联的密码术(或秘密)信息的安全存储。
在一些实施方式中,处理电路(或微处理器)300可以包括ECU,并且上面讨论的方法使用ECU中有限的现有资源提供改进的网络安全。在不将第一密钥存储在密码处理器中并且禁用调试的情况下,黑客可以在运行时对来自闪存304的第二组密码术信息或密钥进行反向工程(或去混淆),或者访问存储器(例如,RAM 306)中的第二组密码术信息或密钥。
如本文所使用的,术语“近似”、“大约”、“基本上”和类似术语旨在具有与本公开主题所涉及的本领域普通技术人员的共同和接受的用法相一致的广泛含义。回顾本公开的本领域技术人员应该理解,这些术语旨在允许描述所描述和要求保护的某些特征,而不将这些特征的范围限制在所提供的精确数值范围内。因此,这些术语应被解释为指示对所描述和要求保护的主题的非实质性或无关紧要的修改或变更被认为在所附权利要求书中所述的公开的范围内。
应当注意,如本文中用于描述各种实施例的术语“示例性的”及其变型旨在指示这些实施例是可能实施例的可能示例、表示或图示(并且这些术语并不旨在暗示这些实施例必然是特别的或最高级的示例)。重要的是要注意,如各种示例性实施例中所示的装置和系统的构造和布置仅仅是说明性的。此外,在一个实施例中公开的任何元件可以与本文公开的任何其他实施例结合或一起使用。此外,尽管附图和说明书可示出方法步骤的特定顺序,但这些步骤的顺序可与所描绘和描述的不同,除非上面有不同的说明。此外,两个或更多个步骤可以同时执行或部分同时执行,除非上面有不同的规定。例如,这种变型可以取决于所选择的软件和硬件系统以及设计者的选择。所有这些变型都在本公开的范围内。
如本文所使用的,术语“耦合的”及其变型是指两个构件直接或间接地相互联接。这种联接可以是静止的(例如,永久的或固定的)或可移动的(例如,可移除的或可释放的)。这种联接可以通过两个构件直接彼此耦合来实现,通过使用一个或更多个单独的中间构件将两个构件彼此耦合来实现,或者通过使用与两个构件中的一个整体形成为单个整体主体的中间构件将两个构件彼此耦合来实现。如果“耦合的”或其变体被附加术语(例如,直接耦合的)修改,则上面提供的“耦合的”的通用定义被附加术语的简单语言含义修改(例如,“直接耦合的”意味着两个构件的联接,而没有任何单独的中间构件),导致比上面提供的“耦合的”的通用定义更窄的定义。这种耦合可以是机械的、电的或流体的。例如,电路A通信地“耦合”到电路B可以表示电路A直接与电路B通信(即,没有中介)或间接与电路B通信(例如,通过一个或更多个中介)。
本文中对元件位置的引用(例如,“顶部”、“底部”、“上方”、“下方”)仅用于描述附图中各种元件的取向。应当注意,根据其他示例性实施例,各种元件的取向可以不同,并且这种变型旨在包含在本公开中。
在本公开的范围内的实施例包括程序产品,该程序产品包括计算机或机器可读介质,计算机或机器可读介质携带或具有存储于其上的计算机或机器可执行指令或数据结构。这种机器可读介质可以是计算机可以访问的任何可用介质。计算机可读介质可以是存储计算机可读程序代码的有形计算机可读存储介质。计算机可读存储介质例如可以是但不限于电子、磁性、光学、电磁、红外、全息、微机械或半导体系统、装置或设备、或者前述项的任何合适的组合。计算机可读介质的更具体示例可以包括但不限于便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)、光存储设备、磁存储设备、全息存储介质、微机械存储设备或前述的任何合适组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含和/或存储计算机可读程序代码以供指令执行系统、装置或设备使用和/或与该指令执行系统、装置或设备结合使用。机器可执行指令包括例如使计算机或处理机器执行特定功能或功能组的指令和数据。
计算机可读介质也可以是计算机可读信号介质。计算机可读信号介质可以包括在其中(例如,在基带中或作为载波的一部分)包含有计算机可读程序代码的传播数据信号。这样的传播信号可以采取各种各样形式中的任何一种,包括但不限于,电的、电磁的,磁的、光学的或它们的任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,该任何计算机可读介质并非是计算机可读存储介质,而是可以传递,传播,或传输计算机可读程序代码以用于由指令执行系统、设备或装置使用或与指令执行系统、设备或装置结合使用。包含在计算机可读信号介质上的计算机可读程序代码可以使用任何适当的介质,包括但不限于无线、有线、光纤电缆、射频(RF)等,或者前述的任何适当组合,来传输。
在一个实施例中,计算机可读介质可以包括一个或更多个计算机可读存储介质和一个或更多个计算机可读信号介质的组合。例如,计算机可读程序代码既可以作为电磁信号通过光缆传播以供处理器执行,也可以存储在RAM存储设备上以供处理器执行。
可以用一种或更多种其他编程语言(包括面向对象的编程语言,例如Java、Smalltalk、C++或诸如此类)以及常规过程编程语言(例如“C”编程语言或类似的编程语言))的任何组合来编写用于执行本公开的方面的操作的计算机可读程序代码。计算机可读程序代码可以完全在装置/计算设备(例如,控制器104)上执行、部分在装置/计算设备(例如,控制器)上执行、作为独立的计算机可读包执行、部分在装置/计算设备上执行、并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,如上所述,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网))连接到装置/计算设备(例如,控制器)。
该程序代码还可存储在计算机可读介质中,可引导计算机、其他可编程数据处理装置或其他设备以特定方式起作用,使得存储在计算机可读介质中的指令产生制造物品,该制造物品包括实现在示意性流程图和/或示意性框图的一个或更多个块中指定的功能/动作的指令。

Claims (20)

1.一种方法,包括:
通过计算设备在存储器中保持使用白盒密码术解决方案加密的一个或更多个密码术密钥,所述一个或更多个密码术密钥采用所述白盒密码术解决方案不支持的密码术算法来加密或解密数据;
由所述计算设备执行一个或更多个防篡改验证,以检测用于篡改所述计算设备或安装在所述计算设备上的应用的篡改事件;以及
在确定没有检测到篡改事件时,
使用所述白盒密码术解决方案解密所述一个或更多个密码术密钥;以及
提供所述一个或更多个密码术密钥,以使用所述白盒密码术解决方案不支持的密码术算法来加密或解密数据。
2.根据权利要求1所述的方法,包括:
使用所述白盒密码术解决方案加密一个或更多个解密密钥。
3.根据权利要求1所述的方法,其中,所述一个或更多个防篡改验证包括防调试验证。
4.根据权利要求1所述的方法,其中,所述一个或更多个防篡改验证包括防root验证。
5.根据权利要求1所述的方法,其中,所述一个或更多个防篡改验证包括防越狱验证或防挂钩验证中的至少一个。
6.根据权利要求1所述的方法,其中,所述一个或更多个防篡改验证包括构建时间完整性验证。
7.根据权利要求1所述的方法,其中,执行所述一个或更多个防篡改验证包括周期性地执行所述一个或更多个防篡改验证。
8.根据权利要求1所述的方法,包括:
在检测到篡改事件时,由所述计算设备停止安装在所述计算设备上的应用的执行。
9.根据权利要求1所述的方法,还包括使用所述一个或更多个密码术密钥对所述数据进行加密或解密。
10.一种装置,包括:
处理电路,所述处理电路具有处理器和存储可执行指令的存储器,当由所述处理器执行时,所述可执行指令使所述处理电路:
在所述存储器中保持使用白盒密码术机制加密的一个或更多个解密密钥,所述一个或更多个解密密钥用于解密所述白盒密码术机制不支持的加密算法加密的数据;
执行一个或更多个防篡改验证,以检测用于篡改所述装置或安装在所述装置上的应用的篡改事件;以及
在确定没有检测到篡改事件时,
使用所述白盒密码术机制解密所述一个或更多个解密密钥;以及
提供所述一个或更多个解密密钥来解密用所述白盒密码术机制不支持的所述加密算法加密的所述数据。
11.根据权利要求10所述的装置,其中,当由所述处理器执行时,所述可执行指令还使所述处理电路:
使用所述白盒密码术机制加密所述一个或更多个解密密钥。
12.根据权利要求10所述的装置,其中,所述一个或更多个防篡改验证包括防调试验证。
13.根据权利要求10所述的装置,其中,所述一个或更多个防篡改验证包括防root验证。
14.根据权利要求10所述的装置,其中,所述一个或更多个防篡改验证包括防越狱验证或防挂钩验证中的至少一个。
15.根据权利要求10所述的装置,其中,所述一个或更多个防篡改验证包括构建时间完整性验证。
16.根据权利要求10所述的装置,其中,在执行所述一个或更多个防篡改验证时,当由所述处理器执行时,所述可执行指令还使得所述处理电路周期性地执行所述一个或更多个防篡改验证。
17.根据权利要求10所述的装置,其中,当由所述处理器执行时,所述可执行指令还使得所述处理电路在检测到篡改事件时停止安装在所述装置上的所述应用的执行。
18.根据权利要求10所述的装置,其中,当由所述处理器执行时,所述可执行指令还使得所述处理电路使用所述一个或更多个解密密钥来解密所述数据。
19.根据权利要求10所述的装置,包括下列中的至少一个:
移动设备;
笔记本电脑设备;
台式机;或
引擎控制单元。
20.一种计算机可读介质,包括存储在其上的计算机代码指令,当由处理器执行时,所述计算机代码指令使得所述处理器:
在计算设备的存储器中保持使用白盒密码术机制加密的一个或更多个解密密钥,所述一个或更多个解密密钥用于解密所述白盒密码术机制不支持的加密算法加密的数据;
执行一个或更多个防篡改验证,以检测用于篡改所述计算设备或安装在所述计算设备上的应用的篡改事件;以及
在确定没有检测到篡改事件时,
使用所述白盒密码术机制解密所述一个或更多个解密密钥;以及
提供所述一个或更多个解密密钥来解密用所述白盒密码术机制不支持的所述加密算法加密的所述数据。
CN202280037845.0A 2021-05-31 2022-05-27 增强型密码术系统和方法 Pending CN117378170A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163195080P 2021-05-31 2021-05-31
US63/195,080 2021-05-31
PCT/US2022/031453 WO2022256268A2 (en) 2021-05-31 2022-05-27 Enhanced cryptography systems and methods

Publications (1)

Publication Number Publication Date
CN117378170A true CN117378170A (zh) 2024-01-09

Family

ID=84324435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280037845.0A Pending CN117378170A (zh) 2021-05-31 2022-05-27 增强型密码术系统和方法

Country Status (3)

Country Link
CN (1) CN117378170A (zh)
DE (1) DE112022001853T5 (zh)
WO (1) WO2022256268A2 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101597251B1 (ko) * 2008-05-23 2016-02-24 이르데토 비.브이. 소프트웨어 애플리케이션들의 화이트­박스 구현들을 생성하는 시스템 및 방법
US10546119B2 (en) * 2016-11-14 2020-01-28 Mastercard International Incorporated Methods for securely storing sensitive data on mobile device

Also Published As

Publication number Publication date
DE112022001853T5 (de) 2024-01-25
WO2022256268A2 (en) 2022-12-08
WO2022256268A3 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
US10516533B2 (en) Password triggered trusted encryption key deletion
KR100692348B1 (ko) 휴면 보호
TWI471754B (zh) 用於電腦系統中安全物件之支援
US20200042747A1 (en) Security processing unit of plc and bus arbitration method thereof
Boivie et al. SecureBlue++: CPU support for secure execution
KR20030082485A (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색
SG189388A1 (en) Cryptographic system and methodology for securing software cryptography
JP2015064677A (ja) 情報処理装置、情報処理システム、プログラム
KR20130120985A (ko) 소프트웨어 무결성을 보장하기위한 프로세서 실행 방법
JP7256861B2 (ja) セキュアコンピュータシステム
Ling et al. Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes
Koutroumpouchos et al. Building trust for smart connected devices: The challenges and pitfalls of TrustZone
US20060253714A1 (en) Information processor, tamper-proof method, and tamper-proof program
WO2019186554A1 (en) Method of secure communication among protected containers and system thereof
Gallery et al. Trusted computing: Security and applications
CN112948086B (zh) 一种可信plc控制系统
Zhou et al. Smile: Secure memory introspection for live enclave
Lee et al. Classification and analysis of security techniques for the user terminal area in the internet banking service
US11615188B2 (en) Executing software
CN117378170A (zh) 增强型密码术系统和方法
CN109583196B (zh) 一种密钥生成方法
Msgna et al. Secure application execution in mobile devices
CN106355085B (zh) 一种可信应用运行安全控制方法
US9202075B2 (en) System and method for executing code securely in general purpose computer
CN116436681B (zh) 一种基于TrustZone的安全隔离系统、方法、终端及存储介质

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