郑建华院士:移动端签名私钥保护-基于STOP加密保护签名私钥的SM2签名方案

 二维码 7

01 环境及实际意义


    伴随着移动智能终端技术性、移动互联技术和云技术的高速发展,越来越多互联网运用逐渐迁到智能移动终端,如:用以移动终端的支付宝钱包、手机微信、网上银行等,促使用户在运动环节中,随时随地都能都可以用移动智能终端开展付款、买东西、推送互联网信息等。为了保证互联网信息的可验证性且不可赖账性,互联网各种各样买卖信息都要用户签名的保护。


11.png


    一旦网络攻击控制住了手机端,就能获得用户私钥,进而具有仿冒签名的所有水平,这是很大的一个安全风险。因而,用户用以签名的私钥立即存放于智能移动终端上并不安全的。


22.png


    解决以上私钥应用安全问题,幅值签名观念被明确提出。幅值签名,即存有2个或以上机器设备各自存放私钥的一部分,数据签名由参与者协作进行,一切参与者都难以把握详细私钥,这类计划方案高效地确保在单独机器设备被故意实体线操纵的情形下用户私钥安全性。

33.png


    已有的手机端签名私钥维护计划方案使用的是分布式系统签名计划方案。该计划中签名多方各自拥有自已的私钥,与隐秘分享签名计划方案不一样的是,该签名计划方案在签名的时候不必须修复私钥,而是用好几个实体线通过自己所持有的私钥互动协作开展签名,确保在签名环节中并没有泄漏多方所持有的私钥信息。


    因为涉及到多方参与,开发效率比较低,或因为参与者互动频次太多而造成运算通讯成本也较大。因而,设计一个手机端用户可独立签名,特性高并且能确保私钥安全签名方案是现在需要解决问题。


目前策略的不够主要有以下几个:

1、分布式技术以系统化方法运作,如隐秘分享签名和幅值签名计划中的每个参与者分散化了安全隐患,但由于涉及到多方参与,开发效率比较低;

2、因参与者互动频次太多而造成运算通讯成本也较大;

3、引进了别的参与者的出现,签名方无法自己地进行签名,必须多方面协同配合才可以进行签名,应用极为不方便;

4、参与者共商做恶的形式也是要考虑到安全问题;

5、幅值签名计划中没法限定实物的个人行为,可能会把黑客攻击者引进团队内部结构,多方参与的密码算法协议书难以获得以前密码算法协议书的安全性抗压强度。



02 基本知识介绍


同态签名方案介绍

根据 SM2 签名算法,给出了一个用户可独立签名,特性高并且能确保签名私钥产品安全性签名计划方案:SM2 签名计划方案。

(1)复位:给出安全性主要参数 λ,形成椭圆曲线主要参数并导出;

(2)密钥生成:给出主要参数后,挑选随机数字 d 做为私钥,测算 pk=[G]d 做为公匙;

(3)签名算法:给出主要参数,私钥及其信息,签名者将实行下列流程:

        键入为待签名信息 e,一般为信息的 Hash 值。

        a)应用随机数发生器产生随机数 k∈[1,n-1]

        b)测算椭圆曲线里的点[k]G=(x,y)

        c)测算 r=e x mod n,若 r=0 或 r k=n,则回到第 1 步

        d)测算 s=(1 dA)-1(k-rdA)mod n,若 s=0,则回到第 1 步

        e)发布 e 的签名(r,s)

(4)认证算法:

        a)键入为信息 e 的签名(r,s)

        b)检验 r∈[1,n-1]与 s∈[1,n-1]是不是创立,若一项站不住脚则验证失败

        c)测算 t=r s mod n,若 s=0,则验证失败

        d)测算椭圆曲线里的点(x,y)=[s]G [t]PA

        e)测算 R=e x mod n,若 R 相当于 r,则验证通过;不然,验证失败。


SOTP 技术性

    运用 SOTP 技术性可以构建一个安全保密通信系统软件,根据密码技术,完成了“一人一密”,也能像公匙体系一样,能够实现身份验证和密匙商议的功效。


    SOTP 技术性克服了手机端密的双重验证、密匙商议、保密通信等多个安全隐患,根据一种一个全新的构思提供了一种安全可信移动数据通讯方式。



03 SM2 同态签名计划方案


方案介绍


