• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

嵌入式设备中支持国密算法的方法

如今国密系列算法的应用已不仅仅局限于金融和电信等领域,诸如车载设备,消费类电子设备等越来越多的产品开始要求有国密算法的支持。但是国密算法的开源资料和应用案例少之又少,如何快速高效的在自己的设备中加入国密算法已经成为众多开发者必须要面对的难题。现在为大家准备了一个系列文章,介绍嵌入式设备中移植国密算法的方法。

简单来说,分为三种方法:

1、移植Miracl库

2、移植Openssl库

3、使用加密芯片

下面进行简介:

1、移植Miracl库

    MIRACL(Multiprecision Integer and Rational Arithmetic C/c++ Library)是一套大数运算函数库,用来设计与大数运算相关的密码学之应用,包含了RSA公开密码学、AES、DSA,ECC,同时支持Diffie-Hellman密钥交换和数字签名功能。我们可以将这个库移植到我们的工程中,并在此基础上实现SM2,SM3,SM4的功能。

2、移植Openssl库

Openssl同样是支持加密算法的库,相比于Miracl,Openssl应用更加广泛,同时还支持常用的密钥和证书封装管理功能,支持SSL协议。

使用Openssl库来使我们的嵌入式设备支持国密算法的功能,其开发步骤和使用Miracl库的步骤类似,我们只需要将Openssl库中密码算法库的部分移植到我们的程序中,利用其函数接口,开发出国密算法的功能即可。

3、算法支持芯片

我们都知道国密算法是国家密码局制定标准的一系列算法,即SM1,SM2,SM3,SM4等。其中SM1是对称加密算法是采用硬件实现的,假如我们的应用需求中必须使用SM1,那么通过上面两种移植支持库的形式就实现不了了,这种情况下我们就要使用专门进行加密运算的加密芯片了。使用加密芯片的开发流程要比上述两种方式容易很多,我们只需要在硬件设计上添加加密芯片,即完成了开发,使用时也只需要发送固定格式的指令来调用加密芯片的功能即可。

以上三种方法各有优缺点,下一期详细介绍三种实现方法。

 

全部回复(19)
正序查看
倒序查看
Mr_Wang_
LV.4
2
2019-05-29 17:01
国密算法和RSA等国际通用算法哪个更安全呢?软件实现的话,是国密几级的安全呢?有客户曾经问过
0
回复
2019-05-29 17:09
@Mr_Wang_
国密算法和RSA等国际通用算法哪个更安全呢?软件实现的话,是国密几级的安全呢?有客户曾经问过
国密的更安全些,我记得是国密二级。
0
回复
2019-05-29 17:17
@小屁孩456
国密的更安全些,我记得是国密二级。
个人觉得国密算法比RSA等国际通用算法安全,因为国密算法是国家密码局推出的,推广上没有RSA等国际通用范围广,很多人不是特别了解
0
回复
Hex315
LV.5
5
2019-05-29 19:49
@人称福爷
个人觉得国密算法比RSA等国际通用算法安全,因为国密算法是国家密码局推出的,推广上没有RSA等国际通用范围广,很多人不是特别了解
现在是智能互联网时代,那么可不可以将Miracl和Openssl库的功能封装在加密芯片中,让加密芯片变成智能加密芯片,可以连接独立的网络,就像路由器一样,然后可以根据需求进行库的提取呢?
0
回复
114W1
LV.5
6
2019-05-29 20:40
@Hex315
现在是智能互联网时代,那么可不可以将Miracl和Openssl库的功能封装在加密芯片中,让加密芯片变成智能加密芯片,可以连接独立的网络,就像路由器一样,然后可以根据需求进行库的提取呢?

车载设备安全防护,求一款国密系列算法的芯片,哪位大神推荐一款,不胜感激.....

0
回复
邓女士
LV.5
7
2019-05-30 09:18
@114W1
车载设备安全防护,求一款国密系列算法的芯片,哪位大神推荐一款,不胜感激.....
我司调试过一款芯片,LKT4305-GM,既满足国密要求,也满足安全性的要求
0
回复
BLoun
LV.5
8
2019-05-30 17:43
@邓女士
我司调试过一款芯片,LKT4305-GM,既满足国密要求,也满足安全性的要求
楼上说的LKT4305-GM芯片SM1,SM2,SM3,SM4算法都支持吗?开发难度大吗?
0
回复
宇宙王
LV.3
9
2019-05-30 19:33
@BLoun
楼上说的LKT4305-GM芯片SM1,SM2,SM3,SM4算法都支持吗?开发难度大吗?
是的,4305支持SM1/2/3/4/7国密算法,有专门的技术人员一对一支持
0
回复
2019-05-31 10:24
@宇宙王
是的,4305支持SM1/2/3/4/7国密算法,有专门的技术人员一对一支持
在嵌入式设备中,哪个形式更安全???期待楼主后面详细解说
0
回复
Mr_Wang_
LV.4
11
2019-05-31 13:27
@miniminimini
在嵌入式设备中,哪个形式更安全???期待楼主后面详细解说
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。
0
回复
2019-05-31 16:17
@Mr_Wang_
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。
SM1 为对称加密算法,Miracl,Openssl移植库无法实现,当想调用该算法时,那又如何挑选合适的加密运算的加密芯片?
0
回复
2019-05-31 17:02
@小屁孩456
SM1 为对称加密算法,Miracl,Openssl移植库无法实现,当想调用该算法时,那又如何挑选合适的加密运算的加密芯片?
感觉很深奥的文章,希望楼主能详细的说明一下这三种方法的区别和优缺点
0
回复
宇宙王
LV.3
14
2019-05-31 17:17
@人称福爷
感觉很深奥的文章,希望楼主能详细的说明一下这三种方法的区别和优缺点
前2种是软件实现,第3种是硬件实现安全性好,速度也更快
0
回复
Hex315
LV.5
15
2019-05-31 19:50
@宇宙王
前2种是软件实现,第3种是硬件实现安全性好,速度也更快
有谁知道支持国密算法的芯片有哪些呢?
0
回复
邓女士
LV.5
16
2019-05-31 20:42
@Hex315
有谁知道支持国密算法的芯片有哪些呢?
我们公司用过LKT4305这款产品,用于车载行业上,你可以咨询一下
0
回复
114W1
LV.5
17
2019-06-02 21:47
@邓女士
我们公司用过LKT4305这款产品,用于车载行业上,你可以咨询一下

能不能使各算法库的函数接口齐聚在加密芯片上,需要的时候在云端调用不同的算法库,这样是不是更安全呢?

0
回复
宇宙王
LV.3
18
2019-06-03 09:47
@114W1
能不能使各算法库的函数接口齐聚在加密芯片上,需要的时候在云端调用不同的算法库,这样是不是更安全呢?
当然这样更安全,因为算法直接固化到了芯片中,但是要更具体的考虑一下,比如想要支持何种算法,芯片和云端的硬件设备接口如何选择,这都需要结合具体的需求来寻找符合条件的芯片
0
回复
2019-06-03 16:48
@宇宙王
当然这样更安全,因为算法直接固化到了芯片中,但是要更具体的考虑一下,比如想要支持何种算法,芯片和云端的硬件设备接口如何选择,这都需要结合具体的需求来寻找符合条件的芯片
mark,比较关注怎么移植和优缺点,加油更新啊楼主
0
回复
Mr_Wang_
LV.4
20
2019-06-03 17:06
@miniminimini
mark,比较关注怎么移植和优缺点,加油更新啊楼主
不错,看现在的情况国密算法应该会用的越来越多。期待后续的详细介绍
0
回复