JP2019198071A - 集積回路デバイス及び集積回路デバイスの動作方法 - Google Patents

集積回路デバイス及び集積回路デバイスの動作方法 Download PDF

Info

Publication number
JP2019198071A
JP2019198071A JP2019088475A JP2019088475A JP2019198071A JP 2019198071 A JP2019198071 A JP 2019198071A JP 2019088475 A JP2019088475 A JP 2019088475A JP 2019088475 A JP2019088475 A JP 2019088475A JP 2019198071 A JP2019198071 A JP 2019198071A
Authority
JP
Japan
Prior art keywords
address
bit
data bits
random number
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019088475A
Other languages
English (en)
Other versions
JP7327990B2 (ja
Inventor
基進 姜
Gijin Kang
基進 姜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2019198071A publication Critical patent/JP2019198071A/ja
Application granted granted Critical
Publication of JP7327990B2 publication Critical patent/JP7327990B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/007Register arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)

Abstract

【課題】向上されたセキュリティを有してデータビットを伝達又は受信する集積回路デバイス及び集積回路デバイスの動作方法を提供する。【解決手段】集積回路デバイスにおいて、周辺ブロック100aは、それぞれ2つ以上のビットストアを含むように構成されるレジスタ120、レジスタの中の1つを示すアドレス及びデータビットを受信し、混合構成とアドレスに基づいてレジスタのビットストアの中からデータビットが格納される目標ビットストアを選択し、目標ビットストアにデータビットを格納し、混合構成に応じて目標ビットストアからデータビットを伝達するように構成される混合器110a、そして混合器110aから伝達されるデータビットを受信し、受信したデータビットを利用して動作するように構成される論理部130を含む。混合構成は、リセットが遂行される際に調節される。【選択図】図3

Description

本発明は、半導体デバイスに関し、より詳細には、受信されるデータのセキュリティを高める集積回路デバイス及び集積回路デバイスの動作方法に関するものである。
半導体デバイスは、多様な分野において利用されている。半導体デバイスが利用される分野の中で、一部の分野は、セキュリティを必要とする。例えば、スマートカードは、キー(key)を利用して暗号化又は復号化を行うことができる。暗号化又は復号化は、AES(Advanced Encryption Standard)に基づくことができる。
暗号化又は復号化を遂行するために、AESエンジンにキーを伝達しなければならない。AESエンジンにキー伝達するとき、キーがサイドバンドチャネルアタック(SCA:Sideband Channel Attack)のような手段によって露呈されてしまい得る。キーが露呈されると、スマートカードがハッキングされてしまい得る。
このように、データを伝達する過程で、データの露呈を防止するためのセキュリティに対する要求が提起されている。本発明は、伝達されるデータの露呈を防止して向上されたセキュリティを有する集積回路デバイスと集積回路デバイスの動作方法を提供しようとする。
本発明の目的は、向上されたセキュリティを有してデータビットを伝達又は受信する集積回路デバイス及び集積回路デバイスの動作方法を提供することにある。
本発明の実施形態による集積回路デバイスは、それぞれ2つ以上のビットストアを含むように構成されるレジスタ、レジスタの中の1つを示すアドレス及びデータビットを受信し、混合(シャッフル)構成とアドレスに基づいてレジスタのビットストアの中からデータビットが格納される目標ビットストアを選択し、目標ビットストアにデータビットを格納し、混合構成に応じて目標ビットストアからデータビットを伝達するように構成される混合器(シャッフラー)、そして混合器から伝達されるデータビットを受信し、受信したデータビットを利用して動作するように構成される論理部を含む。混合構成は、リセットが遂行される際に調節される。
本発明の実施形態による集積回路デバイスは、アドレス及び二つ以上のデータビットを含むキーを出力するように構成されるプロセッサコア、リセットのときにリセット信号を活性化するように構成される電源マネージャー、リセット信号に応答してランダム数(乱数)を生成するように構成されるランダム数生成器、そしてアドレス及びランダム数に応じてキーを格納し、キーを用いて暗号化又は復号化を遂行するように構成される暗号化及び復号化のブロックを含む。暗号化及び復号化のブロックは、それぞれ二つ以上のビットストアを含むレジスタ、並びに、アドレス及びランダム数に応じてレジスタのビットストアの中からキーを格納する目標ビットストアを調節するように構成される混合器を含む。
本発明の実施形態による集積回路デバイスはレジスタ、混合器及び論理部を含む。本発明の実施形態による集積回路デバイスの動作方法は、リセットを検出することにより、混合器でランダム数を受信するステップと、混合器でアドレス及びデータビットを受信するステップと、ランダム数及びアドレスにより、混合器でレジスタのビットストアの中から目標ビットストアを選択するステップと、そして混合器がデータビットを目標ビットストアに格納するステップと、を含む。
本発明によると、データビットが格納されている位置は、混合構成(shuffle configuration)によって指定され、混合構成は、リセットが遂行される際に調節される。したがって、向上されたセキュリティを有しデータビットを伝達又は受信する集積回路デバイス及び集積回路デバイスの動作方法が提供される。
図1は、本発明の実施形態による集積回路デバイスを示すブロック図である。 図2は、本発明の実施形態による集積回路デバイスの動作方法を示すフローチャートである。 図3は、本発明の第1実施形態による周辺ブロックを示すブロック図である。 図4は、混合構成が反映されないとき、データビットが特殊機能レジスタに格納される例を示している。 図5は、第1例による混合構成が反映されたデータビットの格納方法を示す。 図6は、ランダム数の選択されたビットによりアドレスが変換される例を示す。 図7は、図6に対応する混合構成に応じて復元器が内部の伝達経路を調節する例を示す。 図8は、第2例による混合構成が反映されたデータビットの格納方法を示す。 図9は、ランダム数の選択されたビットによりアドレスが変換される例を示す。 図10は、図9に対応する混合構成に応じて復元器が内部の伝達経路を調節する例を示す。 図11は、本発明の第2実施形態による周辺ブロックを示すブロック図である。 図12は、第3例による混合構成が反映されたデータビットの格納方法を示す。 図13は、変換されたアドレス、ランダム数の選択された第1ビット及び選択された第2ビットに基づいてアドレスが変換される例を示す。 図14は、本発明の第3実施形態による周辺ブロックを示すブロック図である。 図15は、第4例による混合構成が反映されたデータビットの格納方法を示す。 図16は、本発明の第4実施形態による周辺ブロックを示すブロック図である。 図17は、第5例による混合構成が反映されたデータビットの格納方法を示す。 図18は、第6例による混合構成が反映されたデータビットの格納方法を示す。 図19は、本発明の第5実施形態による周辺ブロックを示すブロック図である。 図20は、本発明の第6実施形態による周辺ブロックを示すブロック図である。
以下で、本発明の技術分野における通常の知識を有する者が本発明を容易に実施できる程度に、本発明の実施形態が明確かつ詳細に記載されるだろう。
図1は、本発明の実施形態による集積回路デバイス10を示すブロック図である。図1を参照すると、集積回路デバイス10は、プロセッサコア11、ランダム数(乱数)生成器12、電源マネージャー13及び周辺ブロック100を含む。プロセッサコア11は、集積回路デバイス10を制御することができる。
プロセッサコア11は、データビット(DB)及びデータビット(DB)が格納される位置を示すアドレス(AD)を周辺ブロック100に伝達できる。例えば、周辺ブロック100は、AES(Advanced Encryption Standard)エンジンのような暗号化及び復号化のブロックであり得る。プロセッサコア11は、暗号化又は復号化が必要となるときに、キーをデータビット(DB)として周辺ブロック100に伝達できる。
ランダム数生成器12は、リセット信号(RST)に応答してランダム数(RN)を生成することができる。ランダム数生成器12は、ランダム数(RN)を生成する度にランダム数(RN)の値を調節することができる。例えば、ランダム数生成器12は、集積回路デバイス10に提供される時計(図示せず)の時間を種(seed)として利用してランダム数(RN)を生成することができる。
電源マネージャー13は、集積回路デバイス10のリセット又は電源供給を検出することができる。リセット又は電源供給が検出されると、電源マネージャー13は、ランダム数生成器12に供給されるリセット信号(RST)を活性化することができる。
周辺ブロック100は、混合器(shuffler、シャッフラー)110、特殊機能レジスタ(SFR)120及び論理部130を含む。混合器110は、プロセッサコア11からのアドレス(AD)及びデータビット(DB)を示すことができる。アドレス(AD)は、特殊機能レジスタ120のストア(例えば、ビットストア)の中でデータビット(DB)が格納される位置を示すことができる。
混合器110は、ランダム数(RN)により混合(シャッフル)構成(shuffle configuration)を調節することができる。混合器110は、混合構成及びアドレス(AD)により、特殊機能レジスタ120のビットストアの中からデータビット(DB)が格納される目標ビットストアを選択することができる。
混合器110は、特殊機能レジスタ120の目標ビットストアにデータビット(DB)を格納することができる。混合器110は、混合構成に応じて、特殊機能レジスタ120の目標ビットストアからデータビット(DB)を受信し、受信したデータビット(DB)を論理部130に伝達することができる。
論理部130は、混合器110から伝達されるデータビット(DB)を利用して、指定された動作を遂行することができる。例えば、論理部130は、データビット(DB)をキーとして使用して暗号化又は復号化を行うことができる。
本発明の実施形態によると、アドレス(AD)が同一であっても、特殊機能レジスタ120におけるデータビット(DB)が格納される位置は、混合構成に応じて変更される。混合構成は、リセット信号(RST)が活性化される際に調節される。したがって、特殊機能レジスタ(SFR)をプロービング(probing)してデータビット(DB)を獲得しようとするサイドバンドチャネルアタック(SCA)(Sideband Channel Attack)を遮断する高いセキュリティを有する集積回路デバイス10が提供される。
図2は、本発明の実施形態による集積回路デバイス10の動作方法を示すフローチャートである。図1及び図2を参照すると、S110ステップで、集積回路デバイス10がリセットされることができる。電源マネージャー13は、リセット信号(RST)を活性化することができる。リセット信号(RST)の活性化に応答して、ランダム数生成器12は、ランダム数(RN)を生成することができる。
S120ステップにおいて、混合器110は、ランダム数(RN)により混合構成を調整することができる。混合構成はランダム数(RN)のビットの中で一部のビットを包含できる。S130ステップで、混合器110は、アドレス(AD)及びデータビット(DB)を受信することができる。S140ステップで、混合器110は、混合構成及びアドレス(AD)に基づいて、特殊機能レジスタ120のビットストアの中からデータビット(DB)が格納される目標ビットストアを選択することができる。
S150ステップで、混合器110は、データビット(DB)を目標ビットストアに格納することができる。S160ステップで、混合器110は、混合構成に応じて目標ビットストアから伝達されるデータビット(DB)を論理部130に提供することができる。
図3は、本発明の第1実施形態による周辺ブロック100aを示すブロック図である。図3を参照すると、周辺ブロック100aは、混合器110a、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120は、第1〜第4レジスタ(SFR1〜SFR4)(121〜124)を包含できる。第1〜第4レジスタ(121〜124)のそれぞれは、二つ以上のビットストアを包含できる。二つ以上のビットストアのそれぞれは、フリップフロップを包含できる。
混合器110aは、アドレス変換器111、アドレスデコーダ112及び復元器113を含む。アドレス変換器111は、アドレス(AD)及びランダム数(RN)を受信することができる。アドレス(AD)は、第1〜第4レジスタ(121〜124)のいずれか一つを示すことができる。アドレス変換器111は、ランダム数(RN)を利用して、アドレス(AD)を変換することができる。
変換されたアドレス(AD_C)は、第1〜第4レジスタ(121〜124)のいずれか一つを示すことができる。変換されたアドレス(AD_C)はアドレス(AD)と同じであるか又は異なることができる。アドレス変換器111は、ランダム数(RN)を利用して、アドレス(AD)を変換することにより、混合構成に応じて目標ビットのストアを調節することができる。
アドレス変換器111は、変換されたアドレス(AD_C)をアドレスデコーダ112に提供することができる。アドレスデコーダ112は、変換されたアドレス(AD_C)及びデータビット(DB)を受信することができる。アドレスデコーダ112は、変換されたアドレス(AD_C)に基づいてデータビット(DB)を第1〜第4レジスタ(121〜124)のいずれか一つに提供(又は格納)することができる。例えば、アドレスデコーダ112は、データビット(DB)を第1〜第4情報(I1〜I4)の中の一つとして、第1〜第4レジスタ(121〜124)のいずれか一つに提供することができる。
復元器113は、ランダム数(RN)を受信することができる。復元器113は、ランダム数(RN)に基づいて、第1〜第4情報(I1〜I4)を第1〜第4復元された情報(RI1〜RI4)に出力することができる。復元器113は、ランダム数(RN)に基づいて、第1〜第4情報(I1〜I4)が第1〜第4復元された情報(RI1〜RI4)に出力される経路を調節することができる。
論理部130は、第1〜第4レジスタ(121〜124)にそれぞれ対応する入力を有することができる。入力は、それぞれ第1〜第4復元された情報(RI1〜RI4)を受信するように構成されることができる。復元器113は、アドレス(AD)に該当する入力にデータビット(DB)が伝達されるように、内部の伝達経路を調節することができる。
例えば、第1レジスタ121を示すアドレス(AD)とともに受信されたデータビット(DB)は、混合構成に応じて、第3情報(I3)として、第3レジスタ123に格納することができる。復元器113は、第3レジスタ123から伝達される第3情報(I3)を混合構成に応じて、第1復元された情報(RI1)に出力することができる。復元器113は、ランダム数(RN)に基づいて、内部の伝達経路を調節することにより、混合構成に応じて目標ビットストアからのデータビット(DB)を論理部(130)の適切な入力に伝達することができる。
図4は、混合構成が反映されないとき、データビット(DB)が特殊機能レジスタ120に格納される例を示している。図4を参照すると、データビット(DB)は、「01」のアドレス(AD)とともに受信されることができる。データビット(DB)は、第1〜第8ビット(D1〜D8)を包含できる。
第1〜第8ビット(D1〜D8)は、位置に応じて、それぞれ「000」〜「111」と表示されるオフセットビット(OFF)を有することができる。オフセットビット(OFF)はアドレス(AD)に含まれていたり、データビット(DB)に含まれていたりする値ではない可能性がある。オフセットビットに(OFF)は、第1〜第8ビット(D1〜D8)の位置に基づいて指定される一時的値であり得る。
第1レジスタ121は、「00」のアドレス(AD)に指定されることができる。第2レジスタ122は、「01」のアドレス(AD)に指定されることができる。第3レジスタ123は、「10」のアドレス(AD)に指定されることができる。第4レジスタ124は、「11」のアドレス(AD)に指定されることができる。第1〜第4レジスタ(121〜124)のそれぞれは、第1〜第8ビットストア(B1〜B8)を包含できる。
混合構成が反映されていなければ、「01」のアドレス(AD)に基づいてデータビット(DB)は、第2レジスタ122に格納されることができる。混合構成が反映されていなければ、第1〜第8ビット(D1〜D8)は、第1〜第8ビットストア(B1〜B8)にそれぞれ格納されることができる。混合構成が反映されていなければ、「01」のアドレス(AD)に関連されたデータビット(DB)は、常に第2レジスタ122に格納される。したがって、データビット(DB)は、サイドバンドチャネルアタックに脆弱である。
図5は、第1例による混合構成が反映されたデータビット(DB)の格納方法を示す。図5を参照すると、データビット(DB)は、「01」のアドレス(AD)とともに受信されることができる。ランダム数(RN)は、「1011011100」のビットを包含できる。混合構成はランダム数(RN)のビットの中で左側から3番目及び4番目のビット、すなわち「11」を包含できる。
混合器110は、「01」のアドレス(AD)及びランダム数(RN)のビットの中で「11」の選択されたビットを用いて排他的論理和(XOR)演算を遂行することができる。演算の結果は、変換されたアドレス(AD_C)であり得る。たとえば、変換されたアドレス(AD_C)は「10」であり得る。変換されたアドレス(AD_C)に基づいて、第1〜第8ビット(D1〜D8)は、第3レジスタ123の第1〜第8ビットストア(B1〜B8)にそれぞれ格納されることができる。
図6は、ランダム数(RN)の選択されたビットに基づいてアドレス(AD)が変換される例を示す。図3及び図6を参照すると、ランダム数(RN)の選択されたビットが「00」であるとき、混合構成は、第1状態(S1)であり得る。第1状態(S1)において、アドレス変換器111は、アドレス(AD)を変換されたアドレス(AD_C)に出力することができる。
ランダム数(RN)の選択されたビットが「01」であるとき、混合構成は、第2状態(S2)であり得る。第2状態(S2)において、アドレス変換器(111)は、「00」、「01」、「10」、「11」のアドレス(AD)をそれぞれ「01」、「00」、「11」、「10」の変換されたアドレス(AD_C)に変換することができる。ランダム数(RN)の選択されたビットが「10」であるとき、混合構成は、第3状態(S3)であり得る。第3状態(S3)において、アドレス変換器111は、「00」、「01」、「10」、「11」のアドレス(AD)をそれぞれ「10」、「11」、「00」、「01」の変換されたアドレス(AD_C)に変換することができる。
ランダム数(RN)の選択されたビットが「11」であるとき、混合構成は、第4状態(S4)であり得る。第4状態(S4)において、アドレス変換器111は、「00」、「01」、「10」、「11」のアドレス(AD)をそれぞれ「11」、「10」、「01」、「00」の変換されたアドレス(AD_C)に変換することができる。
ランダム数(RN)は、集積回路デバイス10(図1参照)がリセットされるとき、又は集積回路デバイス10に電源が供給されるときに更新される。つまり、ランダム数(RN)は、集積回路デバイス10がリセットされるとき、又は集積回路デバイス10に電源が供給されるとき、混合構成の状態が変わる。
アドレス(AD)が同一であっても、集積回路デバイス10がリセットされたり、集積回路デバイス10に電源が供給されたりする際に、データビット(DB)が格納される目標ビットストアの位置が変化する。したがって、サイドバンドチャネルアタックによってデータビット(DB)が露呈されるのが防止される。
図7は、図6に対応する混合構成に応じて復元器113が内部の伝達経路を調節する例を示す。図3及び図7を参照すると、混合構成が第1状態のとき、復元器113は、第1〜第4情報(I1〜I4)を第1〜第4復元された情報(RI1〜RI4)にそれぞれ伝達することができる。
混合構成が第2状態(S2)のとき、復元器113は、第1情報(I1)を第2復元された情報(RI2)に伝達し、第2情報(I2)を第1復元された情報(RI1)に伝達することができる。また、復元器113は、第3情報(I3)を第4復元された情報(RI4)に伝達し、そして第4情報(I4)を第3復元された情報(RI3)に伝達することができる。
混合構成が第3状態(S3)であるとき、復元器113は、第1情報(I1)を第3復元された情報(RI3)に伝達し、第2情報(I2)を第4復元された情報(RI4)に伝達することができる。また、復元器113は、第3情報(I3)を第1復元された情報(RI1)に伝達し、第4情報(I4)を第2復元された情報(RI2)に伝達することができる。
混合構成が第4状態(S4)であるとき、復元器113は、第1情報(I1)を第4復元された情報(RI4)に伝達し、第2情報(I2)を第3復元された情報(RI3)に伝達することができる。また、復元器113は、第3情報(I3)を第2復元された情報(RI2)に伝達し、第4情報(I4)を第1復元された情報(RI1)に伝達することができる。
図8は、第2例による混合構成が反映されたデータビットに(DB)の格納方法を示す。図5と比較すると、混合器110は、ランダム数(RN)から1つのビット、例えば、左側から三番目の「1」のビットを選択することができる。また、アドレス(AD)のビットの中から一部の、例えば、左側から一番目の「0」のビットを選択することができる。
混合器110は、ランダム数(RN)の選択されたビット及びアドレス(AD)の選択されたビットに対し排他的論理和を遂行することができる。演算の結果は、アドレス(AD)の選択されたビットを置換することができる。置換の結果は、変換されたアドレス(AD_C)であり得る。たとえば、変換されたアドレス(AD_C)は「11」であり得る。アドレス(AD)に基づいて、データビット(DB)は、第4レジスタ124に格納されることができる。
図9は、ランダム数の選択されたビットに基づいてアドレス(AD)が変換される例を示す。図3及び図9を参照すると、ランダム数(RN)の選択されたビットが「0」のとき、混合構成は、第1状態であり得る。第1状態(S1)において、アドレス変換器(111)は、アドレス(AD)を変換されたアドレス(AD_C)に出力することができる。ランダム数(RN)の選択されたビットが「1」のとき、混合構成は、第2状態であり得る。第2状態(S2)は、図6を参照して説明された第3状態(S3)と同じであり得る。
図10は、図9に対応する混合構成に応じて復元器が内部の伝達経路を調節する例を示す。図3及び図10を参照すると、混合構成が第1状態のとき、復元器113は、第1〜第4情報(I1〜I4)を第1〜第4復元された情報(RI1〜RI4)にそれぞれ伝達することができる。
混合構成が第2状態(S2)のとき、復元器113は、第1情報(I1)を第3復元された情報(RI3)に伝達し、第2情報(I2)を第4復元された情報(RI4)に伝達することができる。また、復元器113は、第3情報(I3)を第1復元された情報(RI1)に伝達し、そして第4情報(I4)を第2復元された情報(RI2)に伝達することができる。
図5〜図7を参照して説明された混合構成と比較すると、図8〜図10を参照して説明された混合構成は、制限された変換を遂行する。図7の復元器113と比較すると、図10の復元器113は、減少された状態を有する。したがって、復元器113の複雑度、サイズ及び製造コストが減少する。
図11は、本発明の第2実施形態による周辺ブロック100bを示すブロック図である。図11を参照すると、周辺ブロック100bは、混合器110b、特殊機能レジスタ120a及び論理部130を含む。論理部130は、図3の論理部130と同一であり得る。
特殊機能レジスタ120aは、第1〜第5レジスタ(121〜125)を含む。第1〜第5レジスタ(121〜125)の中の少なくとも一つのレジスタ、例えば、第5レジスタ125は、アドレス(AD)が指定されない場合がある。第5レジスタ125は、データビット(DB)のセキュリティを高めるのに使用されることができる。
混合器110bは、アドレス変換器111、アドレスデコーダ112a及び復元器113aを含む。アドレス変換器111は、図3のアドレス変換器111と同じように動作し、同じように構成されることができる。アドレスデコーダ112aは、図3のアドレスデコーダ112と比較してランダム数(RN)をさらに受信することができる。アドレスデコーダ112aは、混合構成に応じて、データビット(DB)が格納される位置をさらに調節することができる。
アドレスデコーダ112aは、変換されたアドレス(AD_C)及びランダム数(RN)に基づいてデータビット(DB)を第1〜第5情報(I1〜I5)の中の一つとして、第1〜第5レジスタ(121〜125)のいずれか一つに提供することができる。復元器113aは、第1〜第5レジスタ(121〜125)から伝達される第1〜第5情報(I1〜I5)を第1〜第4復元された情報(RI1〜RI4)として論理部130に伝達することができる。
図12は、第3例による混合構成が反映されたデータビット(DB)の格納方法を示す。図11及び図12を参照すると、アドレス(AD)は、「01」であり得る。図5を参照して説明されたように、アドレス変換器111は、ランダム数(RN)の選択されたビット(例えば、選択された第1ビット)及びアドレス(AD)に対し排他的論理和を遂行することができる。
変換されたアドレス(AD_C)は「01」であり得る。アドレスデコーダ112aは、ランダム数(RN)の選択された第2ビットを参照することができる。選択された第2ビットは、例えば、ランダム数(RN)のビットのうち右側から3番目及び2番目のビットである「10」であり得る。アドレスデコーダ112aは、ランダム数(RN)の選択された第2ビット及び変換されたアドレス(AD_C)を比較することができる。
変換されたアドレス(AD_C)と選択された第2ビットが異なるとき、アドレスデコーダ112aは、変換されたアドレス(AD_C)に基づいて、第1〜第4レジスタ(121〜124)のいずれか一つを選択することができる。変換されたアドレス(AD_C)と選択された第2ビットが同一であるとき、アドレスデコーダ112aは、第5レジスタ125を選択することができる。
本発明の実施形態によると、四つのレジスタのいずれか一つを示すアドレス(AD)に基づいて、データビット(DB)が5つのレジスタのいずれか一つに格納される。したがって、データビット(DB)のセキュリティがさらに向上される。
図12において、アドレスデコーダ112aは、変換されたアドレス(AD_C)とランダム数(RN)の選択された第2ビットに基づいて第5レジスタ125を選択することで説明された。しかし、アドレスデコーダ112aが第5レジスタ125を選択する基準は、変換されたアドレス(AD_C)及びランダム数(RN)の選択された第2ビットに限定されない。
図13は、変換されたアドレス(AD_C)、ランダム数(RN)の選択された第1ビット及び選択された第2ビットに基づいてアドレスが変換される例を示す。図11及び図13を参照すると、ランダム数(RN)の選択された第1ビット(RN_XOR)により、混合構成は、第1〜第4状態(S1〜S4)を有し得る。第1〜第4状態(S1〜S4)は、図6を参照して説明された第1〜第4状態(S1〜S4)に対応することができる。
ランダム数(RN)の選択された第2ビット(RN_COMP)に基づいて、第1〜第4状態(S1〜S4)で例外条件(EXC)が満足されることができる。例外条件(EXC)が満足されると、図12を参照して説明されたように、アドレスデコーダ112aは、変換されたアドレス(AD_C)に関わらず、第5レジスタ125を選択することができる。
選択された第2ビット(RN_COMP)は「00」〜「11」の値を持つことができる。第1〜第4状態に(S1〜S4)で、変換されたアドレス(AD_C)が選択された第2ビット(RN_COMP)と同じであれば、例外条件(EXC)が満足されることができる。図13を参照して説明されたように、ランダム数(RN)の選択された第1ビットの(RN_XOR)及び選択された第2ビット(RN_COMP)に基づいて例外条件(EXC)が満足されるアドレス(AD)の値が変わる。したがって、データビット(DB)のセキュリティがさらに向上される。
復元器113aは、図7を参照して説明された構成に加えて、例外条件(EXC)が満足されるときに、第5レジスタ125から伝達される第5情報(I5)を第1〜第4復元された情報(RI1〜RI4)のいずれか一つに伝達するように、さらに構成されることができる。
図14は、本発明の第3実施形態による周辺ブロック100cを示すブロック図である。図14を参照すると、周辺ブロック100cは、混合器110c、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120及び論理部130は、図3を参照して説明されたのと同じように構成され、同じように動作することができる。
混合器110cは、アドレスデコーダ112、復元器113及びオフセット変換器114を含む。オフセット変換器114は、データビット(DB)及びランダム数(RN)を受信することができる。オフセット変換器114は、ランダム数(RN)に基づいてデータビット(DB)のオフセットビット(OFF)を変換し、変換されたオフセットビット(OFF)に基づいてデータビット(DB)の順序を変換することができる。オフセット変換器114は、変換結果として変換されたデータビット(DB_C)を出力することができる。
アドレスデコーダ112は、アドレス(AD)及び変換されたデータビット(DB_C)を受信することができる。アドレスデコーダ112は、アドレス(AD)に基づいて変換されたデータビット(DB_C)を第1〜第4レジスタ(121〜124)のいずれか一つのレジスタに格納することができる。変換されたデータビット(DB_C)は、第1〜第4情報(I1〜I4)の中の一つとして、第1〜第4レジスタ(121〜124)のいずれか一つに格納されることができる。
復元器113bは、ランダム数(RN)を受信することができる。復元器113bは、ランダム数(RN)に基づいて、第1〜第4情報(I1〜I4)を第1〜第4復元された情報(RI1〜RI4)として論理部130に伝達することができる。復元器113bは、ランダム数(RN)に基づいて変換されたデータビット(DB_C)のオフセットビットを復元し、復元されたオフセットビットを用いてデータビット(DB)を復元することができる。
図15は、第4例による混合構成が反映されたデータビット(DB)の格納方法を示す。図14及び図15を参照すると、オフセット変換器114は、第1〜第8ビット(D1〜D8)の位置(例えば、順序)に基づいてオフセットビット(OFF)を識別することができる。
オフセット変換器114は、ランダム数(RN)のビットの中から左側から三番目乃至5番目のビットを選択することができる。オフセット変換器114は、オフセットビット(OFF)及びランダム数(RN)の選択されたビットに対して排他的論理和(XOR)を遂行して、変換されたオフセットビット(OFF_C)を生成することができる。
オフセット変換器114は、変換されたオフセットビット(OFF_C)に基づいて、第1乃至第8ビットに(D1〜D8)を再配列して、変換されたデータビット(DB_C)を生成することができる。アドレス(AD)が「01」なので、アドレスデコーダ112は、変換されたデータビット(DB_C)を、第2レジスタ122に格納することができる。
復元器113は、ランダム数(RN)を受信することができる。復元器113は、ランダム数(RN)の選択されたビットを用いて、第1〜第4情報(I1〜I4)の変換されたデータビット(DB_C)のオフセットビット(OFF)を復元し、復元されたオフセットビット(OFF)に基づいてデータビット(DB)を復元することができる。
図3〜図13を参照して説明された実施形態は、データビット(DB)が格納されるレジスタを調節することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節する。一方、図14及び図15を参照して説明された実施形態は、レジスタに格納される第1乃至第8ビット(D1〜D8)の位置を調節することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節することができる。
図16は、本発明の第4実施形態による周辺ブロック100dを示すブロック図である。図16を参照すると、周辺ブロック100dは、混合器110d、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120及び論理部130は、図3を参照して説明されたのと同じように構成され、同じように動作することができる。
混合器110dは、アドレスデコーダ112、オフセット変換器114a及び第1〜第4復元器(113_1〜113_4)を含む。アドレスデコーダ112は、図3を参照して説明されたのと同じように構成され、同じように動作することができる。
オフセット変換器114aは、アドレス(AD)、ランダム数(RN)及びデータビット(DB)を受信することができる。オフセット変換器114aは、アドレス(AD)に基づいてランダム数(RN)のビットの中から相異なるビットを選択することができる。オフセット変換器114aは、ランダム数(RN)の選択されたビットに基づいてデータビット(DB)を変換されたデータビット(DB_C)に変換することができる。
第1〜第4復元器(113_1〜113_4)はランダム数(RN)の相異なる選択されたビットを受信することができる。第1復元器(113_1)は、アドレス(AD)が「00」のときに選択されたビットを受信し、第2復元器(113_2)は、アドレス(AD)が「01」のときに選択されたビットを受信することができる。第1〜第4復元器(113_1〜113_4)のそれぞれは、ランダム数(RN)の中のひとつのビットに基づいて、たいするレジスタから変換されたデータビット(DB_C)を復元する。
図17は、第5例による混合構成が反映されたデータビット(DB)の格納方法を示す。図16及び図17を参照すると、オフセット変換器114aは、アドレス(AD)が「00」のときにランダム数(RN)の選択された第1ビット(RN_00)を利用して、オフセットビット(OFF)を変換することができる。オフセット変換器114aは、アドレス(AD)が「01」のときにランダム数(RN)の選択された第2ビット(RN_01)を利用して、オフセットビット(OFF)を変換することができる。
オフセット変換器114aは、アドレス(AD)が「10」のときにランダム数(RN)の選択された第3ビット(RN_10)を利用して、オフセットビット(OFF)を変換することができる。オフセット変換器114aは、アドレス(AD)が「11」のときにランダム数(RN)の選択された第4ビット(RN_11)を利用して、オフセットビット(OFF)を変換することができる。選択された第1〜第4ビット(RN_00〜RN_11)は互いに異なることができる。
アドレス(AD)に基づいてランダム数(RN)のビットが異なって選択されるので、アドレス(AD)に基づいてデータビット(DB)が互いに異なって変換されることができる。図17において、アドレス(AD)が異なるときに、第1〜第8ビット(D1〜D8)の配置順序は、互いに異なって示される。
集積回路デバイス10(図1参照)に電源が供給されたり、集積回路デバイス10がリセットされたりする際に、ランダム数(RN)が更新される。したがって、集積回路デバイス10(図1参照)に電源が供給されたり、集積回路デバイス10がリセットされたりするときに、アドレス(AD)に基づいて、第1乃至第8ビット(D1〜D8)が再配列される順序が変わって、データビット(DB)のセキュリティが、さらに向上される。
図18は、第6例による混合構成が反映されたデータビット(DB)の格納方法を示す。図17と比較すると、オフセット変換器114aは、オフセットビット(OFF)中の一部、例えば最上位ビットに対し排他的論理和を遂行することができる。オフセット変換器114aは、第1〜第4選択されたビット(RN_00〜RN_11)として、それぞれランダム数(RN)の相異なる1つのビットを選択することができる。
図17を参照して説明された混合構成と比較すると、図18を参照して説明された混合構成は、オフセットビット(OFF)の制限された変換を遂行する。図17の変換及び復元を遂行するオフセット変換器114a及び第1〜第4復元器(113_1〜113_4)と比較すると、図18の変換及び復元を遂行するオフセット変換器114a及び第1〜第4復元器(113_1〜113_4)の複雑度、サイズ及び製造コストが減少する。
例示的に、図14及び図15を参照して説明されたように、アドレス(AD)に関係なしに、データビット(DB)を変換する例でも限られた変換が適用されることができる。つまり、オフセット変換器114は、アドレス(AD)の少なくとも一つのビット及びランダム数(RN)の対応する数のビットに対し排他的論理和を遂行することができる。
図19は、本発明の第5実施形態による周辺ブロック100eを示すブロック図である。図19を参照すると、周辺ブロック100eは、混合器110e、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120及び論理部130は、図3を参照して説明されたのと同じように構成され、同じように動作する。
混合器110eは、アドレス変換器111、アドレスデコーダ112、第1復元器113、オフセット変換器114及び第2復元器115を含む。アドレス変換器111は、図3を参照して説明されたのと同じように構成され、同じように動作する。オフセット変換器114は、図14を参照して説明されたのと同じように構成され、同じように動作する。
アドレスデコーダ112は、データビット(DB)の代わりに変換されたデータビット(DB_C)を格納することを除けば、図3を参照して説明されたのと同じように構成され、同じように動作する。第1復元器113は、出力を第2復元器115に伝達することを除けば、図3又は図14を参照して説明されたのと同じように構成され、同じように動作することができる。第2復元器115は、入力が第1復元器113から伝達されることを除けば、図14又は図3を参照して説明されたのと同じように構成され、同じように動作することができる。
混合器110eは、アドレス(AD)を変換し、そしてデータビット(DB)を再配列することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節することができる。
アドレス変換器111及びオフセット変換器114は、ランダム数(RN)の相異なるビットを選択することができる。第1復元器113は、アドレス変換器111又はオフセット変換器114と同じ位置でランダム数(RN)のビットを選択することができる。第2復元器115は、オフセット変換器114又はアドレス変換器111と同じ位置でランダム数(RN)のビットを選択することができる。
図20は、本発明の第6実施形態による周辺ブロック100fを示すブロック図である。図20を参照すると、周辺ブロック100fは混合器110f、特殊機能レジスタ120a及び論理部130を含む。特殊機能レジスタ120a及び論理部130は、図11を参照して説明されたのと同じように構成され、同じように動作する。
混合器110fは、アドレス変換器111、アドレスデコーダ112a、第1復元器113a、オフセット変換器114a及び第2復元器(115_1〜115_4)を含む。アドレス変換器111は、図3を参照して説明されたのと同じように構成され、同じように動作する。オフセット変換器114aは、図16を参照して説明されたのと同じように構成され、同じように動作する。
アドレスデコーダ112aは、データビット(DB)の代わりに変換されたデータビット(DB_C)を格納することを除けば、図11を参照して説明されたのと同じように構成され、同じように動作する。第1復元器113aは、出力を第2復元器(115_1〜115_4)に伝達することを除けば、図11を参照して説明されたのと同じように構成され、同じように動作することができる。
第2復元器(115_1〜115_4)は入力が第1復元器113aから伝達されることを除けば、図16を参照して説明された第1〜第4復元器(113_1〜113_4)と同じように構成され、同じように動作することができる。
混合器110fは、アドレス(AD)を変換し、そしてデータビット(DB)を再配列することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節することができる。目標ビットストアはアドレス(AD)によって識別されるビットストアよりも、多くの数のビットストアの中から選択されることができる。
前述した実施形態において、「ブロック」の用語を使用して、本発明の実施形態による構成要素が参照された。「ブロック」は、IC(Integrated Circuit)、ASIC(Application Specific IC)、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)などのような多様なハードウェアデバイス、ハードウェアデバイスで駆動されるファームウェア、アプリケーションのようなソフトウェア、又はハードウェアデバイスとソフトウェアが組み合わせられた形態に具現されることができる。なお、「ブロック」は、IC内の半導体素子で構成される回路又はIP(Intellectual Property)を包含できる。
前述された内容は、本発明を実施するための具体的な実施形態である。本発明は、前述した実施形態だけでなく、単純に設計変更されたり、容易に変更したりすることができる実施形態をまた包含するはずである。なお、本発明は、実施形態を用いて容易に変形して実施できる技術も含まれるはずである。したがって、本発明の範囲は、前述された実施形態に限定されてはならず、後述する特許請求の範囲だけでなく、この発明の特許請求の範囲と均等なものによって定められなければならないだろう。
本発明はデータビットの格納位置を指定する混合構成(shuffle configuration)により、向上されたセキュリティを有しデータビットを伝達又は受信する集積回路デバイスの具現に有用である。
10:集積回路デバイス
11:プロセッサコア
12:ランダム数(乱数)生成器
13:電源マネージャー
100:周辺ブロック
110:混合器(シャッフラー)
120:特殊機能レジスタ
130:論理部
111:アドレス変換器
112:アドレスデコーダ
113:復元器
114:オフセット変換器

