SSL/STL是什么?怎么工作的?Keystore 和 Truststore是什么?

news2024/9/23 13:21:56

安全套接字层(Secure Sockets Layer),也称为 SSL,是一种加密协议(encryption protocol),可在 Internet 上的设备之间创建身份验证的通道(authenticated channel),以便可以安全地共享信息。本质上,SSL 将“s”放在以“https://”开头的 URL 中,这意味着您与服务器之间的连接是安全的。

SSL 一直是网站的安全标准,直到 1999 年,更新的协议传输层安全 (TLS) 取代了它。尽管现代网站实际上使用了 TLS,但 SSL 仍然是一个广泛使用的术语,并且经常看到同时称为 SSL/TLS 的技术。

SSL/TLS 是您的数据在互联网上安全传输当中的一个关键部分。

SSL 如何工作?

SSL 提供了对通道和在线传输的数据进行加密所必需的元素。该协议通过称为“SSL Handshake”的过程在浏览器和 Web 服务器之间建立专用连接。

SSL 握手使用三个密钥(key)来建立私有连接(private connection):私有密钥(private key)、公共密钥(public key)和会话密钥(session key)。如果数据是用私钥加密的,那么只有公钥才能解密。另一方面,私钥是唯一可以解密用公钥加密的信息的东西。

在 SSL 握手期间使用私钥和公钥来创建将加密所有传输数据的安全会话密钥。有关分步细分,请查看以下过程。

SSL 握手的 6 个步骤:

  1. Web 浏览器(即客户端)连接到受 SSL 保护的网站(即 SSL 服务器)并请求该网站识别自己。这被称为“client hello”。
  2. 为了识别自己,网站会发送其 SSL 证书的副本和网站的公钥。此响应称为“server hello”。
  3. 然后,客户端根据证书颁发机构 (CA) 列表检查证书,并确保证书没有过期或被吊销。
  4. 如果证书是真实的,客户端将信任它并使用网站的公钥创建对称会话密钥(symmetric session key)
  5. 然后,SSL 服务器使用私钥解密会话密钥并发送加密确认以启动会话。
  6. 网站和浏览器之间传输的所有数据都使用会话密钥加密

尽管有各种不同的步骤,但 SSL 握手实际上是瞬间发生的,网站访问者不会注意到该过程。

SSL的重要性?

如果没有 SSL,如果您在线共享社会安全号码等机密信息,该信息将使用纯文本进行交换。由于纯文本(plain text)不安全,您的信息容易受到黑客和网络罪犯的攻击,他们可能会试图拦截和使用您的数据。

每当您进行在线支付或共享个人信息(如信用卡号)时,SSL 可确保您的数据保密。因此,它是在网站与其访问者之间建立信任的关键部分。

它还有助于网站遵守以下信息安全标准:

  • 身份验证(Authentication):验证网站服务器是正确的服务器
  • 加密(Encryption):保持数据传输的私密性和受保护
  • 完整性(Integrity):确认请求或传输的数据已实际交付

什么是 SSL 证书?

与护照或身份证passport or ID card)类似,SSL/TLS 证书可验证网站或应用程序是否确实如他们所声称的那样,并且它们由网站的服务器存储。

此外,SSL 证书还包含在 SSL 握手期间用于创建安全连接的私钥和公钥。没有 SSL 证书,您的网站就无法启用 SSL 协议。

如何获取 SSL 证书

按照下面概述的步骤了解如何为您的网站获取 SSL/TLS 证书。

1. 创建密钥和证书签名请求 (CSR:Certificate Signing Reques)


获取 SSL/TLS 证书的第一步是在您的服务器上生成一对私钥和公钥。然后,您将在您网站的服务器上创建证书签名请求。

CSR 是一种编码数据文件,用作与证书颁发机构共享您的公钥和任何识别公司信息的标准化方法。

关于 CSR 的常见信息:

  • 公司名称和通用名称
  • 公司所在地
  • 钥匙类型和尺寸

2. 将 CSR 数据文件发送到证书颁发机构 (CACertificate Authority)


获得 CSR 后,您需要将加密的数据文件提交给 CA 以获得证书。为此,您需要选择一个受到网络浏览器(如 DigiCert 或 SSL.com)公开信任的 CA。

此外,您还需要确定是否可以使用标准的免费证书,或者是否需要为自定义证书付费。保险或金融等受监管行业对可能需要定制的 SSL 证书有特定要求。

在确定受信任的 CA 和您需要的证书类型后,您可以发送 CSR 文件。然后 CA 将向您发送您的 SSL/TLS 证书。

3. 在您的服务器上安装 SSL 证书


