メニュー

署名付きコンテンツの検証

署名付きコンテンツの検証

署名:
保存
OpenPGP 鍵:C8B4098974629448

このサイトでは現在コンテンツ署名が有効です。使用中の署名鍵は C8B4098974629448.

署名付きコンテンツの検証

はい。このページ自体にも署名があります。

このサイトでは、記事や単独ページのソースを OpenPGP のクリア署名付きファイルとして公開しています。署名付きページの上部にある 署名: 保存 コピー リンクから、実際の armored ファイルを取得して自分で検証できます。

何が署名されているの?

記事と単独ページでは、署名対象には次の内容が含まれます。

  • 読者向けの frontmatter 項目(存在する場合): title, menu, publishDate, updatedDate, category, tags
  • Markdown または MDX の本文

次のものは 署名されていません

  • 最終的に生成された HTML レイアウト
  • ナビゲーション、ヘッダー、フッター、スタイル
  • JavaScript の挙動
  • 画像、音声、そのほかのダウンロード用メディア

ページの上下に表示される薄いグレーの OpenPGP テキストは、あくまで「署名あり」の視覚的な合図です。実際の検証には、ダウンロードした .asc ファイルを使ってください。

必要なもの

検証の流れはこうです。

  1. ページ上の署名付き .asc ファイルをダウンロードする
  2. 上の公開鍵(またはフッターのリンク)をダウンロードする
  3. その公開鍵を OpenPGP ソフトにインポートする
  4. .asc ファイルを検証する

鍵をどう信頼する?

このサイトから配布している公開鍵は便利ですが、ここだけ を信頼元にするのはおすすめしません。

もしこのサイト自体が改ざんされた場合、ページ内容だけでなく、ここで配布している公開鍵まで差し替えられる可能性があります。なので、このサイトに載っているフィンガープリントを、別の場所で公開されている同じ鍵と照合するのが安全です。

照合先としては、たとえば次のようなものがあります。

  • OpenPGP の鍵サーバー
  • GitHub 上の公開鍵エンドポイント: https://github.com/kylxbn.gpg
  • そのほか、同じフィンガープリントを掲載している私のプロフィールやリポジトリ

いちばん安全なのは、複数の独立した場所でフィンガープリントを見比べてから、その鍵を信頼することです。

Linux

多くの Linux ディストリビューションでは、GnuPG が gpg として使えます。

gpg --import content-signing-public-key.asc
gpg --verify article.asc

署名が正しければ、gpg は有効な署名であることと、署名鍵の情報を表示します。

macOS

macOS でも、GnuPG が入っていれば同じように検証できます。

Terminal で gpg が使える場合:

gpg --import content-signing-public-key.asc
gpg --verify article.asc

GUI で操作したい場合は、公開鍵のインポートとクリア署名ファイルの検証に対応した OpenPGP アプリでも構いません。

Windows

Windows では、Gpg4win(Kleopatra 同梱)を使うのがいちばん簡単です。

手順はこんな感じです。

  1. 公開鍵を Kleopatra にインポートする
  2. 署名付き .asc ファイルをダウンロードする
  3. Kleopatra でそのファイルを検証する

PowerShell やコマンドプロンプトで gpg が使える場合は、コマンドラインでも検証できます。

gpg --import .\content-signing-public-key.asc
gpg --verify .\article.asc

なんのために?

これによって、「署名されたソース本文」が私によって公開され、署名後に改変されていないことを、第三者が独立して確認できます。

ただし、ページ全体の最終 HTML が暗号的に封印されているわけではありません。対象は、あくまで実際の本文と、読者に見える主要なメタデータです。

そのくらいに絞ることで、署名は実用的で、安定していて、検証もしやすくなります。