第十二讲 1 电子邮件安全
2 电子商务安全网络与信息安全教程段云所 副教授北京大学计算机系
2001/5/11 北京大学第一部分 电子邮件的安全
Email 概述协议 SMTP,POP3
服务器 sendmail,Lotes Domino
客户 MS Outlook,Lotes Notes
邮件关键词
To
From
Message-Id
Date
Status
Content-Length
Reply-to
Email 威胁邮件炸弹邮件欺骗邮件服务器控制权
…
Mail安全目标 安全的电子邮件主要是解决身份鉴别和保密性的安全问题
邮件安全协议
pgp
PEM
S/MIME
MOSS
实例分析 PGP - Pretty Good Privacy
– 作者 Phil Zimmermann
– 提供可用于电子邮件和文件存储应用的保密与鉴别服务
PGP发展特点
选择最可用的加密算法作为系统的构
算法 一 用的应用程 程
于 作系统和 器 于一 用
的
程 文 Internet
一?¢ £提供全?¥? §的?¢currency1§
PGP'“应用的
fi 可用于fl –
选用算法的和安全性 · 可
'“的可用性
”?…标‰? 控制
PGP`′?述
ˉ?˙
–DSS/SHA…RSA/SHA
¨息加密
– CAST-128…IDEA…3DES + Diffie-Hellman
…RSA
–ZIP
邮件?¥
– Radix 64
分段
PGP密概要 一
PGP密概要 ˇ
—
Ks,session key
KRa,用户A的
KUa,用户A的
EP,加密
DP,解密
EC,加密
DC,加密
H,?
||,
Z,用ZIP算法
R64,用radix64 ASCII
身份的实
发a者?¨息M
用SHA-1 M? 一 160 的 H
H用发a者的 加密 与M
者用发a者的 解密 H
¨息M? 一?的 与Ho 一
¨息M
DSS/SHA-1可选
˙与¨息分?的
加密的实
用CAST-128(…IDEA…3DES) 6464 CFB
一?性密分发 算法保
发a者? ¨息M 为 ¨息? 一 128 的
机?作为 密
M?加密 用 密 CAST-128算法 …
IDEA…3DES
密 用RSA及 者的 加密 与¨息
M结合 也可用Diffie-Hellman算法
者用自己的 解密 密
用 密 解密¨息M
加密的同时实
两种服务都需要时 发a者先用自己的?˙
然后用 密 加密 再用 者的 加密
密
发˙后 加密前
邮件传输…存储都?节省空间的好
EE--mail?¥性
加密后是任意的8 ˉ节 需要 ASCII
Radix64 3ˉ节输入 4 ASCIIˉ符 带
CRC校验
长度扩大33%
与综合后 长度为
– 1.33x0.5xM = 0.665xM
分段与重?
Email 受限制于最大¨息长度 一般限制 最大50000ˉ节
更长的¨息要进′分段 每一段分别邮寄
PGP自动分段 时自动
˙只需一? 第一段
PGP¨息的传a与
加秘密 和 匙环
PGP 用四种类型的密 一?性 传统密
于过度阶段的传统密
需求
1 需要一种可预知的 密 的手段
2 需要某种手段来标识?体的密
– 一 用户拥?fl / 更 分?
3 每 PGP实体需要维 一 文件保存其
和一 文件保存 信 的
密 的?
以CAST-128为例
128 的 机?是?CAST-128自己? 的 输入包括一 128 的密 和两 64 的? 作为加密的输入 用CFB CAST-128?两 64
的加密? 两? 的结合构 128 的
密 算法 于ANSI X12.17
作为 文输入的两 64? 是从一 128
的 机?流 导出的?是 于用户的键盘输入的 键盘输入时间和内¥用来? 机流
此 用户以他 的步调敲击任意键
合 的 机性密 标识符
一 用户?fl / 时 者 何知道发a
者是用了哪 来加密 密
– 与¨息一起传a
– 一 标识符与一 关联 一 用户来 做
一一 应
定义KeyID 包括64?效 (KUa mod 2
64
)
KeyID同样也需要PGP?ˉ?˙
发a¨息的
一 ¨息包含三部分 员
– message component
– signature (optional)
– session key component (optional)
Session key
component
KeyID of recipient’s
public key (KUb)
Session key(Ks)
Timestamp
KeyID of sender’s
public key (KUa)
Leading two octets
of message digest
Message digest
Signature
Filename
Timestamp
Data
Message
E
KUb
E
KRa
ZIP E
Ks
R64
Content
Operation
PGP¨息的一般
A to B)
匙环
我们 KeyID 于PGP是 何关键
– 两 keyID包含 任何PGP¨息 提供保密与
– 需要一种系统 的 法存储和? key以保? 用
PGP 每一 节点 提供一? 结构
– 存储 节点拥?的 / 环
– 存储§节点知道的其他用户的 环
环和 环
环
UserID 是用户的邮件 也可以是一 ˙ˉ
…重用一 ˙ˉfl?
Private Key 用CAST-128(…IDEA…3DES)加密过程
– 用户选择一 用于加密
– 系统用RSA? 一?的 / 时 要求用户输入 用SHA-1? 一 160
的 后
– 系统用其 128 作为密 用CAST-128加密
然后 加密后的 存储
环
– 用户要 问 环 的 时 提供
PGP 出加密的? 解密
环
UserID 的拥?者 fl UserID可以 应一
环可以用UserID…KeyID
PGP 型 例(? PGP Message)
PGP 型 例( PGP Message)
问题
于PGP重 ',… 环 应用
的
A的 环?一 从BBS B发 的
C了 是¢存 两£ 道 C可以?A发信?¥B的?˙ A以为是来自B A与B的任何加密¨息C都可以?§
为了currency1'A的 环 包含“?的种
法可用于fi? 种fl
§ 的安全–?
1? B的
2 过电 验?
–B 其 email?A A可以用PGP? 一 160
的SHA-1·要 以16进制 一特点?作密 的
然后A?电?B,B 电
一? 可
3 从? 都信任的 体D B的
–D是…‰? 一?˙的 其 包含B的
密? 时间 D 一 SHA-1·要 用其
– 加密 ·要 其 加后?为只?D?
`˙? 可以? 一,?的 ′?
是D?˙的?˙的可以?B…D? 发?A 也可以ˉ?˙
4 从一 信任的CA ¨ B的
PGP?包含任何?权威机构… 信任体系的?提供了一?用信任关系的手段
信任与 关联?用信任信息
– Key legitimacy field PGP 信任 是一 用户是合法的 信任?别?ˇ userID
密 的—定? ˉ段是?PGP计算的
– 每一?˙与一 signature trust field关联
PGP用户?˙?˙的信任程度 Key
legitimacy field 是?fl signeture trust field 导出的
– Owner trust field?信任用于?˙其?
的信任程度 一?别的信任是?用户?出的信任关系的应用
1 A? 环 入一? 时 PGP
trust flag 标 与 的主 关
其主 是A 为最ˇ信任(ultimate
trust) PGP 问用户,用户?出信任
别 用户可选 的主 是? 识
(unknown)?信任(untrusted) 信任
(marginally trusted)… 全信任(complete trusted)
信任关系的 过程 一
2? 进入时 可一 …fl?˙ 其后
fl?˙可以以后再加入 一?˙ 入 一
£目 时 PGP 环 是? 的主
包含 的作者 包含 主 的
OWNERTRUST˙的SIGTRUSTˉ段
unknown user
信任关系的 过程 ˇ
3 key legitimacy field的 于 £目 signature trust
field 来计算?一?˙?一?˙信任
为ultimate klf的 为complete PGP计算一 信任 的权重和信任关系的 过程 三
的作a
密 …定时更?导 需要 a
的 a 法是?主?发一 密 a
与?˙ 同的 包含一? 符是要作a 的 用
意 所 应的 用来?˙一 密 a?
其主 应 可' 以
的?关 员更?他们的 环
意 手也可以发出 然? 导
他自己也? 决?此 样o起?意 用o来的
来?
第ˇ部分 电子?务的安全电子?务?构
a
¨
客户
¨
¨
客户
户?′
户?′
′
电子?务安全任务身份者′
效性机密性
性
安全协议 SET协议
(Secure Electronic Transaction 安全电子 协议)
是? 界 两大信用Visa和Master Card于1997年5
月联合制定的实 网 信用? 的 型和 范
SET 范 是一种为 于信用进′的电子 提供安全措施的 是一种?'“应用于Internet 的安全电子付款协议
SET 的核¨技术主要? 密匙加密 电子?ˉ?˙
电子信封 电子安全等
SET协议的作用和
SET 范 为 Internet 进′安全的电子?务提供了一 放的标‰ SET综合 用 用密 加密和 用密
加密的电子?技术 其?过程 用RSA和DES算法?此 可以为电子?务提供很 的安全保
SET主要是为了解决用户? 和?′之间 过信用?
付的? 计的 以保? 付信息的机密 付过程的户及? 的合法身份 以及可 作性
SET 范是目前电子?务 最重要的协议 SET 了美国IT企¢的 GTE IBM Microsoft
Netscape RSA SAIC Terisa 和VeriSign
SET协议和SSL协议的简?o
SET SSL
础 信用? 传输 信协议
用技术 用密 加密 用密 加密
用密 加密
RSA和DES算法 DES算法实质 安全电子付款协议 网络安全协议
用范围 '“应用 难于大 应作用 很 的保 的保
局限?杂 速度 慢
SET协议?像SSL受美国加密算法出 的限制 界各 都?用了128 密 加密信用? 为了?允?受 种限制 SSL只把128 加密只用 加密?¢信息?
其他的? 信息 发a 之类的信息都除外
SET协议执′步骤与 的信用? 过程 § 同只是?是 过?特网来实 的
SET协议系统 参与 的主要?四种实体
电子′ 发′? 主要
信用?的¨fi者 电子? 主要职? 网络购?的电子?店等提供电子 服务的企¢?
′主要 用 付系统的专用网关提供各? 的?
特网 线借款服务 发′负责 信用?的发放账目 付款清算等
此外 协议系统 还 ¨ CA?是一
发?机构共同委派的 其主要是
分 和 发 和参与电子 等
SET协议的参与实体
一 型的SET协议传输过程 存 fl? 与客户之间 客户与?′之间的 互隐 信息 SET
两种隐 隐 都包含 一 过?ˉ?˙的 过程
′需要的信息用?′的 加密? 的信息用?
的 加密 意味着? ¢无权 问信用?信息从?欺诈′为¢ § 避?了
除了加密? 两套信息也需要?ˉ?˙ 最后两
˙?合 来 过程 需要的?˙
SET协议的加密流程
SET协议 定的工作流程
1 用户 发a购货?和一份 过?˙ 加密的信托 的信用? 是 过加密的? 无从 知
2? 把信托?传a′′可以解密信用? 过?验˙
3′?发′ 问 确 用户信用?
是 属实
4 发′ 可 笔
5′ 可此
6用户传a货?和
7′ 款
8′按合同 货款划
9 发′?用户定期寄去信用?¨fi账?
SET协议的工作流程简… 一
一般 用环 的工作流程
1 客户选择需要购买的? 点击"购买"按钮
2 浏览器¢ 把一 初始 信息发a?WWW服务器?作SET-PDU
3 服务器响应 包括? 的?ˉ 确 客户的身份
4 客户端软件 响应¨息 然后?一 购买定? 其 包含信用? 信用者用一 的密 定?进′加密然后密 用网关的 加密 只?网关可以?§密 解密购买信息
5? 购买定? 解密 然后 用户的身份进′验? 然后
¢可以?网关发a一 身份?的信息
6 网关 的信息加密 然后 信息 然后 定?解密验?客户的身份
7 网关再 颁发信用?的 £ 样¢保?了信用?的合法性和 用期限 然后结束购买过程
8 网关从颁发信用?的 £ 身份?信息 发a信息
9用户发a订?的确 信息
SET协议的工作流程简… ˇ
于SET协议 o?杂 此?再赘诉
关SET协议的?体资料 可以 网 浏览… 载
http://www.setco.org/download/
关于SET协议的更详 …‰
作¢
1 在PGP中 公钥环和私钥环各有什么作用以及应该采取什么样的保护措施
2 请使用图解 将你所理解的SET协议的工作流程简要表达出来 并标注清楚
2 电子商务安全网络与信息安全教程段云所 副教授北京大学计算机系
2001/5/11 北京大学第一部分 电子邮件的安全
Email 概述协议 SMTP,POP3
服务器 sendmail,Lotes Domino
客户 MS Outlook,Lotes Notes
邮件关键词
To
From
Message-Id
Date
Status
Content-Length
Reply-to
Email 威胁邮件炸弹邮件欺骗邮件服务器控制权
…
Mail安全目标 安全的电子邮件主要是解决身份鉴别和保密性的安全问题
邮件安全协议
pgp
PEM
S/MIME
MOSS
实例分析 PGP - Pretty Good Privacy
– 作者 Phil Zimmermann
– 提供可用于电子邮件和文件存储应用的保密与鉴别服务
PGP发展特点
选择最可用的加密算法作为系统的构
算法 一 用的应用程 程
于 作系统和 器 于一 用
的
程 文 Internet
一?¢ £提供全?¥? §的?¢currency1§
PGP'“应用的
fi 可用于fl –
选用算法的和安全性 · 可
'“的可用性
”?…标‰? 控制
PGP`′?述
ˉ?˙
–DSS/SHA…RSA/SHA
¨息加密
– CAST-128…IDEA…3DES + Diffie-Hellman
…RSA
–ZIP
邮件?¥
– Radix 64
分段
PGP密概要 一
PGP密概要 ˇ
—
Ks,session key
KRa,用户A的
KUa,用户A的
EP,加密
DP,解密
EC,加密
DC,加密
H,?
||,
Z,用ZIP算法
R64,用radix64 ASCII
身份的实
发a者?¨息M
用SHA-1 M? 一 160 的 H
H用发a者的 加密 与M
者用发a者的 解密 H
¨息M? 一?的 与Ho 一
¨息M
DSS/SHA-1可选
˙与¨息分?的
加密的实
用CAST-128(…IDEA…3DES) 6464 CFB
一?性密分发 算法保
发a者? ¨息M 为 ¨息? 一 128 的
机?作为 密
M?加密 用 密 CAST-128算法 …
IDEA…3DES
密 用RSA及 者的 加密 与¨息
M结合 也可用Diffie-Hellman算法
者用自己的 解密 密
用 密 解密¨息M
加密的同时实
两种服务都需要时 发a者先用自己的?˙
然后用 密 加密 再用 者的 加密
密
发˙后 加密前
邮件传输…存储都?节省空间的好
EE--mail?¥性
加密后是任意的8 ˉ节 需要 ASCII
Radix64 3ˉ节输入 4 ASCIIˉ符 带
CRC校验
长度扩大33%
与综合后 长度为
– 1.33x0.5xM = 0.665xM
分段与重?
Email 受限制于最大¨息长度 一般限制 最大50000ˉ节
更长的¨息要进′分段 每一段分别邮寄
PGP自动分段 时自动
˙只需一? 第一段
PGP¨息的传a与
加秘密 和 匙环
PGP 用四种类型的密 一?性 传统密
于过度阶段的传统密
需求
1 需要一种可预知的 密 的手段
2 需要某种手段来标识?体的密
– 一 用户拥?fl / 更 分?
3 每 PGP实体需要维 一 文件保存其
和一 文件保存 信 的
密 的?
以CAST-128为例
128 的 机?是?CAST-128自己? 的 输入包括一 128 的密 和两 64 的? 作为加密的输入 用CFB CAST-128?两 64
的加密? 两? 的结合构 128 的
密 算法 于ANSI X12.17
作为 文输入的两 64? 是从一 128
的 机?流 导出的?是 于用户的键盘输入的 键盘输入时间和内¥用来? 机流
此 用户以他 的步调敲击任意键
合 的 机性密 标识符
一 用户?fl / 时 者 何知道发a
者是用了哪 来加密 密
– 与¨息一起传a
– 一 标识符与一 关联 一 用户来 做
一一 应
定义KeyID 包括64?效 (KUa mod 2
64
)
KeyID同样也需要PGP?ˉ?˙
发a¨息的
一 ¨息包含三部分 员
– message component
– signature (optional)
– session key component (optional)
Session key
component
KeyID of recipient’s
public key (KUb)
Session key(Ks)
Timestamp
KeyID of sender’s
public key (KUa)
Leading two octets
of message digest
Message digest
Signature
Filename
Timestamp
Data
Message
E
KUb
E
KRa
ZIP E
Ks
R64
Content
Operation
PGP¨息的一般
A to B)
匙环
我们 KeyID 于PGP是 何关键
– 两 keyID包含 任何PGP¨息 提供保密与
– 需要一种系统 的 法存储和? key以保? 用
PGP 每一 节点 提供一? 结构
– 存储 节点拥?的 / 环
– 存储§节点知道的其他用户的 环
环和 环
环
UserID 是用户的邮件 也可以是一 ˙ˉ
…重用一 ˙ˉfl?
Private Key 用CAST-128(…IDEA…3DES)加密过程
– 用户选择一 用于加密
– 系统用RSA? 一?的 / 时 要求用户输入 用SHA-1? 一 160
的 后
– 系统用其 128 作为密 用CAST-128加密
然后 加密后的 存储
环
– 用户要 问 环 的 时 提供
PGP 出加密的? 解密
环
UserID 的拥?者 fl UserID可以 应一
环可以用UserID…KeyID
PGP 型 例(? PGP Message)
PGP 型 例( PGP Message)
问题
于PGP重 ',… 环 应用
的
A的 环?一 从BBS B发 的
C了 是¢存 两£ 道 C可以?A发信?¥B的?˙ A以为是来自B A与B的任何加密¨息C都可以?§
为了currency1'A的 环 包含“?的种
法可用于fi? 种fl
§ 的安全–?
1? B的
2 过电 验?
–B 其 email?A A可以用PGP? 一 160
的SHA-1·要 以16进制 一特点?作密 的
然后A?电?B,B 电
一? 可
3 从? 都信任的 体D B的
–D是…‰? 一?˙的 其 包含B的
密? 时间 D 一 SHA-1·要 用其
– 加密 ·要 其 加后?为只?D?
`˙? 可以? 一,?的 ′?
是D?˙的?˙的可以?B…D? 发?A 也可以ˉ?˙
4 从一 信任的CA ¨ B的
PGP?包含任何?权威机构… 信任体系的?提供了一?用信任关系的手段
信任与 关联?用信任信息
– Key legitimacy field PGP 信任 是一 用户是合法的 信任?别?ˇ userID
密 的—定? ˉ段是?PGP计算的
– 每一?˙与一 signature trust field关联
PGP用户?˙?˙的信任程度 Key
legitimacy field 是?fl signeture trust field 导出的
– Owner trust field?信任用于?˙其?
的信任程度 一?别的信任是?用户?出的信任关系的应用
1 A? 环 入一? 时 PGP
trust flag 标 与 的主 关
其主 是A 为最ˇ信任(ultimate
trust) PGP 问用户,用户?出信任
别 用户可选 的主 是? 识
(unknown)?信任(untrusted) 信任
(marginally trusted)… 全信任(complete trusted)
信任关系的 过程 一
2? 进入时 可一 …fl?˙ 其后
fl?˙可以以后再加入 一?˙ 入 一
£目 时 PGP 环 是? 的主
包含 的作者 包含 主 的
OWNERTRUST˙的SIGTRUSTˉ段
unknown user
信任关系的 过程 ˇ
3 key legitimacy field的 于 £目 signature trust
field 来计算?一?˙?一?˙信任
为ultimate klf的 为complete PGP计算一 信任 的权重和信任关系的 过程 三
的作a
密 …定时更?导 需要 a
的 a 法是?主?发一 密 a
与?˙ 同的 包含一? 符是要作a 的 用
意 所 应的 用来?˙一 密 a?
其主 应 可' 以
的?关 员更?他们的 环
意 手也可以发出 然? 导
他自己也? 决?此 样o起?意 用o来的
来?
第ˇ部分 电子?务的安全电子?务?构
a
¨
客户
¨
¨
客户
户?′
户?′
′
电子?务安全任务身份者′
效性机密性
性
安全协议 SET协议
(Secure Electronic Transaction 安全电子 协议)
是? 界 两大信用Visa和Master Card于1997年5
月联合制定的实 网 信用? 的 型和 范
SET 范 是一种为 于信用进′的电子 提供安全措施的 是一种?'“应用于Internet 的安全电子付款协议
SET 的核¨技术主要? 密匙加密 电子?ˉ?˙
电子信封 电子安全等
SET协议的作用和
SET 范 为 Internet 进′安全的电子?务提供了一 放的标‰ SET综合 用 用密 加密和 用密
加密的电子?技术 其?过程 用RSA和DES算法?此 可以为电子?务提供很 的安全保
SET主要是为了解决用户? 和?′之间 过信用?
付的? 计的 以保? 付信息的机密 付过程的户及? 的合法身份 以及可 作性
SET 范是目前电子?务 最重要的协议 SET 了美国IT企¢的 GTE IBM Microsoft
Netscape RSA SAIC Terisa 和VeriSign
SET协议和SSL协议的简?o
SET SSL
础 信用? 传输 信协议
用技术 用密 加密 用密 加密
用密 加密
RSA和DES算法 DES算法实质 安全电子付款协议 网络安全协议
用范围 '“应用 难于大 应作用 很 的保 的保
局限?杂 速度 慢
SET协议?像SSL受美国加密算法出 的限制 界各 都?用了128 密 加密信用? 为了?允?受 种限制 SSL只把128 加密只用 加密?¢信息?
其他的? 信息 发a 之类的信息都除外
SET协议执′步骤与 的信用? 过程 § 同只是?是 过?特网来实 的
SET协议系统 参与 的主要?四种实体
电子′ 发′? 主要
信用?的¨fi者 电子? 主要职? 网络购?的电子?店等提供电子 服务的企¢?
′主要 用 付系统的专用网关提供各? 的?
特网 线借款服务 发′负责 信用?的发放账目 付款清算等
此外 协议系统 还 ¨ CA?是一
发?机构共同委派的 其主要是
分 和 发 和参与电子 等
SET协议的参与实体
一 型的SET协议传输过程 存 fl? 与客户之间 客户与?′之间的 互隐 信息 SET
两种隐 隐 都包含 一 过?ˉ?˙的 过程
′需要的信息用?′的 加密? 的信息用?
的 加密 意味着? ¢无权 问信用?信息从?欺诈′为¢ § 避?了
除了加密? 两套信息也需要?ˉ?˙ 最后两
˙?合 来 过程 需要的?˙
SET协议的加密流程
SET协议 定的工作流程
1 用户 发a购货?和一份 过?˙ 加密的信托 的信用? 是 过加密的? 无从 知
2? 把信托?传a′′可以解密信用? 过?验˙
3′?发′ 问 确 用户信用?
是 属实
4 发′ 可 笔
5′ 可此
6用户传a货?和
7′ 款
8′按合同 货款划
9 发′?用户定期寄去信用?¨fi账?
SET协议的工作流程简… 一
一般 用环 的工作流程
1 客户选择需要购买的? 点击"购买"按钮
2 浏览器¢ 把一 初始 信息发a?WWW服务器?作SET-PDU
3 服务器响应 包括? 的?ˉ 确 客户的身份
4 客户端软件 响应¨息 然后?一 购买定? 其 包含信用? 信用者用一 的密 定?进′加密然后密 用网关的 加密 只?网关可以?§密 解密购买信息
5? 购买定? 解密 然后 用户的身份进′验? 然后
¢可以?网关发a一 身份?的信息
6 网关 的信息加密 然后 信息 然后 定?解密验?客户的身份
7 网关再 颁发信用?的 £ 样¢保?了信用?的合法性和 用期限 然后结束购买过程
8 网关从颁发信用?的 £ 身份?信息 发a信息
9用户发a订?的确 信息
SET协议的工作流程简… ˇ
于SET协议 o?杂 此?再赘诉
关SET协议的?体资料 可以 网 浏览… 载
http://www.setco.org/download/
关于SET协议的更详 …‰
作¢
1 在PGP中 公钥环和私钥环各有什么作用以及应该采取什么样的保护措施
2 请使用图解 将你所理解的SET协议的工作流程简要表达出来 并标注清楚