2019独角兽企业重金招聘Python工程师标准>>>

  PKI(Pubic Key Infrastructure)是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。用户可利用PKI平台提供的服务进行安全通信。

  使用基于公钥技术系统的用户建立安全通信信任机制的基础是:网上进行的任何需要安全服务的通信都是建立在公钥的基础之上的,而与公钥成对的私钥只掌握在他们与之通信的另一方。这个信任的基础是通过公钥证书的使用来实现的。公钥证书就是一个用户的身份与他所持有的公钥的结合,在结合之前由一个可信任的权威机构CA来证实用户的身份, 然后由其对该用户身份及对应公钥相结合的证书进行数字签名,以证明其证书的有效性。

  PKI必须具有权威认证机构CA在公钥加密技术基础上对证书的产生、管理、存档、发 放 以及作废进行管理的功能,包括实现这些功能的全部硬件、软件、人力资源、相关政策和操作程序,以及为PKI体系中的各成员提供全部的安全服务。如:实现通信中各实体的身份认证、保证数据的完整、抗否认性和信息保密等。

  PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。

  1、加密定义:

    加密是指使用密码算法对数据作变换,使得只有密钥持有人才能恢复数据面貌,主要目的是防止信息的非授权泄漏。现代密码学的基本原则是:一切密码寓于密钥之中即算法公开,密钥保密。密码算法的分类:

  (1)对称密码算法:加密密钥和解密密钥相同,Ke=kd,密钥必须特殊保管。

  优点:保密强度高,计算开销小,处理速度快。

  缺点:密钥管理困难

  (2)非对称密码算法:加密密钥与解密密钥不同,不可能由加密密钥解出解密 密 钥。每个用户都有两个密钥:一个在信息团体内公开称公钥,一个由用户秘密保存,称为私钥。

  优点:便于密钥管理、分发、便于签字签名。

  缺点:计算开销大,处理速度慢。

  若以公钥KPB加密,用私钥KPV解密,可实现多个用户加密信息,只能由一个用户解读,是用于保密通信;若以私钥KPV加密,用公钥KPB解密,能实现由一个用户加密 的信息而由多个用户解密,是用于数字签名。

  (3)单向函数算法:也称HASH算法,能够非常容易地把明文变成密文(把密文转成明文是困难的)

  特点:1)适用不需要把密文转换为明文的场合。

  2)很容易地将明文转换密文(密文再转明文不可能)

  3)适用不需要解密的场合(鉴别、密钥管理)

  用hash函数变换得到的hash值,通常称为“数据摘要”视作:MD。

  2数字签名:

  定义:数字签名是指使用密码算法对待发的数据(报文、票证等)进行加密处理,生成一段信息,附着在原文上一起发送,这段信息类似现实中的签名或印章,接收方对其进行验证,判断原文真伪。

  目的:提供数据完整性保护和抗否认功能。

  (1)过程:先用hash算法将原文压缩为数据摘要,然后用公开密钥算法对摘要进行加密和解密,(原文任何变化都会使数据摘要改变)

  (2)数字签名还有另外一个过程:即用公开密钥(非对称算法)而不用hash单 向散列函数。其过程是:

  首先将原文用私钥加密,得数字签名,然后将原文和数字签名一起发向接收 方,收方用发方的公钥解密,再与原文比较

  只要比较X’=X可确定三件事:

  ·消息X确实由A方发出的(即真实性);

  ·签发Y确实由A方发出的(即不可否认性);

  ·B方收到的信息是完整的(即完整性);

  这两种数字签名的主要区别在于,前者是一种对压缩信息的签名,适用于长文件信息 ;后者是一种对整个消息的签名,适用于短文件信息。

  数字签名与消息认证不同,消息认证使收方能验证消息发送者是谁及所发消息是否被窜改,当收发者之间没有利害冲突时,只对防止第三者破坏是足够了。但是,当发收双方有利害冲突时,单是消息认证技术就无法解决他们之间的纠纷,此时就必须采用数字签名了 。

  3、数据完整性机制

  定义:数据完整性机制是保证数据在存储、传输、处理过程中的真实有效和一致性 。

  方法:报文鉴别码MAC:保护待发的数据(报文、文电)。

  数据鉴别DAC:保护存储的数据(数据库表中的字段)。

  过程:使用密码算法对原数据(报文及数据库中数据)或原数据中的关键字段进行计算 ,得到一小段附加数据。这一小段数据与原数据的每一位都相关,使得原数据的每一位的变 化都会反映到这小段数据上来。因此,用它可判断原数据的内容是否被改变,出处是否真实。

  SET中数字信封传送模式

  4、数字信封

  定义:数字信封是信息发送端用接收端的公钥,将一个通信密钥(Symmentric Key)加密后,传送后接收端,只有指定的接收端才能打开信封,取得秘密密钥(SK),用它来解开传送来的信息。

  过程:

  (1)要传输的信息经杂凑(Hash)函数运算得到一个信息摘要MD,MD=Hash(信息);

  (2)MD经传送者A的私钥PVA加密后得到一个数字签名;

  (3)传送者A将信息明文、数字签名及他证书上的公钥三项信息通过对称算法,以DES加密密钥SK进行加密得加密信息E;

  (4)A在传送信息之前,必须先得到B的证书公开密钥PBB,用PBB加密,秘密密钥SK,形成一个数字信封DE;

  (5)E+DE就是A所传送的内容;

  (6)接收者B以自己的私人密钥PVB,解开所收到的数字信封DE,从中解出A所用过的SK ;

  (7)B用SK将E还原成信息明文、数字签名和A的证书公开密钥;

  (8)将数字签名用A证书中的公开密钥PBA,解密将数字签名还原成信息摘要MD;

  (9)B再以收到的信息明文,用hash函数运算,得到一个新的信息摘要MD';

  (10)比较收到已还原的MD和新产生的MD'是否相等,相等无误即可确认,否则不接收。

  5.双重数字签名

  定义:有的场合需要寄出两个相关信息给接收者,接收者只能打开一个,而另一个只需转送,不能打开看其内容。

  (持卡人向商户提出订购信息的同时,也给银行付款信息,以便授权银行付款,但持卡人不希望商户知道自己的账号的有关信息,也不希望开户行知道具体的消费内容,只需按金额贷记或借记账即可。)

  过程:一个人的双重签名可以分别传送信息给特约商户和开户行,特约商户只能解开 与自己相关的信息却解不开给开户行的信息。

  如下图中A为持卡人,B为特约商户C为开户银行。

  ①~④为双重数字签名:将B信息OI、C信息PI做摘要后连接为MDBC,并以发送者A的私人密钥形成数字签名DS,以使收到信息的B、C两方能各自用A的公钥解密验证;

  ⑤~⑥:A用秘密密钥SK1和SK2对传送给B、C的信息加密,得密文EMB、EMC。在加密前,必须把信息B的摘要MDB传给C,信息C的摘要MDC传给B;

  ⑦~⑧:以接收者B和C证书的公钥将SK1、SK2加密,分别得到两个信封DEB和DEC。

  ⑨:B将收到A发来的两份信息,一份自己解开,另一份B看不到只能转输给C;

  ⑩~15:为接收者B,收到了EMB和DEB。B先用自己的私钥PVB打开数字信封DEB,取出秘密密钥SK1;B再用SK1的对称DES算法解开密文EMB,B只能看到A传给他的信息,而看不到A在开户行C的信息,用A的公钥PBA,解出数字签字,B验证MD’BC=MD’B

  16~21:为接收者C收到了B转发来的EMB和DEB,然后用其解开密文EMC。 用A的公钥PBA,解出数字签名MDBC,并与MD’BC相比,证实A传来的信息, 没被B看过。

  6非对称算法原理(RSA)

  公开密钥算法即非对称算法保密技术是70年代末,由美国斯坦福大学几位学者发明的,以他们的名字(Rivest、Shamir、Adelman)命名为RSA密码算法。

  它与传统EFT中所采用的DES、MAC保密算法,对数据保密防篡改不同,RSA可以做到对 发送过的信息,具有抗抵赖性(不可否认性),用于数字签名、数字信对等技术。

  RSA算法要求是一对数字,一个叫公开密钥(Public Key),一个叫私人密钥(Private K ey),其中私钥由个人所有,保密;公钥可以公开。

  要传送信息时,可用对方的公钥对信息加密上网,对方收到这个信息要靠他的私钥解 密;或者发送方用自己的私钥加密,接收方用发送方的公钥解密,两个数字吻合为一。

  RSA的演算方法是:

  1)用户选择2个够大的保密质数q、p(一般为100位以上十进数)

  2)令n=pq,n是公开的,从n分解除qp是极其困难的。

  n的欧拉函数:Φ(n)=(p-1)(q-1)

  Φ(n)小于等于n,并与n互质

  3)选择一个相对大的整数e作为加密指数,使e与Φ(n)互质,

  4)解同等方程:

  ed=1modΦ(n)

  求出解密指数d

  5)设M、C分别为要加密的明文和被加密的密文(M、C小于n)

  则:加密运算为:C=Memod n

  解密运算为:M=Cdmod n

  6)每个用户都有一组密钥(e、d、n)

  (e,n)为PK'可以公开在手册上的公钥,e为加密指数,

  (d,n)为SK’(或PV)是用户保密的私钥

  将p.q销毁

  7)要求明文X

  举例:

  1) 选两个质数: p=47 q=71

  2)计算: n=pq=3337 Φ(n)=(47-1)(71-1)=3220

  3) e必须与Φ(n)互质,选e=79

  4) 计算:ed=1modΦ(n)=1mod(3220)

  d=1019

  将e、n公布,d保密,p.q消毁

  如有一明文 M=6882326879666683要加密,则先将M分割成多块:

  m1=688,m2=232,m3=687,m4=966,m5=668,m6=3

  将第1块M1加密后得密文C1:

  C1=m1e(mod3337)=68879(mod3337)=1570

  依次对各区块加密后得密文C:

  C=15702756271422762423158

  对C1解密得m1

  M1=C1d(mod3337)=15701019(mod3337)=688

  依次解密得原文M

