组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:ouyang@china-pub.com 译者:刘梓超(zichao zi_chao@263.net) 译文发布时间:2001-4-12 版权:本翻译文档可以用于非商业用途自由转载,但必须保留本文档的翻译及组织信息。 Network Working Group G. Pall Request for Comments: 3078 Microsoft Corporation Category: Informational G. Zorn Updates: 2118 cisco Systems March 2001 RFC3078微软点到点加密(MPPE)协议 (RFC3078 Microsoft Point-To-Point Encryption (MPPE) Protocol) 本备忘录状态 This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. 版权声明 Copyright (C) The Internet Society (1999). All Rights Reserved. 摘要 点到点协议(PPP)提供一种在点到点链路上传送多协议数据报的标准方法。 PPP压缩控制协议提供了一种在PPP封装链路上协商和运用压缩协议的方法。 本文件描述的是利用微软点到点的加密法(MPPE)提高PPP封装包的保密性。 要求说明书 本文档中的关键字“或许”,“必须”,“必须不”,“可选的”,“建议”,“应该”和“不应该”在[5]中解释。 目录 1. 介绍 2 2. 配置选项格式 2 2.1. 选项协商 3 3. MPPE包 3 3.1.包格式 4 4. 初始会话密钥 5 5. 使用会话密钥初始化RC4 6 6. 加密数据 6 7. 改变密钥 6 7.1.无状态方式密钥的改变 6 7.2.状态方式密钥变化 6 7.3. MPPE密钥更换算法 6 8. 同步 7 8.1.无状态同步 8 8.2.状态同步 8 9. 安全性考虑 8 参考 9 鸣谢 9 作者地址 10 版权声明 10 致谢 11 1. 介绍 微软点到点加密方案是一种将点到点协议(PPP)包用加密形式表示的方法。 MPPE运用RSA RC4 [3]算法提供数据的保密性。用于初始化密码表的会话密钥的长度可以协商。 MPPE目前支持40位和128位的会话密钥。 MPPE会话密钥是经常变化的;变化的频率取决于任选项的协商,每个包都有可能不同。 MPPE在压缩控制协议的选项18[4]中协商。 2. 配置选项格式 描述 CCP配置选项在链路上对MPPE的使用进行协商。 缺省状态下(即,如果MPPE的协商没有进行),不使用加密法。 如果,MPPE协商进行了并且失败,那么链接应该被中断。 CCP配置选项格式如下所示。字段从左至右进行传输。 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长 度 | 支持的bit数 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 支持的bit数 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 类型 18 长度 6 支持的Bit数 该字段有4个八位字节,最高八位字节在前。 3 2 1 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |H| |M|S|L|D| |C| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ‘C’bit位被MPPC[4]使用,在本备忘录不作进一步的讨论。‘D’bit位被舍弃;虽然一些旧的端子可能会对这个选项进行协商,但这是不应该接受的。如果‘L’bit位被设置(对应于最低位的八位字节值为0x20),这表明发送端要求协商使用40位会话密钥。 如果‘S’bit位被设置(对应于最低位的八位字节值为0x40),这表明发送端要求协商使用128位会话密钥。如果‘M’bit位被设置(对应于最低位的八位字节值为0x80),这表明发送端要求协商使用56位会话密钥。如果‘H’bit位被设置(对应于最高八位字节的值为0x01),这表明发送端希望协商使用无状态方式,在这种方式中会话密钥在每个包传输之后变化(参见下面的节10)。在下面的讨论中,‘S’,‘M’和‘L’bit位有时被共同地作为“加密选项”。 所有其他的位保留并且必须设置为0。 2.1. 选项协商 MPPE选项如[2]的描述进行协商。特别地,协商发起端应该说明它所支持的所有的选项。 应答端应该用一个单一的加密选项进行否认(应该注意无状态方式也许总是需要协商,它独立并附加于一个加密选项)。如果应答端支持超过一种发起端所要求设置的加密选项,则它选择的选项应该是所能提供的“最健壮”的选项。 非正式的,MPPE加密选项的强度可以遵循如下表示方法: 最健壮的 128位加密(‘S’bit位被设置) 56位加密(‘M’bit位被设置) 40位加密(‘L’bit位被设置) 最虚弱的 这个描述考虑了大家公认的密码强度。 发起端应该发送另一个含有与应答端的否定同样选项的请求报文或者取消协商,终止连接。 3. MPPE包 在任何MPPE包被发送前,PPP必须为网络层协议阶段并且CCP控制协议必须为开放状态。 一个MPPE数据报被压缩在PPP信息域中。PPP协议字段注明所有加密的数据报类型为0x00FD。 在PPP链路上传送的MPPE数据报最大长度同一个PPP压缩包的信息域的最大长度一样。 仅PPP协议号在范围0x0021到0x00FA之间的包被加密。其他的包不通过MPPE处理程序并且同它们的原来的PPP协议号一同发送。 填料 建议MPPE不使用填充字段。如果发送端使用填充字段,它必须在链路控制阶段进行自描述填充配置选择[10]协商并且使用自描述填充。 可靠性和顺序性 MPPE方案不需要可靠链路。它依靠每个包所含的一个12位计数值来保持与加密表的同步。如果无状态方式没有被协商而且附在所收到包的数与所期待的数不符合,则接收端必须发送一个CCP重置请求包使RC4表重新同步。 MPPE需要包被顺序发送。 MPPE可以被用在一个可靠链路上,如“PPP可靠传输”[6]中所述,但是由于仅仅需要附加的计数,这样就增加了不必要的开销。 数据扩展 MPPE方案不扩展或压缩数据。从MPPE处理程序输入和输出的八位字节数是相同的。 3.1.包格式 MPPE包格式如下所示。字段从左至右进行传输。 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PPP 协议 |A|B|C|D| 附加计数 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 加密的数据... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ppp协议 PPP协议字段在点到点协议封装[1]中描述。 当MPPE由PPP压缩控制协议成功协商后,该字段的值为0x00FD。当协议-字段-压缩协商后,这个值可以被压缩。 位A 该位表明加密表在包产生之前初始化。在解密包之前,接收端必须用当前的会话密钥再初始化它的表。在本文档中,该位被称为FLUSHED位。如果无状态选项已经被协商,该位必须在每个加密包中设置。要注意MPPC和MPPE都识别FLUSHED位;因此,如果无状态选项被协商,那么它同时适合与MPPC和MPPE。 位B 在MPPE中,该位没有任何意义。 位C 在MPPE中,该位没有任何意义。 位D 该位被设为1表明包被加密。该位被设为0表明这个包没有被加密。 附加计数 附加计数被用来保证包按正确次序发送,而且没有包被丢弃。它是一个单项增加的计数器,每发送一个包就增加1。当计数值到达4095(0x0FFF)时,被重置为0。 加密的数据 加密数据从协议字段开始。例如,一个IP信息包(0x0021后面是一个IP报头),MPPE处理程序便会首先加密协议字段然后加密IP报头。 如果包包含头压缩,MPPE处理程序在头压缩完成之后被应用并且也必须被用于压缩的头部。例如,如果一个包包含协议类型0x002D(一个压缩的TCP/IP头),MPPE处理程序便会首先加密0x002D然后加密压缩的Van-Jacobsen TCP/IP头。 实现注意事项 如果MPPE和MPPC在相同的链路进行协商,MPPE处理程序必须在MPPC处理程序之后由发送端激活,MPPE处理程序必须在MPPC处理程序以前由接收端激活。 4. 初始会话密钥 就当前的实现而言,初始会话密钥源自对等端的信任书;然而,其他的方法也是可能的。 例如,一些认证方法(如Kerberos[8]和TLS[9])作为认证的附加效果产生会话密钥;这些密钥在将来可能会被MPPE使用。为此,用来生成初始MPPE会话密钥的方法用分开的文档描述。 5. 使用会话密钥初始化RC4 一旦初始会话密钥话生成,RC4环境将进行如下初始化∶ rc4_key ( RC4Key, Length_Of_Key, Initial_Session_Key) 6. 加密数据 初始化后,数据使用下列函数加密并且随CCP和MPPE头发送。 EncryptedData = rc4 ( RC4Key, Length_Of_Data, Data) 7. 改变密钥 7.1.无状态方式密钥的改变 如果无状态加密已经被协商,会话密钥随着附加计数的变化而变化;即,每个包都进行变化。在无状态方式下,发送端必须在加密和发送每个包以前变化它的密钥,接收端必须在收到每个包之后,在解密以前变化它的密钥(参见下面的“同步”)。 7.2.状态方式密钥变化 如果状态加密已经协商,发送端必须在加密和发送任何低八位字节的附加计数等于0xFF的包(“标记”包)以前变化它的密钥,接收端必须在收到一个“标记”包之后,在解密以前变化它的密钥(参见下面的“同步”)。 7.3. MPPE密钥更换算法 下列方法被用来变化密钥∶ / * * 40位密钥的SessionKeyLength为8,128位密钥为16。 * *在第一次要求进行会话时的StartKey与SessionKey相同。 * / void GetNewKeyFromSHA( IN unsigned char *StartKey, IN unsigned char *SessionKey, IN unsigned long SessionKeyLength OUT unsigned char *InterimKey ) { unsigned char Digest[20]; ZeroMemory(Digest, 20); /* *SHAInit(), SHAUpdate()和SHAFinal() *是安全的散列算法[7]的一种实现 */ SHAInit(Context); SHAUpdate(Context, StartKey, SessionKeyLength); SHAUpdate(Context, SHApad1, 40); SHAUpdate(Context, SessionKey, SessionKeyLength); SHAUpdate(Context, SHApad2, 40); SHAFinal(Context, Digest); MoveMemory(InterimKey, Digest, SessionKeyLength); } RC4表使用新创的临时的密钥再初始化∶ rc4_key(RC4Key, Length_Of_Key, InterimKey) 最后,临时密钥使用新表加密产生一个新的会话密钥。 SessionKey = rc4( RC4Key, Length_Of_Key, InterimKey) 40位会话密钥的最高位的3个八位字节的新的会话密钥分别被设为0xD1, 0x26和0x9E;56位密钥的最高的八位字节被设为0xD1。 最后,RC4表使用新的话路密钥再初始化∶ rc4_key ( RC4Key, Length_Of_Key, SessionKey) 8. 同步 包可能在传输期间丢失。 以下节描述了无状态和状态方式下的同步情况。 8.1.无状态同步 如果无状态加密法已经协商并且在收到的包中的附加计数值(C1)大于上次收到的包中的附加计数(C2),为了保证接收端的会话密钥与发送端的会话密钥同步,必须在解密包以前执行N=C1- C2密钥变化操作。正常地,N值应为1;然而,如果介于其间的包已经丢失,N值可能大于1。例如,如果C1=5而C2=2,那么N=3,就需要对密钥进行更改。 如果无状态加密被协商,FLUSHED位在每个包中被设置,那么CCP重置-请求包的传输在同步方式下就不需要了。 8.2.状态同步 如果状态加密已经被协商,发送端必须在加密和发送任何低八位字节的附加计数等于0xFF的包(“标记”包)之前变化它的密钥,接收端必须在收到一个“标记”包之后,在解密以前变化它的密钥。然而,“标记”包可能丢失。 如果发生这种情况,在收到包的低八位字节的附加计数值小于在此前最后收到的包。在这种情况下,接收端在解密重新收到的包以前必须执行密钥变换(因为发送端将已经在发送包以前变化了它的密钥),然后发送一个CCP重置-请求包(见下文)。有可能256个或以上的连续的包丢失;接收端应该发现这个情况并且执行以与发送端再同步所需要的相应数的密钥更换。 如果在使用状态加密时包丢失,那么接收端必须丢弃包并且发送一个没有数据的CCP重置-请求包。在发送CCP重置-请求包之后,接收端应该静静地丢弃收到的全部的包直到一个具有FLUSHED位的包被收到。接收有FLUSHED位的包时,接收端必须设置它的附加计数值为接到的包的值以便使包和再初始化它的RC4表使用当前的会话密钥: rc4_key( RC4Key, Length_Of_Key, SessionKey) 当发送端接收到一个CCP重置-请求包时,它必须使用相同的方法再初始化自己的RC4表,并且在下一个发送的包中设置FLUSHED位。 这样就在没有CCP重置-确认包的情况下完成了同步。 9. 安全性考虑 因为采用RC4表在状态同步期间重新初始化的方法,有可能两个包使用相同的密钥加密。因此,状态方式不应该被用于有损耗的网络环境(例如,在Internet上的两个管道层)。 由于MPPE协商不是被完全保护的,一个活动的攻击者可以通过变更CCP配置选择包支持的位数字段来改变使用的密钥的强度。然而,攻击的影响可以通过适当的对等配置减到最低程度。 在MPPE协商完成前对等端不能传送用户数据。 有可能一个活动的攻击者变更包的附加计数值,导致对端之间不同步。 一个活动的denial-of-service攻击可以通过对MPPE包头中的‘D’位的值的转化来进行测定。 参考 [1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994. [2] Rand, D., "The PPP Compression Control Protocol (CCP)", RFC 1962, June 1996. [3] RC4 is a proprietary encryption algorithm available under license from RSA Data Security Inc. For licensing information, contact: RSA Data Security, Inc. 100 Marine Parkway Redwood City, CA 94065-1031 [4] Pall, G., "Microsoft Point-to-Point Compression (MPPC) Protocol", RFC 2118, March 1997. [5] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [6] Rand, D., "PPP Reliable Transmission", RFC 1663, July 1994. [7] "Secure Hash Standard", Federal Information Processing Standards Publication 180-1, National Institute of Standards and Technology, April 1995. [8] Kohl, J. and C. Neuman "The Kerberos Network Authentication System (V5)", RFC 1510, September 1993. [9] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC 2246, January 1999. [10] Simpson, W., Editor, "PPP LCP Extensions", RFC 1570, January 1994. 鸣谢 感谢Anthony Bell, Richard B. Ward, Terence Spies和Thomas Dimitri,以及全部微软公司员工对MPPE的设计和发展所作的重要地贡献。 还要感谢Robert Friend, Joe Davies, Jody Terrill, Archie Cobbs, Mark Deuser,和Jeff Haag所提出的有益的意见。 作者地址 对本备忘录提出的疑问可以写信到: Gurdeep Singh Pall Microsoft Corporation One Microsoft Way Redmond, Washington 98052 USA Phone: +1 425 882 8080 Fax: +1 425 936 7329 EMail: gurdeep@microsoft.com Glen Zorn cisco Systems 500 108th Avenue N.E. Suite 500 Bellevue, Washington 98004 USA Phone: +1 425 438 8218 Fax: +1 425 438 1848 EMail: gwz@cisco.com 版权声明 Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 致谢 Funding for the RFC Editor function is currently provided by the Internet Society. RFC3078 Microsoft Point-To-Point Encryption (MPPE) Protocol RFC3078微软点到点加密(MPPE)协议 1 RFC文档中文翻译计划
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。