现在您已经有了 SSL/TLS 证书,您需要将它安装在您的 Web 服务器上。您还需要安装一个中间证书,它通过将证书链接到 CA 的根证书来确认证书的真实性。

按照服务器的说明安装和测试您的证书。安装后,您的网站所连接的任何浏览器都会让用户知道您的网站是安全且值得信赖的。

如何判断网站是否使用 SSL 安全


有几种方法可以判断您使用的网站是否受 SSL 保护。您需要做的就是快速浏览 URL 栏以了解您需要了解的内容。下面我们详细介绍表明网站安全的两个标志。

URL 以“https://”而不是“http://”开头

 “https://”中的“s”代表安全连接并确认该网站已通过 SSL 加密。

2. 安全网址旁边有一个挂锁图标

根据您的浏览器,挂锁图标将出现在您的 URL 的左侧或右侧。例如,如果您使用 Google Chrome,挂锁应该位于左侧。

3. Bonus:验证网站的 SSL 证书是否有效


SSL 证书已过期的网站实际上不会有安全连接,但它可能仍然有一个以“https://”开头的 URL,并且还可能显示一个挂锁。

单击 URL 栏中的挂锁以获取更多信息,检查证书是否仍然有效以及您的连接是否安全。如果一个网站没有将他们的身份放在他们的证书上,这是一个危险信号,你不应该与他们分享你的个人信息。


TLS 与 SSL:有什么区别?


作为 SSL 的后继者,TLS 是作为 SSL 技术的更新而创建的,并被赋予了不同的名称。它们本质上是相似的协议,都使用加密来保护用户在线数据的私密性。

话虽如此,与最新的 TLS 版本 (TLS 1.3) 相比,SSL 已经过时,并且被现代 Web 浏览器认为是不安全的。尽管 TLS 是当今用于保护网站的最新技术,但 SSL 一词仍然广为人知和使用。

SSL 与 TLS : 异同

Secure Sockets Layer (SSL)Transport Layer Security (TLS)
Versions and dates released- SSL 1.0 (never publicly released)
- SSL 2.0 (1995)
- SSL 3.0 (1996)
- TLS 1.0 (1999)
- TLS 1.1 (2006)
- TLS 1.2 (2008)
- TLS 1.3 (2018)
Major cryptographic differenceUses a port to make connections (i.e., an explicit connection)Uses a protocol to make connections (i.e., an implicit connection)


要点:虽然 TLS 取代了 SSL 技术,但这些术语通常可以互换使用。

SSL/TLS 是保护在线数据的重要防线。它在网站和服务器之间建立安全连接,并使所有传输的信息加密和保密。

SSL Keystore 和 Truststore

Mobile Security Access Server supports an SSL keystore and SSL truststore. The SSL keystore holds the identity key for the server and the SSL truststore serves as the repository for trusted certificates. The SSL truststore is used for trusting or authenticating client certificates (for two-way SSL).

移动安全访问服务器支持 SSL keystore 和 SSL truststore。 SSL keystore 保存服务器的身份密钥(identity key),SSL truststore 充当受信任证书的存储库。 SSL truststore用于信任或验证客户端证书(对于双向 SSL)。

you can import keys into the SSL keystore, or generate keys. You can also import certificates into the SSL truststore

您可以将密钥导入 SSL keystore,或生成密钥。您还可以将证书导入 SSL truststore

参考文献

Difference Between Java Keystore and Truststore | Baeldung

Configuring the SSL Keystore and Truststore

What Is SSL? How It Works and Why It's Important - Panda Security

https://docs.oracle.com/cd/E52734_01/omss/AMSAS/msas-config-ssl.htm#AMSAS11905

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/357025.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态规划专题精讲1

致前行的人: 要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 前言: 本篇文章为大家带来一种重要的算法题,就是动态规划类型相关的题目,动态规划类的题目在笔试和面试中是考察非常高…

【日常点滴019】Python制作流浪气球游戏(导弹射击类)

