7/3/2003Internet安全协议与标准第3课唐礼勇博士tly@infosec.pku.edu.cn7/3/2003Internet安全协议及标准之安全─网络安全7/3/2003Internet安全协议及标准Page:3网络安全Agenda•通信安全•应用程序安全分发–Mobilecode•Firewall•电子商务•其他话题7/3/2003Internet安全协议及标准Page:4通信安全•OSI七层协议与信息安全物理层链路层网络层传输层会话层表示层应用层OSI协议层加密/安全技术安全协议信道加密PPTP/L2TPIPSecSSL/TLS信源加密SOCKS应用相关应用程序网关/保密网关静态包过滤动态包过滤7/3/2003Internet安全协议及标准Page:5通信安全(续一)•三类加密安全体系广域网络端-端加密数据流端-路由加密隧道路由-路由加密隧道(VPN)7/3/2003Internet安全协议及标准Page:6通信安全(续二)•应用层安全性–安全HTTP(S-HTTP)•对HTTP进行的扩展,描述了一种使用标准加密工具来传送HTTP数据的机制•是一个非常完整的实现,几乎包括了在一个很长的时间内可能需要的安全HTTP访问应该具有的所有特征•支持少,已基本消失–PGP、S/MIME•S/MIME、PGP都是针对电子邮件进行的安全协议•PGP还可用于文件加密及签名–SSH•用于安全的远程登录–其他问题7/3/2003Internet安全协议及标准Page:7通信安全(续三)•传输层安全性–SSL(安全套接字层,SecureSocketLayer)、TLS•工作在传输层,独立于上层应用,给应用提供一个安全的点点通信隧道•由协商过程和通信过程组成,协商过程用于确定加密机制、加密算法、交换会话密钥服务器认证以及可选的客户端认证,通信过程秘密传送上层数据。•理论上讲,它可以支持任何应用层协议7/3/2003Internet安全协议及标准Page:8通信安全(续四)•网络层安全性:IPSec协议族7/3/2003Internet安全协议及标准Page:9通信安全(续五)•网络层安全性:IPSec协议族–IP认证消息头(AH)协议–IP封装安全协议(ESP)–IKE(ISKAMP/Oakley)7/3/2003Internet安全协议及标准Page:10应用程序安全分发•“砂箱”(Sandbox)模型:囚牢模型–应用程序只能访问到一个受限的、经过严格检查的系统资源集合–一种积极防御策略–Unixchroot机制–Java安全机制•“代码签名”模型–代码在进行发布之前利用公开密钥机制进行签名,而网络用户在下载之前先检查签名是否真实再决定是否下载。–可防止代码被篡改,但不能防止代码自身问题–ActiveX、Java7/3/2003Internet安全协议及标准Page:11防火墙(Firewall)•用于隔离内部网与外部不可信网络•包过滤(Packetfilter)•“状态检查”(Stateful)型包过滤•电路型(Circuit)网关•应用程序(Application)代理(Proxy)•NAT(NetworkAddressTranslate)•VPN(VirtualPrivateNetwork)7/3/2003Internet安全协议及标准Page:12电子商务安全•支付协议–基于卡的支付协议•明文发送信用卡号码•经保密路径发送信用卡号码•通过第三方进行交易•安全支付协议–SET:双签名(dualsignature)–iKP–CyberCash–[Lowandetal.,1994]匿名信用卡支付协议7/3/2003Internet安全协议及标准Page:13电子商务安全(续一)•支付协议(SET)7/3/2003Internet安全协议及标准Page:14电子商务安全(续二)•支付协议(SET-DualSignature)H(OI))]||)(([PIHHEDScKR7/3/2003Internet安全协议及标准Page:15电子商务安全(续三)•支付协议(SET–PaymentProcessing–持卡人商家)7/3/2003Internet安全协议及标准Page:16电子商务安全(续四)•支付协议(SET–PaymentProcessing–商家验证持卡人)7/3/2003Internet安全协议及标准Page:17电子商务安全(续五)•支付协议(续)–基于支票的支付协议:借-贷模型,维护账目的绝对平衡•借-贷模型,支付服务器维护账目的绝对平衡。•FSTC的eCheck•NetBill系统:主要是一个研究系统,定义的是信息商品的交换•NetCheque系统•NetChex–基于现金的支付协议:使用盲签名技术,保证匿名性•DigiCash的e-Cash•USC-ISI的NetCash•Mondex及VISA的储值卡7/3/2003Internet安全协议及标准Page:18电子商务安全(续六)•业务-业务型电子商务–电子数据交换(EDI)•传统:专用增值网络•Internet:安全信道–安全Web、安全电子邮件、VPN等–分布式对象技术•CORBA–安全机制尚不成熟–DCE/RPC、Kerberos用于身份认证–IIOP用于不同在TCP/IP网络上不同ORB之间互操作–安全隧道(SSL、VPN)7/3/2003Internet安全协议及标准Page:19电子商务安全(续七)•业务-业务型电子商务(续)–分布式对象技术(续)•DCOM–Microsoft–SSPI实现通用网络认证和数据传输加密–SSPI支持Kerberos、NTLM、SSL、DPA–impersonate:使对象工作在客户安全环境下–单一实现,不需使用同GIOP类似的ORB桥•基于Java的RMI–完全定义在Java上,以Java为中心–安全隧道、“砂箱”模型7/3/2003Internet安全协议及标准Page:20其他有意思的话题•无线网络安全问题(WirelessSecurity)•XML技术与安全•关于可信任计算的讨论•系统芯片(SoC)技术与安全问题•……7/3/2003安全协议基础7/3/2003Internet安全协议及标准Page:22Agenda•何谓协议•Base64编码•加密算法同明文相关的几个问题•一个简单协议的分析7/3/2003Internet安全协议及标准Page:23何谓协议•Protocol(协议,规程,规约;[议定])–Astandardprocedureforregulatingdatatransmissionbetweencomputers–为管理调整计算机间数据交流的标准程序–Asetofsemanticandsyntacticrulesthatdeterminesthebehavioroffunctionalunitsinachievingcommunication–一组语义和语法规则,决定功能部件在通信时如何进行工作–Aspecificationfortheformatandrelativetimingofinformationexchangedbetweencommunicatingparties–通信双方之间交换信息的格式和相对定时[同步]的一种规范–Thesetofrulesgoverningtheoperationoffunctionalunitsofacommunicationsystemthatmustbefollowedifcommunicationistobeachieved–管理某一通信系统的功能部件操作的一组规则,如果要实现通信,必须遵循这些规则7/3/2003Internet安全协议及标准Page:24安全协议•安全协议首先是协议–标准程序–语义、语法规则–双边或多边–数据交换•安全协议是–协议中与安全相关的部分?–同安全相关的协议?•安全协议的基石–通信技术–加密、摘要计算、公开密钥加密和数字签名技术的组合应用–加密原语、安全服务、安全机制7/3/2003Internet安全协议及标准Page:25Base64编码7/3/2003Internet安全协议及标准Page:26Base64编码(续)•Base64编码使消息长度增加了约33%7/3/2003Internet安全协议及标准Page:27分组密码的工作模式7/3/2003Internet安全协议及标准Page:28分组密码的明文填充•最流行的做法:–确定待填充的字节数并在数据的最后字节后重复该值–当不需要填充时怎么办?7/3/2003Internet安全协议及标准Page:29RSA算法应用中的问题•RSA算法:–选择两个大素数p和q,通常要求每个均大于10100。–计算n=pq和z=(p-1)(q-1)。–选择一与z互质的数、令其为e。–找到一个d满足e×d=1(modz)。–公钥:(e,n)私钥:(d,n)–加密M:计算C=Me(modn)–解密C:计算M=Cd(modn)=Med(modn)=M7/3/2003Internet安全协议及标准Page:30RSA算法应用中的问题(续一)•M是一个数,真正的数据Data是二进制字节串,二者如何对应?–需要建立从Data到M的编码规则•经该规则转换后得到的M大小应和n相当,但不能比n更大,Why?•转换规则在PKCS#1中有定义7/3/2003Internet安全协议及标准Page:31RSA算法应用中的问题(续二)•PKCS#1–Dataconversionprimitives•I2OSP(x,l)•OSP2I(X)–En/Decryptionprimitives•RSAEP((n,e),m)•RSADP(K,c)–K:(n,d)or(p,q,dP,dQ,qInv)–Signature/verificationprimitives•RSASP1(K,m)•RSAVP1((n,e),s)–Other…7/3/2003Internet安全协议及标准Page:32RSA算法应用中的问题(续三)•PKCS#1编码方法–填充模式•00||Type||PS||00||D•PS至少应包含8个字节–类型1:用于签名•M=00||01||PS||00||D•PS为由0xFF组成的填充数据–类型2:用于加密•M=00||02||PS||00||D•EME-PKCS1-v1_5:PKCS1v2.0以前,PS为不含0的伪随机数序列–100万次消息攻击,可计算出私钥–EME-OAEP:PKCS1v2.0起,加密时使用OAEP填充7/3/2003Internet安全协议及标准Page:33RSA算法应用中的问题(续四)maskedDB\xorMGFSeedDBMGF\xormaskedSeedPaddingOperationPDHashMOAEP7/3/2003Internet安全协议及标准Page:34RSA算法应用中的问题(续五)•签名方案–RSA签名不仅仅是对消息摘要进行加密–而是加密一个DER(BER,v1.5中)编码的DigestInfo结构DigestInfo::=SEQUENCE{digestAlgorithmDigestAlgorithmIdentifier,digestDigest}DigestAlgorithmIdentifier::=AlgorithmIdentifierDigest::=OCTETSTRING想一想,为什么?7/3/2003Internet安全协议及标准Page:35RSA算法应用中的问题(续六)•大整数运算–多数加密算法库都包含了•openssl•Crypto++•RSAREF–gmp7/3/2003Internet安全协议及标准Page:36安全消息系统-发送方•待续7/3/2003Internet安全协议及标准Page:37ChangeLog•2003.7.3v1.1byT.L.Yong–增加”大整数运算”–移走部分内容到第四课中•2003.7.