软考-信息安全工程师学习笔记16——认证技术方法
liuian 2024-12-02 22:19 50 浏览
认证技术方法:
- 口令认证技术
- 智能卡技术
- 基于生物特征认证技术
- Kerberos技术
口令认证技术
口令认证是基于用户所知道的秘密而进行的认证技术。
口令认证一般要求参与认证的双方按照事先约定的规则,用户发起服务请求,然后用户被要求向服务实体提供用户标识和用户口令,服务实体验证其正确性,若验证通过,则允许用户访问。
设用户A的标识为UA,口令为PA,服务方实体为B,则认证过程描述如下:
第一步,用户A发送消息(UA,PA)到服务方B。
第二步,B收到(UA,PA)消息后,检查UA和PA的正确性。若正确,则通过用户A的认证。
第三步,B回复用户A验证结果消息。
目前,服务方实体B通常会存储用户A的口令信息。一般安全要求把口令进行加密变换后存储,口令非明文传输。
口令认证的优点是简单,易于实现
口令认证的不足是容易受到攻击,主要攻击方式有窃听、重放、中间人攻击、口令猜测等。要实现口令认证的安全,应至少满足以下条件:
- 口令信息要安全加密存储:
- 口令信息要安全传输:
- 口令认证协议要抵抗攻击,符合安全协议设计要求:
- 口令选择要求做到避免弱口令。
智能卡技术
智能卡是一种带有存储器和微处理器的集成电路卡,能够安全存储认证信息,并具有一定的计算能力。智能卡认证根据用户所拥有的实物进行,智能卡认证技术广泛应用于社会的各个方面。
通过智能卡来实现挑战/响应认证。在挑战/响应认证中,用户会提供一张智能卡,智能卡会一直显示一个随时间而变化的数字,假如用户试图登录目标系统,则系统首先将对用户进行认证,步骤如下:
- 用户将自己的ID发送到目标系统:
- 系统提示用户输入数字:
- 用户从智能卡上读取数字:
- 用户将数字发送给系统:
- 系统用收到的数字对ID进行确认,如果ID有效,系统会生成一个数字并将其显示给用户,称为挑战:
- 用户将上面的挑战输入智能卡中:
- 智能卡用这个输入的值根据一定算法计算出一个新的数字并显示这个结果,该数字称为应答;
- 用户将应答输入系统:
- 系统验证应答是否正确,如果正确,用户通过验证并登录进入系统。
基于生物特征认证技术
基于生物特征认证就是利用人类生物特征来进行验证
- 指纹识别认证:指纹识别系统通过对获取的人类用户自身拥有的独一无二的指纹特征的鉴别结果,区分不同的人类用户身份。
- 人脸识别认证:基于人的脸部特征信息进行身份识别的一种生物识别技术
- 视网膜识别认证:根据人眼视网膜中的血管分布模式不同来鉴别不同人的身份
- 语音识别认证:是依靠人的声音的频率来判断不同人的身份
Kerberos 认证技术
Kerberos 是一个网络认证协议
目标:是使用密钥加密为客户端/服务器应用程序提供强身份认证,
技术原理:是利用对称密码技术,使用可信的第三方来为应用服务器提供认证服务,并在用户和服务器之间建立安全信道。
Kerberos进行密钥分配时使用AES、DES等对称密钥加密。
Kerberos系统涉及四个基本实体:
- Kerberos客户机,用户用来访问服务器设备;
- AS(Auhentcation Server,认证服务器),识别用户身份并提供TGS会话密钥;
- TGS(Ticket Granting Server,票据发放服务器),为申请服务的用户授予票据(Ticket)
- 应用服务器(Application Server),为用户提供服务的设备或系统。
通常将AS和TGS统称为密钥分发中心KDC (Key Distribution Center)。
票据(Ticket)是用于安全的传递用户身份所需要的信息的集合,主要包括
- 客户方 Principal
- 客户方IP地址
- 时间戳(分发该Ticket的时间)
- Ticket的生存期
- 会话密钥
KerberosV5认证协议主要由六步构成:
第一步,如图所示,Kerberos客户向认证服务器AS申请票据TGT。
第二步,如图所示,当认证服务器AS收到 Kerberos客户发来的消息后,AS在认证数据库检查确认Kerberos客户,产生一个会话密钥,同时使用Kerberos客户的秘密密钥对会话密钥加密,然后生成一个票据TGT,其中TGT由Kerberos客户的实体名、地址、时间戳、限制时间、会话密钥组成。AS生成TGT完毕后,把TGT发送给Kerberos客户
第三步,如图所示,Kerberos客户收到AS发来的TGT后,使用自己的秘密密钥解密得到会话密钥,然后利用解密的信息重新构造认证请求单,向TGS发送请求,申请访问应用服务器AP所需要的票据(Ticket)。
第四步,如图所示,TGS使用其秘密密钥对TGT进行解密,同时,使用 TGT中的会话密钥对Kerberos客户的请求认证单信息进行解密,并将解密后的认证单信息与TGT中信息进行比较。然后,TGS生成新的会话密钥以供Kerberos客户和应用服务器使用,并利用各自的秘密密钥加密会话密钥。最后,生成一个票据,其由Kerberos客户的实体名、地址、时间戳、限制时间、会话密钥组成,TGS生成TGT完毕后,把TGT发送给Kerberos客户
第五步,如图所示,Kerberos客户收到TGS的响应后,获得与应用服务器共享的会话密钥。与此同时,Kerberos客户生成一个新的用于访问应用服务器的认证单,并用与应用服务器共享的会话密钥加密,然后与TGS发送来的票据-并传送到应用服务器。
Kerberos 协议中要求用户经过AS和TGS两重认证的优点主要有两点。
- 可以显著减少用户密钥的密文的暴露次数,这样就可以减少攻击者对有关用户密钥的密文的积累。
- Kerberos认证过程具有单点登录Single Sign On,SSO)的优点,只要用户拿到了TGT并且该TGT没有过期,那么用户就可以使用该TGT通过TGS完成到任一服务器的认证过程而不必重新输入密码。
Kerberos 缺点:Kerberos认证系统要求解决主机节点时间同步问题和抵御拒绝服务攻击,如果某台主机的时间被更改,那么这台主机就无法使用Kerberos认证协议了,如果服务器的时间发生了错误,那么整个Kerberos认证系统将会瘫痪。
公钥基础设施(PKI)技术
公钥证书是将实体和一个公钥绑定,并让其他的实体能够验证这种绑定关系。
需要一个可信第三方来担保实体的身份,这个第三方称为认证机构,简称CA(Certification Authority)。
CA(Certification Authority)负责颁发证书,证书中含有实体名、公钥以及实体的其他身份信息。
PKI (Public Key Infrastructure)就是有关创建,管理、存储、分发和撤销公钥证书所需要的硬件、软件、人员、策略和过程的安全服务设施。
基于PKI的主要安全服务有身份认证、完整性保护、数字签名、会话加密管理、密钥恢复。
PKI涉及多个实体之间的协商和操作,主要实体包括CA认证中心、 RA注册中心、终端实体 (End Entity)、客户端、目录服务器。
PKI各实体的功能分别叙述如下:
CA认证中心(Certification Authority):证书授权机构,主要进行证书的颁发、废止和更新; 认证机构负责签发、管理和撤销一组终端用户的证书。
RA注册中心(Registration Authority):证书登记权威机构,将公钥和对应的证书持有者的身份及其他属性联系起来,进行注册和担保:RA可以充当CA和它的终端用户之间的中间实体,辅助CA完成其他绝大部分的证书处理功能。
目录服务器:CA通常使用一个目录服务器,提供证书管理和分发的服务。
终端实体(End Etity):指需要认证的对象,例如服务器、打印机、Email 地址,用户等。
客户端(Client):指需要基于PKI安全服务的使用者,包括用户、服务进程等。
单点登录
单点登录(Single Sign On)是指用户访问使用不同的系统时,只需要进行一次身份认证,就可以根据这次登录的认证身份访问授权资源。
基于人机识别认证技术
基于人机识别认证利用计算机求解问题的困难性以区分计算机和人的操作,防止计算机程序恶意操作,如恶意注册、暴力猜解口令等。基于人机识别认证技术通常称为CAPTCHA(Completely Automated Public Turing test to tellComputers and Humans Apart)技术。
多因素认证技术
多因索认证技术使用多种鉴别信息进行组合,以提开认证的安全强度。根据认证机制所依赖的鉴别信息的多少,认证通常称为双因素认证或多因素认证。
基于行为的身份鉴别技术
基于行为的身份鉴别是根据用户行为和风险大小而进行的身份鉴别技术。如通过分析用户的基本信息,获取用户个体画像,进而动态监控用户状态以判定用户身份,防止假冒用户登录或者关键操作失误
快速在线认证(FIDO)
Fast IDentity Online 简称 FIDO,FIDO使用标准公钥加密技术来提供强身份验证。FIDO的设计目标是保护用户隐私,不提供跟踪用户的信息,用户生物识别信息不离开用户的设备。FIDO的技术原理描述如下。
登记注册
用户创建新的公私钥密钥对。其中,私钥保留在用户端设备中,只将公钥注册到在线服务。公钥将发送到在线服务并与用户账户关联。私和有关本地身份验证方法的任何信息(如生物识别测量或模板)水远不会离开本地设备。
登录使用
当用户使用 FIDO进行登录在线服务的时候,在线服务提示要求用户使用以前注册的设备登录,然后,用户使用与注册时相同的方法解锁FIDO身份验证器。用户根据帐户标识符选择正确的密钥响应在线服务的挑战,并发送签名的质询到在线服务。最后,在线服务使用存放的用户公钥和日志来验证用户响应是否正确,若正确,则通过用户认证,允许登录在线服务。
学习参考资料:
信息安全工程师教程(第二版)
建群网培信息安全工程师系列视频教程
信息安全工程师5天修炼
- 上一篇:AES加密有什么用,AES加密算法安全性如何
- 下一篇:CTF从入门到放弃day01
相关推荐
- 赶紧收藏!编程python基础知识,本文给你全部整理好了
-
想一起学习编程Python的同学,趁我粉丝少,可以留言、私信领编程资料~Python基础入门既然学习Python,那么至少得了解下这门编程语言,知道Python代码执行过程吧。Python的历...
- 创建绩效改进计划 (PIP) 的6个步骤
-
每个经理都必须与未能达到期望的员工抗衡,也许他们的表现下降了,他们被分配了新的任务并且无法处理它们,或者他们处理了自己的任务,但他们的行为对他人造成了破坏。许多公司转向警告系统,然后在这些情况下终止。...
- PI3K/AKT信号通路全解析:核心分子、上游激活与下游效应分子
-
PI3K/AKT/mTOR(PAM)信号通路是真核细胞中高度保守的信号转导网络,作用于促进细胞存活、生长和细胞周期进程。PAM轴上生长因子向转录因子的信号传导受到与其他多条信号通路的多重交叉相互作用的...
- 互联网公司要求签PIP,裁员连N+1都没了?
-
2021年刚画上句号,令无数互联网公司从业者闻风丧胆的绩效公布时间就到了,脉脉上已然炸了锅。阿里3.25、腾讯二星、百度四挡、美团绩效C,虽然名称五花八门,实际上都代表了差绩效。拿到差绩效,非但不能晋...
- Python自动化办公应用学习笔记3—— pip工具安装
-
3.1pip工具安装最常用且最高效的Python第三方库安装方式是采用pip工具安装。pip是Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。pip是Python官方提...
- 单片机都是相通的_单片机是串行还是并行
-
作为一个七年的从业者,单片机对于我个人而言它是一种可编程的器件,现在长见到的电子产品中几乎都有单片机的身影,它们是以单片机为核心,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚...
- STM32F0单片机快速入门八 聊聊 Coolie DMA
-
1.苦力DMA世上本没有路,走的人多了,便成了路。世上本没有DMA,需要搬运的数据多了,便有了DMA。大多数同学应该没有在项目中用过这个东西,因为一般情况下也真不需要这个东西。在早期的单片机中...
- 放弃51单片机,直接学习STM32开发可能会面临的问题
-
学习51单片机并非仅仅是为了学习51本身,而是通过它学习一种方法,即如何仅仅依靠Datasheet和例程来学习一种新的芯片。51单片机相对较简单,是这个过程中最容易上手的选择,而AVR单片机则更为复杂...
- STM32串口通信基本原理_stm32串口原理图
-
通信接口背景知识设备之间通信的方式一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。并行与串行通信的区别如下表所示。串行通信的分类1、按照数据传送方向,分为:单工:数据传输只支持数据在一个...
- 单片机的程序有多大?_单片机的程序有多大内存
-
之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是hex的文件大小:我用的单片机芯片是STM32F103C8T6,程序储存器(flash)只有64K。从...
- 解析STM32单片机定时器编码器模式及其应用场景
-
本文将对STM32单片机定时器编码器模式进行详细解析,包括介绍不同的编码器模式、各自的优缺点以及相同点和不同点的应用场景。通过阅读本文,读者将对STM32单片机定时器编码器模式有全面的了解。一、引言...
- 两STM32单片机串口通讯实验_两个32单片机间串口通信
-
一、实验思路连接两个STM32单片机的串口引脚,单片机A进行发送,单片机B进行接收。单片机B根据接收到单片机A的指令来点亮或熄灭板载LED灯,通过实验现象来验证是否通讯成功。二、实验器材两套STM32...
- 基于单片机的智能考勤机设计_基于51单片机的指纹考勤机
-
一、设计背景随着科技水平的不断发展,在这么一个信息化的时代,智能化信息处理已是提高效率、规范管理和客观审查的最有效途径。近几年来,国内很多公司都在加强对企业人员的管理,考勤作为企业的基础管理,是公司...
- STM32单片机详细教学(二):STM32系列单片机的介绍
-
大家好,今天给大家介绍STM32系列单片机,文章末尾附有本毕业设计的论文和源码的获取方式,可进群免费领取。前言STM32系列芯片是为要求高性能、低成本、低功耗的嵌入式应用设计的ARMCortexM...
- STM32单片机的 Hard-Fault 硬件错误问题追踪与分析
-
有过单片机开发经验的人应该都会遇到过硬件错误(Hard-Fault)的问题,对于这样的问题,有些问题比较容易查找,有些就查找起来很麻烦,甚至可能很久都找不到问题到底是出在哪里。特别是有时候出现一次,后...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)