CN103034801B - 基于模式的安全微控制器 - Google Patents

基于模式的安全微控制器 Download PDF

Info

Publication number
CN103034801B
CN103034801B CN201210311766.2A CN201210311766A CN103034801B CN 103034801 B CN103034801 B CN 103034801B CN 201210311766 A CN201210311766 A CN 201210311766A CN 103034801 B CN103034801 B CN 103034801B
Authority
CN
China
Prior art keywords
data
data processing
memorizer
mode
microcontroller
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
CN201210311766.2A
Other languages
English (en)
Other versions
CN103034801A (zh
Inventor
V·德布
F·莱尔梅
A-C·罗莱
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.)
Maxim Integrated Products Inc
Original Assignee
Maxim Integrated Products 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 Maxim Integrated Products Inc filed Critical Maxim Integrated Products Inc
Publication of CN103034801A publication Critical patent/CN103034801A/zh
Application granted granted Critical
Publication of CN103034801B publication Critical patent/CN103034801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明的各个实施例涉及用于在微控制器接口处处理数据的集成电路,并且更具体地涉及通过选择多个数据处理模式中的至少一个以处理(例如、加密、解密、格式化等)数据路径中的数据来在微控制器接口处对数据路径进行编程的系统、设备以及方法。微控制器与存储器进行交互。使用该方法来分别处理在存储器写入操作期间由微控制器提供的输入数据,或在存储器读取操作期间从存储器提取的输入数据。写入/读取控制用于指示存储器写入或读取操作,并且将逻辑地址转换为存储器中的至少一个物理地址。进一步使用写入/读取控制和逻辑地址来确定指示数据处理模式的模式控制信号。在各个数据处理模式中,根据多个数据处理方法中的至少一个来处理输入数据,以产生不同数据格式的处理后的数据。可以将不同格式的数据存储在存储器的各个区中。

Description

