安全防御之身份鉴别技术
身份认证技术用于在计算机网络中确认操作者的身份。在计算机网络世界中,用户的身份信息是用一组特定的数据来表示的,计算机也只能识别用户的数字身份。身份认证技术能够作为系统安全的第一道防线,主要用于确认网络用户的身份,防止非法访问和恶意攻击,确保数字身份的操作者就是这个数字身份合法拥有者。
一、基本概念
1、身份鉴别
身份鉴别是指对主客体身份进行确认的过程,也就是对网络用户在进入系统或访问受限系统资源时的身份进行识别和验证的过程。这是信息安全的第一道防线,可以确保用户身份的真实、合法和唯一性,防止非法人员进入系统。
身份鉴别的方法:主要有三种,即基于实体所知、基于实体所有和基于实体特性。
基于实体所知的方法包括密码、验证码等,这些方法的成本低,实现简单,但面临的风险也较大,如暴力破解、木马等。
基于实体所有的方法通常涉及一些物理设备,如IC卡、门禁卡等,安全性较高,但成本也较高,并可能面临损坏和被复制的风险。基于实体特性的方法通常采用生物识别技术进行验证,如指纹、虹膜、声波等,这是安全性最高的一种方式。
2、标识
标识认证技术是信息安全理论与技术的一个重要方面,是实现信息安全等级保护身份鉴别、访问控制的技术基础,主要包括信息认证与身份标识认证两个方面的内容。信息认证用于保护信息的完整性与抗否认性,身份标识认证则用于鉴别用户身份,限制非法用户访问资源。
1)人的标识
身份标识认证是安全技术的一个重要方面,在用户访问文件时,必须通过某种形式的身份标识验证机制来证明他们的身份,验证用户的身份与所宣称的保持一致,才能够实现对文件的访问。用户首先经过身份标识认证才能访问安全系统,然后由安全系统根据用户身份决定用户的访问权限。
2)网络标识
网络标识是指机器在网络中的标志信息,对一台具体的机器而言,机器的IP地址,MAC地址就是在网络中标识的。
在网络中,同一数据在不同的层有不同的标识,数据链路层的标识是MAC地址,网络层的标识是IP地址,传输层的标识就是UDP或者TCP的端口号。
主机的标识就是主机名称。在网络中,主机的名称+地址成为唯一的标识。
3)应用标识
应用标识包括应用名,进程名称,占用端口,序列号,标准的应答方式等。
3、口令
口令是指只有通信双方知晓的一段数据。口令是最广泛使用的一种身份鉴别方法,也是最容易实现和成本最低的用户鉴别和认证机制,但是经常会遭到攻击者的威胁:
口令字典攻击:也就是猜口令,在获得口令密文后,攻击者可以通过运用自己保存的口令字典,通过可以获得的相同的加密算法进行枚举尝试。
口令丢失:用户经常会将自己的口令分享给同事、上司或第三方工程人员。这样就失去了口令的鉴别作用。
口令嗅探:很多系统的口令在网络上都是明文传输的,比如,电子邮件,Telnet远程登录等。通过在网络关键路径上进行嗅探可以轻易地获得用户的口令。
口令文件被窃取:对口令文件的保护是口令机制的弱点。如果口令文件被窃取,可能导致大量的用户口令沦陷。
4、挑战-响应技术
挑战-响应技术是一种常用的基于口令的身份认证技术。
基于挑战/响应方式的身份认证系统就是每次认证时,认证服务器端都给客户端发送一个不同的“挑战”字串,客户端程序收到这个“挑战”字串后,做出相应的“响应”,基于此机制系统认证过程为:
- 客户端向认证服务器发出请求,要求进行身份认证;
- 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;
- 如果是合法用户,认证服务器内部产生一个随机数,作为“提问”,发送给客户端;
- 客户端将用户名字和随机数合并,使用单向Hash函数(例如MD5算法)生成一个应答串作为响应;
- 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;
- 认证服务器通知客户端认证成功或失败。
- 认证成功之后,以后的认证由客户端不定时地发起,过程中没有了客户端认证请求一步。两次认证的时间间隔不能太短,否则会给网络、客户和认证服务器带来太大的开销;也不能太长,否则不能保证用户不被他人盗用IP地址,建议时长为1-2分钟。
5、公钥认证技术
公钥认证技术使用一对加密字符串,一个称为公钥,任何人都可以看到其内容;另一个称为私钥,由用户妥善保存。公钥认证技术功能的实现在于通过公钥加密过的密文使用私钥可以轻松解密,但根据私钥来猜测密钥却十分困难。
二、常见的身份鉴别技术
- 用户名/密码认证:这是一种最基本的方式,用户需要输入用户名和密码来证明自己的身份。但是,由于密码可能被破解或泄露,因此这种方式存在一定的安全隐患。
- 动态口令认证:这是一种更加安全的方式,用户需要输入动态生成的口令才能进入系统。这种方式可以有效地防止密码被破解或被盗用。
- 多因素认证:这是一种基于多种因素的认证方式,除了用户名和密码外,还需要用户提供其他信息,如手机验证码、指纹、虹膜等。这种方式可以大大提高系统的安全性。
- 基于角色的访问控制:这是一种基于用户角色的访问控制方式,用户只能访问自己被授权的资源。这种方式可以有效地防止未授权的访问和数据泄露。
- 单点登录认证:这种方式可以实现一次登录即可访问多个系统的功能,减少了用户的操作步骤,提高了工作效率。同时,这种方式也可以减少因某个系统被攻击而导致其他系统受到攻击的风险。
身份鉴别技术是保护信息安全的重要手段,不同的应用场景需要选择合适的身份鉴别技术来保证系统的安全性和稳定性。
三、防御措施
针对身份鉴别过程中可能出现的攻击,如线路窃听和重放攻击等,需要采取相应的防御措施。例如,在口令中使用随机数可以防止攻击者通过构造特定表格(如彩虹表)来破解口令。针对重放攻击,可以在会话中引入时间戳或使用一次性口令等方式进行防御。
身份鉴别技术是网络安全的重要组成部分,通过确认网络用户的身份,可以有效地防止非法访问和恶意攻击。同时,随着技术的发展,身份鉴别技术也在不断地进步和完善,以应对日益复杂的网络安全威胁。
博客:http://xiejava.ishareread.com/
相关文章:
安全防御之身份鉴别技术
身份认证技术用于在计算机网络中确认操作者的身份。在计算机网络世界中,用户的身份信息是用一组特定的数据来表示的,计算机也只能识别用户的数字身份。身份认证技术能够作为系统安全的第一道防线,主要用于确认网络用户的身份,防止…...
axios post YII2无法接收post参数问题解决
axios post YII2无法接收post参数问题解决 在yii 配置文件中增加 ‘parsers’ > [“application/json” > “yii\web\JsonParser”] 如下所示: $config [id > basic,language > zh-CN,timeZone > env(TIME_ZONE, PRC),basePath > $basePath,bo…...

性能优化-OpenMP基础教程(三)
本文主要介绍OpenMP并行编程的环境变量和实战、主要对比理解嵌套并行的效果。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 &…...

[足式机器人]Part2 Dr. CAN学习笔记-动态系统建模与分析 Ch02-1+2课程介绍+电路系统建模、基尔霍夫定律
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-动态系统建模与分析 Ch02-12课程介绍电路系统建模、基尔霍夫定律 1. 课程介绍2. 电路系统建模、基尔霍夫定律 1. 课程介绍 2. 电路系统建模、基尔霍夫定律 基本元件: 电量 库伦&…...

VSCode配置C/C++环境
文章目录 1. 安装配置 C 编译器1.1 下载 MinGW1.2 Mingw添加到系统变量1.3 验证 2. 安装和配置VSCode2.1 安装VSCode2.2 VSCode配置C环境2.3. 优化 3.参考文章 本文主要记录在VSCode中配置C环境,非常感谢参考文章中的博主。 1. 安装配置 C 编译器 首先需要安装 C 编…...

ChatGPT绘制全球植被类型分布图、生物量图、土壤概念图、处理遥感数据并绘图、病毒、植物、动物细胞结构图
以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…...

vmware workstation的三种网络模式通俗理解
一、前言 workstations想必很多童鞋都在用,经常会用来在本机创建不同的虚拟机来做各种测试,那么对于它支持的网络模式,在不同的测试场景下应该用哪种网络模式,你需要做下了解,以便可以愉快的继续测(搬&…...

C++程序设计兼谈对象模型(侯捷)笔记
C程序设计兼谈对象模型(侯捷) 这是C面向对象程序设计的续集笔记,仅供个人学习使用。如有侵权,请联系删除。 主要内容:涉及到模板中的类模板、函数模板、成员模板以及模板模板参数,后面包含对象模型中虚函数调用&…...

selenium实现UI自动化
1.selenium简介 selenium是支持web浏览器自动化的一系列工具和库的综合项目。具有支持linux、windows等多个平台,支持Firefox、chrome等多种主流浏览器;支持Java、Python等多种语言。 主要包括的三大工具有: WebDriver(rc 1.0)、…...

【DevOps-03】Build阶段-Maven安装配置
一、简要说明 下载安装JDK8下载安装Maven二、复制准备一台虚拟机 1、VM虚拟复制克隆一台机器 2、启动刚克隆的虚拟机,修改IP地址 刚刚克隆的虚拟机 ,IP地址和原虚拟的IP地址是一样的,需要修改克隆后的虚拟机IP地址,以免IP地址冲突。 # 编辑修改IP地址 $ vi /etc/sysconfig…...

已解决java.lang.ArrayIndexOutOfBoundsException异常的正确解决方法,亲测有效!!!
已解决java.lang.ArrayIndexOutOfBoundsException异常的正确解决方法,亲测有效!!! 目录 报错问题 解决思路 解决方法 总结 Q1 - 报错问题 java.long.ArrayIndexOutOfBoundsException 是Java中的一个运行时异常,…...

Pycharm打包程序为exe文件
Pycharm打包程序为exe文件 【一】导入模块pyinstaller 【1】图片说明 【2】文字说明 根据图片顺序执行 首先点击file进入settings界面,在setting界面找到Project下面的Python Interpretor,点击号进行模块的添加在搜索框中输入pyinstaller,…...
地理空间分析3——数据可视化与地理空间
写在开头 数据可视化是将数据以图形形式呈现,使其更易于理解和分析的过程。在地理空间分析中,数据可视化不仅能够展示地理位置信息,还能够有效地传达地理空间数据的模式、趋势和关联。本文将探讨数据可视化在地理空间分析中的作用,介绍Python中常用的数据可视化工具,并深…...
python开发案例教程-清华大学出版社(张基温)答案(4.3)
练习 4.1 1. 判断题 判断下列描述的对错。 (1)子类是父类的子集。 ( ✖ ) (2)父类中非私密的方法能够被子类覆盖。 ( ✔ ) (3)子类…...

Qt 5.9.4 转 Qt 6.6.1 遇到的问题总结(一)
最近公司对大家的开发的硬件环境进行了升级,电脑主机的配置、显示器(两台大屏显示器)变得的逼格高多了。既然电脑上的开发环境都需要重装,就打算把开发环境也升级到最新版本,要用就用最新版本。下面对升级后的开发环境…...

探索生成式AI:自动化、问题解决与创新力
目录 自动化和效率:生成式AI的颠覆力量 解谜大师生成式AI:如何理解和解决问题 创新与创造力的启迪:生成式AI的无限潜能 自动化和效率:生成式AI的颠覆力量 1. 神奇的代码生成器:生成式AI可以帮助开发人员像魔术一样快…...

UI5与后端的文件交互(一)
文章目录 前言一、RAP的开发1. 创建表格2. 创建CDS Entity3. 创建BDEF4. 创建implementation class5. 创建Service Definition和Binding6. 测试API 二、创建UI5 Project1. 使用Basic模板创建2. 创建View3. 测试页面及绑定的oData数据是否正确4. 创建Controller5. 导入外部包&am…...

[HCTF 2018]Warmup
[HCTF 2018]Warmup wp 进入页面: 查看源码: 发现提示:source.php ,直接访问,得到源代码: <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist [&qu…...

编译原理笔记(三)
一、词法分析程序的设计 1、词法分析程序的输出 在识别出下一个单词同时验证其词法正确性之后,词法分析程序将结果以单词符号的形式发送至语法分析程序以回应其请求。 单词符号一般分下列5类: 关键字:如:begin、end、if、whil…...

DDoS攻击的多种方式
DDOS攻击指分布式拒绝服务攻击,即处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

2.3 物理层设备
在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...

如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...