Python制作流浪气球游戏(导弹射击类)教学课程代码(分步教学版)1、构建全局通用代码结构2、构建气球精灵类3、构建导弹精灵类4、碰撞检测5、构建游戏信息类 (最终完整代码)教学课程代码(分步教学…

基于springboot+vue的食疗系统

基于springbootvue的食疗系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍&…

java面试题-并发基础

1.多线程的出现是要解决什么问题的? 本质什么?提高程序性能:单线程程序只能按照固定的顺序依次执行每个任务,无法同时处理多个任务。多线程技术可以在同一时间内执行多个任务,从而提高程序的运行效率和响应速度。提高程序的并发性&#xff…

前端借助Canvas实现压缩图片两种方法

一、具体代码 1、利用canvas压缩图片方法一 // 第一种压缩图片方法(图片base64,图片类型,压缩比例,回调函数)// 图片类型是指 image/png、image/jpeg、image/webp(仅Chrome支持)// 该方法对以上三种图片类型都适用 压缩结果的图片base64与原类型相同// …

Python自动化测试-使用Pandas来高效处理测试数据

Python自动化测试-使用Pandas来高效处理测试数据 目录:导读 一、思考 二、使用pandas来操作Excel文件 三、使用pandas来操作csv文件 四、总结 一、思考 1.Pandas是什么? 功能极其强大的数据分析库可以高效地操作各种数据集 csv格式的文件Excel文件H…

Python3-基本数据类型

Python3 基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。 等号&…

注意力机制笔记——结合沐神和B站老弓up主

B站【大白话浅谈【注意力机制】】 聚类 是针对 样本, 注意力机制是针对样本相关性,来进行计算的 自注意力机制 指的是 query ,key,value都是同一个部分。 可以学到 类似的 短语 ,和 语义特征。如its 指代的对象。 评论区大佬 根据这篇论文《Effective Approaches to…

[ vulhub漏洞复现篇 ] Drupal 远程代码执行漏洞(CVE-2018-7602)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

设计模式之各种设计模式总结与对比

目录1 目标2 定位3 一句话归纳设计原则4 G0F 23种设计模式简介5 设计模式使用频次总结6 —句话归纳设计模式7 设计模式之间的关联关系和对比1 目标 1、 简要分析GoF 23种设计模式和设计原则,做整体认知。 2、 剖析Spirng的编程思想,启发思维,为之后深入学习Spring…

利用React实现多个场景下的鼠标跟随框提示框

前言 鼠标跟随框的作用如下图所示,可以在前端页面上,为我们后续的鼠标操作进行提示说明,提升用户的体验。本文将通过多种方式去实现,从而满足不同场景下的需求。 实现原理 实现鼠标跟随框的原理很简单,就是监听鼠标在…

删除链表的倒数第N个节点

题目描述19. 删除链表的倒数第 N 个结点难度中等2410收藏分享切换为英文接收动态反馈给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head [1,2,3,4,5], n 2输出:[1,2,3,5]示例 2&#…

【ROS】Windows系统安装ROS体验

大家平时玩ROS都是在Ubuntu系统上,那Windows系统可以安装吗,答案是:可以的!Windows为了发展自家的物联网生态,已经在Windows系统支持ROS了。 文章目录1.安装VS 20172.安装Chocolatey & Git3.安装ROS4.运行ROS例程1…

RabbitMQ核心内容:实战教程(java)

文章目录一、安装二、入门1.分类2.核心概念3.工作原理4.六大模式三、模式一:"Hello World!"1.依赖2.生产者代码3.消费者代码四、模式二:Work Queues1.工作原理2.工具类代码:连接工厂3.消费者代码4.生产者代码5.分发策略不公平分发预…

计算机网络第2章(物理层)学习笔记

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

Metasploit 使用篇

文章目录前言一、msfconsole启动msfconsole命令分类核心命令模块命令作业命令资源脚本命令后台数据库命令二、使用案例更改提示和提示字符运行shell命令信息收集:HTTP头检测前言 理解了Meatasploit框架架构、原理之后,自然就很好理解它的使用逻辑 find…

springmvc java ssm药店库存进销存管理系统带前台

基于JSP技术、SSM框架、B/S机构、Mysql数据库设计并实现了龙康药店管理系统。系统主要包括药店简介管理、客户信息管理、药品信息管理、入库信息管理、出库信息管理、进货单管理等功能模块。其特点一是方便学习,方便快捷;二是有非常大的信息储存量&#…

Games101-202作业1

一. 将模型从模型空间变换到世界空间下 在这个作业下,我们主要进行旋转的变换。 二.视图变换 ,将相机移动到坐标原点,同时保证物体和相机进行同样的变换(这样对形成的图像没有影响) 在这个作业下我们主要进行摄像机的平移变换&am…

【深度学习编译器系列】1. 为什么需要深度学习编译器?

本系列是自学深度学习编译器过程中的一些笔记和总结,参考文献在文末。 1. 概述 深度学习(DL)编译器的产生有两方面的因素:深度学习模型的广泛应用,以及深度学习芯片的层出不穷。 一方面,我们现在有非常多…

剑指 Offer 34. 二叉树中和为某一值的路径(java解题)

剑指 Offer 34. 二叉树中和为某一值的路径(java解题)1. 题目2. 解题思路3. 数据类型功能函数总结4. java代码1. 题目 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶…