当前位置: 首页 > news >正文

网络安全(3)_安全套接字层SSL

4. 安全套接字层

4.1 安全套接字层(SSL)和传输层安全(TLS)

(1)SSL/TLS提供的安全服务

  ①SSL服务器鉴别允许用户证实服务器的身份。支持SSL的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份,并获取服务器的公钥。

  ②SSL客户鉴别允许服务器证实客户身份。这个信息对服务器很重要的。例如,当银行把有关财务的保密信息发送给客户时,就必须检验接收者的身份。

  ③加密的SSL会话,客户和服务器交互的所有数据都在发送方加密,在接收方解密。第三方无法窃听。同时SSL具有校验机制,一旦被篡改,通信双方会立刻发现。

(2)SSL/TLS协议

  ①IETF将Netscape公司的SSL(安全套接字,Secure Socket Layer)作了标准化,并将其称为TLS(传输层安全, Transport Layer Security)。从技术上讲,TLS1.0与SSL3.0的差异非常微小。

   ②浏览器默认支持SSL/TLS:IE→“Internet选项”→“高级”中可以看到默认己经选中了“使用SSL2.0”和“使用SSL3.0”等项。

  ③安全套接字层的常见协议与端口

协议

端口

https

443

imaps

993

pop3s

995

smtps

465

4.2 安全套接字层的工作过程(以使用https协议为例)

(1)浏览器A将自己支持的一套加密算法发送给服务器B。

(2)服务器B从中选出一组加密算法和哈希算法并将自己的身份信息以证书的形式发回给客户端浏览器。证书里包含了网站域名、加密公钥以及证书颁发机构等信息。

(3)客户端验证证书的合法性(是否信任证书颁发机构,证书中包含的网站域名地址是否与正在访问的地址一致,证书是否过期等)。如果证书受信任,浏览器栏里会显示一个小锁图标,否则会给出证书不受信任的提示。如果证书受信任或用户接受了不受信任的证书(这说明A可以不必事先信任该证书颁发机构!),浏览器会产生秘密数,客户端使用双方协商的算法将秘密数转换成会话密钥。同时使用B提供的公钥加密秘密数,然后发送给服务器B

(4)服务器B用私钥解密秘密数根据双方协商的算法产生会话密钥,这和浏览器A产生的会话密钥相同。

(5)安全数据传输。双方用会话密加密和解密它们之间传送的数据并验证其完整性。

4.3 证书颁发机构层次

(1)证书的层次结构

  ①CA认证中心是一个负责发放和管理数字证书的权威机构。认证中心通常采用多层次的分级结构。上级认证中心负责签发(或签名)和管理下级认证中心的证书,最下一级的认证中心直接面向最终用户发放证书。

  ②顶层CA称为根CA,根CA的子CA称为从属CA。从属CA也可以给它的下级发证,即给下级CA数字证书签名。

  ③互联网中的用户只需信任根证书颁发机构,就能信任其所有从属CA,然后验证所有从属CA颁发的用户证书或服务器证书。

(2)使用根CA的公钥验证完整证书的过程

  ①客户端首先使用根CA公钥验证子CA的证书是否是根CA颁发的。(注意,验证子CA之前要求客户端要先信任根CA。可以通过IE→“Internet选项”→“内容”→“证书”→“受信任的根证书颁发机构”中查看到!微软在安装操作系统时就己经将那些知名的证书颁发机构添加到这里!)

  ②验证通过,再使用子CA的公钥验证Web证书是否是子CA颁发的。所以客户端只要信任了根证书颁发机构,就能验证其所有从属CA,以及由从CA颁发的用户证书或服务器证书。

4.4 实战:配置网站使用https通信

(1)实验环境:三个虚拟机(Win2003Web服务器(192.168.80.20)Win2003证书颁发机构(192.168.80.100)和一个WinXP作为浏览器。)

