0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
會(huì )員中心
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示

介紹采用瑞薩RA2L1作為專(zhuān)用加解密協(xié)處理器的方案

冬至子 ? 來(lái)源:dreamcmi ? 作者:dreamcmi ? 2023-10-10 14:40 ? 次閱讀

0、前言
數據安全在當今系統設計中變得越來(lái)越重要,當今數據的加密和驗簽基本分為了本機和協(xié)處理兩個(gè)方式,本機是最常見(jiàn)也是最簡(jiǎn)單的加密模式,本機存儲秘鑰本機驗證,協(xié)處理就是通過(guò)主控芯片+加解密專(zhuān)用芯片的模式,可以更好的增加安全性并且可以使用隨機秘鑰加強防破解能力。

1、簡(jiǎn)介
以下介紹的是采用瑞薩RA2L1作為專(zhuān)用加解密協(xié)處理器的方案,稱(chēng)它為ANE系統。

本系統的主要作用就是對主控發(fā)來(lái)的數據進(jìn)行動(dòng)態(tài)加解密,以實(shí)現鑒權和數據解析的效果。因為RA2L1內置了硬件的SEC外設,可以使用硬件計算AES,這大大提高了數據處理速度,更適合加解密環(huán)境的需求,并且因為RA2L1是M23內核,功耗相對較低,且為ARMv8系列內核,可以使用芯片自帶的trustzone功能提高安全性。

2、過(guò)程
調試這套系統還是比較費時(shí)間的,所以此次公開(kāi)項目只是作為一套方案驗證,距離批量使用還需要進(jìn)一步改進(jìn)。

首先在交互方面,采取了UART+IIC雙模式可選,用戶(hù)可根據主控剩余外設進(jìn)行選擇(公開(kāi)部分只做了uart)。兩種模式采取同樣的ATLV格式進(jìn)行交互,即 Address+TAG+LENSE+VALUE,這樣做可以兼容帶地址的總線(xiàn)協(xié)議,例如IIC。以下是當前規范的一些命令。

1.jpg

在軟件調試過(guò)程中也是非常曲折的,因為第一次接觸瑞薩的MCU,所以花了一段時(shí)間去適應圖形化配置軟件。這里簡(jiǎn)單說(shuō)一下遇到的問(wèn)題吧

UART沒(méi)有空閑中斷,需要使用其他方法實(shí)現(比如定時(shí)器監控RXI配合ELC實(shí)現)
rtt-studio對fsp的適配度有限,比如新加庫不會(huì )自動(dòng)include
因為串口打印效率太低,移植了SEGGER-RTT通過(guò)SWD打印LOG
瑞薩的某些外設庫是存在依賴(lài)的,比如SEC依賴(lài)了r_sec_ra2,使用的時(shí)候要多加注意
現在就來(lái)說(shuō)一下系統運行流程吧

用到的一些rtt特性

RingBuffer

串口接收部分采用了RTT自帶的ringbuffer功能來(lái)實(shí)現數據的接收和保存,環(huán)形緩沖區在批量處理數據的時(shí)候非常好用,極大的降低了使用難度,以下是一些粗略的代碼調用。

static uint8_t uart_ringbuf[32] = {0};
static struct rt_ringbuffer uart_rb;
rt_ringbuffer_init(&uart_rb, uart_ringbuf, 32);
rt_ringbuffer_reset(&uart_rb);
void user_uart0_callback (uart_callback_args_t * p_args)
{
switch (p_args->event)
{
case UART_EVENT_RX_CHAR:
{
rt_ringbuffer_putchar(&uart_rb, (const rt_uint8_t )(p_args->data));
break;
}
default:
break;
}
}
rt_size_t num = rt_ringbuffer_get(&uart_rb, buff, uart_rx_len);
rt_kprintf("uart0 ringbuf get size:%dn", num);
MailBox

通過(guò)查看API文檔發(fā)現郵箱是一個(gè)更輕量的通知功能實(shí)現方式,使用起來(lái)也非常簡(jiǎn)單,在此次項目中擔當了串口接收完成通知的任務(wù)。以下還是一些粗略的代碼。

