TWI640895B - Nonvalatile memory device having authentication, and methods of operation and manufacture thereof - Google Patents

Nonvalatile memory device having authentication, and methods of operation and manufacture thereof Download PDF

Info

Publication number
TWI640895B
TWI640895B TW102125048A TW102125048A TWI640895B TW I640895 B TWI640895 B TW I640895B TW 102125048 A TW102125048 A TW 102125048A TW 102125048 A TW102125048 A TW 102125048A TW I640895 B TWI640895 B TW I640895B
Authority
TW
Taiwan
Prior art keywords
interface
volatile memory
circuit chip
integrated circuit
authentication
Prior art date
Application number
TW102125048A
Other languages
Chinese (zh)
Other versions
TW201502853A (en
Inventor
謝明輝
千卓克里希納 謝加
陳暉
Original Assignee
華邦電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 華邦電子股份有限公司 filed Critical 華邦電子股份有限公司
Priority to TW102125048A priority Critical patent/TWI640895B/en
Publication of TW201502853A publication Critical patent/TW201502853A/en
Application granted granted Critical
Publication of TWI640895B publication Critical patent/TWI640895B/en

Links

Abstract

記憶體元件封裝封住兩個分開的晶片,一個是標準的非揮發性記憶體積體電路(“IC”)晶片,及另一個是合適的認證IC晶片。任一晶片可堆疊於另一晶片上,或晶片可並排放置。外部接點可對應標準的非揮發性記憶體IC晶片的電源及信號需求,使得記憶體元件封裝之輸出-引腳可表示為標準的輸出引腳。認證IC晶片之電源及信號需求可滿足用於非揮發性記憶體積體電路晶片之一些或全部引腳,或滿足元件封裝之其他未使用之引腳。一或多個額外外部接點可專門加入於認證積體電路晶片。一或多個信號可專屬於標準的非揮發性記憶體IC晶片與認證IC晶片之間。 The memory component package encloses two separate wafers, one is a standard non-volatile memory volume circuit ("IC") wafer, and the other is a suitable certified IC die. Either wafer can be stacked on another wafer, or the wafers can be placed side by side. The external contacts correspond to the power and signal requirements of a standard non-volatile memory IC chip, so that the output-pin of the memory device package can be represented as a standard output pin. The power and signal requirements of the certified IC chip can be used for some or all of the pins of the non-volatile memory bulk circuit chip, or for other unused pins of the component package. One or more additional external contacts may be specifically added to the certified integrated circuit die. One or more signals may be specific to a standard non-volatile memory IC chip and an authentication IC chip.

Description

可認證的非揮發性記憶體元件及其操作及製造方法 Certified non-volatile memory component and its operation and manufacturing method

本發明是有關於一種數位記憶體元件,且特別是有關於一種可被認證的非揮發性記憶體元件及其操作方法與製造方法。 The present invention relates to a digital memory component, and more particularly to an identifiable non-volatile memory component, method of operation thereof, and method of manufacture.

通常,非揮發性記憶體(且特別是包括NOR及NAND型態的所有類型的快閃記憶體)由於其顯著的成本優勢已變得日益普遍。現今,不同介面的快閃記憶體可以被獲得,其範圍從傳統的NAND介面至低引腳數串列式(low pin count serial)NAND介面、以及包括單SPI、雙SPI及四SPI的串列式週邊介面(Serial Peripheral Interface,“SPI”)、以及四週邊介面(Quad Peripheral Interface,“QPI”)。從美國加州聖荷西(San Jose,California,USA)之華邦電子股份有限公司購得的SPIFLASH(RTM),產品號W25Q128FV(參看華邦電子股份有限公司,資料單:SpiFlash 3V 128M-Bit Serial Flash Memory with Dual/Quad SPI & QPI,版本D,2012年10月1日),即是一個成功之串列式快閃記憶體元件的實例。 In general, non-volatile memory (and in particular all types of flash memory including NOR and NAND types) has become increasingly popular due to its significant cost advantages. Today, different interfaces of flash memory can be obtained, ranging from traditional NAND interfaces to low pin count serial NAND interfaces, as well as serials including single SPI, dual SPI and quad SPI. Serial Peripheral Interface ("SPI"), and Quad Peripheral Interface ("QPI"). SPIFLASH (RTM), purchased from Winbond Electronics Co., San Jose, Calif., USA, product number W25Q128FV (see Winbond Electronics, Inc., Data Sheet: SpiFlash 3V 128M-Bit Serial Flash Memory with Dual/Quad SPI & QPI, Rev. D, October 1, 2012) is an example of a successful tandem flash memory component.

非揮發性記憶體被廣泛地使用在今日之包括個人電腦系統及工作站的數位電子設備;包括手機、智慧型手機、手機式平板(phablets)及書寫平板(tablets)之移動通訊元件;例如MP3播放器及電玩元件的娛樂系統;醫藥元件控制器;以及雲端系統。儲存於此種非揮發性記憶體上之資訊的安全性對電腦產業始終是重要的事。而解決此種數位電子設備之安全性上的弱點(security vulnerabilities)為保持產業運作的不可或缺部分。 Non-volatile memory is widely used in today's digital electronic devices including personal computer systems and workstations; mobile communication components including mobile phones, smart phones, phonables and tablets; for example, MP3 playback Entertainment system for devices and video game components; medical component controllers; and cloud systems. The security of information stored on such non-volatile memory is always important to the computer industry. The security vulnerabilities that address such digital electronic devices are an integral part of maintaining industry operations.

很多使用於上述數位電子設備之非揮發性記憶體與用以運行儲存於非揮發性記憶體中的電腦碼及存取數位資料的處理機(微處理機或控制器)是被分開封裝的。這樣的分開的封裝會表現出安全性上的弱點。參照圖1,上述的電腦碼及/或存取數位資料可以多種方式被惡意地存取及/或修改,例如(舉例來說),透過分接至(tapping into)一或多個例如為系統控制器10與非揮發性記憶體元件12之間的資料輸入(data in,“DI”)及資料輸出(data out,“DO”)的線路14,再將探針直接連接至已封裝之非揮發性記憶體元件12的一或多個引腳的延伸部位;當已封裝之非揮發性記憶體元件12被安裝於數位電子設備中時,強迫讀取及/或修改已封裝之非揮發性記憶體元件12的內容;以及將非揮發性記憶體元件12從數位電子設備中物理性的移除來讀取及/或修改內容。 Many non-volatile memories used in the above-mentioned digital electronic devices and processors (microprocessors or controllers) for running computer code stored in non-volatile memory and accessing digital data are separately packaged. Such separate packages can exhibit security weaknesses. Referring to FIG. 1, the above computer code and/or access digital data may be maliciously accessed and/or modified in various ways, such as, for example, by tapping into one or more systems, for example. A data input (data in, "DI") and a data out ("DO") line 14 between the controller 10 and the non-volatile memory component 12, and the probe is directly connected to the packaged non-package An extension of one or more pins of the volatile memory component 12; forcibly reading and/or modifying the encapsulated non-volatile when the packaged non-volatile memory component 12 is mounted in a digital electronic device The contents of the memory element 12; and physical removal of the non-volatile memory element 12 from the digital electronic device to read and/or modify the content.

一般使用非揮發性記憶體元件來儲存用於各種類型應用的可執行碼(executable code),包括機上盒(set top boxes)、手機、個人電腦、數據機等等,以及多種不同的應用。通常儲存於非揮發性記憶體元件(且特別是用於個人電腦之快閃記憶體元件)上之一種類型的碼,一般已知的是基本輸入輸出系統(Basic Input/Output system,“BIOS”)碼。BIOS碼促進硬體的初始化處理以及對操作系統進行過渡控制(transition control)。基於BIOS在系統構造(architecture)內之獨一無二及特殊的權利地位,藉由惡意對BIOS之進行未被授權的(unauthorized)修改會構成系統的嚴重的威脅。BIOS安全性由David Cooper等人在2011年4月,國家標準技術研究所(National Institute of Standards and Technology,“NIST”)中被發表於BIOS Protection Guidelines:Special Publication 800-147,。 Non-volatile memory components are typically used to store executable code for various types of applications, including set top boxes, cell phones, personal computers, data machines, and the like, as well as a variety of different applications. A type of code that is typically stored on non-volatile memory components (and, in particular, flash memory components for personal computers), is generally known as a basic input/output system (Basic) Input/Output system, "BIOS") code. The BIOS code facilitates initialization processing of the hardware and transition control of the operating system. Based on the unique and special rights of the BIOS in the system architecture, unauthorized modification of the BIOS by malicious means poses a serious threat to the system. BIOS security was published by David Cooper et al. in the April 2011 issue of the National Institute of Standards and Technology ("NIST") in the BIOS Protection Guidelines: Special Publication 800-147.

圖2繪示子系統20之一實例,子系統20用於避免嵌入於可修改之非揮發性記憶體元件(例如快閃記憶體)中之BIOS程式碼被未授權的修改,其並被揭露於1998年12月1日授予Davis的美國專利第5,844,986號。主機處理機21及系統記憶體23經由晶片組(作為介面)22與密碼共處理機(cryptographic coprocessor)配置於系統匯流排24上密碼共處理機25包括匯流排介面26、處理單元27及具有BIOS程式碼29之非揮發性記憶體28,並用以執行基於公用/私人金鑰協定(public/private key protocol)之BIOS升級的認證及驗證(validation)。藉由核對(verify)嵌入於BIOS升級中的數位簽名(signature)來執行認證。雖然圖示中主機處理機21與密碼共處理機25是分開的,但密碼共處理機25可為主機處理機21的一部分。在此情況下,主機處理機21直接存取BIOS程式碼29而不需經由系統匯流排24。 2 illustrates an example of a subsystem 20 for preventing unauthorized modification of a BIOS code embedded in a modifiable non-volatile memory component (eg, flash memory), which is disclosed U.S. Patent No. 5,844,986 to Davis, issued Dec. 1, 1998. The host processor 21 and the system memory 23 are disposed on the system bus 24 via a chipset (as interface) 22 and a cryptographic coprocessor. The password coprocessor 25 includes a bus interface interface 26, a processing unit 27, and a BIOS. The non-volatile memory 28 of the code 29 is used to perform authentication and validation based on a BIOS upgrade of a public/private key protocol. Authentication is performed by verifying the digital signature embedded in the BIOS upgrade. Although the host processor 21 is separate from the cryptographic coprocessor 25, the cryptographic coprocessor 25 can be part of the host processor 21. In this case, host processor 21 directly accesses BIOS code 29 without going through system bus 24.

雖然執行密碼處理的安全引擎(security engine)與欲保衛之儲存程式碼及/或資料的非揮發性記憶體可為分開且分離的元件,將非揮發性記憶體(例如串列式快閃記憶體)以及安全引擎 亦可為一基板上的單一積體電路。 Although the security engine that performs cryptographic processing and the non-volatile memory of the stored code and/or data to be defended can be separate and separate components, non-volatile memory (eg, tandem flash memory) Body and security engine It can also be a single integrated circuit on a substrate.

本發明之一實施例為一種記憶體元件,其包括:封裝主體;非揮發性記憶體積體電路晶片,包含於封裝主體(package body)中且包括第一介面、耦接至第一介面的控制邏輯、以及耦接至控制邏輯與第一介面的非揮發性記憶體陣列;認證積體電路晶片,包含於封裝主體中且包括第二介面、耦接至第二介面的認證引擎、耦接至認證引擎的揮發性記憶體暫存器、以及耦接至認證引擎與第二介面的非揮發性記憶體陣列;以及接點,從封裝主體延伸或配置於封裝主體上,且接點電性耦接至第一介面與第二介面。 An embodiment of the present invention is a memory device, comprising: a package body; a non-volatile memory bulk circuit chip, included in a package body and including a first interface, coupled to the first interface Logic, and a non-volatile memory array coupled to the control logic and the first interface; the certified integrated circuit chip is included in the package body and includes a second interface, an authentication engine coupled to the second interface, coupled to a volatile memory register of the authentication engine, and a non-volatile memory array coupled to the authentication engine and the second interface; and a contact extending from the package body or disposed on the package body, and the contacts are electrically coupled Connected to the first interface and the second interface.