(2)申请Web服务器证书

  ①为Web站点创建证书申请文件。IIS→“默认网站”→“属性”→“目录安全性”中点击“服务器证书”。

  ②在“新建证书”中,输入相关信息。但要注意的是当出现“站点公用名称”对话框时,输入的网站域名要与用户访问该网站的域名相同,否则用户在访问该网站时会出现安全警告。最后,将证书申请文件保存在桌面。

  ③登录Win2003CA提供的页面(http://192.168.80.100/certsrv)去申请Web服务器证书:“申请一个证书”→“高级证书申请”→“使用base64编码的CMC或PKCS#10文件提交一个证书。申请,或使用base64编码的PKCS#7文件续订证书”→在“保存的申请”框中将之前保存在桌面的申请文件导入进来→“提交”。注意,要登录Win2003CA服务器审核刚才Web服务器的证书申请,然后“颁发”。

  ④然后回到Win2003Web服务器刚刚申请证书的首页,查看“挂起的证书申请状态”并下载证书保存到桌面

(2)配置Web站点使用https通信

  ①将证书与Web站点绑定。IIS→“默认站点”→“属性”→“目录安全性”→“服务器证书”→“处理挂起的请求并安装证书”→浏览到刚保存的证书→SSL端口号保留默认值(443)。

  ②查看证书:可以看出MyWeb服务器证书己颁发下来,但前面有个红色的“×”。说明目前5ieduCA这个证书颁发机构仍不是我们信任的机构。可以在“5ieduCA”→“查看证书”→“安装证书”→在“证书存储”→选择“本地计算机”,完成证书导入。

  ③强制使用SSL安全协议:“目录安全性”→“编辑”→“安全通信”→勾选“要求安全通道(SSL)”,这样就只允许使用https协议访问了。否则即可以通过https,也可以通过http协议和IP地址直接访问。

  ③在Win2003Web服务器上配置DNS,使得www.5iedu.net指向Web服务器。同时将WinXP虚拟机的DNS设置为192.168.80.20,然后在WinXP上打开IE使用https协议浏览https://www.5iedu.net站点如果直接使用IP或http协议访问时则无法访问。(注意观察浏览器右下访有一个小锁的图标,可以双击查看证书及有效期。如果出现根证书机构未被信任,说明客户端未信任根证书颁发机构,客户要自己确认该站点的合法性!)

相关文章:

网络安全(3)_安全套接字层SSL

4. 安全套接字层 4.1 安全套接字层(SSL)和传输层安全(TLS) (1)SSL/TLS提供的安全服务 ①SSL服务器鉴别,允许用户证实服务器的身份。支持SSL的客户端通过验证来自服务器的证书,来鉴别…...

Git 快速入门

Git 是什么? Git 是一个分布式版本控制系统四大区域: 工作区:项目文件的当前状态,即本地目录。暂存区:保存将要提交的文件快照,是一个中间层,使用git add将文件添加到暂存区。本地仓库&#xf…...

AI学习记录 - 依据 minimind 项目入门

想学习AI,还是需要从头到尾跑一边流程,最近看到这个项目 minimind, 我也记录下学习到的东西,需要结合项目的readme看。 1、github链接 https://github.com/jingyaogong/minimind?tabreadme-ov-file 2、硬件环境:英伟达4070ti …...

数据结构----链表头插中插尾插

一、链表的基本概念 链表是一种线性数据结构,它由一系列节点组成。每个节点包含两个主要部分: 数据域:用于存储数据元素,可以是任何类型的数据,如整数、字符、结构体等。指针域:用于存储下一个节点&#…...

设计模式-读书笔记

确认好: 模式名称 问题:在何时使用模式,包含设计中存在的问题以及问题存在的原因 解决方案:设计模式的组成部分,以及这些组成部分之间的相互关系,各自的职责和协作方式,用uml类图和核心代码描…...

c语言----选择结构

基本概念 选择结构是C语言中用于根据条件判断来执行不同代码块的结构。它允许程序在不同的条件下执行不同的操作,使程序具有决策能力。 if语句 单分支if语句 语法格式: if (条件表达式) { 执行语句块; } 功能: 当条件表达式的值为真&#…...

KS曲线python实现

目录 实战 实战 # 导入第三方模块 import pandas as pd import numpy as np import matplotlib.pyplot as plt# 自定义绘制ks曲线的函数 def plot_ks(y_test, y_score, positive_flag):# 对y_test重新设置索引y_test.index np.arange(len(y_test))# 构建目标数据集target_dat…...

解决matplotlib中文乱码问题

进入python,查看缓存 import matplotlib as mpl print(mpl.get_cachedir())如果结果为/Users/xxx/.matplotlib 那么就rm -rf /Users/xxx/.matplotlib 然后 mkdir ~/.fonts cd ~/.fonts wget http://129.204.205.246/downloads/SimHei.ttfsudo apt-get install fo…...

实操给桌面机器人加上超拟人音色

前面我们讲了怎么用CSK6大模型开发板做一个桌面机器人充当AI语音助理,近期上线超拟人方案,不仅大模型语音最快可以1秒内回复,还可以让我们的桌面机器人使用超拟人音色、具备声纹识别等能力,本文以csk6大模型开发板为例实操怎么把超…...

git stash 的文件如何找回

在Git中,如果你使用了git stash命令来保存你的工作进度,但之后想要找回这些被stash的文件,你可以按照以下步骤进行操作: 1. 查看stash列表 首先,使用git stash list命令来查看当前保存的所有stash记录。这个命令会列出…...

皮肤伤口分割数据集labelme格式248张5类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):284 标注数量(json文件个数):284 标注类别数:5 标注类别名称:["bruises","burns","cu…...

uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!

**提要:**近段时间我们收到多个康复机构用户,咨询AI运动识别插件是否可以应用于肢力运动受限患者的康复锻炼中来,插件是可以应用到AI康复锻炼中的,今天小编就为您介绍一下AI运动识别插件在康腹锻炼中的应用场景。 一、康复机构的应…...

双内核架构 Xenomai 4 安装教程

Xenomai 4是一种双内核架构, 继承了Xenomai系列的特点,通过在Linux内核中嵌入一个辅助核心(companion core),来提供实时能力。这个辅助核心专门处理那些需要极低且有界响应时间的任务。 本文将在官网教程(https://evlproject.org/…...

【redis的使用、账号流程、游戏服Handler的反射调用】1.自增id 2.全局用户名这样子名字唯一 3.

一、web服 1)账号注册 // 用于唯一命名服务 com.xinyue.game.center.business.account.logic.AccountRegisterService#accountRegister public void accountRegister(AccountEntity account) {accountManager.checkUsername(account.getUsername());accountManager.checkPass…...

neo4j 图表数据导入到 TuGraph

neo4j 图表数据导入到 TuGraph 代码文件说明后文 前言:近期在引入阿里的 TuGraph 图数据库,需要将 原 neo4j 数据导入到新的 tugraph 数据库中。预期走csv文件导入导出,但因为格式和数据库设计问题,操作起来比较麻烦(可能是个人没…...

启动报错java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus

报错信息图片 日志: Exception in thread "Quartz Scheduler [scheduler]" java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus先说我自己遇到的问题,我们项目在web设置了自定义的log输出路径,多了一个 / 去…...

【ubuntu18.04】ubuntu18.04挂在硬盘出现 Wrong diagnostic page; asked for 1 got 8解决方案

错误日志 [ 8754.700227] usb 2-3: new full-speed USB device number 3 using xhci_hcd [ 8754.867389] usb 2-3: New USB device found, idVendor0e0f, idProduct0002, bcdDevice 1.00 [ 8754.867421] usb 2-3: New USB device strings: Mfr1, Product2, SerialNumber0 [ 87…...

kubeadm安装K8s高可用集群之集群初始化及master/node节点加入calico网络插件安装

系列文章目录 1.kubeadm安装K8s高可用集群之基础环境配置 2.kubeadm安装K8s集群之高可用组件keepalivednginx及kubeadm部署 3.kubeadm安装K8s高可用集群之集群初始化及master/node节点加入集群calico网络插件安装 kubeadm安装K8s高可用集群之集群初始化及master/node节点加入ca…...

游戏何如防抓包

游戏抓包是指在游戏中,通过抓包工具捕获和分析游戏客户端与服务器之间传输的封包数据的过程。抓包工具可实现拦截、篡改、重发、丢弃游戏的上下行数据包,市面上常见的抓包工具有WPE、Fiddler和Charles Proxy等。 抓包工具有两种实现方式,一类…...

【LeetCode】每日一题 2024_12_19 找到稳定山的下标(模拟)

前言 每天和你一起刷 LeetCode 每日一题~ 最近力扣的每日一题出的比较烂,难度过山车,导致近期的更新都三天打鱼,两天断更了 . . . LeetCode 启动! 题目:找到稳定山的下标 代码与解题思路 先读题:最重要…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...