要約
- Butler Lampsonと共同研究者は、機械が直接聞ける線、接続、プロセス、暗号通信路を最初の主体とした。それを人、機械、役割、集団の発言として扱うには、「誰を代弁できるか」を示す連鎖が要る。
- 認証が示すのは要求に責任を負う主体であって、許可そのものではない。操作の可否は、対象物の規則、委任、名前の根拠、証拠の有効期間を別に評価して決まる。
顔のない要求が先に着く
1992年の論文 Authentication in Distributed Systems: Theory and Practice では、要求を受ける「guard」が判断の入口になる。guardが直接観測するのは、端末線やネットワーク接続、パイプ、カーネル呼び出し、復号によって成立した通信路である。そこに自然人の顔はない。届いたビットだけから、日常語でいう「本人」が現れるわけではない。
この順番を守ると、認証は名札の照合ではなくなる。まず「この発言を実際に運んだものは何か」、次に「それが別の主体を代弁できる根拠は何か」と問う。パケットから人名へ一足飛びに進む設計も、実際には証明書、ログイン状態、端末管理、組織名簿に依存している。ただ、その依存を説明しないままにしているだけだ。
人だけが主体なのではない
ここでいう principal は単なる利用者の言い換えではない。人、計算機、サービス、役割、グループ、鍵、通信路のいずれも、発言し、責任を負い、アクセス規則に登場し得る。分散システムの要求が一つの身元しか持たない、という想定を捨てるための語彙である。
例えば、接続は鍵に、鍵は装置に、装置上のプロセスは運用役割に、その役割は組織に結び付くかもしれない。それぞれは同一ではない。「当番役が操作した」と「当番を担当した特定の職員が操作した」は別の主張だ。復旧の可否には前者で足りても、個人の説明責任には後者が必要になる。対象と操作に応じて、どこまでの帰属を要求するかを決めなければならない。
「speaks for」は飛躍を関係に変える
Lampsonらが用いた “speaks for” は、ある主体の発言を別の主体の発言として受け取れる関係を表す。BがAを代弁できるとき、必要な前提がそろえば、guardはBの発言からAの発言を推論できる。これはBとAが同一人物だという宣言でも、Aの全権限をBへ渡す仕組みでもない。方向と根拠を持つ責任の推論である。
この考え方によって、「有効な資格情報だったから通した」という箱を開けられる。通信路はどの鍵を表し、その鍵はどの命名機関によって装置やアカウントに結び付けられ、プロセスはどの委任で役割を担っているのか。guardはその連鎖から、今回の判断に十分な主体を導く。最終的な表示名だけを残すよりも、各段が成立した理由を残すほうが、後の調査にははるかに有用である。
名前は発行者の権威を借りる
名前は文字列だけでは真実にならない。人名、アカウント名、サービス名がどの主体を指すかは、その対応を表明する権限を誰が持ち、受け手がその権限をどこまで認めるかで決まる。論文は名前と鍵の結び付けも認証の推論に含め、ディレクトリーの回答を無条件の事実として扱わない。
したがって、認証局、社内名簿、装置台帳、グループ管理者、ローカル設定は、いずれも安全境界になり得る。署名が数学的に正しくても、名前空間が移管され、別名が再利用され、発行者の権限範囲が変われば、以前と同じ意味を保証しない。署名の検証は「誰かが署名した」ことを示す。現在の名前を確立するのに十分な署名かどうかは、別の制度判断である。
委任は実行者を消さない
委任を単なる権限の複製と考えると、誰が実際に動いたかが消えてしまう。論文が記述するモデルでは、B for A という複合主体が「AのためにBが行動する」構造を保持する。Aによる委任とBによる受諾の双方があり、対象物はA、B、またはその特定の組み合わせに規則を設定できる。
これは代理サービスや自動処理、緊急運用に向く。要求をすべて委任元Aの行為に畳み込めば、代理Bの境界が見えない。反対にBだけを記録すれば、なぜその権限が生じたのかが分からない。複合主体なら、権限の源と実行者を同じ証拠の中に保ちながら、別々に評価できる。
最後に決めるのは対象物である
責任を負う主体を導けても、まだ操作は許可されていない。guardは要求された操作、保護対象、対象のアクセス規則を合わせて認可する。同じ主体でも、ある文書は読めるが書き換えられない、サービスは呼び出せるが設定は変更できない、といった区別がある。認証済みという状態は、一般的な通行証ではない。
アクセス制御リストに書かれた名前も孤立していない。役割やグループを参照すれば、その時点の所属関係と命名根拠に依存する。判断を再現するには、対象、操作、規則の版、認証連鎖の前提をそろえる必要がある。「許可」「拒否」だけの記録では、規則の誤り、帰属の誤り、期限切れの証拠を切り分けられない。
正しかった連鎖も古くなる
鍵の更新、役割交代、グループ離脱、委任の取消しは、昨日の正しい関係を今日の誤りにする。キャッシュは連鎖を毎回組み直す費用を減らす一方、古い事実を延命する。有効期間、再取得、取消し通知がguardまで届く時間は、運用上の脇役ではない。どれほど古い権限情報を作用させるかという方針そのものである。
Lampsonが後に整理した実用的な安全原則も、完全な安全より、費用、複雑さ、回復可能性を重視する。陳腐化を永久に消せるかではなく、影響範囲を制限し、検知し、説明し、誤った結び付けが見つかったとき判断根拠を速やかに替えられるかが問われる。
監査に必要なのは結論までの道筋
有用な監査記録は、guardがなぜ要求を受け入れたかを再構成できる。受信した通信路、導かれた主体、用いた委任やグループ所属、対象と操作、適用規則、各証拠の時点を区別する必要がある。形式論理をそのままログへ書く必要はないが、「当時システムがそう思った」で追跡を終えてはならない。
“speaks for” の価値は、世界共通の身元基盤を約束したことではない。信頼そのものをなくしたわけでもない。通信路から鍵へ、鍵から名前へ、サービスから役割へ進むたび、どの権威を借りたのかを明示させた。障害を認証サービス全体の失敗と呼ぶ代わりに、結び付け、委任、所属、対象規則のどこが壊れたかを調べられるようにしたのである。
出典
- https://www.microsoft.com/en-us/research/people/blampson/
- https://www.microsoft.com/en-us/research/publication/a-global-authentication-service-without-global-trust/
- https://www.microsoft.com/en-us/research/publication/authentication-in-distributed-systems-theory-and-practice/
- https://www.microsoft.com/en-us/research/publication/practical-principles-for-computer-security/
- https://www.microsoft.com/en-us/research/wp-content/uploads/2007/01/Lampson-Security-for-Marktoberdorf-slides-8-5.pdf
- https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/acrobat-11.pdf
- https://www.microsoft.com/en-us/research/wp-content/uploads/2019/09/BWL-StoryLabs-2018-04-709-square.jpg
- https://computerhistory.org/profile/butler-lampson/
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