本發明之另一實施例為非揮發性記憶體積體電路晶片的認證方法,所述非揮發性記憶體積體電路晶片包含於封裝主體中且具有從封裝主體延伸或配置於封裝主體上的多數個接點,所述非揮發性記憶體積體電路晶片具有電性耦接到至少一些所述接點的第一介面,所述認證方法包括:在包含於封裝主體中的認證積體電路晶片的非揮發性記憶體陣列中儲存原始金鑰,所述認證積體電路晶片更包括第二介面以及耦接至第二介面的認證引擎,所述非揮發性記憶體陣列耦接至認證引擎以及第二介面;在認證積體電路晶片的非揮發性記憶體陣列內保持單調計數;在認證引擎內加密(encrypting)單調計數以產生已加密的計數;以及將已加密的計數經由所述第二介面從所述認證引擎供給(furnishing)所述接點的一者,所述第二介面電性耦接到至少一些所述接點。 Another embodiment of the present invention is a method for authenticating a non-volatile memory bulk circuit chip, the non-volatile memory bulk circuit chip being included in a package body and having a plurality of extending from the package body or disposed on the package body a non-volatile memory volume circuit chip having a first interface electrically coupled to at least some of the contacts, the authentication method comprising: a non-accurate integrated circuit chip included in the package body The original memory key is stored in the volatile memory array, the authentication integrated circuit chip further includes a second interface and an authentication engine coupled to the second interface, the non-volatile memory array coupled to the authentication engine and the second Interface; maintaining a monotonic count within the non-volatile memory array of the certified integrated circuit die; encrypting the monotonic count within the authentication engine to generate an encrypted count; and passing the encrypted count from the second interface The authentication engine supplies one of the contacts, the second interface being electrically coupled to at least some of the contacts.

本發明之另一實施例為非揮發性記憶體積體電路晶片的認證方法,所述非揮發性記憶體積體電路晶片包含於封裝主體中且具有從封裝主體延伸或配置於封裝主體上的多數個接點,所述非揮發性記憶體積體電路晶片具有電性耦接到至少一些所述接點的第一介面,所述認證方法包括:在包含於封裝主體中的認證積體電路晶片的非揮發性記憶體陣列中儲存原始金鑰,所述認證積體電路晶片更包括第二介面、耦接至第二介面的認證引擎、以及耦接至認證引擎的揮發性記憶體暫存器,所述非揮發性記憶體陣列耦接至認證引擎以及第二介面;在認證積體電路晶片的非揮發性記憶體陣列內保持單調計數;認證積體電路晶片接收與用於提供單調計數的金鑰雜湊訊息認證碼(keyed-hash message authentication code;金鑰HMAC)相關的請求(request);將單調計數經由第二介面從認證引擎供給所述接點的一者,第二介面電性耦接到至少一些所述接點;認證積體電路晶片接收與用於增加單調計數的金鑰HMAC相關的請求;以及在認證積體電路晶片中增加單調計數。 Another embodiment of the present invention is a method for authenticating a non-volatile memory bulk circuit chip, the non-volatile memory bulk circuit chip being included in a package body and having a plurality of extending from the package body or disposed on the package body a non-volatile memory volume circuit chip having a first interface electrically coupled to at least some of the contacts, the authentication method comprising: a non-accurate integrated circuit chip included in the package body The original memory key is stored in the volatile memory array, and the authentication integrated circuit chip further includes a second interface, an authentication engine coupled to the second interface, and a volatile memory register coupled to the authentication engine. The non-volatile memory array is coupled to the authentication engine and the second interface; maintaining a monotonic count in the non-volatile memory array of the certified integrated circuit chip; authenticating the integrated circuit chip receiving and the key for providing the monotonic count Request for a keyed-hash message authentication code (key HMAC); directing the monotonic count from the authentication via the second interface Supplying one of the contacts, the second interface is electrically coupled to at least some of the contacts; the authentication integrated circuit chip receives a request related to a key HMAC for increasing the monotonic count; and the authentication integrated circuit A monotonic count is added to the wafer.

本發明之另一實施例為記憶體元件的製造方法,包括:將標準的非揮發性記憶體積體電路晶片及認證積體電路晶片堆疊在一起,以形成晶片在晶片上(die-on-die)堆疊,所述標準的非揮發性記憶體積體電路晶片包括第一介面、耦接至第一介面的控制邏輯、以及耦接至控制邏輯與第一介面的非揮發性記憶體陣列,且所述認證積體電路晶片包括第二介面、耦接至第二介面的認證引擎、耦接至認證引擎的揮發性記憶體暫存器、以及耦接至認證引擎與第二介面的非揮發性記憶體陣列;將多數個接點電性 耦接至第一介面與第二介面;以及將晶片在晶片上堆疊囊封(encapsulating)於封裝主體中,所述接點從封裝主體延伸或配置於封裝主體上。 Another embodiment of the present invention is a method of fabricating a memory device, comprising: stacking a standard non-volatile memory bulk circuit chip and an authentication integrated circuit wafer together to form a wafer on a die (die-on-die) Stacking, the standard non-volatile memory volume circuit chip includes a first interface, control logic coupled to the first interface, and a non-volatile memory array coupled to the control logic and the first interface, and The certified integrated circuit chip includes a second interface, an authentication engine coupled to the second interface, a volatile memory register coupled to the authentication engine, and a non-volatile memory coupled to the authentication engine and the second interface Body array; many contacts are electrically Coupling to the first interface and the second interface; and encapsulating the wafer on the wafer in a package body, the contacts extending from the package body or disposed on the package body.

為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。 The above described features and advantages of the invention will be apparent from the following description.

10‧‧‧系統控制器 10‧‧‧System Controller

12‧‧‧非揮發性記憶體元件 12‧‧‧ Non-volatile memory components

14‧‧‧線路 14‧‧‧ lines

20‧‧‧子系統 20‧‧‧ subsystem

21‧‧‧主機處理機 21‧‧‧Host processor

22‧‧‧晶片組 22‧‧‧ Chipset

23‧‧‧系統記憶體 23‧‧‧System Memory

24‧‧‧系統匯流排 24‧‧‧System Bus

25‧‧‧密碼共處理機 25‧‧‧Clock coprocessor

26‧‧‧匯流排介面 26‧‧‧ bus interface

27‧‧‧處理單元 27‧‧‧Processing unit

28‧‧‧非揮發性記憶體 28‧‧‧ Non-volatile memory

29‧‧‧BIOS程式碼 29‧‧‧BIOS code

30‧‧‧控制器 30‧‧‧ Controller

31、35、1030、1130、1230、1330‧‧‧介面 31, 35, 1030, 1130, 1230, 1330‧‧ interface

32‧‧‧記憶體元件封裝 32‧‧‧Memory component package

33、50、62、80、81、83、91、1010、1110、1210、1310‧‧‧ 認證積體電路晶片 33, 50, 62, 80, 81, 83, 91, 1010, 1110, 1210, 1310‧‧ Certified integrated circuit chip

34‧‧‧標準的非揮發性記憶體積體電路晶片 34‧‧‧Standard non-volatile memory bulk circuit chip

36‧‧‧可信賴之平台模組/TPM 36‧‧‧Reliable Platform Module/TPM

40‧‧‧快閃記憶體積體電路晶片 40‧‧‧Flash memory volume circuit chip

41‧‧‧SPI/QPII/O控制 41‧‧‧SPI/QPII/O Control

42‧‧‧控制邏輯 42‧‧‧Control logic

43、53‧‧‧通信解碼器 43, 53‧‧‧Communication decoder

44、54‧‧‧狀態暫存器 44, 54‧‧‧ state register

45、55‧‧‧位址序列器 45, 55‧‧‧ address sequencer

46、56‧‧‧高壓產生器 46, 56‧‧‧ high voltage generator

47‧‧‧位移暫存器 47‧‧‧Displacement register

48、58‧‧‧感測放大器 48, 58‧‧‧Sense Amplifier

51‧‧‧I/O控制 51‧‧‧I/O Control

52‧‧‧認證引擎與控制邏輯 52‧‧‧Certification Engine and Control Logic

57‧‧‧SRAM 57‧‧‧SRAM

59‧‧‧揮發性記憶體 59‧‧‧ volatile memory

60、63‧‧‧記憶體積體電路晶片 60, 63‧‧‧ memory volume circuit chip

61、65、67、82、84、85、86、87、89‧‧‧焊墊 61, 65, 67, 82, 84, 85, 86, 87, 89‧‧ ‧ pads

1240、1340‧‧‧內部連線 1240, 1340‧‧‧Internal connection

64‧‧‧引線框架晶片墊 64‧‧‧ lead frame wafer pad

66、68‧‧‧黏合劑 66,68‧‧‧Binder

69‧‧‧閘控電路 69‧‧‧Gate control circuit

70‧‧‧塑料材料的封裝主體 70‧‧‧Package body for plastic materials

71~78、98、99‧‧‧引腳 71~78, 98, 99‧‧‧ pins

90‧‧‧封裝主體 90‧‧‧Package body

92、94‧‧‧黏合劑 92, 94‧‧‧Binder

93、1020、1120、1220、1320‧‧‧非揮發性記憶體積體電路晶片 93, 1020, 1120, 1220, 1320‧‧‧ Non-volatile memory volume circuit chip

95‧‧‧引線框架晶片墊 95‧‧‧ lead frame wafer pad

96、97‧‧‧佈線排列 96, 97‧‧‧ wiring arrangement

140‧‧‧快閃記憶胞陣列 140‧‧‧Flash memory cell array

141、151‧‧‧列解碼器 141, 151‧‧‧ column decoder

142、152‧‧‧行解碼器 142, 152‧‧ ‧ row decoder

150‧‧‧非揮發性記憶胞陣列 150‧‧‧Non-volatile memory cell array

154‧‧‧使用者記憶體 154‧‧‧ User memory

156‧‧‧金鑰記憶體 156‧‧‧Key Memory

158‧‧‧計數器 158‧‧‧ counter

1000、1100、1200、1300‧‧‧記憶體元件 1000, 1100, 1200, 1300‧‧‧ memory components

1040、1140‧‧‧內部連線 1040, 1140‧‧‧Internal connection

1400‧‧‧預啟動認證處理 1400‧‧‧Pre-launch authentication processing

1500‧‧‧單調計數器讀取處理 1500‧‧‧ Monotonic counter reading processing

1600‧‧‧用於認證BIOS碼升級的處理 1600‧‧‧Processing for authentication BIOS code upgrade

1900‧‧‧用於記憶體元件認證的處理 1900‧‧‧Processing for memory component authentication

1410~1490、1510~1560、1610~1690、1910~1980‧‧‧方塊 1410~1490, 1510~1560, 1610~1690, 1910~1980‧‧‧

圖1為不可信賴之記憶體子系統的方塊示意圖。 Figure 1 is a block diagram of an untrustworthy memory subsystem.

圖2為用於電腦之BIOS之可信賴之非揮發性記憶體子系統的方塊示意圖。 2 is a block diagram of a trusted non-volatile memory subsystem for a BIOS of a computer.

圖3為可信賴之非揮發性記憶體元件及控制器的方塊示意圖。 3 is a block diagram of a trusted non-volatile memory component and controller.

圖4為適用於圖3之可信賴之非揮發性記憶體元件之快閃記憶體積體電路晶片的方塊示意圖。 4 is a block diagram of a flash memory bulk circuit chip suitable for use with the non-volatile memory component of FIG.

圖5為適用於圖3之可信賴之非揮發性記憶體元件之認證積體電路晶片的方塊示意圖。 5 is a block diagram of an authentication integrated circuit chip suitable for use with the non-volatile memory component of FIG.

圖6為包含認證積體電路晶片之一快閃記憶體元件的打線(bonding)上視圖,其中認證積體電路晶片裝設於串列式閃存晶片上且接合至(bonded to)外部接點。 6 is a top view of bonding of a flash memory component including one of the certified integrated circuit wafers mounted on the tandem flash memory chip and bonded to the external contacts.

圖7為圖6之已封裝之快閃記憶體元件的側視圖。 Figure 7 is a side elevational view of the packaged flash memory component of Figure 6.

圖8為包含認證積體電路晶片之另一快閃記憶體元件的打線上視圖,其中認證積體電路晶片裝設於串列式閃存晶片上且接合至外部接點。 Figure 8 is a line view of another flash memory component including an authentication integrated circuit chip mounted on a tandem flash memory chip and bonded to an external contact.

