基于密码技术的身份认证——基于对称密码体制的身份认证

一、符号说明:

A→B:表示通信实体A向通信实体B发送消息;

Ek(x):表示用认证双方共享的密钥K对x进行加密;

Text1,Text2,……,Text n属于可选项;

||:表示比特链接;

RA:表示A生成的一次性随机数;

TNA:表示由A生成的时间戳或序列号;

KAB:通信实体A与通信实体B的共享密钥;

Kprt:可信第三方私钥;

Kprt:可信第三方公钥。

二、基于对称密码体制的身份认证:

对称密码体制是采用单一密钥的密码体制,即加解密都是用同一组密钥进行运算。对称密码体制下

的挑战/响应机制通常要求示证者和验证者共享对称密钥。

根据是否存在可信的第三方参与到身份认证过程中,对称密码身份认证可以分为无可信第三方认证

和有可信第三方认证两种。通常无可信第三方的对称密码认证用于只有少量用户的封闭系统,而有

可信第三方的对称密码认证则可用于规模相对较大的系统中。

(1)无可信第三方的对称密码认证

无可信第三方的对称密码认证的基本原理是验证者生成一个随机数作为挑战信息,发送给示证者;

示证者利用二者共享的密钥对该挑战信息进行加密,回传给验证者;验证者通过解密密文来验证示

证者的身份是否合法。认证过程描述如下:

① 无可信第三方对称密钥一次传输单向认证

A→B:TokenAB=Text2||Ek(TNA||B||Text1)

TokenAB中的B是可选项。A首先生成TokenAB并将其发送给B;B收到TokenAB后,解密并验证B

(如果包含)与TNA是否可接收。如果可接受则通过认证,否则拒绝。

② 无可信第三方对称密钥二次传输单向认证

B→A:RB||Text1

A→B:TokenAB=Text3||Ek(RB||B||Text2)

B首先生成一个随机数RB作为挑战信息发送给A(可附带选项Text1);A根据接收到的RB,利用

双方共享密钥加密生成响应信息TokenAB并发送回B;在收到TokenAB后,B通过解密查看随机数

RB是否与挑战信息中的一致,一致则接收A的认证,否则拒绝;

③ 无可信第三方对称密钥二次传输双向认证

A→B:TokenAB=Text2||Ek(TNA||B||Text1)

B→A:TokenBA=Text4||Ek(TNB||A||Text3)

与对称密钥一次传输单向认证一样,TokenAB和TokenBA中的A,B也为可选项,A生成TokenAB并

将其发送给B;B收到TokenAB后,解密并验证B(如果包含)与TNA是否可以接收,如果可接收则

通过认证;同样,B也可以生成TokenBA并来完成A对B的认证。此时需要注意的是,这两次认证的

过程都各自独立。

④ 无可信第三方对称密钥三次传输双向认证

B→A:RB||Text1

A→B:TokenAB=Text3||Ek(RA||RB||B||Text2)

B→A:TokenBA=Text5||Ek(RB||RA||Text4)

B首先生成一个随机数RB作为挑战信息发送给A(可附带可选项Text1);A生成一个随机数RA,

根据接收到的RB,利用双方共享密钥加密生成响应信息TokenAB后,B通过解密查看随机数RB是

否与第一次传输的挑战信息中的一致,如果一致则接收A的认证,并将RA和RB加密后生成的响应

消息TokenBA发送给A;A收到TokenBA后,通过解密检查RA和RB是否与之前传输的一致,如果一

致则接收B的认证,否则拒绝。

(2)有可信第三方的对称密码认证

与无可信第三方的对称密码认证技术相比,有可信第三方的对称密码认证技术的认证双方并不使用

共享密钥,而是各子与可信的第三方之间共享密钥。

有可信第三方的对称密码认证过程如下:

假设认证过程执行之前,认证的双方A和B已经分别安全地获得与可信地第三方——认证服务器P之

间地共享密钥EAP和EBP。

① 有可信第三方地对称密钥四次传输双向认证

A→P:TVPA||B||Text1

P→A:TokenPA=Text4||EAP(TVPA||KAB||B||Text3)||EBP(TNP||KAB||A||Text2)

A→B:TokenAB=Text6||EBP(TNP||KAB||A||Text2)||KAB(TNA||B||Text5)

B→A:TokenBA=Text8||KAB(TNB||A||Text7)

A产生一个时间变量参数TVPA,附带另一方B的ID,以及一个可选的附加信息Text1发送给可信的

第三方P;P生成A,B双方的会话密钥KAB,并分别用EAP和EBP加密后,合并生成消息TokenPA

