一个应用程序的安全需求在很大程度上依赖于将如何使用该应用程序和该应用程序将要保护什么。不过,用现有技术实现强大的、 一般用途的安全通常是可能的。认证就是一个很好的示例。

 
 当顾客想从 Web 站点购买某个产品时,顾客和 Web 站点都要进行认证。顾客通常是以提供名字和密码的方式来认证他自己。 另一方面,Web
站点通过交换一块签名数据和一个有效的 X.509 证书(作为 SSL 握手的一部分)来认证它自己。
顾客的浏览器验证该证书并用所附的公用密钥验证签名数据。一旦双方都认证了,则交易就可以开始了。

  SSL
能用相同的机制处理服务器认证(就如在上面的示例中)和客户机认证。 Web 站点典型地对客户机认证不依赖 SSL —
要求用户提供密码是较容易的。而 SSL 客户机和服务器认证对于透明认证是完美的, 对等机 — 如 p2p
应用程序中的对等机之间一定会发生透明认证。

  安全套接字层(Secure Sockets Layer(SSL)) ,SSL
是一种安全协议,它为网络(例如因特网)的通信提供私密性。SSL 使应用程序在通信时不用担心被窃听和篡改。 SSL
实际上是共同工作的两个协议:“SSL 记录协议”(SSL Record Protocol)和“SSL 握手协议” (SSL Handshake
Protocol)。“SSL 记录协议”是两个协议中较低级别的协议,它为较高级别的协议, 例如 SSL
握手协议对数据的变长的记录进行加密和解密。SSL 握手协议处理应用程序凭证的交换和验证。

  当一个应用程序(客户机)想和另一个
应用程序(服务器)通信时,客户机打开一个与服务器相连接的套接字连接。然后,
客户机和服务器对安全连接进行协商。作为协商的一部分,服务器向客户机作自我认证。客户机可以选择向服务器作或不作自我认证。
一旦完成了认证并且建立了安全连接,则两个应用程序就可以安全地进行通信。按照惯例,我将把发起该通信的对等机看作客户机,
另一个对等机则看作服务器,不管连接之后它们充当什么角色。

  名为 A 和 B 的两台对等机想安全地进行通信。在我们简单的 p2p
应用程序的环境中,对等机 A 想查询对等机 B 上的一个资源。 每个对等机都有包含其专用密钥的一个数据库(名为
keystore)和包含其公用密钥的证书。密码保护数据库的内容。 该数据库还包含一个或多个来自被信任的对等机的自签名证书。 对等机 A
发起这项事务,每台对等机相互认证,两台对等机协商采用的密码及其长度并建立一个安全通道。完成这些操作之后,
每个对等机都知道它正在跟谁交谈并且知道通道是安全的。 SSL (Secure socket
Layer)安全套接层协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,
它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。

  安全套接层协议(SSL,Security Socket Layer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、 客户认证(可选)、SSL链路上的数据

 
 完整性和SSL链路上的数据保密性。对于电子商务应用来说,使用SSL可保证信息的真实性、
完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。
有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作“表单签名(Form Signing)”的功能,
在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。综上所述,
在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用"SSL+表单签名"模式能够为电子商务提供较好的安全性保证。

SSL介绍(Secure socket Layer & Security Socket Layer)的更多相关文章

  1. SSL介绍与Java实例

    有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能 ...

  2. Raw Socket vs Stream Socket vs datagram socket,原始套接字与流式套接字与数据报套接字

    https://opensourceforu.com/2015/03/a-guide-to-using-raw-sockets/ In this tutorial, let’s take a look ...

  3. socket编程 ------ BSD socket API

    伯克利套接字(Berkeley sockets),也称为BSD Socket.伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信. BSD Socket的应用 ...

  4. 【Socket】Java Socket基础编程

    Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...

  5. Could not establish trust relationship for the SSL/TLS secure channel 问题解决方法

    最近在写一个跟第三方对接的数据同步服务,在本地都没有问题,今天放到生产环境测试报错: System.Net.WebException: The underlying connection was cl ...

  6. socket系列之socket服务端与客户端如何通信

    上面已经分别介绍了ServerSocket跟Socket的工作步骤,并且从应用层往系统底层剖析其运作原理,我们清楚了他们各自的一块,现在我们将把他们结合起来,看看他们是如何通信的,并详细讨论一下他们之 ...

  7. 【Socket】Java Socket编程基础及深入讲解

    Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...

  8. TCP socket和web socket的区别

    小编先习惯性的看了下某中文百科网站对Web Socket的介绍,觉得很囧.如果大家按照这个答案去参加BAT等互联网公司的前端开发面试,估计会被鄙视. 还是让我们阅读一些英文材料吧. 让我们直接看sta ...

  9. 请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法,即:Could not create SSL/TLS secure channel

    C# 访问https请求被中止: 未能创建 SSL/TLS 安全通道(Could not create SSL/TLS secure channel) 以及 X509Certificate2 temp ...

随机推荐

  1. 如何学习 JavaScript?

    转自:https://www.zhihu.com/question/21064817 首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门. 谈不上经验,都是一些教训. 这个时候有人要 ...

  2. day5模块学习--re正则模块

    1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  3. X分钟速成Python3

    参考博客:Python3 从入门到开车  (与以下代码无关) 源代码下载: learnpython3-cn.py Python是由吉多·范罗苏姆(Guido Van Rossum)在90年代早期设计. ...

  4. hdu 5407【LCM性质】+【逆元】(结论题)

    <题目链接> <转载于 >>> > Problem Description CRB has N different candies. He is going ...

  5. php手撸轻量级开发(一)

    聊聊本文内容 之前讲过php简单的内容,但是原生永远是不够看的,这次用框架做一些功能性的事情. 但是公司用自己的框架不能拿出来,用了用一些流行的框架比如tp,larveral之类的感觉太重,CI也不顺 ...

  6. python单元测试模块unittest

    1.unittest_demo.py # coding=utf-8 import time import unittest from HtmlTestRunner import HTMLTestRun ...

  7. 电商sku商品推荐

    1.逻辑回归LR进行实时离线三级品类训练. 2.通过用户对于实时.离线三级品类的偏好进行召回. 3.通过人的特征.sku特征.人sku交互特征.以及位置手机特征通过gbdt模型进行点击量预估.

  8. 潭州课堂25班:Ph201805201 周五 (课堂笔记)

    小三角: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  9. [USACO09JAN]Total Flow

    OJ题号: BZOJ3996.洛谷2936.SPOJ-MTOTALF.SCU3353 思路: 题目的要求是将所有边合并成一条边,求合并后的流量. 实际上相当于直接求最大流. EdmondsKarp模板 ...

  10. jquery终止函数

    jQuery如何退出each循环?如何退出function函数?1.在函数内部使用return false是跳出function;在each的回调函数中使用return false,是跳出each循环 ...