圖9為顯示不同類型連線(connections)之已封裝之快閃記憶體元件的側視圖。 Figure 9 is a side elevational view of a packaged flash memory component showing different types of connections.

圖10為顯示認證積體電路晶片與記憶體元件之非揮發性記憶體積體電路晶片之間以及至元件之外部引腳的說明性內連線組(set of interconnections)。 Figure 10 is an illustrative set of interconnections between the certified integrated circuit wafer and the non-volatile memory bulk circuit chip of the memory component and to the external pins of the component.

圖11為顯示認證積體電路晶片與記憶體元件之非揮發性記憶體積體電路晶片之間以及至元件之外部引腳的另一說明性內連線組。 Figure 11 is a diagram showing another illustrative interconnect set between the certified integrated circuit die and the non-volatile memory bulk circuit chip of the memory component and to the external pins of the component.

圖12為顯示認證積體電路晶片與記憶體元件之非揮發性記憶體積體電路晶片之間以及至元件之外部引腳的另一說明性內連線組。 Figure 12 is a diagram showing another illustrative interconnect set between the certified integrated circuit die and the non-volatile memory bulk circuit chip of the memory component and to the external pins of the component.

圖13為顯示認證積體電路晶片與記憶體元件之非揮發性記憶體積體電路晶片之間以及至元件之外部引腳的另一說明性內連線組。 Figure 13 is a diagram showing another illustrative interconnect set between the certified integrated circuit die and the non-volatile memory bulk circuit chip of the memory component and to the external pins of the component.

圖14為包含認證積體電路晶片之另一快閃記憶體元件的打線上視圖,認證積體電路晶片裝設於串列式閃存晶片上,且另一快閃記憶體元件包括用於外部接點及內部晶片至晶片(die-to-die)接點的打線接合(wire bonds)。 Figure 14 is a line view of another flash memory component including an authentication integrated circuit chip mounted on a tandem flash memory chip, and another flash memory component included for external connection Point and wire bonds of internal die-to-die contacts.

圖15為包含認證積體電路晶片之另一快閃記憶體元件的打線上視圖,其中認證積體電路晶片裝設於串列式閃存晶片上,且另一快閃記憶體元件包括用於外部接點及內部晶片至晶片接點的打線接合。 Figure 15 is a line view of another flash memory component including a certified integrated circuit chip, wherein the certified integrated circuit chip is mounted on a tandem flash memory chip and another flash memory component is included for external use Bonding of the contacts and the internal wafer to the wafer contacts.

圖16為一種預啟動(pre-boot)認證處理的流程圖。 Figure 16 is a flow chart of a pre-boot authentication process.

圖17為一種單調計數器讀取處理的流程圖。 Figure 17 is a flow chart of a monotonic counter reading process.

圖18為一種BIOS碼升級處理的流程圖。 18 is a flow chart of a BIOS code upgrade process.

圖19為一種記憶體元件認證處理的流程圖。 Fig. 19 is a flow chart showing a memory component authentication process.

雖然執行密碼處理的安全引擎與欲保衛之用以儲存程式碼及/或資料的非揮發性記憶體可被實施在單一基板上的單一積體電路上,但此種作法會造成顯著的成本上的浪費,特別是視成本考量為重要因素的串列式快閃記憶體。通常,不同的串列式快閃記憶體提供許多不同的密度。對不同密度之串列式快閃記憶體提供安全性的技術特徵需要將安全功能性設計至每一種密度之串列式快閃記憶體中。此外,假如安全引擎或記憶體變得過時或被發現有缺陷,整個庫存的記憶體積體電路晶片及其光罩需要被丟棄,且將需要新的記憶體積體電路設計。 Although the security engine that performs cryptographic processing and the non-volatile memory that is to be protected for storing code and/or data can be implemented on a single integrated circuit on a single substrate, this approach can result in significant cost. The waste, especially in tandem flash memory, where cost considerations are important factors. Often, different tandem flash memories offer many different densities. The technical features that provide security for different density tandem flash memories require safe functionality to be designed into each density of tandem flash memory. Furthermore, if the security engine or memory becomes obsolete or is found to be defective, the entire inventory of memory volume circuit chips and their reticle needs to be discarded and a new memory volume circuit design will be required.

圖3繪示以下方式,其中記憶體元件封裝32封住兩個分開的晶片,一個是標準的非揮發性記憶體積體電路晶片34,且另一個是合適的認證積體電路晶片33。任一晶片33或34可堆疊於另一晶片上。或者,晶片33及34可並排(side-by-side)放置,其可減少記憶體元件封裝32之高度但會增加覆蓋區(footprint)。元件封裝32之外部接點(未繪示)可對應標準的非揮發性記憶體積體電路晶片34之電源及信號需求,使得記憶體元件封裝32之輸出引腳(pin-out)可配置為常用之標準的非揮發性記憶體積體電路晶片34之記憶體產品類型之標準的輸出引腳。認證積體電路晶片33之電源及信號可藉由非揮發性記憶體積體電路晶片34之一些或全部引腳提供,或藉由記憶體元件封裝32之其他未使用之 引腳提供。一或多個額外外部接點可專門(exclusively)加入認證積體電路晶片33,但其中認證積體電路晶片33所需的接點數量小於或等於標準的非揮發性記憶體積體電路晶片34所需的接點數量,藉由使用用於標準的非揮發性記憶體積體電路晶片34之信號及電源線(power lines)來滿足認證積體電路晶片33的需求,以允許外部輸出引腳為標準的,進而增強相容性。在一些實施中,一或多個信號可專屬(dedicated)於標準的非揮發性記憶體積體電路晶片34與認證積體電路晶片33之間,但這些晶片間(inter-die)信號不會接至任何外部接點。 3 illustrates a manner in which memory component package 32 encloses two separate wafers, one being a standard non-volatile memory volume circuit 34 and the other being a suitable certified integrated circuit die 33. Any of the wafers 33 or 34 can be stacked on another wafer. Alternatively, wafers 33 and 34 may be placed side-by-side, which may reduce the height of memory component package 32 but may increase the footprint. The external contacts (not shown) of the component package 32 can correspond to the power and signal requirements of the standard non-volatile memory volume circuit chip 34, so that the pin-out of the memory component package 32 can be configured as a common The standard output pin of the memory product type of the standard non-volatile memory volume circuit chip 34. The power and signals of the certified integrated circuit die 33 may be provided by some or all of the pins of the non-volatile memory bulk circuit die 34, or by other unused components of the memory component package 32. The pin is provided. One or more additional external contacts may be exclusively added to the certified integrated circuit wafer 33, but wherein the number of contacts required to authenticate the integrated circuit die 33 is less than or equal to the standard non-volatile memory volume circuit 34 The number of contacts required is met by the use of signals and power lines for the standard non-volatile memory volume circuit 34 to meet the requirements of the certified integrated circuit die 33 to allow external output pins to be standard. To enhance compatibility. In some implementations, one or more signals may be dedicated between the standard non-volatile memory volume circuit 34 and the certified integrated circuit chip 33, but these inter-die signals are not connected. To any external contact.

標準的非揮發性記憶體積體電路晶片34可為任何類型的非揮發性記憶體,例如(舉例來說)NOR閃存、NAND閃存、EEPROM、PCRAM、FRAM、RRAM、MRAM等等,所述非揮發性記憶體具有任何類型之合適的介面,包括並列式介面,例如並列式閃存匯流排介面及NAND匯流排介面;串列式介面,例如串列式週邊介面(“SPI”)及四週邊介面(“QPI”)等等。認證積體電路晶片33可使用其所具有的揮發性記憶體以及非揮發性記憶體來儲存金鑰,且可包括任何其所需求的電路及對任何想要之安全演算法進行程式化動作,上述動作不管是對稱金鑰(symmetric-key)或公用金鑰(public-key)密碼學,其中包括(舉例來說)RSA演算法、進階加密標準(Advanced Encryption Standard,“AES”)規格、安全雜湊演算法(Security Hash Algorithm,“SHA”)、訊息認證碼(Message Authentication Codes,“MAC”)、資料加密標準(Data Encryption Standard,“DES”)規格、隨機數生成(random number generation)、單調計數器、或任 何其他加密演算法,以通過介面31上的控制器30實施認證程序。另可視需求設置一可信賴之平台模組(trusted platform module,“TPM”)36,其可以合適的介面35(例如低引腳數(“LPC”)介面、I2C介面、或SPI介面)與控制器30通信。在一些實施例中,藉由認證積體電路晶片33即可提供足夠的安全性,因此並不需要TPM36及介面35,且一或多個原始金鑰(root key)可於製造時或由原始設備製造商(“OEM”)於一次程式化程序中建立於認證積體電路晶片33中。省去TPM36及介面35會簡化介面信號且可提供顯著的節約成本。在一些實施例中。可視需求藉由多個非揮發性原始金鑰及非揮發性單調計數器以進行多認證程序。 The standard non-volatile memory volume circuit chip 34 can be any type of non-volatile memory such as, for example, NOR flash, NAND flash, EEPROM, PCRAM, FRAM, RRAM, MRAM, etc., said non-volatile The memory has any type of suitable interface, including a side-by-side interface, such as a side-by-side flash bus interface and a NAND bus interface; a tandem interface, such as a tandem peripheral interface ("SPI") and a four-peripheral interface ( "QPI") and so on. The certified integrated circuit die 33 can store the key using its volatile memory and non-volatile memory, and can include any circuitry required and programmatically act on any desired security algorithm. The above actions are either symmetric-key or public-key cryptography, including, for example, the RSA algorithm, the Advanced Encryption Standard ("AES") specification, Security Hash Algorithm ("SHA"), Message Authentication Codes ("MAC"), Data Encryption Standard ("DES") specifications, random number generation, random number generation, A monotonic counter, or any other encryption algorithm, is implemented to implement the authentication procedure via controller 30 on interface 31. A trusted platform module ("TPM") 36 can be set up as needed, which can have a suitable interface 35 (eg, low pin count ("LPC") interface, I 2 C interface, or SPI interface) Communicating with the controller 30. In some embodiments, sufficient security can be provided by authenticating the integrated circuit die 33 so that the TPM 36 and interface 35 are not required and one or more of the original keys can be manufactured or otherwise The equipment manufacturer ("OEM") is built into the certified integrated circuit chip 33 in a single program. Eliminating the TPM 36 and interface 35 simplifies the interface signal and provides significant cost savings. In some embodiments. Multiple non-volatile original keys and non-volatile monotonic counters are available for multiple authentication procedures.

