Secure Sockets Layer (SSL)协议是网络上应用最广泛的一种密码技术. 在网络上SSL通过一系列的加密处理, 提供安全的通信机制.
为什么使用SSL?
在网络上传输敏感信息由于以下三个原因会存在一定的风险:
- You cannot always be sure that the entity with whom you are communicating is really who you think it is.
- Network data can be intercepted, so it is possible that it can be read by an unauthorized third party, sometimes known as an attacker.
- If an attacker can intercept the data, the attacker may be able to modify the data before sending it on to the receiver.
SSL会克服这些问题. 对于第一个问题, SSL可以让通信的两个实体确认彼此的身份,这个过程叫做身份验证(
authentication). 一旦实体通过身份验证, SSL就可以在两个实体建立一个经过加密的连接来保证信息的安全传输. 加密两个实体之间的通信保证了私密性(
privacy), 这样就解决了第二个问题.SSL中用的加密算法包括一个安全的哈希函数, 类似于校验码. 这个哈希函数函数保证了数据在传输中没有被修改. 所以它解决了数据完整性问题(
data integrity)
SSL提供了身份验证, 私密性, 数据完整性. 但它不提供"不可抵赖性"服务(
non-repudiation services). "不可抵赖性"是说一个实体发出消息后否认它发送过.当签名的数字等价物,或者说数字签名和这段消息有关联的时候, 后来的通信是可以来证明的. 所以SSL本身不提供"不可抵赖性".
SSL是如何工作的?
SSL成功的原因之一是因为它利用了一些不同的加密流程.SSL利用了公钥方法来保证身份验证, 密钥(对称)和数字签名来保证私密性和数据完整性. 在你理解SSL之前, 理解以下加密流程会很有帮助.
加密流程
加密的首要目的是保证未经授权的第三方访问和偷听两个实体间的私密通信.加密是利用复杂的算法来把原文(
original message)或明文(
cleartext)转化成编码消息, 这个消息叫做密文(
ciphertext)在网络上传输的用来加密和解密的算法分为两类: 密钥加密和公钥加密.
密钥和公钥加密都依赖双方共同商定的加密密钥和密钥对. 一个钥匙(
key)就是一个二进制字符串, 供加密和解密数据时密算法使用.一个加密的钥匙就像一把锁的钥匙, 一把钥匙只能开一把锁.
在两个是实体间安全的传输一个钥匙不成问题. 当向接受者确保公钥的可靠性时,一个公钥证书可以让某一方安全地传输这个公钥.
分享到:
相关推荐
**影响:** 这一漏洞的发现引发了全球范围内的关注,因为它暴露了许多使用OpenSSL加密库的服务于潜在的安全威胁之下。由于OpenSSL被广泛应用于Web服务器、邮件服务器以及其他安全通信领域,Heartbleed漏洞的潜在危害...
它是 Apache 最流行的 SSL 解决方案之一。 - **功能**: - 支持 SSLv2、SSLv3 和 TLSv1。 - 高级私钥处理能力。 - 基于 X.509 的数字证书支持,包括证书生成和撤销列表管理。 - 支持加密加速硬件,提高性能。 -...
Mercurial是一款分布式的版本控制系统,最初版本发布于2005年4月,虽然相比其他分布式版本控制系统如Git来说出现较晚,但其在设计之初就吸收了许多前辈的优点,因此在功能性和用户体验上都有不错的表现。 **主流...
Apache是全球最广泛使用的Web服务器软件之一。在本指南中,通过下载httpd-2.2.15.tar.gz文件,用户可以安装Apache。Apache提供了强大的功能和高度的可定制性,支持多种模块扩展,如mod_ssl用于SSL/TLS加密通信、mod_...
### 移动终端操作系统架构概览 #### 一、引言 随着移动互联网技术的快速发展,移动终端操作系统作为连接用户与应用的重要桥梁,在日常生活和工作中扮演着越来越重要的角色。本篇将详细介绍移动终端操作系统的架构...
### 超微H11DSSL-C用户手册知识点概览 #### 一、文档概述与免责声明 在《超微H11DSSL-C用户手册》中,首先明确指出该手册为用户提供关于产品的重要信息,并强调了信息的准确性。然而,供应商同时也声明不对文档中...
### CCNP资料中的IOS Server Load Balancing (SLB)配置详解 #### 一、概述 在CCNP(Cisco Certified Network Professional)的学习与认证过程中...这不仅是CCNP认证的重要组成部分,也是提升网络性能的关键技术之一。
- **Spring框架**:Spring是一个开源的轻量级Java开发框架,被广泛应用于企业级应用开发之中。它主要提供了依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)等功能,简化了...
配置证书颁发机构是PKI体系中的关键步骤之一,主要包括以下几个方面: - **1.8.1 安装证书颁发机构**:这一步骤涉及设置和配置CA系统,包括选择合适的硬件和软件平台,以及安装必要的软件和服务。 - **1.8.2 安装根...
这是评价SSL产品质量的核心部分之一。 3. **测试条件**:定义了进行各项测量时所需的环境条件,如温度、湿度等,以确保测量结果的一致性。 4. **测试设备**:规定了用于测量的仪器类型及其校准方法,以确保测量...
### 超微H12SST-PS用户手册知识点概览 #### 一、产品概述与特性 根据“超微H12SST-PS用户手册”的标题和描述,可以推断出该文档主要介绍了一款名为H12SST-PS的产品,这款产品由Super Micro Computer, Inc.(简称...
共享组件是Acegi Security的核心部分之一,主要包括认证管理器(AuthenticationManager)、访问决策管理器(AccessDecisionManager)等。这些组件被设计为高度可配置和可扩展的,可以根据具体的应用需求进行定制。 ####...
### 关于《Sams.Publishing.Ubuntu.Unleashed.2008.Edition》的知识点解析 #### 一、概述 《Ubuntu Unleashed 2008...无论是日常使用还是系统管理,本书都提供了丰富的信息和指导,是Ubuntu用户不可或缺的参考书之一。
文档提到的是Acegi Security 1.0.7版本,这是在Spring Security正式更名之前的最后一个主要版本之一。该版本提供了稳定的安全功能集,并且已经过多个项目的实践检验。 ##### 2.1 运行环境 Acegi Security可以在...
- **身份令牌**:用于验证商户的身份,是实现PDT的关键步骤之一。 - **同步与异步通知**:PDT提供同步通知方式,而IPN则是一种异步通知机制。 - **安全性考虑**:尽管IPN可以不使用SSL,但在实际应用中,为了保护...
这是配置.NET 2.0 Framework的主要目的之一,尤其是在涉及到Controller的安全性和数据传输时。 ### 小结 综上所述,COG-205考试主要针对IBM Cognos 8 Controller技术专家的认证,certinside提供的题库和学习资源...
配置 NetScaler 的管理 IP (NIP) 是基础步骤之一。在 XenServer 上确认 VPX 成功导入后,启动 VPX 虚拟机并连接到其“Console”。在此控制台界面,输入指定的 NetScaler IP 地址、子网掩码及网关信息,每项输入后按...
设计概览: 1. **错误常态化处理**:GFS的设计假设硬件组件故障是常态,而非异常情况。由于系统由众多廉价的机器组成,且服务于大量客户端,部分机器可能出现故障且不易恢复。因此,系统需具备持续的错误检测、容错...