发送给A;在收到信息TokenPA后,A解密TokenPA并获得TVPA,B和A,B双方的会话密钥KAB,

A检查TVPA和B是否正确;如果检查正确,A从TokenPA中提取“(TNP||KAB||A||Text2)”,并利用

A,B双方的会话密钥加密“(TNA||B||Text5)”,然后将它们合并生成消息TokenAB发送给B;B收

到消息TokenAB后,解密“EBP(TNP||KAB||A||Text2)”获得KAB,并利用其解密“KAB

(TNA||B||Text5)”,B根据解密得到的内容,检查用户ID,A,B,时间戳或序列号TNP,TNA的

正确性;如果B检查正确,则向A发送消息TokenBA;最后A通过TokenBA检查TNB和用户ID是否正

确,如果正确则完成整个认证过程。

如果只需要实现A向B的单向认证,则B在收到消息TokenAB后,只需要检查该消息正确与否即可。

如果正确,则可通过对A的身份认证。

② 有可信第三方地对称密钥五次传输双向认证

B→A:RB||Text1

A→P:RA||RB||B||Text2

P→A:TokenPA=Text5||EAP(RA||KAB||B||Text4)||EBP(RB||KAB||A||Text3)

A→B:TokenAB=Text7||EBP(RB||KAB||A||Text3)||KAB(R’A||RB||Text6)

B→A:TokenBA=Text9||KAB(RB||R’A||Text8)

B首先产生一个随机数RB并将其发送给A(可附带可选项Text1);A产生一个随机数RA,并联合

RB和B的ID一起发送至可信的第三方P;P生成A,B双方的会话密钥KAB,分别联合RA和RB,用

EAP和EBP加密后,并合并生成消息TokenPA发送给A;A收到消息TokenPA后,通过解密得到

KAB,并检查得到RA和B的ID正确性;如果检查正确,A产生一个随机数R’A,与RB一起用KAB进

行加密,并将加密得到的内容和从TokenPA中得到的内容“EBP(RB||KAB||A||Text3)”一起作为消

息TokenAB发送给B;B收到消息TokenAB后,解密“EBP(RB||KAB||A||Text3)”获得KAB,并利用

其解密“KAB(R’A||RB||Text6)”;B根据解密得到的内容,检查用户A的ID的正确性,以及两次解

密获得的RB值是否一致;如果B检擦完全正确,则向A发送消息TokenBA;最后A通过解密

TokenBA检查R’A和RB是否正确,如果正确则完成整个认证过程。

与有可信第三方的对称密钥四次传输身份认证相同,如果只需要实现A向B的单向认证,则B在收到

消息TokenAB后,只需要检查该消息正确与否。如果正确,则可通过对A的身份认证。

备注:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

由浅入深!一文5张图教你做性能测试~

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

【Web】CTFSHOW SQL注入刷题记录(上)

目录 无过滤注入 web171 web172 web173 web174 web175 时间盲注 写马 过滤注入 web176 web177 web178 web179 web180 web181-182 web183 web184 web185-186 web187 web188 web189 web190 布尔盲注 web191 web192 web193 web194 堆叠注入 web195 …

2024水资源、智慧城市与绿色发展国际会议(ICWRSCGD 2024)

2024水资源、智慧城市与绿色发展国际会议(ICWRSCGD 2024) 会议简介 2024年国际水资源、智慧城市与绿色发展大会(ICWRSCGD 2024)将在中国杭州举行。会议聚焦“水资源、智慧城市、绿色发展”这一最新研究领域,致力于促进世界顶级创新者、科学…

YOLOv8训练自己的数据集,通过LabelImg

记录下labelImg标注数据到YOLOv8训练的过程,其中容易遇到labelImg的坑 数据集处理 首先在mydata下创建4个文件夹 images文件夹下存放着所有的图片,包括训练集和测试集等。后续会根据代码进行划分。 json文件夹里存放的是labelImg标注的所有数据。需要注意的是&…

将Html页面转换为Wordpress页面

问题:我们经常会从html源码下载网站上获得我们想要的网站内容框架,以及部分诸如联系我们,About 等内页,但是在文章的发布上,则远不如Wordpress简便。而Wordpress尽管有各种模板,但修改又比较麻烦。解决方法…

JDWP 协议及实现

JDWP 的协议细节并通过实际调试中的例子展开揭示 JDWP 的实现机制,JDWP 是 Java Debug Wire Protocol 的缩写,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的通信协议。 JDWP 协议介绍 这里首先要说明一下 debugger 和 target vm。Target vm 中运行…

对读取的Excel文件数据进行拆分并发请求发送到后端服务器

