windows网络编程第9章

上传人:今*** 文档编号:107210332 上传时间:2019-10-18 格式:PPT 页数:142 大小:1.75MB
返回 下载 相关 举报
windows网络编程第9章_第1页
第1页 / 共142页
windows网络编程第9章_第2页
第2页 / 共142页
windows网络编程第9章_第3页
第3页 / 共142页
windows网络编程第9章_第4页
第4页 / 共142页
windows网络编程第9章_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《windows网络编程第9章》由会员分享,可在线阅读,更多相关《windows网络编程第9章(142页珍藏版)》请在金锄头文库上搜索。

1、,Windows网络编程实用教程,授课教师: 职务:,第9章 安全套接层协议SSL,课程描述 在第5章和第8章中已经介绍了Socket(套接字)编程基础和编程模型。使用这些技术可以很方便地构建高效、实用的客户机/服务器应用程序。但是普通的Socket模型使用明文传输数据,信息很容易被拦截和监听。随着电子商务的普及,在线支付势在必行,网络安全变得尤为重要。本章所介绍的安全套接层协议SSL可以用来保障在Internet上数据传输的安全,利用数据加密技术,可确保数据在网络上的传输过程中不会被截取及窃听。,本章知识点,9.1 什么是SSL 9.2 数字证书 9.3 OpenSSL 编程基础 9.4 O

2、penSSL 编程实例,9.1 什么是SSL,9.1.1 SSL简介和相关概念 9.1.2 SSL的握手过程,9.1.1 SSL简介和相关概念,打开IE的Internet选项对话框选择使用的SSL版本,SSL协议的体系结构,1SSL证书,SSL证书是数字证书的一种,在建立SSL连接时,Web服务器需要一个SSL证书,用于证明网站的真实身份,提高用户对网站的信任度;有效避免钓鱼网站、仿冒网站等网络诈骗行为的威胁; 建立SSL安全通道,确保客户与网站之间的信息加密传输,保证安全。,2密钥,密钥是数据加密解密过程中的一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据。密钥分为两种:对

3、称密钥与非对称密钥。,对称密钥加密,非对称密钥加密,3CSR文件,CSR是Cerificate Signing Request的英文缩写,即证书签发请求文件。证书申请者在申请数字证书时,由CSP(加密服务提供者)在生成私钥的同时生成CSR文件。证书申请者只要把CSR文件提交给证书颁发机构,证书颁发机构就可以使用其根证书私钥签名生成证书公钥文件,也就是颁发给用户的证书。,4利用MAC算法验证消息完整性,MAC是Message Authentication Codes的缩写,即消息认证码。MAC算法是带私钥的Hash函数,消息的散列值由只有通信双方知道的秘私钥K来控制。此时Hash值称作MAC。

4、Hash,一般翻译做“散列“,也有直接音译为“哈希“的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。,5基于SSL的应用层协议,9.1.2 SSL的握手过程,在不同情况下,SSL握手过程存在差异。下面介绍以下3种情况的握手过程: (1)只验证服务器的SSL握手过程。 (2)验证服务器和客户端的SSL握手过程。 (3)恢复原有会话的SSL握手过程。,1只验证服务器的SSL握手过程,2验证服务器和客户端的SSL握手过程,3恢复原有会话的SSL握手过程,9.2 数字证书,9.2.1 基本概念 9.2.2 数字证书的分类 9.2.3 数字证书的授权机构 9.2.4 部署

5、基于数字证书的HTTPS网站,9.2.1 基本概念,数字证书是一个经证书授权中心数字签名的包含公钥拥有者信息以及公钥的文件。最简单的证书包含一个公钥、名称以及证书授权中心的数字签名。数字证书由一个权威机构CA机构,发行的。,CA,CA是Certificate Authority的缩写,即证书授权中心。作为网络营销交易中受信任的第三方,来解决公钥体系中公钥合法性的检验问题。CA机构是承担网上安全交易认证服务、签发数字证书、确认用户身份的服务机构,是一个具有权威性、公正性的第三方。截至2014年3月11日,国家工业和信息化部以资质合规的方式,陆续向30多家相关机构颁发了从业资质,1加密、解密,当发

