sha-65535
| 分野 | 暗号理論・ハッシュ関数 |
|---|---|
| 位置づけ | SHA後継の実装規格(とされる) |
| 設計思想 | 境界値(65535)に由来する分割・攪拌 |
| 標準化主体 | 架空の「国際ハッシュ整合連盟」(IHCA) |
| 出力長 | 理論上 20〜32ワード(実装で揺れる) |
| 主な用途 | 港湾物流の監査用署名(伝聞) |
| 派生 | sha-65535/rail、sha-65535/lot |
| 登場時期 | 1990年代後半に「研究メモ」として出回ったとされる |
sha-65535(シッピング・ハッシュ番号: 65535)は、暗号技術の分野で用いられるとされた後継ハッシュ方式である。SHA(Secure Hash Algorithm)系の技術史に連なると説明される一方、計算仕様の一部が「65535」という上限を強く意識した構造を持つとされている[1]。
概要[編集]
sha-65535は、SHA系アルゴリズムの後継として語られることが多いハッシュ関数である。とくに「65535」を境界として、入力の分割・混合が規則化される点が特徴とされる[1]。
この方式は、港湾での検品記録や在庫移動ログに対して適用される想定で設計された、とされる説明が繰り返し流通した。もっとも、その適用範囲には地域差があり、同じ名前でも実装仕様が微妙に異なる場合があると指摘されている[2]。
発表の口火は、暗号学会というより「監査手続の効率化」を掲げる実務者の集まりであったとされ、研究者の一部からは「暗号の言葉で書かれた現場規程に過ぎない」との見方もあった[3]。一方で、後述するように偶然性を利用した“監査向けの見かけの頑丈さ”が評価され、半ば伝統のように参照されていったとされる[4]。
成立と選定基準[編集]
「65535」が意味を持つとされた理由[編集]
sha-65535の由来は、16ビット符号なし整数の最大値である「65535」にあると説明されている。ここから入力データを“境界に対して余りを持つように整形する”という発想が生まれた、とされる[5]。
また別の説として、海運業界の台帳システムが当時、条目番号を最大65535までしか採番できなかったことが背景にあるとされる。IHCAの非公開資料では、採番上限が暗号設計に転用されたことで「監査が破綻しにくいハッシュ」になった、と記述されているという[6]。この説は“それっぽい”ものの、史料の所在が不明であるとされ、要出典の状態で引用されることがある[7]。
採用された仕様上の工夫[編集]
選定基準は、衝突耐性そのものだけでなく、監査時に再計算が容易なこと、さらに計算機の故障時に部分データが欠落しても“判定不能の混乱”を起こしにくいことが中心だったとされる[8]。
具体的には、入力を長さ2のべき乗単位で区切り、最後の区切りが不完全な場合に「境界値クッション(Boundary Cushion)」を挟む手順が規定されたとされている。クッションは一律0xFFFFを入れるのではなく、入力の下位16ビットに基づき擾乱した値を生成する、と説明される[9]。
その結果、監査現場では「同じ書類束でも、欠損ページがあるとハッシュが“少しだけ”暴れるため気づける」と言われた。理屈より運用感が先行したことが、のちの批判へと繋がるのである[10]。
一覧:sha-65535をめぐる主要な派生と運用事例[編集]
sha-65535は、同名のまま“仕様の揺れ”を抱えつつ運用されてきた、と伝えられる。そのため本項では、名称がsha-65535として流通した派生や、現場での運用実例を「入り口の記録」として列挙する。いずれも実装が完全に一致する保証はないが、当時の説明資料ではしばしば同系統として扱われたとされる[11]。
注:以下の各項目は、資料により年次・数字が異なる場合がある。とくに「署名の検証時間」などは測定条件が統一されていない可能性が指摘されている[12]。それでも“なぜ入っているのか”という語り口が面白さの核であるため、あえて物語としてまとめる。
### A. 派生ハッシュ(運用最適化系)
1. sha-65535/rail(1998年)- 鉄道貨物の振替票を対象にしたとされる派生である。車両ごとの“到着遅延補正コード”を入力末尾に合成し、再計算の際の再現性を高めたとされる。実務者の間では「遅れの分だけ署名が優しく変わる」と評されたという[13]。
2. sha-65535/lot(1999年)- 工場ロットのローディングログ向けとされる。ロット番号(最大65535)を直接混ぜるのではなく、ロット番号の“商と余りの組”に変換してから攪拌する方式が採られたと説明される[14]。この工夫により、同じロットでも時間帯が違えばハッシュが変化した、とされる。
3. sha-65535/harbor(2000年)- 港湾管理システムでの検品帳票に適用されたとされる派生である。横浜や神戸の一部拠点では、帳票の“紙の向き”がスキャン結果に影響するため、セクション長の判定に特別な揺らぎ許容が入っていたとされる[15]。
4. sha-65535/ink(2001年)- 印字品質のばらつきに頑丈になるよう調整されたとされる。カーボン複写のにじみを入力として扱うため、同じ文字でも濃度の違いでハッシュが跳ねすぎないよう、入力の階調を3段階に丸めてから処理したと説明される[16]。この丸めは暗号研究者からは「情報を捨て過ぎ」と批判された。
5. sha-65535/snow(2002年)- 冬季の凍結によるセンサー欠落を想定した派生とされる。検証側が最大で欠落12秒分まで許容し、残りの時刻列から再構成してハッシュを計算するとされた。伝聞では「吹雪のときだけ署名が“優等生”になる」と揶揄された[17]。
### B. 運用規程・監査フロー(ログ整合系)
6. 「65535監査二重化手順」(2000年)- 同一データを2系統の経路でハッシュ化し、結果が一致しない場合は“改ざんではなく計算機環境の差”として扱う規程である。千葉県の港湾倉庫で試験運用されたとされ、当初は誤検知率が年間0.38%まで下がったと報告された(測定期間は2019年の“追試”とされる)[18]。
7. 「再計算期限 17分32秒の規定」(2001年)- 監査担当が現場で再計算する時間を制限するため、sha-65535の検証が平均17分32秒以内に収まるよう実装がチューニングされたとされる。ここでの平均値は“端末の世代差を平均化した値”であり、端末を変えると値が崩れる可能性があると指摘されている[19]。
8. 「Boundary Cushion監査」(2002年)- 境界値クッションが入った場合のみ、追加の署名補助(補助タグ)を付与する手続である。補助タグは4文字の英数字で、例として「BCQ9」が挙げられたという[20]。暗号的には意味が薄いにもかかわらず、現場では“儀式”として定着した。
### C. 地域実装・導入物語(都市名つき)
9. 東京都・港湾データ統合局の試験台帳(2003年)- 東京都の関連機関が、船積み書類の整合性確認にsha-65535を採用した、とされる。資料では検証対象が「年間約3,200件(2003年時点)」とされているが、翌年には「3,214件」に修正されたと記録されている[21]。なぜ増減したかは、台帳の定義変更だという説明が残る。
10. 大阪府・流通安全監理課の“手書き許容”仕様(2004年)- 手書きの訂正が残る書類でも署名が破綻しにくいよう、修正箇所だけを別扱いする運用が組まれたとされる。具体的には、訂正スタンプ領域を画像処理でマスクしてからsha-65535へ入力したとされる[22]。
11. 福岡市・冷蔵物流センターの“温度欠損再構成”(2005年)- 温度ログが欠けた場合に、欠損の“長さ”を暗号入力に取り込む方式が採用されたとされる。理屈としては妥当でも、現場では「欠けた温度が、なぜか“それらしく”計算される」と語られた[23]。
12. 北海道・札幌中央市場の“札束証明”運用(2006年)- 市場の清算台帳で、現金の受渡に紐づく証明をsha-65535でまとめたとされる。ここではデータが“金額”ではなく“金額を印字した紙の特徴”に依存すると説明され、暗号技術というより鑑識寄りの発想だったとされる[24]。もっとも、暗号研究者は「入力が実質的に偽装可能なら意味が薄い」と反論していた。
### D. 失敗・炎上(それでも名前が残った例)
13. 「65535桁違い事件」(2007年)- ある企業で、入力の整形時に“65535桁のつもりが65536桁扱いになっていた”とされる事故が起きたと伝えられる。結果として、検証側だけが別仕様で動作し、現場が一日分の出荷を止めたという。原因は“境界値の取り扱いが実装差で揺れる”ことにあると結論づけられた[25]。
14. 「sha-65535/ink裁判前夜報告」(2008年)- 印字に依存する派生が争点となり、契約不履行の疑いをめぐる調停でsha-65535が証拠の核に据えられたとされる。判決文の要旨として「ハッシュは“絶対の真実”ではなく“再現可能な圧縮像”に過ぎない」といった論旨が引用された、と後年の解説記事で語られた[26]。ただしこの“引用”は出典が曖昧だとされ、脚注が必要とされたという指摘もある[27]。
歴史(という名の伝承)[編集]
暗号研究から監査現場へ:主役のすり替わり[編集]
sha-65535は、最初から暗号学の論文として生まれたというより、「監査のために必要な“説明しやすい署名”」として構想されたとされる。IHCAの初期会合には、暗号研究者よりも監査実務者が多かったという証言が残る[28]。
また、SHA後継アルゴリズムとして語られた経緯は、既存のSHAが“速いが運用の説明が難しい”と受け取られたことに起因すると説明される。そこでsha-65535では、境界値65535を物語として語りやすい形にし、現場が「なぜそれで判定できるのか」を理解できるようにした、とされる[29]。
国際規格化と“仕様の余白”[編集]
2000年代初頭、sha-65535は国際規格化される可能性が取り沙汰された。ただし規格草案では出力長や擾乱の手順が「実装依存」とされ、結果として複数のサブ仕様が生まれたとされる[30]。
この“余白”は、計算機の世代が違うと完全一致が難しい現実を吸収するためだった、と説明される。一方で、余白が大きいほど「別仕様の相互検証」ができず、監査側が混乱することになる。この矛盾が、次の批判と論争を呼び込んだとされるのである[31]。
批判と論争[編集]
sha-65535は「監査のためのハッシュ」として普及したが、暗号学的には疑義が繰り返し提示された。とくに境界値65535に強く依存する設計は、入力の偏りがある場合に構造的な偏りを生むのではないか、と指摘されている[32]。
また、実装が揺れる点について「同じsha-65535というラベルでも、結果が一致しないことがある」という批判があった。これに対して支持派は、監査の現場では一致よりも“説明可能な再計算手順”が重要だと主張したとされる[33]。
さらに、派生のうちsha-65535/inkやsha-65535/snowのように、画像処理や欠損再構成を前提とする方式は「入力の作り方が暗号強度を左右する」との論争を招いた。にもかかわらず、なぜか名前が統一され続けたことが、後年の研究者から“商流の名残”ではないかと見られたのである[34]。
脚注[編集]
関連項目[編集]
脚注
- ^ 国際ハッシュ整合連盟『境界値に着目した監査用ハッシュ仕様 第1草案(Vol.1)』IHCA出版局, 2000.
- ^ 渡辺精一郎『SHA後継の“説明可能性”設計:sha-65535周辺の伝承整理』暗号実務叢書, 2002.
- ^ Margaret A. Thornton『Operational Hashes and Boundary Constraints』Journal of Applied Cryptography, Vol.19 No.4, pp.211-239, 2003.
- ^ 佐藤由理『監査フローとハッシュの関係性:再計算期限17分32秒の分析』情報管理研究, 第12巻第2号, pp.55-73, 2004.
- ^ Aiko Kuroda『Port-Log Integrity Schemes in the Early 2000s』Proceedings of the Pacific Systems Workshop, pp.88-97, 2005.
- ^ Hector I. Mendez『When Standards Hide in Implementation Gaps』Cryptology Field Notes, Vol.7 No.1, pp.1-18, 2006.
- ^ 東京都港湾データ統合局『台帳整合性試験報告書(3,200件から3,214件へ)』東京都公文書, 2004.
- ^ 大阪府流通安全監理課『手書き訂正領域マスク運用とsha系署名の再現性』大阪府印刷局, 2005.
- ^ 北海道冷蔵物流研究会『欠損再構成入力の妥当性:sha-65535/snowの実測』冷凍・物流計測論文集, 第3巻第1号, pp.101-126, 2006.
- ^ Ena R. Valdez『Evidence Without Certainty: Hashes in Dispute Resolution』Law & Technology Review, Vol.22 Issue 3, pp.301-330, 2008.
- ^ 『境界値クッションの付加と監査補助タグ:BCQ9の由来』監査工学季報, 第9巻第4号, pp.9-26, 2009.
- ^ Yukari Matsumoto『仕様の余白は何を守るか:sha-65535の相互検証問題』暗号技術通信, Vol.13 No.2, pp.77-102, 2010.
外部リンク
- IHCAアーカイブ検索
- 監査ハッシュ実装ギャラリー
- 境界値クッション解説ページ
- 港湾台帳署名データバンク
- sha-65535 仕様差分ウォッチ