1 / 52

第6章 电子商务安全技术

第6章 电子商务安全技术. 6.1 电子商务安全与安全技术. 6.1.1 电子商务安全问题 电子商务安全威胁 买方 卖方 电子商务应具备的安全保障 保密性( Confidentiality) 完整性( Integrity) 可用性( Availability) 与可靠性( reliability) 不可抵赖性( non-reputation) 与可控性( Controllability). 6.1电子商务安全与安全技术. 6.1.2 电子商务安全保障体系 信息安全

eshe
Download Presentation

第6章 电子商务安全技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 电子商务安全技术

  2. 6.1 电子商务安全与安全技术 • 6.1.1 电子商务安全问题 • 电子商务安全威胁 • 买方 • 卖方 • 电子商务应具备的安全保障 • 保密性(Confidentiality) • 完整性(Integrity) • 可用性(Availability)与可靠性(reliability) • 不可抵赖性(non-reputation)与可控性(Controllability)

  3. 6.1电子商务安全与安全技术 • 6.1.2 电子商务安全保障体系 • 信息安全 • 目前并没有统一的定义。从大的方面讲,是指国家的社会信息化状态不受外来的威胁与侵害;从技术层次上讲,就是防止或杜绝对信息安全属性的威胁,使得信息的主人在主观上对其信息的本源性放心 • 信息安全属性 • 信息保密性、完整与真实性、可用性、可靠性、不可否认性和可控性 • 信息安全保障体系

  4. 分类 说明 技术安全涉及的学科: 密码学理论与技术 信息隐藏理论与技术 安全协议理论与技术 安全体系结构理论与技术 信息对抗理论与技术 网络安全与安全产品 核心:密码学 监察安全 监控查验 发现违规 确定入侵 定位损害 监控威胁 犯罪起诉 起诉 量刑 管理安全 技术管理安全 多级安全用户鉴别术的管理 多级安全加密术的管理 密钥管理术的管理 行政管理安全 人员管理 系统 应急管理安全 应急的措施组织 入侵的自卫与反击 技术安全 实体安全 环境安全(温度、湿度、气压等) 建筑安全(防雷、防水、防鼠等) 网络与设备安全 软件安全 软件的安全开发与安装 软件的安全复制与升级 软件加密 软件安全性能测试 网络安全 安全协议 安全体系结构 安全产品 数据安全 数据加密 数据隐藏 数据存储安全 数据备份 运行安全 访问控制 审计跟踪 入侵告警与系统恢复等 立法安全 有关信息安全的政策、法令、法规 认知安全 办学、办班 奖惩与扬抑 信息安全宣传与普及教育

  5. 密文 …. …. 明文 接收方的公钥加密 签名后的摘要 数字摘要 发送方私钥加密 (数字签名) 散列算法 6.1电子商务安全与安全技术 • 6.1.2 电子商务安全保障体系 • 密码学是技术安全的核心 • 保密性:直接加密 • 完整与真实性 • 可用性:使用密码技术进行系统登录管理、存取授权管理

  6. 6.1电子商务安全与安全技术 • 6.1.2 电子商务安全保障体系 • 密码学是技术安全的核心 • 可信计算机系统(Trusted Computer System) 可信计算机系统(Trusted Computer System)的概念是美国国防部首先提出来的,为了保证计算机系统的保密性,美国国防部于80年代提出了一套访问控制机制来增强系统的可信性,并制定了可信计算机系统评价准则( TCSEC)。TCSEC对信息系统的几个关键环节:计算机操作系统、数据库、计算机网络的安全性均提出了可信安全评价准则。准则中,从用户登录、授权管理、访问控制、审计跟踪、隐通道分析、可信通道建立、安全检测、生命周期保障、文本写作、用户指南均提出了规范性要求。并根据所采用的安全策略,将系统分为A、B(B1、B2、B3)、C(C1、C2)、D四类七个安全级别。这些准则对研究导向、规范生产、指导用户选型、提供检查机关评价依据,都起了良好的推动作用。

  7. 6.1电子商务安全与安全技术 • 6.1.3 密码技术 • 几个概念 一段待加密的消息被称作为明文(plaintext),用某种方法对它进行伪装或隐藏的过程称作加密(encryption),加密以后的消息称为密文,而把密文再转变成明文的过程称为解密(descryption)。加密通常要采用一些算法,而这些算法需要用到不同的参数,这些不同的参数称作密钥,密钥空间是所有密钥的集合。

  8. 6.1电子商务安全与安全技术 • 6.1.3 密码技术 • 几个概念 • 分类 • 历史发展 手工加密、机械加密、电子机内乱加密、计算机加密 • 保密程度 理论上保密的加密、实际上保密的加密、不保密的加密 • 密钥使用方式 对称式加密、非对称式加密

  9. 方法 描述 对称加密 DES() 是美国国家标准局1970s开发的一种对称加密算法,采用分组乘积密码体制。数据块64位,密码64或56位。 IDEA() 由瑞士苏黎士联邦工业大学的赖学嘉和James L.Massey于1990年共同提出。数据块64位,密码长128位。 FEAL() 日本NTT公司的清水和宫口设计 Rijndael(荣代尔) 一种高级的加密标准(AES),由比利时Joan Daemen和Vincent Rijmen提出,用于代替DES,其数据块长度和密钥长度可分别为128、192、256。 RC 非对称加密 RSA 由MIT的Ron rivest、Adi Shamir、Leonard Adleman于1978年提出。安全性基础是数论和计算复杂性理论中的下述论断:“求两个大素数(>10^100)的乘积在计算上是容易的,但若要分解两个大素数的积而求出它的因子则在计算上是困难的” EL Gamal 1985年由EL Gamal提出,安全性基于“在有限域上计算离散对数比计算指数更高的困难”(DLP)。 背包系统 第一种出现的公开钥加密算法,由Ralph Merkle和Martin Hellman于1978年基于求解背包问题的难解性而提出的。 McEliece 1978年由McEliece提出。基于“将一个译码容易的线性码经过变换而伪装成一个译码困难的线性码”原理。 Diffe-Hellman 1976年出现,安全性基于“在有限域上计算离散对数比计算指数更高的困难” 椭圆曲线密码(FEE、ECC) 1985年由N.Koblitz和V.Miller提出,利用有限域上的椭圆曲线上点集所构成的群,在其上定义离散对数系统。安全性基于“在有限域上计算离散对数比计算指数更高的困难”。

  10. 6.1电子商务安全与安全技术 • 6.1.4 RSA加密 • RSA算法原理

  11. 设p和q是两个大素数,a和b是两个整数,定义密钥空间为{(p,q,a,b) | n=pq,φ(n)=(p-1)(q-1),ab=1(modφ(n))}。把(n,b)作为公开密钥,而(p,q,a,φ(n))作为秘密密钥。若对明文信息x(0<=x<n)加密,其加密算法是y=E(x)=xb mod n ,而解密算法是D(y)=ya mod n。 Euler定理:对于任何与n互素的正整数x,xφ(n) mod n=1 下面证明D(y)=x: D(y)=ya mod n =(xb mod n)a mod n = xab mod n =xkφ(n)+1 mod n =x [xkφ(n) mod n] mod n =x mod n (根据Euler定理) =x 实际上,X={0,1,…,n-1}与Y={0,1,…,n-1}中的元素是一一对应的,也就是E(x)与D(y)的算法是互逆的。由于RSA加密算法是指数运算,因此当密钥越大时,计算速度越慢。RSA算法比通常的DES算法慢了1500倍。并且RSA的计算量很大,为了要达到较高的安全程度,RSA的密钥位数比其它的密码体制大的多,现在一般需要1024位的密钥。所以一般对速度要求较高的数字签名或智能卡中的身份验证不太使用。通常对明文可使用加密速度较快的对称钥来加密,至于如何将对称钥传给接收方,可按照PKI安全体系的规定,用接收方的公钥来加密对称钥,这样可解决对称钥的分发问题。

  12. 6.1电子商务安全与安全技术 • 6.1.5 散列算法与数字签名 • MD散列算法 • 简介 MD的全称是Message-Digest Algorithm(信息摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展到MD5。算法的描述和C语言源代码在RFCs 1321中有详细的描述(http://www.ietf.org/rfc/rfc1321.txt),它是一份权威的文档,由Ronald L. Rivest在1992年8月向IEFT提交。 一个安全的散列算法应满足两个要求:一是输入两个不同的明文(一段原始的数字信息)不应得到相同的输出值(数字摘要);二是根据输出值,不能得到原始的明文,即过程不可逆。MD算法就能满足这二个要求。只要明文稍有改动,哪怕是只改动一个字母,生成的数字摘要就不一样。

  13. 6.1电子商务安全与安全技术 • 6.1.5 散列算法与数字签名 • MD散列算法 • 简介 • 应用实例

  14. 实例1:用于文件完整性验证 UNIX系统下,当下载软件的时候常伴有一个文件名相同,扩展名为.md5的文件,在这个文件中通常只有一行文本,结构如下: MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461 这是tanajiya.tar.gz文件的数字摘要。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了何等形式的改变,只要对这个文件重新计算MD5摘要,就会发现信息摘要不会相同,由此可以确定得到的文件是否正确。 实例2:用于授权访问控制(可结合密码技术)   在UNIX系统中,用户的密码是以MD5(或其它类似的算法)散列后的摘要存储到文件系统中。当用户登录的时候,系统再把用户输入的密码散列成MD5值,去与文件系统中的值进行比较,进而确定输入的密码是否正确。这样,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这样既可避免用户的密码被具有系统管理员权限的用户知道,也在一定程度上增加了密码被破译的难度。 实例3:用于数字签名在安全协议SSL、PGP中,用MD5来数字签名

  15. 6.1电子商务安全与安全技术 • 6.1.5 散列算法与数字签名 • MD散列算法 • 简介 • 应用 • MD5 算法描述

  16. MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。 •  算法: • 1)对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止填充。 • 2)在这个结果后面附加一个以64位二进制表示的填充前信息长度。 • 经过前两步的处理,现在的信息长度=N*512+448+64=(N+1)*512字节,即长度恰好是512的整数倍。 • 3)设置四个链接变量的值。在MD5中有四个32位被称作链接变量(Chaining Variable)的整数变量,分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。 •  4)对信息中的每一个512字节块进行四轮循环运算: •   将上面四个链接变量复制到四个临时变量中:A到a,B到b,C到c,D到d。

  17. 进行四轮循环运算(共64步) •   在四轮循环中进行如下的函数运算操作: • FF(a,b,c,d,Mj,s,ti),表示a=b+[a+F(b,c,d)+Mj+ti] • GG(a,b,c,d,Mj,s,ti),表示a=b+[a+G(b,c,d)+Mj+ti] • HH(a,b,c,d,Mj,s,ti),表示a=b+[a+H(b,c,d)+Mj+ti] • II(a,b,c,d,Mj,s,ti),表示a=b+[a+I(b,c,d)+Mj+ti] • 其中,F()、G()、H()、I()为四个非线性函数,分别为: • F(X,Y,Z) =(X&Y)|((~X)&Z) • G(X,Y,Z) =(X&Z)|(Y&(~Z)) • H(X,Y,Z) =X^Y^Z • I(X,Y,Z)=Y^(X|(~Z)) (&是与,|是或,~是非,^是异或) • Mj表示512字节数据块中的第j个子分组(j=0,..,15), • ti为一整常数,其取值为:在第i步中,ti=4294967296*abs(sin(i))的整数部分,i的单位是弧度。(4294967296等于2的32次方) • 由此可见,每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。

  18. 第一轮FF(a,b,c,d,M0,7,0xd76aa478) FF(d,a,b,c,M1,12,0xe8c7b756) FF(c,d,a,b,M2,17,0x242070db) FF(b,c,d,a,M3,22,0xc1bdceee) FF(a,b,c,d,M4,7,0xf57c0faf) FF(d,a,b,c,M5,12,0x4787c62a) FF(c,d,a,b,M6,17,0xa8304613) FF(b,c,d,a,M7,22,0xfd469501) FF(a,b,c,d,M8,7,0x698098d8) FF(d,a,b,c,M9,12,0x8b44f7af) FF(c,d,a,b,M10,17,0xffff5bb1) FF(b,c,d,a,M11,22,0x895cd7be) FF(a,b,c,d,M12,7,0x6b901122) FF(d,a,b,c,M13,12,0xfd987193) FF(c,d,a,b,M14,17,0xa679438e) FF(b,c,d,a,M15,22,0x49b40821) 第二轮GG(a,b,c,d,M1,5,0xf61e2562) GG(d,a,b,c,M6,9,0xc040b340) GG(c,d,a,b,M11,14,0x265e5a51) GG(b,c,d,a,M0,20,0xe9b6c7aa) GG(a,b,c,d,M5,5,0xd62f105d) GG(d,a,b,c,M10,9,0x02441453) GG(c,d,a,b,M15,14,0xd8a1e681) GG(b,c,d,a,M4,20,0xe7d3fbc8) GG(a,b,c,d,M9,5,0x21e1cde6) GG(d,a,b,c,M14,9,0xc33707d6) GG(c,d,a,b,M3,14,0xf4d50d87) GG(b,c,d,a,M8,20,0x455a14ed) GG(a,b,c,d,M13,5,0xa9e3e905) GG(d,a,b,c,M2,9,0xfcefa3f8) GG(c,d,a,b,M7,14,0x676f02d9) GG(b,c,d,a,M12,20,0x8d2a4c8a)

  19. 第三轮HH(a,b,c,d,M5,4,0xfffa3942) HH(d,a,b,c,M8,11,0x8771f681) HH(c,d,a,b,M11,16,0x6d9d6122) HH(b,c,d,a,M14,23,0xfde5380c) HH(a,b,c,d,M1,4,0xa4beea44) HH(d,a,b,c,M4,11,0x4bdecfa9) HH(c,d,a,b,M7,16,0xf6bb4b60) HH(b,c,d,a,M10,23,0xbebfbc70) HH(a,b,c,d,M13,4,0x289b7ec6) HH(d,a,b,c,M0,11,0xeaa127fa) HH(c,d,a,b,M3,16,0xd4ef3085) HH(b,c,d,a,M6,23,0x04881d05) HH(a,b,c,d,M9,4,0xd9d4d039) HH(d,a,b,c,M12,11,0xe6db99e5) HH(c,d,a,b,M15,16,0x1fa27cf8) HH(b,c,d,a,M2,23,0xc4ac5665) 第四轮II(a,b,c,d,M0,6,0xf4292244) II(d,a,b,c,M7,10,0x432aff97) II(c,d,a,b,M14,15,0xab9423a7) II(b,c,d,a,M5,21,0xfc93a039) II(a,b,c,d,M12,6,0x655b59c3) II(d,a,b,c,M3,10,0x8f0ccc92) II(c,d,a,b,M10,15,0xffeff47d) II(b,c,d,a,M1,21,0x85845dd1) II(a,b,c,d,M8,6,0x6fa87e4f) II(d,a,b,c,M15,10,0xfe2ce6e0) II(c,d,a,b,M6,15,0xa3014314) II(b,c,d,a,M13,21,0x4e0811a1) II(a,b,c,d,M4,6,0xf7537e82) II(d,a,b,c,M11,10,0xbd3af235) II(c,d,a,b,M2,15,0x2ad7d2bb) II(b,c,d,a,M9,21,0xeb86d391)

  20. 将A、B、C、D的值分别加上a、b、c、d。 • 用下一数据块继续进行四轮循环,直到结束 • 5)输出A、B、C和D的级联值。 • 几个实例: • MD5 ("") = d41d8cd98f00b204e9800998ecf8427e • MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661 • MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 • MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0 • MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b

  21. 密文 …. …. 明文 接收方的公钥加密 签名后的摘要 数字摘要 发送方私钥加密 (数字签名) 散列算法 6.1电子商务安全与安全技术 • 6.1.5 散列算法与数字签名 • MD算法 • 数字签名 • 原理

  22. 进一步的读物 • Bruce Schneier,《Applied Cryptography: Protocols, algorithms and source code in C》,1996 • Simon Singh,《The Code Book》,1999 • 冯登国,裴定一,《密码学导引》,科学出版社, 1999 • 王育民,刘建伟,《通信网的安全 -- 理论与技术》,西安电子科技大学出版社, 1999 • 梁晋,施仁,王育民等,《电子商务核心技术 – 安全电子易协议的理论与设计》,2000 • William Stallings著,杨明,胥光辉,齐望东等译,《密码编码学与网络安全:原理与实践(第二版)》,电子工业出版社,2001

  23. 6.2 公钥体系结构(PKI) • 6.2.1 使用公钥体系结构(PKI)的必要性 • 使用数字证书进行信息的交换,不能完全保证信息交易的安全。 • 使用时钟服务使其具有不可否认性,也不能完全保证信息交易的安全。 因此,在开放的Internet网上要能真正实现安全的电子商务,必须有一种安全环境,能提供加密、数字摘要、数字证书、时间戳服务、强口令等安全措施,这种环境就是PKI架构。 PKI是生成、管理、存储、分发和吊销基于公钥密码学的公钥证书所需要的硬件、软件、人员、策略和规程的总和。

  24. 6.2 公开钥体系结构(PKI) PKI(Public Key Infrastructure )是一个用公钥概念和技术来实施和提供安全服务的具有普适性的安全基础设施。它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,通过第三方的可信任机构--CA认证中心把用户的公钥和用户的其他标识信息捆绑在一起,在互联网上验证用户的身份,利用PKI平台提供的服务可进行安全的电子交易、通信和互联网上的各种活动。 PKI的基础技术包括加密、数字签名、数字信封、双重数字签名、时间戳服务、强口令等。一个典型、完整、有效的PKI应用系统至少应具有以下部分: ·公钥密码证书管理。 ·黑名单的发布和管理。 ·密钥的备份和恢复。 ·自动更新密钥。 ·自动管理历史密钥。 ·支持交叉认证。 • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介

  25. 6.2 公钥体系结构 (PKI) • 6.2.1 使用公钥体系结构(PKI)的必要性 • 6.2.2 公钥体系结构介绍 • PKI的操作模型

  26. 证书库 目录服务器 RA CA RA RA 端实体 端实体

  27. CA是认证中心的英文Certification Authority的缩写。 CA中心,又称为数字证书认证中心。CA中心作为电子交易中受信任的第三方,负责为电子商务环境中各个实体颁发数字证书,以证明各实体身份的真实性,并负责在交易中检验和管理证书;数字证书的用户拥有自己的公钥/私钥对。证书中包含有证书主体的身份信息、其公钥数据、发证机构名称等。发证机构验证证书主体为合法注册实体后,就对上述信息进行数字签名,形成证书。在公钥证书体系中,如果某公钥用户需要任何其它已向CA注册的用户的公钥,可直接向该用户索取证书,而后用CA的公钥解密解密即可得到认证的公钥;由于证书中已有CA的签名来实现认证,攻击者不具有CA的签名密钥,很难伪造出合法的证书,从而实现了公钥的认证性。数字证书认证中心是整个网上电子交易安全的关键环节,是电子交易中信赖的基础。他必须是所有合法注册用户所信赖的具有权威性、信赖性及公正性的第三方机构。 CA的核心功能就是发放和管理数字证书。概括地说,CA认证中心的功能主要有:证书发放、证书更新、证书撤销和证书验证。具体描述如下: (1)接收验证用户数字证书的申请。 (2)确定是否接受用户数字证书的申请,即证书的审批。 (3)向申请者颁发(或拒绝颁发)数字证书。 (4)接收、处理用户的数字证书更新请求。 (5)接收用户数字证书的查询、撤销。 (6)产生和发布证书的有效期。 (7)数字证书的归档。 (8)密钥归档。 (9)历史数据归档。

  28. VeriSign 是最大的公共CA ,也是最早广泛推广PKI 并建立公共CA 的公司之一。VeriSign 除了是公认的最可信公共CA 之一,还提供专用PKI 工具,包括称为OnSite 的证书颁发服务,这项服务充当了本地CA ,而且连接到了VeriSign 的公共CA 。 Baltimore Technologies 提供了名为UniCERT 的PKI 产品系列,这些产品在管理多个CA 之间的交互操作方面建立了良好的声誉。这使得它们特别适合于公共CA 和非常大型的组织。 Microsoft 已经提供了一个证书管理服务作为Windows NT 的一个附加件,并且现在已经把完整的CA 功能都合并到了Windows 2000 中。低成本(特别是对于那些拥有Windows 2000 服务器的用户)使得它们的工具对于严格意义上的内部使用极具吸引力。 ntrust Technologies 的Entrust/Authority 产品系列以其自动密钥管理的工具而著称。这对于内部的CA 操作非常有意义,并且可以通过减少与CA 的手工交互操作来降低PKI 的某些实际成本。 Thawte 是紧跟在VeriSign 后的第二大公共CA ,并且它为内部的PKI 管理提供了一个“入门级PKI 程序(Starter PKI Program )

  29. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介 • PKI的操作模型 • 数字证书 数字证书是一种电子文档。它提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是利用数字签名技术由一个权威机构—CA证书认证(Certificate Authority)中心签发。在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的。 数字证书概念最早由MIT的Kohnfelder于1978年在他的本科毕业论文中提出,内容是通过数字签名来保护命名的证书(名字/密钥对),从而可将公钥分散存放和访问,克服将公钥集中存放到一个数据库中而带来的访问性能问题。 数字证书必须具有唯一性和可靠性。

  30. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2公钥体系结构介绍 • PKI的操作模型 • 数字证书 • 证书颁发过程 用户向注册中心RA提出申请,注册中心首先为用户产生密钥对,然后生成一个csr文件,内含公共密钥及部分用户身份信息;认证中心收到RA的csr文件后,将执行一些必要的步骤,以确信请求真实,然后进行签名,生成数字证书。这样该证书内包含有用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。数字证书各不相同,可用于不同的目的,每种证书可提供不同级别的可信度。

  31. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2公钥体系结构介绍 • PKI的操作模型 • 数字证书 • 证书颁发过程 • 数字证书类型 • 按用途:个人数字证书、单位数字证书、单位员工数字证书、服务器证书、VPN证书、WAP证书、代码签名证书和表单签名证书。 • 按协议 :SSL证书、SET证书 • 按格式:X.509, PGP, SDSI/SPKI, X9.59(AADS), AC等

  32. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2公钥体系结构介绍 • PKI的操作模型 • 数字证书 • 证书颁发过程 • 数字证书类型 • X.509证书格式

  33. Version: 0(v1)、1(v2)、2(v3) Subject:用DN表示,表示谁的公钥将被认证 SubjectPublicKeyInfo:包含将被认证的公钥 Attributes:在pkcs#9中定义的属性 SignatureAlgorithm SignatureValue:用被认证的对象的私钥进行签名的值,目的是以防他人冒用此公钥来申请证书 X.509数字请求的格式(csr,Certification Service Request):

  34. Version SerialNumber:由CA所产生的唯一正整数 SignatureAlgorithm:(与上面的一致) Issuer:CA的DN Validity:有效期 SubjectPublicKeyInfo IssuerUniqueID SubjectUniqueID Extensions: …… TbsCertificate SignatureAlgorithm SignatureValue:用CA私钥签名所产生的值 X.509数字证书的格式:

  35. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2公钥体系结构介绍 • 6.2.3 公钥密码标准PKCS(public-Key cryptography Standard)http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf 虽然公钥密码技术已被广泛接受,但真正要在Internet网上广为使用,还必须有支持互操作的标准。互操作性要求应用程序严格按照一个认可的标准来表示、传输数据,这个标准就是公钥密码标准PKCS。PKCS是由RSA实验室与其它安全系统开发商为促进公钥密码的发展而制定的一系列标准,是最早的公钥密码标准,也是公钥密码发展过程中最重要的标准之一。PKCS标准涵盖了RSA密码、Diffie-Hellman密钥交换、基于口令的加密、扩展证书语法、密码报文语法、私钥信息语法、认证请求语法、选择性属性、密码令牌以及椭圆曲线密码等内容。

  36. PKCS目前共发布过15个标准: PKCS#1、CS#2:RSA Cryptography Standard RSA密码标准 PKCS#3、 PKCS#4 :Diffie-Hellman Key Agreement Standard DH密钥交换标准 PKCS#5:Password-Based Cryptography Standard 基于口令的密码标准 PKCS#6:Extended-Certificate Syntax Standard 证书扩展语法标准 PKCS#7:Cryptography Message Syntan Standard 密文信息语法标准 PKCS#8:Private-Key Information Syntax Standard 私钥信息语法标准 PKCS#9:Selected Attribute Types PKCS#10:Certification Request Syntax Standard 认证请求语法标准 PKCS#11:Cryptographic Token Interface Standard 密码令牌接口标准 PKCS#12:Personal Information Exchange Syntax Standard 个人信息交换语法标准 PKCS#13:Elliptic Curve Cryptography Standard 椭圆曲线密码标准 PKCS#14:Random Number Generation Standards 伪随机数生成标准 PKCS#15:Cryptography Token Information Format Standard 密码令牌信息格式

  37. 标准 PKCS# 其它标准 1 3 5 6 7 8 9 10 11 12 15 自由算法语法: 数字签名信息 x x 数字信封加密信息 x 认证请求 x x 数字证书 X.509,RFC1422 扩展证书 x x 证书撤消列表 X.509,RFC1422 私钥加密信息 x x 密码令牌 x x 个人交换信息 x 密钥交换信息 [ISO90a],[ISO90b] 特定算法语法: RSA公钥 x RSA私钥 x 算法: 消息摘要:MD2,5 RFCs1319,1321 私钥加密:DES RFC1423,[NIST92a] 公钥加密:RSA x 签名:MD2,4,5w/RSA x 基于口令的加密 x D-H密钥交换 x

  38. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介 • 6.2.3 公钥密码标准PKCS(public-Key cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf • 6.2.4 基于PKI的应用与协议 常见的基于PKI的应用与协议有:安全邮件标准,如MS Outlook/Netscape Messager,采用S/MIME协议;安全浏览标准,如IE/Navigator,采用SSL/TLS协议;PGP 和Kerberos等。

  39. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介 • 6.2.3 公钥密码标准PKCS(public-Key cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf • 6.2.4 基于PKI的应用与协议 • 安全邮件标准(PEM) • 介绍

  40. PEM(privacy Enhanced Mail)组织开发的一种用于Internet的安全邮件系统,具有数据加密、源点鉴别和完整性保护功能。PEM由四个RFC定义: RFC1421第一部分,定义了消息加密和鉴别过程。此文件为Internet中的电子邮件传输提供保密性增强邮件业务。 RFC1422第二部分,基于证书的密钥管理。此文件定义了基于公开钥技术的密钥管理体系和基础结构,为消息的发送者和接受者提供密钥信息。 RFC1423第三部分,算法、模式和标识。此文件为密码算法、使用模式相关的标识和参数提供了定义、格式、参考文献和引文。 RFC1424第四部分,密钥证书和相关业务。此文件介绍了支持PEM的三类业务:密钥证书、证书撤消列表(CRL)存储和CRL恢复。 PEM假设邮件的中继过程可能是不安全的,因此在邮件的发送方和接收方都增加了安全功能,但并没有对中继系统进行修改,其目的是与现有的电子邮件系统兼容。PEM原则上独立于具体的加密体制,而目前实际使用的公开钥体制是RSA,信息摘要算法是MD2和MD5,对称密钥体制是DES。

  41. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介 • 6.2.3 公钥密码标准PKCS(public-Key cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf • 6.2.4 基于PKI的应用与协议 • 安全邮件标准(PEM) • 介绍 • MINE协议与Base64编码和解码

  42. From: =?gb2312?B?oba8xsvju/rTptPDobex4Lytsr8=?= <bjbbak@yahoo.com.cn> To: <zhangbm@21cn.com> Subject: =?gb2312?B?uOW8/snzwO294bn7zajWqrWl?= Date: Fri, 30 Jul 2004 14:35:04 +0800 Message-ID: <JKEGJIIOKCADKKGKGIIIOEKJCAAA.bjbbak@yahoo.com.cn> MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 X-AIMC-AUTH: (null) X-AIMC-MAILFROM: bjbbak@yahoo.com.cn emhhbmdibUAyMWNuLmNvbSwgDQq45bz+yfPA7b3hufvNqNaqtaWho7jlvP6x4LrFo7o0MDYzNDEy DQoNCj09PT09PT09PT09PT09PT09PT09zcu45c2o1qo9PT09PT09PT09PT09PT09PT09PQ0KDQog 1cWxpsP3ICDR7rzh1fkgzazWvqO6DQrLzcnzuOW8/ii45bz+seC6xc6qo7o0MDYzNDEyKQ0KuOW8 /sP7OiDSu7j2w+bP8ldlYrf+zvG/ycCp1bm1xLXn19PJzM7xz7XNsw0Kvq3P4LnY16i80snztsG6 zbG+v6+x4M6v19u6z8bAyfO686OsyM/OqrjDzsSyu8rKus/U2rG+v6+3orHtoaO+38zl0uK8+8jn MINE(Multipurpose Internet Mail Extesion)是为了电子邮件能发送非ASCII字符而定义的。因此MINE邮件不仅能发送文本而且还能传送声音,图像,程序等二进制信息。它通过编码将二进制信息转为字符信息进行传送。接收端再经过解码得到原来的信息。MINE邮件的首部除包含了From To、Subject等信息之外,还包括MINE的首部信息。

  43. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介 • 6.2.3 公钥密码标准PKCS(public-Key cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf • 6.2.4 基于PKI的应用与协议 • 安全邮件标准(PEM) • 介绍 • MINE协议 • Base64编码和解码

  44. 数字 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 字符 A B C D E F G H I J K L M N O P 数字 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 字符 Q R S T U V W X Y Z a b c d e f 数字 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 字符 g h i j k l m n o p q r s t u v 数字 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 字符 w x y z 0 1 2 3 4 5 6 7 8 9 + / ①MINE/Base64的编码要将传送的讯息转为64个ASCII字符:'A'->'Z','a'->'z','0'~'9','+','/ ',就是说文件通过MINE/Base64编码后只能出现上述的64个字符。 ②建立符号到数字的映射: ③把需要处理的二进制流排成一行,从高位开始,每6位为一个单位,把这个6位转化为相应的数字,从上述的映射表中找出对应这个数字的的对应字符。重新整理成一个字符流。 如:有一个字符流'ABCD',它原来用ASCII码进行编码,形成二进制流: 0100,0001 0100,0010 0100,0011 0100,0100 上述二进制流以6位为单位重新整理为: 010000 010100 001001 000011 010001 00 末尾一组不足6位,在不足六位的低4位补零: 010000 010100 001001 000011 010001 000000 对应的数字为:16,20,9,3,17,0 找到映射表中对应的字母为:Q U J D R A ④字符流'ABCD'还需要补足两个字节,总的字节数才能被3整除,后面补上两个'=',所以'ABCD'的MINE/Base64编码为:QUJDRA= = 。

  45. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介 • 6.2.3 公钥密码标准PKCS(public-Key cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf • 6.2.4 基于PKI的应用与协议 • 安全邮件标准(PEM) • 安全浏览标准https与SSL

  46. 安全浏览标准是建立在SSL协议的基础上的,SSL(SecureSocketLayer)是netscape公司设计的主要用于web安全传输的一种协议,这种协议目前在WEB上获得了广泛的应用。IETF(www.ietf.org)对SSL作了标准化,取名为TLS(TransportLayerSecurity),即RFC2246。SSL或TLS介于HTTP协议与TCP之间,HTTPS如下: 在浏览器中,如果利用SSL协议来访问网页,其步骤如下:①用户在浏览器的地址栏里输入https://www.sslserver.com ②HTTP层将用户需求翻译成HTTP请求,如GET/index.htmHTTP/1.1 Hostwww.sslserver.com ③SSL层借助下层协议,通过握手协议与Web服务器协商出一份对称加密密钥,并用此密钥来加密HTTP请求。即SSL在TCP之上建立了一个加密通道,通过这一层的数据都经过了加密,因此达到保密的效果。④TCP层与Web服务器的443端口建立连接,传递SSL处理后的数据。 HTTP SSL TCP IP

  47. Client Server 说明 ClientHello--------> Certificate* CertificateVerify* ClientKeyExchange [ChangeCipherSpe] Finished--------> ApplicationData ServerHello Certificate* ServerKeyExchange* CertificateRequest* <--------ServerHelloDone [ChangeCipherSpec] <-------- Finished <------->ApplicationData Client发ClientHello握手消息,说明自己可实现的算法列表(譬如对称加密算法有DES,RC5,密钥交换算法有RSA和DH,摘要算法有MD5和SHA)和其它一些内容; Server回应一个ServerHello消息,里面确定了这次通信所用的算法(譬如这次使用DES-RSA-SHA)及自己的证书等; Client查看证书有效性,然后生成一个对称密钥消息,用服务器的公钥加密后传过去; 服务器用自己的私钥解密,获得对称密钥,以后双方可以用这一对称密钥进行通信。

  48. 6.2 公开钥体系结构 (PKI) • 6.2.1 使用公开钥体系结构(PKI)的必要性 • 6.2.2 PKI简介 • 6.2.3 公钥密码标准PKCS(public-Key cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf • 6.2.4 基于PKI的应用与协议 • 安全邮件标准(PEM) • 安全浏览标准https与SSL • PGP

  49. 著名的PKI厂商 • VeriSign (http://www.verisign.com/) • Entrust (http://www.entrust.com/) • Baltimore (http://www.baltimore.com/) • RSA Security (http://www.rsasecurity.com/)

  50. 著名的PKI实现(open source) • OpenCA Project (http://www.openca.org/) • OSCAR PKI Project (http://oscar.dstc.qut.edu.au/) • Jonah PKIX (http://web.mit.edu/pfl/) • pyCA (http://www.pyca.de/) • Mozilla Open Source PKI Project http://www.mozilla.org/projects/security/pki/

More Related