如果帮到你的话,请点个赞,创作不易,谢谢

一:安全超文本传输协议

安全超文本传输协议(Secure Hypertext Transfer Protocol,S-HTTP)是一种结合HTTP而设计的消息的安全通信协议。S-HTTP的设计基于与HTTP样板共存并易于与HTTP应用程序相结合。它是基于TLS\SSL(安全传输协议)加密的HTTP协议,它使用SSL(安全套接字层)进行信息的安全交换。

HTTP协议采用明文传输,存在信息被窃听,劫持和篡改的风险,而TLS\SSL具有信息加密,身份验证,完整性检验等功能,可以避免此类现象的发生。

S-HTTP协议为客户机和服务器提供了多种安全机制,这些安全服务是适用于万维网上各类用户的,并且还为客户机和服务器提供了安全对称机制。‘

S-HTTP不需要客户方的公用密钥,但它支持对称密钥的操作模式。这意为着在不要求用户建立公用密钥的情况下,会自发的私人交易。它支持端对端安全传输,客户机可能首先启动安全传输机制来进行信息加密。

在语法上,S-HTTP与HTTP相同,由请求或状态行组成,后面是信头和主体,请求报文的格式由请求行,通用信息头,请求头,实体头,信息主体组成。相应报文的格式由相应行,通用信息头,响应头,实体头,信息主体组成。

二:邮件加密软件

邮件加密软件(Pretty Good Privacy,PGP)是一个基于RSA公钥加密体系的邮件加密软件。用户可以用它防止非授权者的拦截并阅读,还可以加上自己的数字签名而使收信人确认该邮件是发送方发来的,与授权者进行安全加密的通信,事先并不需要安全保密通道来传递密钥,PGP也可以用来加密文件,因此PGP成为留下的公钥加密软件包。

PGP采用了严格的密钥管理办法,是一种RSA和传统加密的杂合算法(由散列,数据压缩,公钥加密,对称密钥加密算法组合而成 ),用于数字签名的邮件文摘算法.加密前压缩等方法。每个公钥均绑定唯一的用户名或者邮箱号。PGP用一个128位的二进制数作为文件邮摘,发送方用自己的私钥加密上述的128位特征值并附在邮件后,最后用接收方的公钥加密整个邮件。接收方收到该邮件后,用自己的私钥解密公钥,得到原文和签名,并用自己的PGP计算该邮件的128位特征值和用对方的公钥解密后的签名想比,若一致则说明该邮件是对方寄来的,安全性得到了满足。

三:S/MIME

多用途网际邮件扩充协议-S/MIME(Security/Multipurpose Internet Mail Extensions)是RSA数据安全公司开发的软件。S/MIME提供的安全服务有报文完整性验证.数字签名和数据加密。S/MIME可以添加在邮件系统的用户代理中,用于提供安全的电子邮件传输服务,也可以加入其它的传输机制中,传递任何MIME报文,甚至可以加入自动传输报文代理中,在互联网上安全地传送由软件生成的FAX报文。

S/MIME是一个互联网标准,它的密钥长度是动态可变的,有很高的灵活性。

四:安全的电子交易

安全的电子交易(Secure Electronic Transaction,SET)用于电子商务的行业规范,是一种基于信用卡为基础的电子付款系统规范,目的就是为了保证网络交易的安全。SET主要使用电子认证技术作为保密电子安全交易的基础,其认证过程使用RSA和DES算法。

SET提供以下三种服务:

  1. 在交易涉及的双方之间提供安全信道
  2. 使用数字证书来实现安全的电子交易
  3. 保证信息的机密性

SET交易发生的先决条件是:每一个持卡人必须有一个唯一的电子证书,由自己设置口令 ,并用这个口令对数字证书,私钥,信用卡号码以及其它电子信息进行加密存储。这些与符合SET协议的一起组成了一个SET电子钱包。

五:Kerberos系统

Kerberos是一种基于密钥分发和可信中继认证方法的鉴别服务系统,于1980年MIT为Athena计划的认证服务而开发的。Kerberos系统是一种基于密钥分配中心(KDC)的分布式鉴别服务系统,它可以在不同的网络环境中为用户对远程服务器的访问提供自动鉴别,数据安全性和完整性服务,以及密钥管理。

1.Kerberos鉴别

Kerberos要求用户使用其用户名和口令作为自己的标识,而客户端与KDC服务器之间的交互则使用由用户名和口令生成的会话密钥来进行,会话密钥由客户与服务器共享,客户登录服务器后,从KDC服务器获得会话密钥,利用这个会话密钥来和其它服务器进行通信交互。

当客户需要和其它服务器进行通信时,需要从服务器端获得TGT(Ticket-Granting Ticket),然后再用TGT向KDC服务器申请需要与通信方交互的会话密钥,接收到这个密钥后,便可以与对方用户进行通信了。

A与B建立通信的过程如下:

Ka:A与KDC会话密钥。

Kb:B与KDC会话密钥。

Kab:A与B会话密钥。

Sa,S:时间标记,用于防止报文发送中途被截获再重发

(1)A与KDC交互

第一步:A登录系统,向KDC请求TGT。

第二步:KDC收到A的请求,用A的密钥Ka加密Ka(TGT,Sa)发送给A,Sa是时间标识

第三步:A收到以后,用自己的密钥Ka解密处Sa,得到TGT,向KDC发送以证明自己是A。

第四步:KDC认证A的身份后,产生A与B的会话密钥Kab,并用B的会话密钥Kb加密Kab和对A的信任信息,即Kb(Trust-A,Kab )然后附加上时标,将整个报文连同会话密钥Kab发送给A。

