2 ポイント 投稿者 GN⁺ 2024-09-08 | 1件のコメント | WhatsAppで共有

古いZIPファイルを解読し、ANCの「Operation Vula」秘密暗号コードをオープンソース化

  • 最近、30年前のPKZIPファイルのパスワードを解読し、南アフリカ共和国のアパルトヘイト体制を打倒するうえで重要な役割を果たしたANCの「Operation Vula」暗号コードを分析した
  • Operation Vulaは、1980年代後半にANC指導者たちを南アフリカに潜入させ、地下ネットワークを構築する作戦だった
  • この作戦では、8ビットコンピューター、DTMFトーン、音響カプラなどを使い、ワンタイムパッドで暗号化したメッセージをやり取りしていた

暗号化システムのオープンソース化

  • Tim Jenkinが暗号化システムの元のソースコードをオープンソース化した
  • Timは1991年に南アフリカへ戻る前、すべてのソースコードを暗号化されたZIPファイルに圧縮したが、パスワードを忘れてしまった
  • 筆者はTimの依頼を受け、ALLBAS.ZIPとCODMAY93.ZIPファイルを解読することにした

ZIPファイル解読の過程

  • 当時のZIP形式で使われていたZipCryptoアルゴリズムに対する既知平文攻撃を活用した
  • bkcrackというオープンソース実装を使い、ZIPファイルの特定位置にある12バイトの平文を予測した
  • Timが提供した別バージョンのOLDCOD.ZIPファイルから、最初のファイル名がCOMKEY.BASであることを確認し、これを基に平文を生成して攻撃を試みた
  • 23分後、bkcrackがALLBAS.ZIPファイルのキーを見つけ出し、同じキーでCODMAY93.ZIPファイルも解読した

プログラムの実行

  • 2つのプログラムをDOSBox上でコンパイルして実行した
  • RANDOM.BASはワンタイムパッドとして使うランダム数字ディスクを生成し、TECOD.BASは電子メール経由でメッセージを暗号化・復号するプログラムである
  • プログラムのパスワードはTIMBOBIMBOに設定されている

GN⁺のまとめ

  • この記事は、ANCの秘密暗号コードを解読してオープンソース化する過程を扱っている
  • 歴史的に重要な暗号化システムを復元し、分析することに興味を持てる内容である
  • 類似機能を持つプロジェクトとしては、PGP(Pretty Good Privacy)とGnuPG(GNU Privacy Guard)がある

1件のコメント

 
GN⁺ 2024-09-08
Hacker Newsのコメント
  • Vulaシステムは使い勝手の悪さが原因で失敗した

    • 自由のために戦う献身的な活動家はいたが、システムを適切に使えなかった
    • 文書を暗号化せずに残していた
    • 鍵が簡単に入手できた
    • ソフトウェアが煩雑すぎて、重要な通信を暗号化せずに送っていた
    • PGPの設定と正しい利用は非常に難しい
    • セキュリティとはユーザビリティのこと
    • Vulaについてさらに詳しく書いた記事がある: リンク
  • セキュアなワンタイムパッド向けの数字生成器を見てみた

    • Melissa O'Neilが誇りに思いそうな、ほぼpcg級の出来
    • PowerbasicシステムのRand LCGを使い、3つの新しいrand1-3関数に切り替えていた
    • うち2つは別のLCGを使っている
    • コードへのリンク
  • 南アフリカでは多くのことが起きていた

    • GNUが終末時計を巻き戻してくれることを願う
    • おすすめ - Action Kommandant: Ashley Krielの人生を垣間見られるドキュメンタリー
  • TIMBOBIMBO ハハハハ

  • Operation Vulaについての言及

    • 8ビットコンピュータ、DTMFトーン、音響カプラを使用
    • CIA/NSAがPhilips PX-1000を使ったOperation Vulaを見抜いた
    • DES内蔵製品について、Philipsに賄賂を渡してバックドアを仕込ませた
    • リンク
  • [flagged]

  • 「古い」ZIPを解読するなら、アーカイブ内の数文字が分かっている場合の最適なツールはbkcrack