CN112906072A - 安全处理器和计算系统 - Google Patents

安全处理器和计算系统 Download PDF

Info

Publication number
CN112906072A
CN112906072A CN202011392294.9A CN202011392294A CN112906072A CN 112906072 A CN112906072 A CN 112906072A CN 202011392294 A CN202011392294 A CN 202011392294A CN 112906072 A CN112906072 A CN 112906072A
Authority
CN
China
Prior art keywords
key
access
user
user data
identification
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
CN202011392294.9A
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 CN112906072A publication Critical patent/CN112906072A/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

公开了一种安全处理器和计算系统。所述安全处理器包括:密钥生成器电路,被配置为随机地生成密钥;加密电路,被配置为基于密钥对用户数据加密;以及安全管理器电路,被配置为接收与装置的用户唯一地对应的第一用户标识(ID),并且通过认证第一用户ID来确定是否允许访问用户数据。

Description

安全处理器和计算系统
本申请要求于2019年12月03日提交到韩国知识产权局的第10-2019-0159351号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
发明构思的示例性实施例涉及一种安全处理器和计算系统,更具体地,涉及被配置为认证用户并针对用户数据向用户授权的安全处理器以及包括该安全处理器的计算系统。
背景技术
当在半导体装置或系统的操作期间发生故障时,可利用存储在存储器中的信息来检测故障的原因并执行调试操作。为了获得信息,可使用按原样提取存储在存储器中的数据的存储器转储(memory dump)技术。
然而,存储器可不仅存储需要安全性的安全数据,而且可存储不需要安全性的正常数据。当发生故障时,虽然第三方可被准许对正常数据的存储器转储,但是由于针对包括私有信息的安全数据第三方没有被授权,因此第三方不应该被准许对安全数据的存储器转储操作。然而,可存在应当经由存储器转储操作来分析安全数据以检测故障的确切原因的情况。
发明内容
发明构思的示例性实施例提供了一种安全处理器,以及包括该安全处理器的计算系统,安全处理器被配置为当调试器被授权访问需要安全性的用户数据时对用户和调试器执行认证操作。
根据本发明构思的一方面,提供了一种安全处理器,包括:密钥生成器电路,被配置为随机地生成密钥;加密电路,被配置为基于密钥对用户数据加密;以及安全管理器电路,被配置为接收与装置的用户唯一地对应的第一用户标识(ID),并且通过认证第一用户ID来确定是否允许访问用户数据。
根据本发明构思的一方面,提供了一种计算系统,包括:安全处理器,被配置为随机地生成密钥并且基于密钥对用户数据加密;以及系统存储器,被配置为将加密后的用户数据存储在多个安全区域中的任何一个安全区域中。安全处理器接收与装置的用户唯一地对应的第一用户ID,并且通过认证第一用户ID来确定是否允许访问所述多个安全区域之中的存储有用户数据的第一安全区域。
根据本发明构思的一方面,提供了一种诊断系统,包括:计算系统,被配置为随机地生成密钥,基于密钥对用户数据加密,并且存储加密后的用户数据;以及调试器,被配置为将访问ID输出到计算系统,获得用户数据,并且诊断计算系统中的错误。计算系统确定访问ID是否是具有对用户数据的访问权限的授权访问ID,并且基于确定结果授权调试器访问用户数据。
计算系统可包括被配置为存储加密后的用户数据的系统存储器,并且被配置为接收与计算系统的用户唯一地对应的第一用户ID,并基于第一用户ID来确定计算系统的用户是否被授权访问用户数据。
可根据系统存储器的多个区域使用不同的密钥对用户数据加密,并且系统存储器还被配置为:存储与用于对用户数据加密的所述密钥对应的密钥ID。
计算系统还可包括:安全存储器,调试器不能访问安全存储器,安全存储器具有非易失性,其中,调试器还被配置为:从系统存储器获得密钥ID,并且将密钥ID和访问ID输出到计算系统,并且计算系统还被配置为:当调试器基于访问ID具有对用户数据的访问权限时,使用密钥ID获得与用户数据对应的密钥。
计算系统还可被配置为:从安全存储器获得与访问ID对应的公钥,使用公钥对所述密钥加密,并且将加密后的密钥输出到调试器。
根据本发明构思的一方面,提供了一种对安全数据和正常数据两者执行存储器转储操作并且在保持安全稳定性的同时仅将安全数据提供给授权人的方法。
附图说明
通过参照附图对发明构思的示例性实施例进行详细描述,发明构思的以上和其他特征将变得更清楚,其中:
图1是根据示例性实施例的诊断系统的框图。
图2是根据示例性实施例的计算系统的示图。
图3是根据示例性实施例的片上系统(SoC)的示图。
图4A至图4D是示出根据示例性实施例的存储在安全存储器中的信息的示图。
图5是示出根据示例性实施例的安全处理器的操作的框图。
图6是示出根据示例性实施例的安全处理器的操作的流程图。
图7A和图7B是示出根据示例性实施例的安全处理器的操作的框图。
图8是示出根据示例性实施例的安全处理器的操作的流程图。
图9是示出根据示例性实施例的操作诊断系统的方法的流程图。
图10是示出根据示例性实施例的操作诊断系统的方法的流程图。
图11是示出根据示例性实施例的计算系统的操作的流程图。
图12是示出根据示例性实施例的计算系统的操作的示图。
图13是根据示例性实施例的计算系统的示图。
具体实施方式
在下文中将参照附图更充分地描述发明构思的示例性实施例。贯穿附图,相同的参考标号可表示相同的元件。
将理解,术语“第一”、“第二”、“第三”等在此用于将一个元件与另一元件区分开来,并且元件不受这些术语限制。因此,示例性实施例中的“第一”元件可被描述为另一示例性实施例中的“第二”元件。
应理解,除非上下文另外清楚地指示,否则每个示例性实施例内的特征或方面的描述通常应被认为可适用于其他示例性实施例中的其他类似特征或方面。
如在此所使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。
图1是根据示例性实施例的诊断系统1的框图。
参照图1,诊断系统1可包括计算系统10和调试器20。当计算系统10中发生故障(例如,系统故障)时,调试器20可接收存储在计算系统10中的用户数据Dat_Us,分析用户数据Dat_Us,并且诊断计算系统10中的故障的原因。在一个示例中,调试器20可被计算系统10的制造商、包括在计算系统10中的硬件的制造商或计算系统10中利用的软件的制造商使用。调试器20可统称为能够与计算系统10通信并且接收存储在系统存储器300中的信息的计算系统。因此,调试器20在此也可被称为调试计算系统。如在此所使用的,用户数据Dat_Us可表示存储在计算系统10中的将被保护的数据。例如,用户数据Dat_Us可以是将被保护的敏感数据。在一个示例中,用户数据Dat_Us可包括将被保护的系统信息或关于用户的私有信息。
调试器20可向计算系统10输出对调试器20是唯一的访问标识(ID)ID_Acc,并且计算系统10可基于访问ID ID_Acc来确定调试器20是否具有访问安全数据的权限。在一个示例性实施例中,计算系统10可向用户请求用户ID,并且可使用从用户接收的用户ID来确定用户是否是被授权访问用户数据Dat_Us的合法方。由用户提供的用户ID可被存储在计算系统10中以能够进行用户的识别。在一个示例中,用户ID可以是与用户相关的认证信息,并且可包括例如密码、图案信息、指纹信息、面部识别信息或虹膜信息。在另一示例中,计算系统10可使用先前存储在计算系统10中的用户ID来确定用户是否是被授权访问用户数据Dat_Us的合法方。
如将在下面参照图5至图12详细描述的,仅当用户是被授权访问用户数据Dat_Us的合法方时,计算系统10才可将用户数据Dat_Us输出到调试器20。
计算系统10可表示被配置为使用半导体装置执行操作的系统,并且可执行各种功能。在一个示例中,计算系统10可包括片上系统(SoC)、移动装置、台式计算机、服务器或物联网(IoT)装置。
计算系统10可包括安全处理器100、安全存储器200和系统存储器300。安全存储器200可以是仅安全处理器100能够访问的存储器。例如,在一个示例性实施例中,安全处理器100可以是计算系统10中的被允许访问安全存储器200的唯一组件。例如,调试器20不能访问安全存储器200。在一个示例性实施例中,安全存储器200可包括被配置为即使在电源中断时也保持存储的数据的非易失性存储器。然而,发明构思不限于此,安全存储器200可包括易失性存储器。在一个示例中,安全存储器200可包括NAND(与非)闪存、垂直NAND闪存、NOR(或非)闪存、电阻式随机访问存储器(RRAM)、相变存储器或磁阻RAM(MRAM)。
系统存储器300可以是调试器20和计算系统10能够访问的存储器。例如,在一个示例性实施例中,仅安全处理器100能够访问安全存储器200,并且调试器20和计算系统10能够访问系统存储器300。调试器20可向计算系统10做出对系统存储器300的访问请求,并且可通过由计算系统10提供的接口(例如,通用串行总线(USB)和通用异步接收器/发送器(UART)串行端口)获得存储在系统存储器300中的数据。在一个示例性实施例中,尽管系统存储器300可包括当电源中断时丢失存储的数据的易失性存储器,但是发明构思不限于此,并且系统存储器300可包括非易失性存储器。在一个示例中,系统存储器300可包括静态RAM(SRAM)、动态RAM(DRAM)、锁存器、触发器或寄存器。
计算系统10可将用户数据Dat_Us存储在系统存储器300中。例如,可用随机生成的密钥生成用户数据Dat_Us,例如,可通过用密钥对原始数据加密来生成用户数据Dat_Us。之后,可通过使用该密钥对用户数据Dat_Us解密来获得原始数据。在一个示例性实施例中,随机生成的密钥可例如从种子(seed)伪随机地生成。在一个示例性实施例中,随机生成的密钥可以是使用随机或伪随机数生成器从一系列值中随机选择的值。根据示例性实施例的计算系统10可使用不同的密钥对各条原始数据加密来生成各条用户数据Dat_Us,并且可将关于密钥的信息和用户数据Dat_Us存储在系统存储器300的不同安全区域中。如在此所使用的,安全区域可表示系统存储器300中的存储有安全数据的区域,并且仅当计算系统10在安全模式下操作时计算系统10才可允许访问安全区域。
安全处理器100可包括用于生成用户数据Dat_Us的密钥并且可使用生成的密钥生成用户数据Dat_Us。在一个示例性实施例中,安全处理器100可被保护,使得安全处理器100不被计算系统10的其他组件或外部组件(例如,调试器20)直接访问。在一个示例中,安全处理器100可使用邮箱协议与计算系统10通信。
安全处理器100可将关于存储有用户数据Dat_Us的安全区域的信息和关于用于对用户数据Dat_Us解密的密钥的对应信息存储在安全存储器200中。因为除了安全处理器100之外的组件不能访问安全存储器200,所以在示例性实施例中,关于密钥的信息对于计算系统10的其他组件或外部组件(例如,调试器20)是不可访问的。也就是说,在示例性实施例中,关于密钥的信息仅可被安全处理器100访问,而不被计算系统10的其他组件或外部组件(例如,调试器20)访问。
根据一个示例性实施例,安全处理器100可将具有访问用户数据Dat_Us的合法权限的用户的用户ID与关于密钥的信息一起存储在安全存储器200中。当调试器20请求用户数据Dat_Us时,安全处理器100可接收用户的用户ID(例如,用户认证信息),并且仅当接收到的用户ID与存储在安全存储器200中的用户ID匹配时安全处理器100才可将关于密钥的信息输出到调试器20。
仅当根据示例性实施例的安全处理器100获得具有访问用户数据Dat_Us的合法权限的用户的许可时,用户数据Dat_Us才可被外部(例如,调试器20)访问。因此,用户数据Dat_Us的安全性可提高。此外,安全处理器100可保持关于用户的许可的信息。因此,关于用户的许可的信息可随后用于防止拒绝信息被输出。
根据示例性实施例,安全处理器100可将调试器20的访问ID ID_Acc与关于存储有用户数据Dat_Us的安全区域的信息一起存储在安全存储器200中。安全处理器100可基于存储在安全存储器200中的信息确定调试器20是否被授权访问用户数据Dat_Us以及是否应被准许访问用户数据Dat_Us,并且可仅当调试器20能够访问用户数据Dat_Us时(例如,仅当安全处理器100基于存储在安全存储器200中的信息确定调试器20被准许访问时),安全处理器100才将关于密钥的信息输出到调试器20。
根据示例性实施例的安全处理器100可基于存储在安全存储器200中的信息来确定调试器20是否具有对用户数据Dat_Us的访问权限。仅当调试器20具有对用户数据Dat_Us的访问权限时,安全处理器100才可将关于与用户数据Dat_Us对应的密钥的信息输出到调试器20,因此,提高用户数据Dat_Us的安全性。这里,当调试器20或用户被描述为具有对用户数据Dat_Us的访问权限时,可表示调试器20或用户被授权访问用户数据Dat_Us,并且应被准许访问用户数据Dat_Us。
调试器20可从计算系统10接收用户数据Dat_Us和关于用于对用户数据Dat_Us解密的密钥的信息,并且可对用户数据Dat_Us解密。在一个示例性实施例中,计算系统10可通过使用由调试器20唯一地提供的公钥来对已经用于生成用户数据Dat_Us的密钥进行加密。调试器20可使用与公钥对应的私钥对加密后的密钥进行解密,并获得密钥。此外,调试器20可使用获得的密钥对用户数据Dat_Us进行解密。
为此,调试器20可包括密钥解密单元、数据解密单元和私钥管理单元,密钥解密单元被配置为对加密后的密钥进行解密,数据解密单元被配置为对用户数据Dat_Us进行解密,私钥管理单元被配置为管理与公钥对应的私钥。
图2是根据示例性实施例的计算系统10的示图。为了便于解释,可省略对先前描述的元件和技术方面的进一步描述。
参照图2,计算系统10可包括SoC 30、安全存储器200和系统存储器300,并且SoC30可包括安全处理器100。
安全存储器200可直接连接到SoC 30中的安全处理器100。安全处理器100可将用户信息Info_User、密钥列表List_Key、许可列表List_Pms和公钥列表List_PKey存储在安全存储器200中。
用户信息Info_User可包括当前使用计算系统10的用户的用户ID和用户密码。在一个示例中,用户ID可以是由装置(例如,计算系统10)的用户唯一拥有的(例如,与装置的用户唯一对应的)标识符。例如,用户ID可包括用于运行操作系统(OS)的逻辑ID和/或用于驱动计算系统10的登录ID。
用户密码可以是例如仅用户知道的唯一信息或关于用户的生物特征(biometric)信息。在一个示例中,如下面将参照图4A详细描述的,用户密码可包括用于运行OS的登录密码、用于驱动计算系统10的登录密码、用户指纹信息、用户输入图案或用户虹膜信息。
如下面将参照图4B详细描述的,密钥列表List_Key可包括用于对用户数据(例如,第一用户数据Dat_Us1至第三用户数据Dat_Us3)解密的密钥、与密钥对应的密钥ID(例如,第一密钥ID ID_Key1至第三密钥ID ID_Key3)、关于存储有第一用户数据Dat_Us1至第三用户数据Dat_Us3的安全区域310的信息、以及具有访问第一用户数据Dat_Us1至第三用户数据Dat_Us3的合法权限的用户的用户ID。
如下面将参照图4C详细描述的,许可列表List_Pms可包括对于被配置为对第一用户数据Dat_Us1至第三用户数据Dat_Us3做出访问请求的调试器(参照图1中的20)是唯一的访问ID、关于存储有用户数据Dat_Us1至Dat_Us3的安全区域310的信息、以及关于调试器(参照图1中的20)是否被准许对第一用户数据Dat_Us1至第三用户数据Dat_Us3的访问请求的信息。
如下面将参照图4D详细描述的,公钥列表List_PKey可包括对调试器20是唯一的访问ID以及关于由调试器20分发的公钥的信息。
系统存储器300可连接到SoC 30,并且安全处理器100可通过SoC 30的内部组件与系统存储器300通信。系统存储器300可包括当计算系统10在安全模式下操作时可被访问的安全区域310,并且不同条的用户数据(例如,第一用户数据Dat_Us1至第三用户数据Dat_Us3)可被存储在安全区域310的各个区域中。
第一用户数据Dat_Us1可被存储在安全区域310的第一区域Rg1中,并且与用于对第一用户数据Dat_Us1解密的第一密钥对应的第一密钥ID ID_Key1可被一起存储在第一区域Rg1中。第二用户数据Dat_Us2可被存储在安全区域310的第二区域Rg2中,并且与用于对第二用户数据Dat_Us2解密的第二密钥对应的第二密钥ID ID_Key2可被一起存储在第二区域Rg2中。第三用户数据Dat_Us3可被存储在安全区域310的第三区域Rg3中,并且与用于对第三用户数据Dat_Us3解密的第三密钥对应的第三密钥ID ID_Key3可被一起存储在第三区域Rg3中。
根据示例性实施例,如上所述,系统存储器300的安全区域310可根据区域将不同条的用户数据(例如,第一用户数据Dat_Us1至第三用Us2户数据Dat_Us3)与第一密钥IDID_Key1至第三密钥ID ID_Key3一起存储。调试器(参照图1中的20)可获得存储在安全区域310中的第一密钥ID ID_Key1至第三密钥ID ID_Key3,并且可通过使用第一密钥ID ID_Key1至第三密钥ID ID_Key3向安全处理器100请求用于第一用户数据Dat_Us1至第三用户数据Dat_Us3的密钥。
在一个示例性实施例中,响应于调试器20的请求,安全处理器100可确定调试器20是否被准许访问存储在安全区域310中的第一用户数据Dat_Us1至第三用户数据Dat_Us3。在一个示例性实施例中,当确定调试器20被准许访问存储在安全区域310中的第一用户数据Dat_Us1至第三用户数据Dat_Us3时,安全处理器100可将请求的第一用户数据Dat_Us1至第三用户数据Dat_Us3和用于对第一用户数据Dat_Us1至第三用户数据Dat_Us3解密的密钥(或使用公钥加密的密钥)输出到调试器20。在一个示例性实施例中,当调试器20被准许访问存储在安全区域310中的第一用户数据Dat_Us1至第三用户数据Dat_Us3时,安全处理器100可输出第一用户数据Dat_Us1至第三用户数据Dat_Us3,而不输出用于对第一用户数据Dat_Us1至第三用户数据Dat_Us3解密的密钥。
虽然图2示出了安全存储器200是SoC 30的外部组件的示例性实施例,但是发明构思不限于此,并且安全存储器200可以是SoC 30或安全处理器100的内部组件。
图3是根据示例性实施例的SoC 30的示图。为了便于解释,可省略对先前描述的元件和技术方面的进一步描述。
参照图3,SoC 30可包括安全处理器100、处理器420、只读存储器(ROM)440、访问控制器460和存储器控制器480。
处理器420可处理SoC 30的全部任务。在一个示例性实施例中,多个处理器420可响应于调试器(参照图1中的20)的访问请求,通过各种显示装置向用户输出认证请求。在一个示例中,处理器420可包括包含至少一个处理核的中央处理器(CPU)和/或图形处理器(GPU)。
ROM 440可存储执行SoC 30的应用或操作所需的各种程序代码或控制信息。访问控制器460可管理系统存储器300的安全模式。访问控制器460在此也可被称为访问控制器电路。在一个示例中,访问控制器460可在安全模式下或在正常模式下驱动SoC 30,并且可管理是否访问系统存储器300的安全区域。
存储器控制器480可管理系统存储器300。在一个示例中,存储器控制器480可将从安全处理器100接收的用户数据存储在系统存储器300的安全区域中。存储器控制器480在此也可被称为存储器控制器电路。
安全处理器100可包括安全管理器110、密钥生成器120、加密模块130、邮箱模块140、安全存储器控制器150和直接存储器访问(DMA)控制器160。安全管理器110可包括认证模块112和许可模块114。在一个示例中,下面将描述的安全管理器110的操作可实际上由包括在安全处理器100中的中央处理器(CPU)、ROM和随机访问存储器(RAM)执行。安全管理器110在此也可被称为安全管理器电路,密钥生成器120在此也可被称为密钥生成器电路,加密模块130在此也可被称为加密电路,邮箱模块140在此也可被称为邮箱电路,安全存储器控制器150在此也可被称为安全存储器控制器电路,DMA控制器160在此也可被称为DMA控制器电路,认证模块112在此也可被称为认证电路,许可模块114在此也可被称为许可电路。
安全管理器110可生成上述密钥列表List_Key、许可列表List_Pms和公钥列表List_PKey。
认证模块112可基于由用户提供的用户认证信息来确定响应于向用户做出认证请求而获得的用户ID是否是具有访问用户数据的合法权限的用户ID。在一个示例性实施例中,认证模块112可从安全存储器200接收密钥列表,并且可确定包括在密钥列表中的用户ID是否与从用户获得的用户ID匹配。因此,安全管理器110通过认证模块112,可通过认证从用户获得的用户ID来确定是否允许访问用户数据。
许可模块114可基于从外部(例如,图1的调试器20)接收到的访问ID来确定是否准许从外部接收到的对用户数据的访问请求。在一个示例性实施例中,许可模块114可从安全存储器200接收许可列表,并且可确定访问ID是否已经被准许对存储有用户数据的区域的访问。例如,许可模块114可确定访问ID是否具有对用户数据的访问权限,并且对用户数据的访问可被相应地准许或拒绝。
如上所述,密钥生成器120可随机地生成密钥。在一个示例中,密钥可被称为数据加密密钥DEK。密钥生成器120可包括多个环形振荡器。多个环形振荡器可生成随机波动的信号,密钥生成器120可基于由多个环形振荡器生成的信号生成具有随机数的密钥。
加密模块130可使用密钥对输入数据加密。在一个示例性实施例中,加密模块130可使用由密钥生成器120生成的密钥来对原始数据加密并生成用户数据,并且生成的用户数据可被存储在系统存储器300的安全区域中。在一个示例性实施例中,加密模块130可通过使用与访问ID对应的公钥来对已经用于对原始数据加密的密钥加密。加密后的密钥可通过邮箱模块140输出到外部(例如,图1的调试器20)。在一个示例性实施例中,关于用于对密钥加密的公钥的信息可被存储在安全存储器200中。
邮箱模块140可使用邮箱协议在安全处理器100与位于安全处理器100外部的组件之间执行数据通信。在一个示例中,邮箱模块140可包括存储装置,并且安全处理器100的外部组件(例如,处理器420)可存储被发送到存储装置的命令或数据,使得安全处理器100可与外部组件通信。
安全存储器控制器150可管理安全存储器200。在安全存储器200是非易失性存储器的示例性实施例中,安全存储器控制器150可包括非易失性存储器控制器。根据来自安全管理器110的请求,安全存储器控制器150可更新存储在安全存储器200中的用户信息、密钥列表、许可列表和公钥列表,或者可从安全存储器200读取用户信息、密钥列表、许可列表和公钥列表。
图4A至图4D是示出根据示例性实施例的存储在安全存储器(例如,安全存储器200)中的信息的示图。
参照图2和图4A,用户信息Info_User可包括当前用户ID ID_CUser和当前用户密码Pw_CUser。当前用户ID ID_CUser可包括计算系统10的用户的标识符。在一个示例中,当前用户ID ID_CUser可包括用户在使用计算系统10时已经利用的各种登录ID。如在此所使用的,用户可表示具有计算系统10的管理权限的管理者或具有所有权的所有者。
当前用户密码Pw_CUser可包括仅具有计算系统10的当前管理权限的用户知道的唯一信息或生物特征信息。在一个示例中,当前用户密码Pw_CUser可包括用户在使用(例如,登录到)计算系统10时已经利用的各条生物特征信息或密码。在一个示例性实施例中,当用户登录信息被改变时,计算系统10可更新用户信息Info_User。
参照图2和图4B,密钥列表List_Key可包括密钥ID(例如,第一密钥ID ID_Key1至第三密钥ID ID_Key3)、用户ID(例如,第一用户ID ID_User1和第二用户ID ID_User2)、密钥(例如,第一密钥Key1至第三密钥Key3)和安全区域(例如,第一安全区域Rg1至第三安全区域Rg3)。第一密钥ID ID_Key1至第三密钥ID ID_Key3可指示与第一密钥Key1至第三密钥Key3对应的唯一标识符。在一个示例中,与第一密钥Key1对应的第一密钥ID ID_Key1可被确定为“1”,与第二密钥Key2对应的第二密钥ID ID_Key2可被确定为“2”,与第三密钥Key3对应的第三密钥ID ID_Key3可被确定为“3”。
第一用户ID ID_User1和第二用户ID ID_User2可指示与对存储在第一安全区域Rg1至第三安全区域Rg3中的用户数据具有管理权限的合法用户对应的第一用户ID ID_User1和第二用户ID ID_User2。在一个示例中,具有对存储在第一区域Rg1中的用户数据和存储在第二区域Rg2中的用户数据的管理权限的用户的唯一标识符可被输入到第一用户IDID_User1中,并且具有对存储在第三区域Rg3中的用户数据的管理权限的用户的唯一标识符可被输入到第二用户ID ID_User2中。用户数据ID_User1和ID_User2的管理权限可包括访问、生成、删除和/或改变用户数据ID_User1和ID_User2的权限。在一个示例中,在用户数据的生成期间,安全处理器100可将包括在用户信息Info_User中的当前用户ID ID_CUser输入到包括在密钥列表List_Key中的第一用户ID ID_User1和第二用户ID ID_User2中。
在一个示例性实施例中,根据用户使用的应用,相同的用户可使用彼此不同的第一用户ID ID_User1和第二用户ID ID_User2。第一用户ID ID_User1和第二用户ID ID_User2可分别对应于彼此不同的多个安全区域。在一个示例性实施例中,根据计算系统10的多个用户,第一用户ID ID_User1和第二用户ID ID_User2可包括彼此不同的多个用户ID。多个用户ID可分别对应于彼此不同的多个安全区域。
第一密钥Key1至第三密钥Key3中的每个可由密钥生成器(参照图3中的120)生成。第一密钥Key1至第三密钥Key3可被加密模块(参照图3中的130)使用以进行加密来生成用户数据。此外,第一密钥Key1至第三密钥Key3可针对各个安全区域Rg1至Rg3而被不同地确定,并且可包括随机密钥。在一个示例中,第一密钥Key1至第三密钥Key3可在系统崩溃发生时生成。当新的密钥Key1至Key3生成时,可给出与密钥Key1至Key3对应的新的密钥ID ID_Key1至ID_Key3。
在一个示例中,用于对存储在第一区域Rg1中的用户数据解密的第一密钥Key1可被输入以对应于密钥列表List_Key中的第一区域Rg1,用于对存储在第二区域Rg2中的用户数据解密的第二密钥Key2可被输入以对应于密钥列表List_Key中的第二区域Rg2,并且用于对存储在第三区域Rg3中的用户数据解密的第三密钥Key3可被输入以对应于密钥列表List_Key中的第三区域Rg3。
参照图2和图4C,许可列表List_Pms可包括第一访问ID ID_Acc1和第二访问IDID_Acc2、第一安全区域Rg1至第三安全区域Rg3、以及准许状态/拒绝状态。第一访问ID ID_Acc1和第二访问ID ID_Acc2可指示调试器(例如,诸如,图1中的调试器20)的唯一标识符。在一个示例性实施例中,第一访问ID ID_Acc1和第二访问ID ID_Acc2可指示用户的唯一标识符。准许状态/拒绝状态可指示调试器是被准许还是被拒绝访问第一安全区域Rg1至第三安全区域Rg3。在一个示例中,具有第一访问ID ID_Acc1的调试器可被准许对第一区域Rg1的访问,并且具有第二访问ID ID_Acc2的调试器可被拒绝对第二区域Rg2的访问但是可被准许对第三区域Rg3的访问。
在一个示例性实施例中,计算系统10可在制造计算系统10的操作期间预先存储可访问计算系统10的调试器的访问ID。在一个示例性实施例中,当预先未存储已经访问计算系统10的调试器的访问ID时,计算系统10可生成可访问计算系统10的调试器的访问ID,并且将调试器的访问ID存储在许可列表List_Pms中。
参照图2和图4D,公钥列表List_PKey可包括第一访问ID ID_Acc1和第二访问IDID_Acc2以及第一公钥PKey1和第二公钥PKey2。第一公钥PKey1可以是由调试器分发的密钥,调试器可拥有与第一公钥PKey1对应的私钥。在一个示例中,与第一访问ID ID_Acc1对应的调试器可分发第一公钥PKey1,并且与第二访问ID ID_Acc2对应的调试器可分发第二公钥PKey2。使用公钥加密的信息可使用由每个调试器拥有的私钥解密。
返回参照图2和图4A至图4D,在一个示例中,当计算系统10中发生系统崩溃时,调试器(参照图1中的20)可连接到计算系统10,并且可向计算系统10输出与调试器20对应的第二访问ID ID_Acc2和与将被访问的第三区域Rg3对应的第三密钥ID ID_Key3。
当安全处理器100从调试器20接收第二访问ID ID_Acc2和第三密钥ID ID_Key3时,安全处理器100可向用户请求用户ID并且可接收第二用户ID ID_User2。安全处理器100可基于密钥列表List_Key确定第二用户ID ID_User2是否是与第三密钥ID ID_Key3对应的用户ID。
当第二用户ID ID_User2是与第三密钥ID ID_Key3对应的用户ID时,安全处理器100可基于许可列表List_Pms确定从调试器20接收的第二访问ID ID_Acc2是否具有访问与第三密钥ID ID_Key3对应的第三区域Rg3的权限。
在一个示例性实施例中,当第二访问ID ID_Acc2具有访问与第三密钥ID ID_Key3对应的第三区域Rg3的权限时,安全处理器100可基于公钥列表List_PKey获得与第二访问ID ID_Acc2对应的第二公钥PKey2,可通过使用第二公钥PKey2对与第三密钥ID ID_Key3对应的第三密钥Key3加密,并且可将加密后的第三密钥Key3输出到调试器20。调试器20可使用私钥对加密后的第三密钥Key3进行解密以获得第三密钥Key3,并且可通过使用获得的第三密钥Key3对存储在第三区域Rg3中的用户数据解密。
在一个示例性实施例中,当第二访问ID ID_Acc2具有访问与第三密钥ID ID_Key3对应的第三区域Rg3的权限时,安全处理器100可通过使用第三密钥Key3对存储在第三区域Rg3中的用户数据解密,并可将解密后的用户数据输出到调试器20。
图5是示出根据示例性实施例的安全处理器100的操作的框图。例如,图5示出安全处理器100对原始数据Dat_org加密并生成用户数据Dat_Us的方法。为了便于解释,可省略对先前描述的元件和技术方面的进一步描述。
参照图5,密钥生成器120可生成密钥Key并将生成的密钥Key输出到加密模块130和认证模块112。加密模块130可接收原始数据Dat_org,使用密钥Key对原始数据Dat_org加密,并生成用户数据Dat_Us。加密模块130可将生成的用户数据Dat_Us输出到认证模块112。
认证模块112可将接收到的密钥Key和密钥ID ID_Key与用户数据Dat_Us一起存储在系统存储器300的第一区域Rg1中。在一个示例中,认证模块112可使用邮箱模块(参照图3中的140)和存储器控制器(参照图3中的480)将用户数据Dat_Us和密钥ID ID_Key存储在系统存储器300中。
认证模块112可基于存储在安全存储器200中的用户信息(参照图4A中的Info_User)获得当前用户的用户ID ID_User,通过使用获得的用户ID ID_User、密钥ID ID_Key、密钥Key和区域信息Rg来生成密钥列表List_Key,并将生成的密钥列表List_Key存储在安全存储器200中。在一个示例中,认证模块112可使用安全存储器控制器(参照图3中的150)将密钥列表List_Key存储在安全存储器200中。
图6是示出根据示例性实施例的安全处理器100的操作的流程图。例如,图6示出安全处理器100对原始数据加密的方法S100。
参照图5和图6,安全处理器100可接收原始数据Dat_org(S110),并且可使用密钥Key对原始数据Dat_org加密并生成用户数据Dat_Us(S120)。安全处理器100可使用密钥Key生成密钥ID ID_Key(S130),并且可将用户数据Dat_Us与密钥ID ID_Key一起存储在系统存储器300的安全区域中(S140)。
安全处理器100可获得存储在安全存储器200中的用户ID ID_User(S150),并使用获得的用户ID ID_User、密钥Key、密钥ID ID_Key和区域信息Rg来更新存储在安全存储器200中的密钥列表List_Key(S160)。在一个示例中,用户ID ID_User可以是当在计算系统10中发生系统崩溃时用户的用户ID。
图7A和图7B是示出根据示例性实施例的安全处理器100的操作的框图。例如,图7A和图7B示出在安全处理器100上认证用户ID和访问ID的操作。
参照图7A,认证模块112可从用户接收用户ID ID_User并且从调试器(参照图1中的20)接收密钥ID ID_Key。认证模块112可从安全存储器200获得密钥列表List_Key,并使用密钥列表List_Key获得与密钥ID ID_Key对应的区域信息Rg。
许可模块114可从调试器20接收访问ID ID_Acc并且从安全存储器200获得许可列表List_Pms。许可模块114可基于许可列表List_Pms来确定访问ID ID_Acc是否被准许访问从认证模块112接收的区域信息Rg。当与访问ID ID_Acc对应的许可Pms被授予时,许可模块114可将许可Pms输出到认证模块112。当多条区域信息Rg对应于访问ID ID_Acc时,许可模块114可顺序地接收多条区域信息Rg,并且顺序地输出对应的许可Pms以访问多条区域信息Rg。
参照图7B,认证模块112可响应于许可Pms将与区域信息Rg对应的密钥Key输出到加密模块130。许可模块114可从安全存储器200获得公钥列表List_PKey,并且基于公钥列表List_PKey将与访问ID ID_Acc对应的公钥PKey输出到加密模块130。加密模块130可使用公钥PKey对密钥Key加密,并且将加密后的密钥PK(Key)输出到调试器(参照图1中的20)。
图8是示出根据示例性实施例的安全处理器100的操作的流程图。例如,图8示出在安全处理器100上认证用户ID ID_User和访问ID ID_Acc的操作S200。
参照图7A、图7B和图8,安全处理器100可从用户接收用户ID ID_User和用户密码Pw_User,并且从调试器(参照图1中的20)接收密钥ID ID_Key和访问ID ID_Acc(S210),并且可基于存储在安全存储器200中的用户信息验证用户ID ID_User和用户密码Pw_User(S220)。
当接收到的用户ID ID_User和用户密码Pw_User与存储在安全存储器200中的用户ID ID_User和用户密码Pw_User匹配时,指示用户是合法用户(S230),安全处理器100可基于存储在安全存储器200中的密钥列表List_Key获得与接收到的密钥ID ID_Key对应的安全区域信息Rg(S240)。安全处理器100可基于存储在安全存储器200中的许可列表List_Pms来确定访问ID ID_Acc是否被授予访问安全区域的许可Pms(S250)。
当访问ID ID_Acc被准许访问安全区域时(S260),安全处理器100可基于存储在安全存储器200中的公钥列表List_PKey获得与访问ID ID_Acc对应的公钥PKey(S270)。安全处理器100可使用公钥PKey对密钥Key加密(S280)并输出加密后的密钥Key(S280)。
图9是示出根据示例性实施例的操作诊断系统的方法的流程图。例如,图9示出相对于时间当系统崩溃发生时通过调试器20获得用户数据的处理。
参照图9,SoC 30可检测系统崩溃(T110),并且安全处理器100可被启动(T120)。SoC 30(例如,多个应用处理器)可将对原始数据的加密请求输出到安全处理器100(T130)。安全处理器100可使用上面参照图5和图6描述的方法来对原始数据加密(S100)。安全处理器100可将通过对原始数据加密生成的用户数据和与用于对用户数据解密的密钥对应的密钥ID发送到SoC30(T140)。SoC 30可将接收到的密钥ID和用户数据存储在系统存储器的安全区域中(T150)。
此后,调试器20可向SoC 30做出对用户数据的请求(T160),并且SoC30可准许对用户数据的请求(T170)。SoC 30可然后将用户数据发送到调试器20(T180)。
图10是示出根据示例性实施例的操作诊断系统的方法的流程图。例如,图10示出相对于时间通过调试器20获得原始数据的处理。
参照图10,在调试器20获得用户数据之后,调试器20可将存储在安全区域中的密钥ID与访问ID和用户数据一起输出到SoC 30,以对用户数据解密(T210)。此外,SoC 30可向用户输出对用户数据的输出的准许请求(T220)。
在一个示例中,SoC 30可通过包括在计算系统(参照图1中的10)中的显示装置输出向用户通知用户数据的输出的表达(phrase),并且用户可以以用户感知的各种方式准许用户数据的输出。在一个示例中,SoC 30可向用户显示指示用户数据的输出的预定表达,并且用户可使用各种方法(诸如,以签名、登录和生物特征信息的注册为例)确认用户已经识别出用户数据的输出。用户的准许可用于防止用户以后拒绝用户数据的输出。
当使用上述方法准许用户数据的输出时,SoC 30可将用户的用户ID和用户密码、密钥ID和访问ID输出到安全处理器100(T230)。用户的用户ID和用户密码可通过如上所述的用户的准许来获得,并且密钥ID和访问ID可从调试器20接收。
安全处理器100可使用上面参照图7A至图8描述的方法来认证用户ID和访问ID。当用户ID和访问ID被认证时,安全处理器100可将已经使用公钥加密的密钥输出到SoC 30(T240)。SoC 30可将从安全处理器100接收的加密后的密钥输出到调试器20(T250)。
调试器20可使用私钥将加密后的密钥解密为密钥。因此,调试器20可获得用于对用户数据解密的密钥(T260)。调试器20可使用解密后的密钥来对用户数据解密并且获得原始数据(T270)。
图11是示出根据示例性实施例的计算系统的操作的流程图。例如,图11示出相对于时间更新许可列表的处理。
参照图11,SoC 30可将许可列表更新请求输出到安全处理器100(T310)。在一个示例中,由于策略改变,已经被准许访问第一用户数据的第一访问ID可随后被拒绝访问第一用户数据。在这种情况下,SoC 30可请求安全处理器100更新许可列表,使得第一访问ID被拒绝访问第一用户数据。
安全处理器100可认证许可列表更新请求(T320)。在一个示例中,安全处理器100可将包括在许可列表更新请求中的签名与包括在存储在安全存储器中的许可列表中的签名进行比较,并且当两个签名匹配时,安全处理器100可响应于许可列表更新请求执行操作。
安全处理器100可将存储在安全存储器中的许可列表更新为包括在接收到的许可列表更新请求中的新许可列表(T330)。在一个示例中,安全处理器100可通过改变存储在安全存储器中的许可列表的与包括在许可列表更新请求中的新许可列表的内容不同的内容来更新许可列表。
虽然图11示出具体地更新许可列表的方法,但是本领域普通技术人员将理解,图4B中示出的密钥列表List_Key、图4D中示出的公钥列表List_PKey和图4A中示出的用户信息Info_User是可使用类似的方法被更新。
在一个示例性实施例中,安全处理器100可从SoC 30接收用于将新用户ID(参照图4B中的ID_User1至ID_User3)添加到密钥列表(参照图4B中的List_Key)的添加请求,并且可响应于该添加请求将接收到的新用户ID添加到密钥列表。在一个示例性实施例中,安全处理器100可从SoC 30接收用于从密钥列表删除包括在密钥列表中的至少一个用户ID的删除请求,并且可响应于该删除请求从密钥列表删除至少一个用户ID。
图12是示出根据示例性实施例的计算系统的操作的示图。例如,图12示出更新许可列表的处理。
参照图11和图12,当安全处理器100接收到许可列表更新请求Req_PLU时,安全处理器100可从安全存储器200获得第一许可列表List_Pms1。安全处理器100可确定存储在第一许可列表List_Pms1中的签名信息Sig1是否与存储在许可列表更新请求Req_PLU中的签名信息Sig1匹配。
当存储在第一许可列表List_Pms1中的签名信息Sig1与存储在许可列表更新请求Req_PLU中的签名信息Sig1匹配时,安全处理器100可更新与许可列表更新请求Req_PLU不同的第一许可列表List_Pms1的信息。
在图12的示例中,由于对包括在许可列表更新请求Req_PLU中的第二访问ID ID_Acc2的第三区域Rg3的访问被拒绝,所以安全处理器100可在第一许可列表List_Pms1中将对第二访问ID ID_Acc2的第三区域Rg3的访问从“准许”校正为“拒绝”以生成第二许可列表List_Pms2,并可将生成的第二许可列表List_Pms2存储在安全存储器200中。
当与访问ID对应的许可信息由于例如策略改变等而被改变时,根据示例性实施例的安全处理器100可通过更新许可列表来有效地控制每个访问ID的权限。
图13是根据示例性实施例的计算系统1000的示图。
参照图13,计算系统1000可包括可经由总线1050彼此电连接的SoC1010、存储器装置1020、输入/输出(I/O)装置1030和显示装置1040。
此外,SoC 1010可包括可执行上面参照图1至图12描述的各种操作的安全处理器1012。此外,SoC 1010还可执行上面参照图1至图12描述的各种操作。例如,安全处理器1012可对应于上述的安全处理器100,并且SoC1010可对应于上述的SoC 30。
存储器装置1020可如上面参照图1至图12描述的系统存储器300进行操作,并且可将密钥ID和用户数据存储在每个安全区域中。显示装置1040可在SoC 1010的控制下向用户输出认证表达。I/O装置1030可从上面参照图1至图12描述的调试器20接收各种请求或数据,或者可向调试器20发送各条数据。
根据示例性实施例,SoC 1010可对用户和调试器20执行认证操作,并且可确定调试器20是否被准许访问存储在存储器装置1020中的用户数据。
如发明构思的领域中传统的那样,在附图中在功能块、单元和/或模块方面描述并示出了示例性实施例。本领域技术人员将理解,这些块、单元和/或模块由可使用基于半导体的制造技术或其他制造技术形成的电子(或光学)电路(诸如,逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接等)物理地实现。在块、单元和/或模块由微处理器或类似物实现的情况下,它们可使用软件(例如,微代码)来编程以执行在此讨论的各种功能,并且可选择地由固件和/或软件驱动。可选地,每个块,单元和/或模块可由专用硬件来实现,或者可被实现为执行一些功能的专用硬件和用于执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。
如本领域技术人员将理解,发明构思的方面可被实现系统、方法或计算机程序产品。因此,发明构思的方面可采取可在此通常全部被称为“电路”、“模块”、“单元”或“系统”的完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或将软件方面和硬件方面组合的实施例的形式。此外,发明构思的方面可采取在一个或多个计算机可读介质中实现的计算机程序产品的形式,一个或多个计算机可读介质具有实现在其上的计算机可读程序代码。如果在软件中实现,则功能可存储在有形的非暂时性计算机可读介质上的一个或多个指令或代码或者通过有形的非暂时性计算机可读介质上的一个或多个指令或代码传输。
在此,术语“电路”可表示模拟电路或数字电路。在数字电路的情况下,数字电路可被硬连线以执行电路的对应任务,诸如,执行指令以执行电路的对应任务的数字处理器。这样的处理器的示例包括专用集成电路(ASIC)和现场可编程门阵列(FPGA)。
虽然已经参照发明构思的示例性实施例具体地示出和描述了发明构思,但是将理解,在不脱离由权利要求所限定的发明构思的精神和范围的情况下,可在其中进行形式和细节上的各种改变。

