# Michael D. Schroeder ## 概要 [[Jerome H. Saltzer]] と共著の "The Protection of Information in Computer Systems"(*Proceedings of the IEEE*, 1975)の著者。同論文は最小権限の原則、オープンデザイン、フェイルセーフなデフォルトといったシステムセキュリティの一般原則を示した古典であり、『ネットワークシステムについて語るときに我々の語ること』第 8 章が繰り返し参照する。(Source: [[@2026__LambdaNote__ネットワークシステムについて語るときに我々の語ること - Chapter 8 セキュリティ:負の目標]] ch.8 §8.3, §8.5, §8.7) Saltzer との共著関係は鍵配布の分野にも及ぶ。*Principles of Computer System Design* 第11章は、Roger M. Needham と Michael D. Schroeder による "Using encryption for authentication in large networks of computers"(*Communications of the ACM*, 1978)を、鍵配布センター(key distribution center, KDC)の考え方が学術コミュニティに初めて登場した論文として引用する。同章のSidebar 11.6が説明するKerberos認証システム(1988年、MIT Project Athena)は、この Needham-Schroeder プロトコルの強化版に位置づけられ、Kerberosの原論文自体はJerome H. Saltzerを共著者に含む(S. P. Miller, B. C. Neuman, J. I. Schiller, J. H. Saltzer, "Kerberos authentication and authorization system", 1988)。Michael D. Schroederは1975年の保護原則の論文だけでなく、鍵配布プロトコルの理論的基盤の確立者としても本章に登場する。(Source: [[@2009__MITOCW__Principles of Computer System Design - Chapter 11 Information Security]] ch.11 §11.5.1) *Security Engineering* 第4章はNeedham-Schroederプロトコルの中身を直接扱う。プロトコルは`A → S: A, B, NA` / `S → A: {NA, B, KAB, {KAB, A}KBS}KAS` / `A → B: {KAB, A}KBS` / `B → A: {NB}KAB` / `A → B: {NB − 1}KAB` の5メッセージからなり、ノンス`NA`・`NB`によって鮮度を保証する設計だった。しかし発表から約40年後になっても議論が続く既知の欠陥として、Bobが受け取る鍵`KAB`の鮮度をBob自身が検証できない点が指摘される——Aliceがメッセージ2とメッセージ3の間で鍵を何年も保持していても、Bobには分からない。単純に「Needham と Schroeder が間違えた」とする見方に対し、Susan PanchoとDieter Gollmannは、これは1978年当時の「攻撃者は外部にいる」という前提のもとでは健全な設計であり、「攻撃者はシステムの利用者の中にもいる」という今日の前提へ環境が変化したことによる**前提のシフトに起因する障害**だと論じている。Anderson自身もこの解釈に一定の共感を示す。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 4 Protocols]] ch.4 §4.7.3) Needham-Schroederプロトコルの発展形であるKerberosは、この鮮度問題をタイムスタンプで解決したが、代わりにクロック同期という新しい脆弱性を持ち込んだ。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 4 Protocols]] ch.4 §4.7.4, [[Kerberos]]) ## 関連 - 共著者: [[Jerome H. Saltzer]] - 対象システム: [[Multics]] / [[Kerberos]] - 概念: [[鍵配送プロトコル]] ## 出典 - 『ネットワークシステムについて語るときに我々の語ること』, ラムダノート, 2026, 第 8 章. - Jerome H. Saltzer and M. Frans Kaashoek, *Principles of Computer System Design: An Introduction*, Version 5.0, 2009, Chapter 11 §11.5.1. MIT OpenCourseWare, CC BY-NC-SA 3.0 US. - Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 4, §4.7.3, §4.7.4.