Claims (20)

  1. それぞれ2つ以上のビットストアを含むように構成されるレジスタと、
    前記レジスタの中の1つを示すアドレス及びデータビットを受信し、混合構成及び前記アドレスに基づいて前記レジスタのビットストアの中から前記データビットが格納される目標ビットストアを選択し、前記目標ビットストアに前記データビットを格納し、前記混合構成に応じて前記目標ビットストアから前記データビットを伝達するように構成される混合器と、
    前記混合器から伝達される前記データビットを受信し、前記受信されたデータビットを利用して動作するように構成される論理部と、を有し、
    前記混合器は、リセットが遂行される際に前記混合構成を調節するように構成される、集積回路デバイス。
  2. 前記混合器は、
    前記アドレスを受信し、前記混合構成に応じて、前記アドレスから変換されたアドレスを生成するように構成されるアドレス変換器と、
    前記レジスタの中から前記変換されたアドレスが示すレジスタのビットストアを前記目標ビットストアに選択し、そして前記目標ビットストアに前記データビットを伝達するように構成されるアドレスデコーダと、
    前記混合構成に応じて前記レジスタから前記データビットを前記論理部に伝達するように構成される復元器と、を含む、請求項1に記載の集積回路デバイス。
  3. 前記混合構成は、二つ以上のビットを含むランダム数を有し、
    前記アドレス変換器は、前記ランダム数の第1ビット及び前記アドレスに対し排他的論理和を遂行することにより、前記アドレスから前記変換されたアドレスを生成する、請求項2に記載の集積回路デバイス。
  4. 前記論理部は、前記レジスタにそれぞれ対応する入力を有し、
    前記復元器は前記ランダム数の前記第1ビットに基づいて前記入力の中から、前記データビットが伝達される入力を調節するように構成される、請求項3に記載の集積回路デバイス。
  5. 前記混合構成は、二つ以上のビットを含むランダム数を有し、
    前記アドレス変換器は、前記ランダム数の少なくとも一つの第1ビット及び前記アドレスのビットの中で少なくとも一つの第2ビットに対し排他的論理和を遂行することにより、前記変換されたアドレスを生成する、請求項2に記載の集積回路デバイス。
  6. 前記混合器は、
    前記アドレスを受信し、前記混合構成に応じて、前記アドレスから変換されたアドレスを生成するように構成されるアドレス変換器と、
    前記変換されたアドレスが前記混合構成のダミー条件を満足するとき、前記レジスタの中から、前記アドレスの範囲に割り当てられていない第1レジスタの第1ビットストアを前記目標ビットストアに選択し、前記変換されたアドレスが前記ダミー条件を満足していないとき、前記レジスタの中から前記変換されたアドレスが示す第2レジスタの第2ビットストアを前記目標ビットストアに選択し、そして前記目標ビットストアに前記データビットを伝達するように構成されるアドレスデコーダと、
    前記混合構成に応じて、前記第1レジスタ及び前記第2レジスタのいずれか一つから前記データビットを前記論理部に伝達するように構成される復元器と、を含む、請求項1に記載の集積回路デバイス。
  7. 前記混合構成は、二つ以上のビットを含むランダム数を有し、
    前記アドレス変換器は、前記ランダム数の第1ビット及び前記アドレスに対して排他的論理和を遂行することにより、前記アドレスから前記変換されたアドレスを生成し、そして前記変換されたアドレスが前記ランダム数の第2ビットと一致する際に、前記ダミー条件が満足していると判断する、請求項6に記載の集積回路デバイス。
  8. 前記混合器は、
    第1順序により配列された前記データビットを前記混合構成に応じて、第2順序に再配列し、変換されたデータビットを生成するように構成されるオフセット変換器と、
    前記レジスタの中から前記アドレスが示すレジスタのビットストアを選択し、そして前記目標ビットストアに前記変換されたデータビットを伝達するように構成されるアドレスデコーダと、
    前記混合構成に応じて前記レジスタからの前記変換されたデータビットを前記データビットに復元し、前記論理部に伝達するように構成される復元器と、を含む、請求項1に記載の集積回路デバイス。
  9. 前記混合構成は、二つ以上のビットを含むランダム数を有し、
    前記オフセット変換器は、前記データビットの順序の前記第1順序を示す第1オフセットビット及び前記ランダム数の第1ビットに対して排他的論理和を遂行して前記第2順序を示す第2オフセットビットを生成し、そして前記第2オフセットビットに応じて前記データビットを再配列することにより、前記データビットから前記変換されたデータビットを生成するように構成される、請求項8に記載の集積回路デバイス。
  10. 前記混合構成は、二つ以上のビットを含むランダム数を有し、
    前記オフセット変換器は、前記アドレスに基づいて、前記ランダム数の前記ビットの中から第1ビットを選択し、前記データビットの順序の前記第1順序を示す第1オフセットビット及び前記ランダム数の前記第1ビットについて排他的論理和を遂行して、前記第2順序を示す第2オフセットビットを生成し、そして前記第2オフセットビットに応じて前記データビットを再配列することにより、前記データビットから前記変換されたデータビットを生成する、請求項8に記載の集積回路デバイス。
  11. 前記混合構成は、2つ以上のビットを含むランダム数を有し、
    前記オフセット変換器は、前記データビットの順序の前記第1順序を示す第1オフセットビットの少なくとも一つの第1ビット及び前記ランダム数の少なくとも一つの第2ビットに対し排他的論理和を遂行して、前記第2順序を示す第2オフセットビットを生成し、そして前記第2オフセットビットに応じて前記データビットを再配列することにより、前記データビットから前記変換されたデータビットを生成する、請求項8に記載の集積回路デバイス。
  12. 前記混合器は、
    前記アドレスを受信し、前記混合構成に応じて、前記アドレスから変換されたアドレスを生成するように構成されるアドレス変換器と、
    第1順序により配列された前記データビットを前記混合構成に応じて、第2順序に再配置して、変換されたデータビットを生成するように構成されるオフセット変換器と、
    前記レジスタの中から前記変換されたアドレスが示すレジスタのビットストアを前記目標ビットストアに選択し、そして前記目標ビットストアに前記変換されたデータビットを伝達するように構成されるアドレスデコーダと、
    前記混合構成に応じて前記レジスタからの前記変換されたデータビットを前記データビットに復元して、前記論理部に伝達するように構成される復元器と、を含む、請求項1に記載の集積回路デバイス。
  13. 前記混合器は、
    前記アドレスを受信し、前記混合構成に応じて、前記アドレスから変換されたアドレスを生成するように構成されるアドレス変換器と、
    第1順序により配列された前記データビットを前記混合構成に応じて、第2順序に再配列し、変換されたデータビットを生成するように構成されるオフセット変換器と、
    前記変換されたアドレスが前記混合構成のダミー条件を満足するとき、前記レジスタの中から、前記アドレスの範囲に割り当てられていない第1レジスタの第1ビットストアを前記目標ビットストアに選択し、前記変換されたアドレスが前記ダミー条件を満足していないとき、前記レジスタの中から前記変換されたアドレスが示す第2レジスタの第2ビットストアを前記目標ビットストアに選択し、そして前記目標ビットストアに前記変換されたデータビットを伝達するように構成されるアドレスデコーダと、
    前記混合構成に応じて前記目標ビットストアからの前記変換されたデータビットを前記データビットに復元して、前記論理部に伝達するように構成される復元器と、を含む、請求項1に記載の集積回路デバイス。
  14. 前記混合構成は、ランダム数を有し、
    前記リセットが遂行される際に、前記ランダム数は新たに生成される、請求項1に記載の集積回路デバイス。
  15. アドレス及び二つ以上のデータビットを含むキーを出力するように構成されるプロセッサコアと、
    リセット時にリセット信号を活性化するように構成される電源マネージャーと、
    前記リセット信号に応答してランダム数を生成するように構成されるランダム数生成器と、
    前記アドレス及び前記ランダム数に応じてキーを格納し、前記キーに応答して暗号化又は復号化を遂行するように構成される周辺回路と、を有し、
    前記周辺回路は、
    それぞれ二つ以上のビットストアを含むレジスタと、
    前記アドレス及び前記ランダム数に応じて前記レジスタのビットストアの中から前記キーを格納する目標ビットストアを調節するように構成される混合器と、を含む、集積回路デバイス。
  16. 前記混合器は、前記アドレスと、前記キーの前記二つ以上のデータビットの順序と、のうち少なくとも一方を変換することにより、前記目標ビットストアを調節する、請求項15に記載の集積回路デバイス。
  17. 前記周辺回路は、前記キーを用いて前記暗号化又は前記復号化を遂行するように構成される論理部、をさらに有し、
    前記混合器は、前記ランダム数に応じて前記目標ビットストアから前記論理部に前記キーを伝達するように構成される、請求項15に記載の集積回路デバイス。
  18. 前記レジスタの前記ビットストアは、前記アドレスによって識別されず、前記ランダム数に応じて前記目標ビットストアの全部又は一部に選択されるダミーレジスタのダミービットストアを含む、請求項15に記載の集積回路デバイス。
  19. レジスタ、混合器及び論理部を含む集積回路デバイスの動作方法であって、
    検出されたリセットに応答して前記混合器でランダム数を受信するステップと、
    前記混合器でアドレス及びデータビットを受信するステップと、
    前記ランダム数及び前記アドレスにより、前記混合器で前記レジスタのビットストアの中から目標ビットストアを選択するステップと、
    前記混合器が前記データビットを前記目標ビットストアに格納するステップと、を含む、動作方法。
  20. 前記ランダム数に応じて、前記混合器が前記目標ビットストアからの前記データビットを前記論理部に伝達するステップ、をさらに含む、請求項19に記載の動作方法。