記憶體元件封裝32可為任何想要之類型的積體電路封裝,包括(舉例來說)小型積體電路(Small Outline Integrated Circuit,“SOIC”)、極小型封裝(Very Small-Outline Package,“VSOP”)、塑膠雙排型封裝(Plastic Dual In-Line package,“PDIP”)、超薄小型無引線(Thin Small Outline No Lead,“WSON”)、以及耐熱增強型球柵陣列(Thermally Enhanced Ball Grid Array,“TFBGA”)。合適的封裝類型亦可包括用於低密度零件的150mil 8-pin SOIC封裝、用於中高密度零件的208mil 8-pin SOIC封裝、以及低輪廓(low profile)6mm x 5mm 8-pad WSON封裝。可使用與標準的非揮發性記憶體積體電路晶片34之介面匹配(matching)的任何類型之介面,包括單及多位元SPI、QPI、傳統NAND快閃記憶體元件介面、以及串列式NAND快閃記憶體介面。施加至介面31上的指令可被認證積體電路晶片33及標準的非揮發性記憶體積體電路晶片34兩者接收。雖然一些指令對晶 片33及34兩者是共用的,認證積體電路晶片33可忽略對標準的非揮發性記憶體積體電路晶片34之特定指令,而標準的非揮發性記憶體積體電路晶片34可忽略對認證積體電路晶片33之特定指令。 The memory component package 32 can be any desired type of integrated circuit package, including, for example, a Small Outline Integrated Circuit ("SOIC"), a Very Small-Outline Package ("Very Small-Outline Package," VSOP"), Plastic Dual In-Line package ("PDIP"), Thin Small Outline No Lead ("WSON"), and thermally enhanced ball grid array (Thermally Enhanced Ball Grid Array, "TFBGA"). Suitable package types can also include 150mil 8-pin SOIC packages for low-density parts, 208mil 8-pin SOIC packages for medium and high-density parts, and low profile 6mm x 5mm 8-pad WSON packages. Any type of interface that can be interfaced with a standard non-volatile memory volume circuit chip 34, including single and multi-bit SPI, QPI, conventional NAND flash memory device interface, and tandem NAND Flash memory interface. The instructions applied to the interface 31 can be received by both the certified integrated circuit wafer 33 and the standard non-volatile memory volume circuit wafer 34. Although some instructions are on the crystal Both sheets 33 and 34 are common, and the certified integrated circuit wafer 33 can ignore specific instructions for the standard non-volatile memory volume circuit chip 34, while the standard non-volatile memory volume circuit wafer 34 can be ignored for authentication. The specific instructions of the integrated circuit chip 33.

由於圖3之實施例之僅需設計單一的認證積體電路,因此可提供很快地可上市時間(time-to-market)並可節約產品的成本。相較之下,過去面對不同密度的記憶體時,單積體電路解決方案之供應商必需花費精力和時間去設計不同密度的記憶體以及用於每一種密度之記憶體的新晶片的安全方塊。然而,對圖3的實施例而言,單認證積體電路可被設計成與任何密度之標準的非揮發性記憶體一起使用,並僅需使用一個適當的光罩以及一個製程即可將單認證積體電路重複的複製至各個晶片中,每一個晶片可與任何標準的非揮發性記憶體積體電路晶片一起封裝,以提供不同密度之各種安全記憶體解決方案。此外,各種不同之認證積體電路可被設計成與任何密度的標準的非揮發性記憶體一起使用,以提供不同密度及不同安全演算法之各種已封裝之記憶體元件。另外,實施不同密碼演算法之多認證積體電路晶片可與特定之標準記憶體積體電路晶片一起封裝,以提供能給予多個安全性解決方案之單一的已完成封裝的記憶體。此外,在無需修改標準的非揮發性記憶體的情況下,任何客製化安全引擎可隨時被設計成與任何標準的非揮發性記憶體一起使用。在各種情形中,皆無需進行修改即可直接使用標準的非揮發性記憶體積體電路晶片,因此不會產生因修改記憶體設計以及重新製作生產治具的額外成本。此外,使用者可因具有安全性非揮發性記憶體元件而受益, 所述安全性非揮發性記憶體元件位於具備方便及熟悉之輸出引腳的方便且熟悉的封裝中。 Since the embodiment of FIG. 3 only needs to design a single certified integrated circuit, it can provide a time-to-market and cost savings. In contrast, in the past when faced with different densities of memory, suppliers of single-integrated circuit solutions had to spend the effort and time to design memory of different densities and the safety of new wafers for each density of memory. Square. However, for the embodiment of Figure 3, the single-certified integrated circuit can be designed to be used with standard non-volatile memory of any density, and only a suitable mask and a process can be used to The certified integrated circuit is repeatedly replicated into individual wafers, and each wafer can be packaged with any standard non-volatile memory bulk circuit chip to provide a variety of secure memory solutions of varying densities. In addition, a variety of different certified integrated circuits can be designed to be used with standard non-volatile memory of any density to provide a variety of packaged memory components of different densities and different security algorithms. In addition, multi-certified integrated circuit chips that implement different cryptographic algorithms can be packaged with a particular standard memory volume circuit chip to provide a single, completed package of memory that can be used to give multiple security solutions. In addition, any customized security engine can be designed to be used with any standard non-volatile memory at any time without the need to modify standard non-volatile memory. In each case, standard non-volatile memory volume circuit chips can be used directly without modification, so there is no additional cost of modifying the memory design and remanufacturing the fixture. In addition, users benefit from having a safe non-volatile memory component. The secure non-volatile memory component is located in a convenient and familiar package with convenient and familiar output pins.

圖4繪示一說明性的串列式快閃記憶體積體電路晶片40,其為一種適於圖3之實施例的實施型態之一。快閃記憶體積體電路晶片40包括任何構造之快閃記憶體陣列140,以及其他各種支援(support)記憶體程式化、抹除及讀取之電路,例如列解碼器141、行解碼器142、控制邏輯42、通信解碼器43、狀態暫存器(status register)44、位址序列器(address sequencer)45、高壓產生器46、位移暫存器(shift register)47、以及感測放大器(sense amplifier)48。 4 illustrates an illustrative in-line flash memory bulk circuit wafer 40 that is one of the implementations of the embodiment of FIG. The flash memory volume circuit chip 40 includes any constructed flash memory array 140, as well as various other circuits for supporting memory programming, erasing and reading, such as column decoder 141, row decoder 142, Control logic 42, communication decoder 43, status register 44, address sequencer 45, high voltage generator 46, shift register 47, and sense amplifier (sense) Amplifier)48.

雖然可使用任何想要之通信介面,特別合適的介面為提供單位元、雙位元及四位元SPI與四週邊介面(“QPI”)的SPI/QPI介面。關於記憶體陣列之對SPI及QPI介面及對電路的額外細節可在美國專利第7,558,900中找到,其由華邦電子股份有限公司公開且於2009年7月7日授予Jigour等人,資料表單:SPIFLASH(RTM)W25Q128FV 3V 128M-Bit Serial Flash Memory with Dual/Quad SPI & QPI,版本D,2012年10月1日,其全部內容於此併入本文參考。說明性SPI/QPI I/O控制41實施SPI/QPI介面,其使用信號CLK作為時脈信號(clock signal);使用信號/CS作為晶片選擇反向信號(chip select complement signal);使用信號DI或IO0作為串列式資料-輸入(單位元SPI)及位元0串列式資料-輸入/輸出(多位元SPI及QPI);使用信號DO或IO1作為串列式資料-輸出(單位元SPI)及位元1串列式資料-輸入/輸出(多位元SPI及QPI);使用信號/WP或IO2作為寫入保護反向信號(write protect complement signal)(單位元SPI)及位元2串列式資料-輸入/輸出(多位元SPI及QPI);使用信號/HOLD或IO3作為保持反向信號(hold complement signal)(單位元SPI)及位元3串列式資料-輸入/輸出(多位元SPI及QPI);電源VDD;以及電源VSS。控制器30對不可信賴之記憶體功能所使用的指令集(command set)可為特定用於標準的非揮發性記憶體積體電路晶片34之標準指令集。 While any desired communication interface can be used, a particularly suitable interface is the SPI/QPI interface that provides unit, dual, and four-bit SPI and four peripheral interfaces ("QPI"). Additional details on the SPI and QPI interface and the circuit for the memory array can be found in U.S. Patent No. 7,558,900, which is published by Winbond Electronics Co., Ltd. and awarded to Jigour et al. on July 7, 2009, data sheet: SPIFLASH (RTM) W25Q128FV 3V 128M-Bit Serial Flash Memory with Dual/Quad SPI & QPI, Rev. D, October 1, 2012, the entire contents of which is incorporated herein by reference. The illustrative SPI/QPI I/O control 41 implements the SPI/QPI interface, which uses the signal CLK as the clock signal; uses the signal /CS as the chip select complement signal; uses the signal DI or IO0 as serial data-input (unit SPI) and bit 0 serial data-input/output (multi-bit SPI and QPI); use signal DO or IO1 as serial data-output (unit SPI) And bit 1 serial data - input / output (multi-bit SPI and QPI); use signal / WP or IO2 as write protection reverse signal (write Protect complement signal) (bit unit SPI) and bit 2 serial data - input / output (multi-bit SPI and QPI); use signal / HOLD or IO3 as hold complement signal (unit SPI) And bit 3 serial data - input / output (multi-bit SPI and QPI); power supply VDD; and power VSS. The command set used by controller 30 for untrusted memory functions can be a standard set of instructions specific to the standard non-volatile memory volume circuit chip 34.

圖5繪示一種說明性認證積體電路晶片50,其包括非揮發性記憶胞陣列150以及其他各種支援記憶體程式化、抹除及讀取之電路,例如列解碼器151、行解碼器152、認證引擎與控制邏輯52、通信解碼器53、狀態暫存器54、位址序列器55、高壓產生器56、SRAM 57、感測放大器58、以及揮發性記憶體59。非揮發性記憶胞陣列150提供敏感資訊(例如原始安全金鑰及單調計數器值)給可信賴之非揮發性儲存件。部分非揮發性記憶體150設計為一次性可程式化或唯讀的(舉例來說,唯讀記憶體或“ROM”)以儲存原始安全金鑰。揮發性記憶體59提供了對從原始金鑰衍生之金鑰的暫時儲存。I/O控制51接口於(interfaces with)SPI/QPI信號及電源線。說明性地,認證積體電路晶片50可以任何SPI模式或QPI模式來操作,且因此使用CLK、/CS、DI/IO0、DO/IO1、IO2及IO3信號線以及VDD及VSS電源線。可不使用信號/WP及/HOLD。舉例來說,認證積體電路晶片(未繪示)可僅僅以單位元SPI模式來操作,且因此使用CLK、/CS、DI及DO以及VDD及VSS電源線。此外,不需使用信號/WP及/HOLD,因而可僅僅使用六個引腳。 5 illustrates an illustrative certified integrated circuit chip 50 that includes a non-volatile memory cell array 150 and various other circuits that support memory staging, erasing, and reading, such as column decoder 151, row decoder 152. Authentication engine and control logic 52, communication decoder 53, status register 54, address sequencer 55, high voltage generator 56, SRAM 57, sense amplifier 58, and volatile memory 59. The non-volatile memory cell array 150 provides sensitive information (such as raw security keys and monotonic counter values) to trusted non-volatile storage. Part of the non-volatile memory 150 is designed to be one-time programmable or read-only (for example, read-only memory or "ROM") to store the original security key. Volatile memory 59 provides temporary storage of keys derived from the original key. The I/O control 51 interfaces with the SPI/QPI signal and the power line. Illustratively, the certified integrated circuit die 50 can operate in any SPI mode or QPI mode, and thus uses CLK, /CS, DI/IO0, DO/IO1, IO2, and IO3 signal lines and VDD and VSS power lines. Signals /WP and /HOLD are not used. For example, an authentication integrated circuit chip (not shown) can operate only in the unit cell SPI mode, and thus uses CLK, /CS, DI, and DO, and VDD and VSS power lines. In addition, the signals /WP and /HOLD are not required, so only six pins can be used.

控制器30對認證及對可信賴之記憶體功能所使用的指令集可為具體用於認證積體電路晶片33的指令,除了一些指令可同時用於認證及可信賴之記憶體功能以及不可信賴之記憶體功能。 The set of instructions used by the controller 30 for authentication and for trusted memory functions may be instructions specifically for authenticating the integrated circuit chip 33, except that some instructions may be used for both authentication and trusted memory functions and untrustworthy. Memory function.

