mRSA和SEM介绍

 

mRSA是斯坦福大学的一些密码学研究人员提出的一种RSA算法的变化机制,这种机制,解决了RSA算法面临的一些问题,而且,和传统RSA的应用完全能够兼容起来。

 

mRSA算法在一种被称为SEM(SEcurity Mediator)的架构下使用,其算法的核心可以描述如下:

 

用户RSA密钥对  PUBKEY为(N,e),私钥(N,D),是符合RSA算法要求的数值。

我们将私钥分为两部分 用户持有部分  Duser 和SEM持有部分 Dsem  ,满足下面的条件:

 

      D= Dsem + Duser  mod(φ(N) )

或反过来:

 

      Duser =D -  Dsem mod(φ(N) )

CA中心在使用给公钥签发证书时,和标准RSA算法密钥完全一致,无须任何区别和变化。

 

使用mRSA算法签名:

假设拿到摘要后的消息M,那么:

SEM端签名:

Ssem = MDsem mod(φ(N) )

 

用户签名:

 

Suser = MDuser mod(φ(N) )

 

 

客户收到 Ssem 以后计算: 

M1= ( Ssem * Suser) emod(φ(N) )

 

 

如果M=M1,则能够得出 完整签名:

S= ( Ssem * Suser) mod(φ(N) )

 

此签名值可以用公钥证书顺利验证通过。

 

同理,RSA私钥解密运算的话,也可以类似得出:

假设拿到密文C:

 

sem解密得到:

Psem = CDsem mod(φ(N) )

 

用户解密得到:

 

Puser = CDuser mod(φ(N) )

 

用户收到Psem,计算

 

C1= ( Psem * Puser)e mod(φ(N) )

 

如果C=C1,那么,明文应该就等于

P=( Psem * Puser)mod(φ(N) )

 

mRSA的使用场景:

 

1、使用CA或密钥中心产生密钥

 

      按照PKI系统一般要求,私钥应该在用户处产生,否则签名可能没有法律效力,但是因为证书下载成功率的问题,所以这个问题一直很困扰证书运营商,密钥统一由CA或KM产生吧,又涉及法律效力问题,为人所诟病。

    今年来,有些地方推出“预植证书”这样的业务,就是预先把证书做在KEY里,但是也同样面临法律问题,有了mRSA这种技术,其实完全可以把私钥的一部分在生产时灌入KEY,另一部分由另外单独的通道交给客户,在使用之前合成。而且,现在有很多新的技术,能让这种机制使用更方便。

 

2、软证书的使用

 

    因为网络环境的恶劣,所以用软证书一直都不被提倡,但是有了mRSA是否能改善这种情况?一部分私钥安装到了计算机系统,另外一部分客户持有,使用之前合成,不使用时,计算机中只有一部分。这样是否能改善软证书的安全性?

   尤其是在移动终端(平板电脑、智能手机)这些领域,可以用二维码等方式,来读取客户持有那部分数据,使用起来,也还是很方便的。

3、大型证书系统的证书撤销

 

     大型证书系统,证书撤销是一个很棘手的问题,CRL方案有时效性,OCSP技术又有性能瓶颈,没有一个特别方便的方案。如果使用mRSA这种SEM方案,就比较简单,直接在运营端注销Dsem就再也没有办法进行数字签名了,运营方的Dsem数据只是私钥的一部分,也不会带来数据安全问题。

 

4、改进安全性

 

在mRSA机制下,产生一个有效的数字签名需要客户端和服务器端的协同,这样,服务器端很容易控制客户,也保护了客户端,免受一些攻击。

 

 

以上就是mRSA算法的介绍,个人感觉,这种机制还是大有发展空间的。当然,现在咱们中国有了自己的非对称算法,基于RSA的这种技术怎么发展,需要看PKI和算法技术的发展了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(mRSA和SEM介绍)