18
Android セキュリティ部 camellia-android ABC 2011 Summer 2011/7/17 1

android bazaar and conference 2011 summer camellia android

Embed Size (px)

Citation preview

Android セキュリティ部

camellia-android

ABC 2011 Summer 2011/7/17

1

アジェンダ 自己紹介

Camelliaとは?

なぜCamelliaを選択したのか?

CamelliaとAESの性能比較

camellia-androidの開発コンセプト

camellia-androidの利用方法

camellia-androidの性能

ABC 2011 Summer 2

自己紹介

ハンドル :鯖缶

Twitter :srvhat09

職業 :ベンチャー起業

分野 :セキュリティっぽい何か

特許 :一応、サーバ認証系を保有

⇒既に時代遅れでお荷物

職歴? :大手金融系の設計やモバイル系開発

興味 :デジタルガジェット系

⇒ HP200LX,CLIE,リナザウ,Android

ABC 2011 Summer 3

ABC 2011 Summer 4

Camelliaとは?

2000年にNTTと三菱電機が開発した128ビットブロック暗号(鍵長128,192,256ビット)

国際標準規格・推奨規格に採用

Linux 2.6.21~,OpenSSL0.9.8c~,FireFox3~等

世界唯一のAES代替国際標準暗号

AESよりも高い安全性(セキュリティマージン)を確保

基本特許無償化&オープンソース提供

ソフトウェア実装・ハードウェア実装問わず、どんな利用環境でも世界トップクラスの処理性能

http://info.isl.ntt.co.jp/crypt/camellia/dl/Camellia2010v7_0.pdf

ABC 2011 Summer 5

なぜCamelliaを選択したのか?

2000年にNTTと三菱電機が開発した128ビットブロック暗号(鍵長128,192,256ビット)

日本人なら日本製品をプッシュしたいよね?

ABC 2011 Summer 6

なぜCamelliaを選択したのか?

AESよりも高い安全性(セキュリティマージン)を確保

とはいっても、安全性が高いのがいいよね?

ABC 2011 Summer 7

なぜCamelliaを選択したのか?

ソフトウェア実装・ハードウェア実装問わず、どんな利用環境でも世界トップクラスの処理性能

しかも、処理性能が高い方がいいよね?

ABC 2011 Summer 8

なぜCamelliaを選択したのか?

結論 日本男児は黙ってCamellia (キリッ

ABC 2011 Summer 9

CamelliaとAESの性能比較

http://info.isl.ntt.co.jp/crypt/camellia/dl/Camellia2010v7_0.pdf

ABC 2011 Summer 10

camellia-androidの開発コンセプト

AndroidのJava開発者が手軽に実装

機種依存性の排除

インタフェースにはArrayList<String>を使用

camellia部分に処理を限定

オープンソースで処理公開

ABC 2011 Summer 11

camellia-androidの利用方法

外部ライブラリの取り込み(バイナリ版)

ABC 2011 Summer 12

camellia-androidの利用方法

JNIライブラリの取り込み(バイナリ版)

ABC 2011 Summer 13

camellia-androidの利用方法

プロジェクトの完了状態

ABC 2011 Summer 14

camellia-androidの利用方法

プログラミング

定義部

データの設定

ABC 2011 Summer 15

camellia-androidの利用方法

プログラミング

オブジェクトの生成とエンコード

生成結果の取り出し

ABC 2011 Summer 16

camellia-androidの利用方法

One More Thing. ArrayList<String>に「null」を許可

暗号化結果も「null」値を返却

⇒DB項目の格納内容をまるごと設定可能

※null判定はJNI側で実施している

ABC 2011 Summer 17

Camellia-androidの性能

Encode Decode Total Encode Decode Total

65 26 95 15 12 51

23 22 50 18 32 113

29 25 76 15 4 40

39 43 104 4 1 8

24 8 36 2 1 7

15 24 59 7 1 16

9 8 21 2 1 10

40 7 51 15 2 33

36 35 80 3 1 41

32 27 62 2 1 6

24 50 102 16 11 46

44 19 73 14 13 84

31.7 24.5 67.4 9.4 6.7 37.9

AES camellia-android

比較条件(256bit, 対象文字2.4Kbyte)

集計:TimingLogger 機種:Nexus S

camellia-androidとAESの平均の速度比

Encode : 3.37倍 Decode : 3.66倍 (Total:描画まで含めた速度)

単位: ms

ABC 2011 Summer 18

付録:共通鍵暗号方式

公開鍵暗号方式と比較して1000倍高速

共通鍵長128bitの場合、公開鍵長は2,304bitで同等※

鍵長を定めるには、データ漏えい後の寿命設定が重要※

WEBパスワード:数日以内

長期ビジネスプラン:年

鍵の更新を行う仕組みが最も重要※ 永遠に解読できない暗号は存在しない

鍵の寿命を定めるべき※

鍵の使用は、全て同一にすると解析される危険度が高い※

※ブルース・シュナイアー「暗号技術大全」より抜粋