• 検索結果がありません。

バッファを用いた軽量擬似乱数生成器のグリッチ削減方法とハードウェア実装評価

N/A
N/A
Protected

Academic year: 2021

シェア "バッファを用いた軽量擬似乱数生成器のグリッチ削減方法とハードウェア実装評価"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)Computer Security Symposium 2014 22 - 24 October 2014. バッファを用いた軽量擬似乱数生成器のグリッチ削減方法とハードウェア 実装評価 三上 修吾 †,渡辺 大 † † 株式会社 日立製作所 横浜研究所 244-0817 神奈川県横浜市戸塚区吉田町 292 番地 [email protected]. 崎山 一男 ‡ ‡ 電気通信大学 182-8585 東京都調布市調布ヶ丘 1-5-1. あらまし パッシブ型 RFID タグなどの小型機器に実装する暗号回路は,低消費電力であること が求められる.筆者らはシフトレジスタを基本構成とする軽量擬似乱数生成器のハードウェア実 装において,バッファを付加し,内部状態を逐次的に更新することで,消費電力の主要因である 信号線のトグル数を削減可能であることを示してきた.しかし,この実装では,カウンタ値に応 じてレジスタの動作を規定するため,カウンタのインクリメントに起因するグリッチが発生する. 本稿では,グリッチの発生を抑えるために,ハミング距離が常に1となるカウンタを設計し,そ のカウンタを用いて軽量擬似乱数生成器を実装することで,トグル数を約 60 %削減できることを 示す.. Hardware Implementation and Evaluation of Lightweight Pseudorandom Number Generators with Buffer Considering Glich Reduction Shugo Mikami†, Dai Watanabe†. Kazuo Sakiyama‡. †Hitachi, Ltd., Yokohama Research Laboratory. 292, Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa-ken, 244-0817 JAPAN [email protected] ‡University of Electro-Communications 1-5-1 Chofugaoka, Chofu-shi, Tokyo-to, 182-8585 JAPAN. Abstract Low power consumption is a requirement to a cryptographic circuit for a passive RFID tag. We have studied that the signal toggle, which is the primary factor of the power consumption of the cryptographic circuit, can be reduced by updating the internal state of the lightweight pseudorandom number generators sequentially using an additional buffer. However, since the registers used in this hardware architecture are controlled with the counter, electronics glitches occur. The glitch is an undesired transition that occurs before the signal settles to its intended value. In this paper, we design a counter whose Hamming Distance is always 1. Then we show hardware evaluation results of the lightweight pseudorandom number generators with the counter. The results reveal that the signal toggles can be reduced about 60 %.. - 72 -.

(2) はじめに. ハミング距離が常に 1 となるカウンタを用いる ことで,信号線のトグルを最大約 60 % 削減可能 近年,パッシブ型 RFID (Radio Frequency であることを示す.なお,カウンタを置き換え IDentification) タグの利用が進んでいるが [1], るだけであるから,回路規模はほぼ変わらない. プライバシ問題などのセキュリティ上の課題に 以下,2 節で Grain-80, Trivium, Enocoro-80 対応するため,RFID タグのセキュリティ強化 の仕様概要を記載する.3 節で,[7] で筆者らが が求められている.RFID タグのセキュリティ 用いた実装アーキテクチャについて述べる.4 を強化する一方策として,RFID タグに暗号回 節で,グリッチの発生を抑えるカウンタについ 路を搭載し,認証や通信データの秘匿を行う方 て述べる.5 節で,ASIC 実装性能を示し,6 節 法がある. でまとめる. パッシブ型 RFID タグはハードウェアリソー スが限られていることと,リーダから照射され る電波によって電力を得ることから,RFID タ 2 軽量擬似乱数生成器の仕様 グに搭載する回路は軽量,省電力であることが 本節では,Grain-80,Trivium と Enocoro-80 望まれている.これらの背景から,RFID 認証 の仕様概要を記載する.詳細な仕様については, プロトコルや RFID タグを対象プラットフォー Grain 仕様書 [4],Trivium 仕様書 [5],Enocoro ムとした軽量暗号アルゴリズムが多数発表され 仕様書 [6] を参照のこと. てきた [2]. 筆者らは,RFID タグにおいて,乱数生成用途 などへの利用が見込まれる軽量擬似乱数生成器 2.1 Grain-80 の仕様 に着目し,その省電力実装を検討している [7]. Grain-80 は Hell 等が発表した擬似乱数生成 既に,軽量擬似乱数生成器の Grain-80 [4],Triv器であって,eSTREAM (ECRYPT Stream Ciium [5],Enocoro-801 [6] はシフトレジスタを 基本構成とする暗号アルゴリズムであるため, pher Project) [3]Profile 2 の一つに選定されて いる.入力は秘密鍵 80 ビットと初期ベクトル 付加したバッファを用いて内部状態を逐次的に 更新する実装アーキテクチャを採用することで, (以下,IV と記す) 64 ビットである.内部状態 の大きさは 160 ビットで,160 ラウンドの初期 消費電力の主要因である,信号線のトグルを約 化を行った後,1 ビットずつ擬似乱数列を出力 60 % 削減可能であることを述べた. 一方で,トグルの挙動を詳細に解析すると, する. 内部状態は 80 ビット長の線形フィードバック カウンタのインクリメントに起因してグリッチ シフトレジスタ (LFSR) と 80 ビット長の非線 が発生していることが新たに分かってきた.グ 形フィードバックシフトレジスタ (NFSR) から リッチとはハードウェア基本素子の過渡的な出 構成される.初期値の入力では,NFSR へ鍵を 力信号であり,消費電力の増加原因となる.バッ 入力し,LFSR へ鍵と定数を入力する.LFSR ファを活用する実装アーキテクチャでは,カウ と NFSR の値を出力関数に入力し,その出力を ンタの値によって,内部状態を格納するレジス 擬似乱数列とする.Grain-80 は 1 ビットの擬似 タの挙動を制御する.そのため,カウンタのイ ンクリメントにおいてグリッチが発生すると, 乱数列を出力するたびに,LFSR の 1 ビットと NFSR の 1 ビットを更新する.NFSR は 5 入力 カウンタ値の変動に影響され,レジスタの入力 1 出力の非線形関数と LFSR の出力値で更新さ 信号が変動し,グリッチが発生する. れる.LFSR は 6 入力 1 出力の線形関数で更新 そこで,本稿では,グリッチの発生を抑える される.初期化フェースでは,出力関数の出力 カウンタの設計と,そのカウンタを適用した Grain-80,Trivium と Enocoro-80 の ASIC (Ap- 値は NFSR と LFSR の入力値としてフィード バックされ,擬似乱数列を出力しない. plication Specific Integrated Circuit) 実装評価. 1. 結果について述べる.インクリメントにおいて,. - 73 -. 1. Enocoro は株式会社日立製作所の登録商標です..

(3) 2.2. Trivium の仕様. 3. Trivium は C.D. Canni` ere 等が発表した擬似 乱数生成器であって,ISO 標準暗号 (ISO/IEC 29192-3) の一つに採択されている.入力は秘密 鍵 80 ビットと IV80 ビットである.内部状態の 大きさは 288 ビットで,1152 ラウンドの初期 化を行った後,1 ビットずつ擬似乱数列を出力 する. 内部状態は長さの異なる 3 本の LFSR から構 成される.初期値の入力では,鍵と IV は 2 本の LFSR へ入力され,残りのビットには定数を入 力する.各ラウンドにおいて,3 本の LFSR は それぞれの LFSR 内で 1 ビットシフトする.さ らに,LFSR の値を非線形関数に入力し,その 出力値を隣接する LFSR への入力とする.3 本 の LFSR から 1 ビットずつ値を選び,出力関数 に入力し,その出力値を擬似乱数列とする.初 期化フェースでは,擬似乱数列を出力しない.. 実装アーキテクチャ. 本節では,バッファを活用して内部状態を逐 次的に更新する省電力実装アーキテクチャの概 要について述べる [7].通常,線形フィードバッ クシフトレジスタを基本構成とする暗号アルゴ リズムの実装では,すべての内部状態を同時に 更新する実装アーキテクチャとする.この実装 アーキテクチャをベースとして,バッファを追加 し,バッファに内部状態を一時的に退避し,内部 状態を逐次的に更新した後,最後にバッファに 退避した値を内部状態に入力するのが基本的な 構成である.図 1 にバッファを活用した実装アー     counter. counter update function. LFSR. data update function. 2.3. Enocoro-80 の仕様 buffer. Enocoro-80 は株式会社日立製作所が 2007 年 に開発した擬似乱数生成器であって,ISO 標準 暗号 (ISO/IEC 29192-3) の一つに採択されてい る.入力は秘密鍵 80 ビットと IV64 ビットであ る.内部状態の大きさは 176 ビットで,40 ラウ ンドの初期化を行った後,8 ビットずつ擬似乱 数列を出力する. 内部状態は 160 ビット長の LFSR と 16 ビッ ト長のステートと呼ばれるレジスタから構成さ れる.初期値の入力では,LFSR へ鍵,IV を入 力し,残りは定数ビットを入力する.ステート の下位 8 ビットを擬似乱数列をして出力する. Enocoro-80 は 8 ビットの擬似乱数列を出力する たびに,LFSR とステートを更新する.LFSR は線形関数とステートの上位 8 ビットの値で更 新される.ステートは LFSR の値を入力とする 非線形関数の出力値で更新される.非線形関数 は,8 ビット入力 8 ビット出力の非線形変換と 線形関数で構成される.初期化フェーズでは擬 似乱数列を出力しない.. output.     図 1: バッファを用いた実装アーキテクチャの 基本構成図    . キテクチャの基本構成図を示す.図中,LFSR は線形フィードバックシフトレジスタ,buffer は バッファ,data update function は内部状態の 更新関数である.また,counter はカウンタ値を 格納するレジスタ,counter update function は カウンタの更新関数である.counter の出力値 は,LFSR と buffer へ制御信号として入力され る.暗号アルゴリズムによって,LFSR の長さ や本数,更新関数の種類などは異なるが,LFSR と更新関数を主要な要素とする基本構造は同じ である.また,図を簡略化するため,LFSR へ の初期値の入力線は記載を省略しているが,暗 号モジュール外部から入力される鍵や IV を入. - 74 -.

(4) 力する.擬似乱数列を毎ラウンド 16 ビット生 成し,バッファの大きさは 16 ビットである. 以下に,初期化フェーズにおける内部状態の 更新手順を示す.. 1. バッファに更新関数の出力値を格納. 2. LFSR をバッファ長/クロックずつ右へシフ ト. 3. LFSR の左端に手順 1. でバッファに格納し た値を入力. この一連の処理により,ラウンド処理が終了す る.擬似乱数出力フェーズでは,まず,生成した 擬似乱数列をバッファに格納し,出力する.そ の後,初期化フェーズと同様の処理を行う.. 4 4.1. いて論理合成を行い,生成したネットリストを 用いて動作シミュレーションを行った.図 2 は 動作シミュレーションにおいて,カウンタ値が 11 から 12 へ遷移する際の詳細な挙動を記した 図である.カウンタ値は 4 ビットで,信号線を 上位から cnt[3], cnt[2], cnt[1], cnt[0] として記 している.図 2 より,信号線は 1 本ずつ,時間差 をつけて値が変化していることが分かる.従っ て,カウンタ値は 11 から直接 12 に遷移するの ではなく,11 から 15,13,12 の順に過渡的な 複数の値を経て,遷移していることがわかる. 図 1 に示す実装アーキテクチャでは,カウン タの値によって,LFSR とバッファの動作を制御 している.そのため,過渡的な値であってもカ ウンタ値が変わることによって,LFSR とバッ ファの入力信号線の値が変わるため,グリッチ が発生する.. カウンタ グリッチ. 4.2. カウンタの値はクロック毎にインクリメント する.通常のカウンタ設計では初期値を 0 とし, カウンタ値を 1 ずつインクリメントする.処理 ステップが一巡すると,カウンタ値を再び 0 に 戻す. カウンタのビット幅は処理ステップ数によっ て異なるが,通常は複数ビットである.従って, インクリメントにおいて,カウンタの複数本の 信号線が動作するケースが多い.. cnt[3] cnt[2] cnt[1] cnt[0]         図 2: カウンタにおけるグリッチ    . カウンタの設計. 動作シミュレーションによって,図 2 に示し たように,カウンタの信号線は 1 本ずつ値が変 わることが分かった.信号線の値が 1 本ずつ変 わるということは,ハミング距離が 1 となる複 数の段階を経て,カウンタ値が変化するという ことである.従って,ハミング距離が常に 1 と なる巡回カウンタを設計すれば,過渡的なカウ ンタ値が発生しないため,グリッチの抑制が期 待される. 表 1 に Grain-80 と Enocoro-80 用に設計した カウンタを記す.ラウンド数とそれに対応する カウンタ値を記す.カウンタ値を 0,1,2 と変化 されるのではなく,0000,0001,0011 の順に変化 させることで,ハミング距離を常に 1 に保って いる. 表 2 に Trivium 用に設計したカウンタを記 す.Trivium は Grain-80 と Enocoro-80 に比較 して,内部状態が大きいため,処理ステップ数 が多い.従って,カウンタのビット幅も 5 ビッ トへ増やしている.. Grain-80, Trivium, Enocoro-80 を図 1 のアー キテクチャで実装し,5 節で述べるツールを用. - 75 -.

(5) 表 1: Grain-80 と Enocoro-80 のカウンタ Round Counter value. # 0 1 2 3 4 5 6 7 8 9 10 11 12 13. 5. bit 0000 0001 0011 0111 0101 1101 1001 1011 1010 1000 1100 0100 0110 0010. 表 2: Trivium のカウンタ Round Counter value. # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21. ASIC 実装評価. 本節では,Grain-80,Trivium と Enocoro-80 の ASIC 実装評価結果を示す.コンパイラとして Synopsys1 Design Compiler2 (Version C-2009.06SP5) で論理合成を行った.ライブラリには,TSMC 社の 90 nm high performance ライブラリを使 用した.また,入力データの遅延時間を 0.4 ns, 出力データの遅延時間を 0.4 ns に設定した. 評価項目は回路規模,サイクル数,トグル数と した.サイクル数はデータの入出力に必要なサ イクル数を含めて評価した.トグル数は回路素 子のスイッチング回数を算出することで評価し た.ランダムな入力パターンを 100 通り準備し, cadence3 の Simvision4 version 05.83-s015 を用 いて回路動作をシミュレートし,VCD (Value Change Dump) ファイルを作成した.VCD ファ イルから最大トグル数を標本値として算出し, 標本値を用いて母平均と母分散を信頼係数 99 % で信頼区間で推定した後,3σ 範囲を用いてトグ ル数を推定した. 実装結果を表 3 に示す.表中,FF はフリップ フロップ (flip-flop) ,Combi は組合せ論理回路 を示す.Arch.1 は通常設計のカウンタを用いた. - 76 -. 1. 2. 3. 4.. bit 00000 00001 00011 00111 00101 01101 01001 01011 01111 11111 10111 10011 11011 11001 11101 10101 10001 10000 10010 11010 01010 00010. Synopsys は Synopsys 社の登録商標です. Design Compiler は Sysnopsys 社の商品名称です. cadence は Cadence Design Systems 社の登録商標です. Simvision は Cadence Design Systems 社の登録商標です..

(6) 表 3: Hardware performance of pseudorandom number generators Algorithm Architecture Area Clock cycle Signal toggle (GE) ( ♯ toggle) Total FF Combi Grain-80 Arch. 1 3900 1390 2510 299 99 Arch. 2 3850 1390 2460 299 43 Trivium Arch. 1 4050 2230 1820 1595 42 Arch. 2 4130 2260 1870 1595 32 Enocoro-80 Arch. 1 3640 1480 2150 418 46 Arch. 2 3660 1490 2170 418 37. 実装アーキテクチャを示し,Arch.2 はハミング 距離が常に 1 となるカウンタを用いた実装アー キテクチャである.. 6. まとめ. 本稿では,軽量擬似乱数生成器の Grain-80, Trivium, Enocoro-80 の,バッファを活用して逐 次的に内部状態を更新する実装アーキテクチャ において,グリッチの発生を抑えるためのカウ ンタの設計と ASIC 実装評価を行った.ハミン グ距離が常に 1 となるカウンタを用いることで, グリッチの発生が抑えられ,信号トグルを最大 約 60 % 削減できることを示した.. 謝辞 本研究成果は,独立行政法人情報通信研究機 構 (NICT) の委託研究「軽量暗号プロトコルの 省リソースデバイスに対する実装効率向上の研 究開発」により得られたものです.同委託研究 に関わるすべての関係者に感謝いたします.. 参考文献 Journal, [1] RFID rfidjournal.com/.. http://www.. [2] RFID Security & Privacy Lounge, http: //www.avoine.net/rfid/index.php.. - 77 -. [3] The eSTREAM Project, available at http://www.ecrypt.eu.org/stream/. [4] M. Hell, T.Johansson, and W.Meier, “Grain - A Stream Cipher for Constrained Environments”, available at http://www.ecrypt.eu.org/stream/ p3ciphers/grain/Grain p3.pdf. [5] C.D. Canni` ere, and B. Preneel, “TRIVIUM Specifications”, available at http://www.ecrypt.eu.org/stream/ p3ciphers/trivium/trivium p3.pdf. [6] 株 式 会 社 日 立 製 作 所 ,擬 似 乱 数 生 成 器 Enocoro, available at http://www.hitachi.co.jp/rd/yrl/ crypto/enocoro/index.html. [7] 三上 修吾, 渡辺 大, 崎山 一男, “バッ ファを用いた軽量擬似乱数生成器の実装と 評価,” In The 31th Symposium on Cryptography and Information Security –SCIS 2014, 2014..

(7)

表 1: Grain-80 と Enocoro-80 のカウンタ Round Counter value
表 3: Hardware performance of pseudorandom number generators Algorithm Architecture Area Clock cycle Signal toggle

参照

関連したドキュメント

備考 1.「処方」欄には、薬名、分量、用法及び用量を記載すること。

~2030 年までに東京のエネルギー消費量を 2000 年比

c 契約受電設備を減少される場合等で,1年を通じての最大需要電

c 契約受電設備を減少される場合等で,1年を通じての最大需要電

c 契約受電設備を減少される場合等で,1年を通じての最大需要電

 大都市の責務として、ゼロエミッション東京を実現するためには、使用するエネルギーを可能な限り最小化するととも

 大都市の責務として、ゼロエミッション東京を実現するためには、使用するエネルギーを可能な限り最小化するととも

c 契約受電設備を減少される場合等で,1年を通じての最大需要電