第6章 电子商务安全技术

52
第 6 第 第第第第第第第第

Upload: eshe

Post on 16-Mar-2016

59 views

Category:

Documents


3 download

DESCRIPTION

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

TRANSCRIPT

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

第 6 章 电子商务安全技术

Page 2: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.1 6.1.1 电子商务安全问题 电子商务安全问题

电子商务安全威胁 买方 卖方

电子商务应具备的安全保障 保密性 (Confidentiality) 完整性 (Integrity) 可用性 (Availability) 与可靠性 (reliability) 不可抵赖性 (non-reputation) 与可控性 (Controllability)

Page 3: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.2 6.1.2 电子商务安全保障体系 电子商务安全保障体系

信息安全 目前并没有统一的定义。从大的方面讲,是指国家的社会信息化状态不受外来的威胁与侵害;从技术层次上讲,就是防止或杜绝对信息安全属性的威胁,使得信息的主人在主观上对其信息的本源性放心

信息安全属性 信息保密性、完整与真实性、可用性、可靠性、不可否认性和可控性

信息安全保障体系

Page 4: 第6章 电子商务安全技术

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

技术安全涉及的学科: 密码学理论与技术 信息隐藏理论与技术 安全协议理论与技术 安全体系结构理论与技术 信息对抗理论与技术 网络安全与安全产品核心:密码学

Page 5: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.2 6.1.2 电子商务安全保障体系电子商务安全保障体系

密码学是技术安全的核心 保密性:直接加密 完整与真实性

可用性:使用密码技术进行系统登录管理、存取授权管理

….….明文

数字摘要 签名后的摘要

密文

散列算法 发送方私钥加密(数字签名)

接收方的公钥加密

Page 6: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.2 6.1.2 电子商务安全保障体系电子商务安全保障体系

密码学是技术安全的核心 可信计算机系统( Trusted Computer System )

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

Page 7: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.3 6.1.3 密码技术 密码技术

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

Page 8: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.3 6.1.3 密码技术 密码技术

几个概念 分类

历史发展 手工加密、机械加密、电子机内乱加密、计算机加密 保密程度 理论上保密的加密、实际上保密的加密、不保密的加密 密钥使用方式 对称式加密、非对称式加密

Page 9: 第6章 电子商务安全技术

方法 描述对称加密 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 提出,利用有限域上的椭圆曲线上点集所构成的群,在其上定义离散对数系统。安全性基于“在有限域上计算离散对数比计算指数更高的困难”。

Page 10: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.4 6.1.4 RSARSA 加密加密

RSA 算法原理

Page 11: 第6章 电子商务安全技术

设 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 安全体系的规定,用接收方的公钥来加密对称钥,这样可解决对称钥的分发问题。

Page 12: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.5 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 算法就能满足这二个要求。只要明文稍有改动,哪怕是只改动一个字母,生成的数字摘要就不一样。

Page 13: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.5 6.1.5 散列算法与数字签名散列算法与数字签名

MD 散列算法 简介 应用实例

Page 14: 第6章 电子商务安全技术

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

Page 15: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.5 6.1.5 散列算法与数字签名散列算法与数字签名

MD 散列算法 简介 应用 MD5 算法描述

Page 16: 第6章 电子商务安全技术

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 。

Page 17: 第6章 电子商务安全技术

• 进行四轮循环运算 ( 共 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 中之一。

Page 18: 第6章 电子商务安全技术

第一轮 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)

Page 19: 第6章 电子商务安全技术

第三轮 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)

Page 20: 第6章 电子商务安全技术

• 将 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

Page 21: 第6章 电子商务安全技术

6.1 电子商务安全与安全技术 6.1.5 6.1.5 散列算法与数字签名散列算法与数字签名

MD 算法 数字签名

原理 ….….明文

数 字 摘要签 名 后 的 摘要

密文

散列算法 发送方私钥加密(数字签名)

接收方的公钥加密

Page 22: 第6章 电子商务安全技术

进一步的读物 Bruce Schneier,Bruce Schneier, 《《 Applied Cryptography: Protocols, algorithms and Applied Cryptography: Protocols, algorithms and

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

Page 23: 第6章 电子商务安全技术

6.2  公钥体系结构( PKI )

6.2.1 6.2.1 使用公钥体系结构使用公钥体系结构 ((PKI)PKI) 的必要性的必要性 使用数字证书进行信息的交换,不能完全保证信息交易的安全。 使用时钟服务使其具有不可否认性,也不能完全保证信息交易的安全。

因此,在开放的 Internet 网上要能真正实现安全的电子商务,必须有一种安全环境,能提供加密、数字摘要、数字证书、时间戳服务、强口令等安全措施,这种环境就是 PKI架构。 PKIPKI 是生成、管理、存储、分发和吊销基于公钥密码学是生成、管理、存储、分发和吊销基于公钥密码学的公钥证书所需要的硬件、软件、人员、策略和规程的总和的公钥证书所需要的硬件、软件、人员、策略和规程的总和。。

