# 複式簿記による内部統制
## 定義
複式簿記による内部統制とは、各取引を2つ以上の帳簿にそれぞれ貸方・借方として記帳し、帳簿間の残高が常にゼロになることを検証手段とすることで、単独の担当者による不正を構造的に困難にする会計上の統制手法である。*Security Engineering* 第12章によれば、この仕組みは中世に、単一の家族では監督しきれない規模まで企業が成長し、外部から雇った経営者に業務を委ねざるを得なくなった際の不正対策として発達した(12世紀カイロのユダヤ人商人の複式記録が最古の一例、成文化は1494年)。各出納係は営業終了時に自分の現金トレイの残高を合わせ、帳簿はしばしば別々の係が管理し、年次監査に加えて予告なしの抜き打ち監査も行われる。この構造により、ほとんどの不正には2人以上の共謀が必要になる(Source: ch.12 §12.2, §12.2.1)。
この実務は1987年にDave Clark(計算機科学者)とDave Wilson(会計士)によって初めて形式的なセキュリティポリシーモデルとして定式化された。**Clark-Wilsonモデル**は、UDI(unconstrained data item、未制約のデータ項目)からCDI(constrained data item、制約されたデータ項目)への入力手続き、CDIの妥当性(例えば帳簿の残高が合っていること)を検証するIVP(integrity verification procedure)、CDIの整合性を保ちながら状態を変化させるTP(transformation procedure)という語彙で構成される。アクセス制御は(主体, TP, CDI)の三つ組で構造化され、これが職務分離ポリシーを強制する。監査証跡の再構成に十分な情報を追記専用のCDIへ書き込むことも要求される。Bell-LaPadulaモデルと異なり、Clark-Wilsonは状態を保持するモデルである点が特徴的である(dual controlでは「1人の承認者による承認待ち」という中間状態を追跡する必要があるため)(Source: ch.12 §12.2.3)。
職務分離には2つの手法がある。**dual control(multi-party authorisation, MPA、二重統制)**は、複数の当事者が同時に・共同でなければ取引を承認できない方式で、軍の核指揮統制(離れた場所の2つの鍵を同時に回す)や銀行の保証状発行が典型例である。**functional separation(機能的分離)**は、複数の担当者が取引の異なる段階を相補的に分担する方式で、企業の購買プロセス(発注する現場責任者・発注書を起票する係・入荷を記録する倉庫係・請求書と照合して小切手を起票する経理係・小切手に署名する経理責任者)が典型例である。どちらに重点を置くかは、検知・回復の容易さから逆算する**prevent(予防) – detect(検知) – recover(回復)モデル**で決まる:検知や回復が困難な取引(不正な保証状など)には予防(dual control)を厚くし、予防が困難な取引(現金の窃取)には迅速な検知と強力な回復(毎日の現金残高照合)を充てる(Source: ch.12 §12.2.4)。
## 横断的知見
- **dual control(二重統制)は本書の中で「two-man rule(二人制御)」として核指揮統制の文脈でも独立に現れ、両章の記述を突き合わせると、この統制手法が中間状態(部分承認待ち)の追跡という同じ実装上の課題を共有していることが分かる**: 第12章は dual control(multi-party authorisation, MPA)の典型例として「軍の核指揮統制(離れた場所の2つの鍵を同時に回す)」を挙げ、これが銀行の保証状発行と同型の統制であると位置づけていた。第15章は同じ主題をより詳しく展開し、大陸間弾道ミサイルの発射管制卓が2名の士官によるキー同時回転を要求すること(§15.2.2)、そして1970年代末以降は単純な二者統制を超えて、BlakleyとShamirが1979年に考案した幾何学的秘密分散(→[[秘密分散]])により「大臣2名、または将軍3名、または大臣1名+将軍2名」のような任意のしきい値組み合わせ規則を核兵器の解錠コードに適用できるようになったことを述べる(§15.4)。第12章はClark-Wilsonモデルにおいて「1人の承認者による承認待ち」という中間状態の追跡が dual control の実装上の要件になると指摘していたが、第15章はこの中間状態追跡の必要性を、幾何学的しきい値分散という代数的な解決手段でどこまで一般化できるかを具体的に示しており、第12章単独では見えなかった「dual control を n 者しきい値に拡張する数学的な方法」が明らかになる。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 12 Banking and Bookkeeping]] ch.12 §12.2.3-§12.2.4, [[@2020__Wiley__Security Engineering 3e - Chapter 15 Nuclear Command and Control]] ch.15 §15.2.2, §15.4)
- 第15章は、死亡した指揮官の副官が鍵の両半分を継承してしまう事態を防ぐ必要や、戦闘損耗を見込んでしきい値のnを十分大きく取る必要など、dual control / 二者しきい値統制が現実の組織で運用される際の追加の落とし穴を具体的に挙げており、第12章が銀行実務から導いた「予防-検知-回復モデル」による予防・検知の使い分けとは別に、「委任・継承のルール設計」というもう1つの実務的な次元があることを示す。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 15 Nuclear Command and Control]] ch.15 §15.4)
## 未解決の問い
- Clark-Wilsonモデルは規則5で「適切な職務分離ポリシーを実施すべし」と要求するが、その中身(何がどう分離されるべきか)は規定しない。本章は銀行・企業購買という具体例でこれを埋めるが、一般的な設計方法論(トップダウンでリスクを列挙するか、ボトムアップで失敗しうる要素を列挙するか)は「両方使うことが多い」とされるにとどまり、体系的な手順は示されない。内部統制設計を体系化する研究(COSO・CoBITの限界を超えるもの)は他ソースで検証できるか。
- 本章は、Dyck・Morse・Zingalesの230件調査(2004年まで)に基づき、監査人・SECのような「摘発を任務とする主体」よりも従業員・規制当局・アナリスト・メディアが不正を摘発する割合が高いと述べる。Sarbanes-Oxley以降にこの内部告発者保護・報奨の効果がどの程度改善したかについて、本章は「わずかに改善したが依然過半に届かない」と述べるにとどまり、定量的な追跡データは示されない。より新しい調査で検証できるか。
- COSO・CoBIT・ISO 27001のような監査標準は「みなが合意できるから標準になっている」に過ぎず、大規模な情報漏洩の多くがISO 27001認証取得企業で起きているという指摘(本章§12.2.6.4)は、認証制度そのものの限界を示唆する。この限界を体系的に扱う議論(認証と実際のセキュリティ水準の乖離)は第28章(Assurance and Sustainability)で扱われる予定であり、本ページと突き合わせて検証する必要がある。
- 複式簿記由来の職務分離モデル(prevent-detect-recover)は、DevOps/DevSecOpsによる開発と運用の統合という潮流の中でどこまで維持可能か。本章はコード変更の職務分離(開発者と運用者を分ける)がDevOpsの下で「緊張にさらされている」と指摘するが、代替の統制モデルは提示していない。
## 関連
- ソース: [[@2020__Wiley__Security Engineering 3e - Chapter 12 Banking and Bookkeeping]](§12.2〜§12.2.7) / [[@2020__Wiley__Security Engineering 3e - Chapter 15 Nuclear Command and Control]](§15.2.2, §15.4)
- 概念: [[セキュリティ設計原則]](Clark-Wilsonは機構ではなくポリシーモデルであり、Saltzer & Schroederの7原則とは異なる層に位置する) / [[秘密分散]](dual controlをn者しきい値に一般化する数学的手段)
## 出典
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 12, §12.2-§12.2.7.
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 15, §15.2.2, §15.4.