(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-07
(45)【発行日】2023-08-16
(54)【発明の名称】集積回路デバイス及び集積回路デバイスの動作方法
(51)【国際特許分類】
H04L 9/10 20060101AFI20230808BHJP
【FI】
H04L9/10 A
(21)【出願番号】P 2019088475
(22)【出願日】2019-05-08
【審査請求日】2022-03-11
(31)【優先権主張番号】10-2018-0053296
(32)【優先日】2018-05-09
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】姜 基進
【審査官】中里 裕正
(56)【参考文献】
【文献】特開2012-199922(JP,A)
【文献】特開2012-146004(JP,A)
【文献】特開2000-029790(JP,A)
【文献】特開平04-070029(JP,A)
【文献】米国特許出願公開第2009/0113217(US,A1)
【文献】米国特許出願公開第2013/0205139(US,A1)
【文献】MAY, D., MULLER, H. L. and SMART, N. P.,Random Register Renaming to Foil DPA,Lecture Notes in Computer Science,Vol.2162,2001年, pp.28-38
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/10
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
それぞれ2つ以上のビットストアを含むように構成されるレジスタと、
前記レジスタの中の1つを示すアドレス及びデータビットを受信し、混合構成及び前記アドレスに基づいて前記レジスタのビットストアの中から前記データビットが格納される目標ビットストアを選択し、前記目標ビットストアに前記データビットを格納し、前記混合構成に応じて前記目標ビットストアから前記データビットを伝達するように構成される混合器と、
前記混合器から伝達される前記データビットを受信し、前記受信されたデータビットを利用して動作するように構成される論理部と、を有し、
前記混合器は、リセットが遂行される際に前記混合構成を調節するように構成さ
れ、
前記混合器は、
前記アドレスを受信し、前記混合構成に応じて、前記アドレスから変換されたアドレスを生成するように構成されるアドレス変換器と、
前記変換されたアドレスが前記混合構成のダミー条件を満足するとき、前記レジスタの中から、前記アドレスの範囲に割り当てられていない第1レジスタの第1ビットストアを前記目標ビットストアに選択し、前記変換されたアドレスが前記ダミー条件を満足していないとき、前記レジスタの中から前記変換されたアドレスが示す第2レジスタの第2ビットストアを前記目標ビットストアに選択し、そして前記目標ビットストアに前記データビットを伝達するように構成されるアドレスデコーダと、
前記混合構成に応じて、前記第1レジスタ及び前記第2レジスタのいずれか一つから前記データビットを前記論理部に伝達するように構成される復元器と、を含む、
集積回路デバイス。
【請求項2】
前記混合構成は、二つ以上のビットを含むランダム数を有し、
前記アドレス変換器は、前記ランダム数の第1ビット及び前記アドレスに対し排他的論理和を遂行することにより、前記アドレスから前記変換されたアドレスを生成する、請求項
1に記載の集積回路デバイス。
【請求項3】
前記論理部は、前記レジスタにそれぞれ対応する入力を有し、
前記復元器は前記ランダム数の前記第1ビットに基づいて前記入力の中から、前記データビットが伝達される入力を調節するように構成される、請求項
2に記載の集積回路デバイス。
【請求項4】
前記混合構成は、二つ以上のビットを含むランダム数を有し、
前記アドレス変換器は、前記ランダム数の少なくとも一つの第1ビット及び前記アドレスのビットの中で少なくとも一つの第2ビットに対し排他的論理和を遂行することにより、前記変換されたアドレスを生成する、請求項
1に記載の集積回路デバイス。
【請求項5】
前記混合構成は、二つ以上のビットを含むランダム数を有し、
前記アドレス変換器は、前記ランダム数の第1ビット及び前記アドレスに対して排他的論理和を遂行することにより、前記アドレスから前記変換されたアドレスを生成し、そして前記変換されたアドレスが前記ランダム数の第2ビットと一致する際に、前記ダミー条件が満足していると判断する、請求項
1に記載の集積回路デバイス。
【請求項6】
前記混合器は、
第1順序により配列された前記データビットを前記混合構成に応じて、第2順序に再配列し、変換されたデータビットを生成するように構成されるオフセット変換器
をさらに有し、
前記アドレスデコーダは、前記目標ビットストアに前記変換されたデータビットを伝達
し、
前記復元器は、前記混合構成に応じて前記レジスタからの前記変換されたデータビットを前記データビットに復元し、前記論理部に伝達するように構成され
る、請求項1に記載の集積回路デバイス。
【請求項7】
前記混合構成は、二つ以上のビットを含むランダム数を有し、
前記オフセット変換器は、前記データビットの順序の前記第1順序を示す第1オフセットビット及び前記ランダム数の第1ビットに対して排他的論理和を遂行して前記第2順序を示す第2オフセットビットを生成し、そして前記第2オフセットビットに応じて前記データビットを再配列することにより、前記データビットから前記変換されたデータビットを生成するように構成される、請求項
6に記載の集積回路デバイス。
【請求項8】
前記混合構成は、二つ以上のビットを含むランダム数を有し、
前記オフセット変換器は、前記アドレスに基づいて、前記ランダム数の前記ビットの中から第1ビットを選択し、前記データビットの順序の前記第1順序を示す第1オフセットビット及び前記ランダム数の前記第1ビットについて排他的論理和を遂行して、前記第2順序を示す第2オフセットビットを生成し、そして前記第2オフセットビットに応じて前記データビットを再配列することにより、前記データビットから前記変換されたデータビットを生成する、請求項
6に記載の集積回路デバイス。
【請求項9】
前記混合構成は、2つ以上のビットを含むランダム数を有し、
前記オフセット変換器は、前記データビットの順序の前記第1順序を示す第1オフセットビットの少なくとも一つの第1ビット及び前記ランダム数の少なくとも一つの第2ビットに対し排他的論理和を遂行して、前記第2順序を示す第2オフセットビットを生成し、そして前記第2オフセットビットに応じて前記データビットを再配列することにより、前記データビットから前記変換されたデータビットを生成する、請求項
6に記載の集積回路デバイス。
【請求項10】
それぞれ2つ以上のビットストアを含むように構成されるレジスタと、
前記レジスタの中の1つを示すアドレス及びデータビットを受信し、混合構成及び前記アドレスに基づいて前記レジスタのビットストアの中から前記データビットが格納される目標ビットストアを選択し、前記目標ビットストアに前記データビットを格納し、前記混合構成に応じて前記目標ビットストアから前記データビットを伝達するように構成される混合器と、
前記混合器から伝達される前記データビットを受信し、前記受信されたデータビットを利用して動作するように構成される論理部と、を有し、
前記混合器は、リセットが遂行される際に前記混合構成を調節するように構成され、
前記混合器は、
前記アドレスを受信し、前記混合構成に応じて、前記アドレスから変換されたアドレスを生成するように構成されるアドレス変換器と、
第1順序により配列された前記データビットを前記混合構成に応じて、第2順序に再配列し、変換されたデータビットを生成するように構成されるオフセット変換器と、
前記変換されたアドレスが前記混合構成のダミー条件を満足するとき、前記レジスタの中から、前記アドレスの範囲に割り当てられていない第1レジスタの第1ビットストアを前記目標ビットストアに選択し、前記変換されたアドレスが前記ダミー条件を満足していないとき、前記レジスタの中から前記変換されたアドレスが示す第2レジスタの第2ビットストアを前記目標ビットストアに選択し、そして前記目標ビットストアに前記変換されたデータビットを伝達するように構成されるアドレスデコーダと、
前記混合構成に応じて前記目標ビットストアからの前記変換されたデータビットを前記データビットに復元して、前記論理部に伝達するように構成される復元器と、を含む、
集積回路デバイス。
【請求項11】
前記混合構成は、ランダム数を有し、
前記リセットが遂行される際に、前記ランダム数は新たに生成される、請求項1
又は10に記載の集積回路デバイス。
【請求項12】
レジスタ、混合器及び論理部を含む集積回路デバイスの動作方法であって、
検出されたリセットに応答して前記混合器でランダム数を受信するステップと、
前記混合器でアドレス及びデータビットを受信するステップと、
前記ランダム数及び前記アドレスにより、前記混合器で前記レジスタのビットストアの中から目標ビットストアを選択するステップと、
前記混合器が前記データビットを前記目標ビットストアに格納するステップと、を含
み、
前記目標ビットストアを選択するステップは、
前記ランダム数に応じて、前記アドレスから変換されたアドレスを生成し、
前記変換されたアドレスが、前記ランダム数に基づくダミー条件を満足するとき、前記レジスタの中から、前記アドレスの範囲に割り当てられていない第1レジスタの第1ビットストアを前記目標ビットストアに選択し、前記変換されたアドレスが前記ダミー条件を満足していないとき、前記レジスタの中から前記変換されたアドレスが示す第2レジスタの第2ビットストアを前記目標ビットストアに選択する、
ことを有する、
動作方法。
【請求項13】
前記ランダム数は、二つ以上のビットを含み、
前記アドレスから前記変換されたアドレスを生成することは、前記ランダム数の第1ビット及び前記アドレスに対して排他的論理和を遂行することにより、前記アドレスから前記変換されたアドレスを生成することを有し、前記変換されたアドレスが前記ランダム数の第2ビットと一致する際に、前記ダミー条件が満足していると判断する、請求項12に記載の動作方法。
【請求項14】
前記ランダム数に応じて、前記混合器が前記目標ビットストアからの前記データビットを前記論理部に伝達するステップ、をさらに含む、請求項
12又は13に記載の動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体デバイスに関し、より詳細には、受信されるデータのセキュリティを高める集積回路デバイス及び集積回路デバイスの動作方法に関するものである。
【背景技術】
【0002】
半導体デバイスは、多様な分野において利用されている。半導体デバイスが利用される分野の中で、一部の分野は、セキュリティを必要とする。例えば、スマートカードは、キー(key)を利用して暗号化又は復号化を行うことができる。暗号化又は復号化は、AES(Advanced Encryption Standard)に基づくことができる。
【0003】
暗号化又は復号化を遂行するために、AESエンジンにキーを伝達しなければならない。AESエンジンにキー伝達するとき、キーがサイドバンドチャネルアタック(SCA:Sideband Channel Attack)のような手段によって露呈されてしまい得る。キーが露呈されると、スマートカードがハッキングされてしまい得る。
【0004】
このように、データを伝達する過程で、データの露呈を防止するためのセキュリティに対する要求が提起されている。本発明は、伝達されるデータの露呈を防止して向上されたセキュリティを有する集積回路デバイスと集積回路デバイスの動作方法を提供しようとする。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、向上されたセキュリティを有してデータビットを伝達又は受信する集積回路デバイス及び集積回路デバイスの動作方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明の実施形態による集積回路デバイスは、それぞれ2つ以上のビットストアを含むように構成されるレジスタ、レジスタの中の1つを示すアドレス及びデータビットを受信し、混合(シャッフル)構成とアドレスに基づいてレジスタのビットストアの中からデータビットが格納される目標ビットストアを選択し、目標ビットストアにデータビットを格納し、混合構成に応じて目標ビットストアからデータビットを伝達するように構成される混合器(シャッフラー)、そして混合器から伝達されるデータビットを受信し、受信したデータビットを利用して動作するように構成される論理部を含む。混合構成は、リセットが遂行される際に調節される。
【0007】
本発明の実施形態による集積回路デバイスは、アドレス及び二つ以上のデータビットを含むキーを出力するように構成されるプロセッサコア、リセットのときにリセット信号を活性化するように構成される電源マネージャー、リセット信号に応答してランダム数(乱数)を生成するように構成されるランダム数生成器、そしてアドレス及びランダム数に応じてキーを格納し、キーを用いて暗号化又は復号化を遂行するように構成される暗号化及び復号化のブロックを含む。暗号化及び復号化のブロックは、それぞれ二つ以上のビットストアを含むレジスタ、並びに、アドレス及びランダム数に応じてレジスタのビットストアの中からキーを格納する目標ビットストアを調節するように構成される混合器を含む。
【0008】
本発明の実施形態による集積回路デバイスはレジスタ、混合器及び論理部を含む。本発明の実施形態による集積回路デバイスの動作方法は、リセットを検出することにより、混合器でランダム数を受信するステップと、混合器でアドレス及びデータビットを受信するステップと、ランダム数及びアドレスにより、混合器でレジスタのビットストアの中から目標ビットストアを選択するステップと、そして混合器がデータビットを目標ビットストアに格納するステップと、を含む。
【発明の効果】
【0009】
本発明によると、データビットが格納されている位置は、混合構成(shuffle configuration)によって指定され、混合構成は、リセットが遂行される際に調節される。したがって、向上されたセキュリティを有しデータビットを伝達又は受信する集積回路デバイス及び集積回路デバイスの動作方法が提供される。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本発明の実施形態による集積回路デバイスを示すブロック図である。
【
図2】
図2は、本発明の実施形態による集積回路デバイスの動作方法を示すフローチャートである。
【
図3】
図3は、本発明の第1実施形態による周辺ブロックを示すブロック図である。
【
図4】
図4は、混合構成が反映されないとき、データビットが特殊機能レジスタに格納される例を示している。
【
図5】
図5は、第1例による混合構成が反映されたデータビットの格納方法を示す。
【
図6】
図6は、ランダム数の選択されたビットによりアドレスが変換される例を示す。
【
図7】
図7は、
図6に対応する混合構成に応じて復元器が内部の伝達経路を調節する例を示す。
【
図8】
図8は、第2例による混合構成が反映されたデータビットの格納方法を示す。
【
図9】
図9は、ランダム数の選択されたビットによりアドレスが変換される例を示す。
【
図10】
図10は、
図9に対応する混合構成に応じて復元器が内部の伝達経路を調節する例を示す。
【
図11】
図11は、本発明の第2実施形態による周辺ブロックを示すブロック図である。
【
図12】
図12は、第3例による混合構成が反映されたデータビットの格納方法を示す。
【
図13】
図13は、変換されたアドレス、ランダム数の選択された第1ビット及び選択された第2ビットに基づいてアドレスが変換される例を示す。
【
図14】
図14は、本発明の第3実施形態による周辺ブロックを示すブロック図である。
【
図15】
図15は、第4例による混合構成が反映されたデータビットの格納方法を示す。
【
図16】
図16は、本発明の第4実施形態による周辺ブロックを示すブロック図である。
【
図17】
図17は、第5例による混合構成が反映されたデータビットの格納方法を示す。
【
図18】
図18は、第6例による混合構成が反映されたデータビットの格納方法を示す。
【
図19】
図19は、本発明の第5実施形態による周辺ブロックを示すブロック図である。
【
図20】
図20は、本発明の第6実施形態による周辺ブロックを示すブロック図である。
【発明を実施するための形態】
【0011】
以下で、本発明の技術分野における通常の知識を有する者が本発明を容易に実施できる程度に、本発明の実施形態が明確かつ詳細に記載されるだろう。
【0012】
図1は、本発明の実施形態による集積回路デバイス10を示すブロック図である。
図1を参照すると、集積回路デバイス10は、プロセッサコア11、ランダム数(乱数)生成器12、電源マネージャー13及び周辺ブロック100を含む。プロセッサコア11は、集積回路デバイス10を制御することができる。
【0013】
プロセッサコア11は、データビット(DB)及びデータビット(DB)が格納される位置を示すアドレス(AD)を周辺ブロック100に伝達できる。例えば、周辺ブロック100は、AES(Advanced Encryption Standard)エンジンのような暗号化及び復号化のブロックであり得る。プロセッサコア11は、暗号化又は復号化が必要となるときに、キーをデータビット(DB)として周辺ブロック100に伝達できる。
【0014】
ランダム数生成器12は、リセット信号(RST)に応答してランダム数(RN)を生成することができる。ランダム数生成器12は、ランダム数(RN)を生成する度にランダム数(RN)の値を調節することができる。例えば、ランダム数生成器12は、集積回路デバイス10に提供される時計(図示せず)の時間を種(seed)として利用してランダム数(RN)を生成することができる。
【0015】
電源マネージャー13は、集積回路デバイス10のリセット又は電源供給を検出することができる。リセット又は電源供給が検出されると、電源マネージャー13は、ランダム数生成器12に供給されるリセット信号(RST)を活性化することができる。
【0016】
周辺ブロック100は、混合器(shuffler、シャッフラー)110、特殊機能レジスタ(SFR)120及び論理部130を含む。混合器110は、プロセッサコア11からのアドレス(AD)及びデータビット(DB)を示すことができる。アドレス(AD)は、特殊機能レジスタ120のストア(例えば、ビットストア)の中でデータビット(DB)が格納される位置を示すことができる。
【0017】
混合器110は、ランダム数(RN)により混合(シャッフル)構成(shuffle configuration)を調節することができる。混合器110は、混合構成及びアドレス(AD)により、特殊機能レジスタ120のビットストアの中からデータビット(DB)が格納される目標ビットストアを選択することができる。
【0018】
混合器110は、特殊機能レジスタ120の目標ビットストアにデータビット(DB)を格納することができる。混合器110は、混合構成に応じて、特殊機能レジスタ120の目標ビットストアからデータビット(DB)を受信し、受信したデータビット(DB)を論理部130に伝達することができる。
【0019】
論理部130は、混合器110から伝達されるデータビット(DB)を利用して、指定された動作を遂行することができる。例えば、論理部130は、データビット(DB)をキーとして使用して暗号化又は復号化を行うことができる。
【0020】
本発明の実施形態によると、アドレス(AD)が同一であっても、特殊機能レジスタ120におけるデータビット(DB)が格納される位置は、混合構成に応じて変更される。混合構成は、リセット信号(RST)が活性化される際に調節される。したがって、特殊機能レジスタ(SFR)をプロービング(probing)してデータビット(DB)を獲得しようとするサイドバンドチャネルアタック(SCA)(Sideband Channel Attack)を遮断する高いセキュリティを有する集積回路デバイス10が提供される。
【0021】
図2は、本発明の実施形態による集積回路デバイス10の動作方法を示すフローチャートである。
図1及び
図2を参照すると、S110ステップで、集積回路デバイス10がリセットされることができる。電源マネージャー13は、リセット信号(RST)を活性化することができる。リセット信号(RST)の活性化に応答して、ランダム数生成器12は、ランダム数(RN)を生成することができる。
【0022】
S120ステップにおいて、混合器110は、ランダム数(RN)により混合構成を調整することができる。混合構成はランダム数(RN)のビットの中で一部のビットを包含できる。S130ステップで、混合器110は、アドレス(AD)及びデータビット(DB)を受信することができる。S140ステップで、混合器110は、混合構成及びアドレス(AD)に基づいて、特殊機能レジスタ120のビットストアの中からデータビット(DB)が格納される目標ビットストアを選択することができる。
【0023】
S150ステップで、混合器110は、データビット(DB)を目標ビットストアに格納することができる。S160ステップで、混合器110は、混合構成に応じて目標ビットストアから伝達されるデータビット(DB)を論理部130に提供することができる。
【0024】
図3は、本発明の第1実施形態による周辺ブロック100aを示すブロック図である。
図3を参照すると、周辺ブロック100aは、混合器110a、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120は、第1~第4レジスタ(SFR1~SFR4)(121~124)を包含できる。第1~第4レジスタ(121~124)のそれぞれは、二つ以上のビットストアを包含できる。二つ以上のビットストアのそれぞれは、フリップフロップを包含できる。
【0025】
混合器110aは、アドレス変換器111、アドレスデコーダ112及び復元器113を含む。アドレス変換器111は、アドレス(AD)及びランダム数(RN)を受信することができる。アドレス(AD)は、第1~第4レジスタ(121~124)のいずれか一つを示すことができる。アドレス変換器111は、ランダム数(RN)を利用して、アドレス(AD)を変換することができる。
【0026】
変換されたアドレス(AD_C)は、第1~第4レジスタ(121~124)のいずれか一つを示すことができる。変換されたアドレス(AD_C)はアドレス(AD)と同じであるか又は異なることができる。アドレス変換器111は、ランダム数(RN)を利用して、アドレス(AD)を変換することにより、混合構成に応じて目標ビットのストアを調節することができる。
【0027】
アドレス変換器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)のいずれか一つに提供することができる。
【0028】
復元器113は、ランダム数(RN)を受信することができる。復元器113は、ランダム数(RN)に基づいて、第1~第4情報(I1~I4)を第1~第4復元された情報(RI1~RI4)に出力することができる。復元器113は、ランダム数(RN)に基づいて、第1~第4情報(I1~I4)が第1~第4復元された情報(RI1~RI4)に出力される経路を調節することができる。
【0029】
論理部130は、第1~第4レジスタ(121~124)にそれぞれ対応する入力を有することができる。入力は、それぞれ第1~第4復元された情報(RI1~RI4)を受信するように構成されることができる。復元器113は、アドレス(AD)に該当する入力にデータビット(DB)が伝達されるように、内部の伝達経路を調節することができる。
【0030】
例えば、第1レジスタ121を示すアドレス(AD)とともに受信されたデータビット(DB)は、混合構成に応じて、第3情報(I3)として、第3レジスタ123に格納することができる。復元器113は、第3レジスタ123から伝達される第3情報(I3)を混合構成に応じて、第1復元された情報(RI1)に出力することができる。復元器113は、ランダム数(RN)に基づいて、内部の伝達経路を調節することにより、混合構成に応じて目標ビットストアからのデータビット(DB)を論理部(130)の適切な入力に伝達することができる。
【0031】
図4は、混合構成が反映されないとき、データビット(DB)が特殊機能レジスタ120に格納される例を示している。
図4を参照すると、データビット(DB)は、「01」のアドレス(AD)とともに受信されることができる。データビット(DB)は、第1~第8ビット(D1~D8)を包含できる。
【0032】
第1~第8ビット(D1~D8)は、位置に応じて、それぞれ「000」~「111」と表示されるオフセットビット(OFF)を有することができる。オフセットビット(OFF)はアドレス(AD)に含まれていたり、データビット(DB)に含まれていたりする値ではない可能性がある。オフセットビットに(OFF)は、第1~第8ビット(D1~D8)の位置に基づいて指定される一時的値であり得る。
【0033】
第1レジスタ121は、「00」のアドレス(AD)に指定されることができる。第2レジスタ122は、「01」のアドレス(AD)に指定されることができる。第3レジスタ123は、「10」のアドレス(AD)に指定されることができる。第4レジスタ124は、「11」のアドレス(AD)に指定されることができる。第1~第4レジスタ(121~124)のそれぞれは、第1~第8ビットストア(B1~B8)を包含できる。
【0034】
混合構成が反映されていなければ、「01」のアドレス(AD)に基づいてデータビット(DB)は、第2レジスタ122に格納されることができる。混合構成が反映されていなければ、第1~第8ビット(D1~D8)は、第1~第8ビットストア(B1~B8)にそれぞれ格納されることができる。混合構成が反映されていなければ、「01」のアドレス(AD)に関連されたデータビット(DB)は、常に第2レジスタ122に格納される。したがって、データビット(DB)は、サイドバンドチャネルアタックに脆弱である。
【0035】
図5は、第1例による混合構成が反映されたデータビット(DB)の格納方法を示す。
図5を参照すると、データビット(DB)は、「01」のアドレス(AD)とともに受信されることができる。ランダム数(RN)は、「1011011100」のビットを包含できる。混合構成はランダム数(RN)のビットの中で左側から3番目及び4番目のビット、すなわち「11」を包含できる。
【0036】
混合器110は、「01」のアドレス(AD)及びランダム数(RN)のビットの中で「11」の選択されたビットを用いて排他的論理和(XOR)演算を遂行することができる。演算の結果は、変換されたアドレス(AD_C)であり得る。たとえば、変換されたアドレス(AD_C)は「10」であり得る。変換されたアドレス(AD_C)に基づいて、第1~第8ビット(D1~D8)は、第3レジスタ123の第1~第8ビットストア(B1~B8)にそれぞれ格納されることができる。
【0037】
図6は、ランダム数(RN)の選択されたビットに基づいてアドレス(AD)が変換される例を示す。
図3及び
図6を参照すると、ランダム数(RN)の選択されたビットが「00」であるとき、混合構成は、第1状態(S1)であり得る。第1状態(S1)において、アドレス変換器111は、アドレス(AD)を変換されたアドレス(AD_C)に出力することができる。
【0038】
ランダム数(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)に変換することができる。
【0039】
ランダム数(RN)の選択されたビットが「11」であるとき、混合構成は、第4状態(S4)であり得る。第4状態(S4)において、アドレス変換器111は、「00」、「01」、「10」、「11」のアドレス(AD)をそれぞれ「11」、「10」、「01」、「00」の変換されたアドレス(AD_C)に変換することができる。
【0040】
ランダム数(RN)は、集積回路デバイス10(
図1参照)がリセットされるとき、又は集積回路デバイス10に電源が供給されるときに更新される。つまり、ランダム数(RN)は、集積回路デバイス10がリセットされるとき、又は集積回路デバイス10に電源が供給されるとき、混合構成の状態が変わる。
【0041】
アドレス(AD)が同一であっても、集積回路デバイス10がリセットされたり、集積回路デバイス10に電源が供給されたりする際に、データビット(DB)が格納される目標ビットストアの位置が変化する。したがって、サイドバンドチャネルアタックによってデータビット(DB)が露呈されるのが防止される。
【0042】
図7は、
図6に対応する混合構成に応じて復元器113が内部の伝達経路を調節する例を示す。
図3及び
図7を参照すると、混合構成が第1状態のとき、復元器113は、第1~第4情報(I1~I4)を第1~第4復元された情報(RI1~RI4)にそれぞれ伝達することができる。
【0043】
混合構成が第2状態(S2)のとき、復元器113は、第1情報(I1)を第2復元された情報(RI2)に伝達し、第2情報(I2)を第1復元された情報(RI1)に伝達することができる。また、復元器113は、第3情報(I3)を第4復元された情報(RI4)に伝達し、そして第4情報(I4)を第3復元された情報(RI3)に伝達することができる。
【0044】
混合構成が第3状態(S3)であるとき、復元器113は、第1情報(I1)を第3復元された情報(RI3)に伝達し、第2情報(I2)を第4復元された情報(RI4)に伝達することができる。また、復元器113は、第3情報(I3)を第1復元された情報(RI1)に伝達し、第4情報(I4)を第2復元された情報(RI2)に伝達することができる。
【0045】
混合構成が第4状態(S4)であるとき、復元器113は、第1情報(I1)を第4復元された情報(RI4)に伝達し、第2情報(I2)を第3復元された情報(RI3)に伝達することができる。また、復元器113は、第3情報(I3)を第2復元された情報(RI2)に伝達し、第4情報(I4)を第1復元された情報(RI1)に伝達することができる。
【0046】
図8は、第2例による混合構成が反映されたデータビットに(DB)の格納方法を示す。
図5と比較すると、混合器110は、ランダム数(RN)から1つのビット、例えば、左側から三番目の「1」のビットを選択することができる。また、アドレス(AD)のビットの中から一部の、例えば、左側から一番目の「0」のビットを選択することができる。
【0047】
混合器110は、ランダム数(RN)の選択されたビット及びアドレス(AD)の選択されたビットに対し排他的論理和を遂行することができる。演算の結果は、アドレス(AD)の選択されたビットを置換することができる。置換の結果は、変換されたアドレス(AD_C)であり得る。たとえば、変換されたアドレス(AD_C)は「11」であり得る。アドレス(AD)に基づいて、データビット(DB)は、第4レジスタ124に格納されることができる。
【0048】
図9は、ランダム数の選択されたビットに基づいてアドレス(AD)が変換される例を示す。
図3及び
図9を参照すると、ランダム数(RN)の選択されたビットが「0」のとき、混合構成は、第1状態であり得る。第1状態(S1)において、アドレス変換器(111)は、アドレス(AD)を変換されたアドレス(AD_C)に出力することができる。ランダム数(RN)の選択されたビットが「1」のとき、混合構成は、第2状態であり得る。第2状態(S2)は、
図6を参照して説明された第3状態(S3)と同じであり得る。
【0049】
図10は、
図9に対応する混合構成に応じて復元器が内部の伝達経路を調節する例を示す。
図3及び
図10を参照すると、混合構成が第1状態のとき、復元器113は、第1~第4情報(I1~I4)を第1~第4復元された情報(RI1~RI4)にそれぞれ伝達することができる。
【0050】
混合構成が第2状態(S2)のとき、復元器113は、第1情報(I1)を第3復元された情報(RI3)に伝達し、第2情報(I2)を第4復元された情報(RI4)に伝達することができる。また、復元器113は、第3情報(I3)を第1復元された情報(RI1)に伝達し、そして第4情報(I4)を第2復元された情報(RI2)に伝達することができる。
【0051】
図5~
図7を参照して説明された混合構成と比較すると、
図8~
図10を参照して説明された混合構成は、制限された変換を遂行する。
図7の復元器113と比較すると、
図10の復元器113は、減少された状態を有する。したがって、復元器113の複雑度、サイズ及び製造コストが減少する。
【0052】
図11は、本発明の第2実施形態による周辺ブロック100bを示すブロック図である。
図11を参照すると、周辺ブロック100bは、混合器110b、特殊機能レジスタ120a及び論理部130を含む。論理部130は、
図3の論理部130と同一であり得る。
【0053】
特殊機能レジスタ120aは、第1~第5レジスタ(121~125)を含む。第1~第5レジスタ(121~125)の中の少なくとも一つのレジスタ、例えば、第5レジスタ125は、アドレス(AD)が指定されない場合がある。第5レジスタ125は、データビット(DB)のセキュリティを高めるのに使用されることができる。
【0054】
混合器110bは、アドレス変換器111、アドレスデコーダ112a及び復元器113aを含む。アドレス変換器111は、
図3のアドレス変換器111と同じように動作し、同じように構成されることができる。アドレスデコーダ112aは、
図3のアドレスデコーダ112と比較してランダム数(RN)をさらに受信することができる。アドレスデコーダ112aは、混合構成に応じて、データビット(DB)が格納される位置をさらに調節することができる。
【0055】
アドレスデコーダ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に伝達することができる。
【0056】
図12は、第3例による混合構成が反映されたデータビット(DB)の格納方法を示す。
図11及び
図12を参照すると、アドレス(AD)は、「01」であり得る。
図5を参照して説明されたように、アドレス変換器111は、ランダム数(RN)の選択されたビット(例えば、選択された第1ビット)及びアドレス(AD)に対し排他的論理和を遂行することができる。
【0057】
変換されたアドレス(AD_C)は「01」であり得る。アドレスデコーダ112aは、ランダム数(RN)の選択された第2ビットを参照することができる。選択された第2ビットは、例えば、ランダム数(RN)のビットのうち右側から3番目及び2番目のビットである「10」であり得る。アドレスデコーダ112aは、ランダム数(RN)の選択された第2ビット及び変換されたアドレス(AD_C)を比較することができる。
【0058】
変換されたアドレス(AD_C)と選択された第2ビットが異なるとき、アドレスデコーダ112aは、変換されたアドレス(AD_C)に基づいて、第1~第4レジスタ(121~124)のいずれか一つを選択することができる。変換されたアドレス(AD_C)と選択された第2ビットが同一であるとき、アドレスデコーダ112aは、第5レジスタ125を選択することができる。
【0059】
本発明の実施形態によると、四つのレジスタのいずれか一つを示すアドレス(AD)に基づいて、データビット(DB)が5つのレジスタのいずれか一つに格納される。したがって、データビット(DB)のセキュリティがさらに向上される。
【0060】
図12において、アドレスデコーダ112aは、変換されたアドレス(AD_C)とランダム数(RN)の選択された第2ビットに基づいて第5レジスタ125を選択することで説明された。しかし、アドレスデコーダ112aが第5レジスタ125を選択する基準は、変換されたアドレス(AD_C)及びランダム数(RN)の選択された第2ビットに限定されない。
【0061】
図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)に対応することができる。
【0062】
ランダム数(RN)の選択された第2ビット(RN_COMP)に基づいて、第1~第4状態(S1~S4)で例外条件(EXC)が満足されることができる。例外条件(EXC)が満足されると、
図12を参照して説明されたように、アドレスデコーダ112aは、変換されたアドレス(AD_C)に関わらず、第5レジスタ125を選択することができる。
【0063】
選択された第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)のセキュリティがさらに向上される。
【0064】
復元器113aは、
図7を参照して説明された構成に加えて、例外条件(EXC)が満足されるときに、第5レジスタ125から伝達される第5情報(I5)を第1~第4復元された情報(RI1~RI4)のいずれか一つに伝達するように、さらに構成されることができる。
【0065】
図14は、本発明の第3実施形態による周辺ブロック100cを示すブロック図である。
図14を参照すると、周辺ブロック100cは、混合器110c、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120及び論理部130は、
図3を参照して説明されたのと同じように構成され、同じように動作することができる。
【0066】
混合器110cは、アドレスデコーダ112、復元器113及びオフセット変換器114を含む。オフセット変換器114は、データビット(DB)及びランダム数(RN)を受信することができる。オフセット変換器114は、ランダム数(RN)に基づいてデータビット(DB)のオフセットビット(OFF)を変換し、変換されたオフセットビット(OFF)に基づいてデータビット(DB)の順序を変換することができる。オフセット変換器114は、変換結果として変換されたデータビット(DB_C)を出力することができる。
【0067】
アドレスデコーダ112は、アドレス(AD)及び変換されたデータビット(DB_C)を受信することができる。アドレスデコーダ112は、アドレス(AD)に基づいて変換されたデータビット(DB_C)を第1~第4レジスタ(121~124)のいずれか一つのレジスタに格納することができる。変換されたデータビット(DB_C)は、第1~第4情報(I1~I4)の中の一つとして、第1~第4レジスタ(121~124)のいずれか一つに格納されることができる。
【0068】
復元器113bは、ランダム数(RN)を受信することができる。復元器113bは、ランダム数(RN)に基づいて、第1~第4情報(I1~I4)を第1~第4復元された情報(RI1~RI4)として論理部130に伝達することができる。復元器113bは、ランダム数(RN)に基づいて変換されたデータビット(DB_C)のオフセットビットを復元し、復元されたオフセットビットを用いてデータビット(DB)を復元することができる。
【0069】
図15は、第4例による混合構成が反映されたデータビット(DB)の格納方法を示す。
図14及び
図15を参照すると、オフセット変換器114は、第1~第8ビット(D1~D8)の位置(例えば、順序)に基づいてオフセットビット(OFF)を識別することができる。
【0070】
オフセット変換器114は、ランダム数(RN)のビットの中から左側から三番目乃至5番目のビットを選択することができる。オフセット変換器114は、オフセットビット(OFF)及びランダム数(RN)の選択されたビットに対して排他的論理和(XOR)を遂行して、変換されたオフセットビット(OFF_C)を生成することができる。
【0071】
オフセット変換器114は、変換されたオフセットビット(OFF_C)に基づいて、第1乃至第8ビットに(D1~D8)を再配列して、変換されたデータビット(DB_C)を生成することができる。アドレス(AD)が「01」なので、アドレスデコーダ112は、変換されたデータビット(DB_C)を、第2レジスタ122に格納することができる。
【0072】
復元器113は、ランダム数(RN)を受信することができる。復元器113は、ランダム数(RN)の選択されたビットを用いて、第1~第4情報(I1~I4)の変換されたデータビット(DB_C)のオフセットビット(OFF)を復元し、復元されたオフセットビット(OFF)に基づいてデータビット(DB)を復元することができる。
【0073】
図3~
図13を参照して説明された実施形態は、データビット(DB)が格納されるレジスタを調節することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節する。一方、
図14及び
図15を参照して説明された実施形態は、レジスタに格納される第1乃至第8ビット(D1~D8)の位置を調節することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節することができる。
【0074】
図16は、本発明の第4実施形態による周辺ブロック100dを示すブロック図である。
図16を参照すると、周辺ブロック100dは、混合器110d、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120及び論理部130は、
図3を参照して説明されたのと同じように構成され、同じように動作することができる。
【0075】
混合器110dは、アドレスデコーダ112、オフセット変換器114a及び第1~第4復元器(113_1~113_4)を含む。アドレスデコーダ112は、
図3を参照して説明されたのと同じように構成され、同じように動作することができる。
【0076】
オフセット変換器114aは、アドレス(AD)、ランダム数(RN)及びデータビット(DB)を受信することができる。オフセット変換器114aは、アドレス(AD)に基づいてランダム数(RN)のビットの中から相異なるビットを選択することができる。オフセット変換器114aは、ランダム数(RN)の選択されたビットに基づいてデータビット(DB)を変換されたデータビット(DB_C)に変換することができる。
【0077】
第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)を復元する。
【0078】
図17は、第5例による混合構成が反映されたデータビット(DB)の格納方法を示す。
図16及び
図17を参照すると、オフセット変換器114aは、アドレス(AD)が「00」のときにランダム数(RN)の選択された第1ビット(RN_00)を利用して、オフセットビット(OFF)を変換することができる。オフセット変換器114aは、アドレス(AD)が「01」のときにランダム数(RN)の選択された第2ビット(RN_01)を利用して、オフセットビット(OFF)を変換することができる。
【0079】
オフセット変換器114aは、アドレス(AD)が「10」のときにランダム数(RN)の選択された第3ビット(RN_10)を利用して、オフセットビット(OFF)を変換することができる。オフセット変換器114aは、アドレス(AD)が「11」のときにランダム数(RN)の選択された第4ビット(RN_11)を利用して、オフセットビット(OFF)を変換することができる。選択された第1~第4ビット(RN_00~RN_11)は互いに異なることができる。
【0080】
アドレス(AD)に基づいてランダム数(RN)のビットが異なって選択されるので、アドレス(AD)に基づいてデータビット(DB)が互いに異なって変換されることができる。
図17において、アドレス(AD)が異なるときに、第1~第8ビット(D1~D8)の配置順序は、互いに異なって示される。
【0081】
集積回路デバイス10(
図1参照)に電源が供給されたり、集積回路デバイス10がリセットされたりする際に、ランダム数(RN)が更新される。したがって、集積回路デバイス10(
図1参照)に電源が供給されたり、集積回路デバイス10がリセットされたりするときに、アドレス(AD)に基づいて、第1乃至第8ビット(D1~D8)が再配列される順序が変わって、データビット(DB)のセキュリティが、さらに向上される。
【0082】
図18は、第6例による混合構成が反映されたデータビット(DB)の格納方法を示す。
図17と比較すると、オフセット変換器114aは、オフセットビット(OFF)中の一部、例えば最上位ビットに対し排他的論理和を遂行することができる。オフセット変換器114aは、第1~第4選択されたビット(RN_00~RN_11)として、それぞれランダム数(RN)の相異なる1つのビットを選択することができる。
【0083】
図17を参照して説明された混合構成と比較すると、
図18を参照して説明された混合構成は、オフセットビット(OFF)の制限された変換を遂行する。
図17の変換及び復元を遂行するオフセット変換器114a及び第1~第4復元器(113_1~113_4)と比較すると、
図18の変換及び復元を遂行するオフセット変換器114a及び第1~第4復元器(113_1~113_4)の複雑度、サイズ及び製造コストが減少する。
【0084】
例示的に、
図14及び
図15を参照して説明されたように、アドレス(AD)に関係なしに、データビット(DB)を変換する例でも限られた変換が適用されることができる。つまり、オフセット変換器114は、アドレス(AD)の少なくとも一つのビット及びランダム数(RN)の対応する数のビットに対し排他的論理和を遂行することができる。
【0085】
図19は、本発明の第5実施形態による周辺ブロック100eを示すブロック図である。
図19を参照すると、周辺ブロック100eは、混合器110e、特殊機能レジスタ120及び論理部130を含む。特殊機能レジスタ120及び論理部130は、
図3を参照して説明されたのと同じように構成され、同じように動作する。
【0086】
混合器110eは、アドレス変換器111、アドレスデコーダ112、第1復元器113、オフセット変換器114及び第2復元器115を含む。アドレス変換器111は、
図3を参照して説明されたのと同じように構成され、同じように動作する。オフセット変換器114は、
図14を参照して説明されたのと同じように構成され、同じように動作する。
【0087】
アドレスデコーダ112は、データビット(DB)の代わりに変換されたデータビット(DB_C)を格納することを除けば、
図3を参照して説明されたのと同じように構成され、同じように動作する。第1復元器113は、出力を第2復元器115に伝達することを除けば、
図3又は
図14を参照して説明されたのと同じように構成され、同じように動作することができる。第2復元器115は、入力が第1復元器113から伝達されることを除けば、
図14又は
図3を参照して説明されたのと同じように構成され、同じように動作することができる。
【0088】
混合器110eは、アドレス(AD)を変換し、そしてデータビット(DB)を再配列することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節することができる。
【0089】
アドレス変換器111及びオフセット変換器114は、ランダム数(RN)の相異なるビットを選択することができる。第1復元器113は、アドレス変換器111又はオフセット変換器114と同じ位置でランダム数(RN)のビットを選択することができる。第2復元器115は、オフセット変換器114又はアドレス変換器111と同じ位置でランダム数(RN)のビットを選択することができる。
【0090】
図20は、本発明の第6実施形態による周辺ブロック100fを示すブロック図である。
図20を参照すると、周辺ブロック100fは混合器110f、特殊機能レジスタ120a及び論理部130を含む。特殊機能レジスタ120a及び論理部130は、
図11を参照して説明されたのと同じように構成され、同じように動作する。
【0091】
混合器110fは、アドレス変換器111、アドレスデコーダ112a、第1復元器113a、オフセット変換器114a及び第2復元器(115_1~115_4)を含む。アドレス変換器111は、
図3を参照して説明されたのと同じように構成され、同じように動作する。オフセット変換器114aは、
図16を参照して説明されたのと同じように構成され、同じように動作する。
【0092】
アドレスデコーダ112aは、データビット(DB)の代わりに変換されたデータビット(DB_C)を格納することを除けば、
図11を参照して説明されたのと同じように構成され、同じように動作する。第1復元器113aは、出力を第2復元器(115_1~115_4)に伝達することを除けば、
図11を参照して説明されたのと同じように構成され、同じように動作することができる。
【0093】
第2復元器(115_1~115_4)は入力が第1復元器113aから伝達されることを除けば、
図16を参照して説明された第1~第4復元器(113_1~113_4)と同じように構成され、同じように動作することができる。
【0094】
混合器110fは、アドレス(AD)を変換し、そしてデータビット(DB)を再配列することにより、混合構成に応じて、データビット(DB)が格納される目標ビットストアを調節することができる。目標ビットストアはアドレス(AD)によって識別されるビットストアよりも、多くの数のビットストアの中から選択されることができる。
【0095】
前述した実施形態において、「ブロック」の用語を使用して、本発明の実施形態による構成要素が参照された。「ブロック」は、IC(Integrated Circuit)、ASIC(Application Specific IC)、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)などのような多様なハードウェアデバイス、ハードウェアデバイスで駆動されるファームウェア、アプリケーションのようなソフトウェア、又はハードウェアデバイスとソフトウェアが組み合わせられた形態に具現されることができる。なお、「ブロック」は、IC内の半導体素子で構成される回路又はIP(Intellectual Property)を包含できる。
【0096】
前述された内容は、本発明を実施するための具体的な実施形態である。本発明は、前述した実施形態だけでなく、単純に設計変更されたり、容易に変更したりすることができる実施形態をまた包含するはずである。なお、本発明は、実施形態を用いて容易に変形して実施できる技術も含まれるはずである。したがって、本発明の範囲は、前述された実施形態に限定されてはならず、後述する特許請求の範囲だけでなく、この発明の特許請求の範囲と均等なものによって定められなければならないだろう。
【産業上の利用可能性】
【0097】
本発明はデータビットの格納位置を指定する混合構成(shuffle configuration)により、向上されたセキュリティを有しデータビットを伝達又は受信する集積回路デバイスの具現に有用である。
【符号の説明】
【0098】
10:集積回路デバイス
11:プロセッサコア
12:ランダム数(乱数)生成器
13:電源マネージャー
100:周辺ブロック
110:混合器(シャッフラー)
120:特殊機能レジスタ
130:論理部
111:アドレス変換器
112:アドレスデコーダ
113:復元器
114:オフセット変換器