キモブロ

Please spy check please, Fucking retard

ファイル改ざん対策関連めも

httpsが保障していること

httpsが保障するのは、通信経路上で改ざんされていないということ、中間者攻撃されていないということの保障。
ただしvalidなhttpsに必要なのは以下の3点

  • 証明書のエラーが出ないこと
  • ドメイン名があってること
  • あなたの使ってるルート証明書がvalidであること

httpsが保障していないこと

  • サーバー上のファイル自体が改ざんされていないこと

これを保証するにはPGP公開鍵暗号方式を利用した電子署名アルゴリズムを使えば良い。これにはペアで生成された公開鍵と秘密鍵を利用する。
公開鍵で暗号化されたものは秘密鍵でしか復号化できないという一方通行の特徴があり、逆に秘密鍵で暗号化されたものは公開鍵でしか復号化できない。
後者の特徴を利用して電子署名を作る。秘密鍵でファイルのSHA256ハッシュを暗号化し、ユーザーは公開されている公開鍵でそのハッシュ値が正しいことを確認できる。

パスフレーズとは何か

sshとかgpgで設定させられるパスフレーズっていうのは、これはローカルに生で秘密鍵を保存するのは危険だから、秘密鍵を暗号化した状態でファイルシステムに保存するために使っている。(共通鍵暗号方式)

ssh-agent / gpg-agentのやっていること

メモリ上に復号化された秘密鍵を保持するため、複数回のパスフレーズの入力の必要がなくなる。その目的のためのソフトウェア。

PGP電子署名が保障していること

  • ファイルが電子署名した人から見て完全に正しいものであるということ

PGP電子署名が保障していないこと

  • ファイルを作成し、電子署名した人が本当に本人なのかどうか

PGPのfingerprintとは何か

公開鍵のハッシュ値

課題: 本当に本人の公開鍵であることをどうやって保障するか

俺のアイデア: TwitterFacebookなど複数のvalidなhttpsSNS上でまったく同一の公開鍵を公表する。またメールなどにも公開鍵を掲載したり、あらゆる媒体で同じ公開鍵を何年も使い続けることにより、歴史を作りcrackしにくさを築きあげる。

注意点

量子コンピューターの実用化で素因数分解がどうかしちゃって、公開鍵暗号方式が機能しなくなる可能性も頭の片隅においておきたい。