Page 24: 第6章 电子商务安全技术

6.2  公开钥体系结构( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介 简介

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

Page 25: 第6章 电子商务安全技术

6.2  公钥体系结构 ( PKI )

6.2.1 6.2.1 使用公钥体系结构使用公钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 公钥体系结构介绍公钥体系结构介绍

PKI 的操作模型

Page 26: 第6章 电子商务安全技术

端实体端实体

目录服务器证书库

RA

CA RA

RA

Page 27: 第6章 电子商务安全技术

CA 是认证中心的英文 Certification Authority 的缩写。 CA 中心,又称为数字证书认证中心。 CA 中心作为电子交易中受信任的第三方,负责为电子商务环境中各个实体颁发数字证书,以证明各实体身份的真实性,并负责在交易中检验和管理证书;数字证书的用户拥有自己的公钥 / 私钥对。证书中包含有证书主体的身份信息、其公钥数据、发证机构名称等。发证机构验证证书主体为合法注册实体后,就对上述信息进行数字签名,形成证书。 在公钥证书体系中,如果某公钥用户需要任何其它已向 CA注册的用户的公钥,可直接向该用户索取证书,而后用 CA 的公钥解密解密即可得到认证的公钥;由于证书中已有 CA 的签名来实现认证,攻击者不具有 CA 的签名密钥,很难伪造出合法的证书,从而实现了公钥的认证性。 数字证书认证中心是整个网上电子交易安全的关键环节 , 是电子交易中信赖的基础。他必须是所有合法注册用户所信赖的具有权威性、信赖性及公正性的第三方机构。

CA 的核心功能就是发放和管理数字证书。概括地说, CA 认证中心的功能主要有:证书发放、证书更新、证书撤销和证书验证。具体描述如下:( 1 )接收验证用户数字证书的申请。( 2 )确定是否接受用户数字证书的申请,即证书的审批。( 3 )向申请者颁发(或拒绝颁发)数字证书。( 4 )接收、处理用户的数字证书更新请求。( 5 )接收用户数字证书的查询、撤销。( 6 )产生和发布证书的有效期。( 7 )数字证书的归档。( 8 )密钥归档。( 9 )历史数据归档。

Page 28: 第6章 电子商务安全技术

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 )

Page 29: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介简介

PKI 的操作模型 数字证书

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

Page 30: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.26.2.2 公钥体系结构介绍公钥体系结构介绍

PKI 的操作模型 数字证书

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

Page 31: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.26.2.2 公钥体系结构介绍公钥体系结构介绍

PKI 的操作模型 数字证书

证书颁发过程 数字证书类型

按用途:个人数字证书、单位数字证书、单位员工数字证书、服务器证书、 VPN 证书、 WAP 证书、代码签名证书和表单签名证书。 按协议 : SSL 证书、 SET 证书 按格式: X.509, PGP, SDSI/SPKI, X9.59(AADS), AC 等

Page 32: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.26.2.2 公钥体系结构介绍公钥体系结构介绍

PKI 的操作模型 数字证书

证书颁发过程 数字证书类型 X.509 证书格式

Page 33: 第6章 电子商务安全技术

X.509 数 字 请 求 的 格 式 (csr,Certification Service Request) :

Version: 0(v1) 、 1(v2) 、 2(v3)Subject:用 DN 表示,表示谁的公钥将被认证SubjectPublicKeyInfo:包含将被认证的公钥Attributes:在 pkcs#9 中定义的属性SignatureAlgorithm

SignatureValue: 用被认证的对象的私钥进行签名的值,目的是以防他人冒用此公钥来申请证书

Page 34: 第6章 电子商务安全技术

X.509 数字证书的格式: VersionSerialNumber :由CA所产生的唯一正整数SignatureAlgorithm : ( 与上面的一致 )Issuer : CA 的 DNValidity :有效期SubjectPublicKeyInfoIssuerUniqueIDSubjectUniqueIDExtensions: ……

TbsCertificate 

SignatureAlgorithm

SignatureValue:用 CA 私钥签名所产生的值