(2)A接收到以后,与B建立通信

第一步:A向B发送从KDC得到的Kb(trust-A,Kab),以及Kab(s),其中S为时间标识。

第二步:B接收到报文后,用自己的密钥Kb将其解密,得到A的信任信息和会话密钥Kab,然后利用Kab将用Kab加密的时间标识解密得到S,然后向A发送Kab(S+1)。

第三步:A收到后用Kab解密Kab(S+1)得到时间标识,从而证明发送方有Kb,证明对方是B

(3)此后,双方开始用Kab交互。

2.Kerberos安全机制

在Kerberos系统中使用对称密钥体制中的CBC方式的一个变形PCBC(Plaintext Cliper Block Chaining)来实现数据的加密和完整性保护。效果是加密链中间被破坏,那么从此处到最后的报文都将受到损害。

双方还要提供中间标识,以免中途报文被截获再重发,可以验证时标来判断是否为攻击者截获的陈旧信息。

参考:网络工程师教程

应用层安全协议的五个种类相关推荐

  1. Java ee 应用层重点协议http协议

    文章目录 前言 一.HTTP是什么? 二.理解应用层协议 三.HTTP协议的工作过程 四.HTTP协议格式 4.1抓包工具的使用 4.2协议格式总结 4.2.1请求 4.2.2响应 五.HTTP请求( ...

  2. 应用层常见协议——知识点

    这里总结了三种常见的应用层协议:HTTP.FTP.SMTP.供自己复习使用,也供大家参考! 一.HTTP协议 1.HTTP简介 -超文本传输协议(Hypertext transfer protocol ...

  3. Delphi开发环境中应用层网络协议的实现

    已经进入Internet网络时代了,许多新出的软件都拥有网络功能.其实,在这些软件背后所依靠的技术基础就是一系列的Inernet网络协议标准,亦即TCP/IP系列协议. 下面本人简要介绍一下在Delp ...

  4. 应用层安全协议Kerberos

    应用层安全协议Kerberos 应用层安全协议Kerberos:Kerberos并非为,每一个服务器构造一个身份认证协议,而是提供一个中心认证服务器,提供用户到服务器以及服务器到用户的认证服务.Ker ...

  5. 应用层——HTTP协议

    文章目录 一.应用层 1.1 应用层概念 1.2 再谈协议 二.网络版本的计算器 网络计算器编码部分 版本1:原生版本 版本2:引入序列化和反序列化 三.HTTP协议 3.1 URL 3.2 urle ...

  6. 文件传输协议的五种安全文件传输替代方案

    对安全文件传输协议的需求,过去,文件传输协议(FTP)是发送文件的常用协议.这是一个更简单的时期,安全性比今天要少得多. 但是随着黑客变得越来越复杂,他们发现FTP缺乏安全性.他们知道FTP可以通过有 ...

  7. 网络基础应用层--HTTP协议

    网络基础应用层--HTTP协议 一.应用层协议 (一)应用层协议概念 (二)自定义协议概念 (三)数据格式如何定义最优 (四)结构体的二进制序列化 二.HTTP协议 (一)HTTP协议 1.请求-响应 ...

  8. 【网络】应用层-HTTP协议

    网络-应用层-HTTP协议 文章目录 网络-应用层-HTTP协议 HTTP协议 什么是HTTP协议 URL urlencode和urldecode HTTP基本特征 HTTP协议版本 HTTP报文结构 ...

  9. 网络基础 -- 应用层HTTP协议

    目录 应用层(TCP/IP协议中的应用层/HTTP协议) HTTP协议 URL -- 统一资源定位符 UrlEncode / UrlDecode HTTP协议格式 概述 HTTP 请求消息Reques ...

最新文章

  1. 安装 Python IDLE
  2. 算法导论chapter6 堆排序的代码
  3. buu-crypto-yxx
  4. Python Day11
  5. iOS进阶(数据库之SQLite)
  6. Android 图片压缩器
  7. 空间mysql数据还原_mysql通过表空间来恢复或者传递数据
  8. python查看对象占用内存_『Python』内存分析_List对象内存占用分析
  9. Pycharm中更改镜像源
  10. android--显式跳转和隐式跳转
  11. java开发和安卓开发_Android开发和Java开发有什么区别
  12. 通过第三方平台超级鹰进行登录页面验证码识别
  13. php数组倒排,js中数组倒序排列的方法
  14. Vue Resource
  15. 个人公众号如何运营?可以从哪些方向突破?
  16. imgareaselect+php实现图片裁剪保存
  17. SEO优化应该照用户的需求去做
  18. 团队开发工具之一——Wiki
  19. 51虚拟安卓系统v1.1.0.6-安卓端的虚拟机(支持root,xposed框架)
  20. 克服焦虑最好的办法就是让一切变得有序

热门文章

  1. C++中复制构造函数与重载赋值操作符
  2. excel如何添加汉字拼音
  3. su自带模型库怎么打开_草图大师Sketchup打不开3d模型库,该怎么解决?
  4. 天猫无线内容运营总监教你如何做好内容营销
  5. 一键下载M3U8/HLS 并保存为TS文件
  6. 简单、易用、易学,这个全自动测试平台真香
  7. 庞皓《计量经济学》第4版笔记和课后答案
  8. 爱情有多美(曾贤志)
  9. 如何免费合并多个PDF文件?
  10. 2018软件工程复旦、南京大学、北航、中科院、中南大学保研经历分享