00:00
支付业务中,安全是最重要的,那么微信支付是如何保障支付安全的呢?我们先来说说机密性,机密性呢是信息安全的基础,首先我们必须明确一些概念。实现机密性最常用的手段就是加密了,那只有掌握特殊钥匙的人才能对加密的文本进行解密,这里的钥匙呢,就叫做密钥。加密前的消息我们叫它铭文,加密后的文本我们叫它密文,使用密钥还原铭文的过程呢,就叫做解密。加密解密的操作过程呢,就是加密算法。所有的加密算法呢,都是公开的,而算法使用的密钥呢,则必须保密。密钥呢,其实就是一个字符串,它的度量单位呢,是为比特。比如庙的长度,如果我们说是128,那意思呢,就是128个比特位啊,其实呢,就是16字节的二进制串。
01:00
按照密钥的使用方式,加密可以分为两大类,第一个是对称加密,还有一个呢是非对称加密。对称加密其实很好理解,就是指加密和解密的时候呢,使用的密钥是同一个,是对称的,只要保证了密钥的安全性,那整个通信过程就可以说具有了机密性,因为通信过程中传输的全是用密钥加密后的密文,所以只有消息的发送方和接收方才能解密,那。恶意的用户即使能够窃听到我们的消息,看到的也只是加密后的密文,因为没有密钥,无法解除铭文,所以呢,就实现了消息发送的机密性。对称加密的算法非常多,目前最流行的就是AES算法,那密钥的度呢,可以是128192,或者是256,它的安全强度很高,性能也很好,所以呢,是目前最为流行,应用最为广泛的对称加密算法。
02:03
对称算法还有一个叫做分组模式的这么一个概念,就是先将铭文分组,然后每个分组呢再用密钥加密。微信支付中使用的对称加密算法就是分组模式中的一种,全称呢叫做aeada es256g C,那么AES256呢意思就是256个长度的AE非对称加密算法AECM呢就是分组模式当中的具体的分组算法。非对称加密呢,它是有两个密钥,一个呢叫做公钥public key,另一个呢叫做私钥private key。两个密钥呢是不同的,所以呢,我们叫它非对称,公钥呢可以公开给任何人使用,而私钥呢,必须是严格保密的,使用公钥加密后呢,只能使用私钥解密,那反过来呢,私钥加密后呢,也只能使用公钥来解密。
03:03
非对称加密算法的设计呢?要比对称加密算法复杂的多,那rsa可能是其中最著名的一个了,几乎可以说是非对称加密的代名词了,微信支付中的非对称加密算法呢,使用的就是这种方式。接下来呢,我们来对比一下对称加密与非对称加密,那首先呢,对称加密的优点就是运算速度快,但是它有一个很大的问题,因为信息交换的双方都需要持有相同的密钥,所以我们使用密钥之前呢,要。对密钥进行传输,如果密钥在传递的过程当中被黑客窃取了,那它就可以随意的解密数据,通信过程也就没有机密性可言了。而非对称加密呢,可以解决这一问题,因为私钥呢,是严格保密的,不公开的,公钥呢,可以在网上任意的分发,密文呢,只能由私钥的持有者才能解密,而黑客呢,即便获取了公钥,但是因为没有私钥,所以呢就没有办法破解密文。
04:06
那有些同学可能会问,那可不可以抛弃对称加密,只用非对称加密来实现我们信息传输的机密性呢?很遗憾,非对称加密呢是基于非常复杂的数学算法,因此呢,它的运算速度非常慢,如果我们在互联网上传输信息的话,通信速度呢是无法保证的,所以一般情况下,如果要保证信息传输的安全性,一般呢都是对称加密和非对称加密相结合的。例如我们可以用非对称加密的方式先传输对称加密需要的密钥,这样呢可以保证密钥被安全的传递,那后期的信息交换的过程呢,就可以安全的使用对称加密进行了,这样既能保证对称加密需要的密钥呢不会在传输的过程当中被被窃取,又能保证在后续的信息传输的过程当中加密和解的效率。那么我们知道的HTTPS的。
我来说两句