RJMU401在国六T-BOX上的国密算法的应用_兮 木的博客-程序员宅基地

技术标签: RJMU401在国六T-BOX上的国密算法的应用  

                                                             RJMU401在国六T-BOX上的国密算法的应用

由国家生态环保部和国家市场监督管理总局联合发的 “重型柴油机污染物排放限值及测试方法(中国第六阶段)标准“将于2019年7月1日开始实施 。 标准中明确指出车载终端T-BOX存储,传输的数据应是加密的,应采用非对称加密算法,可使用国密SM2算法或者RSA算法,并且需要采用硬件方式对私钥进行严格保护。

武汉瑞纳捷电子有限公司推出的安全芯片RJMU401内置SM1,SM2,SM3,SM4和RSA等算法,已广泛应用于生物识别加密,公交智能POS,智能电力终端,车载T-BOX上,RF-SIM卡等产品上。该芯片具有以下特点:

公司具备SAS安全认证资质;

芯片取得商用密码产品型号认证;

安全保证级别EAL4+;

密钥长度达256bit;

全球唯一的标识ID,可用于绑定安全芯片的公私钥对。

RJMU401目前已经在东风汽车、徐工、江淮等车厂的T-BOX中开始试商用,完全符合相关部委的标准。

RJMU401在车载T-BOX中国密算法流程如下:

图1、数据加密传输、数据完整性及签名认证流程

  1. 传输信道中的数据都采用SM4分组加密算法,保证数据传输时数据的机密性;
  2. 使用散列算法SM3保证数据的完整性,以防止数据在传输的过程中被篡改;
  3. 使用非对称算法SM2的私钥签名来保证数据的不可抵赖性,确保数据是从某一个确定的车载用户端发出;
  4. 具体流程如下:
  1. 用户数据使用SM3进行散列运算得到数据摘要,再使用非对称算法SM2进行摘要签名;
  2. 同时使用对称算法SM4的密钥对数据摘要进行加密并传输给安全模块;
  3. 使用同一个对称算法SM4密钥对用户数据进行加密,并将加密后的密文传输给监控端;
  4. 监控端收到数据密文后,使用对应的密钥进行对称算法SM4解密,并使用散列算法对解密后的数据进行运算得到数据摘要1;
  5. 监控端对收到的摘要签名进行对称算法SM4解密,再经过非对称算法解密得到最初的数据摘要2;
  6. 对比数据摘要1和数据摘要2,若两者相等则认为传输数据具备完整性;否则认为数据出错;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36261535/article/details/90407025

智能推荐

Postgresql 如何创建一个有N个列的表_weixin_34221073的博客-程序员宅基地

如果需要创建一个有99列的表,列名都是有规律的比如s01,s02,s03……也许你会想到如下语句CREATETABLEtb_sxx(s01varchar(10),s02varchar(10),s03varchar(10),……s99varchar(10));有没有更快捷的方法呢?当然有了,不妨借助一下Postgresql的三个有力函数ge...

专题训练-移动云打印设计任务书_chenjianqing1983的博客-程序员宅基地

移动云打印设计任务书 1. 需求背景 近年来,随着互联网+的逐渐推进,各行各业都在探索向互联网转型的模式,打印行业也不例外,不少同仁都在开拓思路,推出了一系列互联网思维的创新模式,但都未能被市场广泛接受,导致有打印需求的人还需要四处奔波寻找打印店,即便有自助的打印机,也免不了亲自折腾一...

js if语句 单 双 多分支循环以及while循环的区别和用法_敬礼 salute的博客-程序员宅基地_if单分支和双分支区别

1.分支结构:(1)单分支;(2)双分支;(3)多分支单分支语法结构:if(条件){语句1,语句2}双分支 语法结构: if(条件){执行体}else{执行体}多分支: if(条件){}else if(条件)else if(条件)else{}<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="

