翻译:中国科学技术大学信息安全专业老师 ■几种机制结合起来可以增强保护。加密和访问控制用来保护口令文件。 ■通过隐匿而获得的安全性只能防御不经心的入侵者。不要对这种策略抱太多的信任。 ■如果可能的话,将安全相关的数据和那些要被公开访问的数据隔离开来。在Unx中,/ etc/passwd包含有以 上两种数据。影子口令文件能够获得所希望的隔离性 25一次签到 用口令来区分朋友和敌人已经有几个世纪了。在I环境中,它们控制对计算机、网络、程序和文件等的访问。 但作为用户,如果你为获取一点信息而在信息空间漫游时必须一遍又一遍地输入口令,你会觉得很不方便。当你坐 在计算机前,需要网络中某台数据库服务器中的信息时,如果你必须做以下一些事情,你会觉得愉快吗: 向计算机输入第一个口令, ■输入第二个口令进入网络 ■输入第三个口令访问服务器 ■输入第四个口令访问数据库管理系统, ■输入第五个口令打开数据库中的一张表 且不去想可能需要记忆五个不同的口令,并需要在每一种场合选择一个正确的口令输入,就是将相同的口令重 复输入五遍也是够糟糕的了。 次签到服务解决了这个问题。你只要输入一次口令,系统保存这个口令,并在你需要重新认证的时候为你取 出口令做这件事 这样一种一次签到服务为你增加了方便,但它也引起了新的安全问题。你如何保护存储的口令?前面提到的 些技术不再有用,因为系统现在需要你的明文形式的口令。 系统设计者必须均衡考虑方便性和安全性。易于使用是使得IT系统真正有用的一个重 要因素,不幸的是,许多方便的举措也引入了新的弱点。后面还会遇到这样的问题。 26可供选择的方法 如果你不满足于口令提供的安全等级,你还可以做什么呢?从一般观点来看,以下选择都是可取的。作为用户, 你可以基于以下信息进行认证 ■你知道的事, 你拥有的东西 你是谁 ■你做什么 ■你在哪里。 你知道的事 用户必须知道一些“秘密”才能被认证。你已经看到了这种认证模式的第一个例子,口令就是你知道的事情 另一个例子是同银行卡一起使用的个人识别号码(PIN)或者类似标记 okens)。第三个例子,考虑你打电话查询银 行帐户的情形,接听电话的银行职员在告诉你任何信息之前可能会向你询问更多的个人信息,像家庭住址、出生日 期、配偶名字等 在这种认证模式中,获知你秘密的任何人就“是你”,另一方面,如果你把你的秘密告诉其他人,你不会留下 痕迹。考虑以下情形,在你单位发生了滥用计算机的事件,有人用你的用户名和口令注册了。你能证明你是无辜的 吗?你能证明你没有泄漏口令吗? 你拥有的东西 用户必须出示一个物理标记才能被认证。能打开锁的钥匙就是你拥有的东西,这种标记的另一个例子是用于控 制进入公司大门的卡片或身份标签。在将来,一旦智能卡的读卡机成为工作站的标准部件,智能卡可能成为口令的 替代物 物理标记可能会遗失或被盗。如前所述,任何拥有标记的人将具有与合法拥有者相同的权利。为了增加安全性, 物理标记通常与你知道的事结合起来使用,如银行卡与PIN一起使用,或者它们包含能够识别合法用户的信息,如 银行卡上的照片。然而,就是将这些机制结合起来也不能防止骗子获得必要的信息去假冒合法用户,也不能阻止用 户自愿传递这些信息。 第11页共36页创建日期:2003-11
翻译:中国科学技术大学信息安全专业老师 第 11 页 共 36 页 创建日期:2003-11 ■几种机制结合起来可以增强保护。加密和访问控制用来保护口令文件。 ■通过隐匿而获得的安全性只能防御不经心的入侵者。不要对这种策略抱太多的信任。 ■如果可能的话,将安全相关的数据和那些要被公开访问的数据隔离开来。在 Unix 中,/etc/passwd 包含有以 上两种数据。影子口令文件能够获得所希望的隔离性。 2.5 一次签到 用口令来区分朋友和敌人已经有几个世纪了。在 IT 环境中,它们控制对计算机、网络、程序和文件等的访问。 但作为用户,如果你为获取一点信息而在信息空间漫游时必须一遍又一遍地输入口令,你会觉得很不方便。当你坐 在计算机前,需要网络中某台数据库服务器中的信息时,如果你必须做以下一些事情,你会觉得愉快吗: ■向计算机输入第一个口令, ■输入第二个口令进入网络, ■输入第三个口令访问服务器, ■输入第四个口令访问数据库管理系统, ■输入第五个口令打开数据库中的一张表。 且不去想可能需要记忆五个不同的口令,并需要在每一种场合选择一个正确的口令输入,就是将相同的口令重 复输入五遍也是够糟糕的了。 一次签到服务解决了这个问题。你只要输入一次口令,系统保存这个口令,并在你需要重新认证的时候为你取 出口令做这件事。 这样一种一次签到服务为你增加了方便,但它也引起了新的安全问题。你如何保护存储的口令?前面提到的一 些技术不再有用,因为系统现在需要你的明文形式的口令。 系统设计者必须均衡考虑方便性和安全性。易于使用是使得 IT 系统真正有用的一个重 要因素,不幸的是,许多方便的举措也引入了新的弱点。后面还会遇到这样的问题。 2.6 可供选择的方法 如果你不满足于口令提供的安全等级,你还可以做什么呢?从一般观点来看,以下选择都是可取的。作为用户, 你可以基于以下信息进行认证: ■你知道的事, ■你拥有的东西, ■你是谁, ■你做什么, ■你在哪里。 你知道的事 用户必须知道一些“秘密”才能被认证。你已经看到了这种认证模式的第一个例子,口令就是你知道的事情。 另一个例子是同银行卡一起使用的个人识别号码(PIN)或者类似标记(tokens)。第三个例子,考虑你打电话查询银 行帐户的情形,接听电话的银行职员在告诉你任何信息之前可能会向你询问更多的个人信息,像家庭住址、出生日 期、配偶名字等。 在这种认证模式中,获知你秘密的任何人就“是你”,另一方面,如果你把你的秘密告诉其他人,你不会留下 痕迹。考虑以下情形,在你单位发生了滥用计算机的事件,有人用你的用户名和口令注册了。你能证明你是无辜的 吗?你能证明你没有泄漏口令吗? 你拥有的东西 用户必须出示一个物理标记才能被认证。能打开锁的钥匙就是你拥有的东西,这种标记的另一个例子是用于控 制进入公司大门的卡片或身份标签。在将来,一旦智能卡的读卡机成为工作站的标准部件,智能卡可能成为口令的 替代物。 物理标记可能会遗失或被盗。如前所述,任何拥有标记的人将具有与合法拥有者相同的权利。为了增加安全性, 物理标记通常与你知道的事结合起来使用,如银行卡与 PIN 一起使用,或者它们包含能够识别合法用户的信息,如 银行卡上的照片。然而,就是将这些机制结合起来也不能防止骗子获得必要的信息去假冒合法用户,也不能阻止用 户自愿传递这些信息
翻译:中国科学技术大学信息安全专业老师 你是谁 如果你真的必须准确无误地认证每一个人,你可以使用生物测定技术。刚才已经提到了带有照片的卡片,更复 杂的方法使用掌纹、指纹、虹膜图案或视网膜图案来辨别一个人。 口令认证每一次都给出明确的拒绝或接受。在生物测定中,一个存储的图案与实际测量的图案进行比较,但这 些图案几乎从来都不能精确匹配。因此,我们必须面对一个新的问题,就是假阳性( false positives)和假阴性alse negatEs〉。错误地接受一个用户(假阳性)显然是一个安全问题,而拒绝一个合法用户(假阴性)则会造成尴尬 的及低效的工作环境。生物测定认证系统的设计者必须在这两种错误之间找到合理的平衡,而这种平衡极其依赖于 找到这种平衡的应用 还有一个问题,用户会接受这样一个机制吗?在被提取指纹时,他们可能感觉象被当成了罪犯一样,他们可能 也不喜欢用一束激光扫描视网膜的做法 你做什么 人们往往以一种独特的和可重复的方式做一些机械性的工作。检查手写签名就是来自纸质文档世界的一个例 子,在这里伪造并不是那么困难的。为了获得更高的安全性,用户可以在一个特殊的垫子上签名,垫子可以测量出 像书写速度和书写力度这样的特征。在一个键盘上,打字速度以及击键之间的间隔被用来认证用户个人。如前所述 认证系统必须建立起来,使得假阳性和假阴性减少到相关应用可以接受的程度。 你在哪里 当你注册时,系统可能还要考虑你在哪里。一些操作系统已经这样做了,并且仅当你是从某个特定的终端注册 时才允许访问。比如,系统管理员只可以从操作员控制台注册,而不能从任何一台用户终端注册。类似地,作为用 户你只允许从你办公室的工作站上注册。这类决定在移动和分布式计算中将会更加频繁。如果在认证过程中必须建 立精确的地理位置,系统可以使用全球定位系统(GPS)的服务。在处理一个请求的注册时确定用户的位置,也有 助于解决过后关于用户真实身份的争端 口令并不能认证人:成功的认证只意味着用户知道一个特定的秘密。没有办法区分合法用户和获得了该用户的 口令的入侵者。 进一步的阅读 文献[104介绍了Unx口令安全的历史,在上面还可以找到非常有趣的关于典型口令选择的统计,文献(48]介 绍了Unⅸx口令安全后来的发展。文献[63,139描述了 Windows nt的口令方案。几乎所有关于计算机安全的书都 包含有大量的有关正确选择口令的建议,并且阐述了口令安全的重要性。 Pfaffenberger关于因特网隐私的书[124] 有一章介绍了自动口令生成,并附有指向相关软件产品的链接 你可以在因特网上找到大量的口令破解程序,分析这样的一个程序将使你对破解程序搜索的口令类型以及所使 用的字典的长度和复杂性有一个清楚的了解,但未经明确授权而运行这样一个程序可能与你单位的规章制度以及许 多国家的刑法相抵触。 练习题 练习21检查你计算机系统上的口令方案。它在口令长度、口令格式以及口令期限方面有规定吗?口令在你系统 上是怎么存储的? 练习22假定只允许使用26个字母来构造口令 ■如果口令最多为n个字符,n=4,6,8,不区分大小写,可能有多少个不同的口令? ■如果口令最多为n个字符,n=4,6,8,区分大小写,可能有多少个不同的口令? 练习23假定口令的长度为6个字符,可以使用字母和数字字符,区分大小写。在以下条件下,强力攻击平均所 需的时间分别为多少? ■检查一个口令需要1/10秒时间 ■检查一个口令需要1微秒时间 练习24假定你只允许使用26个字母来构成长度为n的口令,进一步假设你在区分大小写和不区分大小写的两个 系统中使用了相同的口令,给出猜测出大小写区分的口令所需的最多尝试次数 练习25编程:写一个口令生成程序以一个长度为s的随机二进制种子作为输入。在下面的实验中取s=8,16,32,64 ■让不同的用户用你的方案生成口令,记录不同的用户选择了相同口令的事件。 第12页共36页创建日期:2003-11
翻译:中国科学技术大学信息安全专业老师 第 12 页 共 36 页 创建日期:2003-11 你是谁 如果你真的必须准确无误地认证每一个人,你可以使用生物测定技术。刚才已经提到了带有照片的卡片,更复 杂的方法使用掌纹、指纹、虹膜图案或视网膜图案来辨别一个人。 口令认证每一次都给出明确的拒绝或接受。在生物测定中,一个存储的图案与实际测量的图案进行比较,但这 些图案几乎从来都不能精确匹配。因此,我们必须面对一个新的问题,就是假阳性(false positives)和假阴性(false negatives)。错误地接受一个用户(假阳性)显然是一个安全问题,而拒绝一个合法用户(假阴性)则会造成尴尬 的及低效的工作环境。生物测定认证系统的设计者必须在这两种错误之间找到合理的平衡,而这种平衡极其依赖于 找到这种平衡的应用。 还有一个问题,用户会接受这样一个机制吗?在被提取指纹时,他们可能感觉象被当成了罪犯一样,他们可能 也不喜欢用一束激光扫描视网膜的做法。 你做什么 人们往往以一种独特的和可重复的方式做一些机械性的工作。检查手写签名就是来自纸质文档世界的一个例 子,在这里伪造并不是那么困难的。为了获得更高的安全性,用户可以在一个特殊的垫子上签名,垫子可以测量出 像书写速度和书写力度这样的特征。在一个键盘上,打字速度以及击键之间的间隔被用来认证用户个人。如前所述, 认证系统必须建立起来,使得假阳性和假阴性减少到相关应用可以接受的程度。 你在哪里 当你注册时,系统可能还要考虑你在哪里。一些操作系统已经这样做了,并且仅当你是从某个特定的终端注册 时才允许访问。比如,系统管理员只可以从操作员控制台注册,而不能从任何一台用户终端注册。类似地,作为用 户你只允许从你办公室的工作站上注册。这类决定在移动和分布式计算中将会更加频繁。如果在认证过程中必须建 立精确的地理位置,系统可以使用全球定位系统(GPS)的服务。在处理一个请求的注册时确定用户的位置,也有 助于解决过后关于用户真实身份的争端。 口令并不能认证人:成功的认证只意味着用户知道一个特定的秘密。没有办法区分合法用户和获得了该用户的 口令的入侵者。 进一步的阅读 文献[104]介绍了 Unix 口令安全的历史,在上面还可以找到非常有趣的关于典型口令选择的统计,文献[48]介 绍了 Unix 口令安全后来的发展。文献[63,139]描述了 Windows NT 的口令方案。几乎所有关于计算机安全的书都 包含有大量的有关正确选择口令的建议,并且阐述了口令安全的重要性。Pfaffenberger 关于因特网隐私的书[124] 有一章介绍了自动口令生成,并附有指向相关软件产品的链接。 你可以在因特网上找到大量的口令破解程序,分析这样的一个程序将使你对破解程序搜索的口令类型以及所使 用的字典的长度和复杂性有一个清楚的了解,但未经明确授权而运行这样一个程序可能与你单位的规章制度以及许 多国家的刑法相抵触。 练习题 练习 2.1 检查你计算机系统上的口令方案。它在口令长度、口令格式以及口令期限方面有规定吗?口令在你系统 上是怎么存储的? 练习 2.2 假定只允许使用 26 个字母来构造口令: ■如果口令最多为 n 个字符,n=4,6,8,不区分大小写,可能有多少个不同的口令? ■如果口令最多为 n 个字符,n=4,6,8,区分大小写,可能有多少个不同的口令? 练习 2.3 假定口令的长度为 6 个字符,可以使用字母和数字字符,区分大小写。在以下条件下,强力攻击平均所 需的时间分别为多少? ■检查一个口令需要 1/10 秒时间; ■检查一个口令需要 1 微秒时间。 练习 2.4 假定你只允许使用 26 个字母来构成长度为 n 的口令,进一步假设你在区分大小写和不区分大小写的两个 系统中使用了相同的口令,给出猜测出大小写区分的口令所需的最多尝试次数。 练习 2.5 编程:写一个口令生成程序,以一个长度为 s 的随机二进制种子作为输入。在下面的实验中取 s=8,16,32,64: ■让不同的用户用你的方案生成口令,记录不同的用户选择了相同口令的事件