Page 35: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.26.2.2 公钥体系结构介绍公钥体系结构介绍 6.2.3 6.2.3 公钥密码标准公钥密码标准 PKCS(public-Key PKCS(public-Key

cryptography Standard)cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.phttp://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf df 虽然公钥密码技术已被广泛接受,但真正要在 Internet 网上广为使用,还必须有支持互操作的标准。互操作性要求应用程序严格按照一个认可的标准来表示、传输数据,这个标准就是公钥密码标准

PKCS 。 PKCS 是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制定的一系列标准,是最早的公钥密码标准,也是公钥密码发展过程中最重要的标准之一。 PKCS 标准涵盖了 RSA 密码、 Diffie-Hellman 密钥交换、基于口令的加密、扩展证书语法、密码报文语法、私钥信息语法、认证请求语法、选择性属性、密码令牌以及椭圆曲线密码等内容。

Page 36: 第6章 电子商务安全技术

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 TypesPKCS#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 密码令牌信息格式

Page 37: 第6章 电子商务安全技术

标准 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

Page 38: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介简介 6.2.3 6.2.3 公钥密码标准公钥密码标准 PKCS(public-Key PKCS(public-Key

cryptography Standard) cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdfhttp://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf

6.2.4 6.2.4 基于基于 PKIPKI 的应用与协议 的应用与协议 常见的基于 PKI 的应用与协议有:安全邮件标准,如 MS Outlook/Netscape Messager ,采用S/MIME 协议;安全浏览标准,如 IE/Navigator ,采用 SSL/TLS 协议; PGP 和 Kerberos 等。

Page 39: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介简介 6.2.3 6.2.3 公钥密码标准公钥密码标准 PKCS(public-Key PKCS(public-Key

cryptography Standard) cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdfhttp://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf

6.2.4 6.2.4 基于基于 PKIPKI 的应用与协议的应用与协议 安全邮件标准( PEM )

介绍

Page 40: 第6章 电子商务安全技术

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

Page 41: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介简介 6.2.3 6.2.3 公钥密码标准公钥密码标准 PKCS(public-Key PKCS(public-Key

cryptography Standard) cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdfhttp://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf

6.2.4 6.2.4 基于基于 PKIPKI 的应用与协议的应用与协议 安全邮件标准( PEM )

介绍 MINE 协议与 Base64编码和解码

Page 42: 第6章 电子商务安全技术

From: =?gb2312?B?oba8xsvju/rTptPDobex4Lytsr8=?= <[email protected]>To: <[email protected]>Subject: =?gb2312?B?uOW8/snzwO294bn7zajWqrWl?=Date: Fri, 30 Jul 2004 14:35:04 +0800Message-ID: <[email protected]>MIME-Version: 1.0Content-Type: text/plain;

charset="gb2312"Content-Transfer-Encoding: base64X-Priority: 3 (Normal)X-MSMail-Priority: NormalX-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0)Importance: NormalX-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441X-AIMC-AUTH: (null)X-AIMC-MAILFROM: [email protected] emhhbmdibUAyMWNuLmNvbSwgDQq45bz+yfPA7b3hufvNqNaqtaWho7jlvP6x4LrFo7o0MDYzNDEyDQoNCj09PT09PT09PT09PT09PT09PT09zcu45c2o1qo9PT09PT09PT09PT09PT09PT09PQ0KDQog1cWxpsP3ICDR7rzh1fkgzazWvqO6DQrLzcnzuOW8/ii45bz+seC6xc6qo7o0MDYzNDEyKQ0KuOW8/sP7OiDSu7j2w+bP8ldlYrf+zvG/ycCp1bm1xLXn19PJzM7xz7XNsw0Kvq3P4LnY16i80snztsG6zbG+v6+x4M6v19u6z8bAyfO686OsyM/OqrjDzsSyu8rKus/U2rG+v6+3orHtoaO+38zl0uK8+8jn

MINE(Multipurpose Internet Mail Extesion) 是为了电子邮件能发送非ASCII 字符而定义的。因此 MINE邮件不仅能发送文本而且还能传送声音,图像,程序等二进制信息。它通过编码将二进制信息转为字符信息进行传送。接收端再经过解码得到原来的信息。 MINE邮件的首部除包含了 From To 、 Subject 等信息之外,还包括MINE 的首部信息。

Page 43: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介简介 6.2.3 6.2.3 公钥密码标准公钥密码标准 PKCS(public-Key PKCS(public-Key

cryptography Standard) cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdfhttp://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf

6.2.4 6.2.4 基于基于 PKIPKI 的应用与协议的应用与协议 安全邮件标准( PEM )

介绍 MINE 协议 Base64编码和解码

Page 44: 第6章 电子商务安全技术

① MINE/Base64 的编码要将传送的讯息转为 64 个 ASCII 字符: 'A'->'Z' , 'a'->'z' , '0'~'9' , '+' , '/ ' ,就是说文件通过 MINE/Base64编码后只能出现上述的 64 个字符。②建立符号到数字的映射:

数字 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 + /

③把需要处理的二进制流排成一行,从高位开始,每 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= = 。

Page 45: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介简介 6.2.3 6.2.3 公钥密码标准公钥密码标准 PKCS(public-Key PKCS(public-Key

cryptography Standard) cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdfhttp://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf

6.2.4 6.2.4 基于基于 PKIPKI 的应用与协议的应用与协议 安全邮件标准( PEM ) 安全浏览标准 https 与 SSL

Page 46: 第6章 电子商务安全技术

安 全 浏 览 标 准 是 建 立 在 SSL 协 议 的 基 础 上的, SSL(Secure Socket Layer) 是 netscape 公司设计的主要用于web 安全传输的一种协议,这种协议目前在 WEB 上获得了广泛的应用。 IETF(www.ietf.org) 对 SSL 作 了 标 准 化 , 取 名 为TLS ( Transport Layer Security ),即 RFC2246 。 SSL 或 TLS 介于 HTTP 协议与 TCP 之间, HTTPS 如下:

在浏览器中 ,如果利用 SSL 协 议 来 访 问 网页, 其步骤如下: ① 用 户 在 浏 览 器 的 地 址 栏 里 输 入 https://www.sslserver.com ②HTTP 层 将 用 户 需 求 翻 译 成 HTTP 请 求 , 如 GET /index.htm HTTP/1.1

Host www.sslserver.com

③SSL 层借助下层协议,通过握手协议与 Web服务器协商出一份对称加密密钥,并用此密钥来加密 HTTP请求。即 SSL 在 TCP 之上建立了一个加密通道,通过这一层的数据都经过了加密,因此达到保密的效果。④ TCP 层与 Web服务器的 443端口建立连接,传递 SSL 处理后的数据。

HTTPSSLTCPIP

Page 47: 第6章 电子商务安全技术

Client  Server 说明ClientHello -------->         Certificate*CertificateVerify*ClientKeyExchange[ChangeCipherSpe] Finished -------->  Application Data

ServerHelloCertificate*

ServerKeyExchange*CertificateRequest*

<--------  ServerHelloDone

      

 [ChangeCipherSpec] <--------

           Finished<-------

> Application Data

Client 发 ClientHello 握手消息,说明自己可实现的算法列表 (譬如对称加密算法有 DES,RC5, 密钥交换算法有 RSA 和 DH ,摘要算法有 MD5 和SHA) 和其它一些内容;

Server 回应 一 个 ServerHello 消息,里面确定了这次通信所用的算法 (譬如这次使用 DES - RSA - SHA)及自己的证书等; Client 查看证书有效性,然后生成一个对称密钥消息,用服务器的公钥加密后传过去; 服务器用自己的私钥解密,获得对称密钥,以后双方可以用这一对称密钥进行通信。

Page 48: 第6章 电子商务安全技术

6.2  公开钥体系结构 ( PKI )

6.2.1 6.2.1 使用公开钥体系结构使用公开钥体系结构 ((PKI)PKI) 的必要性的必要性 6.2.2 6.2.2 PKIPKI 简介简介 6.2.3 6.2.3 公钥密码标准公钥密码标准 PKCS(public-Key PKCS(public-Key

cryptography Standard) cryptography Standard) http://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdfhttp://www.infosecurity.org.cn/content/pki_pmi/pkcs_intro.pdf

6.2.4 6.2.4 基于基于 PKIPKI 的应用与协议的应用与协议 安全邮件标准( PEM ) 安全浏览标准 https 与 SSL PGP

Page 49: 第6章 电子商务安全技术

著名的 PKI厂商 VeriSign (VeriSign (http://www.http://www.verisignverisign.com/.com/)) Entrust (Entrust (http://www.entrust.com/http://www.entrust.com/)) Baltimore (Baltimore (http://www.http://www.baltimorebaltimore.com/.com/)) RSA Security (RSA Security (http://www.http://www.rsasecurityrsasecurity.com/.com/))

Page 50: 第6章 电子商务安全技术

著名的 PKI 实现 (open source)

OpenCA Project (OpenCA Project (http://www.http://www.opencaopenca.org/.org/)) OSCAR PKI Project (OSCAR PKI Project (http://http://oscaroscar..dstcdstc..qutqut..eduedu.au/.au/)) Jonah PKIX (http://web.mit.edu/pfl/)Jonah PKIX (http://web.mit.edu/pfl/) pyCA (pyCA (http://www.http://www.pycapyca.de/.de/)) Mozilla Open Source PKI ProjectMozilla Open Source PKI Project

http://www.http://www.mozillamozilla.org/projects/security/.org/projects/security/pkipki//

Page 51: 第6章 电子商务安全技术

著名的密码算法 Toolkit

OpenSSL Project (Open Source)OpenSSL Project (Open Source)

http://www.openssl.org/http://www.openssl.org/ CDSA (Open Source)CDSA (Open Source)

http://developer.intel.com/ial/security/http://developer.intel.com/ial/security/ RSA BSAFE (Commercial Version)RSA BSAFE (Commercial Version)

http://www.rsasecurity.com/products/bsafe/index.htmlhttp://www.rsasecurity.com/products/bsafe/index.html

Page 52: 第6章 电子商务安全技术

Any Questions or

Comments?