第33章 ハッシュの鎖
- 山崎行政書士事務所
- 5月7日
- 読了時間: 18分
午前八時三十分。
第三会議室の机の上には、三種類の記録が並んでいた。
録音。判断記録。時系列表。
昨日、攻撃者はAI要約を歪めた。会社が説明すると決めた会議を、説明しないと決めたように書き換えた。委託先責任を断定していない会議を、断定したように要約した。外部取得可能性が高いと判断した事実を、低いと判断したように記録した。
要約は、会社の記憶ではなかった。だが、要約を読んだ者にとっては、記憶のように見える。
三枝涼真は、時系列表を開いた。
incident_timeline_20280506.xlsx
最初は、ただのExcelだった。
SOCアラート。ログ確認。委託先連絡。復旧判断。漏えい可能性。AIアラート。端末管理命令。未了ログ。デジタルツイン。通知の巣。承認者のいない承認。失効しない証明書。非常用の鍵。火災警報。偽訓練通知。社長の声。AI要約。
すべてが、そのファイルに記録されている。
三枝は、そのファイルを見ながら、少し怖くなった。
このファイルが壊れたら。
このファイルが書き換えられたら。
このファイルを攻撃者が「後から作ったものだ」と言ったら。
昨日までは、AI要約が危ないと思っていた。だが、本当に危ないのは、正式な記録そのものを疑われることだ。
山崎行政書士事務所の山崎が、会議室に入ってきた。
「おはようございます」
「おはようございます」
山崎は、三枝の画面を見た。
「時系列表ですか」
「はい。昨日、AI要約が歪められたので……次は、正式記録を疑わせに来る気がします」
山崎は、うなずいた。
「来るでしょう」
その断言は、静かだった。
山崎はホワイトボードの前に立ち、黒いペンで書いた。
記録の真正性
そして、その下に三つの項目を並べた。
誰が作ったかいつ作ったか変わっていないか
「今日見るのは、この三つです」
三枝は、頷いた。
山崎は続けた。
「昨日の章では、“AI要約は正式記録ではない”ことを確認しました。今日は、正式記録が正式記録であり続けるための仕組みを確認します」
三枝は、時系列表を見た。
セルの中には、何千もの行がある。
だが、それが本物であることを、どう証明するのか。
山崎は、静かに言った。
「記録にも、鍵が必要です」
午前八時五十八分。
久我真琴がオンラインで参加した。
三枝は、時系列表、判断記録、証跡一覧の保全状況を共有した。
久我は、画面を見ながら言った。
「まず、現時点でのファイルハッシュを取りましょう」
三枝は頷いた。
もう、その操作には慣れていた。
ファイル。保存場所。取得時刻。取得者。SHA-256ハッシュ。保管先。
時系列表のハッシュが表示された。
長い英数字の列。
7f3a...
三枝は、それを証跡一覧に入れた。
久我が言った。
「ただし、今ハッシュを取っても、“今の状態”しか証明できません。問題は、過去の時点でどうだったかです」
山崎が頷いた。
「時系列表は、いつからどのように保存されていましたか」
三枝は履歴を開いた。
クラウドストレージのバージョン履歴。自動保存。手動保存。バックアップ。エクスポート。
幸い、時系列表には多くのバージョンが残っていた。
事件初日。第二報前。DeviceActionRaw保全時。取締役会前。Aster発覚時。NotifyBridge発覚時。火災警報当日。社長音声当日。AI要約発覚当日。
各版に、更新者と時刻がある。
だが、久我は眉をひそめた。
「バージョン履歴だけでは足りません。管理者が改変できる可能性があります」
三枝は、胸が少し冷えた。
「では、どうすれば」
山崎が言った。
「外部に出した版はありますか」
秋山が入室し、答えた。
「あります。行政速報、警察相談、弁護士向け資料、取締役会資料、山崎先生への共有版、久我さんへの証跡パック」
山崎は頷いた。
「それらは、時系列表の一部または全体を別々の時点で外部へ渡しています。完全ではありませんが、時点証拠になります」
久我も続けた。
「さらに、メール送信ログ、ファイル共有ログ、ダウンロードログ、外部専門家側の受領ログがあります。それらを突き合わせれば、過去の版の存在を証明しやすくなります」
山崎がホワイトボードに書いた。
内部版だけでなく、外部受領版で支える。
三枝は入力した。
08:59 時系列表・判断記録・証跡一覧の真正性確認を開始。現行ファイルハッシュ取得。過去版について、クラウドバージョン履歴、外部提出版、メール送信ログ、共有ログ、受領ログを突合する方針。
保存。
記録は、一つの場所に置いておくだけでは弱い。
複数の場所に、複数の時刻で、複数の証跡として残るから強くなる。
午前九時二十分。
Blue Heronからメールが届いた。
件名は、Timeline。
本文は短かった。
You wrote it after the fact.We have the earlier one.
あなたたちは、後からそれを書いた。こちらには、もっと前のものがある。
その下には、時系列表の一部らしき画像が貼られていた。
三枝は、息を止めた。
画像には、確かに時系列表の形式が見える。
だが、内容がおかしい。
03:46 攻撃者要求への対応方針:詳細説明は保留。取引先説明は最小限にとどめる。
まただ。
会社が説明しないように見える記載。
三枝は、即座に保全手順を進めた。
山崎が画面を見て言った。
「攻撃者は、偽の時系列表を提示しています」
久我が慎重に言った。
「画像だけでは、偽造か、本当に改変された過去版か、どこかの派生資料かは分かりません。突合します」
三枝は、事件当日の03:46前後の正式時系列を開いた。
そこには、こうある。
03:46 不明差出人より件名“72 hours”のメール受信。正午までの説明を要求。対応方針:攻撃者の示す期限に従属せず、当社として確認済み事実、未確認事項、対応状況、再発防止方針を整理した第二報を作成・発信する。
正反対だった。
三枝は、山崎へ言った。
「正式版は、こちらです」
山崎は頷いた。
「画像のセル幅、フォント、行番号を見てください」
三枝は、Blue Heronの画像を拡大した。
行番号が合わない。時系列表の当時の版にはなかった列がある。ファイル名の表示も少し違う。
久我が言った。
「これは、後から作った偽画像の可能性が高いです。ただ、技術レポートでは、画像上の不整合として記録します」
山崎が続けた。
「さらに、当該03:46行について、外部提出版と突合します」
秋山が、警察相談用証跡一覧を開いた。そこにも同じ03:46行があった。
久我側の受領ログにも、同じ内容。山崎事務所の保全メモにも、同じ内容。
三枝は入力した。
09:20 不明差出人より件名“Timeline”のメール受信。時系列表の一部と称する画像を提示し、03:46行に“詳細説明は保留”等の記載あり。正式時系列表、警察相談用証跡一覧、北斗DFIR受領版、山崎行政書士事務所保全メモと矛盾。画像には行番号・列構成・表示形式の不整合あり。偽画像の可能性が高いが、断定は継続確認。
保存。
山崎は、静かに言った。
「来ましたね。記録への攻撃です」
望月が会議室に入ってきた。
「攻撃者は、当社が後から記録を作ったと言いたいのですね」
山崎は答えた。
「はい。だから、記録の鎖を見せる必要があります」
午前九時五十五分。
山崎は、ホワイトボードに新しい見出しを書いた。
ハッシュの鎖
三枝は、以前から言葉だけは知っていた。
ファイルのハッシュ。改ざん検知。証拠保全。
だが、今必要なのは、ただファイルごとのハッシュを取ることではない。
時間の鎖だ。
久我が説明した。
「各版の時系列表、判断記録、証跡一覧にハッシュを付けます。さらに、前の版のハッシュを次の版の記録に含める。そうすると、一つを後から差し替えるには、その後の鎖も全部変えなければならない」
山崎が補足した。
「技術的には久我さんの説明どおりです。法務・説明上は、“いつの時点でどの内容が存在していたかを、連続した記録として説明できる”ことが重要です」
三枝は、ハッシュ鎖の設計案を作った。
Evidence Chain v1
対象。
時系列表。判断記録。証跡一覧。重要PDF。外部提出資料。拒否ログ整理表。許可ログ整理表。未了事項台帳。
各版に、以下を付ける。
版番号作成時刻作成者対象ファイルハッシュ前版ハッシュ保存先外部共有有無確認者
山崎が言った。
「さらに、社内だけでなく、外部にも一部を残します。山崎行政書士事務所、北斗DFIR、弁護士、必要に応じてタイムスタンプサービス。分散させます」
三枝は頷いた。
「攻撃者が社内ストレージを改変しても、外部受領版と照合できる」
「はい」
久我が言った。
「ただし、過去にさかのぼって完全なハッシュ鎖を作ることはできません。これから作る鎖と、過去版の外部突合を分けて説明します」
山崎が頷いた。
「そこも重要です。できることとできないことを分けます」
三枝は入力した。
09:58 記録真正性対策としてEvidence Chain構築を開始。対象:時系列表、判断記録、証跡一覧、重要PDF、外部提出資料、拒否・許可ログ、未了事項台帳。各版に対象ファイルハッシュ、前版ハッシュ、作成者、確認者、外部共有有無を記録。過去版は外部受領版・提出ログで突合し、今後版はハッシュ鎖化。
保存。
記録に、鎖が付く。
午前十時三十分。
最初のハッシュ鎖作成作業が始まった。
三枝は、対象ファイルを一つずつ選んだ。
時系列表。判断記録。証跡一覧。未了事項台帳。拒否ログ整理表。許可ログ整理表。本人確認プロトコル。議事録真正性方針。
久我が、スクリプトを用意していた。
ファイルパス。SHA-256。作成時刻。更新時刻。取得者。前版ハッシュ。チェーンID。
結果がCSVとPDFで出力される。
EvidenceChain_202805XX_1030.pdf
山崎が確認する。
「このPDF自体にもハッシュを取ります」
三枝は、少し笑った。
「ハッシュのハッシュですね」
久我が言った。
「そうです。そして、そのハッシュを次のチェーン記録へ入れます」
山崎は、真面目に言った。
「鎖ですから」
秋山が、そのPDFを山崎行政書士事務所、北斗DFIR、弁護士へ送信した。送信ログも保存。受領確認も保存。
三枝は、外部受領ログを見た。
山崎事務所、受領。北斗DFIR、受領。弁護士、受領。
それぞれの時刻が残る。
三枝は、少しだけ安心した。
会社の記録が、会社の外にも残った。
ただし、無制限にばらまくわけではない。必要な専門家だけに、管理された形で残す。
山崎が言った。
「記録は、一人で持つと弱い。誰に持たせるかを決めて分散させると強くなります」
三枝は、ノートに書いた。
記録は、正しく分散させると強くなる。
午前十一時五分。
Blue Heronからメールが届いた。
件名は、Chain。
本文は短かった。
Chains can be forged.Keys can be copied.Time can be lied about.
鎖は偽造できる。鍵はコピーできる。時刻は嘘をつける。
三枝は、保全した。
久我が言った。
「次は時刻を疑わせに来ています」
山崎が頷いた。
「時刻の真正性ですね」
黒崎が言った。
「システム時刻?」
久我は答えた。
「はい。NTP、タイムスタンプ、ログ時刻、メール受信時刻。時刻がずれると、時系列が揺らぎます」
三枝は、少し不安になった。
「当社のログ時刻、大丈夫ですか」
久我は、画面を共有した。
「主要システムは、NTP同期されています。ただし、外部SaaSごとにタイムゾーンや記録形式が違います。昨日までの時系列表でも、UTCとJSTの混在を何度か補正しました」
山崎が言った。
「時刻も、説明が必要です。どのログはJST、どのログはUTC、どのログはサービス側時刻か」
秋山が頷いた。
「行政報告でも、時刻の表記が重要です」
三枝は、証跡一覧に新しい列を追加した。
時刻基準
JST。UTC。サービスローカル。メール受信時刻。端末ローカル時刻。NTP同期確認。補正有無。
山崎が言った。
「良いです。時刻の出典を明示します」
三枝は入力した。
11:05 不明差出人より件名“Chain”のメール受信。ハッシュ鎖、鍵、時刻の信頼性を揺さぶる内容。対応方針:証跡一覧に時刻基準、UTC/JST、サービス時刻、NTP同期、補正有無を追加し、記録時刻の説明可能性を高める。
保存。
記録には、時刻がある。
だが、時刻にも出典が必要だ。
午前十一時四十分。
久我は、時刻突合を始めた。
Blue Heronの偽時系列画像。正式時系列表。警察相談用資料。メール受信ログ。チャット記録。山崎事務所のメモ。北斗DFIRのケース管理ログ。
03:46の七十二時間メール。
メールサーバ受信時刻。三枝の時系列入力時刻。久我のヘッダー確認時刻。山崎の判断記録作成時刻。望月の方針承認時刻。第二報ドラフト作成時刻。
すべてが、流れとして一致していた。
攻撃者画像の内容だけが、流れから外れていた。
久我が言った。
「偽画像の03:46行は、時刻の前後関係とも合いません。実際には、その後すぐ第二報作成に入っています。もし“説明を控える”なら、その後の作業ログと矛盾します」
山崎が頷いた。
「行単体ではなく、前後の行動で証明する」
三枝は、ハッシュ鎖の横に、新しい言葉を書いた。
行動の鎖
山崎がそれを見た。
「良いですね」
三枝は言った。
「ハッシュだけではなく、実際の行動ログも鎖になります」
「はい」
山崎は答えた。
「判断は、次の行動に現れます。説明すると決めたなら、資料作成、承認、送信、問い合わせ対応が続く。説明しないと決めたなら、その行動は出ません」
三枝は、時系列表に入力した。
11:45 03:46判断行について、メール受信、判断記録、第二報ドラフト作成、承認、送信、取引先対応ログを突合。正式記録の“第二報作成・発信”方針と後続行動が整合。攻撃者提示画像の“詳細説明保留”記載は後続行動と矛盾。
保存。
記録は、単体ではない。
行動とつながる。
だから、嘘は浮く。
午後零時三十分。
昼の会議で、山崎は「記録真正性」の整理を行った。
記録真正性の四層
一 内容の整合性録音、文字起こし、判断記録、時系列表が矛盾しないか。
二 時刻の整合性メール、ログ、チャット、外部受領、NTPが矛盾しないか。
三 ハッシュの整合性ファイルが変わっていないか。前版とつながっているか。
四 行動の整合性判断後の実際の行動と一致しているか。
望月が言った。
「記録だけでなく、行動も記録を支える」
山崎は頷いた。
「はい。説明すると決めた会社は、説明する行動をしています。その行動ログが、偽記録を退けます」
秋山が言った。
「これは、対外説明でも使えますね」
「使えます。ただし、詳細ログを全部出す必要はありません。必要に応じて、外部専門家確認済みの記録真正性として示せます」
久我が補足した。
「技術レポートでも、偽画像と正式記録の不一致、外部提出版との整合、ハッシュ鎖を説明します」
三枝は、資料名を入力した。
記録真正性_中間整理.docx
また新しい資料。
だが、必要な資料だった。
午後一時二十分。
Blue Heronからメールが届いた。
件名は、After the fact。
本文は、短かった。
Every liar says they kept records.
嘘つきは皆、記録を残したと言う。
三枝は、保全した。
山崎は、画面を見て言った。
「だから、記録だけでなく、出典、時刻、ハッシュ、外部受領、行動が必要です」
望月は頷いた。
「言っただけでは足りない。証明する」
秋山が言った。
「記録を残したことを、記録で示す」
久我が笑わずに言った。
「メタ記録ですね」
三枝は入力した。
13:20 不明差出人より件名“After the fact”のメール受信。“嘘つきは皆、記録を残したと言う”と記載。対応方針:記録の存在主張ではなく、出典、時刻、ハッシュ、外部受領、後続行動整合により真正性を説明。
保存。
攻撃者は、記録そのものを疑わせる。
会社は、記録の記録で返す。
午後二時。
弁護士向けの記録真正性パックが作成された。
内容は、次の通り。
一 正式時系列表の現行ハッシュ二 主要過去版のクラウド履歴三 警察・行政・外部専門家への提出版一覧四 山崎行政書士事務所・北斗DFIR受領記録五 攻撃者提示偽画像との相違点六 03:46判断行の原記録・後続行動突合七 AI要約偏向事案との関係八 今後のEvidence Chain運用方針
山崎は言った。
「これは、将来の紛争対応にも重要です。ただし、弁護士の判断領域は弁護士へ渡します。当事務所は、事実整理と証跡設計を支援します」
秋山は頷いた。
「弁護士へ送ります」
三枝は、パック全体のハッシュを取った。送信ログを保存した。受領確認を取得した。
鎖は、また一つ外へ伸びた。
午後三時三十分。
取締役会向けに、望月は説明した。
「攻撃者は、当社の時系列表を偽造または歪曲した画像を提示し、当社が後から都合よく記録を作ったように見せようとしています」
役員たちは、険しい表情だった。
望月は続けた。
「当社は、記録の真正性を確認するため、時系列表、判断記録、証跡一覧について、ファイルハッシュ、過去版、外部提出版、受領ログ、後続行動ログを突合しています。今後は、Evidence Chainとして、重要記録をハッシュ鎖で管理します」
監査役が言った。
「これは、内部統制としても評価すべきです」
山崎が補足した。
「証跡は、残すだけではなく、改ざんされていないことを説明できる必要があります」
財務担当役員が聞いた。
「ハッシュ鎖や外部保全は、コストがかかりますか」
黒崎が答えた。
「一定の運用コストはかかります。ただ、今回のように記録の真正性を攻撃されると、証跡がなければ説明できません」
望月が言った。
「これは必要なコストです」
三枝は、その言葉を記録した。
証跡を守るコスト。
これも、会社の新しい投資だった。
午後四時四十五分。
Blue Heronからメールが届いた。
件名は、You anchor now。
本文は、一行。
Anchors make sinking slower.
錨は、沈むのを遅くするだけだ。
三枝は、保全した。
久我が言った。
「タイムスタンプやハッシュ鎖を“錨”と見ているようです」
山崎は、静かに答えた。
「沈むための錨ではありません。流されないための錨です」
望月が頷いた。
「その表現でいきましょう」
三枝は入力した。
16:45 不明差出人より件名“You anchor now”のメール受信。Evidence Chain・外部保全・時刻証跡を“錨”と表現し揶揄。対応方針:記録が流されないためのアンカーとして、ハッシュ鎖・外部受領・時刻基準管理を継続。
保存。
山崎は、ホワイトボードに書いた。
記録の錨
三枝は、その文字を見た。
ハッシュの鎖。記録の錨。
攻撃者が記憶を流そうとしても、会社は錨を下ろす。
午後六時。
Evidence Chainの初回運用が正式化された。
毎日二回、重要記録のハッシュを取得。前版ハッシュを次版に含める。山崎行政書士事務所、北斗DFIR、弁護士へ管理された範囲で受領記録を残す。取締役会前、行政報告前、重要な対外発信前には必ずチェーンを更新。AI要約はチェーン対象外ではなく、参考資料として別分類でチェーンに含める。誤要約も隔離証跡としてハッシュ取得。
三枝は、運用手順を見ながら言った。
「誤要約もチェーンに入れるんですね」
久我が頷いた。
「攻撃者の操作証跡ですから」
山崎が言った。
「正しい記録だけでなく、攻撃された記録も鎖につなぎます。そうすれば、攻撃の過程を説明できます」
三枝は、少しだけ納得した。
会社の記憶は、きれいなものだけではない。
間違い。偽造。改ざん。偏向要約。拒否ログ。攻撃者メール。
それらも、会社が何と戦ったかを示す記録だ。
全部、鎖につながる。
午後七時三十分。
その日の最終会議で、山崎はまとめた。
「今日は、記録を疑わせる攻撃に対応しました」
ホワイトボードには、次の言葉が並んでいる。
AI要約は、原証跡ではない。記録真正性。ハッシュの鎖。行動の鎖。記録の錨。
山崎は言った。
「攻撃者は、当社が何をしたかだけでなく、当社が何をしたと記録されているかを攻撃しています。これに対して、当社は記録の出典、時刻、ハッシュ、外部受領、後続行動を組み合わせて守ります」
望月が頷いた。
「会社の記憶を守る」
「はい」
秋山が言った。
「法務総務の仕事も、かなり変わりますね」
山崎は答えた。
「はい。これからの法務文書は、ただ作るだけでなく、真正性を設計する必要があります」
黒崎が言った。
「情シスも、ログを取るだけではなく、説明できるログにする必要があります」
大石が言った。
「現場記録も、同じですね。誰が、いつ、何を確認したか」
三枝は頷いた。
「全部、つながります」
山崎は、少しだけ微笑んだ。
「それが、説明できる会社です」
午後九時。
Blue Heronから、その日最後のメールが届いた。
件名は、Memory fight。
本文は、短かった。
You protect memory now.Good.Memory burns too.
今度は記憶を守るのか。よろしい。記憶も燃える。
三枝は、保全した。
誰も、軽くは受け止めなかった。
記憶も燃える。
確かにそうだ。
ログは消える。議事録は歪む。要約は偏る。時系列は疑われる。人の記憶は揺らぐ。
だから、記録を残す。記録を守る。記録の真正性を設計する。
山崎は、静かに言った。
「記憶が燃えても、鎖が残れば再構成できます」
久我が頷いた。
「ログ、ハッシュ、外部受領、行動。全部で復元します」
望月が言った。
「会社の記憶にも、バックアップが必要ですね」
三枝は、その言葉をノートに書いた。
会社の記憶にも、バックアップが必要。
午後十時三十分。
三枝は、一人でEvidence Chainの初回PDFを見ていた。
ファイル名。
EvidenceChain_Initial_202805XX.pdf
そこには、今日の会社の記録が並んでいる。
時系列表。判断記録。証跡一覧。拒否ログ。許可ログ。AI要約隔離記録。正式議事録。取締役会資料。攻撃者メール。Blue Heronの偽画像。
一つ一つに、ハッシュがある。前版への参照がある。確認者がいる。外部受領がある。
三枝は、画面を見ながら思った。
これでも完璧ではない。
ハッシュも、時刻も、保存先も、攻撃される可能性はある。だから、複数で支える。技術だけでなく、手続きで支える。内部だけでなく、外部受領で支える。記録だけでなく、行動で支える。
山崎が、背後から声をかけた。
「三枝さん。今日はもう終わりましょう」
「はい」
「鎖は、毎日つなぐものです。一日で完成しません」
三枝は頷いた。
「分かっています」
少し間を置いて、三枝は言った。
「先生、記録って、怖いですね」
山崎は、静かに答えた。
「はい。記録は、会社を守ります。ですが、記録が歪むと会社を傷つけます」
「だから、記録を守る」
「はい」
三枝は、ノートに書いた。
記録は、会社の骨である。骨が折れれば、会社は立てない。
山崎は、それを見て言った。
「今日も良いです」
三枝は、少し笑った。
「ありがとうございます」
午前零時。
三枝は、時系列表の最後に入力した。
00:00 Blue Heronによる偽時系列画像提示を受け、正式時系列表、判断記録、録音、外部提出版、受領ログ、後続行動ログを突合。攻撃者提示画像は正式記録および後続行動と矛盾。Evidence Chainを構築し、重要記録のハッシュ、前版ハッシュ、作成者、確認者、外部受領を管理する運用を開始。記録真正性を出典、時刻、ハッシュ、外部受領、行動整合で説明する方針を確認。
保存。
画面右下。
保存しました。
三枝は、自分のメモにも一行追加した。
記憶は、残すだけでは足りない。つなぐ。支える。疑われても戻れるようにする。
保存。
第三会議室の外では、倉庫が静かに動いている。
荷物は流れる。ラベルは貼られる。記録は残る。ハッシュはつながる。
攻撃者が歴史を書き換えようとしても、会社は原記録へ戻る。
もう一つの議事録ではなく。偽の時系列でもなく。
会社自身が、いつ、何を、なぜ決めたのか。
その記憶を、鎖でつなぎ始めていた。





コメント