TWI693530B - 安全系統及安全系統的操作方法 - Google Patents
安全系統及安全系統的操作方法 Download PDFInfo
- Publication number
- TWI693530B TWI693530B TW107131405A TW107131405A TWI693530B TW I693530 B TWI693530 B TW I693530B TW 107131405 A TW107131405 A TW 107131405A TW 107131405 A TW107131405 A TW 107131405A TW I693530 B TWI693530 B TW I693530B
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- random
- coupled
- original data
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000006870 function Effects 0.000 claims abstract description 63
- 230000005540 biological transmission Effects 0.000 claims description 34
- 230000008859 change Effects 0.000 claims description 18
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 abstract description 4
- 101000711744 Homo sapiens Non-secretory ribonuclease Proteins 0.000 description 22
- 102100034217 Non-secretory ribonuclease Human genes 0.000 description 22
- 102100034033 Alpha-adducin Human genes 0.000 description 19
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 19
- 101000667595 Homo sapiens Ribonuclease pancreatic Proteins 0.000 description 19
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 19
- 102100039832 Ribonuclease pancreatic Human genes 0.000 description 19
- 238000010586 diagram Methods 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012407 engineering method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- 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/72—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 in cryptographic circuits
-
- 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/76—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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/16—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/18—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/062—Differential amplifiers of non-latching type, e.g. comparators, long-tailed pairs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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]
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B20/00—Read-only memory [ROM] devices
- H10B20/20—Programmable ROM [PROM] devices comprising field-effect components
- H10B20/25—One-time programmable ROM [OTPROM] devices, e.g. using electrically-fusible links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Read Only Memory (AREA)
- Storage Device Security (AREA)
- Semiconductor Integrated Circuits (AREA)
- Semiconductor Memories (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Electronic Switches (AREA)
- Fuses (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
安全系統包含物理不可複製函數電路、寫入保護電路、記憶體及讀出解密電路。物理不可複製函數電路提供複數個隨機字串。寫入保護電路接收寫入位址及原始資料,並包含位址加擾單元。位址加擾單元根據物理不可複製函數電路所提供的隨機字串加擾寫入位址以產生加擾位址。記憶體根據加擾位址儲存對應於原始資料的儲存資料。讀出解密電路根據寫入位址自記憶體讀出儲存資料以取得原始資料。
Description
本發明是有關於一種安全系統,特別是指一種利用亂數字串來提升資料安全的安全系統。
隨著電子裝置所應用的領域越來越廣,電子裝置所處理的資訊也越來越多。有時電子裝置可能會需要處理較為敏感的資訊。在此情況下,就可能會利用電子裝置中獨特的安全金鑰來做身分識別及資訊保護。然而,由於晶片和裝置的逆向工程方法已經能夠自動化,因此物理和旁通道攻擊也變得越來越強大,且成本也越能夠負擔。因此曝露敏感資訊的問題也引發了人們的擔憂。
為防止電子裝置被未授權者存取,電子裝置的製造者常需要投入大量的時間和金錢來發展反測量技術以防範外來的威脅。在先前技術中,由於物理不可複製函數(physical unclonable function,PUF)之積體電路的先天特性,物理不可複製函數之積體電路常被應用於保護系統免於物理攻擊,並提高逆向工程或駭入系統所需跨越的門檻。
物理不可複製函數可以根據其在製造過程中無法控制的隨機物理特性產生獨特的位元字串。製程中產生的變異可能會來自製程操作上的極小變動、材料內容及/或環境參數的偏移。這些無法避免且無法預測的變異會被物理不可複製函數放大,進而產生獨特的位元字串。
雖然物理不可複製函數能夠產生難以預測的亂數位元或安全金鑰,然而這些機密資訊需要固定儲存在系統中,所以常常會儲存在非揮發性的記憶體中。因此若是以傳統的方式儲存在記憶體中,對手便很可能在取得記憶體之後,透過旁通道攻擊或其他的駭客手法破解取得其中的資訊,導致整個系統的資訊安全都陷入威脅。因此如何有效提升系統的安全性仍然是有待解決的問題。
本發明之一實施例提供一種安全系統。安全系統包含物理不可複製函數電路、寫入保護電路、記憶體及讀出解密電路。
物理不可複製函數電路提供複數個隨機字串。寫入保護電路接收寫入位址及原始資料。寫入保護電路包含位址加擾單元,位址加擾單元根據物理不可複製函數電路所提供的隨機字串加擾寫入位址以產生加擾位址。
記憶體耦接於寫入保護電路,並根據加擾位址儲存對應於原始資料之儲存資料。
讀出解密電路耦接於記憶體,並根據寫入位址自記憶體讀出儲存資料以取得原始資料。
本發明之另一實施例提供一種安全系統的操作方法。安全系統包含寫入保護電路、記憶體、物理不可複製函數電路及讀出解密電路。
安全系統的操作方法包含物理不可複製函數電路提供複數個隨機字串以產生隨機字串,寫入保護電路接收寫入位址及原始資料,寫入保護電路根據隨機字串加擾寫入位址以產生加擾位址,記憶體根據加擾位址儲存對應於原始資料之儲存資料,及讀出解密電路根據寫入位址自記憶體讀出儲存資料以取得原始資料。
第1圖為本發明一實施例之安全系統100的示意圖。安全系統100包含寫入保護電路110、記憶體120及讀出解密電路130。記憶體120可耦接於寫入保護電路110及讀出解密電路130。
在本發明的有些實施例中,記憶體120可以是一次性寫入的記憶體(one-time programmable memory)。為了避免記憶體120中所儲存的資訊被對手竊取,安全系統100可以透過寫入保護電路110將寫入記憶體120的資料加密,並且更動對應的寫入位址。如此一來,在對手無法得知寫入保護電路110是以何種方式進行加密,又以何種規則儲存資料的情況下,將難以辨識出記憶體120中所儲存的資料。舉例來說,即使對手透過逆向工程手法,例如被動式電壓對比方式(Passive voltage contrast),得知記憶體120中每位元所儲存的資料,但由於記憶體120並非存放原始的機密資訊,所以即使被竊取,也不會危害到整個系統安全,如此一來,進而保護記憶體120的資訊安全。
在第1圖中,寫入保護電路110可包含位址加擾單元112及資料加密單元114。在本發明的有些實施例中,當安全系統100欲將原始資料D1儲存至對應於寫入位址ADD1的記憶體空間時,安全系統100可將原始資料D1及寫入位址ADD1傳送至寫入保護電路110。寫入保護電路110在接收到原始資料D1及寫入位址ADD1之後,便可利用位址加擾單元112根據隨機字串RNS1加擾(scramble)寫入位址ADD1以產生加擾位址SADD1,並可利用資料加密單元114根據隨機字串RNS2加密原始資料D1以產生儲存資料ED1。接著,記憶體120便可根據加擾位址SADD1儲存對應於原始資料D1的儲存資料ED1。
也就是說,對手在不知道位址加擾單元112是以何種方式進行加擾的情況下,就無法根據寫入位址ADD1在記憶體120取出儲存資料ED1,而在不知道資料加密單元114是以何種方式進行加密的情況下,也無法將儲存資料ED1還原成系統實際上使用的原始資料D1。由於對手無法得知位址與資料的對應關係,也無法從竊取的資料中直接得知系統實際使用的資料,因此安全系統100能夠有效提升記憶體120的資料安全性。在本發明得有些實施例中,倘若利用位址加擾單元112便足以保護記憶體120中的資料安全,則設計者也可將資料加密單元114省略。在此情況下,儲存資料ED1與所對應的原始資料D1也可具有相同的內容。
在本發明的有些實施例中,位址加擾單元112可將隨機字串RNS1與寫入位址ADD1進行互斥或(exclusive OR)運算以產生加擾位址SADD1。舉例來說,若寫入位址ADD1為01100100而隨機字串RNS1為10111101,則在經過位址加擾單元112加擾所產生的加擾位址SADD1即為兩者進行互斥或運算後的結果11011001。然而本發明並不限定以互斥或運算來對寫入位址ADD1進行加擾,在本發明的其他實施例中,位址加擾單元112也可以使用其他可逆的運算方式來對寫入位址ADD1進行加擾。
此外,資料加密單元114可更動原始資料D1的排列順序,並根據隨機字串RNS2更動原始資料D1的內容,以產生儲存資料ED1。舉例來說,若原始資料D1的內容為00011000,則資料加密單元114可以先改變原始資料D1的排列順序,例如每兩個位元的位置互換,而成為00100100,接著再與隨機字串RNS2進行互斥或運算以改變原始資料D1的內容並產生儲存資料ED1。如此一來,即便對手自記憶體120中取得了儲存資料ED1,也將難以還原出實際系統所使用的原始資料D1。
再者,在本發明的有些實施例中,資料加密單元114也可以先根據隨機字串RNS2更動原始資料D1的內容,再進一步更動原始資料D1的排列順序,或者資料加密單元114可以更動原始資料D1的排列順序而不另外更動原始資料D1的內容,又或者更動原始資料D1的內容而不另外更動原始資料D1的排列順序。
在本發明的有些實施例中,資料加密單元114可透過與記憶體120的位元線的耦接關係直接在儲存資料時,以固定的方式將原始資料D1的排列順序打亂,也可能是根據另外的隨機字串來決定如何更動原始資料D1的排列順序,並在更動原始資料D1的排列順序後,才繼續進行加密操作或者存入記憶體120中。再者,本發明也不限定資料加密單元114需以互斥或運算來更動原始資料D1的內容,在本發明的其他實施例中,資料加密單元114也可以使用其他可逆的運算方式來對原始資料D1進行加密。
在將儲存資料ED1儲存至記憶體120中對應於加擾位址SADD1的空間之後,讀出解密電路130可根據寫入位址ADD1將儲存資料ED1讀出以協助取出原始資料D1。舉例來說,讀出解密電路130可以和位址加擾單元112以相同的方式對當初的寫入ADD1位址進行加擾,如此一來,讀出解密電路130將能夠根據隨機字串RNS1及寫入位址ADD1產生加擾位址SADD1以讀出其中的儲存資料ED1。在讀出儲存資料ED1之後,讀出解密電路130還可進一步將儲存資料ED1還原成原始資料D1。也就是說,讀出解密電路130可根據隨機字串RNS2還原原始資料D1的內容,並將原始資料D1的排列順序還原。也就是說,雖然記憶體120是以加擾之後的位址配置來儲存加密過的原始資料D1以達到資安保護的目的,然而系統仍然可以透過正常的位址取得原先的儲存資料以完成所需的操作。
在本發明的有些實施例中,為確保寫入位址在加擾之後不會與其他的寫入位址產生衝突,也確保讀出解密電路130能夠正確地還原取出原始資料D1,隨機字串RNS1及隨機字串RNS2可以設計成不隨時間更新變化的固定字串。也就是說,寫入保護電路110可以利用固定的隨機字串RNS1來對寫入位址進行加擾,並利用固定的隨機字串RNS2來對原始資料D1進行加密,而讀出解密電路130也將利用相同的隨機字串RNS1及隨機字串RNS2自記憶體120中還原取出原始資料D1。在本發明的有些實施例中,隨機字串RNS1及隨機字串RNS2實質上也可以是相同的隨機字串。
在第1圖的實施例中,安全系統100還可包含物理不可複製函數(Physical Unclonalbe Function,PUF)電路160。物理不可複製函數電路160可提供複數個隨機字串以產生寫入保護電路110及讀出解密電路130所需的隨機字串RNS1及RNS2。第2圖為物理不可複製函數單元PU的示意圖。物理不可複製函數電路160可包含複數個物理不可複製函數單元PU,而物理不可複製函數單元PU可利用一次性寫入記憶體單元的結構來實作。舉例來說,物理不可複製函數單元PU可包含選擇電晶體S1、S2、開關電晶體W1及W2及反熔絲電晶體AT1及AT2。
選擇電晶體S1具有第一端、第二端及控制端,選擇電晶體S1之第一端耦接於位元線BL,而選擇電晶體S1之控制端耦接於字元線WL。開關電晶體W1具有第一端、第二端及控制端,開關電晶體W1的第一端耦接於選擇電晶體S1之第二端,而開關電晶體W1的控制端耦接於開關控制線SWL。反熔絲電晶體AT1具有第一端、第二端及閘極結構,反熔絲電晶體AT1的第一端耦接於開關電晶體W1之第二端,反熔絲電晶體AT1的閘極結構耦接於反熔絲控制線AF1。
此外,選擇電晶體S2具有第一端、第二端及控制端,選擇電晶體S2之第一端耦接於位元線BL,而選擇電晶體S2之控制端耦接於字元線WL。開關電晶體W2具有第一端、第二端及控制端,開關電晶體W2的第一端耦接於選擇電晶體S2之第二端,而開關電晶體W2的控制端耦接於開關控制線SWL。反熔絲電晶體AT2具有第一端、第二端及閘極結構,反熔絲電晶體AT2的第一端耦接於開關電晶體W2之第二端,反熔絲電晶體AT2的第二端可耦接於反熔絲電晶體AT1之第二端,而反熔絲電晶體AT2的閘極結構耦接於反熔絲控制線AF2。也就是說,反熔絲電晶體AT1及AT2可相耦接,開關電晶體W1及W2可由相同的控制線SWL所控制,而選擇電晶體S1及S2可由相同的字元線WL所控制。
當物理不可複製函數單元PU執行寫入操作時,反熔絲電晶體AT1及AT2的閘極結構將同時透過反熔絲控制線AF1及AF2接收到相同的高電壓,而反熔絲電晶體AT1及AT2的第一端及第二端(即汲極及源極)則將經由開關電晶體W1及W2以及選擇電晶體S1及S2接收到低電壓。在此情況下,由於製程差異會造成反熔絲電晶體AT1及AT2在先天結構特性上的差異,例如閘極氧化層品質的差異、局部缺陷分布的差異、閘極氧化層厚度的差異…等等,因此在寫入操作的過程中,反熔絲電晶體AT1及AT2的其中一者的閘極氧化層會先被破壞。而被破壞的反熔絲電晶體會導致反熔絲電晶體AT1及AT2之間的結點電壓被耦合(couple)至一中間電位,且此中間電位與反熔絲電晶體AT1及AT2所接受的高電壓其壓差(voltage difference)並不足以將另一反熔絲電晶體破壞。也就是說,在正常的情況下,反熔絲電晶體AT1及AT2中只有一個反熔絲電晶體會在寫入操作的過程中被破壞。
因此,在寫入操作之後,反熔絲電晶體AT1及AT2的破裂狀態(rupture condition)將會彼此相異。透過分別在反熔絲電晶體AT1及AT2的閘極結構上施加相同的讀取電壓,就可以經由開關電晶體W1及W2以及選擇電晶體S1及S2來讀出對應電流,以判讀兩者的破裂狀態。由於反熔絲電晶體AT1及AT2的破裂狀態是因為無法控制的製程變異所造成,因此自物理不可複製函數單元PU中讀出的位元具有不可預測性,而可用來做為亂數位元,而物理不可複製函數電路160則可透過其中複數個物理不可複製函數單元PU來組合產生所需的隨機字串。
此外,第2圖所示的物理不可複製函數單元PU僅為本發明的一實施例。在本發明的其他實施例中,物理不可複製函數電路160也可利用其他的結構實作,例如第3圖及第4圖是本發明其他實施例的物理不可複製函數單元PU1及PU2的示意圖。第3圖的物理不可複製函數單元PU1與第2圖的物理不可複製函數單元PU差別在於物理不可複製函數單元PU1可省略開關電晶體W1及W2。也就是說,物理不可複製函數單元PU1可只包含選擇電晶體S1、S2及反熔絲電晶體AT1及AT2,在此情況下,選擇電晶體S1及S2的第一端可直接耦接於位元線BL,而其他接線部份則與第2圖中的物理不可複製函數單元PU雷同,所以不再複述。
此外,物理不可複製函數單元PU也可利用如第4圖的結構來實現。在第4圖中,物理不可複製函數單元PU2可將選擇電晶體S1及S2也一併省略,而只包含反熔絲電晶體AT1及AT2。在此情況下,反熔絲電晶體AT1及AT2的第一端可以直接耦接至位元線BL,且反熔絲電晶體AT1及AT2可具有雙厚度的閘氧化層(dual gate oxide thickness),其中反熔絲電晶體AT1及AT2的第一端可以用來控制操作選擇,而反熔絲電晶體AT1及AT2的第二端則可能會在寫入操作的過程中被破壞。如此一來,就可以將選擇電晶體S1及S2省略,並達到與物理不可複製函數單元PU相似的功能。
在有些實施例中,寫入保護電路110、記憶體120、物理不可複製函數電路160可以互相整合在相同的電路中,使得記憶體120中所儲存的機密資訊就能夠獲得更加完善的保護,而不容易被對手破解取得。另外,當安全系統100係建構在一晶片上時,因物理不可複製函數電路160所產生的每一隨機字串都是唯一(unique),所以每一顆晶片從物理不可複製函數電路160所取得的隨機字串皆不相同。也就是說,每一顆晶片其寫入保護電路110所採用的加密方式也會相異。當外界想要破解每一顆晶片時,會因為其中採用的加密方式皆不相同,所以破解相當不易且成本也非常高昂。
此外,安全系統100中的元件可能會設置在不同的晶片上,而不同晶片中的元件則可透過傳輸匯流排來傳輸資訊。為了避免對手從傳輸匯流排上取得資訊,安全系統100還可包含動態加密電路140。在第1圖中,動態加密電路140可耦接於讀出解密電路130及傳輸匯流排150。安全系統100可在將原始資料D1傳送至傳輸匯流排150之前,先透過動態加密電路140處理。動態加密電路140可以根據動態隨機字串DRNS加密原始資料D1以產生傳輸資料TD1,並將傳輸資料TD1傳送至傳輸匯流排150。如此一來,即便對手透過側錄或其他駭客侵入的手段,自傳輸匯流排150取得傳輸資料TD1,也難以從中辨識出系統實際上所欲傳送的原始資料D1。
在第1圖中,安全系統100還可包含動態解密電路170及應用電路180。動態解密電路170耦接於傳輸匯流排150,並可接收傳輸資料TD1。動態解密電路170可根據動態隨機字串DRNS將傳輸資料TD1解密還原成原始資料D1,使得應用電路180能夠根據原始資料D1執行對應的操作。
此外,安全系統100還可包含隨機字串產生器190。隨機字串產生器190可以在應用電路180欲接收原始資料D1時,更新產生動態隨機字串DRNS,並將更新後的動態隨機字串DRNS傳送至動態加密電路140及動態解密電路170。也就是說,每次透過傳輸匯流排150傳送資訊時,動態加密電路140都會使用不一樣的動態隨機字串DRNS來對傳送資料進行加密,而動態解密電路170則可根據對應的動態隨機字串DRNS來對傳送資料進行解密。如此一來,就能夠減少對手在長時間觀測傳輸匯流排150上的資訊後,破解安全系統100的加密方式或所使用的隨機字串的可能性,使得安全系統100能夠更有效地保護系統中的敏感資訊。
另外,隨機字串產生器190的實作方式可以有很多種,包括利用硬體實作出來的真實亂數產生器(true random number generator)或是利用軟體產生隨機字串的確定性隨機位元產生器(deterministic random bit generator),又或者是利用軟硬體結合所實作出的混合亂數產生器(hybrid random number generator)。舉例來說,混合亂數產生器可以透過將確定性隨機位元產生器及物理不可複製函數電路加以結合來實作。在此情況下,物理不可複製函數電路可以每隔一段間就將確定性隨機位元產生器所需的種子(seed)更新,藉此提高該混合亂數產生器的亂度(randomness)。
此外,在本發明的部分實施例中,寫入保護電路110、記憶體120、讀出解密電路130及動態加密電路140可設置在相同的晶片上或屬於相同的硬體巨集(hardware macro),而動態解密電路170、應用電路180及隨機字串產生器190則可能設置在另一個相同的晶片上或屬於另一個相同的硬體巨集。在此情況下,寫入保護電路110可以保護記憶體120中所儲存的資料,而動態加密電路140則可以保護在傳輸匯流排150上傳輸的資料。
在第1圖的實施例中,隨機字串RNS1及RNS2可以由物理不可複製函數電路160所提供,然而本發明並不以此為限。在本發明的其他實施例中,隨機字串RNS1及RNS2也可以由隨機字串產生器190產生。此外,在本發明的其他實施例中,動態隨機字串DRNS、隨機字串RNS1及RNS2也都可以由外部的電路提供。
第5圖為本發明一實施例之安全系統100的操作方法200之流程圖,方法200包含步驟S210至S290,但不限於第5圖所示的順序。
S210: 物理不可複製函數電路160提供複數個隨機字串以產生隨機字串RNS1及RNS2
S220: 寫入保護電路110接收寫入位址ADD1及原始資料D1;
S230: 寫入保護電路110根據隨機字串RNS1加擾寫入位址ADD1以產生加擾位址SADD1;
S232: 寫入保護電路110根據隨機字串RNS2加密原始資料D1以產生儲存資料ED1;
S240: 記憶體120根據加擾位址SADD1儲存對應於原始資料D1的儲存資料ED1;
S250: 讀出解密電路130根據寫入位址ADD1自記憶體120讀出儲存資料ED1;
S252: 讀出解密電路130將儲存資料ED1還原成原始資料D1;
S260: 當應用電路180欲接收原始資料D1時,隨機字串產生器190更新產生動態隨機字串DRNS以傳送至動態加密電路140及動態解密電路170;
S270: 動態加密電路140根據動態隨機字串DRNS加密原始資料D1以產生傳輸資料TD1;
S272: 動態加密電路140將傳輸資料TD1經由傳輸匯流排150傳送至動態解密電路170;
S280: 動態解密電路170根據動態隨機字串DRNS將傳輸資料TD1解密還原成原始資料D1;
S290: 應用電路180根據原始資料D1執行對應操作。
在步驟S230中,寫入保護電路110可以例如將隨機字串RNS1與寫入位址ADD1進行互斥或運算以產生加擾位址SADD1,然而本發明並不以此為限。在本發明的其他實施例中,寫入保護電路110也可以利用其他的運算操作來將寫入位址ADD1與隨機字串RNS1絞合(entangle)以產生加擾位址SADD1。
此外,在步驟S232中,寫入保護電路110可以更動原始資料D1的排列順序,並根據隨機字串RNS2更動原始資料D1的內容,例如但不限於利用隨機字串RNS2與原始資料D1進行互斥或運算來產生儲存資料ED1。在本發明的其他實施例中,寫入保護電路110也可能利用其他的運算方式來將隨機字串RNS2與原始資料D1絞合,並可根據其他的隨機字串來更動原始資料D1的排列順序。
在第1圖中,寫入保護電路110可利用不同的單元來執行步驟S230及步驟S232,因此在本發明的有些實施例中,步驟S230及S232也可平行進行,而不限定彼此之間的執行順序。
透過步驟S230及S232,記憶體120便可根據加擾位址SADD1儲存儲存資料ED1,使得對手難以從記憶體120中取得實際上系統使用的原始資料D1。
而當安全系統100欲自記憶體120中取出原始資料D1時,讀出解密電路130便會在步驟S250及S252自記憶體120讀出儲存資料ED1,並將儲存資料ED1還原成原始資料D1。舉例來說,讀出解密電路130可將儲存資料ED1根據隨機字串RNS2解密,並將原始資料D1的排列順序還原,以取得原始資料D1的內容。也就是說,讀出解密電路130會根據寫入保護電路110對原始資料D1進行加密的方式來進行解密,以還原出原先的原始資料D1。在本發明的有些實施例中,若安全系統100是單純透過位址加擾的方式來保護記憶體120中所儲存的資料,而並未利用對原始資料D1本身進行加密,則方法200也可將步驟S232省略。在此情況下,記憶體120在步驟S240中所儲存的儲存資料ED1實質上便可能會和原始資料D1相同,而讀出解密電路130也無需執行步驟S252。
在本發明的有些實施例中,隨機字串RNS1及RNS2可以是不隨時間更新變化的固定字串,以便寫入保護電路110及讀出解密電路130能夠有效保護記憶體120中的資訊,而不至於在加擾記憶體位址後,在記憶體120的儲存空間中產生衝突。
此外,透過步驟S260至S280,方法200就可以在傳輸匯流排150的傳輸過程中,避免原始資料D1被對手竊取。此外,由於步驟S260會在每一次傳輸資料時,更新產生不同的動態隨機字串DRNS,因此能夠進一步加強對傳輸資料的保護,避免加密機制或動態隨機字串的內容被對手得知。
綜上所述,本發明的實施例所提供的安全系統及操作安全系統的方法可以有效地保護記憶體中的資訊,並且在透過匯流排傳輸資料的過程中,也能夠提供動態的加密保護,使得安全系統中的資訊難以被對手取得或破解,提升系統中的資訊安全。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧安全系統110‧‧‧寫入保護電路112‧‧‧位址加擾單元114‧‧‧資料加密單元120‧‧‧記憶體130‧‧‧讀出解密電路140‧‧‧動態加密電路150‧‧‧傳輸匯流排160‧‧‧物理不可複製函數電路170‧‧‧動態解密電路180‧‧‧應用電路190‧‧‧隨機字串產生器RNS1、RNS2‧‧‧隨機字串DRNS‧‧‧動態隨機字串D1‧‧‧原始資料ED1‧‧‧儲存資料TD1‧‧‧傳輸資料ADD1‧‧‧寫入位址SADD1‧‧‧加擾寫入位址PU‧‧‧物理不可複製函數單元S1、S2‧‧‧選擇電晶體W1、W2‧‧‧開關電晶體AT1、AT2‧‧‧反熔絲電晶體BL‧‧‧位元線WL‧‧‧字元線SWL‧‧‧開關控制線AF1、AF2‧‧‧反熔絲控制線200‧‧‧方法S210至S290‧‧‧步驟
第1圖為本發明一實施例之安全系統的示意圖。 第2圖為第1圖物理不可複製函數電路之物理不可複製函數單元的示意圖。 第3圖為本發明另一實施例之物理不可複製函數單元的示意圖。 第4圖為本發明另一實施例之物理不可複製函數單元的示意圖。 第5圖為第1圖之安全系統的操作方法流程圖。
100‧‧‧安全系統
110‧‧‧寫入保護電路
112‧‧‧位址加擾單元
114‧‧‧資料加密單元
120‧‧‧記憶體
130‧‧‧讀出解密電路
140‧‧‧動態加密電路
150‧‧‧傳輸匯流排
160‧‧‧物理不可複製函數電路
170‧‧‧動態解密電路
180‧‧‧應用電路
190‧‧‧隨機字串產生器
RNS1、RNS2‧‧‧隨機字串
DRNS‧‧‧動態隨機字串
D1‧‧‧原始資料
ED1‧‧‧儲存資料
TD1‧‧‧傳輸資料
ADD1‧‧‧寫入位址
SADD1‧‧‧加擾寫入位址
PU‧‧‧物理不可複製函數單元
Claims (23)
- 一種安全系統,包含: 一物理不可複製函數(Physical Unclonalbe Function,PUF)電路,用以提供複數個隨機字串; 一寫入保護電路,用以接收一寫入位址及一原始資料,該寫入保護電路包含: 一位址加擾單元,用以根據該物理不可複製函數電路所提供的一第一隨機字串加擾該寫入位址以產生一加擾位址; 一記憶體,耦接於該寫入保護電路,用以根據該加擾位址儲存對應於該原始資料之一儲存資料;及 一讀出解密電路,耦接於該記憶體,用以根據該寫入位址自該記憶體讀出該儲存資料以取得該原始資料。
- 如請求項1所述之安全系統,其中該寫入保護電路另包含一資料加密單元,用以至少根據該物理不可複製函數電路提供的一第二隨機字串對該原始資料加密以產生對應於該原始資料之該儲存資料。
- 如請求項2所述之安全系統,其中該第一隨機字串及該第二隨機字串係為相同字串。
- 如請求項2所述之安全系統,其中該第一隨機字串及該第二隨機字串係不隨時間更新變化的固定字串。
- 如請求項2所述之安全系統,其中該資料加密單元係更動該原始資料的一排列順序,及根據該第二隨機字串更動該原始資料的內容,以產生該儲存資料。
- 如請求項5所述之安全系統,其中該讀出解密電路係將該儲存資料根據該第二隨機字串解密,及將該排列順序還原,以取得該原始資料。
- 如請求項1所述之安全系統,另包含一動態加密電路,耦接於該讀出解密電路及一傳輸匯流排,該動態加密電路用以根據一動態隨機字串加密該原始資料以產生一傳輸資料,並將該傳輸資料傳送至該傳輸匯流排。
- 如請求項7所述之安全系統,另包含: 一動態解密電路,耦接於該傳輸匯流排,用以接收該傳輸資料,並根據該動態隨機字串將該傳輸資料解密還原成該原始資料;及 一應用電路,用以根據該原始資料執行一對應操作。
- 如請求項8所述之安全系統,另包含: 一隨機字串產生器,用以當該應用電路欲接收該原始資料時,更新產生該動態隨機字串,並將更新後的該動態隨機字串傳送至該動態加密電路及該動態解密電路。
- 如請求項1所述之安全系統,其中該物理不可複製函數電路包含複數個物理不可複製函數單元,每一物理不可複製函數單元包含: 一第一選擇電晶體,具有一第一端耦接於一位元線,一第二端,及一控制端耦接於一字元線; 一第一開關電晶體,具有一第一端耦接於該第一選擇電晶體的該第二端,一第二端,及一控制端耦接於一開關控制線; 一第一反熔絲電晶體,具有一第一端耦接於該第一開關電晶體之該第二端,一第二端,及一閘極結構耦接於一第一反熔絲控制線; 一第二選擇電晶體,具有一第一端耦接於該位元線,一第二端,及一控制端耦接於該字元線; 一第二開關電晶體,具有一第一端耦接於該第二選擇電晶體的該第二端,一第二端,及一控制端耦接於該開關控制線;及 一第二反熔絲電晶體,具有一第一端耦接於該第二開關電晶體之該第二端,一第二端耦接於該第一反熔絲電晶體的該第二端,及一閘極結構耦接於一第二反熔絲控制線。
- 如請求項1所述之安全系統,其中該物理不可複製函數電路包含複數個物理不可複製函數單元,每一物理不可複製函數單元包含: 一第一選擇電晶體,具有一第一端耦接於一位元線,一第二端,及一控制端耦接於一字元線; 一第一反熔絲電晶體,具有一第一端耦接於該第一選擇電晶體之該第二端,一第二端,及一閘極結構耦接於一第一反熔絲控制線; 一第二選擇電晶體,具有一第一端耦接於該位元線,一第二端,及一控制端耦接於該字元線;及 一第二反熔絲電晶體,具有一第一端耦接於該第二選擇電晶體之該第二端,一第二端耦接於該第一反熔絲電晶體的該第二端,及一閘極結構耦接於一第二反熔絲控制線。
- 如請求項1所述之安全系統,其中該物理不可複製函數電路包含複數個物理不可複製函數單元,每一物理不可複製函數單元包含: 一第一反熔絲電晶體,具有一第一端耦接於一位元線,一第二端,及一閘極結構耦接於一第一反熔絲控制線;及 一第二反熔絲電晶體,具有一第一端耦接於該位元線,一第二端耦接於該第一反熔絲電晶體的該第二端,及一閘極結構耦接於一第二反熔絲控制線。
- 如請求項1所述之安全系統,其中該位址加擾單元係將該第一隨機字串與該寫入位址進行互斥或(exclusive OR)運算以產生該加擾位址。
- 一種安全系統的操作方法,該安全系統包含一寫入保護電路、一記憶體、一物理不可複製函數電路及一讀出解密電路,該方法包含: 該物理不可複製函數電路提供複數個隨機字串以產生一第一隨機字串; 該寫入保護電路接收一寫入位址及一原始資料; 該寫入保護電路根據該第一隨機字串加擾該寫入位址以產生一加擾位址; 該記憶體根據該加擾位址儲存對應於該原始資料之一儲存資料;及 該讀出解密電路根據該寫入位址自該記憶體讀出該儲存資料以取得該原始資料。
- 如請求項14所述之方法,另包含該寫入保護電路至少根據該物理不可複製函數電路所產生的一第二隨機字串對該原始資料加密以產生該儲存資料。
- 如請求項15所述之方法,其中該寫入保護電路至少根據該物理不可複製函數電路所產生的該第二隨機字串對該原始資料加密以產生該儲存資料包含: 該寫入保護電路更動該原始資料的一排列順序;及 該寫入保護電路根據該第二隨機字串更動該原始資料的內容以產生該儲存資料。
- 如請求項16所述之方法,其中該讀出解密電路根據該寫入位址自該記憶體讀出該儲存資料以取得該原始資料包含: 該讀出解密電路將該儲存資料根據該第二隨機字串解密;及 該讀出解密電路將該排列順序還原。
- 如請求項15所述之方法,其中該第一隨機字串及該第二隨機字串係為相同的固定字串。
- 如請求項15所述之方法,其中該第一隨機字串及該第二隨機字串係不隨時間更新變化的固定字串。
- 如請求項14所述之方法,其中該寫入保護電路根據該第一隨機字串加擾該寫入位址以產生該加擾位址係該寫入保護電路將該第一隨機字串與該寫入位址進行互斥或(exclusive OR)運算以產生該加擾位址。
- 如請求項14所述之方法,其中該安全系統另包含一動態加密電路,及該方法另包含: 該動態加密電路根據一動態隨機字串加密該原始資料以產生一傳輸資料;及 該動態加密電路將該傳輸資料傳送至一傳輸匯流排。
- 如請求項21所述之方法,其中該安全系統另包含一動態解密電路及一應用電路,及該方法另包含: 該動態解密電路根據該動態隨機字串將該傳輸資料解密還原成該原始資料;及 該應用電路根據該原始資料執行一對應操作。
- 如請求項22所述之方法,其中該安全系統另包含一隨機字串產生器,及該方法另包含: 當該應用電路欲接收該原始資料時,該隨機字串產生器更新產生該動態隨機字串以傳送至該動態加密電路及該動態解密電路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/127,219 US10915464B2 (en) | 2017-09-12 | 2018-09-10 | Security system using random number bit string |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762557170P | 2017-09-12 | 2017-09-12 | |
US62/557,170 | 2017-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201913443A TW201913443A (zh) | 2019-04-01 |
TWI693530B true TWI693530B (zh) | 2020-05-11 |
Family
ID=63244513
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107126986A TWI697809B (zh) | 2017-09-12 | 2018-08-03 | 使用亂數位元的安全系統及安全系統的操作方法 |
TW107128902A TWI677152B (zh) | 2017-09-12 | 2018-08-20 | 物理不可複製函數單元及物理不可複製函數單元的操作方法 |
TW107129581A TWI684893B (zh) | 2017-09-12 | 2018-08-24 | 隨機碼產生器及其相關控制方法 |
TW107131405A TWI693530B (zh) | 2017-09-12 | 2018-09-07 | 安全系統及安全系統的操作方法 |
TW107131651A TWI673714B (zh) | 2017-09-12 | 2018-09-10 | 非揮發性記憶胞的編程方法 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107126986A TWI697809B (zh) | 2017-09-12 | 2018-08-03 | 使用亂數位元的安全系統及安全系統的操作方法 |
TW107128902A TWI677152B (zh) | 2017-09-12 | 2018-08-20 | 物理不可複製函數單元及物理不可複製函數單元的操作方法 |
TW107129581A TWI684893B (zh) | 2017-09-12 | 2018-08-24 | 隨機碼產生器及其相關控制方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107131651A TWI673714B (zh) | 2017-09-12 | 2018-09-10 | 非揮發性記憶胞的編程方法 |
Country Status (5)
Country | Link |
---|---|
US (4) | US10649735B2 (zh) |
EP (3) | EP3454318B1 (zh) |
JP (3) | JP6538908B2 (zh) |
CN (5) | CN109495243B (zh) |
TW (5) | TWI697809B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI751075B (zh) * | 2020-11-02 | 2021-12-21 | 旺宏電子股份有限公司 | 記憶體中的不可複製函數應用 |
US11258599B2 (en) | 2016-08-04 | 2022-02-22 | Macronix International Co., Ltd. | Stable physically unclonable function |
US11601269B2 (en) | 2016-08-04 | 2023-03-07 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3680800B1 (en) * | 2018-08-10 | 2021-10-27 | Shenzhen Weitongbo Technology Co., Ltd. | Physical unclonable function (puf) device |
US11263331B2 (en) * | 2018-09-27 | 2022-03-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | Electronic device for checking randomness of identification key device, random key checker circuit, and method of checking randomness of electronic device |
EP3640945B1 (en) * | 2018-10-15 | 2021-03-17 | Nxp B.V. | Non-volatile memory with physical unclonable function |
KR20200082982A (ko) * | 2018-12-31 | 2020-07-08 | 삼성전자주식회사 | 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치 |
CN111723408B (zh) * | 2019-03-21 | 2023-06-02 | 中芯国际集成电路制造(上海)有限公司 | 用于生成puf特征码的装置 |
US11121884B2 (en) * | 2019-06-10 | 2021-09-14 | PUFsecurity Corporation | Electronic system capable of self-certification |
CN110309574B (zh) * | 2019-06-25 | 2023-01-06 | 北京智涵芯宇科技有限公司 | 可感知芯片电路物理完整性的puf电路及芯片 |
CN112291056B (zh) * | 2019-07-25 | 2024-02-23 | 熵码科技股份有限公司 | 加密密钥生成器及传输系统 |
US20210051010A1 (en) * | 2019-08-16 | 2021-02-18 | PUFsecurity Corporation | Memory Device Providing Data Security |
CN110491434B (zh) * | 2019-08-23 | 2021-04-02 | 上海华虹宏力半导体制造有限公司 | 一种闪存存储器装置及其编程方法 |
US11456867B2 (en) * | 2019-10-25 | 2022-09-27 | International Business Machines Corporation | Trust-anchoring of cryptographic objects |
US11296096B2 (en) * | 2019-11-08 | 2022-04-05 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structure with hybrid junctions |
US11217595B2 (en) * | 2020-01-15 | 2022-01-04 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structure with hybrid device and hybrid junction for select transistor |
US11158641B2 (en) * | 2020-02-12 | 2021-10-26 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structures with hybrid devices and hybrid junctions |
US11189356B2 (en) * | 2020-02-27 | 2021-11-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | One-time-programmable memory |
US11018143B1 (en) * | 2020-03-12 | 2021-05-25 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structures with hybrid low-voltage devices |
CN113496988B (zh) | 2020-04-08 | 2023-12-12 | 长鑫存储技术有限公司 | 反熔丝单元及反熔丝阵列 |
US11233663B1 (en) * | 2020-07-22 | 2022-01-25 | Nxp Usa, Inc. | Physically unclonable function having source bias transistors |
CN113009817B (zh) * | 2021-02-08 | 2022-07-05 | 浙江大学 | 一种基于控制器输出状态安全熵的工控系统入侵检测方法 |
US20230139712A1 (en) * | 2021-11-04 | 2023-05-04 | National Yang Ming Chiao Tung University | Circuit apparatus and methods for puf source and generating random digital sequence |
US12099616B2 (en) | 2021-11-15 | 2024-09-24 | International Business Machines Corporation | Physically unclonable function based on a phase change material array |
CN116092623B (zh) * | 2023-04-12 | 2023-07-28 | 四川执象网络有限公司 | 一种基于基层医学质控的健康数据管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013101085A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Secure key storage using physically unclonable functions |
WO2016102164A1 (en) * | 2014-12-24 | 2016-06-30 | Intrinsic Id B.V. | Cryptographic key production from a physical unclonable function |
US9613714B1 (en) * | 2016-01-19 | 2017-04-04 | Ememory Technology Inc. | One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541996A (en) * | 1994-12-12 | 1996-07-30 | Itt Corporation | Apparatus and method for a pseudo-random number generator for high precision numbers |
US6292394B1 (en) | 2000-06-29 | 2001-09-18 | Saifun Semiconductors Ltd. | Method for programming of a semiconductor memory cell |
EP1359550A1 (fr) | 2001-11-30 | 2003-11-05 | STMicroelectronics S.A. | Régéneration d'une quantité secrète à partir d'un identifiant d'un circuit intégré |
US7136304B2 (en) | 2002-10-29 | 2006-11-14 | Saifun Semiconductor Ltd | Method, system and circuit for programming a non-volatile memory array |
US7177199B2 (en) | 2003-10-20 | 2007-02-13 | Sandisk Corporation | Behavior based programming of non-volatile memory |
US7149114B2 (en) * | 2004-03-17 | 2006-12-12 | Cypress Semiconductor Corp. | Latch circuit and method for writing and reading volatile and non-volatile data to and from the latch |
US6970394B2 (en) | 2004-04-22 | 2005-11-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | Programming method for electrical fuse cell and circuit thereof |
US7133316B2 (en) | 2004-06-02 | 2006-11-07 | Macronix International Co., Ltd. | Program/erase method for P-channel charge trapping memory device |
US7253496B2 (en) * | 2005-06-28 | 2007-08-07 | Cypress Semiconductor Corporation | Antifuse circuit with current regulator for controlling programming current |
US20070061595A1 (en) * | 2005-09-14 | 2007-03-15 | Huang-Chung Chen | Apparatus and method for protecting data |
KR100763353B1 (ko) * | 2006-04-26 | 2007-10-04 | 삼성전자주식회사 | 인접하는 메모리셀과의 커플링 노이즈를 저감시키는불휘발성 반도체 메모리 장치 |
JP2008047702A (ja) * | 2006-08-16 | 2008-02-28 | Nec Electronics Corp | 半導体記憶装置 |
WO2008077240A1 (en) * | 2006-12-22 | 2008-07-03 | Sidense Corp. | Mask programmable anti-fuse architecture |
TWI430275B (zh) * | 2008-04-16 | 2014-03-11 | Magnachip Semiconductor Ltd | 用於程式化非揮發性記憶體裝置之方法 |
WO2010096915A1 (en) * | 2009-02-27 | 2010-09-02 | Sidense Corp. | Low power antifuse sensing scheme with improved reliability |
US8304835B2 (en) * | 2009-03-27 | 2012-11-06 | National Semiconductor Corporation | Configuration and fabrication of semiconductor structure using empty and filled wells |
WO2011086688A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | ビット列生成装置及びビット列生成方法 |
KR101614950B1 (ko) * | 2010-04-12 | 2016-04-25 | 삼성전자주식회사 | 저장 장치에 물리적 식별자를 생성하는 방법 및 기계로 읽을 수 있는 저장 매체 |
US20120314474A1 (en) * | 2011-06-09 | 2012-12-13 | Hsin-Ming Chen | Non-volatile memory cell structure and method for programming and reading the same |
CN102393890B (zh) * | 2011-10-09 | 2014-07-16 | 广州大学 | 一种抗物理入侵和旁路攻击的密码芯片系统及其实现方法 |
JP5831203B2 (ja) * | 2011-12-20 | 2015-12-09 | 富士通株式会社 | 個体別情報生成装置、暗号化装置、認証システム、及び個体別情報生成方法 |
DE102012102254B4 (de) * | 2012-03-16 | 2020-09-24 | Infineon Technologies Ag | Vorrichtung und Verfahren zur Rekonstruktion einer Bitfolge unter Vorkorrektur |
US9304944B2 (en) * | 2012-03-29 | 2016-04-05 | Broadcom Corporation | Secure memory access controller |
WO2013170387A1 (en) * | 2012-05-18 | 2013-11-21 | Sidense Corp. | Circuit and method for reducing write disturb in a non-volatile memory device |
US8928347B2 (en) * | 2012-09-28 | 2015-01-06 | Intel Corporation | Integrated circuits having accessible and inaccessible physically unclonable functions |
CN104704768B (zh) * | 2012-10-04 | 2018-01-05 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
CN103020549B (zh) * | 2012-11-26 | 2016-05-11 | 北京华大信安科技有限公司 | 存储器的保护装置以及存储装置 |
US8938792B2 (en) | 2012-12-28 | 2015-01-20 | Intel Corporation | Device authentication using a physically unclonable functions based key generation system |
US9390291B2 (en) * | 2012-12-29 | 2016-07-12 | Intel Corporation | Secure key derivation and cryptography logic for integrated circuits |
US9281074B2 (en) * | 2013-05-16 | 2016-03-08 | Ememory Technology Inc. | One time programmable memory cell capable of reducing leakage current and preventing slow bit response |
US10235261B2 (en) | 2013-07-26 | 2019-03-19 | Ictk Holdings Co., Ltd. | Apparatus and method for testing randomness |
US9992031B2 (en) * | 2013-09-27 | 2018-06-05 | Intel Corporation | Dark bits to reduce physically unclonable function error rates |
JP6354172B2 (ja) * | 2014-01-20 | 2018-07-11 | 富士通株式会社 | 半導体集積回路及び認証システム |
US10218517B2 (en) * | 2014-03-25 | 2019-02-26 | Carnegie Mellon University | Methods for generating reliable responses in physical unclonable functions (PUFs) and methods for designing strong PUFs |
US10216484B2 (en) * | 2014-06-10 | 2019-02-26 | Texas Instruments Incorporated | Random number generation with ferroelectric random access memory |
KR102169197B1 (ko) * | 2014-09-16 | 2020-10-22 | 에스케이하이닉스 주식회사 | 향상된 프로그램 효율을 갖는 안티퓨즈 오티피 메모리 셀 및 셀 어레이 |
US10129036B2 (en) | 2014-09-18 | 2018-11-13 | Intel Corporation | Post-processing mechanism for physically unclonable functions |
CN107004380B (zh) | 2014-10-13 | 2020-11-13 | 本质Id有限责任公司 | 包括物理不可克隆功能的加密设备 |
US9460797B2 (en) * | 2014-10-13 | 2016-10-04 | Ememory Technology Inc. | Non-volatile memory cell structure and non-volatile memory apparatus using the same |
US10353638B2 (en) * | 2014-11-18 | 2019-07-16 | Microsemi SoC Corporation | Security method and apparatus to prevent replay of external memory data to integrated circuits having only one-time programmable non-volatile memory |
CN105632543B (zh) * | 2014-11-21 | 2018-03-30 | 松下知识产权经营株式会社 | 具有防篡改性的非易失性存储装置及集成电路卡 |
US11115022B2 (en) * | 2015-05-07 | 2021-09-07 | Northwestern University | System and method for integrated circuit usage tracking circuit with fast tracking time for hardware security and re-configurability |
CN104836669B (zh) * | 2015-05-08 | 2018-04-06 | 东南大学 | 一种基于sram puf的安全认证方法及一种终端、认证系统 |
JP6617924B2 (ja) * | 2015-06-18 | 2019-12-11 | パナソニックIpマネジメント株式会社 | 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法 |
JP6587188B2 (ja) * | 2015-06-18 | 2019-10-09 | パナソニックIpマネジメント株式会社 | 乱数処理装置、集積回路カード、および乱数処理方法 |
EP3113409B1 (en) * | 2015-07-01 | 2024-09-18 | Secure-IC SAS | Embedded test circuit for physically unclonable function |
EP3332402B1 (en) * | 2015-08-06 | 2020-10-07 | Intrinsic ID B.V. | Cryptographic device having physical unclonable function |
WO2017025597A1 (en) | 2015-08-11 | 2017-02-16 | Koninklijke Philips N.V. | Key sharing device and method |
US9971566B2 (en) * | 2015-08-13 | 2018-05-15 | Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University | Random number generating systems and related methods |
CN105007285B (zh) * | 2015-08-19 | 2018-07-24 | 南京万道电子技术有限公司 | 一种基于物理不可克隆函数的密钥保护方法和安全芯片 |
US10142103B2 (en) * | 2015-12-07 | 2018-11-27 | The Boeing Company | Hardware assisted fast pseudorandom number generation |
CA2952941C (en) * | 2016-01-08 | 2018-12-11 | Sidense Corp. | Puf value generation using an anti-fuse memory array |
CN105743645B (zh) * | 2016-01-25 | 2019-06-18 | 清华大学 | 基于puf的流秘钥生成装置、方法及数据加密、解密方法 |
CN106020771B (zh) | 2016-05-31 | 2018-07-20 | 东南大学 | 一种基于puf的伪随机序列发生器 |
US10438025B2 (en) * | 2016-10-04 | 2019-10-08 | Taiwan Semiconductor Manufacturing Co., Ltd. | Self-destruct SRAM-based authentication circuit |
US10122538B2 (en) * | 2016-10-12 | 2018-11-06 | Ememory Technology Inc. | Antifuse physically unclonable function unit and associated control method |
US9779832B1 (en) | 2016-12-07 | 2017-10-03 | Sandisk Technologies Llc | Pulsed control line biasing in memory |
JP2018113415A (ja) * | 2017-01-13 | 2018-07-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US11522724B2 (en) * | 2017-12-11 | 2022-12-06 | International Business Machines Corporation | SRAM as random number generator |
-
2018
- 2018-03-08 EP EP18160641.9A patent/EP3454318B1/en active Active
- 2018-03-08 JP JP2018042189A patent/JP6538908B2/ja active Active
- 2018-03-08 US US15/915,074 patent/US10649735B2/en active Active
- 2018-07-17 US US16/038,143 patent/US10177924B1/en active Active
- 2018-07-25 JP JP2018139164A patent/JP6609354B2/ja active Active
- 2018-07-27 EP EP18185959.6A patent/EP3454319B1/en active Active
- 2018-08-03 TW TW107126986A patent/TWI697809B/zh active
- 2018-08-20 CN CN201810945512.3A patent/CN109495243B/zh active Active
- 2018-08-20 TW TW107128902A patent/TWI677152B/zh active
- 2018-08-24 US US16/111,688 patent/US10691414B2/en active Active
- 2018-08-24 CN CN201810971268.8A patent/CN109493902B/zh active Active
- 2018-08-24 TW TW107129581A patent/TWI684893B/zh active
- 2018-08-24 CN CN201810971534.7A patent/CN109493898B/zh active Active
- 2018-08-24 EP EP18190627.2A patent/EP3454320B1/en active Active
- 2018-08-24 JP JP2018156981A patent/JP6593501B2/ja active Active
- 2018-09-07 TW TW107131405A patent/TWI693530B/zh active
- 2018-09-07 CN CN201811041352.6A patent/CN109558339B/zh active Active
- 2018-09-10 CN CN201811050013.4A patent/CN109493908B/zh active Active
- 2018-09-10 US US16/125,779 patent/US10664239B2/en active Active
- 2018-09-10 TW TW107131651A patent/TWI673714B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013101085A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Secure key storage using physically unclonable functions |
WO2016102164A1 (en) * | 2014-12-24 | 2016-06-30 | Intrinsic Id B.V. | Cryptographic key production from a physical unclonable function |
US9613714B1 (en) * | 2016-01-19 | 2017-04-04 | Ememory Technology Inc. | One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method |
TW201727657A (zh) * | 2016-01-19 | 2017-08-01 | Ememory Technology Inc | 用於物理不可複製技術的一次編程記憶胞與記憶體陣列以 及相關隨機碼產生方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11258599B2 (en) | 2016-08-04 | 2022-02-22 | Macronix International Co., Ltd. | Stable physically unclonable function |
US11601269B2 (en) | 2016-08-04 | 2023-03-07 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
US11895236B2 (en) | 2016-08-04 | 2024-02-06 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
TWI751075B (zh) * | 2020-11-02 | 2021-12-21 | 旺宏電子股份有限公司 | 記憶體中的不可複製函數應用 |
US11380379B2 (en) | 2020-11-02 | 2022-07-05 | Macronix International Co., Ltd. | PUF applications in memories |
US11763867B2 (en) | 2020-11-02 | 2023-09-19 | Macronix International Co., Ltd. | PUF applications in memories |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI693530B (zh) | 安全系統及安全系統的操作方法 | |
US10915464B2 (en) | Security system using random number bit string | |
JP6621894B2 (ja) | 偽造防止通信システム | |
US9483664B2 (en) | Address dependent data encryption | |
US10978303B1 (en) | Secure permanent integrated circuit personalization | |
US10110380B2 (en) | Secure dynamic on chip key programming | |
US20080107275A1 (en) | Method and system for encryption of information stored in an external nonvolatile memory | |
KR100849956B1 (ko) | 반도체 장치 및 그것의 스크램블된 데이터 전송 방법 | |
TW201918923A (zh) | 安全邏輯系統及操作安全邏輯系統的方法 | |
US9069988B2 (en) | Detecting key corruption | |
JP7170999B2 (ja) | 機密データを保護することが可能な電子機器 | |
US9042551B2 (en) | Electronically programmable fuse security encryption | |
CN110287708A (zh) | 一次性可编程加密装置与其加密方法 |