zoukankan      html  css  js  c++  java
  • PKI 笔记

    PKI – Public Key Infrastructure , 通常翻译为公钥基础设施。

     

    PKI 安全平台提供的4个服务,来保证安全的数据,分别是:

    l  身份识别

    l  数据保密

    l  数据完整

    l  不可抵赖

     

    PKI 体系现存问题

    l  密钥管理

    l  相关法律体系建立

    l  相关法律、政策的缺乏

    l  技术各异,国内各个认证机构发放的证书在相互兼容,互通互用的方面存在问题。

    l  用户认识不足

    l  重复建设

    l  缺乏统一规范和服务效率

    l  安全管理急待加强

     

    PKI基于的理论:公钥密码理论

     

    密码算法表示:

    C = F (M,K)

    C       密文,加密后的字符序列

    M    待加密的字符序列

    K       密钥

     

    密码学的原则是:算法公开,密钥保密。

     

    密码学俩大体制:

    l  对称密码体制(单密钥密码体制 / 秘密密钥密码体制 / 对称密钥密码体制)

    l  非对称密码体制(双密钥密码体制 / 公开密钥密码体制 / 非对称密钥密码体制)

     

    密码算法对明文的加密方式有俩种:

    l  分组加密

    l  序列加密

    PKI 笔记 - Dsliu - Dspace

    对称加密的缺点:

    l  需要密钥交换,这就要确保交换密钥的手段需要很安全。

    l  规模复杂,每个人之间传输的密钥不应该一样,不然AB的密钥和AC的密钥如果一样的话,C可以窃取到B的信息,或者B能窃取到C的信息。所以,如果有1000个人中,A就要有999个密钥。不能用同样的密钥加密太多内容,还得跟换密钥,情况比较复杂

    l  初次通讯,身份识别有问题,A要和B通讯,肯定要用某种安全的途径发送自己的密钥给对方,A如何来保证对方是B,而不是C呢?

     

    一些常见的对称密码:

    l  DESData Encryption Standard56位密钥 + 8          位奇偶校验位,产生64位分组大小。攻击DES的主要方式是穷举,重复试密钥,知道找出密钥。DES用软件解密很慢,硬件则很快。1977年,人们要用2000万美元才能建成一个专门的DES破解机器,而且需要12小时才能破解。除非你想盗取比尔盖茨的账号,不然花这么多钱去盗取一个只有10块钱的账户,那就亏大了。如今,计算机飞速发展,可以用20W美元就制造出这一台机器。

    l  AESAdvance Encryption Standard),使用DES的算法,而换取了更长的密钥(112位),对资料进行3次加密,也叫3DES速度当然比DES也慢了3倍。

    l  IDEA 基于DES发展而来,128位密钥,弱密钥空间大,特点是软硬件加密速度同样快。

    l  RC2RC4RC5 RSA算法发明人之一Ron Rivest发明。

    l  SDBI 由山东大学网络信息安全研究所研制的。通过了国家密码委员会的批准。

    l  One Time Pad,一次一密乱码本,保密性很强,在特殊场合(尤其是战争)使用。

    PKI 笔记 - Dsliu - Dspace

    对称密码最容易被攻击的地方就是密钥共享的问题。非对称密码可以解决这个问题。在网络上传输的密钥(公钥)是可以公开的,此密钥是用来加密数据的。不过加密密钥和解密密钥在非对称密码中,是不一样的。

                               

    非对称密码的第二个的作用是身份识别的功能,用私钥加密的数据,用公钥可以解密器加密的数据,所以这样对我们来说没什么用,私钥只有一个人拥有,所以使用公钥能解密出正确数据的人就能确认对方是谁。即。私钥相当于这个人的身份证,世界独一无二。

     

    非对称密码缺点:

    l  某些方面也容易被攻击

    l  速度慢,加密数据过大的话,会让人我发容忍太长时间的等待。

     

    常用非对称密钥算法

    l  RSA (由Ron Rivest Adi Shamir Leonard Adleman提出),提供加密/解密,签名/验证和密钥建立(特别是密钥传输)等服务。

    l  DH/DSADiffie-HellmanDH用于建立密钥,不能用于加/解密报文。DSADigital Signature Algorithm,数字签名算法),为接受者验证数据完整性和数据发送者身份。

    l  Elgamal 既能用于数据加密,也能用于数字签名。

    l  ECC 椭圆曲线加密算法

    PKI 笔记 - Dsliu - Dspace

    公开密钥和对称密钥结合。解决了俩种方式的缺点,互相弥补。但是此处不能保证数据的完整性和发送方(A)的身份。

     

    散列算法(用于验证数据完整性)

    单向性,已知x,很容易计算出f(x)。但已知f(x),很难计算出x。所以此算法不能用作加密。

    单向Hash函数,功能:输入一串任意长度的串,将其转变成固定长度的数输出。(长度一般式128160)。

     

    常用算法:

    MDMessage Digest Algorithm,信息摘要算法。发展到现在的MD5.MD4有很大的漏洞)。

    SHASecure Hash Algorithm,安全散列算法。SHA-1SHA-2(正在研制)。

    HMAC(Hashed Message Authentication Code),散列信息验证码。利用对称密钥和现有的单向函数(如MD5,SHA-1等)生成信息验证码的一种散列算法。

    PKI 笔记 - Dsliu - Dspace

    ===================================A端工作===Start=============================

    1.       用对称密钥(会话密钥)加密原文,A先用随机生成的会话密钥对数据加密

    2.       生成数字签名,通过散列算法,计算出信息摘要,并且用A的私钥加密。得到数字签名。这样B就要用A的公钥解密摘要(B就知道是A,不是别人了),然后验证摘要(确保了信息完整)

    3.       加密会话密钥(对称密钥),用B的公钥加密会话密钥。这样即便信息被窃取,由于对方没有B的私钥,导致无法得到会话密钥(对称密钥),也就无法解密加密的数据。

    ===================================A端工作====End=============================

    4.       发送

    ===================================A端工作===Start=============================

    5.       用自己的私钥对会话密钥解密,得到会话密钥。

    6.       用会话密钥对原文解密,得到原文

    7.       用A的公钥对签名解密。得到信息摘要。

    8.       从解密到的原文信息中用同等的散列算法算出信息摘要。

    9.       对比信息摘要是否相同,就等于是验证了数据的完整性。

    ===================================A端工作====End=============================

  • 相关阅读:
    nginx防盗链配置
    nginx禁止非sever_name指定域名访问
    linux下配置python环境 django创建helloworld项目
    node解析修改ngix配置文件
    ~/.ssh/config文件的使用
    SpringCloud-Feign声明式服务调用
    Hystrix 配置参数全解析
    Eureka 的高级使用
    eureka中显示有服务但是通过ribbon调用显示No instances available for service-hello的问题
    EureKa:服务注册与发现
  • 原文地址:https://www.cnblogs.com/luolizhi/p/5362992.html
Copyright © 2011-2022 走看看