Claims (20)

1.一种安全处理器,包括:
密钥生成器电路,被配置为生成密钥;
加密电路,被配置为基于所述密钥生成用户数据;以及
安全管理器电路,被配置为接收与装置的用户唯一地对应的第一用户标识,并且通过认证第一用户标识来确定是否允许访问用户数据。
2.根据权利要求1所述的安全处理器,其中,安全管理器电路包括:
认证电路,被配置为基于第一用户标识来确定装置的用户是否被授权访问用户数据;以及
许可电路,被配置为接收第一访问标识并且确定第一访问标识是否具有对用户数据的访问权限。
3.根据权利要求2所述的安全处理器,其中,认证电路还被配置为:生成密钥列表,密钥列表包括具有访问用户数据的权限的授权用户的授权用户标识、关于存储有用户数据的存储器的区域的区域信息、以及用于对用户数据解密的所述密钥,并且
认证电路还被配置为:基于密钥列表来确定第一用户标识是否与授权用户标识匹配,并且确定装置的用户是否被授权访问用户数据。
4.根据权利要求3所述的安全处理器,其中,认证电路还被配置为:生成与密钥对应的密钥标识,并且通过将生成的密钥标识添加到密钥列表来生成密钥列表,
其中,生成的密钥标识与用户数据一起被存储在存储器中。
5.根据权利要求2所述的安全处理器,其中,许可电路还被配置为:生成许可列表,许可列表包括具有对用户数据的访问权限的授权访问标识、关于存储有用户数据的存储器的区域的区域信息、以及关于对用户数据的访问是否被准许的信息,并且
许可电路还被配置为:基于许可列表确定第一访问标识是否与授权访问标识匹配,并且确定是否授权第一访问标识来访问用户数据。
6.根据权利要求5所述的安全处理器,其中,许可电路还被配置为:当第一访问标识与授权访问标识匹配时输出所述密钥。
7.根据权利要求6所述的安全处理器,其中,认证电路还被配置为:生成与所述密钥对应的第一密钥标识,并且将生成的第一密钥标识与用户数据存储在存储器中,
许可电路还被配置为:接收第一访问标识,并且当第一访问标识与授权访问标识匹配时,将与第一访问标识对应的公钥输出到加密电路,并且
加密电路还被配置为:使用公钥对所述密钥加密,并且输出加密后的密钥。
8.根据权利要求7所述的安全处理器,其中,许可电路还被配置为:生成公钥列表,公钥列表包括第一访问标识和关于与第一访问标识对应的公钥的对应信息。
9.根据权利要求5所述的安全处理器,其中,许可电路还被配置为:当第一访问标识与授权访问标识匹配时,使用与第一访问标识对应的公钥来对所述密钥加密并且输出加密后的密钥。
10.根据权利要求1所述的安全处理器,其中,安全管理器电路还被配置为:生成密钥列表、许可列表和公钥列表,
密钥列表包括被授权访问用户数据的授权用户的授权用户标识、关于存储有用户数据的存储器的区域的区域信息、以及用于对用户数据解密的所述密钥,
许可列表包括具有对用户数据的访问权限的授权访问标识、区域信息、以及关于对用户数据的访问是否被准许的信息,
公钥列表包括访问标识和关于与访问标识对应的公钥的对应信息,
其中,安全管理器电路还被配置为:将生成的密钥列表、生成的许可列表和生成的公钥列表存储在安全存储器中。
11.根据权利要求10所述的安全处理器,其中,安全管理器电路还被配置为:基于来自装置的用户的请求来更新密钥列表、许可列表和公钥列表中的至少一个。
12.一种计算系统,包括:
安全处理器,被配置为生成密钥并且基于所述密钥生成用户数据;以及
系统存储器,被配置为将用户数据存储在多个安全区域中的任何一个安全区域中,
其中,安全处理器被配置为:接收与装置的用户唯一地对应的第一用户标识,并且通过认证第一用户标识来确定是否允许访问所述多个安全区域之中的存储有用户数据的第一安全区域。
13.根据权利要求12所述的计算系统,其中,安全处理器还被配置为:基于第一用户标识来确定装置的用户是否被授权访问用户数据,接收第一访问标识,并且确定第一访问标识是否具有对用户数据的访问权限。
14.根据权利要求13所述的计算系统,还包括:
安全存储器,仅安全处理器能够访问安全存储器。
15.根据权利要求14所述的计算系统,其中,安全处理器还被配置为:生成密钥列表,密钥列表包括具有访问用户数据的权限的授权用户的授权用户标识、关于存储有用户数据的系统存储器的区域的区域信息、以及用于对用户数据解密的所述密钥,并且
安全处理器还被配置为:基于密钥列表来确定第一用户标识是否与授权用户标识匹配,并且确定装置的用户是否被授权访问用户数据。
16.根据权利要求14所述的计算系统,其中,安全处理器还被配置为:生成许可列表,许可列表包括具有对用户数据的访问权限的授权访问标识、关于存储有用户数据的系统存储器的区域的区域信息、以及关于对用户数据的访问是否被准许的信息,并且
安全处理器还被配置为:基于许可列表确定第一访问标识是否与授权访问标识匹配,并且确定是否授权第一访问标识访问用户数据。
17.根据权利要求16所述的计算系统,其中,安全处理器还被配置为:当第一访问标识与授权访问标识匹配时输出所述密钥。
18.根据权利要求17所述的计算系统,其中,安全处理器还被配置为:生成与所述密钥对应的第一密钥标识,并且将生成的第一密钥标识与用户数据存储在系统存储器中,并且
安全处理器还被配置为:当第一访问标识与授权访问标识匹配时,使用与第一访问标识对应的公钥对所述密钥加密,并且输出加密后的密钥。
19.根据权利要求14所述的计算系统,其中,安全处理器还被配置为:生成密钥列表、许可列表和公钥列表,
密钥列表包括被授权访问用户数据的授权用户的授权用户标识、关于存储有用户数据的系统存储器的区域的区域信息、以及用于对用户数据解密的所述密钥,
许可列表包括具有对用户数据的访问权限的授权访问标识、区域信息、以及关于对用户数据的访问是否被准许的信息,
公钥列表包括访问标识和关于与访问标识对应的公钥的对应信息,
其中,安全处理器还被配置为:将生成的密钥列表、生成的许可列表和生成的公钥列表存储在安全存储器中。
20.根据权利要求12至19中的任意一项所述的计算系统,其中,安全处理器还被配置为:将使用不同的密钥生成的用户数据输出到系统存储器,并且
系统存储器还被配置为:将用户数据与对应于用户数据的密钥存储在系统存储器的不同的区域中。
CN202011392294.9A 2019-12-03 2020-12-02 安全处理器和计算系统 Pending CN112906072A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190159351A KR20210069473A (ko) 2019-12-03 2019-12-03 사용자에 대한 인증을 통해 유저 데이터에 대한 권한을 부여하는 시큐리티 프로세서 및 이를 포함하는 컴퓨팅 시스템
KR10-2019-0159351 2019-12-03

