读普林斯顿计算机公开课13隐私和安全

发布时间:2026/7/5 15:14:25
读普林斯顿计算机公开课13隐私和安全 1. 隐私和安全1.1. 数字技术给我们带来了很多好处如果没有它我们的生活将会贫乏得多1.2. 国家安全1.2.1. 从整体上保护国家免受恐怖袭击和其他国家的行动等威胁1.3. 对于个人来说安全常常与隐私混为一谈因为如果你个人生活的大部分方面都广为人知或很容易被发现你就很难感到安全2. 密码学2.1. 一种“秘密书写”的艺术从很多方面来说是我们抵御隐私攻击的最佳防御手段2.2. 加密算法需要抵御各种各样的攻击。频率分析主要用于研究和计算每个符号出现的次数2.3. 要抵御频率分析加密算法必须要做到让密文中所有符号都以大致相等的机会出现这样就没有模式可供分析2.4. 利用已知的明文即已知使用目标密钥加密的消息或者利用选定的明文诱使被攻击者用待破解密钥加密这段明文从而进行对照达到破解的目的2.5. 密码系统必须假定攻击者知道并完全理解密码系统的工作原理从而将所有的安全性都寄托在密钥上2.5.1. 与此相反的做法是假定对手不知道系统用什么加密方案、如何破解这被称为隐匿式安全(security by obscurity)即使可以工作也不会长久2.5.2. 如果有人鼓吹他们的加密系统十分安全却不愿说出其工作原理那就可以确信它并不安全2.6. 加密系统的开放式开发至关重要。密码系统需要尽可能多的专家的经验以探查漏洞2.7. 典型的浏览器知道数量惊人的证书颁发机构2.7.1. Firefox版本中有将近80个2.7.2. Chrome版本中有超过200个2.8. Lets Encrypt让我们加密是一个非营利性的证书权威机构它向任何人提供免费的证书其理念是如果获得证书很容易最终所有网站都将使用HTTPS所有流量都将被加密2.9. 密码学是现代技术的重要组成部分它是保护我们使用互联网时隐私和安全的基本机制2.9.1. 密码学能帮助所有人而不仅仅是好人2.9.2. 意味着犯罪分子、恐怖分子、儿童色情犯、贩毒集团和政府都将使用密码技术以牺牲你的利益为代价来增进他们的利益2.10. 加密代码大多是开源的任何人都可以使用2.10.1. 试图在任何国家禁止密码学都不太可能阻止它的使用2.11. 密码学本来就是极其困难的如果加上故意设置的弱点无论如何精心设计都会导致更大的失败2.11.1. 最根本的问题是我们不能在不削弱所有人加密安全性的情况下削弱恐怖分子使用的加密2.12. 强大的加密是普通人抵御政府过度干预和犯罪入侵的为数不多的防御手段之一2.13. 在任何安全系统中最薄弱的环节是相关人员他们会无意或有意地破坏过于复杂或难以使用的系统2.14. 即使每个人都努力确保安全一个坚定的对手总是可以利用4B即贿赂(bribery)、勒索(blackmail)、盗窃(burglary)、野蛮(brutality)来获得访问权2.14.1. 政府可以用坐牢来威胁那些在被要求泄露密码时拒绝的人3. 密钥加密3.1. 历史较长的密钥加密(secret-key cryptography)也称对称密钥加密因为加密和解密要使用相同的钥匙3.2. 蛮力攻击(brute force attack)即尝试所有可能的密钥以找出用来加密的那个3.3. 字典攻击(dictionary attack)就是尝试用“password”和“123456”这些常见单词和数字进行攻击3.3.1. 如果人们选择密钥时偷懒或粗心这种攻击就可以很容易成功3.4. 在任何情况下DES总是使用56位密钥随着计算机的运算速度越来越快56位的长度被证明太短了3.4.1. 到1999年的时候一台相当便宜的专用计算机就可以用一天时间使用蛮力攻击破解DES密钥。这导致了具有更长的密钥的新算法的产生3.5. AES支持128、192和256位三种密钥长度潜在的密钥数量非常多用蛮力攻击就算很多年也不会有结果除非能发现该算法的某个弱点3.6. 密钥扩散(key proliferation)要想和不相关的各方进行独立的秘密对话就要为每组会话准备不同的密钥3.6.1. 导致密钥分发更加困难4. 公钥加密4.1. 公钥加密采用了与密钥加密完全不同的思想是怀特菲尔德·迪菲(Whitfield Diffie)和马丁·赫尔曼(Martin Hellman)于1976年在斯坦福发明的借鉴了拉尔夫·默克尔(Ralph Merkle)的一些思想4.1.1. 迪菲和赫尔曼因为这项工作共同获得了2015年的图灵奖4.2. 这个想法由詹姆斯·埃利斯(James Ellis)和克利福德·科克斯(Clifford Cocks)在更早的几年前独立发现他们是英国政府通信总部的密码学家但他们的工作被一直保密到1997年所以他们不能发表该成果因此也与大部分荣誉失之交臂4.3. 在公钥加密系统里每个人都有一个密钥对(key pair)包含一个公钥和一个私钥4.3.1. 这对密钥是在数学上有关联的整数具有如下性质用其中一个密钥加密过的消息只能用另一个密钥解密反之亦然4.3.2. 公钥是真正很公开的任何人都能拿到一般是公布在网站上4.3.3. 私钥则一定要严格保持私密是一个只有这个密钥对的主人才知道的秘密4.4. 公钥加密是在互联网上进行安全通信的关键要素4.5. 公钥加密的一个缺点是其算法的运算速度慢比AES这种密钥加密算法要慢好几个数量级4.6. 通常不会用公钥加密算法加密全部数据而是分两步走先用公钥加密协商出一个临时的密钥再使用AES传输大量的数据4.7. 公钥加密方案也并非完美无缺4.8. 前向保密(forward secrecy)的技术4.8.1. 每条消息都使用如上所示的一次性密码进行加密然后该密码被丢弃4.9. 最被广泛使用的公钥加密算法称为RSA4.9.1. 这个算法是麻省理工学院的三位计算机科学家罗纳德·李维斯特(Ronald Rivest)、阿迪·沙米尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1978年发明的RSA就是这三位发明人姓氏的首字母缩写4.9.2. RSA实验室是持有RSA专利的公司曾于1991年到2007年举办过分解素因子大赛4.9.3. 它公布了一个包含着长度越来越长的巨大合数的列表设立奖金给第一个能对每个合数进行因数分解的人4.9.4. 最小的合数有100多位很快就被分解了4.9.5. 2007年这个竞赛停办之时分解出来的最大合数有193位二进制640位​奖金是2万美元4.9.6. 2019年RSA-240240位795位被分解5. 消息摘要5.1. 消息摘要(message digest)或密码散列(cryptographic hash)5.2. 其创建方法是用某种算法把任意输入的比特流加密成固定长度的比特流也就是摘要或散列最终得到的结果具有如下特性无法通过计算找到别的输入来生成同样的摘要5.3. 罗纳德·李维斯特开发的MD5它生成128位的摘要5.4. SHA-1来自NIST美国国家标准技术研究所​生成160位的摘要5.5. 研究表明MD5和SHA-1都有弱点因此不赞成使用它们5.6. SHA-2是美国国家安全局开发的一系列算法目前还没有已知的弱点5.7. SHA-2和SHA-3支持从224位到512位不等的摘要大小6. 匿名6.1. Tor以及Tor浏览器6.1.1. “洋葱路由器”的缩写隐喻着当对话从一个地方传递到另一个地方的过程中围绕着这些对话的层层加密6.1.2. 使用加密技术通过一系列中继结点发送互联网上的流量这样每个中继结点只知道路径上紧邻的中继结点的身份而不知道其他中继结点的身份6.1.3. 在任何时候全世界大约有7000个中继结点6.1.3.1. Tor应用程序随机选择一组中继结点并设置路径该路径不时更改甚至在单个会话期间也会更改6.1.4. Tor浏览器是使用Tor的最常见方式Firefox的一个版本已经被配置为使用Tor进行传输Tor还能适当地进行Firefox的隐私设置6.2. TAILS的系统6.2.1. “失忆隐身实时系统”​它是在Linux系统上运行的能安装在DVD、USB驱动器或SD卡等可引导设备上6.2.2. 在启动后能运行Tor技术和Tor浏览器并且不会在运行它的电脑上留下任何痕迹6.2.3. 软件在TAILS的运行下使用Tor连接到因特网所以你应该是匿名的6.2.4. 不在本地二级存储上存储任何东西而只是使用主内存6.2.5. 当计算机在TAILS会话之后关闭的时候内存中的内容将被清除6.3. 比特币6.3.1. 发送和接收资金是另一个高度重视匿名性的领域6.3.2. 现金是匿名的如果你使用现金支付那么既没有记录也没有办法识别当事人6.3.3. 巧妙的密码学可以用来创造匿名货币6.3.4. 比特币是一种去中心化的数字货币或加密货币6.3.4.1. 它不由任何政府或其他政党发行或控制不像传统货币的纸币和硬币它也没有实体形式6.3.5. 比特币使用点对点协议让双方在不使用中介或可信的第三方的情况下交换比特币这是一种模拟现金的方式6.3.6. 比特币维护着一个名为区块链的所有交易的公共账本而交易背后的各方是匿名的只能通过一个实际上是加密公钥的地址来识别6.3.7. 区块链是完全公开的6.3.7.1. 比特币的匿名性更像是“冒名”的因为每个人都知道与特定地址相关的所有交易但他们不知道这个地址是你的6.3.8. 比特币是一种“虚拟货币”​但可以与传统货币进行兑换