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

安全防御之身份鉴别技术

身份认证技术用于在计算机网络中确认操作者的身份。在计算机网络世界中,用户的身份信息是用一组特定的数据来表示的,计算机也只能识别用户的数字身份。身份认证技术能够作为系统安全的第一道防线,主要用于确认网络用户的身份,防止非法访问和恶意攻击,确保数字身份的操作者就是这个数字身份合法拥有者。

一、基本概念

1、身份鉴别

身份鉴别是指对主客体身份进行确认的过程,也就是对网络用户在进入系统或访问受限系统资源时的身份进行识别和验证的过程。这是信息安全的第一道防线,可以确保用户身份的真实、合法和唯一性,防止非法人员进入系统。

身份鉴别的方法:主要有三种,即基于实体所知基于实体所有和基于实体特性
基于实体所知的方法包括密码、验证码等,这些方法的成本低,实现简单,但面临的风险也较大,如暴力破解、木马等。
基于实体所有的方法通常涉及一些物理设备,如IC卡、门禁卡等,安全性较高,但成本也较高,并可能面临损坏和被复制的风险。基于实体特性的方法通常采用生物识别技术进行验证,如指纹、虹膜、声波等,这是安全性最高的一种方式。

2、标识

标识认证技术是信息安全理论与技术的一个重要方面,是实现信息安全等级保护身份鉴别、访问控制的技术基础,主要包括信息认证与身份标识认证两个方面的内容。信息认证用于保护信息的完整性与抗否认性,身份标识认证则用于鉴别用户身份,限制非法用户访问资源。

1)人的标识

身份标识认证是安全技术的一个重要方面,在用户访问文件时,必须通过某种形式的身份标识验证机制来证明他们的身份,验证用户的身份与所宣称的保持一致,才能够实现对文件的访问。用户首先经过身份标识认证才能访问安全系统,然后由安全系统根据用户身份决定用户的访问权限。

2)网络标识

网络标识是指机器在网络中的标志信息,对一台具体的机器而言,机器的IP地址,MAC地址就是在网络中标识的。
在网络中,同一数据在不同的层有不同的标识,数据链路层的标识是MAC地址,网络层的标识是IP地址,传输层的标识就是UDP或者TCP的端口号。
主机的标识就是主机名称。在网络中,主机的名称+地址成为唯一的标识。

3)应用标识

应用标识包括应用名,进程名称,占用端口,序列号,标准的应答方式等。

3、口令

口令是指只有通信双方知晓的一段数据。口令是最广泛使用的一种身份鉴别方法,也是最容易实现和成本最低的用户鉴别和认证机制,但是经常会遭到攻击者的威胁:
口令字典攻击:也就是猜口令,在获得口令密文后,攻击者可以通过运用自己保存的口令字典,通过可以获得的相同的加密算法进行枚举尝试。
口令丢失:用户经常会将自己的口令分享给同事、上司或第三方工程人员。这样就失去了口令的鉴别作用。
口令嗅探:很多系统的口令在网络上都是明文传输的,比如,电子邮件,Telnet远程登录等。通过在网络关键路径上进行嗅探可以轻易地获得用户的口令。
口令文件被窃取:对口令文件的保护是口令机制的弱点。如果口令文件被窃取,可能导致大量的用户口令沦陷。

4、挑战-响应技术

挑战-响应技术是一种常用的基于口令的身份认证技术。
基于挑战/响应方式的身份认证系统就是每次认证时,认证服务器端都给客户端发送一个不同的“挑战”字串,客户端程序收到这个“挑战”字串后,做出相应的“响应”,基于此机制系统认证过程为:

  1. 客户端向认证服务器发出请求,要求进行身份认证;
  2. 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;
  3. 如果是合法用户,认证服务器内部产生一个随机数,作为“提问”,发送给客户端;
  4. 客户端将用户名字和随机数合并,使用单向Hash函数(例如MD5算法)生成一个应答串作为响应;
  5. 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;
  6. 认证服务器通知客户端认证成功或失败。
  7. 认证成功之后,以后的认证由客户端不定时地发起,过程中没有了客户端认证请求一步。两次认证的时间间隔不能太短,否则会给网络、客户和认证服务器带来太大的开销;也不能太长,否则不能保证用户不被他人盗用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中的一个运行时异常​&#xff0c…...

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 进入页面&#xff1a; 查看源码&#xff1a; 发现提示&#xff1a;source.php &#xff0c;直接访问&#xff0c;得到源代码&#xff1a; <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist [&qu…...

编译原理笔记(三)

一、词法分析程序的设计 1、词法分析程序的输出 在识别出下一个单词同时验证其词法正确性之后&#xff0c;词法分析程序将结果以单词符号的形式发送至语法分析程序以回应其请求。 单词符号一般分下列5类&#xff1a; 关键字&#xff1a;如&#xff1a;begin、end、if、whil…...

DDoS攻击的多种方式

DDOS攻击指分布式拒绝服务攻击&#xff0c;即处于不同位置的多个攻击者同时向一个或数个目标发动攻击&#xff0c;或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的&#xff0c;这类攻击称为分布式拒绝服务…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...