Publications (1)

Publication Number Publication Date
CN112906072A true CN112906072A (zh) 2021-06-04

Family

ID=73059780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011392294.9A Pending CN112906072A (zh) 2019-12-03 2020-12-02 安全处理器和计算系统

Country Status (5)

Country Link
US (2) US11615207B2 (zh)
EP (1) EP3832511A1 (zh)
KR (1) KR20210069473A (zh)
CN (1) CN112906072A (zh)
TW (1) TW202127245A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210069473A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 사용자에 대한 인증을 통해 유저 데이터에 대한 권한을 부여하는 시큐리티 프로세서 및 이를 포함하는 컴퓨팅 시스템
US11930109B2 (en) * 2021-01-22 2024-03-12 International Business Machines Corporation Encrypted storage with secure access
GB2609390B (en) * 2021-06-24 2023-09-06 Istorage Ltd Portable encryption device with multiple keys
WO2024005419A1 (ko) * 2022-07-01 2024-01-04 삼성전자 주식회사 암호화 서비스를 제공하는 전자 장치 및 그 동작 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155616B1 (en) * 2000-07-31 2006-12-26 Western Digital Ventures, Inc. Computer network comprising network authentication facilities implemented in a disk drive
AU2002321718A1 (en) 2002-08-13 2004-02-25 Nokia Corporation Computer architecture for executing a program in a secure of insecure mode
US8838950B2 (en) 2003-06-23 2014-09-16 International Business Machines Corporation Security architecture for system on chip
EP1836543A1 (en) 2004-12-22 2007-09-26 Telecom Italia S.p.A. Method and system for access control and data protection in digital memories, related digital memory and computer program product therefor
US7900064B2 (en) * 2005-04-20 2011-03-01 Honeywell International Inc. Encrypted debug interface
US9171187B2 (en) 2005-05-13 2015-10-27 Nokia Technologies Oy Implementation of an integrity-protected secure storage
JP2008103936A (ja) * 2006-10-18 2008-05-01 Toshiba Corp 秘密情報管理装置および秘密情報管理システム
JP4912921B2 (ja) 2007-02-27 2012-04-11 富士通セミコンダクター株式会社 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
US9270679B2 (en) * 2009-06-23 2016-02-23 Yahoo! Inc. Dynamic access control lists
EP2278514B1 (en) 2009-07-16 2018-05-30 Alcatel Lucent System and method for providing secure virtual machines
US8856530B2 (en) * 2011-09-21 2014-10-07 Onyx Privacy, Inc. Data storage incorporating cryptographically enhanced data protection
US20130282951A1 (en) 2012-04-19 2013-10-24 Qualcomm Incorporated System and method for secure booting and debugging of soc devices
US9286152B2 (en) 2013-06-14 2016-03-15 Microsoft Technology Licensing, Llc Securely obtaining memory content after device malfunction
US9170957B2 (en) 2013-08-29 2015-10-27 Qualcomm Incorporated Distributed dynamic memory management unit (MMU)-based secure inter-processor communication
US9607177B2 (en) 2013-09-30 2017-03-28 Qualcomm Incorporated Method for securing content in dynamically allocated memory using different domain-specific keys
US9171133B2 (en) 2013-10-11 2015-10-27 Landis+Gyr Innovations, Inc. Securing a device and data within the device
US9135472B2 (en) 2013-10-31 2015-09-15 Square, Inc. Systems and methods for secure processing with embedded cryptographic unit
US11100242B2 (en) * 2014-05-30 2021-08-24 Apple Inc. Restricted resource classes of an operating system
US10402797B2 (en) 2016-06-20 2019-09-03 Cyber Armor Pte Ltd Secured authentication and transaction authorization for mobile and internet-of-things devices
US10721067B2 (en) 2016-08-10 2020-07-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Secure processor for multi-tenant cloud workloads
TWI602077B (zh) 2017-02-06 2017-10-11 蓋特資訊系統股份有限公司 資料保護方法與系統
KR20210069473A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 사용자에 대한 인증을 통해 유저 데이터에 대한 권한을 부여하는 시큐리티 프로세서 및 이를 포함하는 컴퓨팅 시스템

Also Published As

Publication number Publication date
US12067148B2 (en) 2024-08-20
US11615207B2 (en) 2023-03-28
US20230237193A1 (en) 2023-07-27
TW202127245A (zh) 2021-07-16
EP3832511A1 (en) 2021-06-09
US20210165909A1 (en) 2021-06-03
KR20210069473A (ko) 2021-06-11

Similar Documents

Publication Publication Date Title
EP3832511A1 (en) Security processor configured to authenticate user and authorize user for user data and computing system including the same
CN112513857A (zh) 可信执行环境中的个性化密码安全访问控制
US9697371B1 (en) Remote authorization of usage of protected data in trusted execution environments
US10348706B2 (en) Assuring external accessibility for devices on a network
US8838961B2 (en) Security credential deployment in cloud environment
KR101471379B1 (ko) 플랫폼 자원들의 도메인-인증 제어
US9183415B2 (en) Regulating access using information regarding a host machine of a portable storage drive
US10091183B2 (en) Method and decision gateway for authorizing a function of an embedded control unit
US10771467B1 (en) External accessibility for computing devices
US8863255B2 (en) Security credential deployment in cloud environment
US20090064273A1 (en) Methods and systems for secure data entry and maintenance
CN111813614A (zh) 调试处理方法、装置与调试处理系统
CN116010957A (zh) 安全处理器的多个物理请求接口
US9323911B1 (en) Verifying requests to remove applications from a device
WO2022052665A1 (zh) 无线终端及无线终端在Uboot模式下的接口访问鉴权方法
CN115935318B (zh) 一种信息处理方法、装置、服务器、客户端及存储介质
CN109076337B (zh) 用于用户与移动终端设备和另一个实体的安全交互方法
WO2022127510A1 (zh) 认证方法及装置
AU2020204174B2 (en) Assuring external accessibility for devices on a network

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