欢迎光临散文网 会员登陆 & 注册

杂说4 —— 加密传输相关, rk3588 SM2 SM3 SM4

2023-04-16 19:00 作者:FineClassFuture  | 我要投稿

(去年4月,将近一年时间)

       目前除了几颗SoC之外就只有专用加密芯片集成了SM系列国家商用密码算法体系,任重道远,希望SoC能尽快集成。

某SoC:

    1. AES(128/256)

    2. HASH(SHA1/SHA256/HMAC_SHA1/HMAC_SHA256)

    3. RSA(256/512/1024/2048)


1. HASH

    甲要发消息M给乙,为了方便乙验证消息M完整,将M做HASH计算,然后将M+HASH(M)一起发送给乙。乙收到后,计算、验证 OK。

    丙知道后,在甲传给乙时截获消息M,并篡改为消息N,将N做HASH计算,然后N + HASH(N)发送给乙。乙收到后,依旧计算、验证 OK。


2. HMAC

    甲碰到乙,发现乙收到的并非是自己发的消息。于是商量X作为双方消息密钥。

    甲将消息A与X一起做HASH计算,再将 A + HASH(AX)一起发送给乙。乙收到后,计算、验证 OK。

    一开始丙不知道X,截获后先验证发现不对,无法再欺骗乙了。

    可后来,丙撞到了X,又可以继续欺骗了。


3. 密钥交换算法

    甲再次碰到乙,又发现乙收到的一些验证OK的消息不是自己发的。于是商量每隔一段时间换一个密钥,用密钥交换算法来通知。

    3.1 RSA用于密钥交换时

        甲发送公钥Pj给乙,乙生成随机数C后使用Pj加密得到M1发送给甲,甲用对应私钥解密得到随机数C,然后双方使用随机数C作为消息密钥。

       (可以防中间人攻击,但为什么不推荐RSA用于密钥交换,因为不是前向加密,一旦RSA私钥泄漏,之前的密文都会被解密。)

    

    3.2 DH

        (易被中间人攻击)


    3.3 DHE


    3.4 ECDHE

         (前向加密,私钥泄漏后之前的密文不能被解密)


TLS协议的一个协商结果

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:

密钥协商算法 :ECDHE

签名算法:RSA

通信:AES-256-GCM

摘要算法:SHA384

------------------------------------------------------------------------------------------------

    一年之后的现在(确切说半年,半年前就有了)RK3588中看到了

    

    等RK3588板子来了,看看硬件模块执行SM3/SM4与X86_64 CPU执行有多大区别。


    是时候可以想一想怎么定义自己的加密流传输协议了。

    

密钥协商算法 :ECDHE                 ?

        签名算法:RSA                   SM2

               通信:AES-256-GCM   SM4

        摘要算法:SHA384              SM3


杂说4 —— 加密传输相关, rk3588 SM2 SM3 SM4的评论 (共 条)

分享到微博请遵守国家法律