JP5544611B2 - 耐タンパ性メモリ集積回路およびそれを利用した暗号回路 - Google Patents

耐タンパ性メモリ集積回路およびそれを利用した暗号回路 Download PDF

Info

Publication number
JP5544611B2
JP5544611B2 JP2012526239A JP2012526239A JP5544611B2 JP 5544611 B2 JP5544611 B2 JP 5544611B2 JP 2012526239 A JP2012526239 A JP 2012526239A JP 2012526239 A JP2012526239 A JP 2012526239A JP 5544611 B2 JP5544611 B2 JP 5544611B2
Authority
JP
Japan
Prior art keywords
transistors
transistor
input
gate
data
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.)
Expired - Fee Related
Application number
JP2012526239A
Other languages
English (en)
Other versions
JPWO2012014291A1 (ja
Inventor
毅 藤野
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.)
Ritsumeikan Trust
Original Assignee
Ritsumeikan Trust
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 Ritsumeikan Trust filed Critical Ritsumeikan Trust
Publication of JPWO2012014291A1 publication Critical patent/JPWO2012014291A1/ja
Application granted granted Critical
Publication of JP5544611B2 publication Critical patent/JP5544611B2/ja
Expired - Fee Related 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/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • 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
    • 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/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Description

本発明は、暗号アルゴリズムを実現する半導体デバイスに関し、特に、半導体デバイス内で処理される秘密情報(主として暗号鍵)を、半導体デバイスの消費電力、および消費電力に依存する輻射電磁波などのサイドチャネル情報を用いて、窃取する攻撃に対しての対抗措置を備えた耐タンパ性メモリ集積回路およびそれを利用した暗号回路に関する。
近年、ICカードのように、LSIを利用して金銭情報や個人情報を保管するシステムが社会基盤として広く普及しており、このようなセキュリティLSIの信頼性・安全性保証の重要性はきわめて高い。セキュリティLSIにおいては、内部に搭載する暗号回路を用いて機密情報を守秘しており、暗号回路鍵の情報を外部に漏えいさせないことが必須となる。3DES(Triple Data Encryption Standard)やAES(Advanced Encryption Standard)といった現代暗号では、入出力となっている平文―暗号文のペアを入手し、最高速のコンピュータを駆使しても、現実的な時間内では暗号鍵を特定できないような暗号アルゴリズムが採用されており、安全性が確認されている。
これ以外の暗号鍵の窃取方法として、暗号アルゴリズム実行時の半導体デバイスの消費電力、および消費電力に依存する輻射電磁波などのサイドチャネル情報を用いて、暗号鍵を特定する手法が、脅威とされている。このようなサイドチャネル攻撃の中で、差分電力攻撃(DPA:Differential Power Analysis)は1999年にP. Kocherによって発表された攻撃手法であり、下記非特許文献1(Paul Kocher, Joshua Jaffe, and Benjamin Jun,“Differential Power Analysis”, Advances in Cryptography- Proceedings of CRYPTO’99, Springer-Verlag, August 1999, pp.388-397、)に開示された方法が最も強力な攻撃であるとされている。これは、暗号デバイス動作時の信号値または信号遷移頻度と、消費電力との間には相関関係があることを利用している。このことを、図1の(a)に示した2入力ANDゲートを用いて具体的に説明する。2入力ANDゲートの入力の遷移は、遷移前をA1、B1、遷移後をA2、B2と書くと、図1の(b)に示すように16通りの組み合わせが存在する。遷移前のA端子の入力(A1)の状態が機密情報(「注目ビット」で示す)であり、B端子はランダムに遷移すると仮定すると、A1=0(図1(b)の上側8行を参照)の時の出力遷移確率は2/8=1/4であるのに対して、A1=1(図1(b)の下側8行を参照)の時の出力遷移確率は4/8=1/2である。図1(b)における斜線部分が、出力が遷移する場合を示す。従って遷移前のA端子の入力すなわちA1のデータと消費電力とには相関がある。暗号デバイスにおいて、機密情報である暗号鍵データはデバイス内部の電気信号として伝搬されることから、暗号デバイス動作時の消費電力を統計処理することで、機密情報である暗号鍵を特定することができる。本例ではANDゲートの例を示したが、ORゲートでも、NAND、NORゲートでも非線形ゲートの場合には同じDPA攻撃が可能である。
このDPA攻撃に対する対抗措置としては、第1に暗号デバイスの電気信号値と暗号情報に相関を無くす対策、第2に暗号デバイスの信号値に関わらずデバイスが一定の電力を消費するような対策が提案されている。
前者の対策例としては、下記特許文献1(特開2000−066585号公報)に開示されているように、共通鍵ブロック暗号DESに対して、そのアルゴリズムで使用されるS−Boxと呼ばれる置換テーブルの入力値を、乱数パラメータRによって一定の規則の下に変化させ、変化させた入力に対して、正規アルゴリズムと同じ出力演算結果を得るために規則ごとに異なったS−Box置換テーブルを用いて演算を行う方法が提案されている。乱数Rに依存して異なったS−Box演算が行われるため、同一の入力値、同一の暗号鍵に対しても異なった消費電力となるので、暗号鍵と消費電力との相関関係が得られなくなる。この他に、下記特許文献2(特表2002−519722号公報)に開示された方法も類似の対抗措置であり、乱数パラメータRを利用して、演算前に通常のS−Box置換テーブルと異なるテーブルを用意して処理を行う点は共通である。これらの暗号演算処理はCPU(Central Processing Unit)とCPUから参照できるメモリとから構成されたハードウエアを用いてソフトウエアで処理することが一般的であり、後述のハードウエアを用いた手法と比較して暗号処理演算時間が長く、処理速度が遅くなるという欠点がある。
後者の対策例としては、下記特許文献3(国際特許出願公開WO2006−006199号パンフレット)に開示されている手法がある。特許文献3中の図12、13のDES暗号用S−Boxの構成例で示されるように、共通鍵暗号に用いられるS−Boxテーブルは、ANDゲートやORゲートなどの非線形ゲートと否定論理を用いた組み合わせ論理回路を用いて実現することが可能である。
このうち、非線形ゲートは、上記したように入力データ値に依存して出力の遷移確率が異なるため、出力の遷移確率に比例する消費電力も入力データ値に依存するという特徴を持つ。図1に示した2入力ANDゲートの例では、入力Aが0の時の出力遷移確率は1/4であり、入力Aが1の時の出力遷移確率は1/2となる。このため入力Aが固定され、入力Bがランダムに変化しているときのデバイスの消費電力を計測すれば入力Aが1か0かを推定することが可能となる。したがってAに機密情報に関連したビット情報が入力されている場合には、消費電力を用いてこれを推定することが可能となる。
このような、非線形ゲートに内在する消費電力の均一化対策としては、下記非特許文献2(K.Tiri and Ingrid Verbauwhede,“A Logic Level Design Methodology for a Secure DPA Resistant ASIC or FPGA Implementation”, Design Automation and Test in Europe Conference, pp.246-251 (2004))に開示されている、図2の(a)に示すような相補的な動作を行うゲートを使用したプリチャージ付き2線相補ロジックがある。論理ゲート間の信号伝搬は2線の相補信号を用い、出力ノードを論理演算開始前に必ず初期化(論理0とする)ことにより、演算時は相補信号のどちらかが必ず遷移することとなり、どのような演算を行ったとしても信号線の遷移確率は一定となる。図2の(b)に示す遷移テーブルでは、最下行が初期化(/prch=0即ちprch=1)を表しており、このとき出力Z、/Zは共に0である。その後、どのような入力パターンであっても、出力Z、/Zのどちらかが必ず遷移することが分かる。
しかしながら、一定の消費電力を保証するためには、Aと/A、Zと/Zといった相補信号を伝搬する信号線の寄生容量を完全に同一にする必要があり、LSIレイアウト設計上の観点からは極めて難しく、またゲートおよび配線が増加するため実装面積が3倍以上になる点が実用上の問題点となっている。
これに対して、特許文献3に示されている「RSL(Random Switching Logic)ゲート」は、乱数を用いてゲートの遷移確率を均一化する手法を採用することにより1線式で消費電力の均一化を達成している。図3の(a)は特許文献3に示されているRSL方式を用いたNANDゲートである。(a)の回路は、(b)に示すように、乱数rが0の場合はNANDゲートとして、乱数rが1の場合はNORゲートとして機能する。演算前には/en信号は1とされ、出力z=0となり、前述の2線相補ロジックと同様のプリチャージが行われる。プリチャージ状態からのNANDゲートの出力遷移確率は25%、NORゲートの出力遷移確率は75%なので、乱数rが確率50%で1と0の間を遷移すれば、出力ノードは確率50%で遷移する。したがって、暗号デバイスの信号値に関わらずデバイスが一定の電力を消費することとなり、DPA対策となる。また、この状態では所望の演算結果が得られないという問題があるが、図4に示すように目的とする組合せ論理回路の前段および後段において、RSL方式で使用するのと同じ乱数rを用いてEXOR演算を行うと、組合せ論理回路内で正論理と負論理を切り替えることとなり、所望の演算を実行することができる。EXOR演算部は遷移確率50%の線形回路であるため、DPA攻撃の対象とはならない。
DPA攻撃に対する完全な耐性を得るためには、論理回路においてハザード(配線遅延や素子遅延のために瞬間的に生じる信号値の変化)が発生しないことを保証しなければならない。このため/en端子は入力信号x、yの値の入力決定後に1から0に遷移しなければならない(図5の(a)参照。図5の(a)は図3の(a)と同じ回路である)。また、/en端子は0から1に遷移する際には、前段から0にリセットされたデータが到達する前に実行しなければならない。このために図5の(b)に示すような非同期信号回路(破線領域)の実装と制御が必要とされている。なお、図5(b)において、TGはタイミングジェネレータ、TCはタイミングコントローラである。LSIにおいては、トランジスタは電源電圧や環境温度によって駆動能力が大きく変化するため、正確に時間を制御しなければならない非同期信号回路の実装は困難である。
上記の問題点を解決したものが、下記非特許文献3(豊田善靖、木戸健太、下林義明、藤野毅、「暗号回路の電力差分解析攻撃に対して耐性があるドミノ型RSL回路の提案」、電子情報通信学会技術報告VLD2007-77)で提案されたドミノRSL方式である。図6の(a)にドミノ型RSL方式AND/ORゲートを示す。本方式は、RSL方式と同様に乱数rを用いてANDゲートとORゲートが切り替わる(図6の(b)参照)ことからDPA耐性が保証される。かつ、入力X、Yが0であるとき出力Zが0になる論理を使用するドミノ方式を使用しているために、出力は1回しか変化することなく本質的にハザードが発生しない。このため、RSL方式で実装が困難であった/en信号の非同期タイミング制御が不要となる特長がある。また、RSL回路と比較するとトランジスタ数が少なく1ゲートあたりの面積が小さいという特長もある。本ドミノRSL回路を用いたDES暗号回路がDPA耐性を持つことは、下記非特許文献4(奥山一樹、小島憲司、岩井克彦、藤野毅、「Domino-RSL方式を用いてFPGA実装された暗号回路に対するDPA耐性検証」、暗号と情報セキュリティーシンポジウム(SCIS2010)、2010年1月)にて報告されている。
図7にドミノRSL方式を用いて設計したDES暗号回路の回路ブロック図を示す。ドミノRSL方式を適用しなければならないのは、非線形ゲートが必要なS−Box回路だけである。DES暗号回路におけるS−Box回路は6入力4出力のテーブルであり、8種類のテーブルが使われるため、8種類のS−Box(S−Box1〜S−Box8)を示している。S−Boxは6入力4出力のテーブルをハードウエア記述言語で記載し、否定論理を含まない論理合成が可能なツール(カリフォルニア大学バークレー校:UC Berkleyが配布しているSIS論理合成ツール)を用いてドミノRSLゲートを含むネットリストに変換できる。なお、回路中にRと記載されたEXORゲートは、DFFの遷移を利用したハミングディスタンス型のDPA攻撃に対するランダムマスク対策として導入されている。
特開2000−066585号公報 特表2002−519722号公報 国際特許出願公開WO2006−006199号パンフレット
Paul Kocher, Joshua Jaffe, and Benjamin Jun,"Differential Power Analysis", Advances in Cryptography- Proceedings of CRYPTO’99, Springer-Verlag, August 1999, pp.388-397 K.Tiri and Ingrid Verbauwhede,"A Logic Level Design Methodology for a Secure DPA Resistant ASIC or FPGA Implementation", Design Automation and Test in Europe Conference, pp.246-251 (2004) 豊田善靖、木戸健太、下林義明、藤野毅、「暗号回路の電力差分解析攻撃に対して耐性があるドミノ型RSL回路の提案」、電子情報通信学会技術報告VLD2007-77 奥山一樹、小島憲司、岩井克彦、藤野毅、「Domino-RSL方式を用いてFPGA実装された暗号回路に対するDPA耐性検証」、暗号と情報セキュリティーシンポジウム(SCIS2010)、2010年1月 Jae W Lee, et. al. "A Technique to Build a Secret Key in Integrated Circuits for Identification and Authentication Applications", 2004 Symposium on VLSI Circuits, pp.176-179
ドミノRSL回路を用いたS−BoxのLSI実装における現実的な問題点は、以下の3点である。
(1)ドミノ方式に対応するためには入力初段以外では否定論理を使用しないようにする論理合成ツールを使用しなければならないが、実用LSI設計において一般的に普及している論理合成ツールであるシノプシス社のデザインコンパイラでは、そのような論理合成をすることができない。
(2)ドミノRSLゲートという一般的なLSI設計ライブラリに含まれないセルを用意して自動配置配線を行わなければならず、本セル用のツールライブラリを作成しなければならない。
(3)ドミノRSLゲートごとに/CLK信号を配線しなければならないため、/CLK信号線負荷が大きくクロック設計が困難である。
本発明は、DPA攻撃に強い耐タンパ性メモリ集積回路、特に、上記のようなドミノRSLゲートを用いたASIC設計フローの問題点を解決でき、容易に集積回路設計を可能にできる耐タンパ性メモリ集積回路、及び、それをハードウエアコア(以降「セキュアメモリ」と呼ぶ)として用いた暗号回路(例えばS−BoxをLSI実装した暗号回路)を提供することを目的とする。
例えば、DES暗号回路のS−BOX1個を実装するのに必要な6入力4出力のテーブルは6ビットのアドレス線と4ビットのデータ線を持つ2×4=256ビットのセキュアメモリとして実現できる。本発明のセキュアメモリでは、DPA耐性を持たせるために、メモリの周辺回路部は、例えばドミノRSL方式を用いて設計を行う。このため、通常のメモリとしての6本のアドレス線およびデータ線およびクロック(CLK)以外に、ドミノRSL回路に対応した乱数Rを入力制御線として備える点が大きく異なる特徴点である。
以下において、括弧を付して符号を記載するが、これは、発明の理解を容易にするためであり、発明を限定することを意図していない。
上記した課題を解決するために、本発明に係る第1のメモリ集積回路は、メモリセルアレイ、ロウデコーダ、コラムデコーダ、センスアンプ、及び入出力ドライバを備えたメモリ集積回路であって、
前記メモリセルアレイ内の各メモリセルに対するデータの読み出し又は書き込みが2本の相補ビット線を介して行われ、
前記ロウデコーダ、前記コラムデコーダ、及び前記センスアンプが、外部から入力される乱数データによって信号線の遷移確率が均一化される回路で構成されている。
本発明に係る第2のメモリ集積回路は、上記の第1のメモリ集積回路において、前記ロウデコーダ、前記コラムデコーダ、及び前記センスアンプが、ドミノRSL回路を備えて構成されている。
本発明に係る第3のメモリ集積回路は、上記の第2のメモリ集積回路において、
前記ロウデコーダが、第1プリデコーダと、メモリセルのワード線をドライブするワード線ドライバとを備えて構成され、
前記第1プリデコーダが、前記アドレスデータを構成する複数のビットデータの一部を反転させる複数の第1インバータ(図12(a)のインバータ)と、複数の第1ドミノRSLゲート(RSL_AND)とを備え、
前記第1ドミノRSLゲート(RSL_AND)が、第1〜第8トランジスタ(Tr1〜Tr8)及び第2インバータ(Inv1)を備え、
第1及び第5トランジスタがPMOSトランジスタであり、
第2〜第4及び第6〜第8トランジスタがNMOSトランジスタであり、
前記第1〜第4トランジスタ(Tr1〜Tr4)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第1〜第4トランジスタ(Tr1〜Tr4)の一方の端部に位置する前記第1トランジスタ(Tr1)のソースに電源電圧(Vdd)が印加され、
直列に接続された前記第1〜第4トランジスタ(Tr1〜Tr4)の他方の端部に位置する前記第4トランジスタ(Tr4)のソースに接地電圧(Gnd)が印加され、
前記第1トランジスタ(Tr1)及び前記第4トランジスタ(Tr4)のゲートにクロック(CLK)が入力され、
前記第5トランジスタ(Tr5)のソースに電源電圧が印加され、
前記第6及び第7トランジスタ(Tr6、Tr7)が並列に接続され、
前記第6及び第7トランジスタ(Tr6、Tr7)の接続ノードの一方に、前記第5トランジスタ(Tr5)のドレインが接続され、
前記第6及び第7トランジスタ(Tr6、Tr7)の接続ノードの他方に、前記第8トランジスタ(Tr8)のドレインが接続され、
前記第8トランジスタ(Tr8)のソースが、前記第3及び第4トランジスタ(Tr3、Tr4)の接続ノードに接続され、
前記第1及び第2トランジスタ(Tr1、Tr2)の接続ノードと前記第5〜第7トランジスタ(Tr5〜Tr7)の接続ノードとが接続されて、第1出力ノードを形成し、
前記第1出力ノードが、前記第2インバータ(Inv1)を介して前記第5トランジスタ(Tr5)のゲートに接続され、
前記第2トランジスタ(Tr2)及び前記第6トランジスタ(Tr6)のゲートに、前記アドレスデータを構成する1ビットデータ(A[2]〜A[3])又は前記第1インバータの出力データが入力され、
前記第3トランジスタ(Tr3)及び前記第7トランジスタ(Tr7)のゲートに、前記第2トランジスタ(Tr2)及び前記第6トランジスタ(Tr6)のゲートに入力されるデータとは異なる、前記アドレスデータを構成する1ビットデータ(A[2]〜A[3])又は前記第1インバータの出力データが入力され、
前記第8トランジスタ(Tr8)のゲートに、前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第4のメモリ集積回路は、上記の第2のメモリ集積回路において、
前記ロウデコーダが、第1プリデコーダと、メモリセルのワード線をドライブするワード線ドライバとを備えて構成され、
前記第1プリデコーダが、前記アドレスデータを構成する複数のビットデータの一部を反転させる複数の第1インバータ(図12(a)のインバータ)と、複数の第1ドミノRSLゲート(RSL_AND)とを備え、
前記第1ドミノRSLゲート(RSL_AND)が、第1〜第8トランジスタ(Tr1’〜Tr8’)及び第2インバータ(Inv1’)を備え、
第1及び第5トランジスタがNMOSトランジスタであり、
第2〜第4及び第6〜第8トランジスタがPMOSトランジスタであり、
前記第1〜第4トランジスタ(Tr1’〜Tr4’)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第1〜第4トランジスタ(Tr1’〜Tr4’)の一方の端部に位置する前記第1トランジスタ(Tr1’)のソースに接地電圧(Gnd)が印加され、
直列に接続された前記第1〜第4トランジスタ(Tr1’〜Tr4’)の他方の端部に位置する前記第4トランジスタ(Tr4’)のソースに電源電圧(Vdd)が印加され、
前記第1トランジスタ(Tr1’)及び前記第4トランジスタ(Tr4’)のゲートにクロック(CLK)が入力され、
前記第5トランジスタ(Tr5’)のソースに接地電圧が印加され、
前記第6及び第7トランジスタ(Tr6’、Tr7’)が並列に接続され、
前記第6及び第7トランジスタ(Tr6’、Tr7’)の接続ノードの一方に、前記第5トランジスタ(Tr5’)のドレインが接続され、
前記第6及び第7トランジスタ(Tr6’、Tr7’)の接続ノードの他方に、前記第8トランジスタ(Tr8’)のドレインが接続され、
前記第8トランジスタ(Tr8’)のソースが、前記第3及び第4トランジスタ(Tr3’、Tr4’)の接続ノードに接続され、
前記第1及び第2トランジスタ(Tr1’、Tr2’)の接続ノードと前記第5〜第7トランジスタ(Tr5’〜Tr7’)の接続ノードとが接続されて、第1出力ノードを形成し、
前記第1出力ノードが、前記第2インバータ(Inv1’)を介して前記第5トランジスタ(Tr5’)のゲートに接続され、
前記第2トランジスタ(Tr2’)及び前記第6トランジスタ(Tr6’)のゲートに、前記アドレスデータを構成する1ビットデータ(A[2]〜A[3])又は前記第1インバータの出力データが入力され、
前記第3トランジスタ(Tr3’)及び前記第7トランジスタ(Tr7’)のゲートに、前記第2トランジスタ(Tr2’)及び前記第6トランジスタ(Tr6’)のゲートに入力されるデータとは異なる、前記アドレスデータを構成する1ビットデータ(A[2]〜A[3])又は前記第1インバータの出力データが入力され、
前記第8トランジスタ(Tr8’)のゲートに、前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第5のメモリ集積回路は、上記の第3又は第4のメモリ集積回路において、
前記ワード線ドライバが複数の第2ドミノRSLゲート(RSL_WDrive)を備え、
前記第2ドミノRSLゲート(RSL_WDrive)が、第9〜第17トランジスタ(Tr9〜Tr17)及び第3インバータ(Inv2)を備え、
第9及び第14トランジスタがPMOSトランジスタであり、
第10〜第13及び第15〜第17トランジスタがNMOSトランジスタであり、
前記第9〜第13トランジスタ(Tr9〜Tr13)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第9〜第13トランジスタ(Tr9〜Tr13)の一方の端部に位置する前記第9トランジスタ(Tr9)のソースに電源電圧が印加され、
直列に接続された前記第9〜第13トランジスタ(Tr9〜Tr13)の他方の端部に位置する前記第13トランジスタ(Tr13)のソースに接地電圧が印加され、
前記第9トランジスタ(Tr9)及び前記第13トランジスタ(Tr13)のゲートにクロック(CLK)が入力され、
前記第14〜第17トランジスタ(Tr14〜Tr17)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第14〜第17トランジスタ(Tr14〜Tr17)の一方の端部に位置する前記第14トランジスタ(Tr14)のソースに電源電圧が印加され、
直列に接続された前記第14〜第17トランジスタ(Tr14〜Tr17)の他方の端部に位置する前記第17トランジスタ(Tr17)のソースが、前記第13トランジスタ(Tr13)のドレインに接続され、
前記第9及び第10トランジスタ(Tr9、Tr10)の接続ノードと前記第14及び第15トランジスタ(Tr14、Tr15)の接続ノードとが接続されて第2出力ノードを形成し、
前記第2出力ノードが、前記第3インバータ(Inv2)を介して前記第14トランジスタ(Tr14)のゲートに接続され、
前記第10及び第11トランジスタ(Tr10、Tr11)の各々のゲート(IN3、IN4)に、重複すること無く前記第1ドミノRSLゲートの出力信号(a[0]〜a[3]、b[0]〜b[3])が入力され、
前記第15トランジスタ(Tr15)のゲートに、前記第10トランジスタ(Tr10)のゲートに入力される信号(IN3)の反転信号(/IN3)が入力され、
前記第16トランジスタ(Tr16)のゲートに、前記第11トランジスタ(Tr11)のゲートに入力される信号(IN4)の反転信号(/IN4)が入力され、
前記第12及び第17トランジスタ(Tr12、Tr17)の各々に、重複すること無く前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第6のメモリ集積回路は、上記の第3又は第4のメモリ集積回路において、
前記ワード線ドライバが複数の第2ドミノRSLゲート(RSL_WDrive)を備え、
前記第2ドミノRSLゲート(RSL_WDrive)が、第9〜第17トランジスタ(Tr9’〜Tr17’)及び第3インバータ(Inv2’)を備え、
第9及び第14トランジスタがNMOSトランジスタであり、
第10〜第13及び第15〜第17トランジスタがPMOSトランジスタであり、
前記第9〜第13トランジスタ(Tr9’〜Tr13’)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第9〜第13トランジスタ(Tr9’〜Tr13’)の一方の端部に位置する前記第9トランジスタ(Tr9’)のソースに接地電圧が印加され、
直列に接続された前記第9〜第13トランジスタ(Tr9’〜Tr13’)の他方の端部に位置する前記第13トランジスタ(Tr13’)のソースに電源電圧が印加され、
前記第9トランジスタ(Tr9’)及び前記第13トランジスタ(Tr13’)のゲートにクロック(CLK)が入力され、
前記第14〜第17トランジスタ(Tr14’〜Tr17’)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第14〜第17トランジスタ(Tr14’〜Tr17’)の一方の端部に位置する前記第14トランジスタ(Tr14’)のソースに接地電圧が印加され、
直列に接続された前記第14〜第17トランジスタ(Tr14’〜Tr17’)の他方の端部に位置する前記第17トランジスタ(Tr17’)のソースが、前記第13トランジスタ(Tr13’)のドレインに接続され、
前記第9及び第10トランジスタ(Tr9’、Tr10’)の接続ノードと前記第14及び第15トランジスタ(Tr14’、Tr15’)の接続ノードとが接続されて第2出力ノードを形成し、
前記第2出力ノードが、前記第3インバータ(Inv2’)を介して前記第14トランジスタ(Tr14’)のゲートに接続され、
前記第10及び第11トランジスタ(Tr10’、Tr11’)の各々のゲート(IN3、IN4)に、重複すること無く前記第1ドミノRSLゲートの出力信号(a[0]〜a[3]、b[0]〜b[3])が入力され、
前記第15トランジスタ(Tr15’)のゲートに、前記第10トランジスタ(Tr10’)のゲートに入力される信号(IN3)の反転信号(/IN3)が入力され、
前記第16トランジスタ(Tr16’)のゲートに、前記第11トランジスタ(Tr11’)のゲートに入力される信号(IN4)の反転信号(/IN4)が入力され、
前記第12及び第17トランジスタ(Tr12’、Tr17’)の各々に、重複すること無く前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第7のメモリ集積回路は、上記の第3〜第6のメモリ集積回路の何れかにおいて、
前記センスアンプが、前記相補ビット線(BL、/BL)に接続されたビット線プリチャージユニット及びクロスカップルセンスアンプユニットと、ドミノRSLマルチプレクサ(RSL_MUX)とを備え、
前記ドミノRSLマルチプレクサが、第18〜第24トランジスタ(Tr18〜Tr24)及び第4インバータ(Inv3’)を備え、
第18及び第22トランジスタがPMOSトランジスタであり、
第19〜第21、第23、及び第24トランジスタがNMOSトランジスタであり、
前記第18〜第21トランジスタ(Tr18〜Tr21)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第18〜第21トランジスタ(Tr18〜Tr21)の一方の端部に位置する前記第18トランジスタ(Tr18)のソースに電源電圧が印加され、
直列に接続された前記第18〜第21トランジスタ(Tr18〜Tr21)の他方の端部に位置する前記第21トランジスタ(Tr21)のソースに接地電圧が印加され、
前記第18トランジスタ(Tr18)及び前記第21トランジスタ(Tr21)のゲートにクロック(CLK)が入力され、
前記第22〜第24トランジスタ(Tr22〜Tr24)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第22〜第24トランジスタ(Tr22〜Tr24)の一方の端部に位置する前記第22トランジスタ(Tr22)のソースに電源電圧が印加され、
直列に接続された前記第22〜第24トランジスタ(Tr22〜Tr24)の他方の端部に位置する前記第24トランジスタ(Tr24)のソースが、前記第21トランジスタ(Tr21)のドレインに接続され、
前記第18及び第19トランジスタ(Tr18、Tr19)の接続ノードと前記第22及び第23トランジスタ(Tr22、Tr23)の接続ノードとが接続されて第3出力ノードを形成し、
前記第3出力ノードが、前記第4インバータ(Inv3)を介して前記第22トランジスタ(Tr22)のゲートに接続され、
前記第19及び第23トランジスタ(Tr19、Tr23)の各々のゲートに、重複すること無く前記相補ビット線(BL、/BL)からの信号が入力され、
前記第20及び第24トランジスタ(Tr20、Tr24)の各々のゲートに、前記乱数データ(R)又は前記乱数データの反転データが入力される。
本発明に係る第8のメモリ集積回路は、上記の第3〜第6のメモリ集積回路の何れかにおいて、
前記センスアンプが、前記相補ビット線(BL、/BL)に接続されたビット線プリチャージユニット及びクロスカップルセンスアンプユニットと、ドミノRSLマルチプレクサ(RSL_MUX)とを備え、
前記ドミノRSLマルチプレクサが、第18〜第24トランジスタ(Tr18’〜Tr24’)及び第4インバータ(Inv3’)を備え、
第18及び第22トランジスタがNMOSトランジスタであり、
第19〜第21、第23、及び第24トランジスタがPMOSトランジスタであり、
前記第18〜第21トランジスタ(Tr18’〜Tr21’)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第18〜第21トランジスタ(Tr18’〜Tr21’)の一方の端部に位置する前記第18トランジスタ(Tr18’)のソースに接地電圧が印加され、
直列に接続された前記第18〜第21トランジスタ(Tr18’〜Tr21’)の他方の端部に位置する前記第21トランジスタ(Tr21’)のソースに電源電圧が印加され、
前記第18トランジスタ(Tr18’)及び前記第21トランジスタ(Tr21’)のゲートにクロック(CLK)が入力され、
前記第22〜第24トランジスタ(Tr22’〜Tr24’)が、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第22〜第24トランジスタ(Tr22’〜Tr24’)の一方の端部に位置する前記第22トランジスタ(Tr22’)のソースに接地電圧が印加され、
直列に接続された前記第22〜第24トランジスタ(Tr22’〜Tr24’)の他方の端部に位置する前記第24トランジスタ(Tr24’)のソースが、前記第21トランジスタ(Tr21’)のドレインに接続され、
前記第18及び第19トランジスタ(Tr18’、Tr19’)の接続ノードと前記第22及び第23トランジスタ(Tr22’、Tr23’)の接続ノードとが接続されて第3出力ノードを形成し、
前記第3出力ノードが、前記第4インバータ(Inv3’)を介して前記第22トランジスタ(Tr22’)のゲートに接続され、
前記第19及び第23トランジスタ(Tr19’、Tr23’)の各々のゲートに、重複すること無く前記相補ビット線(BL、/BL)からの信号が入力され、
前記第20及び第24トランジスタ(Tr20’、Tr24’)の各々のゲートに、前記乱数データ(R)又は前記乱数データの反転データが入力される。
本発明に係る第9のメモリ集積回路は、上記の第3〜第8のメモリ集積回路の何れかにおいて、
前記コラムデコーダが、第2プリデコーダと、メモリセルのコラムデコード線をドライブするコラムデコード線ドライバとを備えて構成され、
前記第2プリデコーダが、前記アドレスデータを構成する複数の前記ビットデータのうち前記第1プリデコーダに入力されないビットデータを反転させる第5インバータと、第3ドミノRSLゲート(RSL_AND)とを備え、
前記第3ドミノRSLゲートが、第25〜第32トランジスタ及び第6インバータを備え、
第25及び第29トランジスタがPMOSトランジスタであり、
第26〜第28及び第30〜第32トランジスタがNMOSトランジスタであり、
前記第25〜第32トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第25〜第28トランジスタの一方の端部に位置する前記第25トランジスタのソースに電源電圧が印加され、
直列に接続された前記第25〜第28トランジスタの他方の端部に位置する前記第28トランジスタのソースに接地電圧が印加され、
前記第25トランジスタ及び前記第28トランジスタのゲートにクロックが入力され、
前記第29トランジスタのソースに電源電圧が印加され、
前記第30及び第31トランジスタが並列に接続され、
前記第30及び第31トランジスタの接続ノードの一方に、前記第29トランジスタのドレインが接続され、
前記第30及び第31トランジスタの接続ノードの他方に、前記第32トランジスタのドレインが接続され、
前記第32トランジスタのソースが、前記第27及び第28トランジスタの接続ノードに接続され、
前記第25及び第26トランジスタの接続ノードと前記第29〜第31トランジスタの接続ノードとが接続されて、第4出力ノードを形成し、
前記第4出力ノードが、前記第6インバータを介して前記第29トランジスタのゲートに接続され、
前記第26トランジスタ及び第30トランジスタのゲートに、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
前記第27トランジスタ及び前記第31トランジスタのゲートに、前記第26トランジスタ及び前記第30トランジスタのゲートに入力されるデータとは異なる、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
前記第32トランジスタのゲートに、前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第10のメモリ集積回路は、上記の第3〜第8のメモリ集積回路の何れかにおいて、
前記コラムデコーダが、第2プリデコーダと、メモリセルのコラムデコード線をドライブするコラムデコード線ドライバとを備えて構成され、
前記第2プリデコーダが、前記アドレスデータを構成する複数の前記ビットデータのうち前記第1プリデコーダに入力されないビットデータを反転させる第5インバータと、第3ドミノRSLゲート(RSL_AND)とを備え、
前記第3ドミノRSLゲートが、第25〜第32トランジスタ及び第6インバータを備え、
第25及び第29トランジスタがNMOSトランジスタであり、
第26〜第28及び第30〜第32トランジスタがPMOSトランジスタであり、
前記第25〜第32トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第25〜第28トランジスタの一方の端部に位置する前記第25トランジスタのソースに接地電圧が印加され、
直列に接続された前記第25〜第28トランジスタの他方の端部に位置する前記第28トランジスタのソースに電源電圧が印加され、
前記第25トランジスタ及び前記第28トランジスタのゲートにクロックが入力され、
前記第29トランジスタのソースに接地電圧が印加され、
前記第30及び第31トランジスタが並列に接続され、
前記第30及び第31トランジスタの接続ノードの一方に、前記第29トランジスタのドレインが接続され、
前記第30及び第31トランジスタの接続ノードの他方に、前記第32トランジスタのドレインが接続され、
前記第32トランジスタのソースが、前記第27及び第28トランジスタの接続ノードに接続され、
前記第25及び第26トランジスタの接続ノードと前記第29〜第31トランジスタの接続ノードとが接続されて、第4出力ノードを形成し、
前記第4出力ノードが、前記第6インバータを介して前記第29トランジスタのゲートに接続され、
前記第26トランジスタ及び第30トランジスタのゲートに、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
前記第27トランジスタ及び前記第31トランジスタのゲートに、前記第26トランジスタ及び前記第30トランジスタのゲートに入力されるデータとは異なる、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
前記第32トランジスタのゲートに、前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第11のメモリ集積回路は、上記の第9又は第10のメモリ集積回路において、
前記コラムデコード線ドライバが第4ドミノRSLゲート(RSL_WDrive)を備え、
前記第4ドミノRSLゲート(RSL_WDrive)が、第33〜第41トランジスタ及び第7インバータを備え、
第33及び第38トランジスタがPMOSトランジスタであり、
第34〜第37及び第39〜第41トランジスタがNMOSトランジスタであり、
前記第33〜第37トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第33〜第37トランジスタの一方の端部に位置する前記第33トランジスタのソースに電源電圧が印加され、
直列に接続された前記第33〜第37トランジスタの他方の端部に位置する前記第37トランジスタのソースに接地電圧が印加され、
前記第33トランジスタ及び前記第37トランジスタのゲートにクロック(CLK)が入力され、
前記第38〜第41トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第38〜第41トランジスタの一方の端部に位置する前記第38トランジスタのソースに電源電圧が印加され、
直列に接続された前記第38〜第41トランジスタの他方の端部に位置する前記第41トランジスタのソースが、前記第37トランジスタのドレインに接続され、
前記第33及び第34トランジスタの接続ノードと前記第38及び第39トランジスタの接続ノードとが接続されて、前記第5出力ノードを形成し、
前記第5出力ノードが、前記第7インバータを介して前記第38トランジスタのゲートに接続され、
前記第34及び第35トランジスタの各々のゲート(IN3、IN4)に、重複すること無く前記第3ドミノRSLゲートの出力信号が入力され、
前記第39トランジスタのゲートに、前記第34トランジスタのゲートに入力される信号(IN3)の反転信号(/IN3)が入力され、
前記第40トランジスタのゲートに、前記第35トランジスタのゲートに入力される信号(IN4)の反転信号(/IN4)が入力され、
前記第36及び第41トランジスタの各々に、重複すること無く前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第12のメモリ集積回路は、上記の第9又は第10のメモリ集積回路において、
前記コラムデコード線ドライバが第4ドミノRSLゲート(RSL_WDrive)を備え、
前記第4ドミノRSLゲート(RSL_WDrive)が、第33〜第41トランジスタ及び第7インバータを備え、
第33及び第38トランジスタがNMOSトランジスタであり、
第34〜第37及び第39〜第41トランジスタがPMOSトランジスタであり、
前記第33〜第37トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第33〜第37トランジスタの一方の端部に位置する前記第33トランジスタのソースに接地電圧が印加され、
直列に接続された前記第33〜第37トランジスタの他方の端部に位置する前記第37トランジスタのソースに電源電圧が印加され、
前記第33トランジスタ及び前記第37トランジスタのゲートにクロック(CLK)が入力され、
前記第38〜第41トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
直列に接続された前記第38〜第41トランジスタの一方の端部に位置する前記第38トランジスタのソースに接地電圧が印加され、
直列に接続された前記第38〜第41トランジスタの他方の端部に位置する前記第41トランジスタのソースが、前記第37トランジスタのドレインに接続され、
前記第33及び第34トランジスタの接続ノードと前記第38及び第39トランジスタの接続ノードとが接続されて、前記第5出力ノードを形成し、
前記第5出力ノードが、前記第7インバータを介して前記第38トランジスタのゲートに接続され、
前記第34及び第35トランジスタの各々のゲート(IN3、IN4)に、重複すること無く前記第3ドミノRSLゲートの出力信号が入力され、
前記第39トランジスタのゲートに、前記第34トランジスタのゲートに入力される信号(IN3)の反転信号(/IN3)が入力され、
前記第40トランジスタのゲートに、前記第35トランジスタのゲートに入力される信号(IN4)の反転信号(/IN4)が入力され、
前記第36及び第41トランジスタの各々に、重複すること無く前記乱数データ(R)又は前記乱数データの反転データ(/R)が入力される。
本発明に係る第1の暗号回路は、上記の第1〜第12のメモリ集積回路を備えている。
本発明に係る乱数発生回路は、
線形帰還形シフトレジスタと、2列に縦列接続されたN段のセレクタ回路と、アービター回路と、前記線形帰還形シフトレジスタの出力信号及び前記アービター回路の出力信号を排他的論理和演算して乱数を出力する演算ゲートとを備え、
前記線形帰還形シフトレジスタが、直列に接続されたN個のシフトレジスタと複数の排他的論理和演算子とを備え、
前記アービター回路が、
接地電圧と電源電圧との間に直列接続されたクロスカップルセンスアンプ、及び、ソースが相互接続され且つドレインが相互接続された2つのトランジスタで構成されたイネーブルゲートと、
一方の入力端に第1入力信号が入力され、他方の入力端が前記クロスカップルセンスアンプの第1センシングノードに接続され、出力端が、前記イネーブルゲートを構成する一方のトランジスタのゲートに接続された第1NANDゲートと、
一方の入力端に第2入力信号が入力され、他方の入力端が前記クロスカップルセンスアンプの第2センシングノードに接続され、出力端が、前記イネーブルゲートを構成する他方のトランジスタのゲートに接続された第2NANDゲートとを備え、
前記シフトレジスタの出力が、選択信号であるチャレンジとして前記セレクタ回路に入力され、
最終段の2つのセレクタ回路の出力信号が前記第1及び第2入力信号として前記アービター回路に入力され、
前記第1および第2NANDゲートの出力の一方が、前記アービター回路から前記乱数として出力される。
本発明に係る第2の暗号回路は、
上記の第1〜第12のメモリ集積回路の何れかと、上記の乱数発生回路とを備え、
前記乱数発生回路の出力が、前記メモリ集積回路に入力される前記乱数データである。
本発明に係る第3の暗号回路は、
DES暗号又はAES暗号用の暗号回路である上記の第1又は第2の暗号回路であって、
S−Boxが前記メモリ集積回路で構成されている。
本発明のメモリ集積回路およびそれを利用した暗号回路によれば、耐タンパ性があり、DPA攻撃に強く、信頼性が高い暗号手段を実現することができる。
また、上記のように、入力データとして乱数を用いたセキュアメモリハードウエアコアとしてS−Boxを実現することにより、暗号回路の設計者は、DPA耐性を持った暗号回路を設計することが可能となる。セキュアメモリ回路の部分はドミノRSL回路を用いて構成してもよい。ここで、ドミノRSLゲートは既にセキュアメモリの内部に設計されているので、設計者は、ドミノRSLゲートを意識する必要は無い。具体的には、暗号回路の設計者は、暗号回路全体のレイアウトを、業界標準的な自動レイアウトツール(配置および配線ツール)を用いて作成することが可能となる。したがって、ドミノ回路向けの論理合成ツールやドミノRSLゲートという特殊なセルライブラリを用意する必要がなくなる。さらに、ドミノRSLゲートに必要な/CLK線の負荷も考慮する必要がなくなる。
また、DES暗号回路では8種類のS−Boxが必要であるが、セキュアメモリ内部のデータを変更するだけで、すべてのS−Boxに対して同一のハードウエアコアを用いることができるという利点も生まれる。旧世代のDES暗号回路に代わる、新しい標準となっているAES暗号回路でも非線形ゲートが使用されているのは、S−Box部だけであり、AESで使用されているS−Boxに対応した8ビット入力8ビット出力のセキュアメモリ(容量は2Kビット)を用意すれば簡単に対応できる。
DPA攻撃の原理を説明する図である。 プリチャージ付相補ロジックを示す図である。 RSL方式NANDゲートを示す回路図である。 RSL方式を用いた演算を示すブロック図である。 RSL方式におけるen信号の非同期制御を説明する回路図である。 ドミノ型RSL方式のAND/ORゲートを示す回路図である。 ドミノRSL回路を用いて実装したDES暗号回路を示す図である。 本発明の実施の形態に係るセキュアメモリの概略構成を示すブロック図である。 メモリセルの例を示す回路図である。 メモリセルアレイの概略構造を示す図である。 従来のプリデコーダを示す図である。 本発明の実施の形態に係るプリデコーダを示す回路図である。 図12に示したプリデコーダの動作波形を示すタイミングチャートである。 従来のワード線ドライバを示す図である。 本発明の実施の形態に係るワード線ドライバを示す回路図である。 図15に示したワード線ドライバの動作波形を示すタイミングチャートである。 アドレスとワード線確認回路を示す回路図である。 図17に示した回路の動作波形を示すタイミングチャートである。 従来のセンスアンプ回路を示す回路図である。 図19に示したセンスアンプ回路の動作及び消費電力を示すタイミングチャートである。 本発明の実施の形態に係るセンスアンプ回路を示す回路図である。 図21に示した回路の動作及び消費電力を示すタイミングチャートである。 図12(b)と置換可能なドミノRSLゲートの一例を示す回路図である。 図15(b)と置換可能なドミノRSLゲートの一例を示す回路図である。 図21(b)と置換可能なドミノRSLマルチプレクサの一例を示す回路図である。 従来の擬似乱数発生器を示す回路図である。 チップの製造ばらつきを使用したPUF回路を示すブロック図である。 アービター回路及びセレクタの一例を示す回路図である。 本発明の実施の形態に係る乱数発生回路を示す回路図である。
以下、本発明に係る実施の形態を、添付した図面に基づいて説明する。
図8に、本発明の実施の形態に係る耐タンパ性メモリ集積回路(セキュアメモリ)の機能ブロック図を示す。本セキュアメモリは、メモリアレイと、アドレスプリデコーダ及びワード線ドライバから構成されるロウデコーダと、コラムデコーダと、センスアンプと、入出力ドライバとから構成されている。本セキュアメモリは、外部からクロックCLK、アドレスデータA、制御信号/Writeが入力され、メモリアレイ中の対応するメモリセルに対してデータの書込み/読み出しを行う。本セキュアメモリが、通常のメモリと異なる点は、外部の乱数発生器(図示せず)から乱数Rが入力される点である。アドレスAは入力、データDは入出力であり、本セキュアメモリをDES暗号回路のS−Boxとして使用する場合には、図8に示したように、アドレスAが6ビットの入力、データDが4ビットの出力となる。Read/Writeの制御信号/Writeは、メモリがROM(リードオンリーメモリ)の場合には不必要であるが、RAM(ランダムアクセスメモリ)の場合には、S−Boxのテーブルデータを初期値として書き込むために使用するために必要であり、書き込み時のみ/Write=0とする。
以下に、本セキュアメモリの構成要素に関して具体的に説明する。なお、以下の説明において、本発明の理解を容易にするために、適宜従来技術と対比して説明する。また、セキュアメモリを主としてDES暗号回路のS−Boxとして使用することを想定して説明するが、これに限定されるものではない。
<メモリアレイ>
メモリアレイ内部のメモリセルとしては、図9に示すような、スタティックRAM型(a)またはマスクROM型(b)を使用する。図9に示したスタティックRAMは一般的な回路構造であり、ワード線をHiにすることで、相補ビット線データの読み出し、書き込みを行う。マスクROMの場合はS−Boxのテーブル値が1か0であるかによって、LSI製造時のフォトマスクのレイアウトを変化させて、ROMデータを書き込む。一般的にはコンタクトレイアやビアレイアを使用することが多い。一般的なマスクROM(c)では、ビット線は相補構造をしていないが、本発明に係るマスクROM(b)は、単一のセルとして相補ビット線を駆動するために、2つのトランジスタを配置する構造をとらなければならない。これは、ビット線が相補でないと、セルから読み出した値が0か1かによって消費電力に差が生じてしまうためである。逆にビット線を相補形式で読みだすことができるメモリセルであれば、任意のメモリセルを使用することができ、例えば、ダイナミックRAMであっても、強誘電体メモリであっても、磁性体を用いたメモリであってもかまわない。DES用のS−Boxに使用する場合は、6ビットアドレス、4ビット出力の256ビットメモリアレイとなり、図10に示すようにワード線Wが16本、ビット線対(BLと/BL)が16対(32本)ある構造となる。各メモリセルは1本のワード線と1対のビット線に接続される。
<ロウデコーダ>
ロウデコーダは4ビットのアドレスをデコードして16本のワード線のうち、1本のワード線を選択して駆動する回路であり、アドレスプリデコーダ(以下、単にプリデコーダとも記す)とワード線ドライバとに大きく分類することができる。
<プリデコーダ>
従来の一般的な回路におけるプリデコーダは図11の(a)に示すような回路であり、(b)のテーブルに示したパターンで信号を発生させる。すなわちA[2]、A[3]のアドレス信号の4つの状態をデコードしてa[0]、a[1]、a[2]、a[3]のどれか1つの信号線だけを論理1とする組み合わせ論理回路である。同様に、A[4]、A[5]のアドレス信号からb[0]、b[1]、b[2]、b[3]の信号をプリデコードする。図11(a)に示す従来の回路はNANDゲートを用いており、DPAの原理で説明した図1のANDゲートと同じくNANDゲートは非線形ゲートであるため、DPA攻撃の対象となり得る。
これに対して本発明では、プリデコーダを図12の(a)に示すようにドミノRSLゲートRSL_ANDを用いて実現する。図12の(b)に、ドミノRSLゲートRSL_ANDの具体的な回路を示す。ドミノRSLゲートRSL_ANDは、図6(a)に示した回路に対して出力駆動用のインバータを付加しているが、図6(a)の回路と等価な回路である。なお、インバータの内部に示すinvx1、invx8は、インバータを構成するNMOS及びPMOSトランジスタのサイズ(ゲート幅)の違いを示しており、invxに続く数値が大きい程サイズが大きく、大きな負荷容量を駆動できることを意味する(図12以外の回路図においても同様)。
ドミノRSLゲートRSL_ANDの入力のうち、第1の入力端子にはクロックCLKが入力され、第2及び第3の入力端子IN1、IN2には、入力A[2]、A[3]又はそれらを反転した信号が入力される。また、(b)では第4の入力端子にはRのみ表示しているが、乱数R又はその反転信号/Rが入力される。
図12から分かるように、入力A[2]、A[3]から、相補信号である出力信号a[0]〜a[3]及び/a[0]〜/a[3]が生成される。なお、図12には入力A[2]、A[3]に関する回路のみ示しているが、入力A[4]、A[5]に関する回路も同様に構成され、その回路からは、図12の出力信号a[0]〜a[3]及び/a[0]〜/a[3]に対応する出力信号b[0]〜b[3]及び/b[0]〜/b[3]が生成される。
図12(a)に示したプリデコーダの動作波形を図13に示す。ドミノRSLゲートはダイナミック回路であるので、CLK=0のプリチャージ期間中はすべての入出力が0にリセットされている。CLK=1となると、入力信号に応じて出力値が決定されるが、乱数R=0の正論理で演算しているときには、a[0]、a[1]、a[2]、a[3]には図11(b)で示したのと同じ論理が出力されている。ただし、本発明のプリデコーダにおいてはa[0]、a[1]、a[2]、a[3]だけでなく、その反転信号(但しCLK=1の期間のみ)である/a[0]、/a[1]、/a[2]、/a[3]もドミノRSLゲートを用いて出力していることに注意されたい。R=1の負論理の演算も同様に行われている。一つの信号線たとえばa[0]に注目すると正論理においてはHiデータが出力される確率は1/4であるが、負論理においては3/4の確率でHiデータが出力されるため、乱数Rが1と0を1/2の確率で入力されるならば、a[0]ノードがHiに遷移する確率はどのような入力データに対しても1/2となる。同様にしてすべての信号線a[0]〜a[3]、/a[0]〜/a[3]がHiデータを出力する確率はすべて1/2となり、アドレスの入力値にかかわらず消費電力は一定となる。
<ワード線ドライバ>
従来のワード線ドライバは図14の(a)に示す回路で構成されている。すなわち、16本のワード線は、2種類のプリデコード信号a[0]〜a[3]、b[0]〜b[3]のうちから1本ずつの信号線が選ばれ、それら2本の信号線にCLK信号を加えた3入力ANDゲートwd3を用いて駆動されている。CLK信号を入れるのはワード線を立ち上げるタイミングをコントロールするためである。図12の(b)は、プリデコード信号a[0]〜a[3]、b[0]〜b[3]によるワード線Wの選択を示すテーブルである。なお、(a)においては回路の一部が省略されており、16個の3入力ANDゲートwd3のうちの5個と、16本のワード線Wのうちの5本のみを示している。(b)のテーブルに関しても同様に省略されている。
これに対して、本発明のワード線ドライバには、図15の(a)に示す回路を使用する。ドミノRSLゲートRSL_WDrivの具体的な回路を図15の(b)に示す。本発明のワード線ドライバは16個のドミノRSLゲートRSL_WDriveを備えて構成されるが、図15(a)では、そのうちワード線w[0]〜w[4]をドライブするドミノRSLゲートRSL_WDriveのみを示している。また、図15(a)のドミノRSLゲートRSL_WDriveの内部に示した符号bは、反転信号が入力されることを示す。
ドミノRSLゲートRSL_WDriveには、2系統のプリデコード信号a、bとその相補信号/a、/bが入力IN3、IN4および/IN3、/IN4に入力されている。即ち、1つのドミノRSLゲートRSL_WDrivには、例えば、IN3、/IN3にa[i]、/a[i](i=0〜3)が入力され、IN4、/IN4にb[j]、/b[j](j=0〜3)が入力される。ドミノRSLゲートRSL_WDriveでは、CLK=1の期間において、R=0(正論理)の時はIN3、IN4の両方がHiデータとなり、R=1(負論理)の時は/IN3、/IN4の両方がHiデータの時OUT2=Hiとなって、ワード線が活性化される。
図15の(a)に示した回路の動作波形を図16に示す。R=0の時はa[0]=b[0]=Hiの時にw[0]=Hiに、R=0の時はa[0]=b[0]=Lo(波形には示していないが、このとき/a[0]=/b[0]=Hi)の時に、w[0]=Hiとなっている。
<ロウデコーダの動作確認>
図17にプリデコーダとワード線ドライバを含むロウデコーダの動作確認用の回路図を示す。図17のRowDecoder_RSLが、図12及び図15に示した回路で構成されているシミュレーション用ロウデコーダである。アドレスinA[5:2]を0から15までインクリメントしたとき、乱数R=0の場合(正論理)には、アドレスA[5:2]=inA[5:2]として、シミュレーション用ロウデコーダRowDecoder_RSLに入力される。一方、乱数R=1の場合(負論理)には、アドレスinA[5:2]はEXORゲートxorで反転されて、A[5:2]=/inA[5:2]としてシミュレーション用ロウデコーダRowDecoder_RSLに入力される。図17の回路でシミュレーションした結果の動作波形を図18に示す。これから、R=0、R=1のどちらの場合でもワード線がw[0]からw[15]まで順に活性化されていることが確認できる。
<コラムデコーダおよびセンスアンプ回路>
メモリアレイから出力に至る経路には、図8に示すようにコラムデコーダとメモリアレイのデータを読み出すセンスアンプ回路とがある。コラムデコーダはメモリアレイから読み出されたデータの内、出力に必要なデータを選択する回路であり、DES暗号回路の例では、アドレスA[0]〜A[1]をデコードして、メモリアレイから出力された16個のデータから4個を選択する。本発明のコラムデコーダは、ドミノRSLゲートを用いて、上記した本発明のロウデコーダと同様に構成される。即ち、本発明のコラムデコーダは、プリデコーダ(図12参照)と、コラムデコード線ドライバ(図15のワード線ドライバに対応)から構成される。その動作において、コラムデコード線ドライバの出力信号(図15(b)のOUT2に対応)がコラムデータの選択信号すなわちコラムデコード信号(後述の図21参照)となる。
図19に従来のセンスアンプ回路を示す。ビット線プリチャージ部は読み出し前に、ビット線信号ペア(BLと/BL)をVdd電位にしておくために使用される。この図には示していないが、メモリアレイ内にも同じプリチャージ部が存在する。ビット線読み出し時にはCLK信号はHiとなり、プリチャージ部が不活性になると同時に、メモリアレイ内のワード線(w[0]またはw[1])が活性化されメモリセルによってビット線信号ペア(BLと/BL)にデータが出力される(メモリセルからのデータ読み出し)。ビット線信号ペアの電位は、コラムデコード信号が入力されたNMOSトランスミッションゲートを経由してクロスカップル型のセンスアンプ部(クロスカップルセンスアンプ部)に到達し、ここでデータが増幅される。増幅された相補データは、2個のNANDゲートwd1で構成されるRSフリップフロップでラッチされ出力バッファを経て出力DOUTとして出力される。図20に従来のセンスアンプ回路の動作波形(下段)と消費電力(上段)を示す。アドレスA[0]=0の時はメモリアレイからはデータ1(BL=Hiかつ/BL=Lo)が、アドレスA[0]=1の時はメモリアレイからはデータ1(BL=Loかつ/BL=Hi)が読み出される。このとき、それぞれDOUT=LoおよびHiとなり、DOUTに付随している1pFの寄生容量が充電されることに伴ってDOUT=1の時だけ大きな消費電力が消費される。従って、図20において白抜きの矢印で示したように、出力論理データと消費電力とに相関が生まれるためDPA攻撃の対象となる。
これに対して、発明のセンスアンプ回路は図21のように構成されている。メモリアレイからクロスカップルセンスアンプユニットまでの動作は従来と同じであるが、RSフリップフロップに代えてドミノRSLマルチプレクサRSL_MUXが使用されている。図21(a)に示されたドミノRSLマルチプレクサRSL_MUX内に記載された0、1は、入力端子を表す。ビット線BL、/BLはそれぞれ、インバータを介して入力端子1、0に接続されている。ドミノRSLマルチプレクサRSL_MUXの具体的な回路図を、図21の(b)に示す。ドミノRSLマルチプレクサRSL_MUXでは、R=0の場合には/BLの反転信号(BL信号すなわちセルデータと同じ論理)が、R=1の場合にはBLの反転信号(/BL信号すなわちセルデータの反転論理)が、出力バッファに伝搬されDOUTに出力される。本回路はメモリアレイからDOUTに至るまで、BL側と/BL側とで回路が全く対称に設計されていることに注意されたい。
図22に、図21に示したセンスアンプ回路の動作波形(下段)と消費電力(上段)を示す。DOUTには乱数R=0の時には正論理、乱数R=1の時には負論理のデータが出力され、消費電力はDOUTがHiになるとき大きくなる。従って、図22において白抜きの矢印で示したように、出力論理データと消費電力に相関がなくなるためDPA攻撃の対象となることは無くなる。
以上、本発明に係る耐タンパ性メモリ集積回路(セキュアメモリ)を構成する各要素、即ちメモリアレイ、ロウデコーダ、コラムデコーダ、及びセンスアンプ回路について、従来と比較しながら説明した。本発明の特徴は、メモリセルにおいてはBLと/BL線という相補入出力線を持つセルを用いていること、ロウおよびコラムデコーダにおいてはアドレスのデコード回路にANDゲートに代えて2種類のドミノRSLゲートRSL_AND及びRSL_WDrivを用いていること、また、センスアンプ回路においては出力DOUTに対して、BLと/BL信号から全く対称な信号経路を用いて信号を伝搬するために、ドミノRSLマルチプレクサを用いて相補データの片側を選択して出力している点である。
図12、図15、図21は、ドミノRSL回路を適用したアドレスプリデコーダ、ワード線ドライバ、センスアンプ回路の一例であり、これらに限定されない。例えば、NMOSトランジスタとPMOSトランジスタとを相互に置き換えて同様の機能の回路を構成することができる。図23〜25は、それぞれ図12(b)、図15(b)、図21(b)において、NMOSトランジスタとPMOSトランジスタとを置き換えたドミノRSL回路の一例を示す回路図である。図23〜25は、図12(b)、図15(b)、図21(b)の各回路と論理は反転するが、同様の機能を有する回路であり、図12(b)、図15(b)、図21(b)の各回路の代わりに使用することができる。なお、図23〜25の各要素(トランジスタなど)を表す符合には、図12(b)、図15(b)、図21(b)における対応する要素の符号に「’」を付している。
また、上記ではドミノRSL回路で構成する場合を説明したが、メモリアレイ及び入出力ドライバ以外の回路は、乱数を用いて信号線の遷移確率を均一化できる回路方式であればドミノRSL以外の実装方式も可能である。
<乱数発生回路>
乱数Rは、公知の乱数発生回路を用いて発生させればよいが、より耐タンパ性を向上させるには、以下に説明する乱数発生回路を採用することが望ましい。
乱数発生回路でもっとも一般的に使用されているのは図26に示す線形帰還型シフトレジスタ(LFSR:Linear Feedback Shift Resister)型疑似乱数発生器である。この乱数発生器は、16個のシフトレジスタSRと、3個のEXORゲートで構成されており、その動作は公知であるので説明は省略する。図26に示した線形帰還型シフトレジスタ型疑似乱数発生器(16ビットLFSR)では、65535個のデータ列を一周期とする同じデータ列が発生する。このデータ列は、16ビットデータの初期値が同じであれば、すべてのチップで同じ乱数系列が発生される。万が一、同じ設計の暗号回路が調査されて本セキュアメモリの乱数発生回路情報が窃取された場合には、その乱数値に基づいて消費電力値を補正し、DPA攻撃を行うことも不可能ではない。
このような疑似乱数データを推定したDPA攻撃を無効化するため、同じ回路であってもチップごとに異なる乱数を発生する回路を採用することが望ましい。図27はチップ製造時のトランジスタの性能バラツキを利用したPUF(Physically Unclonable Function)回路と呼ばれ、この回路の原理は上記非特許文献5(Jae W Lee, et. al. “A Technique to Build a Secret Key in Integrated Circuits for Identification and Authentication Applications”, 2004 Symposium on VLSI Circuits, pp.176-179)に開示されている。N段のセレクタ回路が2列に縦列接続されており、外部から与えられたチャレンジ(選択信号)に従って2種類の経路を使用して立ち上がりエッジの信号が伝搬される。図27では略記しているが、上下に対応する2つのセレクタには、同じ1ビットのチャレンジ信号が入力される。従って、途中で中断することなく最後まで伝播される信号は、相互に重複しない2つの経路を通る。これら2種類の経路の信号は同じタイミングで出力されるはずであるが、各セレクタを構成するトランジスタの製造ばらつきによって到達時間差Δtが発生する。アービター回路においては、立ち上がりエッジの到達時間差を検出して、上段の出力信号が早く到達した場合(Δt>0)にはデータ1を、下段の出力信号が早く到達した場合(Δt<0)にはデータ0を、レスポンスとして出力する。アービター回路の出力は、上段と下段の経路をマルチプレクサの入力値を変化させて切り替えることで、製造ばらつきを反映してランダムに変化する。
このアービター回路は、微少な時間差を検出するために重要な回路であるが、非特許文献5には内部回路が開示されていない。本発明では、例えば図28(a)に示す回路を採用する。初期状態としては/RESET=0となっているため、クロスカップルセンスアンプと電源の間に位置するイネーブルゲート(2つのトランジスタのソース同士及びドレイン同士が接続されて形成されたゲート)はOFF状態にある。/RESET=1として、IN1、IN2のどちらかにHiデータが入るとイネーブルゲートはONし、クロスカップル型のセンスアンプが動作を始め、IN1とIN2との電位差(センシングノードN1、N2の電位差)を検出して先に立ち上がりエッジが到達した側のOUT端子が1に反対側のOUT端子が0に変化する。本回路は、アービター回路として、先に到達した側のライズエッジをトリガ信号としてセンスアンプを動作させている点が特徴である。アービター回路の出力(レスポンス)としては、図28(a)のOUT1、OUT2のどちらか一方を使用すればよい。なお、図28の(a)において、インバータは無くてもよい。しかし、センスアンプを動作させるPMOSのゲートノードは、IN1、IN2のどちらかがHiになった後はできるだけ早くLoにすることが望ましいので、容量負荷は最小限にする必要がある。従って、外部出力OUT1、OUT2はインバータを介して出力することが望ましい。
このようなPUF回路を用いた、チップごとに異なる乱数を発生させることが可能な回路の例を図29に示す。セレクタ回路が16段(32個)接続されて形成されたPUF回路(図27の回路)のチャレンジとして、16ビットのLFSR疑似乱数発生回路を構成する各シフトレジスタの出力を接続する。この結果得られたPUF回路のレスポンスと、LFSR疑似乱数発生回路の出力との排他的論理和を演算し、その結果をセキュアメモリで使用する乱数Rとする。LFSR疑似乱数発生回路の出力は1、0の個数がほぼ同数であることを反映して、この乱数Rは1と0がほぼ同数となり、消費電力の偏りが無くなるとともに、PUF回路の出力はチップごとに異なる。
このように、本発明に係るチップごとの製造ばらつきを利用した乱数発生回路を使用することにより、規則的な疑似乱数データを推定して行うDPA攻撃を無効化することができる。なお、PUFの出力である1/0の出現率が50%になるように設計する場合PUFの出力を直接乱数Rとして使用しても良い。PUFの1/0出現率は、アービター回路のレイアウト(ノードの寄生容量)に依存して偏りが出やすいが、50%になるように設計するには、チューニング用の付加回路を図28(a)の回路に設けることで対応可能である。
なお、上記した乱数発生回路は、暗号回路への応用に限定されず、LSIの回路応用において、できるだけ不規則な乱数を必要とするアプリケーション(モンテカルロシミュレーションなど)全般に使用できる。
本発明によれば、DPA攻撃に強い耐タンパ性メモリ集積回路、特に、ドミノRSLゲートを用いたASIC設計フローの問題点を解決でき、容易に集積回路設計を可能にできる耐タンパ性メモリ集積回路、及び、それをセキュアメモリとして用いた暗号回路(例えばS−BoxをLSI実装した暗号回路)を提供することができる。
Tr1〜Tr24、Tr1’〜Tr24’ トランジスタ
Inv1〜Inv3、Inv1’〜Inv3’ インバータ
BL、/BL ビット線
w ワード線
OUT1〜OUT3、DOUT 出力端子(出力信号)
A[0]〜A[5] アドレスデータ
a[0]〜a[3]、/a[0]〜/a[3]、b[0]〜b[3]、/b[0]〜/b[3] プリデコード信号
CLK クロック
R、r 乱数

Claims (15)

  1. メモリセルアレイ、ロウデコーダ、コラムデコーダ、センスアンプ、及び入出力ドライバを備えたメモリ集積回路であって、
    前記メモリセルアレイ内の各メモリセルに対するデータの読み出し又は書き込みを行う2本の相補ビット線
    乱数データおよびアドレスデータが入力される入力制御線とを備え、
    前記乱数データと内部アドレスデータとの排他的論理和の演算結果が、前記アドレスデータとして前記ロウデコーダおよび前記コラムデコーダの各々に入力され、
    前記ロウデコーダにおいて、前記乱数データと前記アドレスデータとの排他的論理和の演算結果をワードデコード信号に変換し、
    前記コラムデコーダにおいて、前記乱数データと前記アドレスデータとの排他的論理和の演算結果をコラムデコード信号に変換し、
    前記メモリセルアレイが、前記ワードデコード信号および前記コラムデコード信号によりアクセスされ、アクセスされた前記メモリセルのデータが、前記2本の相補ビット線を通じて前記センスアンプに伝達され、
    前記センスアンプにおいて、前記アクセスされた前記メモリセルのデータと前記乱数データとの排他的論理和を演算し、前記入出力ドライバにおいて、該演算結果を前記メモリセルのデータとして出力するメモリ集積回路。
  2. 前記ロウデコーダ、前記コラムデコーダ、及び前記センスアンプが、ドミノRSL回路を備えて構成されている請求項1に記載のメモリ集積回路。
  3. 前記ロウデコーダが、第1プリデコーダと、メモリセルのワード線をドライブするワード線ドライバとを備えて構成され、
    前記第1プリデコーダが、前記アドレスデータを構成する複数のビットデータの一部を反転させる複数の第1インバータと、複数の第1ドミノRSLゲートとを備え、
    前記第1ドミノRSLゲートが、第1〜第8トランジスタ及び第2インバータを備え、
    第1及び第5トランジスタがPMOSトランジスタであり、
    第2〜第4及び第6〜第8トランジスタがNMOSトランジスタであり、
    前記第1〜第4トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第1〜第4トランジスタの一方の端部に位置する前記第1トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第1〜第4トランジスタの他方の端部に位置する前記第4トランジスタのソースに接地電圧が印加され、
    前記第1トランジスタ及び前記第4トランジスタのゲートにクロックが入力され、
    前記第5トランジスタのソースに電源電圧が印加され、
    前記第6及び第7トランジスタが並列に接続され、
    前記第6及び第7トランジスタの接続ノードの一方に、前記第5トランジスタのドレインが接続され、
    前記第6及び第7トランジスタの接続ノードの他方に、前記第8トランジスタのドレインが接続され、
    前記第8トランジスタのソースが、前記第3及び第4トランジスタの接続ノードに接続され、
    前記第1及び第2トランジスタの接続ノードと前記第5〜第7トランジスタの接続ノードとが接続されて、第1出力ノードを形成し、
    前記第1出力ノードが、前記第2インバータを介して前記第5トランジスタのゲートに接続され、
    前記第2トランジスタ及び前記第6トランジスタのゲートに、前記アドレスデータを構成する1ビットデータ又は前記第1インバータの出力データが入力され、
    前記第3トランジスタ及び前記第7トランジスタのゲートに、前記第2トランジスタ及び前記第6トランジスタのゲートに入力されるデータとは異なる、前記アドレスデータを構成する1ビットデータ又は前記第1インバータの出力データが入力され、
    前記第8トランジスタのゲートに、前記乱数データ又は前記乱数データの反転データが入力される
    請求項2に記載のメモリ集積回路。
  4. 前記ロウデコーダが、第1プリデコーダと、メモリセルのワード線をドライブするワード線ドライバとを備えて構成され、
    前記第1プリデコーダが、前記アドレスデータを構成する複数のビットデータの一部を反転させる複数の第1インバータと、複数の第1ドミノRSLゲートとを備え、
    前記第1ドミノRSLゲートが、第1〜第8トランジスタ及び第2インバータを備え、
    第1及び第5トランジスタがNMOSトランジスタであり、
    第2〜第4及び第6〜第8トランジスタがPMOSトランジスタであり、
    前記第1〜第4トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第1〜第4トランジスタの一方の端部に位置する前記第1トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第1〜第4トランジスタの他方の端部に位置する前記第4トランジスタのソースに電源電圧が印加され、
    前記第1トランジスタ及び前記第4トランジスタのゲートにクロックが入力され、
    前記第5トランジスタのソースに接地電圧が印加され、
    前記第6及び第7トランジスタが並列に接続され、
    前記第6及び第7トランジスタの接続ノードの一方に、前記第5トランジスタのドレインが接続され、
    前記第6及び第7トランジスタの接続ノードの他方に、前記第8トランジスタのドレインが接続され、
    前記第8トランジスタのソースが、前記第3及び第4トランジスタの接続ノードに接続され、
    前記第1及び第2トランジスタの接続ノードと前記第5〜第7トランジスタの接続ノードとが接続されて、第1出力ノードを形成し、
    前記第1出力ノードが、前記第2インバータを介して前記第5トランジスタのゲートに接続され、
    前記第2トランジスタ及び前記第6トランジスタのゲートに、前記アドレスデータを構成する1ビットデータ又は前記第1インバータの出力データが入力され、
    前記第3トランジスタ及び前記第7トランジスタのゲートに、前記第2トランジスタ及び前記第6トランジスタのゲートに入力されるデータとは異なる、前記アドレスデータを構成する1ビットデータ又は前記第1インバータの出力データが入力され、
    前記第8トランジスタのゲートに、前記乱数データ又は前記乱数データの反転データが入力される
    請求項2に記載のメモリ集積回路。
  5. 前記ワード線ドライバが複数の第2ドミノRSLゲートを備え、
    前記第2ドミノRSLゲートが、第9〜第17トランジスタ及び第3インバータを備え、
    第9及び第14トランジスタがPMOSトランジスタであり、
    第10〜第13及び第15〜第17トランジスタがNMOSトランジスタであり、
    前記第9〜第13トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第9〜第13トランジスタの一方の端部に位置する前記第9トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第9〜第13トランジスタの他方の端部に位置する前記第13トランジスタのソースに接地電圧が印加され、
    前記第9トランジスタ及び前記第13トランジスタのゲートにクロックが入力され、
    前記第14〜第17トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第14〜第17トランジスタの一方の端部に位置する前記第14トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第14〜第17トランジスタの他方の端部に位置する前記第17トランジスタのソースが、前記第13トランジスタのドレインに接続され、
    前記第9及び第10トランジスタの接続ノードと前記第14及び第15トランジスタの接続ノードとが接続されて第2出力ノードを形成し、
    前記第2出力ノードが、前記第3インバータを介して前記第14トランジスタのゲートに接続され、
    前記第10及び第11トランジスタの各々のゲートに、重複すること無く前記第1ドミノRSLゲートの出力信号が入力され、
    前記第15トランジスタのゲートに、前記第10トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第16トランジスタのゲートに、前記第11トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第12及び第17トランジスタの各々に、重複すること無く前記乱数データ又は前記乱数データの反転データが入力される
    請求項3又は4に記載のメモリ集積回路。
  6. 前記ワード線ドライバが複数の第2ドミノRSLゲートを備え、
    前記第2ドミノRSLゲートが、第9〜第17トランジスタ及び第3インバータを備え、
    第9及び第14トランジスタがNMOSトランジスタであり、
    第10〜第13及び第15〜第17トランジスタがPMOSトランジスタであり、
    前記第9〜第13トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第9〜第13トランジスタの一方の端部に位置する前記第9トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第9〜第13トランジスタの他方の端部に位置する前記第13トランジスタのソースに電源電圧が印加され、
    前記第9トランジスタ及び前記第13トランジスタのゲートにクロックが入力され、
    前記第14〜第17トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第14〜第17トランジスタの一方の端部に位置する前記第14トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第14〜第17トランジスタの他方の端部に位置する前記第17トランジスタのソースが、前記第13トランジスタのドレインに接続され、
    前記第9及び第10トランジスタの接続ノードと前記第14及び第15トランジスタの接続ノードとが接続されて第2出力ノードを形成し、
    前記第2出力ノードが、前記第3インバータを介して前記第14トランジスタのゲートに接続され、
    前記第10及び第11トランジスタの各々のゲートに、重複すること無く前記第1ドミノRSLゲートの出力信号が入力され、
    前記第15トランジスタのゲートに、前記第10トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第16トランジスタのゲートに、前記第11トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第12及び第17トランジスタの各々に、重複すること無く前記乱数データ又は前記乱数データの反転データが入力される
    請求項3又は4に記載のメモリ集積回路。
  7. 前記センスアンプが、前記相補ビット線に接続されたビット線プリチャージユニット及びクロスカップルセンスアンプユニットと、ドミノRSLマルチプレクサとを備え、
    前記ドミノRSLマルチプレクサが、第18〜第24トランジスタ及び第4インバータを備え、
    第18及び第22トランジスタがPMOSトランジスタであり、
    第19〜第21、第23、及び第24トランジスタがNMOSトランジスタであり、
    前記第18〜第21トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第18〜第21トランジスタの一方の端部に位置する前記第18トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第18〜第21トランジスタの他方の端部に位置する前記第21トランジスタのソースに接地電圧が印加され、
    前記第18トランジスタ及び前記第21トランジスタのゲートにクロックが入力され、
    前記第22〜第24トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第22〜第24トランジスタの一方の端部に位置する前記第22トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第22〜第24トランジスタの他方の端部に位置する前記第24トランジスタのソースが、前記第21トランジスタのドレインに接続され、
    前記第18及び第19トランジスタの接続ノードと前記第22及び第23トランジスタの接続ノードとが接続されて第3出力ノードを形成し、
    前記第3出力ノードが、前記第4インバータを介して前記第22トランジスタのゲートに接続され、
    前記第19及び第23トランジスタの各々のゲートに、重複すること無く前記相補ビット線からの信号が入力され、
    前記第20及び第24トランジスタの各々のゲートに、前記乱数データ又は前記乱数データの反転データが入力される
    請求項3〜6の何れか1項に記載のメモリ集積回路。
  8. 前記センスアンプが、前記相補ビット線に接続されたビット線プリチャージユニット及びクロスカップルセンスアンプユニットと、ドミノRSLマルチプレクサとを備え、
    前記ドミノRSLマルチプレクサが、第18〜第24トランジスタ及び第4インバータを備え、
    第18及び第22トランジスタがNMOSトランジスタであり、
    第19〜第21、第23、及び第24トランジスタがPMOSトランジスタであり、
    前記第18〜第21トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第18〜第21トランジスタの一方の端部に位置する前記第18トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第18〜第21トランジスタの他方の端部に位置する前記第21トランジスタのソースに電源電圧が印加され、
    前記第18トランジスタ及び前記第21トランジスタのゲートにクロックが入力され、
    前記第22〜第24トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第22〜第24トランジスタの一方の端部に位置する前記第22トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第22〜第24トランジスタの他方の端部に位置する前記第24トランジスタのソースが、前記第21トランジスタのドレインに接続され、
    前記第18及び第19トランジスタの接続ノードと前記第22及び第23トランジスタの接続ノードとが接続されて第3出力ノードを形成し、
    前記第3出力ノードが、前記第4インバータを介して前記第22トランジスタのゲートに接続され、
    前記第19及び第23トランジスタの各々のゲートに、重複すること無く前記相補ビット線からの信号が入力され、
    前記第20及び第24トランジスタの各々のゲートに、前記乱数データ又は前記乱数データの反転データが入力される
    請求項3〜6の何れか1項に記載のメモリ集積回路。
  9. 前記コラムデコーダが、第2プリデコーダと、メモリセルのコラムデコード線をドライブするコラムデコード線ドライバとを備えて構成され、
    前記第2プリデコーダが、前記アドレスデータを構成する複数の前記ビットデータのうち前記第1プリデコーダに入力されないビットデータを反転させる第5インバータと、第3ドミノRSLゲートとを備え、
    前記第3ドミノRSLゲートが、第25〜第32トランジスタ及び第6インバータを備え、
    第25及び第29トランジスタがPMOSトランジスタであり、
    第26〜第28及び第30〜第32トランジスタがNMOSトランジスタであり、
    前記第25〜第32トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第25〜第28トランジスタの一方の端部に位置する前記第25トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第25〜第28トランジスタの他方の端部に位置する前記第28トランジスタのソースに接地電圧が印加され、
    前記第25トランジスタ及び前記第28トランジスタのゲートにクロックが入力され、
    前記第29トランジスタのソースに電源電圧が印加され、
    前記第30及び第31トランジスタが並列に接続され、
    前記第30及び第31トランジスタの接続ノードの一方に、前記第29トランジスタのドレインが接続され、
    前記第30及び第31トランジスタの接続ノードの他方に、前記第32トランジスタのドレインが接続され、
    前記第32トランジスタのソースが、前記第27及び第28トランジスタの接続ノードに接続され、
    前記第25及び第26トランジスタの接続ノードと前記第29〜第31トランジスタの接続ノードとが接続されて、第4出力ノードを形成し、
    前記第4出力ノードが、前記第6インバータを介して前記第29トランジスタのゲートに接続され、
    前記第26トランジスタ及び第30トランジスタのゲートに、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
    前記第27トランジスタ及び前記第31トランジスタのゲートに、前記第26トランジスタ及び前記第30トランジスタのゲートに入力されるデータとは異なる、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
    前記第32トランジスタのゲートに、前記乱数データ又は前記乱数データの反転データが入力される
    請求項3〜8の何れか1項に記載のメモリ集積回路。
  10. 前記コラムデコーダが、第2プリデコーダと、メモリセルのコラムデコード線をドライブするコラムデコード線ドライバとを備えて構成され、
    前記第2プリデコーダが、前記アドレスデータを構成する複数の前記ビットデータのうち前記第1プリデコーダに入力されないビットデータを反転させる第5インバータと、第3ドミノRSLゲートとを備え、
    前記第3ドミノRSLゲートが、第25〜第32トランジスタ及び第6インバータを備え、
    第25及び第29トランジスタがNMOSトランジスタであり、
    第26〜第28及び第30〜第32トランジスタがPMOSトランジスタであり、
    前記第25〜第32トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第25〜第28トランジスタの一方の端部に位置する前記第25トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第25〜第28トランジスタの他方の端部に位置する前記第28トランジスタのソースに電源電圧が印加され、
    前記第25トランジスタ及び前記第28トランジスタのゲートにクロックが入力され、
    前記第29トランジスタのソースに接地電圧が印加され、
    前記第30及び第31トランジスタが並列に接続され、
    前記第30及び第31トランジスタの接続ノードの一方に、前記第29トランジスタのドレインが接続され、
    前記第30及び第31トランジスタの接続ノードの他方に、前記第32トランジスタのドレインが接続され、
    前記第32トランジスタのソースが、前記第27及び第28トランジスタの接続ノードに接続され、
    前記第25及び第26トランジスタの接続ノードと前記第29〜第31トランジスタの接続ノードとが接続されて、第4出力ノードを形成し、
    前記第4出力ノードが、前記第6インバータを介して前記第29トランジスタのゲートに接続され、
    前記第26トランジスタ及び第30トランジスタのゲートに、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
    前記第27トランジスタ及び前記第31トランジスタのゲートに、前記第26トランジスタ及び前記第30トランジスタのゲートに入力されるデータとは異なる、前記第1プリデコーダに入力されない、前記アドレスデータを構成する1ビットデータ又は前記第5インバータの出力データが入力され、
    前記第32トランジスタのゲートに、前記乱数データ又は前記乱数データの反転データが入力される
    請求項3〜8の何れか1項に記載のメモリ集積回路。
  11. 前記コラムデコード線ドライバが第4ドミノRSLゲートを備え、
    前記第4ドミノRSLゲートが、第33〜第41トランジスタ及び第7インバータを備え、
    第33及び第38トランジスタがPMOSトランジスタであり、
    第34〜第37及び第39〜第41トランジスタがNMOSトランジスタであり、
    前記第33〜第37トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第33〜第37トランジスタの一方の端部に位置する前記第33トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第33〜第37トランジスタの他方の端部に位置する前記第37トランジスタのソースに接地電圧が印加され、
    前記第33トランジスタ及び前記第37トランジスタのゲートにクロックが入力され、
    前記第38〜第41トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第38〜第41トランジスタの一方の端部に位置する前記第38トランジスタのソースに電源電圧が印加され、
    直列に接続された前記第38〜第41トランジスタの他方の端部に位置する前記第41トランジスタのソースが、前記第37トランジスタのドレインに接続され、
    前記第33及び第34トランジスタの接続ノードと前記第38及び第39トランジスタの接続ノードとが接続されて、第5出力ノードを形成し、
    前記第5出力ノードが、前記第7インバータを介して前記第38トランジスタのゲートに接続され、
    前記第34及び第35トランジスタの各々のゲートに、重複すること無く前記第3ドミノRSLゲートの出力信号が入力され、
    前記第39トランジスタのゲートに、前記第34トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第40トランジスタのゲートに、前記第35トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第36及び第41トランジスタの各々に、重複すること無く前記乱数データ又は前記乱数データの反転データが入力される
    請求項9又は10に記載のメモリ集積回路。
  12. 前記コラムデコード線ドライバが第4ドミノRSLゲートを備え、
    前記第4ドミノRSLゲートが、第33〜第41トランジスタ及び第7インバータを備え、
    第33及び第38トランジスタがNMOSトランジスタであり、
    第34〜第37及び第39〜第41トランジスタがPMOSトランジスタであり、
    前記第33〜第37トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第33〜第37トランジスタの一方の端部に位置する前記第33トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第33〜第37トランジスタの他方の端部に位置する前記第37トランジスタのソースに電源電圧が印加され、
    前記第33トランジスタ及び前記第37トランジスタのゲートにクロックが入力され、
    前記第38〜第41トランジスタが、ソース又はドレインが相互に接続されて、順に直列に接続され、
    直列に接続された前記第38〜第41トランジスタの一方の端部に位置する前記第38トランジスタのソースに接地電圧が印加され、
    直列に接続された前記第38〜第41トランジスタの他方の端部に位置する前記第41トランジスタのソースが、前記第37トランジスタのドレインに接続され、
    前記第33及び第34トランジスタの接続ノードと前記第38及び第39トランジスタの接続ノードとが接続されて、第5出力ノードを形成し、
    前記第5出力ノードが、前記第7インバータを介して前記第38トランジスタのゲートに接続され、
    前記第34及び第35トランジスタの各々のゲートに、重複すること無く前記第3ドミノRSLゲートの出力信号が入力され、
    前記第39トランジスタのゲートに、前記第34トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第40トランジスタのゲートに、前記第35トランジスタのゲートに入力される信号の反転信号が入力され、
    前記第36及び第41トランジスタの各々に、重複すること無く前記乱数データ又は前記乱数データの反転データが入力される
    請求項9又は10に記載のメモリ集積回路。
  13. 請求項1〜12の何れか1項に記載のメモリ集積回路を備えている暗号回路。
  14. 請求項1〜12の何れか1項に記載のメモリ集積回路と、乱数発生回路とを備え、
    前記乱数発生回路の出力が、前記メモリ集積回路に入力される前記乱数データであり、
    前記乱数発生回路が、
    線形帰還形シフトレジスタと、2列に縦列接続されたN段のセレクタ回路と、アービター回路と、前記線形帰還形シフトレジスタの出力信号及び前記アービター回路の出力信号を排他的論理和演算して乱数を出力する演算ゲートとを備え、
    前記線形帰還形シフトレジスタが、直列に接続されたN個のシフトレジスタと複数の排他的論理和演算子とを備え、
    前記アービター回路が、
    接地電圧と電源電圧との間に直列接続されたクロスカップルセンスアンプ、及び、ソースが相互接続され且つドレインが相互接続された2つのトランジスタで構成されたイネーブルゲートと、
    一方の入力端に第1入力信号が入力され、他方の入力端が前記クロスカップルセンスアンプの第1センシングノードに接続され、出力端が、前記イネーブルゲートを構成する一方のトランジスタのゲートに接続された第1NANDゲートと、
    一方の入力端に第2入力信号が入力され、他方の入力端が前記クロスカップルセンスアンプの第2センシングノードに接続され、出力端が、前記イネーブルゲートを構成する他方のトランジスタのゲートに接続された第2NANDゲートとを備え、
    前記シフトレジスタの出力が、選択信号であるチャレンジとして前記セレクタ回路に入力され、
    最終段の2つのセレクタ回路の出力信号が前記第1及び第2入力信号として前記アービター回路に入力され、
    前記第1および第2NANDゲートの出力の一方が、前記アービター回路から前記乱数として出力される暗号回路。
  15. DES暗号又はAES暗号用の暗号回路であって、
    S−Boxが前記メモリ集積回路で構成されている請求項13又は14に記載の暗号回路。
JP2012526239A 2010-07-28 2010-07-28 耐タンパ性メモリ集積回路およびそれを利用した暗号回路 Expired - Fee Related JP5544611B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/062689 WO2012014291A1 (ja) 2010-07-28 2010-07-28 耐タンパ性メモリ集積回路およびそれを利用した暗号回路

Publications (2)

Publication Number Publication Date
JPWO2012014291A1 JPWO2012014291A1 (ja) 2013-09-09
JP5544611B2 true JP5544611B2 (ja) 2014-07-09

Family

ID=45529537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012526239A Expired - Fee Related JP5544611B2 (ja) 2010-07-28 2010-07-28 耐タンパ性メモリ集積回路およびそれを利用した暗号回路

Country Status (3)

Country Link
US (1) US8861720B2 (ja)
JP (1) JP5544611B2 (ja)
WO (1) WO2012014291A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389519B2 (en) 2016-09-30 2019-08-20 International Business Machines Corporation Hardware based cryptographic side-channel attack prevention

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2487723A (en) * 2011-01-26 2012-08-08 Nds Ltd Protection device for stored data values comprising a switching circuit
US9911470B2 (en) 2011-12-15 2018-03-06 Nvidia Corporation Fast-bypass memory circuit
CN103632712A (zh) 2012-08-27 2014-03-12 辉达公司 存储单元和存储器
JP2014072827A (ja) * 2012-10-01 2014-04-21 Fujitsu Semiconductor Ltd 論理回路、コード発生回路、半導体装置、認証装置、コード発生方法および認証方法
US8912814B2 (en) * 2012-11-12 2014-12-16 Chaologix, Inc. Clocked charge domain logic
US9685207B2 (en) 2012-12-04 2017-06-20 Nvidia Corporation Sequential access memory with master-slave latch pairs and method of operating
US20140355362A1 (en) * 2013-06-04 2014-12-04 Nvidia Corporation Pipelined one cycle throughput for single-port 6t ram
US9418730B2 (en) 2013-06-04 2016-08-16 Nvidia Corporation Handshaking sense amplifier
US10141930B2 (en) 2013-06-04 2018-11-27 Nvidia Corporation Three state latch
US9755822B2 (en) * 2013-06-19 2017-09-05 Cryptography Research, Inc. Countermeasure to power analysis attacks through time-varying impedance of power delivery networks
WO2014205398A1 (en) 2013-06-21 2014-12-24 Cryptography Research, Inc. Energy analysis for differential power analysis resistance
US9418714B2 (en) 2013-07-12 2016-08-16 Nvidia Corporation Sense amplifier with transistor threshold compensation
US9230630B2 (en) 2013-09-09 2016-01-05 Qualcomm Incorporated Physically unclonable function based on the initial logical state of magnetoresistive random-access memory
JP6354172B2 (ja) * 2014-01-20 2018-07-11 富士通株式会社 半導体集積回路及び認証システム
CN105632543B (zh) 2014-11-21 2018-03-30 松下知识产权经营株式会社 具有防篡改性的非易失性存储装置及集成电路卡
US9653161B2 (en) 2014-11-21 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device comprising an arithmetic circuit that, in operation, calculates a binary reference value based on at least a part of the pieces of resistance value information, a read circuit that, in operation, selectively assigns, based on the binary reference value, one of two values to each of the pieces of resistance value information, and a write circuit that, in operation, performs a write operation corresponding to one of the two values among memory cells
US9548113B2 (en) 2014-11-21 2017-01-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
US9712330B2 (en) 2014-12-15 2017-07-18 Honeywell International Inc. Physically uncloneable function device using MRAM
US9515835B2 (en) * 2015-03-24 2016-12-06 Intel Corporation Stable probing-resilient physically unclonable function (PUF) circuit
JP6587188B2 (ja) 2015-06-18 2019-10-09 パナソニックIpマネジメント株式会社 乱数処理装置、集積回路カード、および乱数処理方法
JP6617924B2 (ja) 2015-06-18 2019-12-11 パナソニックIpマネジメント株式会社 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
US10489611B2 (en) * 2015-08-26 2019-11-26 Rambus Inc. Low overhead random pre-charge countermeasure for side-channel attacks
WO2017105606A1 (en) 2015-12-17 2017-06-22 Cryptography Research, Inc. Enhancements to improve side channel resistance
US10031723B1 (en) * 2016-03-08 2018-07-24 Secturion Systems, Inc. Systolic random number generator
JP6794297B2 (ja) 2016-05-25 2020-12-02 ヌヴォトンテクノロジージャパン株式会社 認証装置および認証方法
CN107437431B (zh) 2016-05-26 2022-08-30 新唐科技日本株式会社 非易失性存储装置
JP6817888B2 (ja) 2016-05-27 2021-01-20 ヌヴォトンテクノロジージャパン株式会社 不揮発性メモリ装置
US20180089426A1 (en) * 2016-09-29 2018-03-29 Government Of The United States As Represented By The Secretary Of The Air Force System, method, and apparatus for resisting hardware trojan induced leakage in combinational logics
US10256973B2 (en) * 2016-09-30 2019-04-09 Intel Corporation Linear masking circuits for side-channel immunization of advanced encryption standard hardware
US10038445B1 (en) * 2017-01-12 2018-07-31 Semiconductor Components Industries, Llc Component authentication utilizing multi-level arbiter
CN109241782B (zh) * 2018-10-17 2021-04-23 宁波大学 一种利用pmos工艺偏差的弱物理不可克隆函数电路
US10924112B2 (en) * 2019-04-11 2021-02-16 Ememory Technology Inc. Bandgap reference circuit
US10613575B1 (en) * 2019-05-03 2020-04-07 Realtek Semiconductor Corp. Method and apparatus for generating high-speed quadrature clock
CN110532815B (zh) * 2019-07-18 2023-02-28 宁波大学 一种基于cnfet的三值sram-puf电路
US20210026602A1 (en) * 2019-07-25 2021-01-28 PUFsecurity Corporation Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy
GB2601171B (en) * 2020-11-20 2023-05-24 Toshiba Kk System and method to generate biased random bit streams and quantum communication system and method
CN113783701A (zh) * 2021-09-18 2021-12-10 澳门大学 一种强物理不可克隆函数结构
CN115379065B (zh) * 2022-07-26 2023-07-28 电子科技大学 一种实现信息隐藏的自激发热的电路架构

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0250396A (ja) * 1988-08-12 1990-02-20 Hitachi Ltd 半導体記憶装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0141494B1 (ko) 1988-01-28 1998-07-15 미다 가쓰시게 레벨시프트회로를 사용한 고속센스 방식의 반도체장치
US5053652A (en) 1988-01-28 1991-10-01 Hitachi, Ltd. High speed sensor system using a level shift circuit
JP2002519722A (ja) 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
JP3600454B2 (ja) 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4589327B2 (ja) 2004-07-07 2010-12-01 三菱電機株式会社 電子素子及びデータ処理方法
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0250396A (ja) * 1988-08-12 1990-02-20 Hitachi Ltd 半導体記憶装置

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
CSND200600369003; 酒井 康行,佐藤 恒夫,鈴木 大輔,泉 幸雄,佐伯 稔: '"機器設計の落とし穴 現実の脅威「サイドチャネル解析」(終)"' 日経エレクトロニクス no.906, 20050815, p.131-139, 日経BP社 *
CSNG200501098039; 鈴木 大輔,佐伯 稔,市川 哲也: '"遷移確率を考慮したDPA対策手法の提案"' 情報処理学会研究報告 Vol.2004,No.75, 20040721, p.321-328, 社団法人情報処理学会 *
CSNG200900127013; 小島 憲司,奥山 一樹,牧野 友輝,藤野 毅: '"Domino-RSL方式を用いたDES暗号回路設計と電力差分解析(DPA)攻撃に対する耐性の検証"' 電子情報通信学会技術研究報告 Vol.108,No.478, 20090304, p.83-88, 社団法人電子情報通信学会 *
CSNJ201010083037; 奥山 一樹,小島 憲司,岩井 克彦,藤野 毅: '"Domino-RSL方式を用いてFPGA実装された暗号回路に対するDPA耐性検証"' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] Symposium on Cry 1B2-5, 20100122, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6013063499; 小島 憲司,奥山 一樹,牧野 友輝,藤野 毅: '"Domino-RSL方式を用いたDES暗号回路設計と電力差分解析(DPA)攻撃に対する耐性の検証"' 電子情報通信学会技術研究報告 Vol.108,No.478, 20090304, p.83-88, 社団法人電子情報通信学会 *
JPN6013063501; 立命館大学・産総研・中央大学・名城大学: '"耐タンパディペンダブルVLSIシステムの開発・評価 〜人為的攻撃による内部機密情報の漏洩・複製を防止す' 平成22年度第1回領域会議 , 20100602, [オンライン] *
JPN6013063503; 酒井 康行,佐藤 恒夫,鈴木 大輔,泉 幸雄,佐伯 稔: '"機器設計の落とし穴 現実の脅威「サイドチャネル解析」(終)"' 日経エレクトロニクス no.906, 20050815, p.131-139, 日経BP社 *
JPN6013063504; 鈴木 大輔,佐伯 稔,市川 哲也: '"遷移確率を考慮したDPA対策手法の提案"' 情報処理学会研究報告 Vol.2004,No.75, 20040721, p.321-328, 社団法人情報処理学会 *
JPN6013063506; 奥山 一樹,小島 憲司,岩井 克彦,藤野 毅: '"Domino-RSL方式を用いてFPGA実装された暗号回路に対するDPA耐性検証"' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] Symposium on Cry 1B2-5, 20100122, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389519B2 (en) 2016-09-30 2019-08-20 International Business Machines Corporation Hardware based cryptographic side-channel attack prevention

Also Published As

Publication number Publication date
JPWO2012014291A1 (ja) 2013-09-09
US20130129083A1 (en) 2013-05-23
WO2012014291A1 (ja) 2012-02-02
US8861720B2 (en) 2014-10-14

Similar Documents

Publication Publication Date Title
JP5544611B2 (ja) 耐タンパ性メモリ集積回路およびそれを利用した暗号回路
Sokolov et al. Design and analysis of dual-rail circuits for security applications
Moore et al. Improving smart card security using self-timed circuits
Maistri et al. Double-data-rate computation as a countermeasure against fault analysis
JP4687775B2 (ja) 暗号処理装置
Kumar et al. EE-SPFAL: A novel energy-efficient secure positive feedback adiabatic logic for DPA resistant RFID and smart card
US9325494B2 (en) Method for generating a bit vector
Cilio et al. Mitigating power-and timing-based side-channel attacks using dual-spacer dual-rail delay-insensitive asynchronous logic
CN111008407A (zh) 用于执行虚拟加密操作的加密电路
Ardakani et al. Improving performance of FPGA-based SR-latch PUF using Transient Effect Ring Oscillator and programmable delay lines
WO2015145487A1 (ja) クロック位相制御回路
Khan et al. A symmetric D flip-flop based PUF with improved uniqueness
Dodo et al. Secure STT-MRAM bit-cell design resilient to differential power analysis attacks
KR101666974B1 (ko) 소수 생성
US20140292371A1 (en) Multi-threshold dual-spacer dual-rail delay-insensitive logic (mtd3l) circuit design
JP5231079B2 (ja) 疑似乱数発生器及びデータ通信装置
Teegarden et al. Side-channel attack resistant ROM-based AES S-Box
Dhanuskodi et al. Energy optimization of unrolled block ciphers using combinational checkpointing
TW201918925A (zh) 資料存取裝置及方法
Gupta et al. Improved VLSI architecture of dual-CLCG for Pseudo-Random bit generator
Anchana et al. Design of PUF Based Chaotic Random Number Generator
KR101406941B1 (ko) Fpga 기반된 진정한 난수 생성기의 성능 향상을 위한 장치 및 방법
Dunlap et al. A Novel Circuit Authentication Scheme Based on Partial Polymorphic Gates
Hossain et al. A dependable and resource-frugal ring oscillator physically unclonable function
Dyka et al. On the SCA Resistance of Crypto IP Cores

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140305

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: 20140401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140422

R150 Certificate of patent or registration of utility model

Ref document number: 5544611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees