信息认证技术

article/2025/8/30 8:12:41

这个章节会介绍一些比较有意思的东西,例如哈希函数,数字签名,身份认证等!

1.一个安全的认证 系统应满足什么样的条件?

  合法的接受者能够检验所接受消息的合法性和真实性

  合法的发送方对所发送的消息无法进行否认

  除了合法的发送方之外,任何人都无法伪造和篡改消息

2.消息验证:验证消息的完整性和不可抵赖性

 身份认证:鉴别用户身份

哈希函数

1.哈希函数必须具有哪些性质?

  给定M ,很容易计算h

   给定h,根据H(M) = h 推导出M很难,这个性质称为单向性

  给定M,通过同一个H(`),计算出不同的h是很苦难的

  弱抗碰撞性

  强抗碰撞性

2.MD5:可将任意长度的消息经过变换得到一个 128位的散列值

MD5算法的简要概述:MD5以512个分组来处理输入的 信息,且每一个分组又被划分成16个32个子分组,经过了一系列的处理后,算法的输出由4个32个分组组成,将这4个32个分组级联后将生成一个128位散列值

MD5的算法步骤:

  数据填充与分组

  初始化散列值

  计算散列值

3.SHA-1:输入是长度小于2^64位的消息,输出是160位的散列值,输入消息以512位的分组为单位进行处理

补位:先添加一个1,再添加若干个0

4.消息认证技术

  对通信双方的验证可采用数字签名和身份认证技术 +认证 码

主要内容:

  对敏感信息加密

  保证数据的完整性

  对数据和信息的来源进行验证

5.消息认证方法

  在对称加密方式中,解决消息M无法被判断是合法的,方式为发送方在对消息M进行加密前,首先对消息通过校验函数F(;)产生一个校验码,将校验码附加在消息M之上,再进行加密

  一般的加密方式为:A先使用自己的私钥进行加密,再使用接受方B的公钥Kbp进行加密,则同时即保证了机密性,又提供了消息认证的能力

6.基于哈希函数的消息认证:

  在解密消息后,只需再次使用哈希函数,进行加密,比较两者的信息是否一致,即可完成对消息的认证

7.基于消息认证吗(AC)的消息认证

  接受方与 发送方均具有相同的MAC值,则只需要在接受到信息时对mac值进行比对,就可以了

8.数字签名:

签名特征:

  可信

  无法伪造

  无法重复使用

  无法被篡改

  不可否认性

9.数字签名的实现:直接数字签名,仲裁数字签名

 直接数字签名:有时候还建议把原文件转移到一个很短的Hash值上面。

步骤:

  发送方:对明文 使用哈希加密

  发送方:生成报文摘要,用私钥对摘要进行加密

  将加密后的数据连同m一起发送给接受方

  接收方:用同样的哈希算法计算出新的报文摘要,再用发送方的公钥进行解密,比较报文摘要

弱点:依赖于发送方的私钥

10.仲裁数字签名:

 引入仲裁方这一角色

11.这种方式的缺点在于:明文是直接发个仲裁者C的

数字签名标准(DSS)

1.Dss的核心是基于离散对数分解十份困难这一数学难题

身份认证

从加密的方法来看:

身份认证可分为

  基于对称密钥的身份认证:引入密钥分发中心(KDC)进行分发密钥

  基于公钥加密的身份认证:引入证书进行分发公钥 

3.保密性和时效性是密钥交换的两个重要问题

4.重放攻击一般可分为:

  简单重放攻击

  可检测的重放

  不可检测的重放

  不加修改的逆向重放

5.对于重放攻击,一般是使用以下方式进行预防:

  序列号

  时间戳

  随机数

6.为了消除字典攻击,可以使用(用户的身份,随机数,散列值)

7.哈希链方法:

8.基于对称密钥的双向身份认证

  NS协议

9.基于公钥的身份认证

  DS协议

  WL协议

10.

11.

暂时就先写到这里

 

 

 

转载于:https://www.cnblogs.com/zwz178/p/9217264.html


http://chatgpt.dhexx.cn/article/HuCZqsxP.shtml

相关文章

验证登录信息

验证登录信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Visual Studio 作者:李继金 撰写时间:2019年 5月24日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 每个项目都会有登录页面,…

如何识别验证码

http://www.jianblog.com/2009/02/09/574/ 周俭 Blog 基于OpenCV的PHP图像人脸识别技术 二月 9, 2009 at 10:13 上午 由 catch Filed under PHP, 编程 今天无意中发现用OpenCV可以实现人脸识别。找个时间研究下用来识别验证码看可行不?呵呵。。 安装测试了一下&am…

功能验证流程

下图显示了功能验证流程: 这个验证过程可以被分解成三个主要阶段: 制定验证策略和验证计划; 创建验证平台, 运行和调试; 覆盖率分析和回归测试; 1 制定验证策略和验证计划阶段 制定验证策略和验…

Javascript正则表达式实现输入框验证信息

1.了解正则表达式可以: 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部…

JS输入框验证信息提示

描述: 1、首先输入框默认显示手机号,下面提示:请输入你的手机号 2、光标放上去的时候开始填写,填写完毕后(那么就要先提取鼠标失去光标这个事件)如果手机号码不正确: 文本框变红,并…

什么是消息验证码

在信息安全领域中,常见的信息保护方法分为加密和认证两大类。认证技术又分为对用户的认证和对消息的认证两种方式。用户认证用于鉴别用户的身份是否是合法用户;消息认证就是验证所收到的消息确实是来自真实的发送方且未被修改的消息,可以验证…

登录信息验证

登录信息验证 本次挑战内容为设计一个登录验证程序,要求用户从控制台录入用户名和密码,若用户输入的信息正确则提示登录成功,反之则提示登录失败。 本次挑战内容为设计一个登录验证程序,要求用户从控制台录入用户名和密码&#x…

各种信息验证

开发工具与关键技术:VS 各种信息验证 作者:赖文扬 撰写时间:2019年6月25日在项目里面有很多信息要验证的,例如姓名验证(不能是数据)、电话信息验 证(7位数)、手机号信息验证(11位数)、身份证信息验证(15到18为身份 证号码验证)。一般项目里面就有这几种验证。现…

验证信息格式

验证:一、RequiredFieldValidator:非空验证ErrorMessage:验证出错时显示的错误信息ControlToValidate:要验证的控件IDDisplay:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占…

正则表达式——验证信息

本文编写于 146 天前,最后修改于 146 天前,其中某些信息可能已经过时。 正则表达式: 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一…

Sigrity 中Node Placement 和Via Placement Warning 问题的处理

Speed2000在导入PCB设计文件后,把PCB文件转换为SPD文件,转换成SPD文件之后,我们需要通过CC确认是否有短路等问题,如下图,可以在tool--》options--》edit options--》error checking 中找到这个窗口。 sigrity CC 文件检…

OpenStack Victoria搭建(七)安装并验证 Placement

介绍 ✔ 笔记 在 Stein 发布之前,放置代码与计算 REST API 代码 (nova-api) 一起在 Nova 中。确保本文档的发布版本与您要部署的发布版本匹配。 步骤概述 部署API服务 Placement 提供了一个placement-apiWSGI 脚本,用于使用 Apache、nginx 或其他支持 WS…

ICC2 user guide(二)Placement and Optimization

目录 一 Specifying Coarse Placement Constraints and Settings 1 Defining Keepout Margins 2 Defining Area-Based Placement Blockages 2.1 Defining a Placement Blockage 2.2 Define a Blockage of a Predefined Category

超详细Openstack核心组件——Placement部署

目录 OpenStack-Placement组件部署创建数据库实例和数据库用户创建Placement服务用户和API的endpoint 总结 OpenStack-Placement组件部署 继之前glance部署之后,继续部署Placement 创建数据库实例和数据库用户 [rootct ~]# mysql -uroot -p MariaDB [(none)]>…

OpenStack | Placement组件

🐼 Placement组件部署创建数据库实例和用户创建Placement服务用户和API的endpoint Placement 的安装与配置修改Apache配置文件 验证 Placement组件部署 openstack部署遵循以下顺序 创建数据库实例和用户 mysql -u root -p密码 create database placement;grant …

operator new与placement new

通常讲的new指的是new operator,使用new operator的时候,实际上执行了三个步骤: 1)调用operator new分配内存 ;2)调用构造函数生成类对象;3)返回相应指针。 分配内存这一操作是由operator new…

ICC II 2 placement

整个笔记比较长 建议搜索食用 placement的关键步骤 #mermaid-svg-gdanrmmgqcQiRsLU .label{font-family:trebuchet ms, verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-gdanrmmgqcQiRsLU .label text{fill:#333}#mermaid-svg-gdanr…

openstack placement

openstack placement posted on 2018-07-18 14:06 秦瑞It行程实录 阅读( ...) 评论( ...) 编辑 收藏 转载于:https://www.cnblogs.com/ruiy/p/9328845.html

OpenStack部署之Placement项目(7-4)

OpenStack部署之Placement项目(7-4) 一、Placement概述二、OpenStack-Placement组件部署1、创建数据库实例和数据库用户2、创建Placement服务用户和API的endpoint3、安装placement服务4、修改00-placemenct-api.conf配置文件5、测试访问和端口号6、总结 …

Placement service – placement安装(wallaby-allinone)

Placement service – placement安装(wallaby-allinone) 1 必须 在安装和配置放置服务之前,您必须创建数据库、服务凭证和 API 端点。 创建数据库 要创建数据库,请完成以下步骤: 使用数据库访问客户端以root用户身份…