CN108287768A - 操作半导体装置的方法 - Google Patents

操作半导体装置的方法 Download PDF

Info

Publication number
CN108287768A
CN108287768A CN201810014753.6A CN201810014753A CN108287768A CN 108287768 A CN108287768 A CN 108287768A CN 201810014753 A CN201810014753 A CN 201810014753A CN 108287768 A CN108287768 A CN 108287768A
Authority
CN
China
Prior art keywords
encrypted
memory
dump
secure data
random key
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.)
Granted
Application number
CN201810014753.6A
Other languages
English (en)
Other versions
CN108287768B (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.)
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 CN108287768A publication Critical patent/CN108287768A/zh
Application granted granted Critical
Publication of CN108287768B publication Critical patent/CN108287768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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
    • 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/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/12Details relating to cryptographic hardware or logic circuitry

Abstract

提供一种操作半导体装置的方法。一种操作半导体装置的方法包括:响应于检测到系统故障,将安全数据存储在存储器的安全区域中;通过使用随机密钥对存储在安全区域中的安全数据进行加密,以产生加密的安全数据;将加密的安全数据存储在安全区域中;对存储器的安全区域和非安全区域进行转储。

Description

操作半导体装置的方法
本申请要求于2017年1月9日提交到韩国知识产权局的第10-2017-0002781号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
与示例实施例相一致的方法涉及一种用于操作半导体装置的方法。
背景技术
当在半导体装置或系统的操作期间发生故障时,存储在存储器中的信息可用于识别故障的原因并执行调试。为了获取这样的信息,内存转储(ramdump)技术用于按原样提取存储在存储器中的数据。
然而,存储器可存储安全数据和非安全数据二者。在故障的情况下,系统可允许第三方对非安全数据执行内存转储,但是系统可以不允许未授权的第三方对包含(例如)个人信息的安全数据执行内存转储。尽管如此,为了确定故障的确切原因,可存在期望通过对安全数据执行内存转储来分析安全数据的情况。
因此,在仅将安全数据提供给授权人员以保持安全稳定性的同时,期望对安全数据和非安全数据二者执行内存转储。
发明内容
一个或多个示例实施例提供一种用于操作半导体装置的方法,所述方法能够在保持安全稳定性的同时对包括安全数据的数据执行内存转储。
一个或多个示例实施例还提供一种用于操作半导体装置的方法,所述方法能够在不使用另外资源的情况下执行简单且稳定的内存转储。
然而,本公开的多个方面不限于这里阐述的一个方面。通过参考下面给出的本公开的详细描述,本公开的以上和其他方面对本公开所属领域的普通技术人员而言将变得更加清楚。
根据示例实施例的一方面,提供一种操作半导体装置的方法,所述方法包括:响应于检测到系统故障,将安全数据存储在存储器的安全区域中;通过使用随机密钥对存储在安全区域中的安全数据进行加密以产生加密的安全数据;将加密的安全数据存储在安全区域中;对存储器的安全区域和非安全区域进行转储。
根据示例实施例的另一方面,提供一种操作半导体装置的方法,所述方法包括:响应于检测到系统故障,检查一次可编程(OTP)禁用位;响应于OTP禁用位被禁用,将安全数据存储在存储器的安全区域中,其中,存储器包括安全区域和非安全区域;通过使用随机密钥对存储在安全区域中的安全数据进行加密以产生加密的安全数据;将加密的安全数据存储在安全区域中;将安全区域设置为非安全区域;对存储器进行转储;响应于OTP禁用位被启用,保持存储器的安全区域并对存储器进行转储。
根据示例实施例的另一方面,提供一种操作半导体装置的方法,所述方法包括:将安全内存转储代理加载到存储器的安全区域,其中,存储器包括安全区域和非安全区域;将诊断和内存转储组件加载到存储器的非安全区域;通过诊断和内存转储组件来监视是否检测到系统故障;响应于通过诊断和内存转储组件检测到系统故障,通过安全内存转储代理将安全数据存储在安全区域中;通过使用随机密钥,通过安全内存转储代理对存储在安全区域中的安全数据进行加密以产生加密的安全数据;通过安全内存转储代理,将加密的安全数据存储在安全区域中;通过安全内存转储代理,将安全区域设置为非安全区域;对存储器转储。
根据示例实施例的另一方面,提供一种操作半导体装置的方法,所述方法包括:响应于检测到系统故障,通过使用随机密钥对存储在存储器中的安全数据进行加密;将加密的安全数据存储在存储器中;对包括安全数据的存储器进行转储。
根据示例实施例的另一方面,提供一种操作半导体装置的方法,所述方法包括:响应于检测到系统故障,启用一次可编程(OTP)禁用位以防止存储器的安全区域被转储;响应于检测到系统故障,禁用OTP禁用位以允许存储器的安全区域改变为非安全区域并被转储,其中,响应于检测到系统故障,存储在安全区域中的安全数据通过使用随机密钥被加密,并且在安全区域改变为非安全区域并被转储之前被重写到安全区域。
附图说明
通过参考附图详细描述示例实施例,本公开的上述和其他方面和特征将变得更加清楚,其中:
图1是示出根据示例实施例的使用半导体装置的半导体系统的示意图;
图2是示出根据示例实施例的使用半导体装置的半导体系统的操作的流程图;
图3A至图3D是示出根据示例实施例的用于操作半导体装置的方法的示例的示图;
图4是示出根据示例实施例的用于操作半导体装置的方法的另一示例的示图;
图5A至图5D是示出根据图3A至图3D和图4的示例实施例的用于操作半导体装置的方法中的存储器的改变的示图;
图6是示出根据示例实施例的用于操作半导体装置的方法中的随机密钥的加密的示图;
图7是示出根据示例实施例的用于操作半导体装置的方法中的加密的随机密钥的解密的示图;
图8是示出根据示例实施例的用于操作半导体装置的方法的流程图。
具体实施方式
下面,将详细描述示例实施例。
图1是示出根据示例实施例的使用半导体装置的半导体系统的示意图。
参考图1,根据示例实施例的使用半导体装置的半导体系统包括片上系统100、外部存储器200以及诊断系统300。
根据示例实施例的片上系统100包括应用处理器110、加密引擎120、一次可编程(OTP)禁用位130、通信接口140、访问控制器150、访问权限管理器160以及存储器控制器170。然而,对本领域技术人员来说清楚的是,图1中示出的片上系统100的配置仅仅是示例并且它的详细配置可根据实现的目的以各种方式修改。
应用处理器110可处理片上系统100的整体操作并且可包括多个中央处理器(CPU)核。加密引擎120可用于对外部存储器200中的安全数据240进行加密,这将在后面进行详细描述。OTP禁用位130用于防止对外部存储器200的安全区域B执行内存转储。通信接口140使片上系统100能够与诊断系统300交换数据。当对外部存储器200执行内存转储时,访问控制器150和访问权限管理器160允许安全状态和非安全状态之间的改变,这将参考图2进行详细描述。存储器控制器170控制外部存储器200。
外部存储器200包括非安全区域A和安全区域B。在各种示例实施例中,当在半导体系统中发生故障并且内存转储被执行时,将被执行内存转储的内存转储区域C不仅包括非安全区域A,还包括安全区域B。
诊断和内存转储组件210可被加载到非安全区域A上。不具有安全顾虑的各种数据可被加载到非安全区域A的剩余区域上。将参考图2详细描述诊断和内存转储组件210。
安全内存转储代理220、加密的随机密钥230以及安全数据240可被加载到安全区域B上。加密的随机密钥230可包括用于加密的初始向量。安全数据240包括用户的个人信息或者必须在系统上保持安全的各种数据。例如,安全数据240可包括涉及安全软件的代码或数据、关于安全硬件的执行信息等。将参考图2详细描述安全内存转储代理220和加密的随机密钥230。
在一些示例实施例中,外部存储器200可被实现为易失性存储器(例如,动态随机存取存储器(DRAM)),但是范围不限于此。
当在系统中发生故障时,例如,当发生系统故障时,诊断系统300接收外部存储器200的内存转储历史并分析它们的内容。诊断系统300包括密钥解密单元310、内存转储解密单元320、私钥(private key)340以及分析工具330,其中,密钥解密单元310、内存转储解密单元320、私钥340用于对外部存储器200的安全区域B的加密的内存转储历史进行解密,分析工具330用于从解密的内存转储历史中分析故障的原因。将参考图7描述密钥解密单元310、内存转储解密单元320和私钥340。
图2是示出根据示例实施例的使用半导体装置的半导体系统的操作的流程图。
参考图2,安全内存转储代理220在系统启动(即,启动系统时)检查OTP禁用位130(S201)。
如果OTP禁用位130被禁用(disabled),则安全内存转储代理220产生随机密钥221(S203)。随机密钥用于对外部存储器200的安全数据240进行加密。
安全内存转储代理220对产生的随机密钥221进行加密并将加密的随机密钥230存储在外部存储器200的安全区域B中(S205)。当未来发生系统故障时,存储在安全区域B中的加密的随机密钥230能够用于对外部存储器200的安全数据240进行加密。
在一些示例实施例中,安全内存转储代理220可使用预先产生的公钥(publickey)223对随机密钥221进行加密。公钥223可存储在外部存储器200的安全区域B中的被安全内存转储代理220占用的区域中。与公钥223配对的私钥340可以存储在诊断系统300中。
在一些示例实施例中,每当系统启动时,安全内存转储代理220可新产生随机密钥221,从而提高安全等级。
另一方面,在操作S201中,如果OTP禁用位被启用(enabled),则安全内存转储代理220不执行上述操作S203和S205。
然后,诊断和内存转储组件210监视是否发生系统故障。如果检测到系统故障的发生(S207),则诊断和内存转储组件210通知安全内存转储代理220系统故障的发生,并发送用于对外部存储器200执行内存转储的请求(S209)。
响应于从诊断和内存转储组件210接收到通知和请求,安全内存转储代理220检查OTP禁用位130(S211)。
如果OTP禁用位130被禁用,则安全内存转储代理220将安全数据240存储在外部存储器200的安全区域B中(S213)。
在一些示例实施例中,将安全数据240存储在安全区域B中的步骤还包括将硬件信息存储在安全区域B中。
接下来,安全内存转储代理220可启用软件复位(S215)以在将外部存储器200上的数据按原样保持的同时,初始化可导致系统故障的其他硬件,例如,加密引擎120、通信接口140等。然而,根据示例实施例,可省略操作S215。
接下来,安全内存转储代理220通过使用在操作S203中产生的随机密钥221来对存储在安全区域B中的安全数据240进行加密,并将加密的安全数据250(参考图5B)再次存储在安全区域B中(S217)。
应注意的是,虽然图2中示出在操作S203中在启动系统时安全内存转储代理220产生随机密钥221,然后,当在操作S207中检测到系统故障的发生时,使用随机密钥221来执行加密,但是本公开的范围不限于随机密钥221的产生以及系统故障的发生的检测的示出的顺序。
也就是说,在一些其他示例实施例中,诊断和内存转储组件210可监视系统故障是否已经发生并检测系统故障的发生(S207)。然后,安全内存转储代理220检查OTP禁用位130(S211),并且如果在操作S211中OTP禁用位130被禁用,则安全内存转储代理220可产生随机密钥221。此外,在操作S211中,安全内存转储代理220可对产生的随机密钥进行加密,并将加密的随机密钥230存储在外部存储器200的安全区域B中。
也就是说,根据一些示例实施例,可在启动半导体系统时或在启动半导体系统之后新产生随机密钥221。此外,根据一些示例实施例,随机密钥230可在启动时或响应于检测系统故障的发生而新产生。
在一些示例实施例中,将加密的安全数据250存储在安全区域B中的步骤可包括在与外部存储器200上已经存储安全数据240的位置相同的位置上重写加密的安全数据250。
接下来,安全内存转储代理220将外部存储器200的安全区域B设置为非安全区域(S219),使得能够对安全区域B执行内存转储。
在示例实施例中,在加密的安全数据250被重写之后并在安全内存转储代理220将外部存储器200的安全区域B设置为非安全区域之前,删除存储在外部存储器200中的随机密钥221。因此,即使在操作S219中安全内存转储代理220将外部存储器200的安全区域B设置为非安全区域,随机密钥221也不以非安全状态暴露。
安全内存转储代理220执行上述操作S213至S219,并将控制权返回给诊断和内存转储组件210(S221)。
另一方面,如果在操作S211中OTP禁用位被启用,则安全内存转储代理220将控制权返回给诊断和内存转储组件210(S221),而不执行操作S213至S219。这种情况与防止对安全区域B执行内存转储的情况对应,并且在内存转储结果中,对应于安全区域B的部分被填充无意义的值。
在安全内存转储代理220将控制权返回给诊断和内存转储组件210之后,诊断系统300将内存转储请求发送到诊断和内存转储组件210(S223)。响应于内存转储请求,诊断和内存转储组件210转储对应于非安全区域A的数据208以及对应于安全区域B的加密的数据250(S225),并将结果发送到诊断系统300(S227)。
接下来,在诊断系统300中,密钥解密单元310使用私钥340对加密的随机密钥230进行解密(S229),并且内存转储解密单元320使用解密的随机密钥221对加密的安全数据250进行解密(S231)。因此,诊断系统300能够使用分析工具330来分析关于外部存储器200的安全区域B的信息,以确定系统故障的原因。
根据示例实施例,在安全数据240被加密之后,加密的安全数据250被重写在外部存储器200上的相同位置。因此,不需要用于存储加密的安全数据250的另外的存储空间。此外,在系统故障的情况下,不仅可转储非安全区域A的数据,而且可转储安全区域B的数据。如果安全区域B的数据没有被转储,则可通过使用OTP禁用位130来防止对安全区域B的转储以便容易地保持安全性。此外,由于使用每次启动时新产生的随机密钥221对安全数据240进行加密,所以能够提高安全等级。
图3A至图3D是示出根据示例实施例的用于操作半导体装置的方法的示例的示图。图3A至图3D基于OTP禁用位130被禁用的假设。
参考图3A,在操作(1)中,安全内存转储代理220在启动系统时或者当被加载到外部存储器200中时检查OTP禁用位130。
在操作(2)中,安全内存转储代理220产生随机密钥221,对产生的随机密钥221进行加密,并将加密的随机密钥230存储在外部存储器200的安全区域B中。公钥223可用于对产生的随机密钥221进行加密。
参考图3B,在操作(3)中,诊断和内存转储组件210通知安全内存转储代理220系统故障的发生,并将用于对外部存储器单元200执行内存转储的请求发送到安全内存转储代理220。
然而,如以上参考图2所述,随机密钥221可响应于检测到系统故障的发生而产生,而不是在启动半导体系统时产生。也就是说,随机密钥230在启动半导体系统时或在启动半导体系统之后(例如,在启动时或在检测到系统故障的发生之后)新产生。
因此,如操作(4)中,安全内存转储代理220通过使用加密引擎120对存储在安全区域B中的安全数据240进行加密。因此,安全数据240的区域中的纯文本数据122可以被转换成加密的文本数据123。
此外,安全内存转储代理220在与已经存储安全数据240的位置相同的位置重写加密的安全数据250。
参考图3C,在操作(5)中,通过使用访问控制器150和访问权限管理器160,外部存储器200的安全区域B被设置为非安全区域。由于对非安全区域执行内存转储,所以将安全区域B设置为非安全区域允许将对外部存储器200的包括非安全区域A和安全区域B的整个区域执行内存转储。
在操作(6)中,安全内存转储代理220将控制权返回给诊断和内存转储组件210。
参考图3D,在操作(7)中,诊断系统300提取加密的内存转储并执行解密。
由诊断系统300提取的结果被示出为内存转储400。内存转储400包括与外部存储器200的非安全区域A对应的第一区域410以及与外部存储器200的安全区域B对应的第二区域420。尽管第一区域410的内容可立即识别,但是第二区域420的内容被加密并且不能被立即识别。授权的诊断系统能够使用私钥340对加密的随机密钥230进行解密,并使用解密的随机密钥221对第二区域420的内容进行解密。
根据示例实施例,安全数据240被加密并且加密的安全数据250(参考图5B)被重写在外部存储器200上的相同位置。因此,不需要用于存储加密的安全数据250的另外的存储空间。此外,当发生系统故障时,不仅非安全区域A的数据而且安全区域B的数据可被安全地转储。此外,由于使用在每次启动时新产生的随机密钥221对安全数据240进行加密,所以能够提高安全等级。
图4是示出根据示例实施例的用于操作半导体装置的方法的另一示例的示图。图4基于OTP禁用位130被启用(也就是说,防止对外部存储器200的安全区域B执行内存转储)的假设。
参考图4,在操作(1)中,安全内存转储代理220在启动系统时或当被加载到外部存储器200中时检查OTP禁用位130。
由于OTP禁用位130被启用,所以安全内存转储代理220不产生随机密钥221,并且不对存储在安全区域B中的安全数据240进行加密。
在操作(2)中,诊断和内存转储组件210通知安全内存转储代理220系统故障的发生,并且将用于对外部存储器200执行内存转储的请求发送到安全内存转储代理220。
然而,由于OTP禁用位130被启用,所以安全内存转储代理220不对安全区域B执行内存转储,并且在操作(3)中,将控制权返回给诊断和内存转储组件210。
接下来,在操作(4)中,诊断系统300提取内存转储。在这种情况下,由诊断系统300提取的结果被示出为内存转储400。内存转储400包括与外部存储器200的非安全区域A对应的第一区域410以及与外部存储器200的安全区域B对应的第二区域420。第一区域410的内容可立即识别,但是第二区域420的内容被填充无意义的值,使得不可能掌握内容。
因此,在安全区域B的数据没有被转储的情况下,可容易地通过使用OTP禁用位130来防止转储,以便保持安全区域B的安全性。
图5A至图5D是示出根据图3A至图3D和图4的示例实施例的用于操作半导体装置的方法中的存储器的改变的示图。
图5A示出在安全内存转储代理220对安全数据240进行加密之前的外部存储器200的状态。图5B示出在安全内存转储代理220对安全数据240进行加密之后的外部存储器200的状态。
比较图5A和图5B,能够看出,使用预先产生的公钥223对由安全内存转储代理220产生的随机密钥221进行加密并将其存储为加密的随机密钥230,并且通过随机密钥221对安全数据240进行加密并将其存储为加密的安全数据250。特别地,能够看出,加密的安全数据250被重写在与已经存储安全数据240的位置相同的位置。
图5C示出安全内存转储代理220将外部存储器200的安全区域B设置为非安全区域。因此,可看出,外部存储器200的全部区域变成新的非安全区域D,其中,可对非安全区域D执行内存转储。如以上参考图2所述,在外部存储器200的安全区域B变成非安全区域之前,删除存储在外部存储器200中的随机密钥221,使得随机密钥221不以非安全状态暴露。
图5D示出当OTP禁用位130被启用时(也就是说,当防止对外部存储器200的安全区域B执行内存转储时)的内存转储结果。区域208和区域210的内容可立即识别,但是区域260的内容被填充无意义的值,使得不可能掌握内容。
图6是示出根据示例实施例的用于操作半导体装置的方法中的随机密钥的加密的示图。
参考图6,安全内存转储代理220使用随机数发生器225等来产生随机密钥221,并使用预先产生的公钥223来产生非对称加密算法229,以产生加密的随机密钥230。
接下来,安全内存转储代理220使用随机密钥221通过加密引擎120对安全数据240进行加密。
图7是示出根据示例实施例的用于操作半导体装置的方法中的加密的随机密钥的解密的示图。
参考图7,诊断系统300在密钥解密单元310中使用私钥340通过第一非对称解密算法327对加密的随机密钥230进行解密以获得随机密钥321,并且使用随机密钥321通过第二非对称解密算法329来对加密的安全数据250进行解密以获得安全数据240。诊断系统300可通过使用分析工具330来分析安全数据240以确定系统故障的原因。
图8是示出根据示例实施例的用于操作半导体装置的方法的流程图。
在操作S801中,预先产生私钥340和公钥223的配对,并且公钥223存储在安全内存转储代理220中。私钥340可由诊断系统300保存。
在操作S803中,在外部存储器200上设置安全区域A和非安全区域B。
在操作S805中,安全内存转储代理220产生随机密钥221。随机密钥221用于对外部存储器200的安全数据240进行加密。
安全内存转储代理220对产生的随机密钥221进行加密并将加密的随机密钥230存储在外部存储器200的安全区域B中。存储在安全区域B中的加密的随机密钥230可用于未来在系统故障的情况下对外部存储器200的安全数据240进行加密。
在一些示例实施例中,安全内存转储代理220可使用操作S801中预先产生的公钥223来对随机密钥221进行加密。
在一些示例实施例中,每次系统启动时,安全内存转储代理220可新产生随机密钥221,从而提高安全等级。
在操作S807中,诊断和内存转储组件210监视是否已发生系统故障(例如,装置失灵)。如果检测到系统故障的发生,则诊断和内存转储组件210通知安全内存转储代理220系统故障的发生并将用于对外部存储器200执行内存转储的请求发送到安全内存转储代理220。
然而,如以上参考图2所述,随机密钥221可在检测到系统故障的发生之后而不是在启动半导体系统时产生。也就是说,随机密钥221在启动半导体系统时或在启动半导体系统之后(例如,在启动时或在检测到系统故障的发生之后)新产生。
在操作S809中,安全内存转储代理220将安全数据240存储在外部存储器200的安全区域B中。
在本发明的一些示例实施例中,将安全数据240存储在安全区域B中的步骤还可包括将硬件信息存储在安全区域B中。
接下来,在操作S811中,安全内存转储代理220启用软件复位(S215)。在操作S813中,使用操作S805中产生的随机密钥对存储在安全区域B中的安全数据240进行加密,并将加密的安全数据250再次存储在安全区域B中。
在一些示例实施例中,将加密的安全数据250存储在安全区域B中的步骤可包括在与外部存储器200上已经存储安全数据240的位置相同的位置重写加密的安全数据250。
然后,在操作S815中,安全内存转储代理220将外部存储器200的安全区域B设置为非安全区域,从而甚至可对原本的安全区域B执行内存转储。
在安全内存转储代理220将控制权返回给诊断和内存转储组件210之后,诊断系统300将内存转储请求发送到诊断和内存转储组件210。响应于内存转储请求,诊断和内存转储组件210将通过转储对应于非安全区域A的数据208以及对应于安全区域B的加密的安全数据250而获得的结果发送到诊断系统300(操作S817)。
接下来,在诊断系统300中,在操作S819中,密钥解密单元310使用私钥340对加密的随机密钥230进行解密,并且在操作S821中,内存转储解密单元320使用解密的随机密钥221对加密的安全数据250进行解密。因此,诊断系统300可使用分析工具330来分析关于外部存储器200的安全区域B的信息以确定系统故障的原因。
根据示例实施例,安全数据240被加密并且加密的安全数据250被重写在外部存储器200上的相同位置。因此,不需要用于存储加密的安全数据250的另外的存储空间。此外,在系统故障的情况下,不仅可以转储非安全区域A的数据而且可转储安全区域B的数据。如果安全区域B的数据没有被转储,则可通过使用OTP禁用位130来防止转储,从而可容易地保持安全区域B的安全性。此外,由于使用每次启动时新产生的随机密钥221对安全数据240进行加密,所以能够提高安全等级。
根据示例性实施例,如附图中所示由块表示的组件、元件、模块或单元中的至少一个可被实现为执行上述各个功能的各种数量的硬件、软件和/或固件结构。例如,这些组件、元件或单元中的至少一个可使用可通过对一个或多个微处理器或其他控制设备的控制来执行各个功能的直接电路结构(诸如存储器、处理器、逻辑电路、查找表等)。此外,这些组件、元件或单元中的至少一个可通过包含用于执行指定的逻辑功能的一个或多个可执行指令的模块、程序或一部分代码来具体实现并由一个或多个微处理器或其他控制设备执行。此外,这些组件、元件或单元中的至少一个还可包括或由处理器(诸如,执行各个功能的中央处理器(CPU)、微处理器等)来实现。这些组件、元件或单元中的两个或更多个可被组合成执行组合的两个或更多个组件、元件或单元的所有操作或功能的一个单独组件、元件或单元。此外,这些组件、元件或单元中的至少一个的至少部分功能可由这些组件、元件或单元中的另一个来执行。此外,虽然上述框图中未示出总线,但是组件、元件或单元之间的通信可通过总线执行。上述示例性实施例的功能方面可以以在一个或多个处理器上执行的算法来实现。此外,由块或处理步骤表示的组件、元件或单元可采用用于电子配置、信号处理和/或控制、数据处理等的任何数量的相关领域技术。
这里使用的“单元”可以是硬件组件(诸如,处理器或电路)和/或由硬件组件(诸如,处理器)执行的软件组件。
尽管已经参考附图描述了一个或多个示例性实施例,但是本领域普通技术人员将理解,在不脱离由权利要求限定的本发明构思的精神和范围的情况下,可在其中进行形式和细节上的各种改变。

