保护资产及其功能的问题在于,根据定义,你不想防范所有人。从所有者或授权的个人(包括维护安全系统的受信任人员)那里保护资产是没有意义的。实际上,所有安全系统都需要允许人员进入,同时阻止人员进入。设计一个能够准确识别、验证和授权受信任个人的安全系统非常复杂且充满细微差别,但对安全至关重要。
识别、身份验证和授权。以下是简要指南
• 识别:你是谁?
• 身份验证:证明你是谁。
• 授权:这是你被允许做的事情。
这三个概念密切相关,但在安全系统中,区分它们至关重要。混淆这三者——将它们混在一起,未能区分彼此——可能会导致严重的安全问题。在本文中,我们将主要关注身份验证。
基本上,有三种验证个人身份的方法:通过某人知道的东西、通过某人拥有的东西以及通过某人本身。所有这些方法从史前时代一直使用到今天,它们都具有不同的安全属性和权衡。
第一种方法是“某人知道的东西”。想想密码、秘密握手、PIN 码和锁的组合。在第二次世界大战期间,欧洲的美国士兵会问陌生人一些文化问题,例如“谁赢得了 1940 年的世界大赛?”,他们认为德国士兵不会知道答案,但每个美国人都会知道。
这种系统的一个漏洞是验证者会学到秘密。想象一下两个士兵在黑暗中相遇。一个问另一个,“密码是什么?” 另一个人回答了密码。现在第一个士兵知道了密码,即使他不应该知道。银行出纳员也可能出现同样的问题,他们可能会学到银行客户的 PIN 码,然后将这些代码用于不正当目的。因此,许多类型的安全系统都使用计算机而不是人来进行身份验证。并不是说计算机是万无一失的,但它们更容易控制,也不容易被颠覆。
验证某人身份的第二种方法是“某人拥有的东西”。这个东西可能是一把物理钥匙、一张会员卡或一张手机 SIM 卡。与“某人知道的东西”方法一样,任何人都可以将此物交给其他人。事实上,使用这两种方法中的任何一种,你真正识别的只是该人属于特定群体,而不是该个人是特定的人。知道秘密握手可以验证你是秘密社团的成员。拥有一把房屋钥匙的副本可以验证你是可以进入特定房屋的群体中的一员。我可能会给你足够的信息,让你打电话给我的银行并从我的帐户中取款。当你这样做时,银行认为它正在验证帐户所有者,而实际上它只是在确保电话另一端的人知道足够多的关于帐户和帐户所有者的信息,从而成为帐户的授权用户。
在古代希伯来语方言中,“shibboleth”一词的意思是“麦穗”(或“溪流”)。根据士师记 12:1-6,基列人击败了以法莲人的战斗,并设置路障屠杀任何逃跑的以法莲人。哨兵要求每个人说出“shibboleth”这个词。任何被拦下的基列人都能用 sh 音发音这个词。以法莲人的语言中没有 sh 音,当他们用 s 音发音这个词时就被困住了。根据你对口音和语言技能的看法,这个故事要么是“某人知道的东西”的例子,要么是验证人的第三种方式:“某人本身的东西”。
更具体地说,它是“某人拥有的作为其身体一部分的东西”的例子。这就是我们通常认为的身份识别。当我们认出人的时候,我们认出他们的体貌特征。在电话里,我们能认出某人的声音。我们的祖先甚至在进化成人类之前就使用了这种类型的身份验证机制。在动物世界中,猫用喷洒来标记它们的领地,狗互相嗅对方的屁股,鲸鱼有独特的歌曲。这种机制的更现代版本,称为“生物识别技术”,包括指纹识别、语音打印、手形几何学、虹膜和视网膜扫描以及手写签名。耳朵形状是面部特征,既具有相当的独特性,又难以改变,尽管在美国护照照片上不一定可见。美国绿卡和德国护照要求提供倾斜的头像,露出耳朵。人们通常擅长通过生物识别技术识别人;机器则不然。
生物识别技术比密码和令牌具有优势,因为它们不会被遗忘,尽管它们可能会丢失。(人们可能会在事故中失去手指,或因疾病暂时失声。)而且生物识别技术无法更改。如果有人丢失了钥匙或访问代码,很容易更换锁或组合并重新获得安全性。但是,如果有人窃取了你的生物特征——可能是通过秘密录制你的声音或复制包含你的电子虹膜扫描的数据库——你就被困住了。你的虹膜就是你的虹膜,仅此而已。问题是,虽然生物特征可能是唯一的标识符,但它不是秘密。你在你触摸的每件东西上都留下指纹,并且有人可以轻松地拍摄你的眼睛。
仅仅依靠单一的身份验证技术可能是脆弱的。在《奥德赛》中,独眼巨人波吕斐摩斯抓住了奥德修斯和他的手下,并将他们与他的羊一起封锁在一个洞穴里。奥德修斯戳瞎了波吕斐摩斯的独眼,所以当波吕斐摩斯不得不让羊离开洞穴去吃草时,他只能通过感觉来验证它们的身份。在观察了这个过程之后,奥德修斯和他的手下通过紧紧抓住羊的腹部逃脱了。更好的身份验证系统使用两种或多种方法。例如,ATM 使用“某人拥有的东西”——ATM 卡——和“某人知道的东西”——PIN 码。(然后它会拍摄此人的照片,用于审计目的。)护照是一张难以伪造的实体卡,其中包含照片。我公司办公室的门锁装置同时使用了 PIN 码和手形几何扫描仪。
信用卡有两种形式的身份验证——实体卡和签名——当在店内使用时,但在电话中使用时只有一种:卡上的信息。信用卡公司试图通过要求商家收集持卡人的地址以进行非面对面交易来提高安全性,但电话和在线信用卡欺诈仍然远高于店内欺诈(每 100 美元 15 到 20 美分,而店内欺诈为 6 美分)。几家法国银行最近推出了仅在一次交易中有效的信用卡号码,如果交易期间被盗则毫无用处,这是应对威胁的绝佳对策。而且,为了额外的身份验证,信用卡背面现在有额外的数字,这些数字没有在卡正面或磁条上凸印。
许多系统同时执行识别和身份验证。当你认出一个人时,你既在识别也在验证该个人的身份。当你查看某人的身份证时,你既在识别也在验证该个人的身份。其他系统同时进行身份验证和授权。门钥匙是一种身份验证令牌,它也可以打开门——实际上是授权进入。
将识别与身份验证混淆的系统可能会存在严重的不安全性。我一次又一次地被要求提供我的社会安全号码的后四位数字作为身份验证码,即使我的社会安全号码是一个公开的身份识别号码。我无法更改它。我无法阻止其他人拥有它。它是一个唯一的标识符,但它绝不是秘密:一个很好的识别我的号码,但一个糟糕的验证我的号码。你母亲的婚前姓名是一个同样糟糕的身份验证码。
我已将生物识别技术描述为一种身份验证工具,但有时它们被误用作身份识别工具。作为身份验证系统,生物识别技术回答了一个简单的问题:此生物特征是否属于该人?作为生物识别身份识别系统,它们必须回答一个更难的问题:此生物特征是否属于这个庞大的、不太可靠的人员生物特征数据库中的任何人?这种混淆导致主动失败,并最终导致被动失败。
这个推理很微妙,所以让我们通过一个例子来理解。自动面部扫描系统已被提议用于机场和其他公共聚集场所,如体育场。这个想法是在安全检查站安装摄像头,并让自动面部识别软件持续扫描人群中是否有疑似恐怖分子。当软件识别出嫌疑人时,它会提醒当局,当局会迅速采取行动并逮捕罪犯。在佛罗里达州坦帕市举行的 2001 年超级碗比赛中,安装了摄像头,面部扫描软件试图将走进体育场的人们的面孔与警方想要逮捕的人员的照片数据库进行匹配。
我将从创建一个非常乐观的系统示例开始。假设某些假设的面部扫描软件具有神奇的有效性(远优于当今的水平)——准确率达到 99.9%。也就是说,如果某人是恐怖分子,则软件有千分之一的概率无法指示“恐怖分子”,如果某人不是恐怖分子,则软件有千分之一的概率错误地指示“恐怖分子”。换句话说,防御失败率和使用失败率均为 0.1%。另外假设平均每 1000 万体育场观众中,有 1 名是已知的恐怖分子。(该系统不会抓捕任何不在照片数据库中的未知恐怖分子。)尽管准确率很高(99.9%),但由于体育场观众总人群中恐怖分子的比例非常小,假设的系统每识别出一个真正的恐怖分子,就会产生 10,000 次误报。这将转化为每场坦帕湾橄榄球比赛 75 次误报,大约每 133 场比赛出现一名真正的恐怖分子。
这种使用失败率使得此类系统几乎毫无价值。面部扫描系统需要与另一个系统——一个安全机构——进行交互,该机构必须进入高度戒备状态,并付出所有随之而来的成本、不便、混乱、恐惧和恐慌——但最终仍将一无所获。使用该系统的警卫会很快了解到它总是错误的,并且来自面部扫描系统的每次警报都是误报。最终他们会直接忽略它。当一个真正的恐怖分子被系统标记出来时,他们很可能会将其视为又一次误报。这个概念在统计学中被称为“基本比率谬误”,也适用于医学测试。如果疾病在普通人群中足够罕见,即使是非常准确的测试也可能作为诊断工具毫无用处。一个 90% 准确的系统,假设恐怖分子密度为千万分之一,每识别出一个真正的恐怖分子,就会发出一百万次误报。而当前的系统远没有那么准确;在 2003 年 3 月,一个澳大利亚系统被两名简单地交换护照的日本人击败。“狼来了”的故事被推向了极端。
不仅仅是面部识别软件。该系统假定存在一个恐怖分子照片数据库。恐怖分子似乎不太可能摆姿势拍摄清晰的照片。更可能的是,数据库中的照片是五年前在 1000 码外拍摄的颗粒状照片,当时这些人看起来与现在不同。我们必须假设恐怖分子会用胡须、帽子、眼镜和整形手术来伪装自己,以使识别更加困难。自动面部识别系统在这些条件下会惨败。请记住,我为这个例子假设的系统假定面部扫描系统的准确度比今天销售的系统高几个数量级。最近对一个机场系统的测试表明,其准确率不到 50%,使其完全无法用作身份识别系统。
生物识别身份验证是不同的。在这里,系统将文件中的生物特征(称为“参考生物特征”)与正在比较时的人的生物特征进行比较。此参考生物特征不是秘密间谍拍摄的模糊照片;它是在最佳照明条件下拍摄的已知清晰照片。使用生物识别系统的人希望通过系统进行身份验证,并且不太可能做鬼脸、戴墨镜、侧身或以其他方式试图欺骗系统。最重要的是,要解决的问题是不同的。系统不必回答“这个随机的人是谁?”这个问题,而是必须回答一个容易得多的问题:“X 是声称自己是 X 的人吗?”
我们离计算机能够可靠且独立地识别人员的那一天还很远,但身份验证是另一回事。顺便说一句,美国政府没有告诉我们关于 9/11 事件后在机场安检站工作的国民警卫队士兵的一件事是,他们都记住了他们正在关注的一小部分面孔。这种解决方案比让计算机来做要有效得多,但这绝不是长期的解决方案。
BRUCE SCHNEIER 是 Counterpane 互联网安全公司的创始人兼首席技术官,是一位国际知名的安全技术专家,也是多本广受好评的著作的作者:《应用密码学》(Wiley,1996 年)、《秘密与谎言》(Wiley,2000 年)和《超越恐惧:在不确定的世界中理性思考安全》(Copernicus Books,2003 年)。他还出版了 Crypto-Gram,这是一份关于新闻报道的安全故事的免费月刊。Schneier 为多家主要报纸撰写了专栏文章,并曾在美国国会就安全问题作证。
经 Copernicus Books 许可转载。
本文摘自 Bruce Schneier 的最新著作《超越恐惧:在不确定的世界中理性思考安全》(Copernicus Books,2003 年)。更多信息请访问 http://www.schneier.com。
最初发表于 Queue vol. 1, no. 10—
在 数字图书馆 中评论本文
Jinnan Guo, Peter Pietzuch, Andrew Paverd, Kapil Vaswani - 使用机密联邦学习实现可信赖的 AI
安全性、隐私性、问责制、透明度和公平性原则是现代 AI 法规的基石。经典的 FL 设计非常强调安全性和隐私性,但牺牲了透明度和问责制。CFL 通过将 FL 与 TEE 和承诺相结合,弥补了这一差距。此外,CFL 还带来了其他理想的安全属性,例如基于代码的访问控制、模型机密性以及推理期间的模型保护。机密计算的最新进展(例如机密容器和机密 GPU)意味着可以无缝扩展现有的 FL 框架以支持 CFL,且开销较低。
Raluca Ada Popa - 机密计算还是密码学计算?
通过 MPC/同态加密与硬件飞地进行安全计算在部署、安全性和性能方面存在权衡。关于性能,这在很大程度上取决于你心中有哪些工作负载。对于简单的求和、低阶多项式或简单的机器学习任务等简单工作负载,这两种方法都可以随时在实践中使用,但对于复杂的计算(例如复杂的 SQL 分析或训练大型机器学习模型),目前只有硬件飞地方法在许多实际部署场景中足够实用。
Matthew A. Johnson, Stavros Volos, Ken Gordon, Sean T. Allen, Christoph M. Wintersteiger, Sylvan Clebsch, John Starks, Manuel Costa - 机密容器组
此处提供的实验表明,Parma(在 Azure 容器实例上驱动机密容器的架构)增加的额外性能开销不到底层 TEE 增加的额外性能开销的百分之一。重要的是,Parma 确保了容器组在证明报告中扎根的所有可达状态的安全不变量。这允许外部第三方与容器安全地通信,从而支持广泛的容器化工作流程,这些工作流程需要对安全数据进行机密访问。公司获得了在云中运行其最机密工作流程的优势,而无需在其安全要求上妥协。
Charles Garcia-Tobin, Mark Knight - 使用 Arm CCA 提升安全性
机密计算具有通过将监管系统从 TCB 中移除来提高通用计算平台安全性的巨大潜力,从而减小 TCB 的大小、攻击面以及安全架构师必须考虑的攻击向量。机密计算需要在平台硬件和软件方面进行创新,但这些创新有可能增强对计算的信任,尤其是在第三方拥有或控制的设备上。机密计算的早期消费者将需要自行决定他们选择信任的平台。