基于模式的安全微控制器
相关申请的交叉引用
本申请要求于2011年8月30日提交的名称为“A Mode-Based SecureMicrocontroller”的法国专利申请No.1157656优先权,该法国专利申请的主题通过引用方式并入本文。
技术领域
本发明涉及集成电路领域,并且更具体地,涉及通过选择多个数据处理模式中的至少一个以处理(例如、加密、解密、格式化等)数据路径中的数据来编程微控制器的数据路径的系统、设备以及方法。
背景技术
微控制器通常是包括中央处理单元(CPU)核心、存储器以及输入/输出(I/O)外围设备的单个集成电路。CPU核心的范围从简单的3位处理器到复杂的22位或54位处理器。通常使用的8051-兼容式微控制器是基于8位CPU核心的。I/O外围设备用于使微控制器与诸如传感器和液晶显示器(LCD)之类的标准I/O设备交互,而串行通信接口通常用在I/O外围设备中。微控制器中的存储器包括分别用于存储数据和程序的非易失性随机存取存储器(RAM)和只读存储器(ROM)。微控制器的架构可以改变,以包括用于各种应用的多个CPU核心、存储器或I/O功能单元。
安全微控制器的应用涉及在不安全的环境中对宝贵财产的可信操作,在该不安全的环境中,盗贼或电脑黑客可以获得对用于传输和处理敏感数据的处理器核心、存储器设备或I/O外围设备的访问。这种敏感数据可以包括账户、访问码、金融交易/结算、权利管理、计量(例如,能量、单位)、程序算法以及其它信息。安全微控制器使用诸如闪存之类的非易失性RAM而不是ROM来进行程序存储,并且使用额外增强的安全特征以避免未授权访问。迄今为止,安全系统已广泛地应用于安全关键应用(例如电子银行、商业交易和付费电视访问控制)或任意要求对专有软件和方法进行保护的应用中。
因为程序和数据可以存储在安全微控制器的外部存储器中,所以数据安全性和数据完整性是安全微控制器外部存储器应当解决的两个明显的威胁。第一威胁是敏感信息的公开(即,数据安全性),其中机密数据遭泄露并且程序的弱点遭暴露。第二威胁是应用行为的修改(即,数据完整性),该应用行为的修改涉及在外部存储器中修改程序和数据,并导致了数据完整性问题。
安全微控制器被设计为将安全级别提供给存储在外部存储器中的数据。例如,建立物理安全以防御探测,并且一个示例是防篡改机壳的使用。该解决方案可能是昂贵的,并且无法覆盖基于来自电源失灵、光、同步或异步激光、或者放射性粒子的故障注入的新攻击方法。安全特征还可以包括存储器加密,其中在数据交换过程期间加密或解密存储在存储器中的数据和地址。因此,物理安全边界可以限于微控制器,而外部存储器及其通信总线仍可能处于物理暴露下。
为存储在外部存储器中的程序和数据实施数据完整性控制。数据完整性控制用于检测由微控制器发送用于写入存储器的内容与存储在存储器中的内容之间的任何自愿或非自愿的损坏。图1示出了安全微控制器102与外部存储器104相交互,其中考虑了前面提到的数据安全性和数据完整性。安全微控制器102包括CUP核心106、加密和完整性保护块108、存储控制器110、密钥储存器112以及用于数据、地址和密钥的总线。用于完整性校验、数据加密或数据解密的方法包含在加密和完整性保护块108中。在存储器写入或读取周期期间,块108分别将来自CPU核心106的数据加密为用于存储在存储器104中的有效载荷数据,或者随后将来自存储器104中的有效载荷数据解密为随后由CPU核心106接收的数据。
发明内容
本发明的各个实施例涉及用于在微控制器接口处处理数据的集成电路,并且更具体地涉及通过选择多个数据处理模式中的至少一个以处理(例如、加密、解密、格式化等)数据路径中的数据来在微控制器接口处对数据路径进行编程的系统、设备以及方法。使用该方法来分别处理在存储器写入操作期间由微控制器提供的输入数据或者在存储器读取操作期间从存储器提取的输入数据。写入/读取控制用于指示存储器写入或读取操作,并且将逻辑地址转换为存储器中的至少一个物理地址。进一步使用写入/读取控制和逻辑地址来确定指示数据处理模式的模式控制信号。在各个数据处理模式中,根据多个数据处理方法中的至少一个来处理输入数据,以产生不同数据格式的处理后数据。
基于模式的数据处理系统用作微控制器和存储器之间的接口处的专用硬件单元。基于模式的数据处理系统包括地址转换器、模式产生器以及多模式数据处理单元。地址转换器将输入地址转换为存储器中的至少一个物理地址。模式产生器被耦合以接收输入地址和写入/读取控制,并且产生与数据处理模式相关联的模式控制信号。多模式数据处理单元根据数据处理模式产生至少一个处理后数据。
在微控制器和存储器之间的接口处使用多模式数据处理单元,以实现基于模式的数据处理。多模式数据处理单元包括第一解复用器、第二解复用器、多个数据处理单元、第一复用器以及第二复用器。与第一解复用器和第一复用器一起使用一些数据处理单元,以处理(例如,加密、格式化)在存储器写入周期期间来自微控制器的输入数据。与第二复用器和第二解复用器一起使用一些数据处理单元,以处理(例如,解密、重新格式化)在存储器读取周期期间来自存储器的输入数据。
本发明的某些特征和优点已在该发明内容部分中进行了总体描述;然而,附加特征、优点以及实施例将在本文中呈现,或鉴于附图、说明书及其权利要求书对于本领域技术人员而言将是明显的。因此,应当理解,本发明的范围不应当由该发明内容部分中所公开的特定实施例来限定。
附图说明
将参考本发明的实施例,可以在附图中示出这些实施例的例子。这些附图旨在进行说明,而并不旨在进行限制。尽管在这些实施例的上下文中描述了本发明,然而应当理解,并不旨在将本发明的范围限制于这些特定的实施例。
图(“FIG.”)1示出了安全控制器与外部存储器相交互,其中考虑了所关心的安全性和完整性。
图2示出了根据本发明的各个实施例的包括与存储器交互的安全微控制器的安全微控制器系统的方框图。
图3示出了根据本发明的各个实施例在微控制器接口处的基于模式的数据处理系统的方框图。
图4示出了根据本发明的各个实施例的多模式数据处理单元的方框图。
图5示出了根据本发明的各个实施例在微控制器中实现基于模式的数据处理的方法。
具体实施方式
本发明的各种实施例涉及用于在微控制器接口处处理数据的集成电路,并且更具体地涉及通过选择多个数据处理模式中的至少一个以处理(例如、加密、解密、格式化等)数据路径中的数据来在微控制器接口处对数据路径进行编程的系统、设备以及方法。在某些实施例中,这些基于模式的数据处理设备和系统是放置在微控制器和存储器之间的接口处的专用硬件单元。在以下描述中,为了解释的目的,给出了具体的细节,以便提供对本发明的理解。然而对于本领域技术人员很明显的是,在没有这些细节的情况下仍然可以实施本发明。本领域技术人员将认识到本发明以下描述的实施例可以以多种方式并且使用多种结构来进行。本领域技术人员还将认识到额外的修改、应用以及实施例也处于本发明范围内,本发明可以在额外的领域中提供使用。因此,以下描述的实施例是对本发明的具体实施例的说明,并且是为了避免使本发明不清楚。
在说明书中提及“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构、特性或功能包含在本发明的至少一个实施例中。在说明书的各个地方中出现短语“在一个实施例中”、“在实施例中”不必都表示相同的实施例。
附图中组件之间的或方法步骤之间的连接并不限制于直接实施的连接。相反,在不脱离本发明的教导的情况下,附图中示出的组件之间的或方法步骤之间的连接可以通过向其增加中间组件或方法步骤被修改或改变。
图2示出了根据本发明的各种实施的包括与存储器240相交互的安全微控制器220的安全微控制器系统的方框图200。安全微控制器220包括CPU核心206、加密和完整性保护块208、存储控制器210、密钥储存器212以及用于数据、地址和密钥的总线。在本发明中,安全微控制器220还包括模式产生器218。该模式产生器218被耦合以接收逻辑地址和写入/读取控制,并且产生用于根据特定数据处理模式确定数据处理方法的模式控制信号。该逻辑地址是数据块内的数据的相对地址。
与安全微控制器220交互的存储器240可以包括各种外部存储器,该外部存储器包括随机存取存储器(RAM)、只读存储器(ROM)以及闪存。可以将存储器240划分,以存储明码内容214和有效载荷数据区216。有效载荷数据通常包括数据报头/报尾以及作为与机密信息(例如,用户名称、密码、交易、程序,等等)相关联的加密或格式化的数据的处理后数据。物理地址用于标识存储器240内的位置。
在存储器写入周期期间,输入数据在被发送到并被存储在存储器240之前进行预处理。CPU核心206产生输入数据、逻辑地址以及写入/读取控制。该写入/读取控制用于确定模式控制信号。加密和完整性保护块208被耦合以接收输入数据、逻辑地址以及模式控制信号。模式控制信号与数据处理模式相关联。块208还基于至少一个数据处理方法来处理数据并产生有效载荷数据(即,处理后的数据)。基于数据处理模式从多个数据处理方法中选择数据处理方法。另外,块208还将逻辑地址转换为至少一个用于存储有效载荷数据的物理地址。存储控制器210将所指定的有效载荷数据存储在存储器240的物理地址中。
在存储器读取周期期间,有效载荷数据(即输入数据)在被从存储器240中提取之后进行后处理。由CPU核心206提供逻辑地址,以选择从存储器240中提取特定的有效载荷数据。加密和完整性保护块208将逻辑地址转换为至少一个物理地址。通过由模式产生器218产生的模式控制信号来指示数据处理模式。存储控制器210使得能够访问有效载荷数据被提取的物理地址中的存储器内容。基于数据处理模式,从多个数据处理方法中选择至少一个数据处理方法,以获得处理后的数据。用于存储器读取的数据处理方法可以与用于对针对存储器写入的数据进行预处理的数据处理方法相反。因此,处理后的数据可以用于随后的数据处理,并且尤其是用于验证有效载荷数据。
在加密和完整性保护块208中可以在一个数据处理模式中实现多于一个的数据处理方法。在用于存储器写入操作的某些实施例中,由多个数据处理方法来处理输入数据,以产生多个有效载荷数据(即,处理后的数据),并且相关联的逻辑地址也被分别转换成用于存储多个有效载荷数据的多个物理地址。在一个具体实施例中,输入数据不仅可以基于数据加密方法而被加密以产生加密的有效载荷数据,而且还可以基于完整性校验方法而用于产生完整性控制数据。处理后的数据(加密的有效载荷数据和完整性控制数据)被存储在各自的物理地址中。
在用于存储器读取操作的某些实施例中,根据从逻辑地址转换的至少一个物理地址,从存储器240中提取至少一个输入数据(即,有效加载数据)。由至少一个数据处理方法处理输入数据以用于各种目的。在一个具体实施例中,输入数据包括加密的数据和完整性控制数据。可以基于数据解密方法来对加密的数据进行解密以产生处理后的数据,同时可以使用完整性控制数据来基于完整性校验方法来验证处理后的数据和原始数据之间的数据完整性。
将存储器240划分为明码内容区214和有效载荷数据区216。有效载荷数据区216用于存储加密的或格式化的数据。在本发明中,有效载荷数据区216可以进一步划分为各种区,其中,每一区与一数据格式相关联。因此,在不同区中的数据是根据它们各自的加密或格式化方法被不同地加密或格式化的。对于每一数据处理模式,可以将逻辑地址转换为对应于各个区的物理地址,并且选择对应的数据处理方法来相应地处理输入数据。
图3示出了根据本发明的各个实施例在微控制器接口处的基于模式的数据处理系统的方框图300。该基于模式的数据处理系统300被耦合以接收逻辑地址、写入/读取控制和输入数据。根据写入/读取控制,输入数据可以是来自主机侧(例如,CPU核心206)的数据或者来自接口侧(例如,存储器240)的有效载荷数据。系统300包括模式产生器318、地址转换器302以及多模式数据处理单元304。地址转换器将逻辑地址直接转换为至少一个物理地址。模式产生器确定数据处理模式,并且根据逻辑地址和写入/读取控制产生模式控制信号。由多模式数据处理单元304进一步使用模式控制信号以根据至少一个数据处理方法产生处理后的数据。在某个实施例中,一个数据处理模式可以涉及多于一个的数据处理方法,并且产生多于一个的处理后的数据和多于一个的物理地址。因此,在微控制器与存储器的接口处,根据数据处理模式来对数据通路进行编程。
模式控制信号包括多个比特,并且与多个数据处理模式相关联。在模式产生器318中,主要是从输入的逻辑地址推导模式控制信号,而写入/读取控制用于区分涉及的是存储器的写入操作还是读取操作。具体来说,在存储器写入或者读取过程期间,模式控制信号将多模式数据处理单元配置成分别对来自主机侧的数据进行加密/格式化,或者对来自接口侧的加密的/格式化的有效载荷数据进行解密/重新格式化。因此,由模式产生器318产生的模式控制信号有效地选择数据路径,其可以在主机侧和接口侧之间的任一方向上。
根据数据处理模式对主机侧和接口侧之间的数据路径进行编程。数据流可以包括与不同数据处理模式相关联的输入数据序列,并且因此,该序列中的输入数据可以与不同的数据路径相关联。由于这样的可编程数据路径,增强了数据流的数据安全性。在本发明的各种实施例中,模式产生器318和多模式数据处理单元304是专用于引入这种可编程数据路径以作为数据安全性特征的硬件。
图4示出了根据本发明的各个实施例的多模式数据处理单元的方框图400。多模式数据处理单元400被耦合以接收模式控制信号和输入数据。根据写入/读取控制,输入数据可以为来自主机侧(例如,CPU核心206)的数据或来自接口侧(例如,存储器240)的有效载荷数据。多模式数据处理单元400包括第一解复用器402、第一复用器404、第二复用器406、第二解复用器408以及多个数据处理单元450。多个数据处理单元450被分成两组452和454。组452包括数据处理单元412、414以及416,数据处理单元412、414以及416与第一解复用器402和第一复用器404一起使用以在存储器写入周期期间将输入数据处理(例如,加密、格式化)为有效载荷数据。组454包括数据处理单元418、420以及422,数据处理单元418、420以及422与第二复用器406和第二解复用器408一起使用,以在存储器读取周期期间处理输入数据并将处理后的数据提供至CPU核心202。当组452中的第一数据处理单元用于将输入数据加密或格式化为有效载荷数据时,组454中的对应的第二数据处理单元可以用于将有效载荷数据解密或重新格式化为相应的原始数据。第一和第二数据处理单元中所采用的相应的数据处理方法彼此相反。
在存储器写入周期期间,解复用器402将输入数据提供至多个数据处理单元(DPU)412、414以及416中的至少一个。数据处理单元产生处理后的数据(即,加密的或格式化的有效载荷数据),由复用器404选择这些处理后的数据中的至少一个以作为对于存储控制器210的输出。在存储器读取周期期间,解复用器408被耦合以接收存储在存储器中的多个输入数据(即,加密的/格式化的有效载荷数据),并且将有效载荷数据提供至多个数据处理单元418、420以及422中的至少一个。数据处理单元将有效载荷数据解密为处理后的数据,并且由复用器406选择这些处理后的数据中的至少一个以作为对于CPU核心202的输出。复用器404、406以及解复用器402、408均由模式控制信号来控制。
在一个实施例中,数据处理单元是基于旁路方法的,其中在CPU核心202和存储器240之间形成直接数据路径。原始格式(即,明文形式)的输入数据直接被存储在存储器中或者直接从存储器中获取。
在一个实施例中,数据处理单元根据输入数据的地址和写入/读取模式来简单地配置输入数据的格式,而另一反向数据处理单元可以在存储器读取周期期间将格式化的数据恢复到其原始格式。
在一个实施例中,数据处理单元基于密钥、逻辑地址或写入/读取模式使用数据加密方法将输入数据加密为有效载荷数据。反向数据处理单元也可以存在以基于密钥、逻辑地址或写入/读取模式使用数据解密方法对有效载荷数据进行解密。尽管可以应用专用数据加密/解密方法,然而可以方便地使用标准的循环冗余校验(CRC)方法来对数据进行加密/解密,但是攻击者可能容易地倒推出加密/解密过程,并且CRC方法可能无法提供高级别的安全性。
在一个实施例中,在数据处理单元中使用完整性校验方法,以产生完整性控制数据,该完整性控制数据随后被存储在由物理地址标识的存储器中。可以采用数个完整性校验方法。最简单的方法是1比特的奇数/偶数的奇偶性校验,其中,产生一个完整性控制比特,以在数据中的所有比特之中保持偶数奇偶性或者奇数奇偶性。可替换的完整性校验方法的范围从具有低安全性抵抗力的简单循环冗余校验(CRC)到强有力并已证实的方法,例如消息认证码(MAC)。
在某些实施例中,在由模式控制信号使能的数据处理模式中可以涉及两个数据处理单元。产生的数据可以是两个不同存储区中所存储的两种格式。具体来说,在存储器写入周期期间,完整性控制数据通常伴随着有效载荷数据产生,该有效载荷数据可以是与原始输入数据相同的、是从原始输入数据格式化的或是从原始输入数据加密的。有效载荷数据和完整性控制数据分别由第一数据处理单元和第二数据处理单元来产生。在存储器读取周期期间,可以在第三数据处理单元中将有效载荷数据恢复为原始数据,其中有效载荷数据可以是原始的、格式化的或加密的,并且在第四数据处理单元中基于完整性控制数据来校验所恢复的数据的有效性。第一数据处理单元和第三数据处理单元彼此相反,而在第四数据处理单元中,所恢复的原始数据可以用于重新产生完整性控制数据,该完整性控制数据用于与从存储器中提取的完整性控制数据相比较,并且从存储器中提取的完整性控制数据也可以经受某种处理以验证数据的有效性。两个数据处理单元参与针对对应于存储器读取或写入操作的每一数据处理模式产生两个结果。
在另一具体实施例中,需要以明文和加密形式这两种形式将数据存储在存储器240中。使用包括旁路总线的第一数据处理单元来允许数据以明文形式存储在第一存储区,并且还使得实现数据加密方法的第二数据处理单元能够产生加密形式的有效载荷数据以用于存储在第二存储区中。由多模数据处理单元400实现并行数据处理,以避免用于在数据处理之间进行切换的软件数据处理或复杂数据路径重新配置。
物理地址可以与多于一个的逻辑地址相关联,并且因此,不同的数据处理方法可应用至物理地址处的内容。在某些实施例中,数据处理单元基于密钥和逻辑地址使用数据加密方法将输入数据加密为在物理地址处的有效载荷数据。在存储器读取周期期间,可以基于同一密钥使用数据解密方法来将同一逻辑地址用于提取并恢复输入数据,同时还可以将不同的逻辑地址应用于使用明文模式来回读该数据。因此,不管其原始的数据形式如何,使用不同的逻辑地址允许在存储器读取周期期间将存储在物理地址处的数据提取成不同的数据形式。
图5示出了根据本发明的各个实施例在微控制器中实现基于模式的数据处理的方法500。在步骤502,接收逻辑地址和写入/读取控制。写入/读取控制用于指定这是存储器写入过程还是存储器读取过程。逻辑地址标识输入数据在数据块内的相对位置。在存储器写入过程与存储器读取过程中,在步骤504,都将逻辑地址转换为为存储器中的至少一个物理地址。
在步骤506,接收输入数据。输入数据可以是来自主机侧(例如,CPU核心206)的数据,或来自接口侧(例如,存储器240)的加密的/格式化的数据。对于存储器写入,首先处理输入数据,并且随后根据物理地址将其存储在存储器中,而对于存储器读取,输入数据是最先从物理地址中提取的有效载荷数据,并且在随后的步骤中进行处理。
在步骤508,采用输入地址和写入/读取控制来产生模式控制信号,该模式控制信号为随后的数据处理指定一个数据处理模式。在步骤508,通过由模式控制信号确定的至少一个数据处理模式来处理输入数据。在各种实施例中,可以根据数据处理模式对输入数据进行直接传输、加密、格式化、解密或反向格式化,以产生处理后的数据。在步骤512,选择处理后的数据中的至少一个以用于输出。在随后的步骤514中,将所选择的用于输出的处理后的数据分别在存储器写入操作中传送至存储器240,或者在存储器读取操作中传送到CPU核心206。
本领域技术人员将认识到,这种基于模式的数据处理系统或设备是专用硬件单元,其可以有效地避免否则所需要的复杂软件程序。也提高了微控制器的数据处理速率和吞吐量。
本领域技术人员还将认识到,这样的基于模式的数据处理可应用于将存储器配置成用作安全微控制器与外部组件的接口处的输入/输出寄存器。数据流在被从安全微控制器发送至外部组件之前先被格式化或加密。在一个实施例中,来自安全微控制器的数据分组被处理并且被存储在存储器中,以经由以太网进行传输,并且可以根据数据分组的领域而使用各种数据处理模式。这样的基于模式的数据处理允许以太网得以获得联机的(on-the-fly)加密/编码/格式化的益处,并且提高了数据的吞吐量。
虽然本发明易受各种修改和替换形式的影响,但是在附图中已经示出了本发明的具体例子并且在本文中对其进行了详细描述。然而,应当理解,本发明并不限于所公开的具体形式,相反地,本发明将覆盖落入所附权利要求的范围内的所有修改、等价形式和替换形式。