while (1)
{
if (rt_mb_recv(&uart_mb, &mb_flag, RT_WAITING_FOREVER) == RT_EOK) {
rt_kprintf("uart0 mb recv %d len is %dn", mb_flag, uart_rx_len);
rt_size_t num = rt_ringbuffer_get(&uart_rb, buff, uart_rx_len);
rt_kprintf("uart0 ringbuf get size:%dn", num);
}
void user_uart0_callback (uart_callback_args_t * p_args)
{
switch (p_args->event)
{
case UART_EVENT_RX_CHAR:
{
rt_ringbuffer_putchar(&uart_rb, (const rt_uint8_t )(p_args->data));
uart_rx_len++;
if (uart_rx_len == 19) {
if (rt_mb_send(&uart_mb, 0x01) != RT_EOK) {
rt_kprintf("uart0 mailbox send errn");
}
}
break;
}
default:
break;
}
}

3、總結
此次活動(dòng)粗略的實(shí)現了一個(gè)簡(jiǎn)單的加解密協(xié)處理功能,可以初步的實(shí)現基本功能,但仍有以下問(wèn)題尚未解決,這里列出來(lái)以供參考。

內置秘鑰沒(méi)有混淆,明文存儲是非常致命的問(wèn)題,這里推薦使用matrix編碼進(jìn)行混淆存儲。
當前試驗機并沒(méi)有實(shí)現DH秘鑰交互,使用DH秘鑰交互可以為每次會(huì )話(huà)生成完全隨機的秘鑰,提高安全性可靠性,當然也可以使用ECDH交互(效率問(wèn)題不用過(guò)于擔心,因為秘鑰交互只存在于初始化握手),DH推薦使用mbedtls自帶庫,ECDH推薦使用tiny-ECDH-c.
沒(méi)有完全實(shí)現串口空閑中斷,后續需要調試GPT來(lái)實(shí)現
代碼體積還需要優(yōu)化.

聲明:本文內容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權轉載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習之用,如有內容侵權或者其他違規問(wèn)題,請聯(lián)系本站處理。 舉報投訴
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3156

    瀏覽量

    112538
  • 協(xié)處理器
    +關(guān)注

    關(guān)注

    0

    文章

    71

    瀏覽量

    18025
  • UART接口
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    15102
  • ARMv8
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    14079
  • RTThread
    +關(guān)注

    關(guān)注

    7

    文章

    130

    瀏覽量

    40566
收藏 人收藏

    評論

    相關(guān)推薦

    RA2系列開(kāi)發(fā)板體驗】初識RA2L1開(kāi)發(fā)板

    至 5.5V 的寬電壓工作。 在RA2L1內,配有增強型電容式觸摸感應單元 (CTSU2)、串行通信接口、高精度模擬電路和定時(shí)等。該開(kāi)發(fā)板的外觀(guān)如圖1和圖
    發(fā)表于 11-29 10:06

    RA2系列開(kāi)發(fā)板體驗】開(kāi)箱+環(huán)境搭建

    RA2L1 產(chǎn)品組基于 Arm? Cortex?-M23 核心(現今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界
    發(fā)表于 12-01 11:30

    RA2系列開(kāi)發(fā)板體驗】RA2L1試用筆記

    前言??早聽(tīng)說(shuō)過(guò)這個(gè)芯片品牌,好像是電賽的贊助商。有機會(huì )申請到了RA2L1 的開(kāi)發(fā)板試用,因為工作上會(huì )用到CAN通信所以專(zhuān)門(mén)選了帶CAN通信接口的那款開(kāi)發(fā)板。一、初步印象畢竟是大廠(chǎng)的產(chǎn)品,每個(gè)
    發(fā)表于 12-14 15:15

    RA2系列開(kāi)發(fā)板體驗】開(kāi)箱體驗-Hg

    的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制。 RA2L1 產(chǎn)品組能夠支持 1.6V
    發(fā)表于 12-21 01:04

    RA2系列開(kāi)發(fā)板體驗】基于Keil MDK環(huán)境搭建及最快上手例程

    一、開(kāi)發(fā)板簡(jiǎn)介RA2L1 基于 Arm? Cortex?-M23 核心(現今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù)
    發(fā)表于 12-23 22:15

    RA2系列開(kāi)發(fā)板體驗】測評RA2L1電容式觸摸

    RA2L1 MCU產(chǎn)品群關(guān)鍵特性:48MHz Arm Cortex-M23 CPU內核支持1.6V-5.5V寬范圍工作電壓超低功耗,提供64μA/MHz工作電流和250nA軟件待機電流,快速喚醒時(shí)間
    發(fā)表于 12-27 23:24

    RA2系列開(kāi)發(fā)板體驗】+RA2AL開(kāi)發(fā)板試用筆記

    前言??早聽(tīng)說(shuō)過(guò)這個(gè)芯片品牌,好像是電賽的贊助商。有機會(huì )申請到了RA2L1 的開(kāi)發(fā)板試用,因為工作上會(huì )用到CAN通信所以專(zhuān)門(mén)選了帶CAN通信接口的那款開(kāi)發(fā)板。一、初步印象畢竟是大廠(chǎng)的產(chǎn)品,每個(gè)
    發(fā)表于 12-28 13:19

    Renesas RA2L1開(kāi)發(fā)板之I2C測評

    1、Renesas RA2L1開(kāi)發(fā)板之I2C  開(kāi)發(fā)板介紹  CPK-RA2L1評估板是一款專(zhuān)門(mén)針對中國本地的開(kāi)發(fā)板,主MCU是一款主頻為4
    發(fā)表于 10-24 16:29

    Renesas RA2L1開(kāi)發(fā)板之CAN介紹

    1、Renesas RA2L1開(kāi)發(fā)板之CAN介紹  功能模塊的硬件介紹  CPK-RA2L1評估板是一款專(zhuān)門(mén)針對中國本地的開(kāi)發(fā)板,主MCU是
    發(fā)表于 11-01 11:46

    Renesas RA2L1開(kāi)發(fā)板之PWM方波配置相關(guān)資料推薦

    1、Renesas RA2L1開(kāi)發(fā)板之PWM方波配置  工程的配置  時(shí)鐘的配置  本次直接基于官方的例程進(jìn)行開(kāi)發(fā),使用RA Con
    發(fā)表于 11-02 15:31

    Renesas RA2L1開(kāi)發(fā)板之I2C接口評測

    1、Renesas RA2L1 開(kāi)發(fā)板之 I2C  開(kāi)發(fā)板介紹  CPK-RA2L1評估板是一款專(zhuān)門(mén)針對中國本地的開(kāi)發(fā)板,主MCU是一款主頻
    發(fā)表于 11-04 14:26

    RA4系列開(kāi)發(fā)板體驗】+ 3種開(kāi)發(fā)板的比較

    鍵和確認鍵。如果既使用觸摸鍵又使用機械鍵難免整體上看上去有些不倫不類(lèi)。圖1RA-Eco-RA4M2-100PIN圖2R7FA2L1AB2DFL就這點(diǎn)來(lái)講,無(wú)疑 CPK-
    發(fā)表于 12-09 22:39

    RA2L1結合紅外傳感控制不同的LED燈

      授人以魚(yú)不如授人以漁,我們今天就來(lái)說(shuō)一下 RA2L1結合紅外傳感控制不同的LED燈?! ≈鹘?b class='flag-5'>介紹完畢就是配角出場(chǎng),就是我們這個(gè)既簡(jiǎn)
    發(fā)表于 04-03 16:50

    基于RA2L1開(kāi)發(fā)板的初識點(diǎn)燈

      1. 開(kāi)發(fā)板  2. 開(kāi)發(fā)板介紹  RA2L1產(chǎn)品組屬于48MHz Arm? Corte
    發(fā)表于 04-03 16:55

    RA2L1 ANE加解密協(xié)處理系統簡(jiǎn)介

    芯片的模式,可以更好的增加安全性并且可以使用隨機秘鑰加強防破解能力?! ?b class='flag-5'>1、簡(jiǎn)介  以下介紹的是采用
    發(fā)表于 04-03 17:28
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看