根据 SOTP 加密维护签名私钥的 SM2 签名计划方案

    本签名计划方案运用 SM2 算法基本原理,完成了手机端储存加密维护私钥,而且用户仍可以向往常一样应用 SM2 的签名形成与认证算法。

1、用户私钥全生命期加密储存,克服了私钥安全问题;

2、从用户角度来说,签名与认证算法与 SM2 算法一致,用户感受不到是采用了加密了私钥,或是如 SM2 那般原型私钥。这类可以通过加密私钥的签名与认证算法具有同态计算模式特性。


主要思想

    大家的目的在于维护用户签名私钥 d。依据密码学原理,最少要与 d 同级并且不有关的大整数金额 u,来设计一个可逆性函数公式 f(d,u),能够把 d 均匀投射到(0,n)间的大整数金额,且不会因为函数公式构造而泄漏 d 的信息。

    由 SOTP 服务站运用各用户的 Z 登陆密码算法形成 u,用户可以通过动态口令及其它方式参加 u 的形成。

    根据 SOTP 加密维护签名私钥的 SM2 同态签名算法,可以在私钥加密维护条件下,由用户自主独立形成签名,所有人还可以在 SOTP 服务站的支持下,独立认证签名。


私钥维护算法

    用户和网络服务器彼此验证成功后,根据 SOTP 科技的 Z 算法商议形成现阶段乱数 u,在其中服务器是不清楚私钥 d 的,网络服务器仅与用户商议造成,用户自身加密私钥 d。

用户加密私钥

    用户应用函数公式 f(d,u)来加密私钥,用户在当地储存加密后私钥和加密私钥后的时间格式 T。假设函数 f(d,u)=d u mod n 实际操作,那样 d'=d u mod n


随机数字 u 规律性升级

    用户能够按时或根据要求经常性地升级加密私钥的乱数,私钥维护并不是固定不动永恒不变的,网络攻击不能使用剖析方式来获得私钥信息,随时变化的加密储存促使网络攻击违法掌握到加密私钥会很快落伍无效。


签名形成算法

    除开私钥加密之外,别的流程和 SM2 签名算法一致。d'=f(d,u),用 d'取代 d 来签名。


签名认证算法

    用户签名时用的都是加密后私钥,对于一般用户认证该用户签名时,应当向网络服务器要求,网络服务器对初始公匙开展预备处理后发给验签者,验签者测算获得认证签名的公匙。

    服务器恢复出加密私钥 d 后的乱数 u,测算[u]G,连着初始公匙 pk 一同发给验签者,验签者测算验签公匙 pk'=[u]G pk mod n。



04 签名计划方案安全性


私钥的安全性

1、加密函数公式 f(d,u)不容易泄露 d 的信息;

2、用户终端设备不容易泄露私钥 d 的信息,终端设备只储存加密后私钥,即便黑客攻击者控制住了终端设备,乱数 u 是及时更新的,且升级周期时间快,获得了加密私钥会很快落伍无效;

3、服务端不容易泄露私钥 d 的信息,服务器是诚信且疑惑的,网络服务器无法通过已经有信息、签名、公匙等信息获得相关私钥 d 的所有信息;

4、添加 SOTP 网络服务器并没有减少签名的安全标准并且也未泄露私钥信息。


签名的主体性

1、根据 SOTP 加密维护签名私钥的 SM2 签名算法确保用户能够很好地独立地选择已加密保障的私钥对于需要签名消息开展签名,安全级别与 SM2 签名算法同样。与幅值签名和隐秘分享签名的解决方案对比,本计划方案可以独立签名,并且没有减少协议书的安全性抗压强度;

2、别的用户可以经 SOTP 网络服务器预备处理之后对签名开展独立地认证。


防赖账性

1、服务器端根据乱数 u 给予用户 A 当年的认证公匙 Pk',帮助验证者开展签名认证;

2、可是 SOTP 服务器端没有直接把握用户的私钥,而且依据 ECDLP 数学的特点,也无法算出用户私钥;

3、用户的签名是用户独立完成;

4、签名系统软件合乎数据签名的技术标准;

5、签名计算步骤的防赖账性,与 SM2 签名算法同样,由椭圆曲线离散变量多数难题(ECDLP)数学的特点确保。


防仿冒防篡改性

    根据 SOTP 加密维护签名私钥的 SM2 签名的形成历程与 SM2 签名算法同样,一定可以椭圆曲线离散变量多数难题(ECDLP)数学的特点确保:不明维护私钥条件下,没法形成签名,也难以伪造签名。