Claims (21)

1.一种将数据存储在与安全微控制器交互的存储器中的方法,所述方法包括:
在微控制器中产生逻辑地址、输入数据以及写入/读取控制,所述写入/读取控制标识存储器读取操作或写入操作;
将所述逻辑地址转换为所述存储器中的至少一个物理地址,所述存储器被划分为多个区;
基于所述逻辑地址和所述写入/读取控制产生模式控制信号,所述模式控制信号标识来自多个数据处理模式中的数据处理模式;
将所述数据处理模式与从多个数据处理方法中选择的至少一个数据处理方法相关联,每个数据处理方法与所述存储器的至少一个区相关联;
根据所选择的至少一个数据处理方法,产生要被存储在所述存储器的所述至少一个区内的数据。
2.根据权利要求1所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述多个数据处理方法包括旁路方法,所述旁路方法经由所述微控制器与所述存储器之间的直接路径而存储或取回所述输入数据。
3.根据权利要求1所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述多个数据处理方法包括用于产生与所述输入数据相对应的完整性控制数据的至少一个完整性校验方法。
4.根据权利要求1所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述多个数据处理方法包括用于改变所述输入数据的用于在所述存储器中进行存储的格式的至少一个格式化方法。
5.根据权利要求1所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述多个数据处理方法包括用于对所述输入数据进行加密的至少一个数据加密方法。
6.根据权利要求1所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述至少一个加密方法是基于从密钥储存器中提取的密钥的。
7.根据权利要求1所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述多个数据处理方法中的至少一个是专用的。
8.根据权利要求1所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述多个数据处理模式中的一个涉及两个数据处理方法,使得产生两个处理后的数据,并且所述逻辑地址被转换为位于所述存储器中的不同区内的两个物理地址。
9.根据权利要求8所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述两个数据处理方法分别包括旁路方法和数据加密方法,使得所述两个处理后的数据分别为明文和加密格式的。
10.根据权利要求8所述的将数据存储在与安全微控制器交互的存储器中的方法,其中,所述两个数据处理方法分别为数据加密方法和完整性校验方法,使得所述两个处理后的数据分别为加密的数据和完整性控制数据。
11.一种基于模式的微控制器,包括:
地址转换器,被耦合以接收输入地址,所述地址转换器将所述输入地址转换为与微控制器交互的外部存储器中的至少一个物理地址;
模式产生器,被耦合以接收所述输入地址和写入/读取控制,所述模式产生器根据所述写入/读取控制和所述输入地址产生模式控制信号,所述模式控制信号标识来自多个数据处理模式的一个数据处理模式;
多模式数据处理单元,被耦合以接收所述模式控制信号和输入数据,所述多模式数据处理单元基于多个数据处理方法中的至少一个数据处理方法产生至少一个处理后的数据,所述至少一个数据处理方法是根据所述数据处理模式标识的;并且
其中,所述外部存储器被划分为多个区,并且所述多个数据处理方法中的每一个与所述外部存储器中的所述多个区中的一个相关联。
12.根据权利要求11所述的基于模式的微控制器,其中,当所述写入/读取控制标识存储器读取操作时,所述输入数据是从所述外部存储器中的所述多个区中的至少一个中读取的,并且当所述写入/读取控制标识存储器写入操作时,所述至少一个处理后的数据被存储在从所述外部存储器的所述多个区中选择的至少一个区中。
13.根据权利要求11所述的基于模式的微控制器,其中,在一个数据处理模式中,所述多模式数据处理单元根据所述输入数据产生两个处理后的数据,并且所述两个处理后的数据分别为加密的和明文的,用以存储在所述外部存储器中的所述多个区的两个不同区中。
14.根据权利要求11所述的基于模式的微控制器,其中,在一个数据处理模式中,所述多模式数据处理单元根据所述输入数据产生两个处理后的数据,并且所述两个处理后的数据分别为加密的数据和完整性控制数据,用以存储在所述外部存储器中的所述多个区的两个不同区中。
15.根据权利要求11所述的基于模式的微控制器,其中,所述多模式数据处理单元还包括:
第一解复用器,所述第一解复用器在存储器写入操作期间根据所述数据处理模式传送所述输入数据;
第二解复用器,耦合至所述外部存储器,所述第二解复用器在存储器读取操作期间根据所述数据处理模式传送所述输入数据;
多个数据处理单元,耦合至所述第一解复用器和所述第二解复用器,所述多个数据处理单元根据多个数据处理方法产生多个处理后的数据,其中,每个数据处理单元与一个数据处理方法相关联;
第一复用器,耦合至所述外部存储器,所述第一复用器在所述存储器写入操作期间,根据所述数据处理模式选择所述多个处理后的数据中的至少一个;以及
第二复用器,所述第二复用器在所述存储器读取操作期间根据所述数据处理模式选择所述多个处理后的数据中的至少一个。
16.根据权利要求15所述的基于模式的微控制器,其中,所述多模式数据处理单元中的一个数据处理单元经由微控制器与所述外部存储器之间的直接路径而存储或取回所述输入数据,并且产生是与所述输入数据相同的明文的处理后的数据。
17.根据权利要求15所述的基于模式的微控制器,其中,在所述多模式数据处理单元中包括分别用于数据加密或数据解密的两个反向过程的两个数据处理单元,并且这两个反向过程分别用于在所述输入数据由微控制器提供时对所述输入数据进行加密以存储在所述外部存储器中,以及在所述数据从所述外部存储器中以加密格式提取时对所述输入数据进行解密。
18.一种微控制器的接口处的多模式数据处理单元,包括:
第一解复用器,所述第一解复用器在存储器写入操作期间根据数据处理模式传送输入数据;
第二解复用器,耦合至外部存储器,所述第二解复用器在存储器读取操作期间根据所述数据处理模式传送所述输入数据;
多个数据处理单元,耦合至所述第一解复用器和所述第二解复用器,所述多个数据处理单元根据多个数据处理方法产生多个处理后的数据,其中,每个数据处理单元与一个数据处理方法相关联;
第一复用器,耦合至所述外部存储器,所述第一复用器在所述存储器写入操作期间,根据所述数据处理模式选择所述多个处理后的数据中的至少一个;以及
第二复用器,所述第二复用器在所述存储器读取操作期间,根据所述数据处理模式选择所述多个处理后数据中的至少一个;
其中,所述外部存储器被划分为多个区,并且由所述多个数据处理方法中的一个产生的处理后的数据与所述外部存储器中的所述多个区中的一个相关联。
19.根据权利要求18所述的多模式数据处理单元,其中,所述多个数据处理单元中的一数据处理单元经由微控制器与所述外部存储器之间的直接路径而存储或取回所述输入数据,并且产生是与所述输入数据相同的明文的处理后的数据。
20.根据权利要求18所述的多模式数据处理单元,其中,在所述多个数据处理单元中包括分别用于数据加密或数据解密的两个反向过程的两个数据处理单元,并且这两个反向过程分别用于在所述输入数据由微控制器提供时对所述输入数据进行加密以存储在所述外部存储器中,以及在所述输入数据从所述外部存储器中以加密格式提取时对所述输入数据进行解密。
21.根据权利要求18所述的多模式数据处理单元,其中,所述多个数据处理单元中的一数据处理单元在存储器写入操作期间根据完整性校验方法产生完整性控制数据。
CN201210311766.2A 2011-08-30 2012-08-29 基于模式的安全微控制器 Active CN103034801B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1157656 2011-08-30
FR1157656A FR2979443B1 (fr) 2011-08-30 2011-08-30 Microcontroleur securise a base de mode

Publications (2)

Publication Number Publication Date
CN103034801A CN103034801A (zh) 2013-04-10
CN103034801B true CN103034801B (zh) 2017-03-01

Family

ID=45815640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210311766.2A Active CN103034801B (zh) 2011-08-30 2012-08-29 基于模式的安全微控制器

Country Status (3)

Country Link
US (1) US9152576B2 (zh)
CN (1) CN103034801B (zh)
FR (1) FR2979443B1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436786B1 (en) * 2014-02-12 2016-09-06 Xilinx, Inc. Method and circuits for superclocking
CN104598342B (zh) * 2014-12-31 2018-05-01 曙光信息产业(北京)有限公司 内存的检测方法和装置
US10142303B2 (en) * 2015-07-07 2018-11-27 Qualcomm Incorporated Separation of software modules by controlled encryption key management
US10372625B2 (en) 2016-12-27 2019-08-06 Intel Corporation Secure memory
CN106990983B (zh) * 2017-03-21 2021-09-24 北京新能源汽车股份有限公司 单片机烧写方法、装置、系统及单片机
US11763008B2 (en) * 2020-01-15 2023-09-19 International Business Machines Corporation Encrypting data using an encryption path and a bypass path
US11520709B2 (en) * 2020-01-15 2022-12-06 International Business Machines Corporation Memory based encryption using an encryption key based on a physical address
US11620149B2 (en) * 2020-06-25 2023-04-04 Red Hat, Inc. Safe entropy source for encrypted virtual machines

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412055B2 (en) * 1998-06-30 2002-06-25 Legerity, Inc. Method and apparatus for product development
CN101213510A (zh) * 2005-06-29 2008-07-02 桑迪士克股份有限公司 用于管理存储装置中的分区的方法和系统
CN102265285A (zh) * 2009-09-17 2011-11-30 松下电器产业株式会社 信息处理装置、管理装置、非法模块检测系统、非法模块检测方法、记录非法模块检测程序的记录媒体、管理方法、记录管理程序的记录媒体和集成电路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553475B2 (en) * 1997-10-09 2003-04-22 Matsushita Electric Industrial Co., Ltd. Memory system with address conversion based on inherent performance condition
CN1984298B (zh) * 2005-12-14 2010-05-19 辉达公司 芯片组安全卸载引擎
US7376807B2 (en) * 2006-02-23 2008-05-20 Freescale Semiconductor, Inc. Data processing system having address translation bypass and method therefor
IL204704A (en) * 2009-03-25 2016-04-21 Ibm A method and system for modifying logical information objects for storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412055B2 (en) * 1998-06-30 2002-06-25 Legerity, Inc. Method and apparatus for product development
CN101213510A (zh) * 2005-06-29 2008-07-02 桑迪士克股份有限公司 用于管理存储装置中的分区的方法和系统
CN102265285A (zh) * 2009-09-17 2011-11-30 松下电器产业株式会社 信息处理装置、管理装置、非法模块检测系统、非法模块检测方法、记录非法模块检测程序的记录媒体、管理方法、记录管理程序的记录媒体和集成电路