6、送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。,2数字签名,用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点: (1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认; (2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。,9.2.2 数字证书的分类,根据数字证书的应用情况,可以将其分为 个人证书 企业或机构身份证书 支付网关证

7、书 服务器证书 企业或机构代码签名证书 安全电子邮件证书 个人代码签名证书,1个人证书,个人证书在网络通讯中标识个人的身份,证书中包含个人身份信息和个人的公钥,用于标识证书持有人的个人身份。数字安全证书和对应的私钥存储于E-key或U盾等安全客户端中,用于个人在网上进行合同签定、定单、录入审核、操作权限、支付信息等活动中标明身份。,2企业或机构身份证书,颁发给企事业单位、政府部门、社会团体等各类组织机构。用于标志证书持有人在进行信息交换、电子签名、电子政务、电子商务等网络活动中的身份,证书可存放在硬盘、USB Key、IC卡等各类介质中。,3支付网关证书,证书签发中心针对支付网关签发的数字证书

8、,是支付网关实现数据加解密的主要工具,用于数字签名和信息加密。支付网关证书仅用于支付网关提供的服务(Internet 上各种安全协议与银行现有网络数据格式的转换)。支付网关证书只能在有效状态下使用且不可被申请者转让。 支付网关(Payment Gateway)是银行金融网络系统和Internet网络之间的接口,是由银行操作的将Internet上传输的数据转换为金融机构内部数据的一组服务器设备,或由指派的第三方处理商家的支付信息和顾客的支付指令。,4服务器证书,组成Web服务器的SSL安全功能的唯一数字标识。通过相互信任的第三方组织获得,并为用户提供验证Web站点身份的手段。服务器证书包含详细的

9、身份验证信息,如服务器内容附属的组织、颁发证书的组织以及称为公钥信息。服务器证书可以确保用户关于web服务器内容的验证,而且建立的HTTP连接是安全的。,5企业或机构代码签名证书,代码签名证书是CA中心签发给软件提供商的数字证书,包含软件提供商的身份信息、公钥及CA的签名。软件提供商使用代码签名证书对软件进行签名后放到Internet上,当用户在Internet上下载该软件时,将会得到提示,从而可以确信软件的来源,以及软件自签名后到下载前,没有遭到修改或破坏。 代码签名证书可以对 32位的.exe 、.cab 、.ocx和.class 等程序和文件进行签名。,6安全电子邮件证书,在互联网上发送

10、电子邮件就像邮寄明信片一样,很容易被别人随意阅读甚至篡改。使用安全电子邮件证书可以确保邮件的安全性。 安全电子邮件证书可以安装在标准的互联网浏览器中,可以方便地应用于 Netscape Messenger、Microsoft Outlook、Outlook Express等遵循安全电子邮件扩展协议的程序中。使用证书后,可以对电子邮件的内容和附件进行加密,确保在传输的过程中不被他人阅读、截取和篡改。也可以对电子邮件进行签名,使得接收方可以确认该电子邮件是由发送方发送的,并且在传送过程中未被篡改。,7个人代码签名证书,CA中心签发给软件提供人的数字证书,包含软件提供个人的身份信息、公钥及 CA 的

11、签名。软件提供人使用代码签名证书对软件进行签名后放到 Internet 上,当用户在 Internet 上下载该软件时,将会得到提示,从而可以确信:软件的来源;以及软件自签名后到下载前,没有遭到修改或破坏。代码签名证书可以对 32位的 .exe 、 .cab 、 .ocx 、 .class 等程序和文件进行签名。,9.2.3 数字证书的授权机构,数字证书由CA机构(Certificate Authority,证书授权中心)颁发。CA机构作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。,CA机构签发数字证书,9.2.4 部署基于数字证书的HTTPS网站,HTTPS网站的流

12、程的工作流程,(1)HTTPS网站生成一个证书申请文件,并将其发送到CA机构。 (2)CA机构为HTTPS网站生成一个根证书,其中包含与HTTPS网站进行通讯的公钥。同时CA机构为HTTPS网站颁发一个普通证书。普通证书继承自根证书。 (3)客户端获得HTTPS网站的根证书,并导入客户端“根受信任的颁发者”列表。 (4)客户端访问HTTPS网站时会获得与其绑定的普通证书,并使用根证书对普通证书进行验证,确定是否信任该网站。,IE浏览器在验证证书的时候主要从下面3个方面检查,(1)证书的颁发者是否在“根受信任的证书颁发机构列表”中; (2)证书是否过期; (3)证书的持有者是否和访问的网站一致。

13、,1在Windows Server 2003中IIS 6.0,在“控制面板”中点击“添加或删除程序”,打开“添加或删除程序”窗口,打开“Windows组件向导”窗口,选择应用程序服务器组件的窗口,IIS管理窗口,2配置和管理IIS,设置网站的基本属性,设置网站的主目录,设置Web站点的默认文档,3安装证书服务,在“添加或删除程序”窗口中单击左侧的“添加/删除Windows组件”图标,打开“Windows组件向导”窗口,选中“证书服务”,,“选择CA类型”窗口,“选择CA类型”窗口,“选择CA类型”窗口,“是否停止Internet信息服务”对话框,是否启用ASP,证书颁发机构管理窗口,设置证书颁

14、发机构的属性,选择对证书请求的处理策略,4创建请求证书文件,默认网站属性,Web服务器证书向导,默认网站属性,延迟或立即请求”对话框,“名称和安全性设置”窗口,录入单位信息窗口,“站点公用名称”窗口,“地理信息”窗口,“保存证书请求文件”窗口,5为Web站点申请CA证书,安装证书服务后,客户端就可以通过访问下面的地址申请证书了。 http:/网站IP地址/certsrv/,选择证书类型,“高级证书申请”页面,提交一个证书申请或续订申请,“证书已颁发”页面,查看刚刚颁发的证书,将证书保存为.cer文件,6将证书绑定到网站,(1)依次选择“控制面板”/“管理工具”/“IIS管理器”,打开IIS管理

15、器。 (2)右击默认网站,选择“属性”,再选择“目录安全性”选项卡。如图9.44所示。单击“服务器证书”按钮,打开Web服务器证书向导,如图9.45所示。,处理挂起的请求,(3)单击“下一步”按钮,打开“挂起的证书请求” 窗口,如图9.46所示。 (4)选择“处理挂起的请求并安装证书”,然后单击“下一步”按钮,打开“处理挂起的请求” 窗口,如图9.47所示。,程序的运行结果,(5)选择前面申请到的证书文件c:certnew.cer,然后单击“下一步”按钮,打开“为网站指定SSL端口”窗口。保持默认的443端口即可。 (6)单击“下一步”按钮,打开“证书摘要”窗口。可以查看证书的摘要信息。单击“

16、下一步”按钮,完成将证书绑定到网站的操作。,7启用网站的HTTPS,打开IIS管理器,右击默认网站,选择“属性”,再选择“目录安全性”选项卡。然后单击“编辑”按钮,打开“安全通信”对话框,通过HTTP方式已经不能正常访问HTTPS网站,访问HTTPS网站,在创建请求证书文件时曾指定站点公用名称,此时可以通过下面的url访问HTTPS网站。 https:/站点公用名称 地址栏后面有一个小锁头图标表示该站点已经启用HTTPS,9.3 OpenSSL 编程基础,9.3.1 OpenSSL概况 9.3.2 需要包含的头文件 9.3.3 需要引用的库文件 9.3.4 初始化OpenSSL 9.3.5 创建SSL会话连接所使用的协议 9.3.6 加载和使用证书 9.3.7 SSL套接字 9.3.8 OpenSSL握手 9.3.9 通讯结束,9.3.1 OpenSSL概况,OpenSSL是一个强大的、开源的安全套接字层密码库,它支持SSL v2/v3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号