圖6及圖7繪示說明性非揮發性記憶體元件之各種打線示意圖。為清楚起見,圖6顯示其中未繪示封住塑料(encasing plastic)之上視圖,且圖7顯示沿著一對相對引腳74及75的側視圖,引腳僅僅為常用於積體電路封裝中之一種類型的外部接點。說明性地,封裝類型為8-pin SOIC類型封裝。使用任何合適的黏合劑(bonding agent)68(例如,金-錫或金-矽焊料或環氧樹脂接著劑)來將記憶體積體電路晶片60接合至引線框架晶片墊(lead frame die pad)64或其他類型的支撐結構。使用任何合適的黏合劑66(說明性地,金-錫或金-矽焊料或環氧樹脂接著劑)來將較小的認證積體電路晶片62接合至記憶體積體電路晶片60的頂部。此種排列亦可稱為晶片在晶片上(chip-on-chip)技術。雖然圖示記憶體積體電路晶片60大於認證積體電路晶片62,但其相對尺寸亦可相反,使得記憶體積體電路晶片可裝設於相對較大的認證積體電路晶片上(未繪示)。說明性地,記憶體積體電路晶片60具有SPI/QPI快閃記憶體介面,使得已封裝之非揮發性記憶體元件之引腳71~78分別指定/CS、DO或IO1、/WP或IO2、VSS、DI或IO0、CLK、/HOLD或IO3、以及VDD,且佈線(wires)分別將記憶體積體電路晶片60上的八個焊墊連接至這些引腳。類似地,打線分別的將認證積體電路晶片62之八個焊墊連接至這些引腳。或者,可透過打線以將記憶體積體電路晶片60上的八個焊墊與認證積體電路晶片62上的八個焊墊分別各自連接,且可使用其 他打線以將個別的連接焊墊對(bonding pad pairs)連接至引腳(參看,舉例來說,圖9中的佈線排列96)。塑料材料的封裝主體70被射出成型,從而將記憶體積體電路晶片60、認證積體電路晶片62、導線(lead wires)、以及部分引腳(例如顯示於圖7中的74及75)封住以保護及穩固這些零件。 6 and 7 illustrate various wiring diagrams of illustrative non-volatile memory components. For the sake of clarity, Figure 6 shows a top view of the encasing plastic not shown therein, and Figure 7 shows a side view along a pair of opposing pins 74 and 75, the pins are only commonly used in integrated circuits. One type of external contact in the package. Illustratively, the package type is an 8-pin SOIC type package. The memory bulk circuit wafer 60 is bonded to the lead frame die pad 64 using any suitable bonding agent 68 (e.g., gold-tin or gold-bismuth solder or epoxy adhesive). Or other types of support structures. The smaller certified integrated circuit wafer 62 is bonded to the top of the memory volume circuit wafer 60 using any suitable adhesive 66 (illustratively, gold-tin or gold-bismuth solder or epoxy adhesive). Such an arrangement may also be referred to as a chip-on-chip technique. Although the memory cell circuit 60 is larger than the certified integrated circuit chip 62, the relative size may be reversed, so that the memory bulk circuit chip can be mounted on a relatively large certified integrated circuit chip (not shown). . Illustratively, the memory volume circuit chip 60 has an SPI/QPI flash memory interface such that pins 71-78 of the packaged non-volatile memory elements are designated /CS, DO or IO1, /WP or IO2, respectively. VSS, DI or IO0, CLK, /HOLD or IO3, and VDD, and wires connect the eight pads on the memory bulk circuit wafer 60 to these pins, respectively. Similarly, the bonding wires respectively connect the eight pads of the certified integrated circuit wafer 62 to these pins. Alternatively, the eight pads on the memory bulk circuit wafer 60 and the eight pads on the certified integrated circuit wafer 62 can be individually connected by wire bonding, and can be used. He wired to connect individual bonding pad pairs to the pins (see, for example, wiring arrangement 96 in Figure 9). The package body 70 of plastic material is injection molded to seal the memory bulk circuit wafer 60, the certified integrated circuit wafer 62, the lead wires, and a portion of the leads (such as 74 and 75 shown in FIG. 7). To protect and stabilize these parts.

假如需要較多引腳,可使用較大的封裝類型。舉例來說,若需要包括用於記憶體積體電路晶片60及認證積體電路晶片62兩者的RESET信號,在此情況下可使用16-pin SOIC類型封裝。舉例來說,輸出引腳中除了其他未使用之引腳可為用於SPI/QPI串列式記憶體之標準輸出引腳,除了其他未使用之引腳的其中之一者則可被指定用於傳送RESET信號。 If more pins are needed, a larger package type can be used. For example, if it is desired to include a RESET signal for both the memory bulk circuit wafer 60 and the certified integrated circuit wafer 62, a 16-pin SOIC type package can be used in this case. For example, other unused pins in the output pin can be standard output pins for SPI/QPI serial memory, except for one of the other unused pins. The RESET signal is transmitted.

繪示於圖6及圖7之封裝技術的範例,且在有需求的情況下,可使用其他系統內封裝(system-in-package)或三維積體電路及多晶片封裝(multi-chip packaging,“MCP”)技術。對極薄封裝主體而言,引線框架晶片墊上之並排排列之記憶體積體電路晶片60及認證積體電路晶片62可能是較為合適的。在此類型的實施中,需要製造具有額外軌線(traces)及焊墊(bonding pads)的認證積體電路晶片62,使得各種打線接合的距離可保持最短。此外,雖然使用合適的黏合劑來堆疊記憶體積體電路晶片60及認證積體電路晶片62可相當有效,但亦可使用其他堆疊技術,例如(舉例來說)將個別的晶片附接至基板的頂部及底部。類似地,可使用基板以支撐並排排列之晶片。可用許多其他技術來於將記憶體積體電路晶片60及認證積體電路晶片62上的焊墊或其他接點互相連接,以及將記憶體積體電路晶片60及認證積體電路晶片 62上的焊墊或其他接點連接至封裝外部上引腳或接點(包括焊料凸塊(solder bumps))。 The example of the packaging technology shown in FIG. 6 and FIG. 7 can be used, and other system-in-package or three-dimensional integrated circuits and multi-chip packaging can be used if necessary. "MCP" technology. For very thin package bodies, the memory volume circuit wafer 60 and the certified integrated circuit wafer 62 arranged side by side on the lead frame wafer pads may be more suitable. In this type of implementation, it is desirable to fabricate certified integrated circuit wafers 62 with additional traces and bonding pads so that the distance of the various wire bonds can be kept to a minimum. Moreover, while it may be quite effective to use a suitable adhesive to stack the memory bulk circuit wafer 60 and the certified integrated circuit wafer 62, other stacking techniques may be used, such as, for example, attaching individual wafers to the substrate. Top and bottom. Similarly, a substrate can be used to support wafers arranged side by side. A number of other techniques can be used to interconnect the pads or other contacts on the memory bulk circuit wafer 60 and the certified integrated circuit wafer 62, as well as the memory bulk circuit wafer 60 and the certified integrated circuit wafer. Pads or other contacts on the 62 are connected to pins or contacts on the outside of the package (including solder bumps).

顯示於圖8中的封裝配置類似於顯示於圖6中的封裝配置,除了認證積體電路晶片80被設計成僅僅在單位元SPI模式中操作,使得信號線IO2及IO3未被使用。由於未使用/WP及/HOLD,可消去圖6中用於連接至IO2及IO3的焊墊及佈線。圖8亦顯示內部晶片至晶片連線的一個實例,所述內部晶片至晶片連線使用記憶體積體電路晶片60上的焊墊82與認證積體電路晶片80上的焊墊84之間的佈線。此種內部晶片至晶片佈線之一實例顯示為圖9中的佈線排列(wiring arrangement)97。 The package configuration shown in FIG. 8 is similar to the package configuration shown in FIG. 6, except that the authentication integrated circuit wafer 80 is designed to operate only in the unit cell SPI mode such that the signal lines IO2 and IO3 are not used. Since /WP and /HOLD are not used, the pads and wirings for connecting to IO2 and IO3 in Figure 6 can be eliminated. Figure 8 also shows an example of an internal wafer-to-wafer connection using the wiring between the pads 82 on the memory bulk circuit wafer 60 and the pads 84 on the certified integrated circuit wafer 80. . An example of such an internal wafer to wafer layout is shown as a wiring arrangement 97 in FIG.

圖10至圖13繪示外部信號與電源連接(power connection)及內部信號連線之各種排列。圖10顯示具有認證積體電路晶片1010及記憶體積體電路晶片1020(其分享共用介面1030)之記憶體元件1000。若有需求時,可提供一或多個內部連線1040。 10 to 13 illustrate various arrangements of external signals and power connections and internal signal connections. 10 shows a memory component 1000 having an authenticated integrated circuit wafer 1010 and a memory bulk circuit wafer 1020 (which share a common interface 1030). One or more internal connections 1040 may be provided if required.

圖11繪示一種記憶體元件1100,其中認證積體電路晶片1110分享記憶體積體電路晶片1120之信號及/或電源線的子集合,其具有未分享之外部信號及/或電源連接(介面1130)。若有需求時,可提供一或多個內部連線1140。 11 illustrates a memory component 1100 in which a certified integrated circuit die 1110 shares a subset of signals and/or power lines of a memory volume circuit die 1120 having unshared external signals and/or power connections (interface 1130). ). One or more internal connections 1140 may be provided if required.

圖12繪示一種記憶體元件1200,其中記憶體積體電路晶片1220分享認證積體電路晶片1210之信號及/或電源線的子集,其具有未分享之外部信號及/或電源連接(介面1230)。若有需求時,可提供一或多個內部連線1240。 12 illustrates a memory component 1200 in which a memory volume circuit wafer 1220 shares a subset of signals and/or power lines of an authentication integrated circuit wafer 1210 having unshared external signals and/or power connections (interface 1230). ). One or more internal connections 1240 may be provided if required.

圖13繪示一種記憶體元件1300,其中認證積體電路晶片 1310分享記憶體積體電路晶片1320之信號及/或電源線的子集。認證積體電路晶片1310及記憶體積體電路晶片1320兩者具有未分享之外部信號及/或電源連接(介面1330)。若有需求時,可提供一或多個內部連線1340。 FIG. 13 illustrates a memory component 1300 in which an integrated circuit chip is authenticated The 1310 shares a subset of the signals and/or power lines of the memory volume circuit chip 1320. Both the certified integrated circuit chip 1310 and the memory volume circuit die 1320 have unshared external signals and/or power connections (interface 1330). One or more internal connections 1340 may be provided if required.

圖14及圖15繪示內部晶片至晶片連線的替代性實例,所述內部晶片至晶片連線基於認證結果控制/CS至記憶體積體電路晶片的施行。 14 and 15 illustrate an alternative example of an internal wafer-to-wafer connection that controls the execution of CS/memory volume body circuit wafers based on the authentication results.

顯示於圖14中的封裝配置與顯示於圖6中的封裝配置相似,除了:認證積體電路晶片81經設計以控制傳至記憶體積體電路晶片60的/CS信號的應用,以省去記憶體積體電路晶片60之引腳71與焊墊61之間的佈線,且於認證積體電路晶片81上之焊墊85與記憶體積體電路晶片60上的焊墊61之間製作內部晶片至晶片連線。從引腳71至焊墊86提供/CS信號至認證積體電路晶片81。當認證事件通過,傳遞/CS信號至焊墊61,而當認證事件失敗,不傳遞/CS信號至焊墊61。 The package configuration shown in FIG. 14 is similar to the package configuration shown in FIG. 6, except that the authentication integrated circuit wafer 81 is designed to control the application of the /CS signal to the memory bulk circuit wafer 60 to save memory. The wiring between the pin 71 of the bulk circuit wafer 60 and the pad 61, and the internal wafer to the wafer are fabricated between the pad 85 on the certified integrated circuit wafer 81 and the pad 61 on the memory bulk circuit wafer 60. Connected. The /CS signal is supplied from the pin 71 to the pad 86 to the authentication integrated circuit chip 81. When the authentication event passes, the /CS signal is transmitted to the pad 61, and when the authentication event fails, the /CS signal is not transmitted to the pad 61.

繪示於圖15中的封裝配置類似於顯示於圖6中的封裝配置,除了:認證積體電路晶片83被設計成產生內部認證通過/失敗信號,以控制傳至記憶體積體電路晶片63的/CS信號的應用,記憶體積體電路晶片63被設計成包括閘控電路(gating circuit)69(例如為NOR閘),且於認證積體電路晶片83上的焊墊89與記憶體積體電路晶片63上的焊墊67之間製作內部晶片至晶片連線,以施加內部認證通過或失敗信號。從引腳71提供/CS信號至認證積體電路晶片83上的焊墊87以及至記憶體積體電路晶片63上的焊墊65兩者。當認證事件通過,內部認證通過/失敗信號變 “低”,使得閘控電路69通過/CS信號。假如認證事件失敗,內部認證通過/失敗信號變“高”,使得閘控電路69不會通過/CS信號。 The package configuration shown in FIG. 15 is similar to the package configuration shown in FIG. 6, except that the certified integrated circuit die 83 is designed to generate an internal authentication pass/fail signal to control the transfer to the memory volume circuit chip 63. For the application of the /CS signal, the memory volume circuit chip 63 is designed to include a gating circuit 69 (for example, a NOR gate), and the pad 89 and the memory bulk circuit chip on the certified integrated circuit wafer 83. An internal wafer to wafer connection is made between pads 67 on 63 to apply an internal pass or fail signal. The /CS signal is supplied from the pin 71 to both the pad 87 on the authentication integrated circuit wafer 83 and the pad 65 on the memory bulk circuit chip 63. When the authentication event passes, the internal authentication pass/fail signal changes. "Low" causes the gate control circuit 69 to pass the /CS signal. If the authentication event fails, the internal authentication pass/fail signal becomes "high", so that the gate control circuit 69 does not pass the /CS signal.

