网络安全(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将文件添加到暂存区。本地仓库…...
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 启动! 题目:找到稳定山的下标 代码与解题思路 先读题:最重要…...
如何用NHSE动物森友会存档编辑器快速打造梦想岛屿:终极完整指南
如何用NHSE动物森友会存档编辑器快速打造梦想岛屿:终极完整指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 还在为《集合啦!动物森友会》中收集稀有物品而烦恼吗&#…...
从架构到应用:DNNGP、DeepGS与DLGWAS三大基因预测模型深度剖析
1. 基因预测模型的崛起与挑战 基因组学研究正在经历一场由AI驱动的革命。过去十年间,随着高通量测序技术的普及,生物医学领域积累了海量的基因数据,但传统统计方法在处理复杂性状预测时逐渐显得力不从心。正是在这样的背景下,DNNG…...
用STM32F103和AD9833制作一个简易信号源:从电路搭建、驱动编写到波形测试全记录
用STM32F103和AD9833打造高精度信号发生器:硬件设计、固件开发与波形优化全解析 在电子工程和嵌入式开发领域,信号发生器是不可或缺的基础工具。无论是测试滤波器响应、校准传感器,还是验证通信协议,一个稳定可靠的信号源都能显著…...
水凝膜、钢化膜、护景贴大对决:一张表看懂该买谁
水凝膜、钢化膜、护景贴大对决:一张表看懂该买谁手机屏幕保护膜主要有三种:水凝膜、普通钢化膜和护景贴(悟赫德为代表)。很多人不知道它们到底有什么区别,我们从六个维度给你讲清楚。材料结构。水凝膜是单层软塑料&…...
ssm高校学生综合测评管理系统(10029)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
音乐学者必看的NotebookLM冷启动指南,从乐谱OCR识别到和声进行语义建模,一步到位
更多请点击: https://intelliparadigm.com 第一章:NotebookLM在音乐学研究中的范式革命 NotebookLM(由Google Research推出的基于用户上传文档的AI助手)正悄然重塑音乐学研究的方法论边界。它不再依赖通用知识库的模糊匹配&#…...
ISDN PRI外线故障排查实战指南
在实际运维案例中,工程师不怕故障一直出现,就怕偶尔出问题。比如客户反馈打外线时,偶尔会出现断线的情况。当然可以通过MST或Trace命令去跟踪,但如果故障发生频率过低,抓日志往往很难。我们通常需要先检查线路质量&…...
核心代码编程-社交网络相同爱好好友查询-200分
题目描述:在一个社交网络中,用户之间通过"关注"关系形成有向图。每个用户有两个属性 ﹣用户ID(整数字符串) ﹣兴趣标列表(字符串数组) 现在需要实现一个函数,查询…...
思源宋体TTF完全指南:7种字重免费解决中文排版难题
思源宋体TTF完全指南:7种字重免费解决中文排版难题 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文设计项目找不到合适的字体而烦恼吗?无论是网页设计…...
从Excel到数据库:用Pandas Timestamp统一你的时间数据(pd.to_datetime实战解析)
从Excel到数据库:用Pandas Timestamp统一你的时间数据(pd.to_datetime实战解析) 在数据工程领域,时间数据的标准化处理往往是ETL流程中最容易被低估的痛点。当Excel表格中的"2023/1/15"遇上数据库里的"15-JAN-23&q…...
