署名鍵の管理

MDS ファイルの署名と検証に使用する鍵の管理方法を説明します。

概要

MIDAS で保存した MDS ファイルには電子署名が付与されます。 電子署名によりファイル作成者の確認と改竄の検出が可能になります。

MDS ファイルを信頼するかどうかは署名者の信頼レベルによって変わります。 信頼レベルは3種類あります。

信頼レベル説明
OfficialMIDAS の運営者の鍵による署名
Trusted自分の鍵(自己署名)または登録済みの公開鍵による署名
Unknown未登録の署名者による署名

鍵ペア(秘密鍵と公開鍵の組)はブラウザの IndexedDB に保存されます。ブラウザのサイトデータを消去すると鍵ペアも削除されます。署名鍵の管理は Settings ダイアログの Signing Keys タブで行います。メニューバーから Help > Settings を選択し、Signing Keys タブをクリックしてください。

Signing Keys タブの画面

電子署名の仕組み

MDS ファイルの電子署名は公開鍵暗号に基づいています。署名者は秘密鍵でファイルに署名し、受け取り側は署名者の公開鍵で検証します。ファイルの内容が署名後に変更されると検証に失敗するため、改竄や破損を検出できます。

署名はファイルの内容を暗号化しません。MDS ファイルを入手した人は、署名の有無にかかわらずファイルの内容を読めます。ファイルの機密性が必要な場合は、OS のディスク暗号化や別途の暗号化手段で保護してください。

MIDAS には鍵の集中管理サーバーがありません。信頼レベルは、受け取り側が署名者の公開鍵を登録しているかどうかで決まります。署名者が自分の端末で鍵を削除・再生成しても、受け取り側の登録状況や既存の MDS ファイルの検証結果には影響しません。新しい鍵を使ってもらうには、改めて公開鍵を配布してください。

フィンガープリントの照合

公開鍵ファイルを受け渡す際、経路上で第三者にすり替えられるリスクがあります。フィンガープリントは公開鍵から計算される 32 桁の16進数で、公開鍵を一意に識別します。

照合の手順:

  1. 送り手が Settings > Signing Keys の My Signing Key セクションに表示されているフィンガープリントを確認する
  2. 公開鍵ファイルとは別の経路で、送り手が受け取り側にフィンガープリントを伝える
  3. 受け取り側が Register Trusted Key ダイアログに表示されるフィンガープリントと照合する

両者が一致すれば、公開鍵が経路上で改竄されていないことを確認できます。

署名検証の失敗

ファイルの内容が署名後に変更されると、署名との整合性が崩れ、検証に失敗します。メール添付やクラウドストレージでの転送中にファイルが破損した場合も同様です。整合性検証に失敗した MDS ファイルは開けません。送り手にファイルの再送を依頼してください。

自分の鍵ペアを管理する

新しい鍵を生成する

初めて MDS ファイルを保存またはエクスポートする際、鍵ペアが自動的に生成されます。署名者名の初期値は「Anonymous」です。手動で生成する場合は、Signing Keys タブで Generate New Key ボタンをクリックします。鍵ペアが既に存在する場合、このボタンは無効になります。新しい鍵を生成するには、先に既存の鍵を削除してください。鍵を生成したら、早めにバックアップを作成してください。

ダイアログで署名者名を入力します。この名前は署名に含まれ、他のユーザーがファイルを開いたときに表示されます。

公開鍵をエクスポートする

他のユーザーに公開鍵を共有するには、Export Public Key ボタンをクリックします。JSON 形式のファイルがダウンロードされます。

このファイルを MDS ファイルを共有したい人に渡すことで、共有相手が MDS ファイルを開く際に、その MDS ファイルの作者が確かにあなたであると検証できるようになります。

鍵ペアをバックアップする

鍵ペアを別のブラウザやデバイスに移行するには、バックアップを作成します。

  1. Backup Key Pair ボタンをクリック
  2. パスワードを入力(復元時に必要)
  3. パスワードを再入力して確認
  4. Export ボタンをクリック

バックアップファイルはパスワードで暗号化されます。パスワードを忘れると復元できなくなるため、安全な場所に保管してください。

バックアップから復元する

バックアップから鍵ペアを復元するには、Import Key Pair ボタンをクリックします。

  1. バックアップファイル(.json)を選択
  2. バックアップ時に設定したパスワードを入力
  3. Import ボタンをクリック

既存の鍵ペアがある場合は上書きされます。

署名者名を変更する

My Signing Key セクションで名前の横にある Edit ボタンをクリックすると、署名者名を変更できます。変更は以降のエクスポートに反映されます。エクスポート済みの MDS ファイルに含まれる署名者名は変わりません。

鍵ペアを削除する

Delete Key ボタンをクリックすると、鍵ペアを削除できます。削除すると元に戻せません。削除後に新しい鍵を生成すると、以前の署名とは異なるフィンガープリントになります。

他者の公開鍵を登録する

他のユーザーから受け取った公開鍵を登録すると、そのユーザーの署名を信頼済み(Trusted)として扱えます。

公開鍵をインポートする

  1. Trusted Keys セクションで Import Public Key ボタンをクリック
  2. 公開鍵ファイル(.json)を選択
  3. フィンガープリントを確認
  4. 識別用の名前を入力
  5. Register ボタンをクリック

Register Trusted Key ダイアログ

フィンガープリントを照合して公開鍵の真正性を確認してください。手順はフィンガープリントの照合で説明しています。

登録した鍵の名前を編集する

Registered 鍵の一覧で鍵をクリックすると詳細が表示されます。Edit ボタンをクリックして名前を変更できます。

登録した鍵を削除する

Registered 鍵の一覧で Remove ボタンをクリックすると、登録を解除できます。解除後、その鍵による署名は Unknown として扱われます。

公式鍵について

Trusted Keys セクションの Official には、MIDAS の運営者の鍵が表示されます。公式鍵による署名は常に信頼済みとして扱われます。

公式鍵は編集・削除できません。

未知の署名者の MDS を開く

MIDAS は既定では unknown 署名の MDS ファイルを警告ダイアログなしで開きます。現在開いているプロジェクトの信頼レベルはメニューバー右端の署名バッジで確認できます。バッジをクリックするとフィンガープリント全体が表示され、その場で信頼済みとして登録することもできます。詳細は 署名バッジと信頼レベル を参照してください。

推奨: 共同研究者から MDS ファイルを受け取る前に、相手から公開鍵を送ってもらい、信頼済みとして登録しておくことをお勧めします。そうすれば、その鍵で署名されたファイルは以降 Trusted として扱われます。

Strict モード: unknown 署名で確認ダイアログを出す

信頼できない相手から MDS を頻繁に受け取るなど、毎回明示的に確認したい場合は、Settings > SecurityRequire confirmation for unknown signers を有効にしてください。strict モードを ON にすると、unknown 署名の MDS を開くたびに確認ダイアログが表示されます。

ダイアログには自己申告の署名者名とフィンガープリントが表示され、以下 3 つの選択肢があります。

  • Cancel: ファイルを開かずにダイアログを閉じる
  • Trust this signer and open: 署名者名を入力して鍵を信頼済みに登録し、そのままファイルを開く
  • Open Anyway: 今回だけ、鍵を登録せずに開く

注意: 署名者の名前は自己申告です。本人の鍵かどうかを検証するには、別経路で相手に連絡しフィンガープリントを照合する必要があります。初めて MDS ファイルを共有してもらうときは、公開鍵も一緒にもらっておくのがお勧めです。

See also