圖15之封裝配置於以下情況是有利的:/CS信號的計時(timing)是在重要路徑中,因為/CS信號放置於圖14的封裝配置中,因此/CS信號至記憶體積體電路晶片的施行沒有拖延。雖然記憶體積體電路晶片63被設計成包括閘控電路69,記憶體積體電路晶片63仍然可被視為標準記憶體積體電路晶片,因為記憶體積體電路晶片63可與或可不與認證積體電路晶片一起使用。當記憶體積體電路晶片63未與認證積體電路晶片一起使用時(未繪示),焊墊67可被佈線至VSS引腳74或可被佈線至任何佈線至引腳74的焊墊,使得閘控電路69通過/CS信號。 The package configuration of Figure 15 is advantageous in that the timing of the /CS signal is in an important path because the /CS signal is placed in the package configuration of Figure 14, thus the /CS signal to the memory volume circuit chip There is no delay in implementation. Although the memory volume circuit chip 63 is designed to include the gate circuit 69, the memory volume circuit chip 63 can still be regarded as a standard memory volume circuit wafer because the memory volume circuit chip 63 may or may not be associated with the certified integrated circuit. The wafers are used together. When the memory volume circuit chip 63 is not used with the certified integrated circuit chip (not shown), the pad 67 can be routed to the VSS pin 74 or can be routed to any pad that is routed to the pin 74, such that The gate control circuit 69 passes the /CS signal.

實施實例Implementation example

圖16至圖19繪示一種認證處理的範例,當用於BIOS儲存時,其可藉由認證積體電路晶片50(圖5)併有快閃記憶體積體電路晶片40進行之。通信解碼器可回應專門(specialized)認證-特定指令,例如用於讀取單調計數器值的計數器讀取指令(圖17),且亦可回應一些標準記憶體指令,例如用於增加記憶-修改單調計數器(memory-modified monotonic counter)的抹除/程式化指令,以偵測重送攻擊(replay attacks)(圖16)。非揮發性記憶體150可包括數個有區別的區域,例如(舉例來說)使用者記憶體154、資訊區域(未繪示)、組態記憶體(configuraiton memory)(未繪示)、金鑰記憶體156、以及計數器158。使用者記憶體154可具有數個區塊,所述區塊可經組態成提供各種不同的存取限制(access restrictions)(範圍從開放存取(open access)至完全限 制(full restrictions)),作為安全金鑰之所述存取限制杜絕(preclude)讀取/寫入操作且僅僅容許對此種資料的內部、認證使用。資訊區域保持例如晶片識別資訊(chip identification information)之唯讀資訊。組態記憶體提供認證積體電路晶片之個人化資源(personalization of resources),包括(舉例來說)計數器及金鑰使用,且組態記憶體包括鎖住記憶體以使得組態永久(permanent)的能力。金鑰記憶體區域156為一次性程式化(“OTP”)區,其儲存一或多個非使用者可存取的秘密金鑰(例如,原始金鑰)。計數器區域158儲存不可逆之(nonreversible)單調計數器的數值。本文描述之認證技術僅僅為說明性的,且極多本領域已知的認證技術適於認證積體電路晶片中的實施。 16 through 19 illustrate an example of an authentication process that can be performed by authenticating the integrated circuit chip 50 (FIG. 5) and having the flash memory volume circuit chip 40 when used for BIOS storage. The communication decoder can respond to specialized authentication-specific instructions, such as counter read instructions for reading monotonic counter values (Figure 17), and can also respond to some standard memory instructions, such as for adding memory-modifying monotonic A erase/modified command of a memory-modified monotonic counter to detect replay attacks (Figure 16). The non-volatile memory 150 can include a plurality of distinct regions, such as, for example, user memory 154, information regions (not shown), configuraiton memory (not shown), gold. Key memory 156, and counter 158. User memory 154 can have a number of blocks that can be configured to provide a variety of different access restrictions (ranging from open access to full limit). (full restrictions), the access restriction as a security key precludes the read/write operation and allows only internal, authentication use of such material. The information area maintains read-only information such as chip identification information. The configuration memory provides a personalization of resources for authenticating the integrated circuit chip, including, for example, counter and key usage, and configuring the memory includes locking the memory to make the configuration permanent (permanent) Ability. The key memory area 156 is a one-time stylized ("OTP") area that stores one or more non-user accessible secret keys (eg, original keys). Counter area 158 stores the value of the nonreversible monotonic counter. The authentication techniques described herein are merely illustrative, and a number of authentication techniques known in the art are suitable for authenticating implementations in integrated circuit wafers.

本文所描述之非揮發性記憶體150的組態僅僅為說明性的。一些認證及加密實施可使用僅僅一個原始金鑰以及多個單調計數器,在此情況下,非揮發性記憶體150可組態成具有僅僅一個金鑰記憶體及多個單調計數器記憶體。 The configuration of the non-volatile memory 150 described herein is merely illustrative. Some authentication and encryption implementations may use only one original key and multiple monotonic counters, in which case the non-volatile memory 150 may be configured to have only one key memory and multiple monotonic counter memories.

包含認證積體電路晶片及非揮發性記憶體積體電路晶片之記憶體元件可被製造成認證積體電路晶片未被初始化的內定狀態(default state)。製造商可初始化認證積體電路晶片,或製造商可寄送於未初使化狀態之認證積體電路晶片,使得受領者(通常為原始設備製造商(“OEM”))可初始化認證積體電路晶片。初始化為一次性程式化處理,其中原始金鑰KRT被寫入金鑰記憶體區域156且單調計數器被初始化。初始化之後,假如原始金鑰KRT作為私人金鑰,可於使用者記憶體154中產生並儲存公用金鑰KPUB。至此,記憶體元件已完成被使用的準備。 A memory element including a certified integrated circuit chip and a non-volatile memory bulk circuit chip can be fabricated to verify that the integrated circuit wafer is not initialized in a default state. The manufacturer can initialize the certified integrated circuit chip, or the manufacturer can send the certified integrated circuit chip to the initial state, so that the recipient (usually the original equipment manufacturer ("OEM") can initialize the certified integrated body. Circuit chip. Initialization is a one-time stylization process in which the original key K RT is written to the key memory area 156 and the monotonic counter is initialized. After initialization, if the original key K RT is used as a private key, the public key K PUB can be generated and stored in the user memory 154. At this point, the memory component has been ready to be used.

圖16繪示一種預啟動(pre-boot)認證處理1400。假設記憶體控制器或其他處理機從緊接前一個對話(immediately-prior session)得知認證單調計數器值CNT,且得知對應於記憶體元件之原始金鑰KRT的公用金鑰KPUB(方塊1410)。公用金鑰KPUB可從記憶體元件讀取、從認證機構(certification agency)獲得、或以任何其他合適的方式取得。接著,舉例來說,控制器藉由使用隨機數產生器以任何合適的方式產生對話金鑰KSES(方塊1420);控制器通過公用金鑰KPUB產生包括計數器CNT加密及對話金鑰KSES加密之認證挑戰(authentication challenge)(方塊1430);且控制器寄送認證挑戰至記憶體元件(方塊1440)。記憶體元件中的認證積體電路晶片通過私人金鑰KRT解密(decrypt)認證挑戰,以恢復(recover)計數器CNT及對話金鑰KSES(方塊1450)。然後,認證積體電路晶片比較CNT以及計數器156中之對應單調計數器的值(圖5)(方塊1460)。假如計數器未達匹配,以下情形可能發生:非揮發性記憶體積體電路晶片之未授權抹除/程式引起單調計數器於授權(authorized)程式之外的增加,且認證失敗(方塊1490)。假如計數器匹配,可儲存對話金鑰KSES於揮發性記憶體59中(圖5)(方塊1470)供後續對話中使用,且認證通過(方塊1480)。 FIG. 16 illustrates a pre-boot authentication process 1400. It is assumed that the memory controller or other processor knows the authentication monotonic counter value CNT from the immediately-prior session and knows the public key K PUB corresponding to the original key K RT of the memory component ( Block 1410). The public key K PUB can be read from a memory element, obtained from a certification agency, or obtained in any other suitable manner. Next, for example, the controller generates the dialog key K SES in any suitable manner by using a random number generator (block 1420); the controller generates the counter CNT encryption and the dialog key K SES via the public key K PUB Encrypted authentication challenge (block 1430); and the controller sends an authentication challenge to the memory element (block 1440). The authentication integrated circuit chip in the memory component decrypts the authentication challenge by private key K RT to recover the counter CNT and the session key K SES (block 1450). The certified integrated circuit wafer then compares the values of the corresponding monotonic counters in the CNT and counter 156 (Fig. 5) (block 1460). If the counters do not match, the following may occur: an unauthorized erase/program of the non-volatile memory volume circuit chip causes an increase in the monotonic counter outside of the authorized program, and the authentication fails (block 1490). If the counters match, the dialog key K SES can be stored in volatile memory 59 (FIG. 5) (block 1470) for use in subsequent conversations, and authentication passes (block 1480).

於認證對話期間,藉由授權程式,控制器可增加計數器CNT以持續追蹤(track)至記憶體元件之所有授權之抹除/程式化存取。以此方式,於對話的最後,藉由控制器維持的計數器CNT應當與認證積體電路晶片中的單調計數器匹配,除非一個未授權程式已篡改了(tampered with)記憶體積體電路晶片。藉由以下列 方式讀取單調計數器,控制器可完成兩個計數器的比較。 During the authentication session, by the authorization program, the controller can increment the counter CNT to continuously track all authorized erase/programmatic accesses to the memory elements. In this manner, at the end of the dialog, the counter CNT maintained by the controller should match the monotonic counter in the certified integrated circuit die unless an unauthorized program has been tampered with the memory volume circuit chip. By the following The mode reads the monotonic counter, and the controller can complete the comparison of the two counters.

圖17繪示一種使用用於對稱加密之對話金鑰的單調計數器讀取處理1500。控制器發送單調計數器讀取指令至記憶體元件(方塊1510)。一旦接收指令(方塊1520),認證積體電路晶片產生回應,所述回應包括藉由對話金鑰KSES加密的計數器值(方塊1530)。記憶體元件發送回應至控制器(方塊1540),其通過對稱對話金鑰KSES解密回應以恢復單調計數器值(方塊1550)。控制器可以任何想要之方式使用單調計數器值(方塊1560),例如(舉例來說)比較兩個計數器以決定記憶體積體電路晶片是否被篡改。 Figure 17 illustrates a monotonic counter read process 1500 using a dialog key for symmetric encryption. The controller sends a monotonic counter read command to the memory component (block 1510). Upon receiving the instruction (block 1520), the authentication integrated circuit wafer generates a response including the counter value encrypted by the session key K SES (block 1530). The memory component sends a response to the controller (block 1540), which decrypts the response via the symmetric dialog key K SES to recover the monotonic counter value (block 1550). The controller can use the monotonic counter value in any desired manner (block 1560), such as, for example, comparing the two counters to determine if the memory volume circuit chip has been tampered with.

圖18顯示一種用於認證BIOS碼升級的程序1600。從發送器接收BIOS升級(方塊1610),以及經發送器簽名之BIOS雜湊(hash)(方塊1620)。假如未儲存於認證積體電路晶片之使用者記憶區中,以任何合適的方式取得發送器之公用金鑰,例如(舉例來說)從認證機構取得,且將公用金鑰儲存於認證積體電路晶片之使用者記憶區中(方塊1630)。接著,認證積體電路晶片可解密已簽名的雜湊(signed hash)(方塊1640)、產生BIOS升級的雜湊(方塊1650)、以及比較已解密的雜湊與已產生的雜湊(方塊1660)。假如匹配發生(方塊1670,是),可授權BIOS升級(方塊1680)。假如匹配未發生(方塊1670,否),終結BIOS升級(方塊1690)。 Figure 18 shows a procedure 1600 for authenticating a BIOS code upgrade. A BIOS upgrade is received from the sender (block 1610), and a BIOS hash signed by the sender (block 1620). If not stored in the user memory area of the certified integrated circuit chip, the public key of the transmitter is obtained in any suitable manner, such as, for example, from a certificate authority, and the public key is stored in the authentication complex. The user of the circuit chip is in the memory area (block 1630). Next, the certified integrated circuit die can decrypt the signed hash (block 1640), generate a BIOS upgrade hash (block 1650), and compare the decrypted hash with the generated hash (block 1660). If a match occurs (block 1670, yes), the BIOS upgrade can be authorized (block 1680). If the match does not occur (block 1670, no), the BIOS upgrade is terminated (block 1690).

圖19顯示一種用於記憶體元件認證的處理1900,其基於記憶體元件中之系統控制器與認證積體電路晶片之間的安全通信。圖19之處理使用金鑰雜湊訊息認證碼(keyed hash massage authentication code,“keyed-HMAC”)。在處理1900中,系統控制 器至認證積體電路晶片之一些請求是通過金鑰HMAC來產生。金鑰HMAC使用基於原始金鑰及對話資料的推導金鑰(derived key),其中對話資料由系統控制器所產生,且原始金鑰儲存於認證積體電路晶片上。說明性地,對話資料可為對話金鑰。金鑰HMAC之進一步的描述可在以下找到:國家標準技術研究所(NIST),金鑰雜湊訊息認證碼(HMAC),FIPS Publication 198-1,2008年7月,其全部內容於此併入本文參考。如前面提及NIST中的文件所述,基於密碼雜湊功能之MAC已知為HMAC。MAC為用於認證訊息之來源以及訊息之完整性兩者,且HMAC具有兩個功能不同的參數:一個訊息輸入及一個秘密金鑰,其僅僅為訊息創作者(message originator)與預期的接收器(intended receiver(s)所知。發送器使用HMAC功能以從秘密金鑰產生一數值(MAC)以及產生訊息輸入。寄送MAC及訊息至訊息接收器,所述訊息接收器使用如發送器所使用的相同的金鑰及HMAC功能來計算所接收之訊息上的MAC,且比較計算結果與所接收的MAC。假如兩個數值匹配,證實了訊息之來源以及訊息之完整性。 Figure 19 shows a process 1900 for memory component authentication based on secure communication between a system controller in a memory component and an authentication integrated circuit chip. The process of Figure 19 uses a keyed hash massage authentication code ("keyed-HMAC"). In process 1900, system control Some requests from the device to the certified integrated circuit chip are generated by the key HMAC. The key HMAC uses a derived key based on the original key and the dialog material, wherein the dialog data is generated by the system controller, and the original key is stored on the authentication integrated circuit chip. Illustratively, the dialog material can be a dialog key. A further description of the key HMAC can be found below: National Institute of Standards and Technology (NIST), Key Hash Message Authentication Code (HMAC), FIPS Publication 198-1, July 2008, all of which is incorporated herein by reference. reference. As mentioned in the aforementioned document in NIST, the MAC based on the cryptographic hash function is known as HMAC. The MAC is used to authenticate the source of the message and the integrity of the message, and the HMAC has two functionally different parameters: a message input and a secret key, which is only the message originator and the intended receiver. (Intended receiver(s). The sender uses the HMAC function to generate a value (MAC) from the secret key and to generate a message input. Send the MAC and message to the message receiver, which uses a transmitter such as a transmitter. The same key and HMAC function is used to calculate the MAC on the received message, and the calculated result is compared with the received MAC. If the two values match, the source of the message and the integrity of the message are verified.

於處理程序1900中,認證積體電路晶片從系統控制器接收對話資料及HMAC,其產生對話資料以及計算HMAC(方塊1910)。因為系統控制器產生用於每一電源週期(power cycle)之獨特對話資料,由於對話資料之動態本質(dynamic nature)而提供額外的安全性。認證積體電路晶片計算推導金鑰,所述推導金鑰是基於儲存於認證積體電路晶片之金鑰記憶體中的原始金鑰以及對話資料(方塊1910)。認證積體電路晶片中所計算的推導金鑰與系統控制器中所計算的推導金鑰相同。接著,認證積體電路晶 片可接收一請求,以提供認證積體電路晶片中所維持之非揮發性單調計數器的值(方塊1920),通過使用推導金鑰之HMAC從系統控制器發送所述請求。系統控制器從認證積體電路晶片接收計數器值,且比較此計數器值與維持在系統控制器中的計數器值(方塊1930)。當沒有匹配時,認證失敗(方塊1970),且於是結束操作(方塊1980)。在匹配情況下,認證通過(方塊1940)。接著,系統控制器可通過金鑰HMAC發送請求至認證積體電路晶片,以增加非揮發性單調計數器至下一個狀態/計數,其被認證積體電路晶片正式收到(duly received)、認證且被實行(方塊1950)。隨後完成流程(方塊1960)。 In process 1900, the authentication integrated circuit wafer receives the dialog material and HMAC from the system controller, which generates the dialog material and calculates the HMAC (block 1910). Because the system controller generates unique dialog material for each power cycle, additional security is provided due to the dynamic nature of the conversational material. The authentication integrated circuit wafer calculates a derivation key that is based on the original key stored in the key memory of the certified integrated circuit chip and the dialog material (block 1910). The derived key calculated in the certified integrated circuit chip is the same as the derived key calculated in the system controller. Next, the certified integrated circuit crystal The slice may receive a request to provide a value for the non-volatile monotonic counter maintained in the certified integrated circuit die (block 1920), the request being sent from the system controller by using the HMAC of the derived key. The system controller receives the counter value from the certified integrated circuit die and compares the counter value to a counter value maintained in the system controller (block 1930). When there is no match, the authentication fails (block 1970) and the operation is then ended (block 1980). In the case of a match, the authentication passes (block 1940). Then, the system controller can send a request to the authentication integrated circuit chip through the key HMAC to increase the non-volatile monotonic counter to the next state/count, which is duly received, authenticated and authenticated by the certified integrated circuit chip. Implemented (block 1950). The process is then completed (block 1960).

本文所提出之包括其應用及優點之本發明的描述為說明性的,且不意欲限制本發明(申請專利範圍中所提出)的範疇。本文所揭露之實施例的變化及修改是可能的,且在學習此專利文件之後,本領域具有通常知識者可理解所述實施例之各種構件的實際替代物及對等物。說明性地,可變化本文給定的特定值,可改變步驟順序,可重複一些步驟,且可省略一些步驟。在不背離本發明(包括本發明後附的申請專利範圍)之範疇及精神的情況下,可對本文所揭露之實施例(包括實施例之各種構件的替代物及對等物)進行這些和其他之變化及修改。 The description of the present invention, including the application and advantages thereof, is intended to be illustrative, and is not intended to limit the scope of the invention. Variations and modifications of the embodiments disclosed herein are possible, and the actual alternatives and equivalents of the various components of the described embodiments can be understood by those of ordinary skill in the art. Illustratively, the particular values given herein may be varied, the order of steps may be varied, some steps may be repeated, and some steps may be omitted. These and other embodiments, including alternatives and equivalents of the various components of the embodiments, may be carried out without departing from the scope and spirit of the invention, including the scope of the appended claims. Other changes and modifications.

Claims (20)

一種記憶體元件,包括:封裝主體;非揮發性記憶體積體電路晶片,包含於所述封裝主體中且包括第一介面、耦接至所述第一介面的控制邏輯、以及耦接至所述控制邏輯與所述第一介面的非揮發性記憶體陣列;認證積體電路晶片,包含於所述封裝主體中且包括第二介面、耦接至所述第二介面的認證引擎、耦接至所述認證引擎的揮發性記憶體暫存器、以及耦接至所述認證引擎與所述第二介面的非揮發性記憶體陣列,其中部分所述非揮發性記憶體設計為一次性可程式化或唯讀的以儲存原始金鑰;以及接點,從所述封裝主體延伸或配置於所述封裝主體上,且所述接點電性耦接至所述第一介面以及所述第二介面,其中所述第一介面及所述第二介面分享所述接點的共用集(common set),以及所述接點與所述第一介面相容,其中所述第一介面為串列式介面,並且所述第二介面為單位元SPI介面。A memory component, comprising: a package body; a non-volatile memory volume circuit chip, included in the package body and including a first interface, control logic coupled to the first interface, and coupled to the Controlling the non-volatile memory array of the first interface; the authentication integrated circuit chip is included in the package body and includes a second interface, an authentication engine coupled to the second interface, coupled to a volatile memory register of the authentication engine, and a non-volatile memory array coupled to the authentication engine and the second interface, wherein some of the non-volatile memory is designed to be one-time programmable Or read-only to store the original key; and a contact extending from the package body or disposed on the package body, and the contact is electrically coupled to the first interface and the second An interface, wherein the first interface and the second interface share a common set of the contacts, and the contacts are compatible with the first interface, wherein the first interface is a serial Interface, and The second interface is the identity element interface SPI. 如申請專利範圍第1項所述的記憶體元件,其中所述共用集為全部所述接點。The memory component of claim 1, wherein the common set is all of the contacts. 如申請專利範圍第1項所述的記憶體元件,其中所述共用集少於全部所述接點。The memory component of claim 1, wherein the common set is less than all of the contacts. 如申請專利範圍第1項所述的記憶體元件,其中所述第一介面為SPI介面。The memory component of claim 1, wherein the first interface is an SPI interface. 申請專利範圍第1項所述的記憶體元件,其中所述第一介面為SPI/QPI介面。The memory component of claim 1, wherein the first interface is an SPI/QPI interface. 如申請專利範圍第1項所述的記憶體元件,其中所述第一介面為NAND介面。The memory component of claim 1, wherein the first interface is a NAND interface. 如申請專利範圍第1項所述的記憶體元件,其中標準的所述非揮發性記憶體積體電路晶片以及所述認證積體電路晶片為堆疊形式。The memory device of claim 1, wherein the standard non-volatile memory bulk circuit chip and the certified integrated circuit wafer are in a stacked form. 如申請專利範圍第1項所述的記憶體元件,其中所述認證積體電路晶片的所述非揮發性記憶體陣列包括一次性可程式化區段。The memory component of claim 1, wherein the non-volatile memory array of the certified integrated circuit chip comprises a disposable programmable section. 如申請專利範圍第1項所述的記憶體元件,其中所述認證積體電路晶片的所述非揮發性記憶體陣列包括金鑰記憶體以及單調計數記憶體(monotonic counter memory)。The memory component of claim 1, wherein the non-volatile memory array of the certified integrated circuit chip comprises a key memory and a monotonic counter memory. 如申請專利範圍第9項所述的記憶體元件,其中所述金鑰記憶體用於儲存多數個所述原始金鑰(root keys),以及所述單調計數記憶體用於儲存多數個計數值(count value),所述計數值對應所述原始金鑰且所述計數值為動態的且單調地變化。The memory component of claim 9, wherein the key memory is configured to store a plurality of the original keys, and the monotonic memory is used to store a plurality of count values. (count value), the count value corresponds to the original key and the count value is dynamic and monotonously changed. 如申請專利範圍第1項所述的記憶體元件,其中所述認證積體電路晶片小於所述非揮發性記憶體積體電路晶片且裝設於所述非揮發性記憶體積體電路晶片上。The memory device of claim 1, wherein the certified integrated circuit chip is smaller than the non-volatile memory bulk circuit chip and mounted on the non-volatile memory bulk circuit chip. 如申請專利範圍第1項所述的記憶體元件,其中所述非揮發性記憶體積體電路晶片小於所述認證積體電路晶片且裝設於所述認證積體電路晶片上。The memory device of claim 1, wherein the non-volatile memory volume circuit chip is smaller than the certified integrated circuit chip and mounted on the certified integrated circuit chip. 一種非揮發性記憶體積體電路晶片的認證方法,所述非揮發性記憶體積體電路晶片包含於封裝主體中且具有從所述封裝主體延伸或配置於所述封裝主體上的多數個接點,所述非揮發性記憶體積體電路晶片具有電性耦接到至少一些所述接點的第一介面,所述認證方法包括:在包含於所述封裝主體中的認證積體電路晶片的非揮發性記憶體陣列中儲存原始金鑰,所述認證積體電路晶片更包括第二介面以及耦接至所述第二介面的認證引擎,所述非揮發性記憶體陣列耦接至所述認證引擎以及所述第二介面,其中部分所述非揮發性記憶體設計為一次性可程式化或唯讀的以儲存所述原始金鑰,其中所述第一介面及所述第二介面分享所述接點的共用集,以及所述接點與所述第一介面相容,其中所述第一介面為串列式介面,並且所述第二介面為單位元SPI介面;在所述認證積體電路晶片的所述非揮發性記憶體陣列內保持單調計數;在所述認證引擎內加密(encrypting)一單調計數器值;以及將已加密的所述單調計數器值經由所述第二介面從所述認證引擎供給(furnishing)所述接點的其中之一者,所述第二介面電性耦接到至少部份的所述接點。A method for authenticating a non-volatile memory bulk circuit chip, the non-volatile memory bulk circuit chip being included in a package body and having a plurality of contacts extending from the package body or disposed on the package body, The non-volatile memory volume circuit chip has a first interface electrically coupled to at least some of the contacts, the authentication method comprising: non-volatile of an authentication integrated circuit chip included in the package body The original memory key is stored in the memory array, the authentication integrated circuit chip further includes a second interface and an authentication engine coupled to the second interface, the non-volatile memory array coupled to the authentication engine And the second interface, wherein the portion of the non-volatile memory is designed to be one-time programmable or read-only to store the original key, wherein the first interface and the second interface share the a common set of contacts, and the contacts are compatible with the first interface, wherein the first interface is a tandem interface and the second interface is a unit cell SPI interface; Maintaining a monotonic count within the non-volatile memory array of the syndrome circuit die; encrypting a monotonic counter value within the authentication engine; and passing the encrypted monotonic counter value via the second interface One of the contacts is furnished from the authentication engine, the second interface being electrically coupled to at least a portion of the contacts. 如申請專利範圍第13項所述的非揮發性記憶體積體電路晶片的認證方法,其中所述認證積體電路晶片包括耦接至所述認證引擎的揮發性記憶體暫存器,所述認證方法更包括儲存對話金鑰於所述認證積體電路晶片之所述揮發性記憶體暫存器中,且其中所述加密步驟包括透過所述對話金鑰來加密所述單調計數器值。The method for authenticating a non-volatile memory bulk circuit chip according to claim 13, wherein the certified integrated circuit chip includes a volatile memory register coupled to the authentication engine, the authentication The method further includes storing the dialog key in the volatile memory scratchpad of the authentication integrated circuit chip, and wherein the encrypting step includes encrypting the monotonic counter value via the dialog key. 一種非揮發性記憶體積體電路晶片的認證方法,所述非揮發性記憶體積體電路晶片包含於封裝主體中且具有從所述封裝主體延伸或配置於所述封裝主體上的多數個接點,所述非揮發性記憶體積體電路晶片具有電性耦接到至少部份的所述接點的第一介面,所述認證方法包括:在包含於所述封裝主體中的認證積體電路晶片的非揮發性記憶體陣列中儲存原始金鑰,所述認證積體電路晶片更包括第二介面、耦接至所述第二介面的認證引擎、以及耦接至所述認證引擎的揮發性記憶體暫存器,所述非揮發性記憶體陣列耦接至所述認證引擎以及所述第二介面,其中部分所述非揮發性記憶體設計為一次性可程式化或唯讀的以儲存所述原始金鑰,其中所述第一介面及所述第二介面分享所述接點的共用集,以及所述接點與所述第一介面相容,其中所述第一介面為串列式介面,並且所述第二介面為單位元SPI介面;在所述認證積體電路晶片的所述非揮發性記憶體陣列內保持單調計數;所述認證積體電路晶片接收與用於提供所述單調計數的金鑰雜湊訊息認證碼(keyed-hash message authentication code;金鑰HMAC)相關的請求;將所述單調計數經由所述第二介面從所述認證引擎供給所述接點的一者,所述第二介面電性耦接到至少一些所述接點;所述認證積體電路晶片接收與用於增加所述單調計數的所述金鑰HMAC相關的請求;以及在所述認證積體電路晶片中增加所述單調計數。A method for authenticating a non-volatile memory bulk circuit chip, the non-volatile memory bulk circuit chip being included in a package body and having a plurality of contacts extending from the package body or disposed on the package body, The non-volatile memory volume circuit chip has a first interface electrically coupled to at least a portion of the contacts, the authentication method comprising: an authentication integrated circuit chip included in the package body The original key is stored in the non-volatile memory array, and the authentication integrated circuit chip further includes a second interface, an authentication engine coupled to the second interface, and a volatile memory coupled to the authentication engine a non-volatile memory array coupled to the authentication engine and the second interface, wherein a portion of the non-volatile memory is designed to be one-time programmable or read-only to store the An original key, wherein the first interface and the second interface share a common set of the contacts, and the contacts are compatible with the first interface, wherein the first interface is a tandem And the second interface is a unit cell SPI interface; maintaining a monotonic count in the non-volatile memory array of the certified integrated circuit chip; the authentication integrated circuit wafer receiving and providing a keyed-hash message authentication code (key HMAC) related request; supplying the monotonic count from the authentication engine to one of the contacts via the second interface, The second interface is electrically coupled to at least some of the contacts; the authentication integrated circuit die receives a request related to the key HMAC for increasing the monotonic count; and the authentication integration The monotonic count is added to the circuit die. 如申請專利範圍第15項所述的非揮發性記憶體積體電路晶片的認證方法,更包括:基於對話資料(session data)以及所述原始金鑰計算推導金鑰(derived key);以及儲存所述推導金鑰於所述揮發性記憶體暫存器中;其中所述金鑰HMAC為基於所述推導金鑰的HMAC。The method for authenticating a non-volatile memory volume circuit chip according to claim 15, further comprising: calculating a derived key based on the session data and the original key; and storing the location Deriving a key in the volatile memory register; wherein the key HMAC is an HMAC based on the derived key. 一種記憶體元件的製造方法,包括:將標準的非揮發性記憶體積體電路晶片及認證積體電路晶片堆疊在一起,以形成晶片在晶片上(die-on-die)堆疊,所述標準的非揮發性記憶體積體電路晶片包括第一介面、耦接至所述第一介面的控制邏輯、以及耦接至所述控制邏輯與所述第一介面的非揮發性記憶體陣列,且所述認證積體電路晶片包括第二介面、耦接至所述第二介面的認證引擎、耦接至所述認證引擎的揮發性記憶體暫存器、以及耦接至所述認證引擎與所述第二介面的非揮發性記憶體陣列,其中部分所述非揮發性記憶體設計為一次性可程式化或唯讀的以儲存原始金鑰;將多數個接點電性耦接至所述第一介面與所述第二介面;以及將所述晶片在晶片上堆疊囊封(encapsulating)於封裝主體中,所述接點從所述封裝主體延伸或配置於所述封裝主體上,其中所述第一介面及所述第二介面分享所述接點的共用集,以及所述接點與所述第一介面相容,其中所述第一介面為串列式介面,並且所述第二介面為單位元SPI介面。A method of fabricating a memory device, comprising: stacking standard non-volatile memory bulk circuit chips and certified integrated circuit wafers together to form a die-on-die stack of said standard The non-volatile memory volume circuit chip includes a first interface, control logic coupled to the first interface, and a non-volatile memory array coupled to the control logic and the first interface, and The certified integrated circuit chip includes a second interface, an authentication engine coupled to the second interface, a volatile memory register coupled to the authentication engine, and coupled to the authentication engine and the a two-interface non-volatile memory array, wherein some of the non-volatile memory is designed to be one-time programmable or read-only to store an original key; a plurality of contacts are electrically coupled to the first An interface and the second interface; and encapsulating the wafer on a wafer in a package body, the contact extending from the package body or disposed on the package body, wherein the One And the second interface shares a common set of the contacts, and the contacts are compatible with the first interface, wherein the first interface is a tandem interface and the second interface is a unit Meta SPI interface. 如申請專利範圍第17項所述的記憶體元件的製造方法,其中所述電性耦接步驟包括將所述第一介面及所述第二介面互相電性耦接,所述第二介面為所述第一介面的子集(subset),且所述接點相容於所述第一介面。The method of manufacturing a memory device according to claim 17, wherein the electrically coupling step comprises electrically coupling the first interface and the second interface to each other, and the second interface is a subset of the first interface, and the contacts are compatible with the first interface. 如申請專利範圍第17項所述的記憶體元件的製造方法,其中所述認證積體電路晶片小於所述非揮發性記憶體積體電路晶片,且所述堆疊步驟包括將所述認證積體電路晶片堆疊於所述非揮發性記憶體積體電路晶片上。The method of manufacturing a memory device according to claim 17, wherein the authentication integrated circuit wafer is smaller than the non-volatile memory bulk circuit wafer, and the stacking step includes the authenticating integrated circuit A wafer is stacked on the non-volatile memory volume circuit wafer. 如申請專利範圍第17項所述的記憶體元件的製造方法,其中所述非揮發性記憶體積體電路晶片小於所述認證積體電路晶片,且所述堆疊步驟包括將所述非揮發性記憶體積體電路晶片堆疊於所述認證積體電路晶片上。The method of fabricating a memory device according to claim 17, wherein the non-volatile memory volume circuit chip is smaller than the authentication integrated circuit chip, and the stacking step comprises the non-volatile memory A bulk body circuit wafer is stacked on the certified integrated circuit wafer.
TW102125048A 2013-07-12 2013-07-12 Nonvalatile memory device having authentication, and methods of operation and manufacture thereof TWI640895B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102125048A TWI640895B (en) 2013-07-12 2013-07-12 Nonvalatile memory device having authentication, and methods of operation and manufacture thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102125048A TWI640895B (en) 2013-07-12 2013-07-12 Nonvalatile memory device having authentication, and methods of operation and manufacture thereof

Publications (2)

Publication Number Publication Date
TW201502853A TW201502853A (en) 2015-01-16
TWI640895B true TWI640895B (en) 2018-11-11

Family

ID=52718412

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102125048A TWI640895B (en) 2013-07-12 2013-07-12 Nonvalatile memory device having authentication, and methods of operation and manufacture thereof

Country Status (1)

Country Link
TW (1) TWI640895B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI728572B (en) * 2019-07-04 2021-05-21 新唐科技股份有限公司 Rpmc flash emulation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212871A1 (en) * 2002-05-09 2003-11-13 Fujitsu Limited Memory device and method of controlling the same
US20080080255A1 (en) * 2006-09-29 2008-04-03 Yishai Kagan Dual Voltage Flash Memory Card
US7454556B1 (en) * 2005-02-02 2008-11-18 Xilinx, Inc. Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface
US20110246707A1 (en) * 2010-03-30 2011-10-06 Renesas Electronics Corporation Semiconductor device and data processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212871A1 (en) * 2002-05-09 2003-11-13 Fujitsu Limited Memory device and method of controlling the same
US7454556B1 (en) * 2005-02-02 2008-11-18 Xilinx, Inc. Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface
US20080080255A1 (en) * 2006-09-29 2008-04-03 Yishai Kagan Dual Voltage Flash Memory Card
US20110246707A1 (en) * 2010-03-30 2011-10-06 Renesas Electronics Corporation Semiconductor device and data processing method

Also Published As

Publication number Publication date
TW201502853A (en) 2015-01-16

Similar Documents

Publication Publication Date Title
US9348995B2 (en) Nonvolatile memory device having authentication, and methods of operation and manufacture thereof
CN104346587B (en) Identifiable non-volatile memory components and its operation and manufacturing method
US9489540B2 (en) Memory controller with encryption and decryption engine
US9887841B2 (en) Authenticator, authenticatee and authentication method
TWI740409B (en) Verification of identity using a secret key
US8572410B1 (en) Virtualized protected storage
US9100187B2 (en) Authenticator
US9253169B2 (en) Memory and storage devices to be authenicated using a host device, authenication system and host device
EP2874135A2 (en) Integrated Circuit Provisioning Using Physical Unclonable Function
WO2020037612A1 (en) Embedded program secure boot method, apparatus and device, and storage medium
US9160531B2 (en) Host device, semiconductor memory device, and authentication method
US20130156195A1 (en) Method of obtaining a main key from a memory device, method of generating authentication information for a memory device, an external device and system icluding the external device
US11070380B2 (en) Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method
ES2873598T3 (en) Memory system and link procedure between it and the host
US8732466B2 (en) Semiconductor memory device
US20130142333A1 (en) Semiconductor storage device
US20050071656A1 (en) Secure processor-based system and method
CN108920984A (en) The anti-clone of one kind distorts safe SSD main control chip framework
KR100972540B1 (en) Secure memory card with life cycle phases
US20140056424A1 (en) Manufacturing method
US10970232B2 (en) Virtual root of trust for data storage device
US8989374B2 (en) Cryptographic device for secure authentication
TWI640895B (en) Nonvalatile memory device having authentication, and methods of operation and manufacture thereof
US20210240833A1 (en) Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain
TWI775033B (en) Security memory scheme