0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

3天內(nèi)不再提示

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

冬至子 ? 來源:dreamcmi ? 作者:dreamcmi ? 2023-10-10 14:40 ? 次閱讀

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

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

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

2、過程
調(diào)試這套系統(tǒng)還是比較費時間的,所以此次公開項目只是作為一套方案驗證,距離批量使用還需要進一步改進。

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

1.jpg

在軟件調(diào)試過程中也是非常曲折的,因為第一次接觸瑞薩的MCU,所以花了一段時間去適應(yīng)圖形化配置軟件。這里簡單說一下遇到的問題吧

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

用到的一些rtt特性

RingBuffer

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

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

通過查看API文檔發(fā)現(xiàn)郵箱是一個更輕量的通知功能實現(xià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、總結(jié)
此次活動粗略的實現(xiàn)了一個簡單的加解密協(xié)處理功能,可以初步的實現(xiàn)基本功能,但仍有以下問題尚未解決,這里列出來以供參考。

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

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

    關(guān)注

    23

    文章

    3288

    瀏覽量

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

    關(guān)注

    0

    文章

    83

    瀏覽量

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

    關(guān)注

    0

    文章

    124

    瀏覽量

    15750
  • ARMv8
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    14416
  • RTThread
    +關(guān)注

    關(guān)注

    8

    文章

    132

    瀏覽量

    41558
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    RA2L1系列MCU簡介和CAN通信應(yīng)用例程

    RA2L1產(chǎn)品組基于Arm Cortex-M23 核心(現(xiàn)今 Arm Cortex-M系列中功耗最低的 CPU)。這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低
    的頭像 發(fā)表于 10-27 15:50 ?2628次閱讀

    RA2L1入門學(xué)習】2. PWM呼吸燈

    開發(fā)板:RA-Eco-RA2L1-48PIN-V1.0 IDE:e2studio 程序燒錄工具:RAFP 參考資料:“RA2L1入門教學(xué)實驗.pdf” 本次使用的是32位GPT 1.編
    發(fā)表于 01-30 21:55

    RA2L1入門學(xué)習】+Key控制LED實驗

    基于 Arm? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制
    發(fā)表于 03-07 15:16

    RA2L1入門學(xué)習】+LED流水燈實驗

    基于 Arm? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制
    發(fā)表于 03-07 15:27

    RA2L1入門學(xué)習】+開箱評測

    R7FA2L1AB2DFL。RA2L1 產(chǎn)品組采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制
    發(fā)表于 03-09 07:40

    RA2L1入門學(xué)習】+UART測試

    基于 Arm? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制
    發(fā)表于 03-09 16:52

    RA2L1入門學(xué)習】+Led flash

    ? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制。
    發(fā)表于 03-09 17:12

    RA2L1入門學(xué)習】+Key control LED

    ? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制。
    發(fā)表于 03-09 17:21

    RA2L1入門學(xué)習】+Uart printf

    ? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制。
    發(fā)表于 03-09 17:33

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

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

    RA2L1 ANE加解密協(xié)處理系統(tǒng)簡介

    芯片的模式,可以更好的增加安全性并且可以使用隨機秘鑰加強防破解能力?! ?b class='flag-5'>1、簡介  以下介紹的是采用
    發(fā)表于 04-03 17:28

    電子RA2L1英文數(shù)據(jù)手冊

    本資料包含電子RA2L1英文數(shù)據(jù)手冊
    發(fā)表于 10-21 16:21 ?0次下載

    RA2L1系列CAN通信應(yīng)用

    RA2L1系列CAN通信應(yīng)用
    的頭像 發(fā)表于 06-26 08:06 ?1057次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA2L1</b>系列CAN通信應(yīng)用

    電子RA2L1 MCU產(chǎn)品介紹

    RA2L1 MCU是RA家族RA2系列廣受歡迎的一款產(chǎn)品。RA2L1 MCU專為超低功耗應(yīng)用
    的頭像 發(fā)表于 12-10 10:51 ?808次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA2L1</b> MCU產(chǎn)品<b class='flag-5'>介紹</b>

    RA家族精品RA2L1產(chǎn)品介紹

    RA2L1MCU是RA家族RA2系列廣受歡迎的一款產(chǎn)品。RA2L1MCU專為超低功耗應(yīng)用而設(shè)
    的頭像 發(fā)表于 12-27 18:07 ?516次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>家族精品<b class='flag-5'>RA2L1</b>產(chǎn)品<b class='flag-5'>介紹</b>