RJMU401國(guó)密算法應(yīng)用流程
一、國(guó)密芯片RJMU401數(shù)據(jù)加密傳輸、身份認(rèn)證及數(shù)據(jù)完整性保證
1、 傳輸信道中的數(shù)據(jù)都采用SM4分組加密算法,保證數(shù)據(jù)傳輸時(shí)數(shù)據(jù)的機(jī)密性;
2、 使用散列算法SM3保證數(shù)據(jù)的完整性,以防止數(shù)據(jù)在傳輸?shù)倪^(guò)程中被篡改;
3、 使用非對(duì)稱算法SM2的私鑰簽名來(lái)保證數(shù)據(jù)的不可抵賴性,確保數(shù)據(jù)是從某一個(gè)確定的車(chē)載用戶端發(fā)出;
4、 具體流程如下:
a、 用戶數(shù)據(jù)使用SM3進(jìn)行散列運(yùn)算得到數(shù)據(jù)摘要,再使用非對(duì)稱算法SM2進(jìn)行摘要簽名;
b、 同時(shí)使用對(duì)稱算法SM4的密鑰對(duì)數(shù)據(jù)摘要進(jìn)行加密并傳輸給安全模塊;
c、 使用同一個(gè)對(duì)稱算法SM4密鑰對(duì)用戶數(shù)據(jù)進(jìn)行加密,并將加密后的密文傳輸給監(jiān)控端;
d、 監(jiān)控端收到數(shù)據(jù)密文后,使用對(duì)應(yīng)的密鑰進(jìn)行對(duì)稱算法SM4解密,并使用散列算法對(duì)解密后的數(shù)據(jù)進(jìn)行運(yùn)算得到數(shù)據(jù)摘要1;
e、 監(jiān)控端對(duì)收到的摘要簽名進(jìn)行對(duì)稱算法SM4解密,再經(jīng)過(guò)非對(duì)稱算法解密得到初的數(shù)據(jù)摘要2;
f、 對(duì)比數(shù)據(jù)摘要1和數(shù)據(jù)摘要2,若兩者相等則認(rèn)為傳輸數(shù)據(jù)具備完整性;否則認(rèn)為數(shù)據(jù)出錯(cuò);
補(bǔ)充說(shuō)明:
1、 需要有一主機(jī)發(fā)起認(rèn)證指令,監(jiān)控端收到對(duì)應(yīng)指令后,會(huì)產(chǎn)生一個(gè)隨機(jī)數(shù)(會(huì)話密鑰),可用該隨機(jī)數(shù)作為對(duì)稱加密SM4的單次密鑰,用于加密傳輸?shù)臄?shù)據(jù);
2、 此SM4的會(huì)話密鑰不會(huì)明文傳輸,監(jiān)控端查找對(duì)應(yīng)車(chē)載用戶端的公鑰進(jìn)行加密,傳給對(duì)應(yīng)的車(chē)載用戶端,車(chē)載用戶端收到數(shù)據(jù)后,用自己的SM2私鑰解密,即可得到此次會(huì)話密鑰。(會(huì)話密鑰采用非對(duì)稱密鑰機(jī)制進(jìn)行傳輸)
3、 每一個(gè)車(chē)載用戶端存放一個(gè)或者兩個(gè)SM2密鑰對(duì),可采用CA證書(shū)形式。證書(shū)在車(chē)載用戶端生產(chǎn)時(shí)候預(yù)置進(jìn)安全芯片RJMU401,監(jiān)控端存儲(chǔ)所有的車(chē)載用戶端的SM2密鑰對(duì)(證書(shū))。