其他

IOS的签名机制

2019-07-20  本文已影响0人  有毒的程序猿

前言

了解IOS的数字签名机制之前我们需要掌握以下几个知识:

  • 加密解密(对称加密(DES 3DES AES),非对称加密(RSA))
  • 单向散列函数(MD4,MD5,SHA-1,SHA-2,SHA-3)
  • 数字签名
  • 证书
一、加密解密
1.对称加密(DES 3DES AES)

对称加密就是,加密和解密用的密钥是一样的, DES是用一个56bit的密钥对64bit的数据进行加密生成64bit的密文.解密既反向.
3DES大概是先进行一次的DES加密(密钥1),然后进行解密(密钥2),然后进行加密(密钥3),得到密文.解密既反向.

2.非对称加密(RSA算法)

非对称加密,加密和解密用的密钥是一不样的.非对称加密,有一对密钥,成对生成,分为公钥和私钥.通过公钥加密的数据,通过私钥可以解开.通过私钥加密的数据,通过公钥可以解开.

3.对称加密的存在的问题

存在问题: 密钥配送问题.
我们可以通过以下手段解决密钥的配送问题:
1、事先共享密钥(不适用于互联网通讯)
2、密钥分配中心
3、Diffie-Hellman密钥交换
4、公钥密码(非对称加密)

4.非对称加密的存在的问题

存在问题: 加密解密速度慢.
解决密钥配送问题:由消息的接送者生成一对公钥,私钥.将公钥发送给消息的发送者,自己保留私钥.消息的发送者使用公钥加密要配送的密钥,接收者用私钥解密.

5.混合密码系统

混合密码系统是将对称密码和非对称密码的优势相结合解决了对称密码密钥配送问题,和非对称密码加密速度慢问题.

二、单向散列函数(MD4,MD5,SHA-1,SHA-2,SHA-3)

单向散列函数(MD4,MD5,SHA-1,SHA-2,SHA-3),的作用是根据你传入的内容生成一个散列值.散列值的长度和内容的长度是没有关系的,计算出固定长多的散列值.
MD4,MD5 为128bit (不安全了)
SHA-1 为160bit(20字节)(不安全了)
SHA-2 (SHA-256,SHA-384,SHA-512)
SHA-3 全新标准


单向散列函数.png
三、数字签名

数字签名主要是为了验证数据没有被篡改过.具体流程为:
A要向B发送消息时,A------->B,如果有中间人把消息改改了,AB都不会察觉到.这时就用到了数字签名.

以上过程存在两个问题:

四、证书(Certificate)

证书也叫公钥证书,主要是为了解决公钥发送问题.主要由认证机构(Certificate Authority, CA)施加数字签名.
CA就是能够认定公钥确实属于此人并能够用生成数字签名的组织或者个人.
流程大概如下:

五、IOS签名机制
IOS签名机制.jpg WechatIMG342.jpeg WechatIMG341.jpeg
上一篇下一篇

猜你喜欢

热点阅读