首先,我们先回顾一下文件的读取操作: 本地读取Excel文件并进行数据压缩传递到服务器-CSDN博客 第一步:根据以上博客,我们将原先的handleFile方法,改为以下内容: const handleFile async(e) > {conso…

15. GPIO 应用编程

15. GPIO 应用编程 1. 应用层如何操控 GPIO2. GPIO 应用编程之输出3. GPIO 应用编程之输入4. GPIO 应用编程之中断 1. 应用层如何操控 GPIO GPIO 也是通过 sysfs 方式进行操控的,在/sys/class/gpio目录下 gpiochipX: I.MX6UL 有 5 个 GPIO,X 由小到大…

驱动开发-系统移植

一、Linux系统移植概念 需要移植三部分东西,Uboot ,内核 ,根文件系统 (rootfs) ,这三个构成了一个完整的Linux系统。 把这三部分学明白,系统移植就懂点了。 二、Uboot uboot就是引导程序下载的一段代…

【测一测】Jmeter知识大挑战!

不定项选择 1、Ramp-up period(seconds)代表在多长时间内把线程全部启动,如果线程数为10,而Ramp-up period设置为15,则每个线程的间隔时间为() A、1 B、1.5 C、2 D、102、对于每个HTTP请求,都可以通过&am…

数字图像处理(实践篇)三十 使用OpenCV-Python在图像上创建水印实践

目录 1 方案 2 实践 1 方案 ①导入依赖库 import cv2 import matplotlib.pyplot as plt ②读取输入图片和水印图片 im = cv2.imread(img_path) wm = cv2.imread(watermarkImg_path) ③计算roi

如何在云服务上通过docker部署服务?

如何在云服务上通过docker部署服务? 一、在云服务器上安装Docker1、查看云服务器的OS信息2、[安装Docker并使用(Linux)](https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances) 二、通过dock…

Vue进阶:Vue中的ajax请求

一、Vue中的ajax请求 1.1 解决开发环境 Ajax 跨域问题 总结: 1.1.1 模拟跨域问题 准备好测试的服务器 server1.js const express require(express) const app express()app.use((request,response,next)>{console.log(有人请求服务器1了);// console.log(…

P4769 [NOI2018] 冒泡排序 洛谷黑题题解附源码

[NOI2018] 冒泡排序 题目背景 请注意,题目中存在 n 0 n0 n0 的数据。 题目描述 最近,小 S 对冒泡排序产生了浓厚的兴趣。为了问题简单,小 S 只研究对 1 1 1 到 n n n 的排列的冒泡排序。 下面是对冒泡排序的算法描述。 输入&#x…

韦东山嵌入式Liunx入门笔记一

文章目录 一、嵌入式Linux二、Ubuntu系统2-1 安装软件2-2 Linux文件(1) 文件架构(2)文件属性(3)文件命令(4) 解压、压缩文件(5) 网络命令 2-3 vi编辑器2-4 Ubuntu下包管理 三、配置网卡四、安装后续学习使用的软件4-1 MobaXterm4-2 FileZilla4-3 Source Insight4.04-4 下载BSP4…

Open CASCADE学习|圆柱螺旋线绘制原理探究

1、圆柱螺旋线绘制原理 在OCC中,圆柱面的参数方程为: 设P为(x0,y0,z0),则 xx0r*cos(u) yy0r*sin(u) zz0v 但u、v之间有关系时,此方程表达为圆柱螺旋线,u、v之间为线性关系时是等螺距螺旋线&#xff0…

文件上传之秒传功能

秒传是一种文件的传输机制,用于在文件已经存在于目标服务器上时,通过校验文件的唯一标识,实现快速而无需从新上传整个文件,它解决了重复上传相同文件的问题,提高了文件传输的效率和节省了带宽资源。 技术阐述&#xff…

免 费 小程序商城搭建之鸿鹄云商 SAAS云产品概述

【SAAS云平台】打造全行业全渠道全场景的SaaS产品,为店铺经营场景提供一体化解决方案;门店经营区域化、网店经营一体化,本地化、全方位、一站式服务,为多门店提供统一运营解决方案;提供丰富多样的营销玩法覆盖所有经营…

软件测试面试八股文(2024新版)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发…

【unity实战】实现蓄力丢手榴弹、烟雾弹、燃烧弹的效果

文章目录 爆炸燃烧烟雾效果资产手榴弹丢手雷烟雾弹、燃烧弹实现手雷每次撞墙弹发出音效(补充)完结 爆炸燃烧烟雾效果资产 https://assetstore.unity.com/packages/vfx/particles/war-fx-5669 手榴弹 手榴弹配置好刚体,碰撞体 新增脚本Th…