转载于:https://my.oschina.net/fuckmylife0/blog/1623055

公钥基础设施PKI体系介绍相关推荐

  1. 公钥基础设施 PKI 技术与应用发展

    公钥基础设施 PKI 技术与应用发展 一.概述 PKI是"Public Key Infrastructure"的缩写,意为"公钥基础设施".简单地说,PKI技术 ...

  2. IRIS 2021 技术文档 First Look 28 - InterSystems 公钥基础设施 (PKI)

    本文档介绍了 InterSystems 公钥基础设施(PKI),它可以在开发组织的安全策略中发挥重要作用.它提供有关公钥加密.证书颁发机构和 PKI 的信息.然后介绍一些与使用 InterSystem ...

  3. 公钥基础设施 (Public-key infrastructure PKI)

    公钥基础设施 PKI 1.功能 2.设计 3.认证方法 3.1证书机构(CA) 3.2信任网络(Wot) 3.3简单的公共关键基础设施(SKPI) 3.4分散的PKI 3.5基于区块链的 PKI 4. ...

  4. 什么是 PKI? 公钥基础设施的定义和指南

    公钥基础设施 (PKI) 管理 Internet 通信中的身份和安全性,以保护人员.设备和数据. 组织依靠 PKI 解决方案来验证和加密流经 Web 服务器.数字身份.连接设备和应用程序的信息.随着组 ...

  5. 信安小白,一篇博文讲明白数字证书和PKI(公钥基础设施)

    数字证书 系列博文 前言 一.数字证书 二.CA(Certification Authority)认证 2.1 CA认证信息 2.2 CA结构 2.3 一般的证书产生流程 2.4 完整流程 三.PKI ...

  6. 密码学之PKI体系学习笔记

    文章目录 公钥基础设施(PKI) PKI的组成要素 用户 认证机构 仓库 认证机构的工作 生成密钥对 注册证书 作废证书与CRL 对证书的攻击 在公钥注册前进行攻击 注册相似人名进行攻击 公钥基础设施 ...

  7. PKI 公钥基础设施原理与应用

    文章目录 PKI 是什么 PKI 详细介绍 PKI 的组成 核心算法 CA 机构 数字证书 证书撤销机制 应用:访问控制 参考资料 PKI 是什么 Public Key Infrastructure( ...

  8. PKI 公钥基础设施

    PKI概念 PKI(Public Key Infrastructure)即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必 ...

  9. 关于证书(certificate)和公钥基础设施(PKI)的一切

    这篇长文并不是枯燥.零碎地介绍 PKI.X.509.OID 等概念,而是从前因后果.历史沿革 的角度把这些东西串联起来,逻辑非常清晰,让读者知其然,更知其所以然. 证书和 PKI 的目标其实很简单:将 ...

  10. 第17节 PKI公钥基础设施

    PKI公共秘钥技术 1PKI概述 2公钥加密技术 2.1对称加密算法 2.2非对称加密算法 2.3不可逆算法 2.4数字证书技术 3PKI工作原理与过程--以非对称加密技术.数字证书为例 3.1公钥与 ...

最新文章

  1. 2021-9-下旬 数据结构-线性表-双向链表-java代码实现(复习用)
  2. 在Eclipse中运行hadoop程序
  3. 记一次EF Core连接MySql、Oracle
  4. 使用Spring创建用于JUnit测试的JNDI资源
  5. apply和call用法
  6. [html] 你认为写出什么样的html代码才是好代码呢?
  7. android地图方位角_Android获取经纬度、计算距离、方位角
  8. eclipse中outline中图标含义
  9. 英语对IT从业者的影响
  10. ios xib 初始化高度_iOS图片伸缩技巧
  11. MLP、RBF、SVM网络比较及其应用前景
  12. 基于js alert confirm样式弹出框
  13. 计算机地图制图 知识总结
  14. Win10任务栏100%透明怎么设置?Win10任务栏100%透明设置教程
  15. 安卓Menu键的问题
  16. deepstream c++ rtsp流输出
  17. 家用宽带的上传和下载速度
  18. linux备份mysql文件并恢复的脚本,以及其中出现的错误:ERROR: ASCII '\0' appeared in the statement...
  19. 计算机软件系统一般分为什么两大部分,1、计算机软件系统一般分为( A )两大部分...
  20. [C++]用多态实现简单异常处理

热门文章

  1. 博思得标签打印机驱动_博思得V6驱动|博思得Postek V6标签打印机驱动下载 官方版 - 比克尔下载...
  2. 国家开放大学计算机网络技术毕业设计,精编国家开放大学毕业论文:购物网站设计...
  3. 游戏背景音乐的种类—动态音效
  4. 如何将网络监控摄像头中的网络流 RTSP 转换成 M3U8 流并嵌入微信公众号
  5. 基于臻图ZTMAP 3DGIS平台打造线上线下融合的智慧展览中心
  6. 善领dsa2020最新车机ce版_小米MIX 3 5G版成为首款获欧盟5G认证的骁龙855手机
  7. 简要介绍弱监督学习(by 周志华)
  8. 易支付v5.8个人二维码免签系统破解版
  9. leetcode 之 Merge k Sorted Lists
  10. Nginx调度器 Nginx常见问题-