IT 论文精读 · PAPER 69

The Protection of Information in Computer Systems(安全设计八原则)

Saltzer & Schroeder · MIT · Proceedings of the IEEE · 1975

EN →

这篇论文干了什么?

1975 年,MIT 的 Saltzer 与 Schroeder 把「怎么让共用的计算机不容易被攻破」从零散经验收拢成八条设计原则。今天手机弹的「是否允许访问相册」、网银的双重验证、防火墙默认什么都不放行,背后都是它们。

旧世界的痛

更早的计算机一人一台,安全就是把机房门锁上。到了六七十年代,分时系统出现——一台大机器同时伺候几十个互不认识的人,程序和数据全挤在一起,「墙」第一次必须建在机器内部。当时的做法是打地鼠:出一个洞补一个补丁,补到谁也说不清它究竟防住了什么。

他们换了个问法

两位作者说:别再一个个补洞,先问「一个安全的系统,设计时该长什么样」。八条答案全是大白话:

门卫是怎么工作的

八条拧成一个画面:系统里有个门卫,碰任何东西都得先过他这关。他先确认你是谁,再查你能不能——认出你是张三,不等于张三能进财务室。

「你能不能」说到底是一张大表格:行是人、列是东西,格子里写着这人对这东西能干什么。表太大没人整张存,于是两种拆法——把名单贴在东西门口(文件权限走这条),或把钥匙发到人手上(门禁卡、登录令牌走这条):名单能随时划掉一个名字,钥匙发出去就不知道被配了几把。

而最难的不是门卫本身,是「有没有哪扇窗户忘了装门卫」——留一条绕得过去的小路,前面所有功夫都白费。

带来了什么

这八条给了整行业一份能照着查的清单:默认是关还是开?有没有绕过检查的路?说句诚实的:它们是警示牌、不是能打勾验收的清单,没人能证明自己真做到了「只给够用的权限」。

一句话记住

安全不是出事后补洞,而是设计时守住八条常识:默认关门、每次都查、机制小到能读完、图纸公开钥匙保密、两把钥匙、只给够用的权限、少用公用部件、让人用着顺手。

想看门卫模型、访问矩阵两种切法与保护环的结构图? → 切到精读版