Claims (20)

1.一种操作半导体装置的方法,所述方法包括:
响应于检测到系统故障,将安全数据存储在存储器的安全区域中;
通过使用在启动之后新产生的随机密钥对存储在安全区域中的安全数据进行加密,以产生加密的安全数据;
将加密的安全数据存储在安全区域中;
对存储器的安全区域和非安全区域进行转储。
2.根据权利要求1所述的方法,其中,存储加密的安全数据的步骤包括:
在与存储器上存储安全数据的位置相同的位置重写加密的安全数据。
3.根据权利要求1所述的方法,其中,转储的步骤包括:
在将加密的安全数据存储在安全区域中之后,将安全区域设置为非安全区域;
对存储器的全部区域进行转储。
4.根据权利要求1所述的方法,还包括:在检测到系统故障之前,
产生随机密钥;
通过使用预先产生的公钥对随机密钥进行加密并将加密的随机密钥存储在安全区域中。
5.根据权利要求4所述的方法,其中,产生随机密钥的步骤包括:在每次系统启动时或在每次系统启动之后新产生随机密钥。
6.根据权利要求1所述的方法,其中,转储的步骤包括基于一次可编程OTP禁用位对安全区域进行转储。
7.根据权利要求6所述的方法,其中,响应于OTP禁用位被禁用,执行对安全数据进行加密的步骤。
8.根据权利要求1所述的方法,还包括:在对存储器的安全区域和非安全区域进行转储之后,
通过使用随机密钥对加密的安全数据进行解密。
9.根据权利要求8所述的方法,其中,解密的步骤包括:
通过使用私钥对加密的随机密钥进行解密,并通过使用解密的随机密钥对加密的安全数据进行解密。
10.一种操作半导体装置的方法,所述方法包括:
响应于检测到系统故障,检查一次可编程OTP禁用位;
响应于OTP禁用位被禁用,
将安全数据存储在存储器的安全区域中,其中,存储器包括安全区域和非安全区域;
通过使用在启动之后新产生的随机密钥对存储在安全区域中的安全数据进行加密,以产生加密的安全数据;
将加密的安全数据存储在安全区域中;
将安全区域设置为非安全区域;
对存储器进行转储;
响应于OTP禁用位被启用,保持存储器的安全区域并对存储器进行转储。
11.根据权利要求10所述的方法,其中,存储加密的安全数据的步骤包括:
在与存储器上存储安全数据的位置相同的位置重写加密的安全数据。
12.根据权利要求10所述的方法,还包括:在检测到系统故障之前,
检查OTP禁用位;
响应于OTP禁用为被禁用,
产生随机密钥;
通过使用预先产生的公钥对随机密钥进行加密并将加密的随机密钥存储在安全区域中。
13.根据权利要求12所述的方法,其中,产生随机密钥的步骤包括:在每次系统启动时或在每次系统启动之后新产生随机密钥。
14.根据权利要求10所述的方法,还包括:在对存储器进行转储之后,
通过使用随机密钥来对加密的安全数据进行解密。
15.根据权利要求14所述的方法,其中,解密的步骤包括:
通过使用私钥来对加密的随机密钥进行解密,并通过使用解密的随机密钥来对加密的安全数据进行解密。
16.一种操作半导体装置的方法,所述方法包括:
将安全内存转储代理加载到存储器的安全区域,其中,存储器包括安全区域和非安全区域;
将诊断和内存转储组件加载到存储器的非安全区域;
通过诊断和内存转储组件监视是否检测到系统故障;
响应于通过诊断和内存转储组件检测到系统故障,通过安全内存转储代理将安全数据存储在安全区域中;
通过使用启动之后新产生的随机密钥,通过安全内存转储代理对存储在安全区域中的安全数据进行加密以产生加密的安全数据;
通过安全内存转储代理,将加密的安全数据存储在安全区域中;
通过安全内存转储代理,将安全区域设置为非安全区域;
对存储器进行转储。
17.根据权利要求16所述的方法,其中,存储加密的安全数据的步骤包括:
在与存储器上存储安全数据的位置相同的位置重写加密的安全数据。
18.根据权利要求16所述的方法,还包括:通过安全内存转储代理,在系统启动时或在系统启动之后新产生随机密钥;
通过使用预先产生的公钥对随机密钥进行加密并将加密的随机密钥存储在安全区域中。
19.根据权利要求16所述的方法,还包括:通过使用一次可编程OTP禁用位来防止安全区域被转储。
20.根据权利要求19所述的方法,其中,响应于OTP禁用位被禁用,执行对安全数据进行加密的步骤。
CN201810014753.6A 2017-01-09 2018-01-08 操作半导体装置的方法 Active CN108287768B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170002781A KR102518881B1 (ko) 2017-01-09 2017-01-09 반도체 장치의 동작 방법
KR10-2017-0002781 2017-01-09

Publications (2)

Publication Number Publication Date
CN108287768A true CN108287768A (zh) 2018-07-17
CN108287768B CN108287768B (zh) 2023-07-21

Family

ID=62783130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810014753.6A Active CN108287768B (zh) 2017-01-09 2018-01-08 操作半导体装置的方法

Country Status (3)

Country Link
US (1) US10796007B2 (zh)
KR (1) KR102518881B1 (zh)
CN (1) CN108287768B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210081009A (ko) 2019-12-23 2021-07-01 에스케이하이닉스 주식회사 메모리 및 메모리 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921303B2 (en) * 2005-11-18 2011-04-05 Qualcomm Incorporated Mobile security system and method
US20130282951A1 (en) * 2012-04-19 2013-10-24 Qualcomm Incorporated System and method for secure booting and debugging of soc devices
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备
US8707305B2 (en) * 2005-06-29 2014-04-22 Microsoft Corporation Failure management for a virtualized computing environment
US20160125188A1 (en) * 2014-10-30 2016-05-05 International Business Machines Corporation Confidential extraction of system internal data

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239842B2 (ja) 1998-05-08 2001-12-17 日本電気株式会社 ソフトウェアの不正利用防止システム
US6427202B1 (en) * 1999-05-04 2002-07-30 Microchip Technology Incorporated Microcontroller with configurable instruction set
KR101393307B1 (ko) * 2007-07-13 2014-05-12 삼성전자주식회사 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
JP5255348B2 (ja) 2007-07-16 2013-08-07 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. クラッシュダンプ用のメモリアロケーション
US8539229B2 (en) * 2008-04-28 2013-09-17 Novell, Inc. Techniques for secure data management in a distributed environment
WO2009156302A1 (en) * 2008-06-23 2009-12-30 Nxp B.V. Electronic device and method of software or firmware updating of an electronic device
US8644499B2 (en) 2009-09-14 2014-02-04 Broadcom Corporation Method and system for securely protecting a semiconductor chip without compromising test and debug capabilities
JP5609242B2 (ja) 2010-04-28 2014-10-22 富士通株式会社 情報処理装置及びメモリダンプ採取方法
US8621282B1 (en) 2011-05-19 2013-12-31 Google Inc. Crash data handling
US9286152B2 (en) 2013-06-14 2016-03-15 Microsoft Technology Licensing, Llc Securely obtaining memory content after device malfunction
FR3047348B1 (fr) * 2016-02-03 2018-07-27 STMicroelectronics (Alps) SAS Protection de donnees pour une memoire a autotest integre
US10095889B2 (en) * 2016-03-04 2018-10-09 Altera Corporation Techniques for protecting security features of integrated circuits

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707305B2 (en) * 2005-06-29 2014-04-22 Microsoft Corporation Failure management for a virtualized computing environment
US7921303B2 (en) * 2005-11-18 2011-04-05 Qualcomm Incorporated Mobile security system and method
US20130282951A1 (en) * 2012-04-19 2013-10-24 Qualcomm Incorporated System and method for secure booting and debugging of soc devices
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备
US20160125188A1 (en) * 2014-10-30 2016-05-05 International Business Machines Corporation Confidential extraction of system internal data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姚文斌等: "云存储环境下的密文安全共享机制", 《通信学报》 *

