IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 学习记录572@公钥证书与数字签名概述 -> 正文阅读

[网络协议]学习记录572@公钥证书与数字签名概述

公钥体系用于认证数据概述及其缺陷

RSA和ECC公钥密码体系除了用于给密钥加密以便传输之外,也可用于认证数据的出处,维护数据的完整性和不可否认性.如果甲方需要向乙方证明数据M的确出于甲方,甲可用私钥将M加密得到C,然后将M和C同时送给乙方乙方用甲方的公钥将C解密并将其与M对照.因为只有甲方拥有私钥,所以如果两者相等,则乙方可确认数据M的确出自甲方.甲方也可用上述方法向乙方证明自己的身份,他只需将数据M写成“我是甲”即可.

甲方欲使用公钥密码体系将密钥加密传递给乙方,首先需要知道乙方的公钥甲方欲使用公钥密码体系向乙方证明自己的身份,则乙方需要知道甲方的公钥.因为公钥不保密,所以公钥可经一般的电子邮件传递或在用户网页上公布.这样做简单易行,但却有一个问题,就是公钥的主人真伪难辨.攻击者可以伪装他人,引诱别人把攻击者自己的公钥当成他人的公钥.所以必须设计有效方法确认公钥的主人.
这种方法通常需要一个被各方信赖的机构的介入.比如,类似于使用互联网域名服务站查询IP地址,可以设立一个公钥服务中心用于查询用户的公钥.如果每个IP地址只有一把公钥,这个设想是容易做到的,但一个IP地址可能会有许多用户,而每个用户可能又有多把公钥,因此使用公钥中心查询用户公钥的做法将会产生大量额外通信,因为用户在每次应用中都将访问公钥服务中心查询收信方或送信方的公钥,使公钥中心成为通信瓶颈,故不切实际.

公钥证书

公钥确认方法中最简单、最常用也是最有效的手段是使用公钥证书,简记为PKC.公钥证书也称为数字证书,由公钥证书机构签发.证书机构是一个可信赖的政府机关或商业机构,简记为CA.它使用公钥体系,并将其公钥发布在CA网页上或网传给所有的用户.CA给每个用户的公钥签发一个公钥证书,它是一个被CA的私钥加密过的电子文件,包含用户名、用户公钥、证书签发日期、证书签发机构和证书有效日期等信息,注意:因为公钥证书较长,所以证书机构通常只对公钥证书的散列值加密,当甲方需要使用乙方的公钥时,甲方首先从乙方获得乙方的公钥证书,然后用CA的公钥将证书解密确认证书的确来自CA,并从公钥证书中获得乙方的公钥和其有效日期,CA的公钥可事先存在用户的机器上,因此用户无须在每次通信中都访问CA网站.
使用公钥证书有助于维护数据的不可否认性:如果乙方持有甲方用私钥认证的数据和甲方的公钥证书,则甲方便难以向他人否认数据出自甲方,除非甲方能够证明其私钥在数据认证前已经被盗.

数字签名

用数据认证码或散列数据认证码作为数字签名能有效地防止第三者伪造数据,但却不能防止通信双方自己伪造数据,也不能防止通信双方否认数据出于己方,这是因为通信双方拥有共享密钥,所以不能向他人证明数据到底来自哪一方.

在网络通信中认证数据最有效的方法是使用公钥密码系统和公钥证书.甲方为了认证一个即将送往乙方的数据M,首先求出数据的散列值h=H(M),然后
用其私钥 K A r K{^r_A} KAr?将散列值加密得E K A r ( h ) _K{^r_A}(h) K?Ar?(h),并用此作为甲方对该数据的数字签名.甲方将数据和其数字签名(M,E K A r ( h ) _K{^r_A}(h) K?Ar?(h))以及甲方的公钥证书CA( K A u K{^u_A} KAu?)一同传送给乙方.乙方用公钥机构的公钥将甲方的公钥证书解密,得甲方的公钥 K A u K{^u_A} KAu?,然后用其将E K A r ( h ) _K{^r_A}(h) K?Ar?(h)解密得h,并验证是否h=H(M)而验证甲方数字签名的有效性.这是最常用的数字签名方式.

一个操盘手必须在众多投机者中找到主要市场,这些投机者只要有合适的机会可以为他的资本带来巨大的收益,他们就会甘愿承担比普通交易更高的风险。我自己从来不相信盲目的赌博。我可能大手笔操作,也可能只买进100股。但无论是哪种情形,我必须给自己足够的操作理由。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 09:03:26  更:2022-04-30 09:03:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:32:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码