JP2019088475A 2018-05-09 2019-05-08 集積回路デバイス及び集積回路デバイスの動作方法 Active JP7327990B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0053296 2018-05-09
KR1020180053296A KR102510451B1 (ko) 2018-05-09 2018-05-09 집적 회로 장치 및 집적 회로 장치의 동작 방법

Publications (2)

Publication Number Publication Date
JP2019198071A true JP2019198071A (ja) 2019-11-14
JP7327990B2 JP7327990B2 (ja) 2023-08-16

Family

ID=66554135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019088475A Active JP7327990B2 (ja) 2018-05-09 2019-05-08 集積回路デバイス及び集積回路デバイスの動作方法

Country Status (5)

Country Link
US (1) US11341285B2 (ja)
EP (1) EP3573064B1 (ja)
JP (1) JP7327990B2 (ja)
KR (1) KR102510451B1 (ja)
CN (1) CN110472441A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115061731B (zh) * 2022-06-23 2023-05-23 摩尔线程智能科技(北京)有限责任公司 混洗电路和方法、以及芯片和集成电路装置
CN116628770B (zh) * 2023-07-19 2023-11-28 北京芯驰半导体科技有限公司 芯片的数据保护方法、装置、芯片、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0470029A (ja) * 1990-07-09 1992-03-05 Hajime Kitagawa 暗号化アダプタ
JP2000029790A (ja) * 1998-07-15 2000-01-28 Matsushita Electric Ind Co Ltd データセキュリティシステム
US20090113217A1 (en) * 2007-10-30 2009-04-30 Sandisk Il Ltd. Memory randomization for protection against side channel attacks
JP2012146004A (ja) * 2011-01-07 2012-08-02 Dainippon Printing Co Ltd 携帯装置及び動的データの格納位置変更方法
JP2012199922A (ja) * 2011-03-22 2012-10-18 Arm Ltd 機密データの暗号化および記憶
US20130205139A1 (en) * 2010-10-05 2013-08-08 Craig A. Walrath Scrambling An Address And Encrypting Write Data For Storing In A Storage Device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130977B1 (en) 2002-04-18 2006-10-31 Advanced Micro Devices, Inc. Controlling access to a control register of a microprocessor
KR20050011181A (ko) 2003-07-22 2005-01-29 삼성전자주식회사 컨텐츠 저작권 보안 시스템 및 그 방법
JP2005338942A (ja) * 2004-05-24 2005-12-08 Freescale Semiconductor Inc レジスタユニット
US7606362B1 (en) 2005-01-25 2009-10-20 Altera Corporation FPGA configuration bitstream encryption using modified key
US20070124628A1 (en) * 2005-11-30 2007-05-31 Lsi Logic Corporation Methods of memory bitmap verification for finished product
FR2956764B1 (fr) * 2010-02-19 2012-11-09 St Microelectronics Rousset Protection de registres contre des perturbations unilaterales
US9304944B2 (en) 2012-03-29 2016-04-05 Broadcom Corporation Secure memory access controller
FR2989504B1 (fr) 2012-04-12 2014-04-25 St Microelectronics Rousset Registre protege contre des attaques par injection de fautes
KR101977772B1 (ko) 2012-07-12 2019-05-13 삼성전자주식회사 데이터 처리 장치 및 이를 포함하는 보안 메모리 장치
US9213653B2 (en) 2013-12-05 2015-12-15 Intel Corporation Memory integrity
KR101665600B1 (ko) 2015-07-07 2016-10-12 국민대학교산학협력단 Ecc 암호 알고리즘의 전력 충돌 공격 대응을 위한 장치 및 방법
US10210350B2 (en) 2015-08-10 2019-02-19 Samsung Electronics Co., Ltd. Electronic device against side channel attacks
US10061537B2 (en) * 2015-08-13 2018-08-28 Microsoft Technology Licensing, Llc Data reordering using buffers and memory
KR102028704B1 (ko) 2016-03-17 2019-10-07 한국전자통신연구원 전자기기에서 코드 삽입 공격으로부터 보호를 위한 메모리 운용 방법
CN108073353B (zh) * 2016-11-15 2020-04-14 华为技术有限公司 一种数据处理的方法及装置
US10824737B1 (en) * 2017-02-22 2020-11-03 Assa Abloy Ab Protecting data from brute force attack
CN108229215A (zh) * 2017-12-06 2018-06-29 杭州中天微系统有限公司 一种地址加扰的存储装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0470029A (ja) * 1990-07-09 1992-03-05 Hajime Kitagawa 暗号化アダプタ
JP2000029790A (ja) * 1998-07-15 2000-01-28 Matsushita Electric Ind Co Ltd データセキュリティシステム
US20090113217A1 (en) * 2007-10-30 2009-04-30 Sandisk Il Ltd. Memory randomization for protection against side channel attacks
US20130205139A1 (en) * 2010-10-05 2013-08-08 Craig A. Walrath Scrambling An Address And Encrypting Write Data For Storing In A Storage Device
JP2012146004A (ja) * 2011-01-07 2012-08-02 Dainippon Printing Co Ltd 携帯装置及び動的データの格納位置変更方法
JP2012199922A (ja) * 2011-03-22 2012-10-18 Arm Ltd 機密データの暗号化および記憶

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAY, D., MULLER, H. L. AND SMART, N. P.: "Random Register Renaming to Foil DPA", LECTURE NOTES IN COMPUTER SCIENCE, vol. 2162, JPN6023011302, 2001, pages 28 - 38, ISSN: 0005021417 *

Also Published As

Publication number Publication date
KR102510451B1 (ko) 2023-03-16
JP7327990B2 (ja) 2023-08-16
US11341285B2 (en) 2022-05-24
CN110472441A (zh) 2019-11-19
EP3573064B1 (en) 2024-05-29
US20190347448A1 (en) 2019-11-14
KR20190128927A (ko) 2019-11-19
EP3573064A1 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
US10341099B2 (en) Cryptographic key generation using a stored input value and a stored count value
JP6267207B2 (ja) 物理的クローン不能関数として使用されるメモリから暗号化キーを生成するためのシステム
JP2004265194A (ja) 情報処理装置、および情報処理方法
US11070383B2 (en) Random code generator
GB2520387A (en) Data storage in persistent memory
US7681046B1 (en) System with secure cryptographic capabilities using a hardware specific digital secret
US11328097B2 (en) Encryption circuit for performing virtual encryption operations
US20210284703A1 (en) Encryption device and operation method thereof
US7841014B2 (en) Confidential information processing method, confidential information processor, and content data playback system
US20100250967A1 (en) Semiconductor integrated circuit and control, method of the same
JP7327990B2 (ja) 集積回路デバイス及び集積回路デバイスの動作方法
KR100930591B1 (ko) 고속 세션 변경이 가능한 암호화 장치
US7769166B2 (en) Dual mode AES implementation to support single and multiple AES operations
US11050575B2 (en) Entanglement and recall system using physically unclonable function technology
CN113364574B (zh) S盒、替换方法及其装置
US11431478B2 (en) Encryption and decryption system, encryption device, decryption device and encryption and decryption method
JP6462968B1 (ja) データ管理装置、データ管理方法及びデータ管理プログラム
US11061996B2 (en) Intrinsic authentication of program code
US20140161253A1 (en) High performance hardware-based execution unit for performing c2 block cipher encryption/decryption
US10936757B2 (en) Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium
JP2006254099A (ja) マイクロプロセッサ
US7539304B1 (en) Integrated circuit having self test capability using message digest and method for testing integrated circuit having message digest generation circuitry
EP1460797B1 (en) Secure access and processing of an encryption/decryption key
WO2020245898A1 (ja) 検索装置、サーバ装置、検索方法、情報処理方法、検索プログラム及び情報処理プログラム
KR20150145870A (ko) 채널별로 데이터를 보호할 수 있는 반도체 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230803

R150 Certificate of patent or registration of utility model

Ref document number: 7327990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150