`
zyslovely
  • 浏览: 231200 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【zz】传智播客学习之https协议

阅读更多
http://blog.sina.com.cn/s/blog_629252880100gd14.html


应好友相求,更不能辜负张老师熬夜为我们备课,辛苦为我们讲解https协议相关内容的辛苦,今天接着前面对网络安全相关知识进行总结。

数字签名

数字签名就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章

l 功能:必须能够验证内容没有修改,必须能够验证内容确实是被发送方签署

l 方案:发送方的公钥可以验证发送方签名的真实性,数字摘要可以验证内容没有修改

举例说明:前提同上。如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2是我的私钥),结果所有的人都看到我的内容了,因为他们都知道我的公钥是1,那么这种加密有什么用处呢?但是我的好朋友Bob说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用我的私钥2,加密,加密后的内容是d,发给x,再告诉他解密看是不是c。他用我的公钥1解密,发现果然是c。这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。这样我们就能确认发送方身份了。

小结:加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。

数字证书

数字证书是由权威机构--CA证书授权(Certificate Authority)中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份

注1:Keystore(密钥库)存储多个私钥和其附带的数字证书,存储信任的第三方数字证书,KeyStore中的每一个私钥和信任的第三方数字证书用一个alias进行标识。

SSL

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

l SSL协议提供的服务主要有:
  1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
  2)加密数据以防止数据中途被窃取;
  3)维护数据的完整性,确保数据在传输过程中不被改变。

l SSL协议的工作流程:

1) 浏览器向服务器发出请求,询问对方支持的对称加密算法和非对称加密算法;服务器回应自己支持的算法。

2) 浏览器选择双方都支持的加密算法,并请求服务器出示自己的证书;服务器回应自己的证书。

3) 浏览器随机产生一个用于本次会话的对称加密的钥匙,并使用服务器证书中附带的公钥对该钥匙进行加密后传递给服务器;服务器为本次会话保持该对称加密的钥匙。第三方不知道服务器的私钥,即使截获了数据也无法解密。非对称加密让任何浏览器都可以与服务器进行加密会话。

4) 浏览器使用对称加密的钥匙对请求消息加密后传送给服务器,服务器使用该对称加密的钥匙进行解密;服务器使用对称加密的钥匙对响应消息加密后传送给浏览器,浏览器使用该对称加密的钥匙进行解密。第三方不知道对称加密的钥匙,即使截获了数据也无法解密。对称加密提高了加密速度。

HTTPS协议
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道, HTTPS传输的是密文、端口443,HTTPS是 HTTP下加入SSL层,HTTPS的安全基础是SSL。

l 为Tomcat配置SSL功能的实验步骤

1.使用keytool创建或导入Web服务器所需要的证书。

1)Keytool工具介绍(是JDK自带的产生证书的工具)

相关命令介绍

在DOS命令窗口下用keytool – 各种命令

exportcert:输出证书(想带一个证书出去)

genkeypair:产生一个证书(mykey的密码可以和箱子密码 )

genseckey:产生一个密钥(-alias别名)

importcert:将外面的证书放进来

importcertkeystore:将很多证书

list:列出箱子所有证书

printcert:打印证书

storepasswd:改变箱子密码(默认changeit)

注:证书都放在当前登陆用户的主目录下面

2.修改server.xml文件,为Tomat增加一个支持SSL功能的连接器。取消其中对SSL连接器的注释,并根据安装的数字证书信息对一些参数进行调整即可。

注:一个Service元素代表一种服务,譬如,卖火车票是一个服务,而卖飞机票又是另一个服务,connector相当于某种服务下的一种售票方式,可以在火车站售票,也可以在售票点售票,engine用于处理买票的内部工作,不管通过哪种方式接收进来的卖票请求,内部卖票处理工作始终一样,即都是用这个 engine。这个机制的好处在于有非常好的扩展性,如果想增加网上买票,只要再加上一个网上卖票的Connector即可,engine还是原来的。

3.编写一个用于检查访问协议是否是https的jsp程序,如果不是,则将请求重定向为https协议。

l 配置SSL网站
  1).创建请求证书文件
完成了证书服务的安装后,就可以为要使用SSL安全机制的网站创建请求证书文件。点击“控制面板→管理工具”,运行“Internet 信息服务-IIS 管理器”,在管理器窗口中展开“网站”目录,右键点击要使用SSL的网站,选择“属性”选项,在网站属性对话框中切换到“目录安全性”标签页(图1),然后点击“服务器证书”按钮。在“IIS证书向导”对话框中选择“新建证书”,点击“下一步”按钮,选择“现在准备证书请求,但稍后发送”。在“名称”输入框中为该证书取名,然后在“位长”下拉列表中选择密钥的位长。接着设置证书的单位、部门、站点公用名称和地理信息,最后指定请求证书文件的保存位置。这样就完成了请求证书文件的创建。
2).申请服务器证书
  完成上述设置后,还要把创建的请求证书文件提交给证书服务器。在服务器端的IE浏览器地址栏中输入“http://localhost/CertSrv/default.asp”。在“Microsoft 证书服务”欢迎窗口中点击“申请一个证书”链接,接下来在证书申请类型中点击“高级证书申请”链接,然后在高级证书申请窗口中点击“使用BASE64编码的 CMC或PKCS#10....”链接,再打开刚刚生成的“certreq.txt”文件,将其中的内容复制到“保存的申请”输入框后点击“提交”按钮即可。
  3).颁发服务器证书
  点击“控制面板→管理工具”,运行“证书颁发机构”。在主窗口中展开树状目录,点击“挂起的申请”项(图2),找到刚才申请的证书,然后右键点击该项,选择“所有任务→颁发”。颁发成功后,点击树状目录中的“颁发的证书”项,双击刚才颁发的证书,在弹出的“证书”对话框的“详细信息”标签页中,点击“复制到文件”按钮,弹出证书导出向导,连续点击“下一步”按钮,并在“要导出的文件”对话框中指定文件名,最后点击“完成”。
4).安装服务器证书
  重新进入IIS管理器的“目录安全性”标签页,点击“服务器证书”按钮,弹出“挂起的证书请求”对话框,选择“处理挂起的请求并安装证书”选项,点击“下一步”按钮,指定刚才导出的服务器证书文件的位置,接着设置SSL端口,使用默认的“443”即可,最后点击“完成”按钮。
  在“目录安全性”标签页,点击安全通信栏的“编辑”按钮,勾选“要求安全通道(SSL)”选项,最后点击“确定”按钮即可启用SSL。
  在完成了对SSL网站的配置后,用户只要在IE浏览器中输入“https://网站域名”就能访问该网站。
分享到:
评论

相关推荐

    base zz zz zz zz

    base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz

    中航信Eterm协议解析

    例如,Eterm协议可能定义了一套特定的命令格式,如"XX YY ZZ",其中"XX"代表命令类型,"YY"表示操作码,"ZZ"可能包含附加参数。在实际应用中,代理人可能输入如“CA QS 20220701”这样的指令来查询某一天CA航空公司...

    超出NLO QCD的高横向动量的ZZ产生

    我们将我们的预测与NNLO的总包容性横截面的现有结果进行了比较,并找到了很好的协议。 然后,我们为两种实验设置提供了差分分布的结果,一种用于搜索异常三重玻色子玻色子耦合,另一种用于希格斯分析中的四个带电...

    ZZ_MODIFIED_GEEBINF.ENS.zip endnote的样式文件

    标题中的“ZZ_MODIFIED_GEEBINF.ENS.zip”是一个压缩包文件,主要包含一个名为“ZZ_MODIFIED_GEEBINF.ENS”的文件。这个文件是一种特殊格式,用于定义EndNote的引用样式。EndNote是一款强大的文献管理软件,广泛应用...

    wincc AX NF ZZ

    wincc SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC印象深刻。

    ZZ561401.CAB

    ZZ561401.CAB ZZ561401.CAB ZZ561401.CAB

    ARP协议与第二层网络安全.pdf

    ”拥有此 IP 地址的计算机 Bob 会将其 MAC 地址 ZZ —zz —zz —zz —zz —zz 告知 Alice。然后,Alice 会将所有发往 A B.c F 的三层包封装成二层的形式发给 ZZ —zz —zz —zz —zz —zz。 然而,可能发生的一种...

    zz809.com留言本

    总的来说,《zz809.com留言本》不仅是一个实际的网络应用,也是学习Web开发,尤其是PHP或相关技术的一个实例教程。对于初学者而言,这是一个宝贵的资源,可以帮助他们在实践中提高技能;对于有经验的开发者,它则...

    zz CAD快速计算长度插件

    在CAD中想要快速测量长度,在CAD工具栏找到加载应用程序,再点击加载 加载成功后在输入栏输入“zz”(不分大小写)在选择你需要测量的线段即可。

    中医大夫助理信息系统 zz-doctor

    《中医大夫助理信息系统 zz-doctor 深度解析》 中医大夫助理信息系统“zz-doctor”是一款基于Android平台的应用...对于想要学习或提升Android开发技能的人员来说,深入研究这个项目的源码无疑是一次宝贵的学习机会。

    ZZ Fibo Trader - MetaTrader 5EA.zip

    在ZZ Fibo Trader中,它会自动检测之字转向(ZigZag)的波动,并在图表上绘制出斐波那契线,帮助交易者识别潜在的价格反转点,从而制定入场和出场策略。 其次,抛物线止损与反转向指标(Parabolic SAR)是另一大...

    Zz归零.LSP

    cad标高归零,好用的

    zz使用mini开发板PPT教案学习.pptx

    zz使用mini开发板PPT教案学习.pptx

    透视HTTP协议,关于HTTP协议的深入学习和理解,旨在帮助读者从基础到高级全面掌握HTTP的相关知识

    关于HTTP协议的深入学习和理解,旨在帮助读者从基础到高级全面掌握HTTP的相关知识。内容涵盖了HTTP协议的基本结构、工作原理、以及与HTTP相关的技术和工具,如TCP/IP、DNS、SSL/TLS、Web Server等。教程强调理论与...

    3_Level_ZZ_Semafor.zip_3 level_zz_3_Level_ZZ_semafor_ZZ Semafor_

    ,主图指标,顶底信号,突破,转折信号,都很明显

    zz经典C代码.rar_C语言 图像_ZZ丫C香烟代码

    标题中的“zz经典C代码.rar_C语言 图像_ZZ丫C香烟代码”暗示了这是一个包含C语言编程中关于图像处理的代码集合,可能是一些示例或实践项目。"ZZ丫C香烟代码"可能是作者或者这个代码库的特定代号或者命名风格。描述中...

    变形版SD ZZ高达 纸模型

    SD(Super Deformed)是日本动漫中的一个术语,意为超级变形,通常指的是角色被夸张地简化和可爱化,保留了主要特征,而ZZ高达则是该系列的主角机体之一。这款纸模型的独特之处在于其可变形的设计,让静态的纸模具有...

    android应用源码zz-doctor中医大夫助理信息系统.rar

    【标题】"android应用源码zz-doctor中医大夫助理信息系统.rar"揭示了这是一份针对Android平台开发的应用程序源代码,专门设计用于辅助中医大夫进行日常工作。这个系统可能集成了病症诊断、处方建议、病例记录等多种...

    ZZ18000/25.5/50型四柱支撑掩护式支架的研制与应用

    ZZ18000/25.5/50型四柱支撑掩护式支架是一款专为煤矿快速搬家和回撤巷道支护设计的高效设备。这款支架在煤炭开采中扮演着至关重要的角色,特别是在高产高效矿井中,其有效提升了综采设备的利用率和搬家倒面的速度。 ...

    Android应用源码之zz-doctor中医大夫助理信息系统.zip

    通过深入研究“zz-doctor”应用的源码,我们可以学习到Android开发的诸多实践,包括组件通信、数据管理、网络编程以及用户体验设计等方面的知识。这对于任何希望提升Android开发技能的人来说,都是一份宝贵的参考...

Global site tag (gtag.js) - Google Analytics