More Related Content
Similar to android bazaar and conference 2011 summer camellia android
Similar to android bazaar and conference 2011 summer camellia android (20)
android bazaar and conference 2011 summer camellia android
- 2. 2 ABC 2011 Summer
アジェンダ
自己紹介
Camelliaとは?
なぜCamelliaを選択したのか?
CamelliaとAESの性能比較
camellia-androidの開発コンセプト
camellia-androidの利用方法
camellia-androidの性能
- 3. 3 ABC 2011 Summer
自己紹介
ハンドル :鯖缶
Twitter :srvhat09
職業 :ベンチャー起業
分野 :セキュリティっぽい何か
特許 :一応、サーバ認証系を保有
⇒既に時代遅れでお荷物
職歴? :大手金融系の設計やモバイル系開発
興味 :デジタルガジェット系
⇒ HP200LX,CLIE,リナザウ,Android
- 4. 4 ABC 2011 Summer
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
- 5. 5 ABC 2011 Summer
なぜCamelliaを選択したのか?
2000年にNTTと三菱電機が開発した128ビットブロッ
ク暗号(鍵長128,192,256ビット)
日本人なら日本製品をプッシュしたいよね?
- 6. 6 ABC 2011 Summer
なぜCamelliaを選択したのか?
AESよりも高い安全性(セキュリティマージン)を確保
とはいっても、安全性が高いのがいいよね?
- 7. 7 ABC 2011 Summer
なぜCamelliaを選択したのか?
ソフトウェア実装・ハードウェア実装問わず、どん
な利用環境でも世界トップクラスの処理性能
しかも、処理性能が高い方がいいよね?
- 8. 8 ABC 2011 Summer
なぜCamelliaを選択したのか?
結論
日本男児は黙ってCamellia (キリッ
- 9. 9 ABC 2011 Summer
CamelliaとAESの性能比較
http://info.isl.ntt.co.jp/crypt/camellia/dl/Camellia2010v7_0.pdf
- 10. 10 ABC 2011 Summer
camellia-androidの開発コンセプト
AndroidのJava開発者が手軽に実装
機種依存性の排除
インタフェースにはArrayList<String>を使用
camellia部分に処理を限定
オープンソースで処理公開
- 11. 11 ABC 2011 Summer
camellia-androidの利用方法
外部ライブラリの取り込み(バイナリ版)
- 12. 12 ABC 2011 Summer
camellia-androidの利用方法
JNIライブラリの取り込み(バイナリ版)
- 13. 13 ABC 2011 Summer
camellia-androidの利用方法
プロジェクトの完了状態
- 14. 14 ABC 2011 Summer
camellia-androidの利用方法
プログラミング
定義部
データの設定
- 15. 15 ABC 2011 Summer
camellia-androidの利用方法
プログラミング
オブジェクトの生成とエンコード
生成結果の取り出し
- 16. 16 ABC 2011 Summer
camellia-androidの利用方法
One More Thing.
ArrayList<String>に「null」を許可
暗号化結果も「null」値を返却
⇒DB項目の格納内容をまるごと設定可能
※null判定はJNI側で実施している
- 17. 17 ABC 2011 Summer
Camellia-androidの性能
比較条件(256bit, 対象文字2.4Kbyte) 単位: ms
集計:TimingLogger Encode
AES
Decode Total Encode
camellia-android
Decode Total
機種:Nexus S 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
camellia-androidとAESの平均の速度比
Encode : 3.37倍
Decode : 3.66倍
(Total:描画まで含めた速度)
- 18. 18 ABC 2011 Summer
付録:共通鍵暗号方式
公開鍵暗号方式と比較して1000倍高速
共通鍵長128bitの場合、公開鍵長は2,304bitで同等※
鍵長を定めるには、データ漏えい後の寿命設定が重要※
WEBパスワード:数日以内
長期ビジネスプラン:年
鍵の更新を行う仕組みが最も重要※
永遠に解読できない暗号は存在しない
鍵の寿命を定めるべき※
鍵の使用は、全て同一にすると解析される危険度が高い※
※ブルース・シュナイアー「暗号技術大全」より抜粋