Also Published As

Publication number Publication date
US20180196949A1 (en) 2018-07-12
KR20180081901A (ko) 2018-07-18
CN108287768B (zh) 2023-07-21
US10796007B2 (en) 2020-10-06
KR102518881B1 (ko) 2023-04-05

Similar Documents

Publication Publication Date Title
CN109933995B (zh) 一种基于云服务及区块链的用户敏感数据保护及系统
US10204241B2 (en) Theft and tamper resistant data protection
JP3975677B2 (ja) 情報処理装置
CN108345806B (zh) 一种硬件加密卡和加密方法
US20060080537A1 (en) Illegal analysis / falsification preventing system
CN115048657B (zh) 用于保护密码密钥的系统、方法和计算机可读介质
US11693793B2 (en) Method of secure communication among protected containers and system thereof
CN111783078A (zh) Android平台安全芯片控制系统
EP4319041A1 (en) Cipher card and root key protection method therefor, and computer readable storage medium
CN108959943B (zh) 用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆
CN113626803A (zh) 一种bmc固件的保护方法、系统、装置及可读存储介质
CN112930659A (zh) 用于安全密钥生成的方法和设备
CN113591135B (zh) 一种用于医疗数据的处理方法及系统
JP2023542099A (ja) 無線端末、及び無線端末のUbootモードにおけるインタフェースアクセス認証方法
CN108287768A (zh) 操作半导体装置的方法
CN109784072B (zh) 一种安全文件管理方法和系统
Loftus et al. Android 7 file based encryption and the attacks against it
CN111010275A (zh) 密钥管理方法、生成密钥的方法和密钥管理系统
CN110674525A (zh) 一种电子设备及其文件处理方法
CN110932853B (zh) 一种基于可信模块的密钥管理装置和密钥管理方法
EP3010264A1 (en) Method to manage subscriptions in a provisioning server
CN112256390B (zh) 一种度量管理方法及相关设备
CN113343215A (zh) 嵌入式软件的授权和认证方法及电子设备
JP5605452B2 (ja) 通信装置
KR101765209B1 (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