Title
疑似ランダムビット列生成器暗号化システムの研究開発
Author(s)
喜屋武, 盛基; 名嘉村, 盛和; 又吉, 光邦; 島, 真一
Citation
沖縄大学マルチメディア教育研究センター紀要 = The
Bulletin of Multimedia Education and Research Center,
University of Okinawa(12): 1-6
Issue Date
2012-08-31
URL
http://hdl.handle.net/20.500.12001/10241
論 文
疑似ランダムビット列生成器暗号化システム
の研究開発
Research
and development f
o
r
e
n
c
r
y
p
t
i
o
n
system
by p
s
e
u
d
o
-random b
i
t
-
stream g
e
n
e
r
a
t
o
r
喜 屋 武 盛 基
+
1/
名嘉
村 盛 和
+2/
又 吉 光 邦
+3/
島真一t4
S
e
i
k
i
KYAN
+
1
/
M
o
r
i
k
a
z
u
NAKAMURA
+
2
/
M
i
t
s
u
k
u
n
i
MATAYOSHI
+
3
/
S
h
i
n
i,
c
h
i
SHIMA
t
4
tl.琉球大学名誉教授・沖縄大学マルチメディア教育研究センター研究員P
r
o
f
e
s
s
o
r
E
m
e
r
i
t
u
s
o
f
Un
i
v
e
r
s
i
t
y
o
f
t
h
e
Ryukyus.
Research E
n
g
i
n
e
e
r
o
f
t
h
e
M
u
l
t
i
m
e
d
i
a
Educat
i
on and
R
e
s
e
a
r
c
h
C
e
n
t
e
r
o
f
Okinawa U
n
i
v
e
r
s
i
t
y
.
+
2
,琉球大学工学部Facu
l
t
y
o
f
E
n
g
i
n
e
e
r
i
n
g
,U
n
i
v
e
r
s
i
t
y
o
f
t
h
e
Ryukyus.
+
3,沖縄国際大学産業情報学部Department o
f
Indu
s
t
r
y
and
I
n
f
o
r
m
a
t
i
on S
c
i
e
n
c
e
,Okinawa
I
n
t
e
r
n
a
t
i
o
n
a
l
U
n
i
v
e
r
s
i
t
y
.
+
4
,国際電子ビジネス専門学校Kokusa
i
-
D
e
n
s
h
i
B
u
s
i
n
e
s
s
Co
l
l
e
g
e
.
あらまし
本稿では、数ふるい疑似ランダムビッ ト列生成器による暗号化システムの研究開発と展望についてまとめ ている。研究開発では、 コアになる暗号システムの設計及びFPGA
による試作機実装を行うとともに、画 像配信システムへの応用とマルチホップネットワークへの応用について検討している。Ab
s
t
r
a
c
t
T
h
i
s
p
a
p
e
r
r
e
p
o
r
t
s
a
r
e
s
e
a
r
c
h
p
r
o
j
e
c
t
on deve
l
op
m
e
n
t
o
f
t
h
e
e
n
c
r
y
p
t
i
o
n
system based on a
p
s
e
ud
o
-random
b
i
t
-
s
t
r
e
a
m
g
e
n
e
r
a
t
o
r
.
I
n
t
h
e
p
r
o
j
e
c
t
we
d
e
s
i
g
n
an
e
n
c
r
y
p
t
i
o
n
system
by u
t
i
l
i
z
i
n
g
t
h
e
p
s
e
ud
o
-random
b
i
t
-
s
t
r
e
a
m
g
e
n
e
r
a
t
o
r
and
i
m
p
l
ement a
p
r
o
t
o
t
y
p
e
o
f
t
h
e
system on an
FPGA
d
e
v
i
c
e
.
Moreove
r
,a
s
app
l
i
c
a
t
i
o
n
r
e
s
e
a
r
c
h
e
s
we
d
e
v
e
l
o
p
a
s
e
c
u
r
ed
image d
a
t
a
d
e
l
i
v
e
r
y
system and
d
e
s
i
g
n
an e
n
c
r
y
p
t
e
d
mu
l
t
i
hop networks
.
1
.
まえがき
筆者等がUCB(カリフォルニア大学パークレー校)1
9
6
1
年時代から取り組んできた特目的計算機システ ム、整数論などで使う連立合同式の解のみを求める、『数ふるい (NumberSieve)Logicand Circuitsof a Delay-line NumberSievél1~ の論理構造はほとんど変えずにハードウェアによる疑似ランダムビッ ト列生 成田路を発明した。その後、特許2
件を得て現在に至っている。通常疑似乱数の生成はほとんどソフトウエ ア関数によるもので、一つの乱数を生成した後、次の乱数を生成するまで計算をし直すという、一連の疑似 乱数生成にかなりの計算時間を必要とする。しかしハードウェアによる疑似乱数生成は非常に高速で1
ビッ ト時間ごとに乱数性が極めて高い乱数列が生成できる。 生成された疑似乱数列は平文の暗号化に使われ、復号化する時には暗号化の時と同じ疑似乱数列用いるこ とになる。しかしながら、暗号化された文に対して時間をかけて解けば乱数列が分かる欠点を持つ。この欠 点に対応するため疑似乱数生成器のシードを不定期に変更するシステムを提案している。これまでの研究成 果の多くは当センタ一紀要にて発表している[2]。 さらに本研究は、平成 22 年~2
3
年度に総務省の戦略的情報通信研究開発推進制度(SCOPE)の地域ICT 振興型研究開発事業の補助を受け、『疑似ランダムビット列生成器暗号化システムの研究開発』として研究 開発を進めてきた。平成2
2
年度の成果の一部は[
4
,][
5
J
にまとめである。本稿では平成2
3
年度の研究成果 の要点をまとめる。2
.
数ふるい疑似ランダムビット列生成器暗号システムの
FPGA
での実装
現在、ネットワークを介してのストリーミングデータなどの電子データの送受信が増えている。そのため、 送受信されるデータの秘匿性は非常に重要な事項となりつつある。ここでは、数ふるい疑似ランダムビット 列生成器を用いた暗号化のシステムをHDL (Hardware Description Language)言語を用い、 USB接続による外部接続の FPGA(Field-ProgrammableGate Array)ボード上への実現について述べる。暗号化/ 復号化する際にPC本体で暗号化/復号化するのではなく外部機器を用いて行うシステムを実現することで、 データの秘匿性の向上を図ることが望める。
2
.
1
FPGAボ ー ド 上 へ の 暗 号 回 路 の 実 現 FPGAボードへの暗号回路の実現は、 HDL言語を用いて数ふるい疑似ランダムビット列生成器を記述す ることで行われる。記述コードは、紙面の関係から割愛する。今回用いる FPGAボードは、 USBによる制 御信号とデータの送受信ができる外部接続機器であるため、基本的に各種USB接続部を持つ機器との接続 が可能であり、数ふるい疑似ランダムビット列生成器を用いた暗号化/復号化回路(装置)の汎用的な利用 法が望める。2
.
2
デ ー タ の 送 受 信 ド ラ イ パ の 開 発 FPGAボードへのデータ送受信とFPGAボードの制御プログラム(ドライパ)については、開発の容易 性から C++言語で作成することとした。しかしながら、上位のアプリケーションとのデータ送受信には、 今後の汎用性の観点から Java言語による JNIドライパを介して行うように設計した針[。 C++言語のドライバは、ハードウェアドライバとしての性質を持ち、 FPGAボードの制御と平文デー夕、 あるいは暗号文データをFPGAボードに渡す、あるいは受け取る役割をする。一方、Java(JNI)のドライバは、 上位のアプリケーションとのインターフェースとなるように作成した。実験では、上位のアプリケーション から渡されたファイル単位およびバイト単位のデータをFPGAボードの暗号化と復号化を回路に渡し、そ2
-れぞれの処理を問題なく行うことが示された。図 1は、 そのイメージ図である。 F刊誌 ポード ,-ー・・・・・・回同・・幽・----・回国 . ‘“ーーー
t
'
櫨~
れ -・・・・・・・---幽・・・・M喧・--'
e 数ふるい疑似ランダ ムピット列生成田路に
よる箆盟主
f ' 1 v'
,1 t I e 『 t 唱 ' 1'
, 1, , 1 』 ' 1 t s e 晶 一一一・-ーー--'....嶋 図IF
P
G
A
ボードを用いた暗号化/復号化の概念、図3
.
暗号化された画像の配信システムの開発
前節の「数ふるい疑似ランダムビット列生成器暗号システムのFPGA
での実装」 の応用事例として、数 ふるい疑似ランダムビット列生成器を用いて暗号化された画像の配信システムの開発を行った。 開発したシステムでは、 送信側となる PC接続のWebカメラ等から得られた画像データをPCとUSB接 続されたFPGA
ボード上に作成した暗号回路で暗号化し、そのデータ (暗号文)をTCP/IPプロトコル を用いてネットワーク上のサーバへ送信する。受信側は、クライアントとしてサーバにTCP/IP接続して、 サーバから暗号化されたデータ(暗号文)を TCP/IPプロトコルで取得する。取得された暗号文は、受信 側(クライアント側)に接続されたFPGA
ボードの暗号/復号回路で復号化し、受信側で平文として見る ことができる。開発に用いたコンビュータ言語は、 全てJavaである。 3.1 画 像 デ ー タ 取 得 ア プ リ ケーション 画像データを PCに接続されたカメラから獲得するアプリケーションは、 Java言語で記述されている。 Java言語を開発言語として用いたのは、汎用性の高いアプリケーションを作成できるからである。近年、 特にスマートフォンなどのAndroidOSを搭載した各種端末は爆発的に増えつつあり、利用者のデータの秘 匿性の観点から、暗号/復号回路の需要はますます高くなると想定できる。そのため、上位のアプリケーショ ンを作成するためのプログラミング言語は、 Javaとした。 3.2 ク ラ イ ア ン 卜/サ ー バ シ ス テ ム 本システムの実証実験のために、プログラミング言語Javaを用いて専用のクライアント/サーバシステ ムを新たに構築した。これは、暗号文がネットワークを介して送受信できるかどうかの検証、および暗号文(暗 号化された画像データ)が、サーバ側で確実に暗号文として存在しているかどうかをチェックするためであ る。サーバが送信側PCから受け取る画像データは、 当然のことではあるが、暗号化されているため画像処理ソフトで表示することができない。そのことを実際に確認する必要があるが、既存のクライアント/サー バシステムでのデータのチェックはサーバ管理者権限や他者のデータの保全の問題から容易ではない。また、 暗号文がTCP/ IPプロトコルで電送されることも併せて確認しなければならないため、今回、確認用とし てクライアント/サーバシステムを構築した。 実証実験の結果、クライアント/サーバシステムは、所定の目的通りに動作していることが確認できた。 次の図 2は、暗号化された画像の配信システムの概念図である[7]。
サーバ(受信・送信)
図2 暗号化された画偉の配信システムの概念図4
.
マ ル チ ホ ッ プ ネ ッ ト ワ ー ク へ の 応 用 アドホックネットワークにおける現在のセキュリティレベルはインフラネッ トワークと比較して脆弱であ る。したがって、本プロジェク トで開発した数ふるい疑似ランダムビット列生成器暗号システムを活用して セキュリティレベルを向上させることは有意義である。我々が開発した暗号システムは基本的にP2P
型の 共通鍵暗号化通信を行うものであり、マルチホップネットワークに適用可能である。また、本暗号システム の暗号・復号化に要する遅延は1
ビットであるため、オーバーヘッドも無視できる。 一方、アドホックマルチホップネッ トワークにおいては、移動体である端末自身がルータとしての機能も 果たす必要があることから、ルーティングプロトコルの研究開発も重要である。本プロジェクトでは端末に 搭載されている位置情報取得機能を活用したルーティングプロトコルを開発し性能評価を行っている [8J。 4.1 マ ル チ ホ ッ ア ア ド ホ ッ ク ネ ッ ト ワ ー ク ' マルチホップネットワークでは、ルータ等の通信インフラを介せず、端末同士が相互にルータの役割も担 うことでアドホックネットワークを構築するものである。例えば、無線環境で直接送受信できない距離にあ る端末同士で通信したい場合に別の端末が中継をする。すなわち、P2P
通信を複数回経ることによりパケッ トを送り届けることができる。I
E
E
E
8
0
2
.
1
1
無線LAN
には通常のインヲラモードの他に、 アドホックモー ドがあり、それにより、基地局を経由しない端末同士の通信が可能になる。 ただし、著者が知り得た範囲で は、アドホックモードは他のアドホックデバイスを発見する機能が存在しないため柔軟なマルチホップネッ トワークの構築には不向きである。しかし、W
i
-
F
iA
l
l
i
a
n
c
e
が策定したP2P
接続をするための新しい仕様W
i
-
F
i
D
i
r
e
c
t
にはその機能が組み込まれている。現状ではW
i
-
F
iD
i
r
e
c
t
を実装した端末は少ないが、近い将-4-来多くの携帯端末に実装されることが予想される。 一方、
B
l
u
e
t
o
o
t
h
は、携帯端末、PC
等を無線接続するための技術として広く普及している。通常用途は1メー トル程度の近距離通信、すなわちC
l
a
s
s
3
によるものであるが、C
l
a
s
s2
は到達距離が1
0
メートル、C
l
a
s
s
lは1
0
0
メートル到達可能であるため、十分有用なマルチホップネットワークが構築できる。4
.
2
B
l
u
e
t
o
o
t
h
に よ る マ ル チ ホ ッ プ 暗 号 化 通 信 方 式 の 提 案Blu
e
t
o
o
t
h
は携帯端末分野で普及している無線通信方式の一つである。一般にはゲーム機、カーナビ、家 電等の局所通信に活用されているが、アドホックネットワークのための無線通信に関する研究も行われてい る。B
l
u
e
t
o
o
t
h
で通信する場合、マスタースレーブ方式のピコネットが構成される。マスターは最大7
個の スレーブを持つことができる。複数のピコネットを接続することで、マルチホップアドホックネットワーク を構築することができる。 最もシンプルで安価な構築方法は、複数のピコネットの境界にある携帯端末がスレーブからマスターへそ の役割を切り替えながら、複数のピコネットを接続するスキャタネット方式である。切り替えを行う端末は ブリ ッジと呼ばれ、ブリ ッジでのモード切替えオーバーヘッドがデメリットとなる。また、 一つの携帯端末 に複数のB
l
u
e
t
o
o
t
h
デバイスを搭載することで、マスターとスレーブの枠割を同時に担当することができる MBNATが開発されている。当然コストはかかるが、マルチホップネットワーク上での通信効率が高くなる というメリットカtある。 本プロジェクトではB
l
u
e
t
o
o
t
h
デバイスを用いてマルチホップネットワークを構築する際の共通鍵の管理 方式を開発した。図3
は、その信号伝達回路を示している。Seed
テーブルには、あらかじめ幾つかのSeed
が登録されており、通信相手のB
l
u
e
t
o
o
t
h
アドレスより共通鍵が特定され、数ふるい疑似ランダムビット列 生成器暗号システム (RB暗号回路)に設定される。マルチホップの各ステップで通信相手が変更になる度に、Seed
が共通鍵として設定されるので、P2P
の共通鍵暗号化通信が可能となる。 通信相手のB
l
u
e
t
o
o
t
h
アドレス ヘッダー情報+
ペイロードR
B
暗号回路 ペイロード 佳信) (平文)、
(暗号化) (暗号文) FI
Dout
8
1
u
e
t
o
o
t
h
メディア・ アクセス 可F 44 (受信)ミ .JL ベイロードR
B
暗号回路 ペイロード (平文) (復号化) (暗号文)v
ヘッダー情報 図3
B
l
u
e
t
o
o
t
h
マノレチホップネットワークへの応用5
.
まとめ
本稿は、総務省の戦略的情報通信研究開発推進制度(SCOPE)の地域ICT振興型研究開発事業の平成23 年度の研究成果の概要を中心にまとめたものである。数ふるい疑似ランダムビット列生成器の設計及び FPGAによる試作機実装内容について述べた後、画像配信システムへの応用とマルチホップネッ トワークへ の応用について述べた。参考文献
[lJ喜屋武盛基¥“数ふるい (NumberSieve)Logicand Circuits of a Delay-lineNumber Sieve,"琉球大 学農家政工学部紀要論文,Vol.l1, 1964年 12月. [2J喜屋武盛基,“疑似ランダム生成器及びそれを使用するストリーム暗号"沖縄大学マルチメディア教育研 究センタ一紀要 Vo.12,pp.41-47, 2002-03-31. [3J喜屋武盛基,名嘉村盛和 島真一,“疑似ランダムピット列生成器及びそれを使用するストリーム暗号通 信方式ならびに応用としてのパソコン鍵、 PC間暗号化通信、高質度暗号生成器"沖縄大学マルチメディ ア教育研究センタ一紀要,vo.18, pp.1-12, 2008-03-31. [4J喜屋武盛基,名嘉村盛和,又吉光邦,島真一,“疑似ランダムビット列生成器による暗号化システムの研 究開発,"沖縄大学マルチメディア教育研究センタ一紀要,Vol.ll,pp.1l-16, 2008-03-31.