Also Published As

Publication number Publication date
FR2979443A1 (fr) 2013-03-01
US20140101459A1 (en) 2014-04-10
FR2979443B1 (fr) 2013-09-27
CN103034801A (zh) 2013-04-10
US9152576B2 (en) 2015-10-06

Similar Documents

Publication Publication Date Title
CN103034801B (zh) 基于模式的安全微控制器
JP6592621B2 (ja) 認証ネットワーク
CN103246842B (zh) 用于验证和数据加密的方法和设备
CN103221961B (zh) 包括用于保护多用户敏感代码和数据的架构的方法和装置
US9996709B2 (en) Secure computer architecture
US8843767B2 (en) Secure memory transaction unit
CN104247327B (zh) 使用密钥加密密钥的密码发射系统
CN102855161B (zh) 用于安全微控制器的外部存储器的数据交织方案
CN101430747B (zh) 基于可信嵌入式平台的移动设备及其安全存储方法
US9703945B2 (en) Secured computing system with asynchronous authentication
CN103563290B (zh) 公共加密体系结构服务中组合密钥控制信息的方法和系统
CN104025500A (zh) 使用在物理上不可克隆的函数的安全密钥存储
CN103065102A (zh) 基于虚拟磁盘的数据加密移动存储管理方法
CN108229220A (zh) 用于在不可信用户设备上的信息的可信呈现的系统和方法
CN106022169A (zh) 一种基于zynq小型密码机的加密保护方法及实现该方法的装置
US6836548B1 (en) Communications security and trusted path method and means
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
CN104376277B (zh) 运算装置、方法与系统
CN102473225B (zh) 用于保护数字存储设备的方法、系统和设备
CN110008724A (zh) 固态硬盘控制器安全加载方法、装置及存储介质
CN106548098A (zh) 用于检测故障攻击的方法和系统
KR20190058302A (ko) 반도체 장치, 인증 시스템 및 인증 방법
CN114237492A (zh) 非易失性存储器保护方法及装置
CN112087294B (zh) 一种基于密态哈希标签防护的便携式安全计算机系统
CN107317925A (zh) 移动终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant