CN114968905A - 片上系统及其操作方法 - Google Patents

片上系统及其操作方法 Download PDF

Info

Publication number
CN114968905A
CN114968905A CN202210139559.7A CN202210139559A CN114968905A CN 114968905 A CN114968905 A CN 114968905A CN 202210139559 A CN202210139559 A CN 202210139559A CN 114968905 A CN114968905 A CN 114968905A
Authority
CN
China
Prior art keywords
data
key
seed
soc
seed table
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
CN202210139559.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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN114968905A publication Critical patent/CN114968905A/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
    • 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/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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/602Providing cryptographic facilities or services
    • 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
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Saccharide Compounds (AREA)

Abstract

提供了包括安全元件的片上系统(SoC)。SoC的方法包括在电力接通时生成随机数,基于种子表操作策略根据随机数生成种子表,用种子表中的与目标地址对应的第一数据种子值对第一数据进行掩码,使用种子表中的第一类第一加密密钥对经掩码的第一数据进行加密,并将经第一加密的第一数据写入外部存储器的目标地址,其中数据种子值或第一类第一加密密钥之一动态变化。

Description

片上系统及其操作方法
技术领域
一些示例实施例涉及片上系统和/或操作方法,更具体地,涉及一种用于在包括安全元件的片上系统上执行数据的加密/解密的方法和/或装置。
背景技术
通常情况下,在片上系统中,如图1所示,中央处理器(CPU)、存储器和其他外围设备通过使用与公共数据发送线相对应的总线BUS连接。近来,为了单个芯片的可扩展性,片上系统的内部总线信号已经连接到外部,从而可以将存储器或外围设备添加到片上系统。
另一方面,随着电气和电子技术的发展,比过去更有价值的信息已经被数字化,并且对信息的安全性和/或版权的兴趣逐渐增加。例如,如果例如用于电子交易的ID、口令和证书中的任何一个的用户个人信息被泄露,则可能会发生由于非法使用或不当使用或未经授权使用用户名而造成损害,并且当特定设备的固件被泄露时,由于该固件可以被用于制造商经由该泄露固件的意图之外的目的,因此正在积极地进行安全和/或版权研究以防止或解决这些问题。
已经提供了一些安全技术来保护上述重要信息。例如,提供了一种在软件级别加密和存储重要信息的技术、一种为物理可访问外部存储器和/或外围设备使用专用加密接口的技术、一种用于内部设计双重结构以防止或减少由于多处理器而引起的内部存储器的信息提取的可能性的技术,以及一种用于在总线级别控制对每个区域的访问的技术。
发明内容
在片上系统中,使用单独的CPU和内部存储器来实施需要高度安全性的应用。但是,由于内部存储器的容量限制,可能存在对可以实施的应用的限制。
一些示例实施例提供了一种相对来自外部的攻击安全或更安全且同时通过利用外部存储器来扩展应用的容量的片上系统及其操作方法。
具体地,一些示例实施例提供了一种在硬件级别对信息进行加密和解密的片上系统和/或其操作方法。
一些示例实施例还提供了一种根据存储器位置和时间变化动态地改变用于加密的种子以提供改进的数据完整性的片上系统及其操作方法。
根据一些示例实施例,一种包括安全元件的SoC(片上系统)的操作方法包括:响应于SoC的电力被接通而生成随机数,基于随机数生成种子表,生成种子表是基于种子表操作策略的;用种子表的与目标地址对应的第一数据种子值对第一数据进行掩码;用种子表的第一类第一加密密钥对经掩码的第一数据进行加密;以及将经第一加密的第一数据写入外部存储器的目标地址。在SoC被接通时重置数据种子值或第一类第一加密密钥中的至少一个。
根据一些示例实施例,连接到外部存储器的SoC(片上系统)包括安全元件电路,其包括CPU和被配置为输出目标地址和写入命令的处理电路。处理电路被配置为:用数据种子表的与目标地址对应的数据种子值对第一数据进行掩码,从密钥种子表中提取与目标地址对应的密钥种子值以生成第一类加密密钥,使用第一类加密密钥对经掩码的第一数据进行加密,并将经加密的第一数据存储在外部存储器中。数据种子值或第一类加密密钥中的至少一个被配置为基于种子表操作策略来动态改变。
根据一些示例实施例,一种安全元件的操作方法包括:以时间相关方式生成随机数,并设置数据种子表策略,设置数据种子表策略响应于安全元件的电力被接通;根据数据种子表策略设置与随机数对应的数据种子表;从非易失性存储设备读取第一数据;用与外部存储器的目标地址对应的数据种子值对第一数据进行掩码;以及将经掩码的第一数据写入外部存储器的目标地址。
根据一些示例实施例,SoC(片上系统)包括安全元件电路,其被配置为对从非易失性存储设备读取的第一数据进行掩码,以用第一类加密密钥对第一数据进行第一加密,并将第一数据发送至外部存储器。外部存储器被配置为在目标地址处存储经第一加密的数据,并且安全元件电路被配置为用数据种子值和与目标地址对应的第一类加密密钥来对第一数据进行掩码。
替代地或附加地,一些示例实施例提供一种片上系统和/或其操作方法,该片上系统根据存储器位置和时间变化动态地改变用于加密的种子以防止或减少外部有意攻击的可能性。
附图说明
图1是表示根据一些示例实施例的片上系统的图。
图2是表示根据一些示例实施例的安全元件的具体配置的框图。
图3是表示图2所示的数据块的具体结构的框图。
图4是表示图2所示的密钥块的具体结构的框图。
图5是具体表示图1所示的外部存储器的图。
图6是具体表示图1所示的内部存储器的图。
图7是用于解释根据一些示例实施例的SoC的操作方法的概念图。
图8和图9是用于解释根据一些示例实施例的SoC的操作方法的流程图。
图10是具体示出根据一些示例实施例的SoC的框图。
图11是具体示出根据一些示例实施例的SoC的框图。
图12是具体表示图11所示的密钥块的框图。
图13是具体表示根据一些示例实施例的SoC的框图。
图14是具体表示图13所示的数据块的框图。
具体实施方式
一些示例实施例可以被实现为符合智能卡的规则,例如智能安全平台ETSI TS103 465,特别是103-666-1和103-666-2。替代地或附加地,一些示例实施例可以被实现为符合全球平台虚拟主平台的规则。
尽管诸如第一和第二的术语用于描述各种元件或组件,但是显而易见的是这些元件或组件不受这些术语的限制。例如,加密密钥可以被描述为第一类、第二类等。这些术语仅用于将单个元件或部件与其他元件或部件区分开来。因此,下面描述的第一元件或部件可以是本发明的技术思想内的第二元件或部件。
在下文中,将参照附图描述根据示例实施例的技术思想的实施例。
图1是表示根据一些示例实施例的片上系统的图。
参照图1,片上系统1包括执行环境REE 10和TEE 20、主机硬件30和安全元件(SE)100。
例如,片上系统(以下称为SoC)1可以被实现为应用处理器并且可以被包括在电子设备中。SoC 1可以控制电子设备的整体操作,并控制至少一个其他部件。SoC 1驱动OS(操作系统)和应用,并且可以执行各种计算和数据处理。SoC 1可以是或可以包括或可以对应于用于执行特定操作的专用处理器(例如,嵌入式处理器),和/或可以通过执行存储在存储器设备中的一个或多个软件程序来执行操作的通用处理器。例如,SoC 1可以被实现为中央处理单元(CPU)、微处理器或CP(通信处理器)中的至少一个。在一些示例实施例中,SoC 1可以包括用于执行一般计算的区域和用于执行与处理安全相关数据相关联的处理的区域。区域之一可以与另一区域分开、包括在另一区域中或包括另一区域的部分。
根据一些示例实施例,包括SoC 1的电子设备可以是但不限于:智能电话、平板PC、PC、智能电视、移动电话、PDA(个人数字助理)、笔记本电脑、媒体播放器、微型服务器、GPS(全球定位系统)设备、电子书终端、数字广播终端、导航、信息亭、MP3播放器、数码相机、家用电器和其他移动或非移动计算设备中的至少一个。进一步地,电子设备可以是或可以包括具有数据处理功能的手表、眼镜、发带、戒指等可穿戴设备中的至少一个。然而,电子设备不限于此,并且可以包括使用处理器来基于OS操作的所有类型的设备。
根据一些示例实施例,SoC 1可以连接到非易失性存储设备200和外部存储器300。SoC 1还可以包括主机硬件模块30,其可以进行向非易失性存储器件200和外部存储器300发送数据并从其接收数据的交互式传输。
根据一些示例实施例,SoC 1可以连接或直接连接到专用存储器400,该专用存储器400连接或直接连接到iSE 100以存储安全数据。专用存储器400可以不连接到主机硬件模块30。
根据一些示例实施例,SoC 1可以包括富执行环境处理器(以下称为REE)10和可信执行环境处理器(以下称为TEE)20。根据一些示例实施例,REE 10和TEE 20可以被实现为在SoC 1中物理隔离(例如可以具有基于硬件的隔离)。
REE 10是或包括非可信执行环境(NTEE),并且可以对富操作系统中的应用执行非安全操作。例如,REE 10可以执行不需要或不使用安全性的通用计算,控制与安全性无关的部件,并发送和接收不安全且可以公开的普通数据。
TEE 20在可信执行环境(即,安全执行环境)中对应用进行安全操作。例如,TEE 20可以执行需要或使用安全的操作、控制与安全相关的部件、并发送和接收安全数据。安全数据可以包括例如关于安全应用的信息或与金融支付服务相关联的信息以及与嵌入式服务相关联的信息中的至少一个。关于安全应用的信息可以包括生物特征信息,例如,用户认证信息;然而,示例实施例不限于此。TEE 20可以是或者可以包括与iSE 100具有相同安全级别的安全区域,并且可以用作iSE 100的驱动器。
iSE(内部安全元件)100可以安装和/或驱动安全应用和/或可以存储安全数据,这取决于TEE 20的驱动器。iSE 100可以包括用于针对安全存储和支付、认证或各种其他服务的应用的执行的硬件、软件、接口和协议中的至少一个。
根据一些示例实施例,iSE 100可以以能够插入到SoC 1的插槽中的通用集成电路卡(UICC)的形式安装,和/或以埋入SoC 1中的形式安装。
根据一些示例实施例,iSE 100可以通过安全信道向TEE 20发送数据和从TEE 20接收数据。iSE 100通过安全信道对从TEE 20接收的加密信息进行解密,并且可以将加密信息存储在iSE 100的内部存储器170、外部存储器300或与iSE 100相连的专用外部存储器400中的至少一个中。
内部存储器170存储安全数据、由iSE 100执行的程序代码等。此时,嵌入式内部存储器170的容量可能受到限制。示例实施例可以在连接到SoC 1的外部存储器300中实现为对外部攻击(例如物理攻击)安全或更安全的单独区域,并且可以克服或部分克服内部存储器170的限制。
根据一些示例实施例,外部存储器300可以被实现为易失性存储器,例如,DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)中的至少一个。外部存储器300可以包括与REE 10和TEE 20中的每一个相对应的正常区域和安全区域。存储在外部存储器300的安全区域中的数据需要或应该保持机密性和/或完整性。即使当外部攻击者获取存储在外部存储器300中的数据时,iSE 100可以通过以时间相关的方式(将在下面更详细地描述)改变用于数据机密性的D加密密钥或种子值来将数据完整性保持为无效数据。
根据一些示例实施例,iSE 100可以包括CPU(中央处理单元,以下简称CPU)110、内部存储器iMemory 170和安全硬件模块190。例如,下面将在图2中描述iSE 100的配置和操作。
非易失性存储设备200可以包括与REE 10和TEE 20中的每一个相对应的正常区域和安全区域。正常区域和安全区域可能没有任何公共重叠区域。非易失性存储设备200的安全区域可以存储代码和/或数据以及防重放计数器(以下称为ARC)。防重放计数器可以在每次发送代码和/或数据时增加计数值,从而检查代码和/或数据的完整性。非易失性存储设备200可以使用F加密密钥来加密并存储代码或数据。主机硬件模块30可以使用F加密密钥对从SoC 1发送到非易失性存储设备200的数据进行加密,并将从SoC 200接收到的数据解密到非易失性存储设备200。
专用外部存储器400可以实现为非易失性存储器,例如闪存、相变存储器(PCRAM)、阻变存储器(ReRAM)、铁电存储器(FeRAM)和磁阻存储器(MRAM)中的至少一个。专用外部存储器400可以存储例如ARC计数值、至少两个F加密密钥(F_key 1至N)和安全数据Data中的至少一个。
图2是表示根据一些示例实施例的安全元件的具体配置的框图,图3是表示图2中所示的数据块的具体配置的框图,且图4是表示图2所示的密钥块的具体配置的框图。
参照图2,iSE 100可以包括CPU 110、随机数发生器120、数据块(DUD)130、加密引擎140、密钥块(DUK)150和密钥寄存器160。例如,随机数生成器120、数据块130、加密引擎140、密钥块150和密钥寄存器160可以被包括在安全硬件模块190中。作为另一示例,随机数生成器120、数据块130、加密引擎140、密钥块150和密钥寄存器160中的至少一个可以与安全硬件模块190分开实施。
iSE 100的每个部件,例如随机数生成器120、数据块(DUD)130、加密引擎140、密钥块(DUK)150、密钥寄存器160等,可以被实现为单独的处理电路,并且可以根据一些示例实施例被实现为单个处理电路。这里,处理电路可以是基于算法的程序代码等软件类型,可以实现为执行特定操作的硬件,且也可以以软硬件结合的形式来实现。
CPU 110控制iSE 100的整体操作。例如,CPU 110可以接收从TEE 30接收到的控制命令并将控制命令解码为iSE内部命令和目标地址,并且可以根据iSE内部命令控制iSE100的组件的操作。例如,CPU 110可以读取存储在非易失性存储器200、外部存储器300和专用存储器400之一的目标地址中的数据,并且可以执行与iSE内部命令对应的计算。
随机数生成器120可以生成随机数。根据一些示例实施例,随机数生成器120可以根据某些(例如,某些预定的)条件来非周期性地和/或周期性地生成随机数。例如,随机数生成器120可以在每次接通SoC 1的电力时单独生成随机数。替代地或附加地,例如,随机数生成器120可以以时间相关的方式以预定周期生成随机数。替代地或附加地,例如,随机数生成器120可以根据诸如预定触发条件的触发条件非周期性地生成随机数。
数据块130和密钥块140可以基于随机数和目标地址生成种子值和D加密密钥。
参照图2和图3,数据块130可以对发送和接收的数据进行掩码/取消掩码。
如这里所使用的,“掩码”和“取消掩码”可以指布尔掩码和布尔取消掩码,并且可以包括例如诸如将在下面更详细地描述的逻辑异或(XOR)运算的运算。
根据一些示例实施例,数据块130基于来自CPU 110的目标地址Address和iSE内部命令(以下称为命令)接收数据(经解密的数据),并且可以将数据发送到外部存储器300。数据块130可以用种子值对数据(经解密的数据)进行掩码并可以将数据发送到外部存储器300。
可替代地或另外地,根据一些示例实施例,数据块130可以基于iSE内部命令(在下文中,命令)从外部存储器300向CPU 110发送数据(经加密的数据)。数据块130可以用种子值对经加密的数据进行取消掩码并将数据发送到CPU 110。
数据块130可以根据设置的数据种子表操作策略生成与随机数对应的数据种子表,例如,可以响应于SoC 1的电力被接通而生成与随机数对应的数据种子表。数据种子表可以包括映射到多个地址中的每一个的多个种子值。上述地址可以是用于执行加密/解密的数据的地址,例如,外部存储器300的地址。根据一些优选实施例,可以存在多个数据种子表操作策略,并且可以根据用户的设置和系统设置来设置至少一个数据种子表操作策略。
数据块130可以通过参考目标地址而从所生成的数据种子表提取种子值之一,并且可以存储所提取的种子值。
根据一些示例实施例,数据块130可以包括数据种子表管理器131、数据种子表存储单元132、数据种子馈送器133以及掩码电路135和137。数据种子表管理器131可以设置至少一个数据种子表操作策略。作为示例,数据种子表管理器131可以根据用户的设置和/或系统设置来设置至少一个操作策略。操作策略例如可以包括数据种子表的存储块大小、地址和更新周期中的至少一项的策略。
数据种子表管理器131可以基于随机数根据操作策略来生成数据种子表。在一些示例实施例中,数据种子表管理器131还可以基于操作策略而改变外部存储器300的整个安全区域350的表元素,可以改变安全区域350的一部分的表元素,或可能因操作策略而改变变化位置或变化周期。例如,种子表操作策略可以对应于表元素的可变范围方案、位置的可变方案或变化周期中的至少一个。
数据种子表存储单元132存储从数据种子表管理器131生成的数据种子表。数据种子表可以是或者可以包括映射到多个地址(地址1到地址N)中的每一个的多个数据种子值(种子值D1到种子值DN)。
当数据种子馈送器133从CPU 110接收到目标地址时,数据种子馈送器133从数据种子表存储单元132中存储的数据种子表中提取与目标地址(Address k)对应的种子值(Seed Value Dk)。
掩码电路135和137可以基于从数据种子馈送器133提取的种子值来对数据进行掩码和/或取消掩码。作为示例,掩码电路135和137可以通过异或(XOR)计算生成数据和种子值作为掩码用数据(masking data),和/或执行对掩码用数据和种子值的异或(XOR)计算以生成取消掩码用数据。作为示例,掩码电路135和137可以在发送路径和接收路径的每一个中被单独地实现为异或(XOR)电路。或者,作为另一示例,掩码电路135和137可以被实现为单个异或(XOR)电路,以针对发送路径和接收路径共同执行掩码和/或取消掩码计算。
例如,掩码电路135可以对从CPU 110接收的数据DATA和种子值执行异或(XOR)计算,并且可以将掩码用数据DATA输出到加密引擎140。例如,掩码电路137对从加密引擎140接收的掩码用数据DATA和种子值进行异或(XOR)计算,并将取消掩码用数据DATA输出到CPU110。
加密引擎140通过D加密密钥对掩码用数据(经解密的数据)进行加密,将经加密的数据发送到外部存储器300,并通过D加密密钥对从外部存储器300接收到的数据(经加密的数据)进行解密,并将经解密的数据发送到数据块130。
根据一些示例实施例,D加密密钥可以存储在密钥寄存器160中。
密钥块150可以存储多个D加密密钥。密钥块150可以根据一些示例实施例存储多个特定的(或者,替代地,预定的)D加密密钥,并且可以根据其他实施例存储以时间相关的方式改变的多个加密密钥。多个D加密密钥可以是或对应于密钥种子表。
密钥块150可以根据设置的密钥种子表操作策略生成与随机数对应的密钥种子表。密钥种子表可以包括映射到多个地址中的每一个的多个密钥种子值。上述地址可以是用于执行加密/解密的数据的地址,例如,外部存储器300的地址。根据一些示例实施例,可以存在多个密钥种子表操作策略,并且可以取决于用户的设置和/或系统设置而设置至少一个密钥种子表操作策略。
密钥块150可以通过参照目标地址从生成的密钥种子表中提取密钥种子值之一,并且可以将提取的密钥种子值存储在密钥寄存器160中作为D加密密钥。
密钥块150可以包括密钥种子表管理器151、密钥种子表存储单元152和密钥种子馈送器153。密钥种子表管理器151可以设置至少一个密钥种子表操作策略。例如,密钥种子表管理器151可以根据用户的设置和/或系统设置来设置至少一个操作策略。操作策略例如可以包括密钥种子表的存储块大小、地址和更新周期中的至少一项的策略。
在一些示例实施例中,密钥种子表管理器151可以基于操作策略来改变外部存储器300的整个安全区域350的表元素。或者,密钥种子表管理器151可以改变安全区域350的一部分的表元素,和/或可以通过操作策略改变变化位置或改变变化周期。
例如,密钥种子表可以具有与数据种子表的更新周期相同,又例如,它们可以根据单独的条件具有彼此不同的更新周期。密钥种子表管理器151可以基于随机数而根据操作策略生成密钥种子表。
密钥种子表存储单元152存储从密钥种子表管理器151生成的密钥种子表。密钥种子表可以是映射到多个地址(地址1到地址N)中的每一个的多个密钥种子值(种子值K1到种子值KN)。
当密钥种子馈送器153从CPU 110接收到目标地址时,密钥种子馈送器153从密钥种子表存储单元152中存储的密钥种子表中提取与目标地址(Address k)对应的密钥种子值(Seed Value Kk)。
密钥寄存器160可以将提取的密钥种子值(Seed Value K)存储为D加密密钥。
例如,数据块130对要发送到iSE 100外部和/或从iSE 100外部接收的数据进行掩码(初级加密),并且加密引擎140通过D加密密钥对掩码用数据DATA进行加密(二级加密),从而进一步改善数据的机密性和完整性。然而,尽管进行了多个程度的加密,由于种子值或D加密密钥可能被泄露给外部攻击,因此种子值或D加密密钥中的至少一个可以具有以时间相关方式变化的值。
根据一些示例实施例,由于数据是使用D加密密钥进行加密的和/或解密的并且被发送到外部存储器300和接收自外部存储器300的,因此数据的机密性可以被保持或更可能被保持。替代地或另外地,根据一些示例实施例,通过基于特定的或预定的操作策略改变和使用D加密密钥和/或数据种子值,可以使攻击者难以预测存储在外部存储器300中的数据的内容,并且更可能保持完整性。
图5是具体表示图1所示的外部存储器的图,且图6是具体表示图1所示的内部存储器的图。
参照图1和图5,外部存储器300可以被划分为用于存储不需要安全的数据的正常区域310和用于存储安全数据的安全区域350。在正常区域310和安全区域350之间可能存在也可能不存在公共区域。
如上所述,例如,安全数据可以包括关于安全应用的信息、与金融支付服务相关联的信息、或与嵌入式服务相关联的信息中的至少一个。例如,关于安全应用的信息可以包括诸如用户认证信息之类的生物特征信息。
替代地或附加地,安全数据可以包括提供应用的执行所必需的软件、代码和/或数据以用于安全存储和支付、认证或各种其他服务。
参照图1和图6,内部存储器170是包括在iSE 100中的存储器,并且可以包括ROM(只读存储器,下文中,ROM)171、RAM(随机存取存储器,下文中,RAM)172和OTP(一次性可编程存储器,下文中,OTP)173中的至少一个。
根据一些示例实施例,ROM 171可以存储与iSE 100的操作相关联的设置码。例如,设置码可以管理iSE 100与外围设备10、20、30和400之间的数据访问操作等。替代地或附加地,ROM 171可以存储如图2到图4描述的数据种子表操作策略或密钥种子表操作策略的设置码。
当SoC 1通电时或在SoC 1通电时或响应于SoC 1通电,iSE 100将与存储在ROM171中的数据种子表操作策略相关联的第一设置码发送到数据种子表管理器131,并且数据种子表管理器131根据第一设置码设置数据种子表操作策略。当SoC 1通电时或在SoC 1通电时或响应于SoC 1通电,iSE 100将与存储在ROM 171中的密钥种子表操作策略相关联的第二设置码发送到密钥种子表管理器151,并且密钥种子表管理器151根据第二设置码设置密钥种子表操作策略。
RAM 172可以是或可以包括iSE 100的操作存储器。例如,RAM172可以存储图2到图4描述的种子表132和152。
根据一些示例实施例,OTP 173可以包括随机数生成器120。iSE 100可以基于存储在OTP 173中的随机数生成器120来生成随机数,并且该随机数可以用于生成数据块130中的数据种子表,和/或可以用于在密钥块150中生成密钥种子表。
图7是用于解释根据一些示例实施例的SoC的操作方法的概念图。
参照图7,当SoC 1通电时或在SoC 1通电时或响应于SoC 1通电,SoC 1读取存储在非易失性存储设备200中的代码和/或数据(为了便于解释,在下文中称为第一数据)。iSE100从专用外部存储器400读取F加密密钥(F_key1),且主机硬件模块30用F加密密钥对从非易失性存储设备200接收的第一数据进行解密,并将第一数据存储在iSE 100的内部存储器170中。此时,发送的第一数据的ARC增加。
CPU 110处理存储在内部存储器170中的第一数据,并将处理中出现的第二数据存储在缓存器111中。第二数据例如可以是iSE 100中所需的应用码和/或设置码。
CPU 110将缓存器111中存储的第二数据发送到外部存储器300的目标地址。iSE100用种子值对第二数据(码1、码2和码3)进行掩码(例如布尔掩码),用D加密密钥(D_key1)对其进行加密,并将其发送到外部存储器300。外部存储器300将第二加密数据存储在安全区域350中。此时,种子值或D加密密钥中的至少一个可以动态变化。存储在外部存储器300中的第二数据被加载到内部存储器170中,并且可以用于CPU 110的处理操作。
如这里所使用的,种子值和/或D加密密钥的动态变化可以指种子值或加密密钥是时间相关的,例如基于生成时间。动态变化的种子值和/或D加密密钥可能不会从先前的通电事件重复和/或可能不会在另一通电事件中再次重复。
由CPU 110的处理操作生成的安全数据可以存储在专用外部存储器400中。
如果试图从外部进行攻击的攻击者获取并使用存储在外部存储器300中的数据,由于攻击时使用的D加密密钥(D_key2)与存储数据时的D加密密钥(D_key1)不同,因此基于D加密密钥(D_key2)的第二数据(Code H)变为无效数据。
当SoC 1断电时,或当SoC例如根据用户命令而将断电或关闭时,iSE 100可以在断电之前或作为断电操作的一部分,将存储在内部存储器170和/或缓存器111中的第二数据发送到非易失性存储器200。此时,第二数据是用D加密密钥和/或种子值进行解密和取消掩码的,然后用F加密密钥进行加密,并可以存储在非易失性存储设备200中,其中D加密密钥和/或种子值以时间相关方式动态变化。
图8和图9是用于解释根据一些示例实施例的SoC的操作方法的流程图。
参照图8和图9,当SoC 1通电时(S100),或者响应于SoC 1通电,iSE 100生成随机数(S11),并设置数据种子表操作策略和密钥种子表操作策略(S12,S51)。iSE 100根据设置的数据种子表操作策略基于随机数生成数据种子表(S13),并根据设置的密钥种子表操作策略基于随机数生成密钥种子表(S52)。
iSE 100读取存储在非易失性存储设备200中的(代码和/或数据)(S14、S15),并用F加密密钥对读取的第一数据(S16、S17)进行解密。此时(S15),非易失性存储设备200可以不向iSE 100发送与代码和/或数据的散列对应的散列值以及ARC;然而,示例实施例不限于此。F加密密钥可以是存储在iSE 100的专用外部存储器400中的值。
iSE 100处理第一数据以生成第二数据,并使用D加密密钥对第二数据进行加密以将第二数据存储在外部存储器300中(S18)。此时,第二数据可以是或者可以包括其中用种子值对经解密的第一数据进行掩码的数据。在这种情况下,种子值可以是或者可以包括与S13的数据种子表中存储第一数据的目标地址对应的数据种子值。D加密密钥可以是或者可以包括与在S52的密钥种子表中存储第一数据的目标地址对应的密钥种子值(S53)。用D加密密钥加密的第二数据被发送到外部存储器300,并且可以存储在永久存储器300中(S19、S20)。
根据一些示例实施例,可以保持数据种子表和/或密钥种子表直到随机数改变为止,随机数可以例如从通电时刻到断电时刻保持不变(S100到S200),又例如,随机数可以非周期性地和/或周期性地变化。
根据iSE 100的操作,外部存储器300可以接收存储数据的读取命令(S21)。外部存储器300根据读取命令读取目标地址的第三数据(S22),并将第三数据发送到iSE 100(S23)。iSE 100可以基于目标地址用D加密密钥对第三数据进行解密,并用基于目标地址的种子值对第三数据进行取消掩码(S24)。
如果例如在用户的命令下和/或由于突然断电事件导致SoC 1断电(S25),iSE 100读取存在于内部存储器170、缓存器111或外部存储器300中的第四数据(S26、S27、S28)。iSE100可以用F加密密钥对读取的第四数据进行加密(S29),将第四数据存储在非易失性存储设备200中(S30、S31),然后可以断电。
图10至图14表示根据一些示例实施例的SoC。下文中将不提供重复的解释,并且将主要描述与上述实施例的不同之处。
图10是具体示出根据一些示例实施例的SoC的框图。
参考图10,根据一些示例实施例的iSE 100′可以包括CPU 110、随机数生成器121、种子表管理器122、数据块130′、密钥块150′、加密引擎140和密钥寄存器160。
与图3和图4不同,在图10的iSE 100’中,种子表管理器122可以独立于数据块130’和密钥块150’来实现。在这种情况下,数据块130’可以包括数据种子表存储单元132、数据种子馈送器133以及掩码电路135和137。此外,密钥块150’可以包括密钥种子表存储单元152和密钥种子馈送器153。
种子表管理器122可以包括数据种子表操作策略和密钥种子表操作策略中的每一个。种子表管理器122可以基于随机数而根据数据种子表操作策略生成数据种子表,并将数据种子表存储在数据种子表存储单元132中。种子表管理器122可以基于随机数而根据密钥种子表操作策略生成密钥种子表,并将其存储在密钥种子表存储单元152中。
图1l是具体示出根据一些示例实施例的SoC的框图,且图12是具体示出图11所示的密钥块的框图。
参考图11,根据一些示例实施例的iSE 100可以包括CPU 110、随机数生成器120、数据块130、密钥块150、加密引擎140和密钥寄存器160。与图2不同,随机数可以只输入到数据块130,而可以不输入到密钥块150。
参照图12,在根据一些示例实施例的数据块130中,数据种子值根据随机数的变化而变化,并且数据种子值可以作为掩码值存储在外部存储器300中。密钥块130包括预先设置而不参考随机数的密钥种子表152。密钥种子馈送器153可以从密钥种子表152中提取与目标地址(地址k)对应的密钥种子值(种子值k),并将该密钥种子值作为加密密钥。
图13是具体示出根据一些示例实施例的SoC的框图,且图14是具体示出图13所示的数据块的框图。
参考图13,根据一些示例实施例的iSE 100可以包括CPU 110、随机数生成器120、数据块130、密钥块150、加密引擎140和密钥寄存器160。与图2不同,随机数可以不输入到数据块130,并且可以仅输入到密钥块150。
参照图14,根据一些示例实施例的数据块130从预设和存储的数据种子表132中提取与目标地址对应的种子值并对数据进行掩码/取消掩码。密钥块130可以从通过参考随机数生成的密钥种子表152中提取与目标地址对应的密钥种子值,并且可以使用密钥种子值作为加密密钥。
例如,在图11至图14的示例实施例中,可以基于随机数仅改变数据块和密钥块之一。当仅动态改变种子值和密钥之一时,由于比图2至图5的实施例更快地生成和使用种子表,可以进一步提高操作速度。
上面公开的任何元件可以包括和/或实施在处理电路中,例如包括逻辑电路的硬件;例如执行软件的处理器的硬件/软件组合;或以上组合。例如,处理电路更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
上述示例实施例中的没有任何实施例都一定相互排斥的。例如,一些示例实施例可以包括参考一个或多个附图描述的特征,并且还可以包括参考其他附图描述的特征。示例实施例不限于此。
尽管已经参考本发明构思的实施例具体示出和描述了本发明构思,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

Claims (20)

1.一种包括安全元件的片上系统SoC的操作方法,所述方法包括:
响应于所述SoC的电力被接通,生成随机数;
基于所述随机数生成种子表,其中基于种子表操作策略生成所述种子表;
用所述种子表的与目标地址对应的第一数据种子值对第一数据进行掩码;
用所述种子表的第一类第一加密密钥对经掩码的第一数据进行加密;以及
将经第一加密的第一数据写入外部存储器的所述目标地址,
其中,所述数据种子值或所述第一类第一加密密钥中的至少一个动态变化。
2.根据权利要求1所述的SoC的操作方法,其中,生成所述随机数包括动态生成所述随机数。
3.根据权利要求1所述的SoC的操作方法,其中,所述种子表操作策略包括在所述种子表中包括的表元素的可变范围方案、可变位置方案或变化周期中的至少一个。
4.根据权利要求1所述的SoC的操作方法,还包括:
通过使用第一类第二加密密钥对从所述外部存储器接收的第二数据进行解密;以及
用与所述第二数据的地址值对应的第二数据种子值对经解密的第二数据进行取消掩码。
5.根据权利要求4所述的SoC的操作方法,其中,基于不同于所述第一类第一加密密钥和所述第一数据种子值的随机数生成所述第一类第二加密密钥或所述第二数据种子值中的至少一个。
6.根据权利要求1所述的SoC的操作方法,其中,所述第一数据是从非易失性存储设备读取并用第二类加密密钥进行解密的数据。
7.一种与外部存储器相连的片上系统SoC,所述SoC包括:
安全元件电路,包括CPU和处理电路,并被配置为输出目标地址和写入命令,
其中,所述处理电路被配置为:
用数据种子表的与所述目标地址对应的数据种子值对第一数据进行掩码,
从密钥种子表中提取与所述目标地址对应的密钥种子值,以生成第一类加密密钥,
使用所述第一类加密密钥对经掩码的第一数据进行加密,以及
将经加密的第一数据存储在所述外部存储器中,
其中所述数据种子值或所述第一类加密密钥中的至少一个被配置为基于种子表操作策略动态变化。
8.根据权利要求7所述的SoC,其中,所述外部存储器包括易失性存储器,所述易失性存储器包括被配置为存储经加密的第一数据的安全区域和被配置为存储未加密的普通数据的正常区域。
9.根据权利要求7所述的SoC,其中,根据动态变化的随机数生成所述数据种子表和所述密钥种子表,以及
所述安全元件电路包括:
数据块电路,被配置为提取所述数据种子值并对所述第一数据进行掩码;
密钥块电路,被配置为提取与所述目标地址对应的所述密钥种子值;
密钥寄存器,被配置为存储所述密钥种子值作为所述第一类加密密钥;以及
加密引擎电路,被配置为用所存储的第一类加密密钥对经掩码的第一数据进行加密,并将经加密的掩码第一数据输出到所述外部存储器。
10.根据权利要求7所述的系统芯片,其中,所述数据种子表是根据动态变化的随机数生成的,并且所述密钥种子表是预定表,以及
所述安全元件电路包括:
数据块电路,被配置为用所述数据种子值对所述第一数据进行掩码;
密钥块电路,被配置为提取与所述目标地址对应的所述密钥种子值;
密钥寄存器,被配置为存储所述密钥种子值作为所述第一类加密密钥;以及
加密引擎电路,被配置为用所存储的第一类加密密钥对经掩码的第一数据进行加密,并将经加密的掩码第一数据输出到所述外部存储器。
11.根据权利要求7所述的SoC,其中,所述数据种子表包括第一表,并且根据动态变化的随机数生成所述密钥种子表,以及
所述安全元件电路包括:
数据块电路,被配置为提取与所述目标地址对应的所述数据种子值,并用所述数据种子值对所述第一数据进行掩码;
密钥块电路,被配置为提取所述密钥种子值;
密钥寄存器,所述密钥寄存器将所述密钥种子值存储作为所述第一类加密密钥;以及
加密引擎电路,被配置为用所存储的第一类加密密钥对经掩码的第一数据进行加密,并将经加密的掩码第一数据输出到所述外部存储器。
12.根据权利要求7所述的SoC,其中,所述种子表操作策略包括在所述种子表中包括的表元素的可变范围方案、可变位置方案或变化周期中的至少一个。
13.根据权利要求7所述的SoC,其中,所述SoC被配置为将所述种子表操作策略应用于所述数据种子表或所述密钥种子表中的至少一个。
14.根据权利要求7所述的SoC,其中,所述SoC连接到专用存储器和非易失性存储器中的每一个,所述非易失性存储器被配置为存储至少一个第二类加密密钥,
所述处理电路还被配置为:
用从所述专用存储器接收的第二类加密密钥对第二数据进行加密,以及
将经加密的第二数据写入所述非易失性存储器。
15.根据权利要求14所述的SoC,其中,所述SoC被配置为响应于所述SoC的电力被断开,对存储在安全元件的内部存储器或所述外部存储器中的所述第二数据进行加密,并将所述第二数据写入所述非易失性存储器。
16.一种安全元件电路的操作方法,所述方法包括:
以时间相关的方式生成随机数并设置数据种子表策略,其中响应于安全元件的电力被接通设置所述数据种子表策略;
根据所述数据种子表策略设置与所述随机数对应的数据种子表;
从非易失性存储设备读取第一数据;
用与外部存储器的目标地址对应的数据种子值对所述第一数据进行掩码;以及
将经掩码的第一数据写入所述外部存储器的所述目标地址。
17.根据权利要求16所述的安全元件电路的操作方法,其中,所述数据种子表策略包括在所述数据种子表中包括的表元素的可变范围方案、可变位置方案或变化周期中的至少一个。
18.根据权利要求16所述的安全元件电路的操作方法,其中,对第一数据进行掩码包括:
用针对所述非易失性存储设备的第一类加密密钥来对读取的第一数据进行解密;
从所设的数据种子表中提取与所述目标地址对应的所述数据种子值;
用所述数据种子值对经解密的第一数据进行掩码;以及
使用第二类加密密钥对经掩码的第一数据进行加密。
19.根据权利要求18所述的安全元件电路的操作方法,还包括:
读取存储在所述外部存储器中的第二数据;
使用第二类加密密钥对所述第二数据进行解密;以及
用所述数据种子值对经解密的第二数据进行取消掩码。
20.根据权利要求18所述的安全元件电路的操作方法,其中,当所述安全元件电路的电力被接通时,所述方法还包括:
响应于电力被接通,设置密钥种子表策略;
根据所述密钥种子表策略设置与所述随机数对应的密钥种子表;以及
从所述密钥种子表中提取第二类加密密钥,所述第二类加密密钥与所述目标地址相对应。
CN202210139559.7A 2021-02-26 2022-02-15 片上系统及其操作方法 Pending CN114968905A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0026097 2021-02-26
KR1020210026097A KR20220122009A (ko) 2021-02-26 2021-02-26 시스템 온 칩 및 그 동작 방법

Publications (1)

Publication Number Publication Date
CN114968905A true CN114968905A (zh) 2022-08-30

Family

ID=82799381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210139559.7A Pending CN114968905A (zh) 2021-02-26 2022-02-15 片上系统及其操作方法

Country Status (5)

Country Link
US (1) US20220277088A1 (zh)
KR (1) KR20220122009A (zh)
CN (1) CN114968905A (zh)
DE (1) DE102021128459A1 (zh)
TW (1) TW202234272A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024049141A1 (ko) * 2022-09-02 2024-03-07 삼성전자주식회사 암호화된 데이터를 비휘발성 메모리 내에 저장하기 위한 전자 장치 및 그 방법
CN118013595A (zh) * 2024-02-01 2024-05-10 广东全芯半导体有限公司 一种主控芯片随机缓存保密方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9881161B2 (en) * 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
KR102466412B1 (ko) * 2016-01-14 2022-11-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102419505B1 (ko) * 2016-03-09 2022-07-08 삼성전자주식회사 스토리지 디바이스의 인증 방법 및 시스템
CN112020843A (zh) * 2018-08-17 2020-12-01 惠普发展公司,有限责任合伙企业 非易失性存储器设备中的临时区
CN111010266B (zh) * 2019-12-09 2023-04-07 广州市百果园信息技术有限公司 消息的加解密、读写方法、装置、计算机设备和存储介质
WO2022132184A1 (en) * 2020-12-20 2022-06-23 Intel Corporation System, method and apparatus for total storage encryption

