CN108604275A - 硬件装置及其认证方法 - Google Patents
硬件装置及其认证方法 Download PDFInfo
- Publication number
- CN108604275A CN108604275A CN201780010962.7A CN201780010962A CN108604275A CN 108604275 A CN108604275 A CN 108604275A CN 201780010962 A CN201780010962 A CN 201780010962A CN 108604275 A CN108604275 A CN 108604275A
- Authority
- CN
- China
- Prior art keywords
- semiconductor chip
- bus
- group
- chip
- certification
- 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
Links
- 238000000034 method Methods 0.000 title claims description 44
- 239000004065 semiconductor Substances 0.000 claims abstract description 39
- 238000003860 storage Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 239000000203 mixture Substances 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000004044 response Effects 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 12
- 238000012795 verification Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003252 repetitive effect Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000011229 interlayer Substances 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000036299 sexual function Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7853—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) including a ROM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/74—Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
- G06K19/07309—Means for preventing undesired reading or writing from or onto record carriers
- G06K19/07372—Means for preventing undesired reading or writing from or onto record carriers by detecting tampering with the circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
- H04L9/3278—Cryptographic 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 challenge-response using physically unclonable functions [PUF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Semiconductor Integrated Circuits (AREA)
- Storage Device Security (AREA)
- Static Random-Access Memory (AREA)
Abstract
公开安全半导体芯片。半导体芯片也就是片上系统。一般的IP通过系统总线连接在包含于片上系统的处理器内核工作。另外提供作为与所述系统总线物理区分的隐藏总线的安全总线。安全总线上连接有执行安全功能或处理安全数据的安全IP。安全半导体芯片可变更一般模式与安全模式并执行必要的认证。
Description
技术领域
涉及硬件及其认证方法,更特定来讲涉及认证半导体芯片、电子装置等硬件装置是否为正品、是否发生变造或损伤等的方法。
背景技术
对基于软件安全技术来讲,每次发生利用操作系统(Operation System:OS)等的漏洞的新的攻击时需要持续地对此进行安全更新。因此为了防止安全攻击而提出了硬件模块层面的安全攻击防止设计及运用。这种硬件模块层面的安全方法有ARM公司的信任区(TrustZone)技术。
信任区技术之类的基于硬件安全技术是在启动步骤验证OS映像的无缺性后读取,因此能够从系统开始步骤起逐步(step by step)保障平台的无缺性。这是硬件验证包括OS在内的软件的无缺性的方式。而并不是从软件的角度验证硬件的无缺性。
美国授权专利公报US8,468,342号(公告日期2013年6月18日)公开了系统启动时确认OS无缺性以执行安全启动的运算装置。
技术文献″ARM Security Technology:Building a Secure System usingTechnology″(ARM Limited,White-Paper PRD29-GENC-009492C,April 2009)公开了ARM公司的信任区(Trust Zone)硬件结构及在其应用方面的安全启动(Securebooting)等。
发明内容
技术问题
本发明的目的是提供一种用于认证硬件装置的硬件装置及其认证方法。
技术方案
根据一个方面,提供一种半导体芯片,包括:处理器内核;以及与外部信赖机构执行相互认证以执行所述半导体芯片及所述外部信赖机构之间的认证的认证部。
根据一个实施例,半导体芯片还包括:第一组,其包括通过第一总线连接于所述处理器内核的元件;以及第二组,其包括通过第二总线连接于所述处理器内核且在安全模式工作的元件。该情况下,只在所述认证部的所述认证成功的情况下才激活使得可用所述第二组。作为例示,但并非限定,所述第二组包括加密IP、安全SRAM,安全DMA及引导ROM中至少一个。
根据一个实施例,半导体芯片还可以包括:PUF,其提供用于所述认证部与外部信赖机构执行所述相互认证的密钥。根据一个实施例,所述第二组利用与所述第一组不同的存储器地址处理数据。
作为例示,但并非限定,所述处理器内核包括:Core-A处理器,其是32比特RISC(Reduced Instruction Set Computing)型的嵌入式处理器。在该实施例中,所述第二总线包括将所述Core-A处理器的ASR用作控制包含于第二组的元件的地址空间实现的隐藏总线(hidden bus)。该情况下,所述第二组在所述安全模式可以将作为对所述ASR的数据处理指令的MTA(Move to ASR)指令与MFA(Move from ASR)指令用于安全指令(secureinstruction)处理。可以将其理解为利用ASR接口构成用于包含于所述第二组的安全IP的隐藏总线。根据另一实施例,所述处理器内核还可以是适用RISC V ISA的CPU内核。
根据一个实施例,所述认证部是硬件逻辑,通过不同于现有的运算语言的专用语言驱动执行所述认证的步骤。并且,所述认证部可执行通过不同于现有的运算语言的专用语言构成的认证步骤。根据一个实施例,所述认证部不同于ROM或所述半导体芯片内的IP而由一般单元构成,PnR(Place and Route)时不会泄露到外部或受到安全攻击。
根据另一方面,提供一种装置,是嵌入了软件的硬件装置,包括处理器内核,其驱动所述软件;以及认证部,其为了通过所述硬件装置驱动所述软件而与外部信赖机构执行相互认证以执行半导体芯片及所述外部信赖机构之间的认证。根据一个实施例,所述装置还可以包括:第一总线,其将包括在一般模式工作的元件的第一组连接到所述处理器内核;以及第二总线,其将包括在安全模式工作的元件的第二组连接到所述处理器内核。根据一个实施例,只在所述认证部的所述认证成功的情况下才激活使得接入第二总线以使得能够使用所述第二组。
根据一个实施例,所述装置还可以包括:PUF,其提供用于所述认证部与所述外部信赖机构执行所述相互认证的密钥。
根据又一方面,提供一种方法,是半导体芯片的工作方法,包括:认证部与外部信赖机构执行相互认证的步骤;以及只有在所述认证成功的情况下才激活所述半导体芯片的安全模式的步骤。此处,所述半导体芯片可包括:第一总线,其将包括在一般模式工作的元件的第一组连接到所述处理器内核;以及第二总线,其将包括在安全模式工作的元件的第二组连接到所述处理器内核。所述方法在所述认证成功的情况下激活所述第二组及所述第二总线,所述认证失败的情况下不激活所述第二组及所述第二总线而激活所述第一组及所述第一总线。根据一个实施例,所述第二组包括加密IP、安全SRAM,安全DMA及引导ROM中至少一个。
技术效果
根据本发明,能够认证硬件装置。
附图说明
图1是一个实施例的SoC装置的框图;
图2显示构成一个实施例的SoC的结构;
图3a至3f是用于说明根据一个实施例执行预认证的过程和协议的示意图;
图4是用于说明一个实施例的安全启动(secure booting)的流程的流程图;
图5是用于说明一个实施例的PUF的构成的概要图;
图6显示一个实施例的受到物理攻击时从根源上进行保护的安全SoC平台;
图7至图8是用于说明根据一个实施例执行安全启动的流程图。
具体实施方式
以下参照附图对实施例进行详细的说明。但是,权利范围不限制或限定于这些实施例。各附图上的相同的附图标记表示相同的部件。
以下说明中使用的术语是选用于相关技术领域通常、普遍的术语,但可随着技术的发达及/或变化、惯例、技术人员的喜好等而有其他术语。因此,以下说明中使用的术语不应被理解为限定技术思想,应理解为用于说明实施例的例示性术语。
并且,特定情况下还有申请人任意选定的术语,该情况下会在相应的说明部分记载其具体含义。因此,以下说明中使用的术语并非单纯术语的名称,因此应根据该术语所具有的含义和说明书全文的内容进行理解。
硬件与软件的相互认证
如上所述,基于硬件的安全技术中硬件通过安全启动之类的步骤验证软件的无缺性的技术很普遍。当发现智能手机或手持设备的OS不是无缺的映像,而是受损或由于侵入等导致安全功能发生变造的情况下,硬件在启动步骤发现这些问题,及/或在运行特定应用程序的步骤发现以阻止安全危险等。在安装有被黑客变造的OS的智能手机运行手机银行或支付应用程序时验证是否为被侵入的OS并停止执行步骤已经很常见。
然而反过来用OS或应用程序软件认证硬件的技术则没有。像如今无线发布(distribution on air)智能手机的移动OS乃至电子装置的固件、嵌入式软件及各种应用程序的情况下,从开发者或制造者立场来讲,保障要安装运行这些的装置为正品且未发生变造/损伤的无缺性是非常有必要的技术。以下公开的多个实施例公开为了防止非法仿造硬件、合约规定的使用期限到期的硬件、为接近原来的设备中被安保拦住的功能、信息而变造的硬件等而由软件自主地认证硬件的技术。当然还包括硬件认证软件的内容,从这种层面来讲,也可以理解为通过硬件与软件的相互认证保障安全性的系统。
以下的实施例例示说明在片上系统水平的装置中硬件与软件相互认证的技术,但并非必须局限于此。因此在不脱离发明的思想的范围内还可以有手持装置的硬件与其OS或固件的相互认证、甚至汽车或航空器与其运行软件的相互认证等类似的多种应用。
对片上系统的软件的安全攻击
对SoC的攻击包括物理性攻击与软件攻击。如果物理性攻击无力化且软件系统得到安全SoC平台的保护,开发者便无需对安全问题费心思,可以专注于自己的事情。此处公开的实施例提供防止对软件的安全攻击以在安全环境运行的SoC平台。
受到软件攻击时有些情况下仅凭软件模块难以进行防御,因此优选的是从硬件模块层面防御软件安全攻击。作为例示,可以是ARM公司的信任区之类的环境。为了利用信任区,需要可信执行环境(Trusted Execution Environment:TEE)标准定义的安全操作系统(Operation System)或安全库。而TEE的性能要求事项是使用小的CPU内核与实时操作系统(Real Time OS:RTOS)的物联网(Internet of Things:IoT)的终端SoC可能难以满足的水平。根据实施例,公开具有用于替代引起大的额外负担的安全操作系统(secure OS)或库的能够直接支持TEE的安全指令集架构(Instruction Set Architecture:ISA)的SoC。并且,公开能够执行这种安全ISA的CPU内核及其工作方法的实施例。以下参考附图说明多种实施例。
系统的构成
图1是一个实施例的半导体片上系统100的框图。芯片包括处理器的内核101。内核101上分别连接有第一总线111与第二总线121。第一总线111提供于作为在一般模式(normal mode)工作的通用运算组的第一组112。可以将‘组’理解为个别运算知识产权(intellectual property:IP)或存储器、缓存等的集合。即使以下无其他明确记载,元件、IP、功能要素、运算知识产权等可以混用。
第二总线121提供于包括仅在安全模式(secure mode)工作的元件的第二组122。第二总线121与第一总线111物理上完全分离。这种物理性孤立可以区分出一般区域(normal world)110与安全区域(Secure world)120,该区分提供对施加于软件的安全攻击强韧的SoC。可以将物理性孤立理解为一般区域110的第一组112用完全不同于安全区域120的第二组122的存储器地址体系处理数据。
SoC 100可包括系统通电时及/或根据需要有必要运行安全模式时与外部认证机构(未示出)对安全区域120执行相互认证的认证部102。认证部102可以对外部认证机构证明SoC 100、第二组122及其个别IP、内嵌于其中的软件合法无缺以获得认证。并且,认证部102还相互认证是作为当前事务对象的外部终端可信赖的所述外部认证机构。后续将参见图3具体说明认证部102从预认证(Pre-authentication)外部认证机构获得公钥登录并获得发给的认证书的发给协议和根据需要将现有的公钥更换为新公钥等软件的硬件认证。
一般模式与安全模式的转换
一个实施例的SoC 100可具有一般模式(normal mode)与安全模式(securemode)。第二组122只在上述认证部102的认证成功的情况下才启动,关于可信执行环境(Trusted Execution Environment:TEE)的安全区域120激活。当然,该情况下第一组112也启动,一般区域110激活。而所述认证不成功的情况下,只有关于一般执行环境(RichExecution Environment,REE)的第一组112启动使得一般区域110激活,但安全区域120不激活。
即使在安全区域120激活的情况下,第二组122也未必一直在工作,有可能处于待机状态。由于REE环境的运算,例如安卓操作系统与应用程序运行的过程中发生违反安全事件(event of secure violation)或需要金融结算等原因而发生提高的安全操作需要处理的调用时可执行所述安全模式。换而言之,在一般区域中移动电话的安卓之类的REE(RichExecution Environment)和一般的硬件IP一起在基于ARM的SoC工作。在此状态下,需要安全资源,例如需要加密IP(Cryptographic IP)或安全静态随机存储器(secure SRAM)时由安全操作系统与安全硬件IP构成的TEE工作并向REE传送结果。ARM公司的信任区向AMBAAXI进一步提供作为用于接入SoC平台的安全IP的控制信号的1比特总线信号。而使用普通的小CPU内核与实时操作系统(Real Time OS:RTOS)的物联网(Internet of Things:IoT)终端SoC可能难以满足TEE的性能要求事项,而实施例则可以满足这些。
认证的手段
根据一个实施例,半导体SoC 100还可以包括提供用于认证部102与所述外部信赖机构进行相互认证的根键(root key)的物理不可复制功能(Physical unclonablefunction:PUF)103。可在所述认证时使用这种利用根键的RSA、AES等多种认证算法中至少一个。作为例示,但并非限定,PUF可利用半导体制造工程上的工程偏差内在地(intrinsic)包含于所述半导体芯片内。根据一个例示性的构成,所述PUF可以是根据层间接触于半导体的导电层之间的通路(via)或层间接点在工程中是否正常图案化使所述导电层之间短路提供数字值的构件。后续将参见图5及图6对PUF的实现及作用进行更详细的说明。
安全存储器
根据一个实施例,安全存储器130包括在一般模式下利用的区域和在安全模式下利用的区域。安全存储器130例如包括非易失性存储器(NVM)。在安全模式下利用的区域可利用PUF 103提供的根键加密存储数据,而并非直接如实存储。因此,即使物理性地提取了安全存储器130的数据,但如果不直接连接(direct wired)于PUF 103解密便无意义。
构成例示性的系统-Core-A平台的利用
图2显示一个实施例的在Core-A环境构成SoC的结构。作为例示,但并非限定,所述处理器内核包括作为32比特精简指令集计算(Reduced Instruction Set Computing:RISC)型的嵌入式处理器的Core-A处理器201。根据另一实施例,所述处理器内核还可以是适用RISC V ISA的CPU内核。在以下记载中,应理解‘处理器’、‘处理器内核’、‘安全内核’、‘安全处理器’等是可以根据情况相互换用的术语。作为例示性的实现方式主要对利用‘Core-A’的实现方式进行说明,但也可以构成适用RISC V ISA的CPU内核等其他类型,这对本领域技术人员而言是显而易见的。
一般总线210上连接有作为REE环境的第一组元件的SRAM 211、多个外设IP(Peripheral IP)212、调试接口213。并且,安全总线220上连接有应在TEE环境工作的加密IP(Cryptographic IP)221、引导ROM(boot ROM)222、安全SRAM 223及安全DMA 224。如参见图1所述说明,具有认证部202及至少一个PUF 203,从而能够进行认证。PUF 203可直接连接于内核201以用于认证,并且可直接连接于加密IP中AES/SEED IP、ECC/RSA IP。进一步地,安全NVM 230也可以直接连接于PUF 203对数据进行加密以安全存储。
一个实施例的安全总线220可以是将所述Core-A处理器的应用程序特定寄存器(Application Specific Register:ASR)作为用于控制所述安全区域的第二组元件的地址空间使用而实现的隐藏总线。在该应用中,所述第二组可以在所述安全模式将作为对所述ASR的数据处理指令的MTA(Move to ASR)指令与MFA(Move from ASR)指令用于安全指令(secure instruction)处理。这也可以理解为利用ASR接口构成用于所述第二组中包含的安全IP的隐藏总线。
根据这种构成,构成替代具有大的额外负担的安全操作系统(secure OS)或库的能够直接支持TEE的安全指令集架构(Instruction Set Architecture:ISA)。因此相比于利用ARM的信任区(TrustZone),适合具有小CPU的设备。根据实施例,为了管理区别于一般模式的安全模式、硬件与软件相互认证而提供作为认证部的预认证(pre-authentication)硬件。并且提供利用可靠性、稳定性、随机性已得到验证的VIA-PUF(Physical UnclonableFunction)的相互认证硬件IP,因此提供具有强化的安全区域的‘安全SoC平台’。根据公开的实施例,公开安全ISA。是不同于一般的ISA的另外构成的安全区域版本的ISA。为了通过现有的ARM公司信任区(TrustZone)技术的方法接近安全区域内资源,需要安全操作系统或复杂的库。而根据公开的实施例中,可根据安全ISA在指令(instruction)层面上直接接接近安全区域内资源。
并且,可通过使用预认证IP管理进行对安全ISA的安全模式管理,以执行安全的相互认证,拦截未授权的用户接近内部,例如拦截软件攻击。实施例公开的安全内核提供对安全区域的隐藏的通道,其与主存储器接口物理分离。并且使得读取软件时利用安全DMA通过硬件自动确认无缺性,内部PUF为了认证而提供安全存储空间或用于安全IP的密钥。对此分别进行具体说明。
安全ISA(Instruction Set Architecture)
为了根据现有方法在安全区域内使用资源或调用安全函数,需要用于在通用CPU内核工作的安全操作系统或库。而根据实施例,公开提供安全区域的要求事项和安全操作系统及库的特征性功能的同时没有额外负担的安全ISA,其在功能上扩张以往的Core-A。其使得安全系统无需安全操作系统或库的帮助或受到应用程序开发的困扰地直接接近信任区,能够减少管理方面的付出。实施例的安全ISA的例示特征如下。
-控制流无缺性:为了效率而用一个指令替代保护控制流的无缺性的代码
-密钥管理:包括生成用于公钥加密的随机数及密钥对
-存储器安全等级管理:按各页面与分块提供多种安全等级
-安全引擎:扩张与安全硬件引擎密切地工作的ISA
-安全启动/认证:支持用于安全调试与启动的认证
-安全模式管理:支持管理用于安全模式的微结构
-寄存器内容保护:用VIA-PUF加密安全寄存器的内容
执行预认证(Pre-authentication)
图3a至3f是用于说明一个实施例的执行预认证的过程和协议的示意图。参见图3a,硬件SoC 300内具有处理认证且在安全模式工作的部分310。为了使得能够使用安全ISA,预认证IP 301在电源开或重置之后通过终端之间相互认证与外部认证书服务器,例如在商业网上管理终端安全的终端安全管理(Terminal Security Management:TSM)系统服务器301进行通信。如图例示,但并非限定,这种相互认证可采用利用PUF 303生成的根键的公钥加密方式。
根据一个实施例,用于所述相互认证的预认证IP 301内的认证协议不是一般语言(例如,C等高级语言或特定内核用组合)。预认证IP 301内由为了仅执行认证协议而设计的专用语言构成,因此难以分析且实质上无法分析。并且,预认证IP 301由硬件逻辑构成,因此不仅无法修改(保障无缺性)且通过基本单元的组合构成而并非构成ROM等物理分离的IP形态,因此能够使得在局部及路由(Place and Route:PnR)过程中与其他单元混合,因此对反向工程等物理攻击也强韧。
服务器301与公开的平台300用各自的个人密钥生成签名,认证书内含有自己的公钥。通过交换认证书与签名执行相互认证。预认证IP 302从VIA-PUF 303得到个人密钥并将用此生成的签名传递到认证书服务器。并且,用已存储的外部认证书服务器的公钥验证接收的签名。在此,签名算法可以是ECC或RSA之类的公钥加密算法。系统随着相互认证成功进入安全模式时安全内核控制安全启动。并且调试接口仅在安全模式时打开,仅允许经过认证的用户执行调试。认证成功的情况下可允许安全模式,安全区域的IP资源(311及312等)可工作。
另外,相互认证时交换的共享密钥在后续为了安全而在交换数据时用作加密密钥或信息认证码(Message Authentication Code:MAC)用密钥及用于加密或MAC的起始向量(Initial Vector:IV),以用于通信时确保机密性及无缺性。以下说明用于相互认证的具体协议。
预认证(Pre-authentication)协议
预认证协议包括在使用之前注册公钥并获得发给的认证书的‘发给协议’和能够根据需要将现有的公钥更换成新的公钥并重发对新公钥的认证书的‘重发及更新协议’。发给之后芯片从向终端安全管理(Terminal Security Management:TSM)系统发出使用请求开始,还剩有有效期限的情况下在线执行使用协议,有效期限到期的情况下在线执行更新协议。当TSM判断出有效期限到期后过了很长时间或相应芯片的现有密钥对由于攻击等而不再有效的情况下,无法使用线上的使用协议和更新协议,需要发给机构按照与发给协议相似的方式重发。在此,重发协议只省略ID发给部分,因此除此之外与发给协议几乎相同。并且,由于由假设安全的发给机构变更密钥与认证书,而且现有密钥不再有效,因此传递公钥时无需签名。换而言之,在更新协议将芯片新生成的公钥传递给TSM时用变更前个人密钥签名并传递。以下参见附图对各步骤的协议进行具体说明。
发给协议
图3b公开的流程公开发给协议。是注册设备生成的公钥对中的公钥,并获得发给的对公钥的认证书的过程。公钥对的生成及传递、认证书发给部分在重发协议也可以相同地执行。
首先执行芯片及序列号目录传递过程。关于有效的设备的序列号目录(SN-list)已由制造者传递到TSM(3202)。
插入芯片(3201):向发给设备插入认证芯片或插入有认证芯片的设备。在此,设为发给者(例如银行或信用卡公司)驱动的发给设备可信。
请求SN:此时发给设备向芯片请求获得SN。
请求ID:发给设备在向TSM请求关于该芯片的ID的同时传递从芯片得到的SN。TSM生成ID(3203),确认收到的SN(3204)后将自己的公钥QTSM与ID一并传递到发给设备。
*错误处理(判断为非有效的SN的情况下):TSM得到非有效的SN的情况下,所述步骤可以将传递ID改为用错误消息ERR_ID响应、废弃(Disuse)并结束(3205)。选择性地,发给设备可以再次向芯片请求提供有效的SN,可以从过程起重复。
请求公钥:若无错误,发给设备在向芯片请求公钥的同时传递从TSM收到的ID、TSM的公钥。
*错误处理(CRC错误):发给设备从TSM收到的消息有CRC错误的情况下重新请求D(REQ_ID,重复)以重新获得ID、TSM的公钥。
公钥生成准备:芯片执行CRC检查(3206)、TSM的公钥的有效性检查(3207)。并且初始化用于生成公钥的更新信息UpNumECC(3208)。
*错误处理(CRC错误):芯片从发给设备收到的消息有CRC错误的情况下发送错误消息ERR_PUK以重新获得ID、TSM的公钥。
*错误处理(公钥错误):芯片从TSM接收的TSM的公钥QTSM非有效的情况下用错误消息ERR_PUK响应以再请求TSM的公钥。发给设备接收其并向TSM请求ID(REQ_ID,重复)以重新获取ID、TSM的公钥。
所述初始化(3208)后在步骤3209执行图3c。参照图3c说明的至是发给与重发的共同部分,在关于发给的图3b中称为步骤3209,在关于重发的图3e中称为步骤3508。下述图3e的步骤3508过程再次参见此处的至
公钥生成及传递(3301):根据ID、PUF、更新信息生成公钥对并将其中的公钥传递到发给设备,发给设备将其发送到TSM。将该区间视为可信赖,附加CRC代码使得能够排除通信上的错误。
*错误处理(CRC错误):发给设备从芯片接收的消息发生CRC错误时(3302)发送错误消息ERR_PUK以重新获得芯片的公钥。重复错误时可废弃(Disuse)芯片(3303)。
发给认证书:TSM执行CRC检查(3304)、芯片公钥的有效性检查(3305)。并且生成在接收的公钥用自己的个人密钥签名的认证书(3307)并传递到发给设备,发给设备将其传递到芯片。作为参考,图3b至3d示出的认证书仅含有芯片的ID与公钥、对其的签名,而必要情况下在签名的对象、认证书内容中除ID及芯片的公钥之外还包括发给机构、有效期限等附加信息。
*错误处理(CRC错误):TSM从发给设备收到的消息中发生CRC错误时发给设备向芯片用CRC错误消息ERR_CERT响应请求重新发送。
*错误处理(公钥错误):TSM从发给设备收到的芯片的公钥QChip非有效的情况下用错误消息ERR_CERT响应以再请求芯片的公钥。发给设备收到其后将错误消息ERR_PUK传递到芯片。重复错误时可废弃(Disuse)芯片(3306)。
*错误处理(CRC错误):发给设备从TSM收到的消息发生CRC错误时(3308)发给设备向TSM重新发送认证书请求消息REQ_CERT。
验证认证书:芯片检查CRC(3309),确认包含于认证书的ID与公钥是否与自己的相同。并且确认关于ID与公钥的认证书的签名(3310)。确认签名后将更新信息UpNumECC与从TSM获得的认证书存储在非易失性存储器(3313)。
*错误处理(CRC错误):芯片从发给设备收到的消息发生CRC错误时(3311)芯片用CRC错误消息ERR_REG_CERT响应发给设备以请求重新发送。重新发送后如果是错误处理则可废弃(3312)。
*错误处理(认证书错误):认证书错误(ID、公钥、签名错误)时芯片向发给设备发送认证书错误消息ERR_REG_CERT,发给设备发送给TSM再请求(REQ_CERT)认证书并重复之后过程。
以上为发给与重发的共同的图3c部分,重新回到发给过程即图3b的存储ID、QTSM的步骤(3210)之前执行步骤(3210)。
发给结束后各芯片将获发的ID与初始化的更新信息UpNumECC、TSM的公钥QTSM及关于自己的公钥的TSM的认证书(是用TSM的个人密钥签名芯片的公钥的)存储于非易失性存储器。发给后TSM具有关于发给的芯片的SN-ID-公钥目录。假设芯片与发给者(发给设备)、TSM、制造社之间的连接安全。即假设攻击者无法介入发给步骤。
更新协议
发给结束的芯片通电且芯片向TSM发送使用请求时,TSM确认该ID的芯片的有效期限的结果为已无有效期限的情况下不许芯片使用,并向芯片请求更新公钥。由于是不安全的通信环境,因此传递新生成的芯片的公钥时用现有的个人密钥(更新前个人密钥)签名后传递以保障是来自该芯片的新公钥。具体的协议将参见图3d进行说明。
请求确认有效期限:将ID与随机数RN传递给TSM(3401)。
确认有效期限及请求更新:TSM确认有效期限(3402)。已无有效期限的情况下请求更新。将ID与接收的随机数及用TSM的个人密钥签名更新代码RENEWAL后附加到更新请求消息使得攻击者无法任意更新设备。
更新及传递公钥对:芯片确认接收的更新请求消息的ID与签名(3403及3404)后,利用增加1的UpNumECC新生成公钥对(d′Chip、Q′Chip)(3405)。并且用更新前个人密钥dChip对其中的公钥签名与ID一起签名并传递给TSM(3406)。
*错误处理(ID错误):若芯片从TSM收到的ID不是自己的,则用错误消息ERR_RENEWAL响应。TSM确认ID且如果是正确的便从更新请求消息REQ_RENEWAL起重复。
*错误处理(签名错误):芯片从TSM接收的签名非有效的情况下,用错误消息ERR_RENEWAL响应。TSM重新发送现有更新请求消息REQ_RENEWAL或从生成签名起重复。
发给认证书:TSM检查芯片的公钥的有效性且检查签名的有效性(3407至3409)。并且生成在接收的公钥用自己的个人密钥签名的认证书并传递给芯片。如上所述,再生成认证书时也可以除公钥之外还附有附加信息。
*错误处理(公钥错误):TSM从芯片收到的芯片的公钥Q′Chip非有效的情况下用错误消息ERR_RENEWAL响应以再请求芯片的公钥。*错误处理(签名错误):TSM从芯片收到的消息的签名非有效的情况下用错误消息ERR_RENEWAL响应芯片以请求重新发送。芯片从生成签名起重复。
验证认证书:芯片确认包含于认证书的ID与公钥是否与自己的相同(3410)。并且确认关于ID与公钥的认证书的签名(3411)。确认签名后将UpNumECC与从TSM收到的认证书存储在非易失性存储器(3413)。
*错误处理(认证书错误):发生认证书错误(ID、公钥、签名错误)时可以废弃(3412),但芯片也可以向TSM发送认证书错误消息ERR_REG_CERT以再请求认证书重复过程。更新结束后芯片将关于用于更新公钥的增加1的UpNumECC与新更新的公钥的TSM的认证书存储在易失性存储器。并且经过步骤3414与步骤3415结束更新协议。
重发协议
更新时用现有的个人密钥签名新公钥以保障是芯片的新公钥。而有效期限到期后过了很长时间的情况下无法再使用现有的个人密钥,因此需要由发给机构重发芯片,具体协议如下。
请求确认有效期限:插入卡(3501)后芯片不知道是否为重发状态,因此像更新一样生成ID与随机数RN(3502)并一同与发送的指令传递至发给设备。发给设备接收其后向TSM请求重发指令。
请求重发:TSM按照与更新请求近似的方式将ID与接收的随机数、以及重发代码ISSUE用TSM的个人密钥签名(3503)后附加到重发请求消息。
确认重发请求:芯片确认CRC与ID、签名后(3504至3506)使UpNumECC增加1(3507)。
*错误处理(CRC错误):芯片从发给设备收到的消息有CRC错误的情况下发送错误消息ERR_REPUK以重新获得ID、签名。
*错误处理(ID错误):若芯片从TSM收到的ID不是自己的,则用错误消息ERR_REPUK响应。TSM确认ID并在对的情况下从重发请求消息REQ_REPUK起重复。
*错误处理(签名错误):芯片从TSM收到的签名非有效的情况下用错误消息ERR_REPUK响应。TSM重新发送现有更新请求消息REQ_REPUK或从生成签名起重复。
并且,此处重复上述通过图3c说明的发给协议的至
(发给的)生成及传递公钥(3301):根据ID、PUF、更新信息生成公钥对并将其中的公钥传递到发给设备,发给设备将其传递到TSM。将该区间视为可信赖,并附加CRC代码使得能够排除通信上的错误。
*错误处理(CRC错误):发给设备从芯片收到的消息发生CRC错误时(3302)发送错误消息ERR_PUK以重新接收芯片的公钥。重复错误时可废弃(Disuse)芯片(3303)。
(发给的)发给认证书:TSM执行CRC检查(3304)、芯片的公钥的有效性检查(3305)。并且用自己的个人密钥在接收的公钥签名生成认证书(3307)传递到发给设备,发给设备将其传递到芯片。该情况下也可以像发给时一样根据必要附加多种附加信息(即,发给机构、有效期限)。*错误处理(CRC错误):TSM从发给设备收到的消息发生CRC错误时发给设备向芯片用CRC错误消息ERR_CERT响应以请求重新发送。
*错误处理(公钥错误):TSM从发给设备收到的芯片的公钥QChip非有效的情况下用错误消息ERR_CERT响应以再请求芯片的公钥。发给设备接收其并将错误消息ERR_PUK传递到芯片。重复错误时可废弃(Disuse)芯片(3306)。
*错误处理(CRC错误):发给设备从TSM收到的消息发生CRC错误时(3308)发给设备向TSM重新发送认证书请求消息REQ_CERT。
(发给的)验证认证书:芯片检查CRC(3309)并确认包含于认证书的ID与公钥是否与自己的相同。并且确认关于ID与公钥的认证书的签名(3310)。确认签名后将UpNumECC与从TSM收到的新认证书存储到非易失性存储器(3313)。
*错误处理(CRC错误):芯片从发给设备收到的消息发生CRC错误时(3311)芯片向发给设备用CRC错误消息ERR_REG_CERT响应以请求重新发送。重新发送后为错误处理时可废弃(3312)。
*错误处理(认证书错误):发送认证书错误(ID、公钥、签名错误)时芯片将认证书错误消息ERR_REG_CERT发送给发给设备且发给设备发送给TSM以再请求REQ_CERT认证书,之后在步骤3508执行图3c说明的内容。这是参见图3c说明的发给过程的至执行该部分后再回到图3e的收尾步骤。重发结果为新存储增加1的UpNumECC与新获发的认证书R′、S′(3507)。与发给协议一样假设攻击者无法介入发给步骤。
使用协议
参见图3f进行说明。使用协议是与TSM执行相互认证使内核赋予安全模式的权限的协议。是执行图3a说明的认证过程的例示性协议。
请求确认有效期限:与更新、重发协议一样生成ID与随机数RN(3601)并传递给TSM且协议开始。
确认有效期限及请求会话:TSM确认有效期限(3602)。还剩有有效期限的情况下通过用于共享芯片与密钥的密钥交换协议(ECDH)过程生成临时密钥对a、A。并且用TSM的个人密钥对其签名并传递给芯片。
生成共享密钥:芯片确认接收的ID(3603),确认接收的公钥A的有效性及签名的有效性(3604及3605)。并且通过ECDH过程生成芯片的临时密钥对b、B。并且利用从TSM收到的临时公钥A与芯片生成的临时个人密钥b形成共享保密信息W,并用密钥诱导函数(Keyderivation function)对其进行扩张生成共享密钥K1、K2、IV(3606)。生成的公钥与对此用芯片的个人密钥签名的签名,并且为了握手(hand shake)而将用共享密钥加密的信息C1传递给TSM(3607至3608)。
*错误处理(ID错误):若芯片从TSM收到的ID不是自己的,则用错误消息ERR_SESSIO响应。TSM确认ID且在对的情况下从会话请求消息REQ_SESSION起重复。
*错误处理(公钥错误):芯片从TSM收到的公钥非有效的情况下用错误消息ERR_SESSION响应。TSM从会话请求消息REQ_SESSION起重复。
*错误处理(签名错误):芯片从TSM收到的签名非有效的情况下用错误消息ERR_SESSION响应。TSM重新生成签名或从会话请求消息REQ_SESSION起重复。
握手:TSM确认接收的公钥B的有效性与签名的有效性(3609及3610)。并且利用接收的芯片的公钥B与TSM生成的临时个人密钥a形成共享保密信息W,并用密钥诱导函数(Key derivation function)对此进行扩张生成共享密钥K1、K2、IV(3611)。利用其解密C1以确认芯片生成了相同的共享密钥。TSM也将用共享密钥加密的信息C2传递给芯片(3612)。
*错误处理(公钥错误):TSM从芯片收到的公钥非有效的情况下用错误消息ERR_HS响应。芯片从握手请求消息REQ_HS起重复。
*错误处理(签名错误):TSM从芯片收到的签名非有效的情况下用错误消息ERR_HS响应。芯片重新生成签名或从握手请求消息REQ_SESSION起重复。如果签名错误重复的情况下停止握手过程并一并发送用于认证失败的错误消息ERR_HS与认证失败代码ER_AUTH使得将认证结果设为失败(FAuth=Fasle)。
*错误处理(握手错误):TSM从芯片收到的C1的确认结果为失败的情况下用错误消息ERR_HS响应。生成密钥或从生成C1起重新执行。
握手2:芯片解密接收的C2并进行确认以确认TSM也生成了相同的共享密钥(3613)。
*错误处理(握手错误):芯片从TSM收到的C2的确认结果为失败的情况下用错误消息ERR_HS响应。生成共享密钥或从生成C2起重新执行。
可通过以上过程中彼此收发的签名相互认证彼此,共享的密钥K1、K2、IV在后续与TSM通信时分别用作加密密钥、MAC用密钥、起始向量(initial vector)。认证成功执行的情况下赋予对安全模式的权限(FAuth=True)(3614)。
以上分别是预认证的执行、发给、更新、重发、使用的具体协议。预认证认证部通过这种过程认证装置与TSM等硬件。
硬件的软件认证
现有的TrustZone等TEE(Trusted Execution Environment)为了保障平台的无缺性而包括安全启动功能。其用于防止系统在OS映像本身受到污染的状态下开始,是启动时确认OS映像的无缺性后运行使得平台能够在无缺的状态下开始的技术。
图4是用于说明一个实施例的这种安全启动的流程的流程图。设备通电(410)后,ROM的SoC引导加载程序420最先运行获得权限。引导加载程序(Boot loader)存储于on-SoCROM,无法修改,因此作为可信根(Root oftrust)成为安全启动步骤的基础。并且on-SoC硬件具有无法修改TSM认证机构的公钥的OTP形态等。引导加载程序420利用该公钥验证来自闪速设备引导加载程序(flashdevice bootloader)430的签名以确认无缺,之后对闪速设备引导加载程序430赋予权限使得能够运行。得到权限的闪速设备引导加载程序430验证安全区域OS的映像的签名以确认无缺并使其运行(安全启动)440。在后续也重复这种过程使一般区域引导加载程序450获得权限启动一般区域OS(460),系统驱动。由于无法修改而保障无缺性的硬件层面的可信根起逐步执行软件认证的同时前进的这种过程被称为信任链。
硬件通过这种方式用信任链认证要在硬件执行的软件,如参考图3a至3f所述说明,软件也认证硬件以执行相互认证。
利用PUF强化安全
实施例的PUF(Physical Unclonable Function)可利用半导体制造过程中发生的工程偏差生成芯片固有的真随机比特(true random bit)。半导体制造过程中发生的每个芯片的工程偏差各异,因此大量生产芯片时PUF可用作芯片的固有ID,利用其的情况下可提供用于加密/解密、保护存储器、电子签名等的根键(root key)。
这种PUF的值不容易泄露到芯片外部,因此作为可信根(Root-of-Trust)可提供最上位安全等级。当前洲际弹道导弹(ICBM)等军用武器、车辆用安全系统(HSM)、智能手机的AP、智能卡等多种应用领域正在进行为了将PUF用于安全的标准化及商用化。
图5是用于说明一个实施例的PUF的实现的概要图。需注意这只是例示构成,并不局限于此。根据一个实施例,PUF具有设计小于一般设计规则(图示的例中是250nm*250nm)规定的通路孔尺寸(via hole size)的通路孔制成的通路(或层间接触)阵列。该情况下,在通路孔阵列中,开路(open)和短路(short)随机(random)分布,其可提供随机(random)且实质上时间不变(invariant over time)的数字值(digital value)。根据公开的实施例制造的VIA PUF通过了公认评价机构的基于JEDEC标准的多种测试,可靠性(Reliability)得到了验证,随机性也通过了作为NIST标准的SP800-90B的真随机数测试包(true randomnumber testing suite)。
增加的实施例的说明
图6显示一个实施例的受到物理攻击时从根源上进行保护的安全SoC平台。
除连接于安全内核601执行REE环境的运算的一般总线610之外提供用于安全区域的隐藏总线620。SRAM 611或外设IP(Peripheral IP)612在一般模式下工作的过程中需要运行安全模式的情况下,可通过安全ISA在指令级别运行安全IP 621。
根据一个实施例,安全内核601将存储器区域分割成代码区域与数据区域。被分割的存储器区域可以是一般区域的,而根据其他实施例,也可以是安全区域的。安全内核601可包括禁止在所述代码区域写入(write),禁止在数据区域运行(execution)的存储器保护单元(Memory Protection Unit:MPU)。此处,可通过利用对所述Core-A处理器的ASR的指令处理的安全指令设置所述代码区域与所述数据区域。进一步地,除了所述代码区域与所述数据区域之外还可以设置系统区域。
[表1]
区域\模式 | U/N | U/S | P/N | P/S |
代码区域 | RX | RX | RWX | RWX |
数据区域 | RW | RW | RW | RW |
系统区域 | - | - | RWX | RWX |
上表中,模式″U″表示用户模式(User mode),″P″表示权限模式(Privilegemode)。并且″N″表示一般模式,″S″表示安全模式。公开了各代码区域允许的工作。例如,是用户模式且一般模式时可以进行R即读取、X即运行(eXecution),但不允许W即写入。
另外,根据一个实施例,所述处理器内核可包括备份包含于代码序列的返回地址的基于硬件影子堆栈。该情况下,所述影子堆栈可独立于常驻在现有的存储器上的堆栈位于相同或另加的存储器或另加的寄存器等。所述影子堆栈不使用总线,不被操作系统或软件接近,可通过增加的基于硬件控制电路执行存储器堆栈相关指令时自动执行以双重管理所述返回地址。通过双重管理利用影子堆栈的返回地址,能够感测软件攻击导致的常驻于现有的存储器上的堆栈中存储的返回地址变更。影子堆栈仅受硬件电路控制,无法通过软件接近,因此能够从根源上切断欲变更存储于影子堆栈的内容的攻击。以上说明的影子堆栈是双重管理返回地址的例示性构成,只要是周期性地备份返回地址进行双重管理的堆栈便不受特定例示构成的限制。
系统启动时的工作
图7至图8是用于说明一个实施例的SoC的工作的流程图。根据一个实施例,设备通电时执行从认证书服务器获得认证的步骤(710)。此处,作为基于硬件认证部的预认证IP(pre-authentication IP)通过终端之间相互认证与外部认证书服务器通信的内容如通过图3a所述说明,该过程中利用PUF的内容已参见图5进行了说明。
在步骤720认证成功的情况下,管理使得能够使用安全ISA(730),能够接近调试接口,安全区域操作系统启动(740)。并且之后通过启动一般模式使得系统可驱动(750)。
而在步骤720认证失败的情况下,图8的步骤810无法接近安全区域。并且只有一般区域启动,只能驱动REE环境的运算。这种过程如参见图1、图2及图4等所述内容。
以上说明的装置可以由存储器的硬件构成要素、控制存储器的软件构成要素及/或硬件构成要素及软件构成要素的组合实现。例如,实施例中说明的装置及构成要素可以由例如处理器、控制器、算术逻辑单元(arithmetic logic unit;ALU)、数字信号处理器(digital signal processor)、微型计算机、现场可编程阵列(field programmablearray;FPA)、可编程逻辑单元(programmable logic unit;PLU)、微处理器或能够运行和响应指令(instruction)的其他任意装置之类的一个以上的通用计算机或特殊目的计算机实现。
软件可包括计算机程序(computer program)、代码(code)、指令(instruction)或其中一个以上的组合,可构成处理装置使得按要求工作,或独立或结合起来(collectively)命令处理装置。关于软件及/或数据,为了通过处理装置解析或向处理装置提供指令或数据,可永久或临时具体化(embody)于某种类型的机器、构成要素(component)、物理装置、虚拟装置(virtual equipment)、计算机存储介质或装置或传输的信号波(signal wave)。软件分散于通过网络连接的计算机系统上,可通过分散的方法存储或运行。软件及数据可存储于一个以上的计算机可读存储介质。
实施例的存储器工作控制方法可以构成为能够通过多种计算机机构执行的程序指令形态并存储在计算机可读存储介质。所述计算机可读存储介质可包括程序指令、数据文件、数据结构等中的一个或组合。存储在所述介质的程序指令可以是为实施例而特别设计和构成的程序指令或计算机软件相关技术人员可公知使用的程序指令。计算机可读存储介质例如包括硬盘、软盘及磁带等磁介质(magnetic media)、CD-ROM、DVD之类的光记录介质(optical media)、软磁盘(floptical disk)之类的磁-光介质(magneto-opticalmedia)及ROM、RAM、闪存盘等专门构建的用于存储和执行程序指令的硬件装置。程序指令不仅包括通过编译器得到的机械代码,还包括能够用解释器通过计算机执行的高级语言代码。所述硬件装置可构成为作为用于执行实施例的工作的一个以上的软件模块工作,反之同理。
虽然通过限定的附图对实施例进行了说明,但本技术领域的一般技术人员可在所述记载的基础上进行多种修正及变形。例如,说明的技术可按照不同于说明的方法的顺序执行,及/或说明的系统、结构、装置、电路等的构成要素可以按照不同于说明的方法的其他形态结合或组合,即使被其他构成要素或等同物替代或置换也能够达到适当的结果。因此,其他构成方式、其他实施例及与专利请求范围等同的均属于专利请求范围。
Claims (19)
1.一种半导体芯片,包括:
处理器内核;以及
认证部,其与外部信赖机构执行相互认证以执行所述半导体芯片及所述外部信赖机构之间的认证。
2.根据权利要求1所述的半导体芯片,还包括:
第一组,其包括通过第一总线连接于所述处理器内核的元件;以及
第二组,其包括通过第二总线连接于所述处理器内核且在安全模式工作的元件。
3.根据权利要求2所述的半导体芯片,其中:
只在所述认证部的所述认证成功的情况下才激活使得可用所述第二组。
4.根据权利要求2所述的半导体芯片,其中:
所述第二组包括加密IP、安全SRAM,安全DMA及引导ROM中至少一个。
5.根据权利要求1所述的半导体芯片,还包括:
物理不可复制功能(PUF),其提供用于所述认证部与外部信赖机构执行所述相互认证的密钥。
6.根据权利要求2所述的半导体芯片,其中:
所述第二组利用与所述第一组不同的存储器地址处理数据。
7.根据权利要求2所述的半导体芯片,所述处理器内核包括:
Core-A处理器,其是32比特精简指令集运算(Reduced Instruction Set Computing:RISC)型的嵌入式处理器。
8.根据权利要求7所述的半导体芯片,其中:
所述第二总线包括将所述Core-A处理器的应用程序特定寄存器(ApplicationSpecific Register:ASR)用作控制包含于第二组的元件的地址空间实现的隐藏总线。
9.根据权利要求8所述的半导体芯片,其中:
所述第二组在所述安全模式将作为对所述ASR的数据处理指令的MTA(Move to ASR)指令与MFA(Move from ASR)指令用于安全指令(secure instruction)处理。
10.根据权利要求1所述的半导体芯片,其中:
所述认证部是硬件逻辑,通过不同于现有的运算语言的专用语言驱动执行所述认证的步骤。
11.根据权利要求10所述的半导体芯片,其中:
所述认证部执行通过不同于现有的运算语言的专用语言构成的认证步骤。
12.根据权利要求11所述的半导体芯片,其中:
所述认证部不同于ROM或所述半导体芯片内的IP而由一般单元构成。
13.一种装置,是嵌入了软件的硬件装置,包括:
处理器内核,其驱动所述软件;以及
认证部,其为了通过所述硬件装置驱动所述软件而与外部信赖机构执行相互认证以执行所述半导体芯片及所述外部信赖机构之间的认证。
14.根据权利要求13所述的装置,所述半导体芯片还包括:
第一总线,其将包括在一般模式工作的元件的第一组连接到所述处理器内核;以及
第二总线,其将包括在安全模式工作的元件的第二组连接到所述处理器内核。
15.根据权利要求14所述的装置,其中:
只在所述认证部的所述认证成功的情况下才激活使得接入第二总线以使得能够使用所述第二组。
16.根据权利要求13所述的装置,还包括:
物理不可复制功能(PUF),其提供用于所述认证部与所述外部信赖机构执行所述相互认证的密钥。
17.一种方法,是半导体芯片的工作方法,包括:
认证部与外部信赖机构执行相互认证的步骤;以及
只有在所述认证成功的情况下才激活所述半导体芯片的安全模式的步骤。
18.根据权利要求17所述的方法,其中:
所述半导体芯片还包括:
第一总线,其将包括在一般模式工作的元件的第一组连接到所述处理器内核;以及
第二总线,其将包括在安全模式工作的元件的第二组连接到所述处理器内核,
所述方法在所述认证成功的情况下激活所述第二组及所述第二总线,所述认证失败的情况下不激活所述第二组及所述第二总线而激活所述第一组及所述第一总线。
19.根据权利要求18所述的方法,其中:
所述第二组包括加密IP、安全SRAM,安全DMA及引导ROM中至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160016587 | 2016-02-12 | ||
KR10-2016-0016587 | 2016-02-12 | ||
PCT/KR2017/001560 WO2017138799A1 (ko) | 2016-02-12 | 2017-02-13 | 하드웨어 디바이스 및 그 인증 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108604275A true CN108604275A (zh) | 2018-09-28 |
Family
ID=59757767
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780011631.5A Active CN108701193B (zh) | 2016-02-12 | 2017-02-10 | 安全半导体芯片及其工作方法 |
CN201780010930.7A Active CN108701192B (zh) | 2016-02-12 | 2017-02-10 | 安全半导体芯片及其工作方法 |
CN201780010950.4A Pending CN108604274A (zh) | 2016-02-12 | 2017-02-13 | 安全片上系统 |
CN201780010962.7A Pending CN108604275A (zh) | 2016-02-12 | 2017-02-13 | 硬件装置及其认证方法 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780011631.5A Active CN108701193B (zh) | 2016-02-12 | 2017-02-10 | 安全半导体芯片及其工作方法 |
CN201780010930.7A Active CN108701192B (zh) | 2016-02-12 | 2017-02-10 | 安全半导体芯片及其工作方法 |
CN201780010950.4A Pending CN108604274A (zh) | 2016-02-12 | 2017-02-13 | 安全片上系统 |
Country Status (3)
Country | Link |
---|---|
US (4) | US10972460B2 (zh) |
KR (5) | KR102666955B1 (zh) |
CN (4) | CN108701193B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639757A (zh) * | 2018-10-31 | 2019-04-16 | 深圳市元征科技股份有限公司 | 一种文件下载方法、终端及服务器 |
TWI716918B (zh) * | 2019-06-27 | 2021-01-21 | 旺宏電子股份有限公司 | 電子裝置、記憶體裝置及其記憶資料的讀取方法 |
TWI759943B (zh) * | 2020-05-27 | 2022-04-01 | 台灣積體電路製造股份有限公司 | 對積體電路中的半導體記憶體的安全級別進行認證的方法及儲存有可執行代碼的電腦可讀取媒體 |
TWI792739B (zh) * | 2020-12-11 | 2023-02-11 | 熵碼科技股份有限公司 | 用來控制裝置激活的方法以及相關電子裝置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10949546B2 (en) * | 2017-08-02 | 2021-03-16 | Samsung Electronics Co., Ltd. | Security devices, electronic devices and methods of operating electronic devices |
KR102309347B1 (ko) * | 2017-11-29 | 2021-10-05 | 재단법인대구경북과학기술원 | 네트워크공격검출시스템 |
KR102089085B1 (ko) * | 2018-02-21 | 2020-03-16 | 주식회사 에이피씨테크 | 산업 제어 시스템을 위한 암호화 모듈 및 통신 모듈을 포함하는 보안 통신 장치 |
US20210319145A1 (en) * | 2018-08-10 | 2021-10-14 | Cryptography Research, Inc. | Memory bus protection |
US10996952B2 (en) | 2018-12-10 | 2021-05-04 | SiFive, Inc. | Macro-op fusion |
JP6832375B2 (ja) * | 2019-02-25 | 2021-02-24 | ウィンボンド エレクトロニクス コーポレーション | 半導体集積回路をリバースエンジニアリングから保護する方法 |
US11245680B2 (en) * | 2019-03-01 | 2022-02-08 | Analog Devices, Inc. | Garbled circuit for device authentication |
WO2020205497A1 (en) * | 2019-04-01 | 2020-10-08 | Raytheon Company | Root of trust assisted access control of secure encrypted drives |
BR112021019741A2 (pt) * | 2019-04-01 | 2021-12-21 | Raytheon Co | Sistemas e método para proteção de dados |
US11177934B2 (en) * | 2019-06-05 | 2021-11-16 | Nec Corporation Of America | Open processor for operation technology and internet of things |
KR102245773B1 (ko) | 2019-06-11 | 2021-04-27 | 연세대학교 산학협력단 | 침투 공격에 대해 검출 및 보호가 가능한 온칩 보안 회로 |
CN112560118A (zh) * | 2019-09-26 | 2021-03-26 | 杭州中天微系统有限公司 | 用于提供可重置的标识符的配置装置和配置方法 |
EP3798886A1 (en) * | 2019-09-26 | 2021-03-31 | General Electric Company | Devices, systems, and methods for securely initializing an embedded system |
KR20210037314A (ko) * | 2019-09-27 | 2021-04-06 | 삼성전자주식회사 | 보안 집적 회로를 이용하여 펌웨어를 갱신하기 위한 전자 장치 및 그의 동작 방법 |
US11336440B2 (en) * | 2019-12-16 | 2022-05-17 | The Toronto-Dominion Bank | Secure management and regeneration of cryptographic keys within a computing environment using permissioned distributed ledgers |
US11743058B2 (en) | 2020-03-05 | 2023-08-29 | International Business Machines Corporation | NVDIMM security with physically unclonable functions |
EP3907633B1 (en) * | 2020-05-05 | 2022-12-14 | Nxp B.V. | System and method for obfuscating opcode commands in a semiconductor device |
KR102591826B1 (ko) * | 2020-06-10 | 2023-10-24 | 한국전자통신연구원 | Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법 |
CN113965595A (zh) * | 2020-07-02 | 2022-01-21 | 中国电信股份有限公司 | 物联网设备配置方法、服务器、设备、系统和存储介质 |
WO2022027587A1 (zh) * | 2020-08-07 | 2022-02-10 | 深圳市汇顶科技股份有限公司 | 用于芯片的激光注入攻击检测电路和安全芯片 |
EP3989478B1 (en) * | 2020-10-22 | 2023-10-18 | Moxa Inc. | Computing system and device for handling a chain of trust |
KR102413790B1 (ko) * | 2020-11-27 | 2022-06-28 | 연세대학교 산학협력단 | 칩의 보안 회로 |
GB202107886D0 (en) * | 2021-06-02 | 2021-07-14 | Nordic Semiconductor Asa | Device identity keys |
KR102640110B1 (ko) * | 2023-02-28 | 2024-02-23 | 전남대학교산학협력단 | 침투 공격 검출이 가능한 초소형 온칩 보안 회로 장치 및 그 방법 |
KR102668039B1 (ko) | 2023-06-16 | 2024-05-21 | 전남대학교산학협력단 | 시스템 반도체에 대한 물리적 공격을 검출하기 위한 보안 회로 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015947A1 (en) * | 2004-07-01 | 2006-01-19 | Conti Gregory R P | System and method for secure mode for processors and memories on multiple semiconductor dies within a single semiconductor package |
CN103336930A (zh) * | 2013-05-28 | 2013-10-02 | 戴葵 | 一种新型的puf电路体系结构 |
US20140310515A1 (en) * | 2011-08-16 | 2014-10-16 | Dong Kyue Kim | Apparatus and method for authentication between devices based on puf over machine-to-machine communications |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6184054A (ja) * | 1984-09-27 | 1986-04-28 | シーメンス、アクチエンゲゼルシヤフト | 集積mos回路 |
US5117457A (en) * | 1986-11-05 | 1992-05-26 | International Business Machines Corp. | Tamper resistant packaging for information protection in electronic circuitry |
US5053992A (en) | 1990-10-04 | 1991-10-01 | General Instrument Corporation | Prevention of inspection of secret data stored in encapsulated integrated circuit chip |
JP3209938B2 (ja) * | 1997-01-10 | 2001-09-17 | 富士通株式会社 | 発光素子の保護装置及び発光素子の保護方法 |
DE19701166A1 (de) | 1997-01-15 | 1998-07-23 | Siemens Ag | Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen |
CA2364506A1 (en) * | 2001-12-07 | 2003-06-07 | John W. Bogdan | Integrated timing systems and circuits |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
JP2003296680A (ja) | 2002-03-29 | 2003-10-17 | Hitachi Ltd | データ処理装置 |
KR100517554B1 (ko) | 2002-12-05 | 2005-09-28 | 삼성전자주식회사 | 보안 기능을 갖는 반도체 집적 회로 |
US7219337B2 (en) * | 2003-03-06 | 2007-05-15 | Northrop Grumman Corporation | Direct instructions rendering emulation computer technique |
KR20050066558A (ko) | 2003-12-26 | 2005-06-30 | 매그나칩 반도체 유한회사 | 광검출 회로를 이용하여 보안성을 강화한 반도체 소자 |
CN101171617A (zh) * | 2005-05-06 | 2008-04-30 | 爱特梅尔公司 | 用于数据保护的安全方法 |
US8099783B2 (en) * | 2005-05-06 | 2012-01-17 | Atmel Corporation | Security method for data protection |
CN101292249A (zh) * | 2005-10-24 | 2008-10-22 | Nxp股份有限公司 | 半导体器件以及防止该半导体器件受到攻击的方法 |
EP1984871A2 (en) | 2006-02-09 | 2008-10-29 | Nxp B.V. | Circuit arrangement, data processing device comprising such circuit arrangement as well as method for identifying an attack on such circuit arrangement |
WO2008102282A2 (en) * | 2007-02-20 | 2008-08-28 | Nxp B.V. | Semiconductor device with backside tamper protection |
US7831873B1 (en) * | 2007-03-07 | 2010-11-09 | Xilinx, Inc. | Method and apparatus for detecting sudden temperature/voltage changes in integrated circuits |
KR101299602B1 (ko) | 2007-03-27 | 2013-08-26 | 삼성전자주식회사 | 리버스 엔지니어링을 보호하는 집적회로 |
KR100929348B1 (ko) * | 2007-06-22 | 2009-12-03 | 삼성전자주식회사 | 비정상 동작을 감시하기 위한 반도체 장치 및 방법 |
US8762687B2 (en) * | 2008-05-24 | 2014-06-24 | Via Technologies, Inc. | Microprocessor providing isolated timers and counters for execution of secure code |
US7989918B2 (en) * | 2009-01-26 | 2011-08-02 | International Business Machines Corporation | Implementing tamper evident and resistant detection through modulation of capacitance |
JP2012074674A (ja) * | 2010-09-02 | 2012-04-12 | Canon Inc | 半導体集積回路装置 |
JP2012053788A (ja) * | 2010-09-02 | 2012-03-15 | Canon Inc | 半導体集積回路装置 |
KR101118826B1 (ko) | 2011-02-15 | 2012-04-20 | 한양대학교 산학협력단 | 물리적 공격을 방어하는 암호화 장치 및 암호화 방법 |
WO2012122994A1 (en) * | 2011-03-11 | 2012-09-20 | Kreft Heinz | Off-line transfer of electronic tokens between peer-devices |
US10678951B2 (en) * | 2011-10-24 | 2020-06-09 | Maxim Integrated Products, Inc. | Tamper detection countermeasures to deter physical attack on a security ASIC |
WO2013072897A2 (en) * | 2011-11-18 | 2013-05-23 | Tubitak | Active shield with electrically configurable interconnections |
TW201349009A (zh) * | 2012-04-13 | 2013-12-01 | Ologn Technologies Ag | 用於數位通信之安全區 |
KR20140114263A (ko) | 2013-03-13 | 2014-09-26 | 삼성전자주식회사 | 어플리케이션 인증 방법 및 이를 구현하는 전자 장치 |
US9846656B2 (en) * | 2013-04-17 | 2017-12-19 | Laurence H. Cooke | Secure computing |
US9310862B2 (en) * | 2013-05-20 | 2016-04-12 | Advanced Micro Devices, Inc. | Method and apparatus for monitoring performance for secure chip operation |
US8896086B1 (en) | 2013-05-30 | 2014-11-25 | Freescale Semiconductor, Inc. | System for preventing tampering with integrated circuit |
CN103413106B (zh) * | 2013-08-05 | 2016-04-20 | 大唐微电子技术有限公司 | 一种芯片顶层覆盖完整性保护方法和装置 |
US11349675B2 (en) * | 2013-10-18 | 2022-05-31 | Alcatel-Lucent Usa Inc. | Tamper-resistant and scalable mutual authentication for machine-to-machine devices |
CN103559459A (zh) * | 2013-11-06 | 2014-02-05 | 北京昆腾微电子有限公司 | 用于安全芯片的动态遮蔽保护装置和方法 |
CN203535642U (zh) * | 2013-11-06 | 2014-04-09 | 昆腾微电子股份有限公司 | 用于安全芯片的动态遮蔽保护装置 |
CN104850805B (zh) * | 2015-05-29 | 2019-03-26 | 北京华大信安科技有限公司 | 一种保护芯片系统敏感信息的装置及方法 |
CN105184194A (zh) * | 2015-10-13 | 2015-12-23 | 天津大学 | 在集成电路中探测光故障注入攻击的结构及其探测方法 |
US10394556B2 (en) * | 2015-12-20 | 2019-08-27 | Intel Corporation | Hardware apparatuses and methods to switch shadow stack pointers |
KR102444239B1 (ko) * | 2016-01-21 | 2022-09-16 | 삼성전자주식회사 | 보안 칩, 어플리케이션 프로세서, 보안 칩을 포함하는 디바이스 및 그 동작방법 |
EP3246845B1 (en) * | 2016-05-17 | 2018-12-05 | Inside Secure | Secure asset management system |
FR3082659A1 (fr) * | 2018-06-14 | 2019-12-20 | Stmicroelectronics (Research & Development) Limited | Puce electronique protegee |
-
2017
- 2017-02-10 KR KR1020170018693A patent/KR102666955B1/ko active IP Right Grant
- 2017-02-10 CN CN201780011631.5A patent/CN108701193B/zh active Active
- 2017-02-10 KR KR1020170018694A patent/KR20170095156A/ko not_active Application Discontinuation
- 2017-02-10 US US16/076,510 patent/US10972460B2/en active Active
- 2017-02-10 KR KR1020170018692A patent/KR102666954B1/ko active IP Right Grant
- 2017-02-10 US US16/076,473 patent/US10778679B2/en active Active
- 2017-02-10 CN CN201780010930.7A patent/CN108701192B/zh active Active
- 2017-02-13 KR KR1020170019497A patent/KR20170095163A/ko not_active Application Discontinuation
- 2017-02-13 CN CN201780010950.4A patent/CN108604274A/zh active Pending
- 2017-02-13 KR KR1020170019341A patent/KR20170095161A/ko not_active Application Discontinuation
- 2017-02-13 US US16/075,951 patent/US20190253417A1/en not_active Abandoned
- 2017-02-13 CN CN201780010962.7A patent/CN108604275A/zh active Pending
- 2017-02-13 US US16/076,449 patent/US11089016B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015947A1 (en) * | 2004-07-01 | 2006-01-19 | Conti Gregory R P | System and method for secure mode for processors and memories on multiple semiconductor dies within a single semiconductor package |
US20140310515A1 (en) * | 2011-08-16 | 2014-10-16 | Dong Kyue Kim | Apparatus and method for authentication between devices based on puf over machine-to-machine communications |
CN103336930A (zh) * | 2013-05-28 | 2013-10-02 | 戴葵 | 一种新型的puf电路体系结构 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639757A (zh) * | 2018-10-31 | 2019-04-16 | 深圳市元征科技股份有限公司 | 一种文件下载方法、终端及服务器 |
TWI716918B (zh) * | 2019-06-27 | 2021-01-21 | 旺宏電子股份有限公司 | 電子裝置、記憶體裝置及其記憶資料的讀取方法 |
TWI759943B (zh) * | 2020-05-27 | 2022-04-01 | 台灣積體電路製造股份有限公司 | 對積體電路中的半導體記憶體的安全級別進行認證的方法及儲存有可執行代碼的電腦可讀取媒體 |
US11651134B2 (en) | 2020-05-27 | 2023-05-16 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method of certifying safety levels of semiconductor memories in integrated circuits |
TWI792739B (zh) * | 2020-12-11 | 2023-02-11 | 熵碼科技股份有限公司 | 用來控制裝置激活的方法以及相關電子裝置 |
US11736285B2 (en) | 2020-12-11 | 2023-08-22 | PUFsecurity Corporation | Method for controlling device activation and associated electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN108701193A (zh) | 2018-10-23 |
US20190253417A1 (en) | 2019-08-15 |
CN108701192A (zh) | 2018-10-23 |
US11089016B2 (en) | 2021-08-10 |
CN108701193B (zh) | 2022-08-30 |
KR20170095161A (ko) | 2017-08-22 |
KR20170095155A (ko) | 2017-08-22 |
CN108604274A (zh) | 2018-09-28 |
US20190050702A1 (en) | 2019-02-14 |
KR102666954B1 (ko) | 2024-05-17 |
KR20170095163A (ko) | 2017-08-22 |
KR102666955B1 (ko) | 2024-05-17 |
US10972460B2 (en) | 2021-04-06 |
US20190114428A1 (en) | 2019-04-18 |
KR20170095154A (ko) | 2017-08-22 |
US10778679B2 (en) | 2020-09-15 |
CN108701192B (zh) | 2022-05-31 |
US20190042532A1 (en) | 2019-02-07 |
KR20170095156A (ko) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108604275A (zh) | 硬件装置及其认证方法 | |
US11947688B2 (en) | Secure computing system | |
US10162975B2 (en) | Secure computing system | |
Dunn et al. | Cloaking malware with the trusted platform module | |
Parno et al. | Bootstrapping trust in modern computers | |
JP4067985B2 (ja) | アプリケーション認証システムと装置 | |
CN101340281B (zh) | 针对在网络上进行安全登录输入的方法和系统 | |
CN107438849B (zh) | 用于验证电子设备的完整性的系统和方法 | |
CN113841145A (zh) | 抑制集成、隔离应用中的勒索软件 | |
US20050228993A1 (en) | Method and apparatus for authenticating a user of an electronic system | |
US20080040613A1 (en) | Apparatus, system, and method for secure password reset | |
EP2947594A2 (en) | Protecting critical data structures in an embedded hypervisor system | |
Lee et al. | Reverse‐safe authentication protocol for secure USB memories | |
US10747885B2 (en) | Technologies for pre-boot biometric authentication | |
JP2019192231A (ja) | コンピュータシステム及びコンピュータシステムを初期化する方法 | |
US7228432B2 (en) | Method and apparatus for providing security for a computer system | |
US9262619B2 (en) | Computer system and method for protecting data from external threats | |
CN102833296A (zh) | 用于构建安全的计算环境的方法和设备 | |
CN111651740B (zh) | 一种面向分布式智能嵌入式系统的可信平台共享系统 | |
WO2012050421A1 (en) | Secure external storage system and method thereof | |
Lee et al. | A study on a secure USB mechanism that prevents the exposure of authentication information for smart human care services | |
Stumpf et al. | Towards secure e-commerce based on virtualization and attestation techniques | |
Hashii | Lessons learned using alloy to formally specify mls-pca trusted security architecture | |
Ur Rahman et al. | Practical security for rural internet kiosks | |
US8914901B2 (en) | Trusted storage and display |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180928 |