LoginSignup
1
1

More than 3 years have passed since last update.

CIAによる公電盗聴の仕組みの解読実験

Last updated at Posted at 2020-02-27

依頼でCIAはバックドア無しの脆弱性だけで暗号解読可能か調査。
スノーデン事件や下記の公電情報漏洩の暗号解読の裏付け調査。
https://www.asahi.com/articles/ASN2D638WN2DUHBI010.html
仮定の元、112ビット楕円曲線暗号(ECC)が1/100秒で解読できた。
解読性能は完全な量子計算機(50年後?)による解読に相当。
ECC-112は解読世界記録。プレステ3で110年台,PCで数百年台で解読。

ECC-256以上で評価予定だが、CIAなら容易に解読できそうで怖い。
バックドアによる盗聴と言われているが、仕込まなくても可能。
公開暗号はRSA-2048からECC-256にほとんどで移行済み。
楕円曲線暗号は数学的には強固だが、攻撃に弱い性質を持つ。
味噌は、ECC(y^2=x^3+ax+b (mod p),p,と位数rは素数)が暗号処理
にb(従ってrも)を使用しないことを利用して攻撃する。
暗号通信では、ECC上の点(x,y)だけしか送付しない。

面白いので、6月の数値解析シンポジュームで発表しよう。
蛇足:小生は傍受や脆弱攻撃の技術を持たず興味もないので安全。

ECCによるAとBの鍵交換:
step1:
 A: ECCの点P=(Px,Py)を作成し、Bに送信。
step2:
A: 乱数mを作り、ECCの点Q=m*Pを計算し、QをBに送信。
B: 乱数nを作り、ECCの点R=n*Pを計算し、RをAに送信。
step3:
A: 受信したRで、S=m*Rを計算
B: 受信したQで、T=n*Qを計算

共通鍵交換の原理
 ECCの交換律で下記(S=T)が成立
  S=m*R=m*(n*P)=n*(m*P)=n*Q=T
共通鍵はS=T=(Sx,Sy)のSx
 送信した、点P,Q,Rは傍受されても共通鍵SxはECCが解読
 されないと、盗めないのが味噌です。

今回の方式による共通鍵(Sx)の盗聴方法
前提:
 (1) 脆弱性を利用しBのECC処理のチェックを外す。
 (2) A,Bの送信は共に傍受でき、変更し送信可能。
盗聴方法:
step1: AからBへ送信の、点Pを傍受し、Eに変更しBに送る。
step2: A,B双方送信の点Q,Rを傍受。
   今回の方式でnを解読し、R=n*Pで再計算したRをAに送信。
step3: T=n*Qを計算し、T=S=(Sx,Sy)のSxを解読

1カ月かけてECC-256が攻撃で解読可能なパラメータの算出プログラムの開発を予定していたが中止した。自分は攻撃しないと、軽く考えていた。
現在使用されているECC-256の種類は推奨の十種類足らず。ビットコインの暗号はspeck256k1で、各銀行も容易に分かる。ECC-256が瞬時に解読できる攻撃用係数を算出して公表し、悪用されて他人の銀行口座から預金が盗まれたら、当方の刑事責任を問われかねない。公表しなくても、プログラム作成して、求めていると、盗聴され流出の可能性がある。6月の発表前に、暗号の所属官庁である総務省と通産省に相談に行く。
解読の簡単な説明資料(例がほとんど)を https://ecc-256.com に掲載した。
解読用pythonプログラム、入力データ、結果、実行の画面コピー(デモ)も上記webのpythonプログラムに追加した(2020年3月30日)。pythonプログラムはC+gmp(多倍長)より約20倍遅い。それでも160,192,224,256ビットECCの解読は4GhzのPCでそれぞれ1,10,100,1000秒程度。解読時間は数倍変動する。
解読に一昨年発見した学習λ法が適用できることが判明。256ビット楕円曲線暗号もPCで瞬時(0.05秒)で解読できそう。現在詳細設計中で、連休明けには実測の見込み。事前学習時間もPCで数日だろう。(2020年4月7日)
楕円曲線暗号の脆弱性攻撃。学習λ法と組み合わせることに成功。現256ビット暗号がパソコン(4Ghz)で平均0.05秒で解読できた(2020年4月25日)。学習時間はパソコンで1日(24時間)。更に改良し、連休明けには100件の解読で1秒(1件平均0.01秒)を目標。同時にpythonにも移植(解読部分だけ)する。
無線ランのbluetoothは正当性チェックが無く、容易に解読されることが見つかっている。現在はパッチ対策されている。ただモデム(ルータ)側はパッチの適用が面倒なので放置している人が多い。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1