Also Published As

Publication number Publication date
US20220277088A1 (en) 2022-09-01
DE102021128459A1 (de) 2022-09-01
KR20220122009A (ko) 2022-09-02
TW202234272A (zh) 2022-09-01

Similar Documents

Publication Publication Date Title
US10341091B2 (en) Secure memory storage
CN100386707C (zh) 生成用在隔离执行环境中的密钥层组
US7636858B2 (en) Management of a trusted cryptographic processor
US8347114B2 (en) Method and apparatus for enforcing a predetermined memory mapping
US8213612B2 (en) Secure software download
US7636844B2 (en) Method and system to provide a trusted channel within a computer system for a SIM device
US9081724B2 (en) Method and device for protecting memory content using first and second addressable storage regions and first and second encryption keys
US20070297606A1 (en) Multiple key security and method for electronic devices
WO2008060733A2 (en) Bi-processor architecture for secure systems
CN114968905A (zh) 片上系统及其操作方法
WO2007067221A2 (en) Methods and apparatus for the secure handling of data in a microcontroller
CN101103404A (zh) 在非安全区域中分配安全区域的方法和便携式存储装置
MX2007008540A (es) Metodo y dispositivo de almacenamiento portatil para asignar area segura en area insegura.
US20090262940A1 (en) Memory controller and memory device including the memory controller
EP3844647B1 (en) System and method for providing protected data storage in data memory
EP3788536B1 (en) Cryptographic key distribution
US10452565B2 (en) Secure electronic device
US11019098B2 (en) Replay protection for memory based on key refresh
CN113094720A (zh) 安全地管理密钥的设备和方法
WO2008071222A1 (en) Protecting a programmable memory against unauthorized modification
CN103154967A (zh) 修改元素的长度以形成加密密钥
EP3193274B1 (en) Secure memory storage
US20240184900A1 (en) System and method for providing protected data storage in data memory
JP2002244925A (ja) 半導体回路およびデータ処理方法
CN110059489B (zh) 安全电子设备

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