用HTML制作眼睛,MAX教你怎样制作眼睛建模教程?_黄sir好的博客-程序员宅基地

回答:本案例分享给小伙伴们一个用CorelDRAW制作雪景,“雪”这一案例在制作中主要运用了图形的编辑功能、绘制功能、填充功能以及文字适合路径的功能等。用CDR制作雪景的图文教程CorelDRAWX7下载具体的制作步骤如下:1、新建文件 执行“文件”→“新建”命令(Ctrl+N)新建A4大小的文件。2、绘制正圆 选择工具箱中的“椭圆形工具”,按住Ctrl键的同时在页面中拖拽出正圆,效果如图所示。3...

微型计算机的CPU的功能和性能指标,CPU 中的内存结构,微型计算机的几个主要性能指标..._王向华的博客-程序员宅基地

先放两张图看一下 CPU 和各级缓存、内存、硬盘之间的关系。为什么会出现多级缓存呢?说的简单一点因为 CPU 的频率太快了,而若是没有缓存,直接读取内存中的数据又太慢了,我们不想让 CPU 停下来等待,所以加入了一层读取速度大于内存但小于 CPU 的这么一层东西,这就是缓存。加入缓存之后,CPU 需要数据就问缓存要,缓存没有就从主存中读取,并保留一份在缓存中。下次读取就从缓存中读取,加快速度。但是...

随便推点

鼠标移到某个地方的时候,在旁边飘出一个DIV,离开则消失_最是那一低头的温柔的博客-程序员宅基地

JS、Jquery技术学习 https://www.itkc8.com  函数代码,放到一个JS文件里: /**   * 鼠标移上去显示层   * @param divId 显示的层ID   * @returns   */   $.fn.myHoverTip = function(divId) {       var div = $("#" + divId); //要浮...

10个打开了我新世界大门的 WebAPI_前端劝退师的博客-程序员宅基地

原来我对这些 Web API 一无所知,打开了我新世界的大门,未来 Web 可以做到更多,早日一统江湖吧,吼吼吼。虽然这些 API 很多目前还存在兼容性的问题,但是还是有必要了解一下的,...

linux epoll实现分析_self-motivation的博客-程序员宅基地

epoll的作用是进行I/O的多路复用,可以同时监听多个fd产生的事件。常结合异步处理实现单线程的高并发。在多核环境中,可以结合多线程实现负载分担。本文主要分析一下linux epoll的实现。APIepoll_create(int size);.epoll_create1(int flags);创建一个epoll实例,并返回与之关联的一个fd.这是后面我们继续使用epoll其...

【python】locals()、globals()与名字空间_JasonDing1354的博客-程序员宅基地

名字空间Python使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。实际上,名字空间可以象Python的字典一样进行访问。 在一个Python程序中的任何一个地方,都存在几个可用的名字空间。每个函数都有着自己的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量。每个模块拥有它自己的名字空间,叫做全局名字空间,它

VCC、VDD、VEE、VSS的区别_weixin_30915275的博客-程序员宅基地

电路设计以及PCB制作中,经常碰见电源符号:VCC、 VDD、VEE、VSS,他们具有什么样的关系那?  一、解释  VCC:C=circuit 表示电路的意思, 即接入电路的电压  VDD:D=device 表示器件的意思, 即器件内部的工作电压;  VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压  二、说明  1、对于数字电路来说,VCC是电路的...

7.12归来赛_B_weixin_34037977的博客-程序员宅基地

Prime Judge 时间限制1000 ms 内存限制 65536 KB题目描写叙述众所周知。假设一个正整数仅仅能被1和自身整除,那么该数被称为素数。题目的任务非常easy。就是判定一个数是否是一个素数。 仅仅只是可能数的形式与正整数有一些不同,数的形式为a+bi,当中a、b为整数,且ii被定义为-1。假设a+bi能被分解为(a1+b1i)(a2+b2...

推荐文章

热门文章

相关标签