美文网首页
密码学基础知识及fabric中的PKI

密码学基础知识及fabric中的PKI

作者: 果果_1b2b | 来源:发表于2018-08-07 16:06 被阅读0次

    常用的密码学 --------参考文档

    散列函数(也称哈希函数)算法 对称加密算法 非对称加密算法
    MD5,SHA DES,3DES,AES RSA,DSA,ECC(椭圆加密算法)

    ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全

    一,(散列算法)Hash 算法

    散列算法(Hash Algorithm),又称哈希算法,杂凑算法。以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存入到此存储单元中。检索时,用同样的方法计算地址,然后到相应的单元里去取要找的结点

    对不同的关键字可能得到同一散列地址,即key1≠key2,而f(key1)=f(key2),这种现象称碰撞。

    *散列算法总结

    特点 常用Hash函数 Hash有哪些流行的算法
    正向快速;逆向困难;输入敏感; 冲突避免 直接取余法;乘法取整法;平方取中法 MD5,SHA

    二、对称加密算法

    DES :安全性不高
    3DES:3DES因密钥长度变长,安全性有所提高,但其处理速度不高
    AES:AES较于3DES速度更快、安全性更高

    分组密码

    分组密码(block cipher):是每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”就称为分组(block)。一个分组的比特数就称为分组长度(block lenght)。例如 DES和3DES的分组长度都是64比特。AES的分组长度为128比特。

    流密码(stream cipher):是对数据流进行连续处理的一类密码算法。流密码中一般以1比特、8比特、或32比特等为单位进行加密和解密。

    迭代的方法就称为分组密码的模式(mode)
    ECB模式:Electronic CodeBook mode(电子密码模式)
    CBC模式:Cipher Block Chaining mode(密码分组链接模式)
    CFB模式:Cipher FeedBack mode(密文反馈模式)
    OFB模式:Output FeedBack mode(输出反馈模式)
    CTR模式:CounTeR mode(计数器模式

    三、非对称加密算法

    • 公钥密码( public-key cryptography),又称为非对称密码,密钥分为加密密钥和解密密钥两种。发送者用加密密钥对消息进行加密,接收者用解密密钥对密文进行解密。
    • 加密密钥和解密密钥的区别
      发送者只需要加密密钥
      接收者只需要解密密钥
      解密密钥不可以被窃听者获取
      加密密钥被窃听者获取也没问题
      解密密钥从一开始就是由接收者自己保管的,因此只要将加密密钥发给发送者就可以解决密钥配送问题了,而根本不需要配送解密密钥。

    *公钥通信流程
    我们还是假设Alice要给Bob发送一条消息,Alice是发送者,Bob 是接收者,而这次窃听者Eve依然能够窃听到他们之间 的通信内容。

    公钥通信流程.png
    • 中间人攻击虽然不能破译RSA,但却是一种针对机密性的有效攻击。所谓中间人攻击,就是主动攻击者Mallory混入发送者和接收者的中间,对发送者伪装成接收者,对接收者伪装成发送者的攻击方式,在这里,Mallory就是“中间人”。
    中间人攻击.png
    要防御中间人攻击,还需要一种手段来确认所收到的公钥是否真的属于Bob,这种手段称为认证。在这种情况下,我们可以使用公钥的证书。------数字签名

    四、数字签名

    • 公钥密码机制
      公钥密码包括一个由公钥和私钥组成的密钥对,其中公钥用于加密,私钥用于解密。用公钥加密所得到的密文只有 用与之对应的私钥才能正确解密。
    • 数字签名
      数字签名中也同样会使用公钥和私钥组成的密钥对,不过这两个密钥的用法和公钥密码是相反的,即用 私钥加密 相当于 生成签名,而用 公钥解密 则相当于验证签名。

    数字签名的方法
    1)直接对消息签名

    Alice需要事先生成一个包括公钥和私钥的密钥对,而需要验证签名的Bob则需要得到Alice的公钥。在此基础上,签名和验证的过程如下:

    签名和验证过程

    2)对消息的散列值签名

    先用单向散列函数求出消息的散列值,然后再将散列值进行加密(对散列值签名)就可以了。

    应用

    1,网站应用 ---浏览器里面的锁
    2,代码签名 ---可执行文件里面的数字证书。
    根证书可以被轻易添加或者修改,

    五,PKI公钥基础设施---双密钥对(加解密,签名密钥对)

    公钥证书:公钥:用户的基本信息+
    认证机构( Certification Authority. Certifying Authority, CA )施加数字签名
    公钥基础设施( Public-Key Infrastructure)是为了能够更有效地运用公钥而制定的一系列规范和规格的总称。公钥基础设施( Public-Key Infrastructure)是为了能够更有效地运用公钥而制定的一系列规范和规格的总称。

    PKI的组成要素主要有以下3个

    • 用户一使用PKI的人
    • 认证机构一颁发证书的人
    • 仓库一保存证书的数据库
      由于PKI中用户和认证机构不仅限于“人”(也有可能是计算机),因此我们可以给他们起一个特殊的名字,叫作实体( entitiy)。实体就是进行证书和密钥相关处理的行为主体。

    六、Hyperledger Fabric 中CA的权限认证

    IBM 微课堂HyperLedger Fabric 的隐私和安全

    相关文章

      网友评论

          本文标题:密码学基础知识及fabric中的PKI

          本文链接:https://www.haomeiwen.com/subject/jgawvftx.html