首页> 中国专利> 一种安全加密协处理器及无线传感器网络节点芯片

一种安全加密协处理器及无线传感器网络节点芯片

摘要

本发明公开了一种安全加密协处理器及无线传感器网络节点芯片。所述安全加密协处理器,包括:密钥提取模块,用于抽取所需的程序片段作为密钥元素,并与本地传感器网络节点的密钥元素联合组成会话密钥,将会话密钥通过数据线发送到密钥扩展模块;控制模块,用于控制所述数据加密模块和数据解密模块的工作模式、加密参数及工作状态;密钥扩展模块,用于将输入的会话密钥扩展为不易破译的密钥矩阵通过数据线送到数据加密模块及数据解密模块;数据加密模块,用于利用所述密钥矩阵为需要加密的明文数据加密;数据解密模块,用于利用所述密钥矩阵对密文数据进行数据解密。

著录项

  • 公开/公告号CN102799800A

    专利类型发明专利

  • 公开/公告日2012-11-28

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201110134284.X

  • 发明设计人 王义;赵泽;崔莉;

    申请日2011-05-23

  • 分类号G06F21/00(20060101);H04W12/02(20090101);H04W12/04(20090101);

  • 代理机构11006 北京律诚同业知识产权代理有限公司;

  • 代理人祁建国;梁挥

  • 地址 100080 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-12-18 07:26:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-04

    授权

    授权

  • 2013-01-23

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20110523

    实质审查的生效

  • 2012-11-28

    公开

    公开

说明书

技术领域

本发明涉及芯片设计领域,特别是涉及一种安全加密协处理器及无线传 感器网络节点芯片。

背景技术

无线传感器网络(Wireless Sensor Network,WSN)是由大量密集部署 在监控区域的传感器网络节点构成的一种自组织网络应用系统。它的应用前 景十分广阔,能够广泛应用于军事、环境监测、医疗健康、交通管理以及商 业应用等领域。虽然无线传感器网络有着各种各样的应用,但这些应用常常 需要将节点部署在无人值守、不可控制的环境中,除了具有一般无线网络所 面临的信息泄露、信息篡改、重放攻击、拒绝服务等多种威胁外,还面临传 感器节点容易被攻击者获取,通过物理手段获取存储在节点中的所有信息, 从而侵入网络、控制网络的威胁。而对于一些特定的应用,如商业上的小区 无线安防网络、军事应用等无线传感器网络应用领域来说,这些安全问题尤 为突出。无线传感器网络大规模的使用面临严峻的安全问题。

目前的无线传感器网络节点大多采用通用的嵌入式平台来实现。由于此 类传感器网络节点的器件不是专门为无线传感器网络设计的,因此在硬件上 没有针对无线传感器网络特性的安全加密协处理器,对于能量、硬件资源、 存储空间、计算能力受限的无线传感器网络节点,只依靠运行在通用的嵌入 式处理器上的软件程序,无法实现计算复杂度较高、计算资源消耗较大的安 全保密协议,无法阻止通过物理手段获取存储在节点中的所有信息,并且无 法保证密钥分发的安全性。

因此现有无线传感器网络节点的安全保密性能往往难以达到实际应用 的要求。而随着FPGA/ASIC技术的发展以及片上系统(System on chip)技 术的出现,采用片上系统的方法在FPGA上实现无线传感器网络节点平台, 并针对无线传感器网络特性设计专用的硬件安全保密协处理器,在有大规模 应用时将其转为ASIC批量生产,成为解决节点安全性问题的关键技术手段。

现有技术中,存在包含安全保密协处理器的片上系统,可以用做无线传 感器网络节点,如Chipcon公司的CC2430和CC2510芯片以及JENNIC公司 的JN5121系列芯片,其中集成一个高级加密标准(AES)协处理器,支持 IEEE802.15.4MAC协议规定的加密解密编译码,支持128位的密钥及初始 向量,以实现尽可能少的占用微控制器,完成高级加密标准(AES)规定的 电子密码本模式(ECB),密码分组链接模式(CBC),密码反馈模式(CFB),输 出反馈模式(OFB),计数模式(CTR)和CBC-MAC等多种模式。它同时提供了 加密与认证服务。

但是由于CC2430实现的AES协处理器加解密采用的是对称密钥机制, 密码分发和保存是个问题.如果采用密钥预分布方式,在网络运行之前就将 共享的密钥预先设入,则一旦传感器节点被俘获,密钥被破译和窃取后,很 容易发生信息泄漏。如果不采用这种方式,而是在网络运行开始后由基站为 每个节点配置密钥,又会有以下几个弊端:1.极大地增加网络开销,由于 每个节点都需要与基站通信,则基站将成为通信的瓶颈,同时过多的能量开 销不适合在节点能量受限的传感器网络中使用。2.对基站的安全要求很高, 基站被俘则整个网络被攻破。3.在多跳网络中由于中间转发节点没有办法 对信息包进行任何认证判断,只能透明转发,对Dos攻击没有任何防御能力。 并且,基本的AES加密算法需要800个字节的查找表,改进的AES虽然加密 速度快了100倍,但是查找表增加到了10K字节,这个对于只有几千个字节 的传感器节点来说是不合适的,硬件上的开销较大。

因此,可以看出在节点的信息安全保密技术方面,在片上系统中单纯实 现现有的对称式加密方式的协处理器,依然存在因密钥泄漏而导致的节点传 递信息被截获的风险,以及恶意侵入和破坏传感器网络的风险,并且,现有 的传感器网络节点片上系统的安全协处理需要的硬件资源较多,不适合硬件 资源受限的无线传感器网络的应用需要。

随着片上系统技术的发展,采用片上系统技术,基于安全指纹的密钥管 理方式,是解决对称式密钥分配过程中安全问题的方法之一。安全指纹是指 传感器节点的程序存储空间中,保存的应用程序代码的前半部分。由于传感 器网络是面向应用的系统,同一网络中所有节点内的应用程序代码相同,相 应地,它们的安全指纹也是相同的。此密钥管理协议的基本思想是将每个网 络中所有节点共享一个特有的安全指纹区域的内容作为密钥源,把密钥源分 成若干等长的密钥元素,节点上所有的密钥元素组成节点的密钥源池。两个 准备通信的节点通过一系列的安全握手机制从密钥源池中选择密钥元素,对 选择的密钥元素进行计算以得到安全可靠的会话密钥。根据不同的通信情 况,节点可以利用多维密钥池空间选择不同数目的密钥元素建立不同级别的 会话密钥。可以证明在传感器网络的生存时间内,基于安全指纹的密钥管理 方式不仅能够有效抵御物理及旁道攻击,还能有效抵御逻辑攻击。

但在现有技术中,采用片上系统设计方法实现的无线传感器网络节点, 都没有对此种密钥管理协议进行硬件支持,没有提供相应的基于安全指纹的 密钥提取硬件模块。

发明内容

本发明的目的在于提供一种安全加密协处理器及无线传感器网络节点芯 片。能够很好的解决无线传感器网络节点在组网通信过程中密钥泄漏而导致 的节点传递信息被截获的风险,以及恶意侵入和破坏传感器网络等数据安全 性问题。

为实现本发明的目的而提供的一种安全加密协处理器,包括:密钥提取模 块、控制模块、密钥扩展模块、数据加密模块、数据解密模块,其中:

密钥提取模块,用于抽取所需的程序片段作为密钥元素,并与本地传感器 网络节点的密钥元素联合组成会话密钥,将会话密钥通过数据线发送到密钥扩 展模块;

控制模块,用于控制所述数据加密模块和数据解密模块的工作模式、加密 参数及工作状态;

密钥扩展模块,用于将输入的会话密钥扩展为不易破译的密钥矩阵通过数 据线送到数据加密模块及数据解密模块;

数据加密模块,用于利用所述密钥矩阵为需要加密的明文数据加密;

数据解密模块,用于利用所述密钥矩阵对密文数据进行数据解密。

所述密钥提取模块包括:随机数生成模块、仲裁器、哈希变换模块以及密 钥存储器,其中:

所述随机数生成模块,用于产生随机选择密钥元素的标识符,并且与要通 信的网络节点交换彼此选择密钥元素的标识符;

所述仲裁器,根据所述密钥元素标识符指向的起始地址,读取相应的密钥 元素;

所述哈希变换模块,对选出的两个密钥元素进行哈希运算以得到会话密 钥;

所述密钥存储器,用于存储所述会话密钥。

所述仲裁器,包括:

初始化模块,用于对密钥元素长度、加密模式、中断处理、功能模块配 置分别进行初始化;

密钥元素判断子模块,用于判断提取的是本地密钥元素还是通信节点的密 钥元素,如果是本地密钥元素,则触发随机数判断子模块,否则读入通信节点 的标识符Addr0,触发执行模块;

随机数判断子模块,用于判断随机数生成模块是否已生成随机数作为本地 的密钥标识符Addr0,如果是则触发执行模块,否则触发密钥元素判断子模块。

执行模块,用于将密钥提取地址初始化为Addr0,停止本地处理器时钟, 设置key_en为高;等待周期,保证系统建立保持时间,以读到正确的相应输 入地址的密钥元素;

长度判断子模块,用于判断是否已经读取满足密钥元素长度的N字节密钥 元素,如果已满足,则读取足够长度的密钥元素后,本地处理器时钟开始工作, 设置key_en为低,密钥元素计数器和密钥提取地址清零;否则,从程序存储 器中读取相应地址下的程序片段作为本地密钥元素,并将此密钥元素输入哈希 变换模块供其建立会话密钥,密钥元素计数器i加一,密钥提取地址加一, 等待周期,保证系统建立保持时间,以读到正确的相应输入地址的密钥元素;

选通模块,用于根据key_en控制线对程序读取总线进行选通控制,如果 key_en为高,程序存储器的输入地址线Rom_addr接密钥提取模块的key_addr, 程序存储器的输出数据线Rom_dout接密钥提取模块的key_din;如果key_en 为低,则程序存储器的输入地址线Rom_addr接本地处理器的cpu_addr,程序 存储器的输出数据线Rom_dout接本地处理器的cpu_din。

所述随机数生成模块采用线性反馈移位寄存器的独立IP。

所述哈希变换模块,采用了基于RC5算法的独立IP。

所述密钥存储器采用独立IP的RAM单元。

所述控制模块,包括:输出控制多路复用器,设置译码器、信号译码器、 仲裁控制多路复用器、命令寄存器、模式寄存器、密钥标识符寄存器,及连 接线和逻辑与门,其中:

所述输出控制多路复用器,完成对读取密文数据、控制状态、查询密钥 的输出控制;

所述设置译码器,完成对数据加密模块和数据解密模块的工作模式、命 令的设置及对密钥提取模块的密钥参数的设置;

信号译码器,完成对密钥提取模块、密钥扩展模块、数据加密模块和数 据解密模块的写信号控制;

仲裁控制多路复用器,完成对密钥存储器读地址线的仲裁控制;

其中,当工作模式为输入密钥模式时,密钥存储器读地址线由地址总线 addr控制,由本地处理器或密钥提取模块直接操作地址总线,写入密钥到 密钥存储器的相应地址;

当工作模式为加密或解密模式时,密钥存储器读地址线由密钥扩展模块 控制,密钥扩展模块读取存放在密钥存储器的相应地址下的密钥进行密钥扩 展。

所述数据加密模块,包括:可复用运算单元和控制单元,其中:

所述可复用运算单元中,包含一个加法器、一个32位异或门及一个32 位移位寄存器。完成对输入32位数据的异或运算,后对其循环右移运算, 然后与输入的扩展密钥进行相加,每轮加密都调用相同的逻辑单元;

所述控制单元中,包含预处理器、模拟开关、计数器、选择器,其中预 处理器完成对输入64位数据的预处理操作,并分成两个32位的子数据流; 模拟开关根据输入状态的不同,选择可复用运算单元输出的计算结果做反 馈,或输入的新数据,为可复用运算单元提供输入数据;计数器由输入指令 控制其工作状态、模式及加密轮数,受输入时钟驱动计数,改变状态机的不 同工作状态,输出控制信号来控制模拟开关和选择器;选择器根据输入状态 的不同,选择由密钥扩展模块提供的扩展密钥,输出到可复用运算单元做加 密运算。

所述数据解密模块,包括可复用运算单元和控制单元,其中:

所述可复用运算单元中,包含一个减法器、一个32位异或门及一个32 位移位寄存器,完成对输入32位数据与输入的扩展密钥S进行相减,后对 其循环左移运算,然后与前一运算结果异或运算,每轮加密都调用相同的逻 辑单元;

所述控制单元,包含预处理器、模拟开关、计数器、选择器,其中预处 理器完成对输入64位数据的预处理操作,并分成两个32位的子数据流;模 拟开关根据输入状态的不同,选择可复用运算单元输出的计算结果做反馈, 或输入的新数据,为可复用运算单元提供输入数据;计数器由输入指令控制 其工作状态、模式及解密轮数,受输入时钟驱动计数,改变状态机的不同工 作状态,输出控制信号来控制模拟开关和选择器;选择器根据输入状态的不 同,选择由密钥扩展模块提供的扩展密钥,输出到可复用运算单元做解密运 算。

所述安全加密协处理器,还包括:

DMA控制器,用于接收本地处理器发送的需要加密的明文,并通过数据线 向所述数据加密模块发送需要加密的明文数据,并将经过加密运算后的密文数 据发送给本地处理器或是直接发射出去;以及将接收到的密文数据发送给本地 处理器或者直接通过数据线发送给数据解密模块进行数据解密,并将经过解密 运算后的明文数据发送给本地处理器,同时产生中断给所述本地处理器,供其 读取接收的数据;DMA控制器的控制线与数据线通过总线与本地处理器相连, 与本地处理器进行数据交互,受本地处理器控制并返回中断响应。

所述DMA模块独立的IP单元。

为实现本发明的目的还提供一种安全加密协处理器的加解密方法,所述方 法,包括下列步骤:

步骤100.当无线传感器网络中任意两个网络节点需要进行通信时,它们 会利用各自安全指纹中的密钥元素建立链路会话密钥;具体包括下列步骤:

步骤110.密钥提取模块抽取所需的程序片段作为密钥元素,并与本地传 感器网络节点的密钥元素联合组成会话密钥,将会话密钥通过数据线发送到密 钥扩展模块;

步骤120.密钥扩展模块将输入的会话密钥扩展为不易破译的密钥矩阵通 过数据线送到数据加密模块及数据解密模块;

步骤200.所述两个网络节点利用所述密钥矩阵对需要传输的数据进行加 密或解密,实现安全传输。

所述步骤110,包括下列步骤:

步骤111.每个网络节点用随机数生成模块产生随机选择密钥元素的标识 符,并且与要通信的节点交换彼此选择密钥元素的标识符;

步骤112.两个网络节点通过各自的仲裁器获得对程序存储器的读取控制 权,根据本地节点和交换得到的要通信的节点的密钥元素标识符指向的程序存 储器的起始地址,分别读取相应程序片段作为密钥元素;

步骤113.采用一个安全的有序单向哈希变换模块对选出的两个相同密钥 元素进行运算以得到链路会话密钥,存储于密钥存储器。

所述步骤112,包括下列步骤:

步骤1121、对密钥元素长度、加密模式选择、中断处理、其他功能模块 分别进行初始化,然后等待加密请求事件的触发;

步骤1122、收到提取密钥请求:

步骤1122a,判断提取的是本地密钥元素还是通信的网络节点的密钥元 素,如果是本地密钥元素,则进行步骤1122b,否则进行步骤1122c。

步骤1122b,判断随机数生成模块511是否已生成随机数作为本地的密钥 标识符Addr0,如果是则进行步骤1122d,否则在步骤1122b继续等待。

步骤1122c,如果要提取的为通信节点的密钥元素,则读入通信节点的标 识符Addr0,进入步骤1122d。

步骤1122d,将密钥提取地址初始化为Addr0,停止本地处理器1时钟, 设置key_en为高,密钥提取模块51得到程序读取总线的控制权,本地处理器 1失去程序读取总线的控制权,进行步骤1122e。

步骤1122e,等待周期,保证系统建立保持时间,以读到正确的相应输入 地址的密钥元素,进行步骤1122g。

步骤1122f,从程序存储器中读取相应地址下的程序片段作为本地密钥元 素,并将此密钥元素输入哈希变换模块513供其建立会话密钥,密钥元素计 数器i加一,密钥提取地址加一,进入步骤1122f。

步骤1122g,判断是否已经读取满足密钥元素长度的N字节密钥元素,如 果已满足则进入步骤1122h,否则进入步骤1122f。

步骤1122h,读取足够长度的密钥元素后,本地处理器1时钟开始工作, 设置key_en为低,密钥元素计数器和密钥提取地址清零,密钥提取模块51 失去程序读取总线的控制权,本地处理器1得到程序读取总线的控制权。开始 等待新的密钥提取请求事件的触发。

所述步骤200,包括下列步骤:

步骤210.无线通信模块接收加密密文发送给本地处理器,再由本地处 理器将接收的密文发送给解密模块进行解密,经过解密运算后的明文发送给 处理器,供其读取接收的数据;

步骤220.数据加密模块通过数据线从本地处理器中得到需要加密的明文 数据,经过加密运算后通过数据线再发送给本地处理器,由其控制发送给无线 通信模块发送出去。

所述步骤200,包括下列步骤:

步骤210’.无线通信模块接收加密密文发送给DMA控制器,DMA控制器 转发给本地处理器或者数据解密模块进行数据解密,并将经过解密运算后的 明文数据发送给DMA控制器,同时产生中断给所述本地处理器,供其读取接 收的数据;

步骤220’.数据加密模块通过数据线从DMA控制器中得到需要加密的明 文数据,经过加密运算后通过数据线再发送给DMA控制器,由其控制发送给本 地处理器或者无线通信模块发送出去。

为实现本发明的目的还提供一种包括所述安全加密协处理器的无线传感 器网络节点芯片,所述芯片,还包括:

本地处理器,是根据程序存储器中的程序代码完成相应操作的逻辑器 件;

程序存储器,用于存储本地处理器所要运行的程序;

数据存储器,用于存储本地处理器所要使用的数据;

无线通信模块,用于实现节点间的无线通信功能。

其他模块,用于实现包括供电控制、传感器控制、输入输出的功能;

其中,所述本地处理器与数据存储器、安全加密协处理器及无线通信模块 之间通过总线连接,而本地处理器通过程序读取线连接到程序存储器上;程序 存储器与安全加密协处理器之间通过程序读取线连接,而安全加密协处理器与 无线通信模块之间也通过数据线建立有数据收发通路,所述本地处理器通过总 线控制安全加密协处理器的状态。

本发明的有益效果是:

1、本发明的安全加密协处理器采用基于安全指纹的密钥管理方法,降 低因密钥泄漏而导致的节点传递信息被截获的风险,提高节点安全性;

2、本发明的安全加密协处理器采用软硬件结合的方式来实现无线传感 器网络中的数据加密,软件灵活配置参数,硬件协处理器加速运算效率,从 而适应复杂多变的应用环境;

3、本发明的安全加密协处理器中的加密解密模块设计了独特的可复用 运算单元,在保证加密解密运算效率的同时达到了减少硬件资源开销,降低 成本的目的。

附图说明

图1是本发明的一种安全加密协处理器的结构示意图;

图2是本发明中密钥提取模块的结构示意图;

图3是本发明中仲裁器的结构示意图;

图4是本发明中控制模块52的一实施例的结构示意图;

图5是本发明中RC5加密算法在硬件上的一种优选实现方式;

图6是本发明中数据解密模块55在硬件上的一种优选实现方式;

图7是本发明的安全加密协处理器的一实施例的结构示意图;

图8是本发明的用于无线传感器网络节点的芯片的一个实施例的结构示 意图;

图9是本发明的安全加密协处理器的加解密方法的步骤流程图;

图10是本发明中密钥提取模块抽取所需的程序片段作为密钥元素的步骤 流程图;

图11是本发明的仲裁器512的控制步骤流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明的一种安全加密协处理器及无线传感器网络节点芯片进行进 一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。

本发明的一种安全加密协处理器及无线传感器网络节点芯片,是针对无 线传感器网络节点在组网通信过程中密钥泄漏而导致的节点传递信息被截获 的风险,以及恶意侵入和破坏传感器网络等数据安全性问题,考虑节点处理 性能、硬件资源和能量有限的特点,利用片上系统技术(SOC)提出一种适 合无线传感器网络的软硬件结合的灵活高效的数据加密解密协处理器。

下面结合上述目标详细介绍本发明的一种安全加密协处理器,所述安全加 密协处理器,具有提取指纹密钥、控制加解密模式及参数、对密钥进行扩展、 对发送数据加密、接收数据解密等功能。图1是本发明的一种安全加密协处理 器的结构示意图,如图1所示,根据安全加密协处理器的上述功能,所述安全 加密协处理器,包括:密钥提取模块51、控制模块52、密钥扩展模块53、数 据加密模块54、数据解密模块55。

其中,通过数据线的连接,密钥提取模块51从本地程序存储器2中抽取 所需的程序片段作为密钥元素,并与要通信的节点的密钥元素联合组成会话密 钥,将合并的密钥通过数据线发送到密钥扩展模块53,密钥扩展模块53将输 入密钥扩展为新的不易破译的密钥矩阵通过数据线送到数据加密模块54及数 据解密模块55中,控制模块52通过与总线连接的控制线受到本地处理器1 的软件控制,并通过控制线控制数据加密模块54及数据解密模块55的工作模 式、加密参数及工作状态。数据加密模块54通过数据线得到需要加密的明文 数据,经过加密运算后通过数据线发送给本地处理器1,再由其发射出去。无 线通信模块6在接收到数据后,会将接收到的密文数据通过数据线发送给本地 处理器1,本地处理器1通过数据线发送给数据解密模块55进行数据解密, 经过解密运算后的明文通过数据线再发送本地处理器1,供其读取接收的数 据。在下面的描述中将就该协处理器中所涉及的各个模块的具体结构以及工作 原理分别予以说明。

图2是本发明中密钥提取模块的结构示意图,如图2所示,所述的密钥提 取模块51应当完成包括随机数生成、对程序存储器数据线输出控制、哈希变 换及在存储密钥内的多种操作。根据上述功能,该密钥提取模块51包括随机 数生成模块511、仲裁器512、哈希变换模块513以及密钥存储器514。

当无线传感器网络中任意两个网络节点需要进行通信时,它们会利用各自 安全指纹(安全指纹是指传感器节点的程序存储空间中,保存的应用程序代 码的前半部分。由于传感器网络是面向应用的系统,同一网络中所有节点内 的应用程序代码的前半部分相同,相应地,它们的安全指纹也是相同的。) 中的密钥元素建立链路会话密钥。首先,每个网络节点用随机数生成模块511 产生随机选择密钥元素的标识符,并且与要通信的节点交换彼此选择密钥元素 的标识符。然后,两个节点的密钥提取模块51通过仲裁器512获得对程序存 储器的读取控制权,根据本地节点和交换得到的要通信的节点的密钥元素标识 符指向的程序存储器的起始地址,分别读取相应程序片段作为密钥元素,然后 采用一个安全的有序单向哈希变换模块513对选出的两个密钥元素进行运算 以得到链路会话密钥(上述两个密钥元素是不同的,但收发节点都采用这两个 密钥元素,生成同一个会话密钥。)。此密钥建立方法可以保证恶意攻击者不 能通过侦听信道并通过对破解得到的会话密钥以及相应的密钥元素标识符逆 向运算得到密钥元素,从而可以大大限制恶意攻击者的破坏性。因此,两个传 感器网络节点可以不通过无线预分发通信密钥,而是直接交换密钥元素标识符 来成功地协商建立会话密钥,减少密钥泄漏的风险。

随机数生成模块511可以采用已有的线性反馈移位寄存器、乘同余法,线 性同余法,Gold序列发生器的独立IP实现,考虑到线性反馈移位寄存器的硬 件代价较低,效率较高,适合传感器网络的应用需要,作为一种优选实现方式, 在本实施例中,随机数生成模块511采用了线性反馈移位寄存器的独立IP作 为随机数生成模块。

图3是本发明中仲裁器的结构示意图,如图3所示,所述仲裁器512,包 括:

初始化模块5121,用于对密钥元素长度、加密模式、中断处理、功能模 块配置分别进行初始化;

密钥元素判断子模块5122,用于判断提取的是本地密钥元素还是通信节 点的密钥元素,如果是本地密钥元素,则触发随机数判断子模块,否则读入通 信节点的标识符Addr0,触发执行模块;

随机数判断子模块5123,用于判断随机数生成模块是否已生成随机数作 为本地的密钥标识符Addr0,如果是则触发执行模块,否则触发密钥元素判断 子模块。

执行模块5124,用于将密钥提取地址初始化为Addr0,停止本地处理器时 钟,设置key_en为高;等待周期,保证系统建立保持时间,以读到正确的相 应输入地址的密钥元素;

长度判断子模块5125,用于判断是否已经读取满足密钥元素长度的N字 节密钥元素,如果已满足,则读取足够长度的密钥元素后,本地处理器时钟开 始工作,设置key_en为低,密钥元素计数器和密钥提取地址清零;否则,从 程序存储器中读取相应地址下的程序片段作为本地密钥元素,并将此密钥元素 输入哈希变换模块供其建立会话密钥,密钥元素计数器i加一,密钥提取地 址加一,等待周期,保证系统建立保持时间,以读到正确的相应输入地址的密 钥元素;

选通模块5126,用于根据key_en控制线对程序读取总线进行选通控制, 如果key_en为高,程序存储器的输入地址线Rom_addr接密钥提取模块的 key_addr,程序存储器的输出数据线Rom_dout接密钥提取模块的key_din; 如果key_en为低,则程序存储器的输入地址线Rom_addr接本地处理器的 cpu_addr,程序存储器的输出数据线Rom_dout接本地处理器的cpu_din。

哈希变换模块513用于将提取的密钥元素映射生成不可逆的会话密钥,哈 希变换模块可以采用已有的安全的有序单向散列函数的独立IP实现,例如基 于MD5、RC5、SHA等算法的独立IP,考虑到RC5算法只需要异或运算、移位 操作及加法操作,实现的单元结构简单,硬件资源较小,适合传感器网络的应 用需要,作为一种优选实现方式,在本实施例中,哈希变换模块采用了基于 RC5算法的独立IP。

密钥存储器514用于存储密钥提取模块产生的加密密钥。密钥存储器可以 采用独立IP的RAM单元或是通用RAM芯片实现,作为一种优选实现方式, 在本实施例中,密钥存储器采用了独立IP的RAM单元。

图4是本发明中控制模块52的一实施例的结构示意图,如图4所示, 所述控制模块52应当完成:对数据加密模块54和数据解密模块55的工作 模式及工作命令的设置;对密钥提取模块51的密钥参数的设置;对密钥存 储器514读地址线的仲裁控制;对密钥提取模块51、密钥扩展模块53、数 据加密模块54和数据解密模块55的写信号控制;对读取密文数据、控制状 态、查询密钥的输出控制等多种操作。

所述控制模块完成加密协处理器的工作模式、工作参数及工作状态控制 的功能。工作模式包括:电子密码本模式(ECB),密码分组链接模式(CBC)及 计数模式(CTR)。工作参数包括:通过软件对加密轮数、密钥位数及块加密 的数据长度进行灵活配置,最高支持128位密钥及32位块加密长度,加密 轮数不限,以满足各种应用的需要。工作状态包括:通过软件控制密钥扩展、 数据加密及数据解密三个状态。

根据上述功能,控制模块52包括:多路复用器521、527,译码器522、 523,命令寄存器524、模式寄存器525、密钥标识符寄存器526、寄存器528、 529,及其它连接线和逻辑与门。

多路复用器521完成对读取密文数据、控制状态、查询密钥的输出控制。 它利用地址总线的最高2位addr[9;8]作为控制信号,在使能信号en为高 有效时,

当addr[9:8]=0:把数据加密模块54和数据解密模块55输出的密文或 明文锁存到数据线data_out[7:0]上。

当addr[9:8]=1:把密钥提取模块51输出的密钥锁存到数据线 data_out[7:0]上。

当addr[9:8]=2:把控制状态、工作模式、控制命令锁存到数据线 data_out[7:0]上。

译码器522完成对数据加密模块54和数据解密模块55的工作模式、命 令的设置及对密钥提取模块51的密钥参数的设置。它利用地址总线的最低3 位addr[2;0]作为选择信号,使能信号由译码器523输出的控制信号控制, 在使能信号有效时,

当addr[2:0]=0:把数据总线data_in[7:0]上的数据锁存到模式寄存器 525中,供数据加密模块54和数据解密模块55读取工作模式。

当addr[2:0]=1:把数据总线data_in[7:0]上的数据锁存到命令寄存器 524中,供数据加密模块54和数据解密模块55读取指令。

当addr[2:0]=2:把数据总线data_in[7:0]上的数据锁存到密钥标识符 寄存器526中,供密钥提取模块51读取密钥标识符。

译码器523完成对密钥提取模块51、密钥扩展模块53、数据加密模块 54和数据解密模块55的写信号控制,它利用地址总线的最高2位addr[9;8] 作为选择信号,采用输入的写信号wr与使能信号en相与得到使能信号,在 使能信号有效时,

当addr[9:8]=0:使寄存器528对写信号wr进行锁存,输出信号作为 密钥提取模块51的写控制信号。

当addr[9:8]=1:使寄存器529对写信号wr进行锁存,输出信号作为 数据加密模块54和数据解密模块55的写控制信号。

多路复用器527完成对密钥存储器514读地址线的仲裁控制。利用模式 寄存器525输出的工作模式来仲裁密钥存储器514读地址线的控制权,

当工作模式为输入密钥模式时,密钥存储器514读地址线由地址总线 addr控制,可以由处理器1或密钥提取模块51直接操作地址总线,写入密 钥到密钥存储器514的相应地址。

当工作模式为加密或解密模式时,密钥存储器514读地址线由密钥扩展 模块53控制,密钥扩展模块53读取存放在密钥存储器514的相应地址下的 密钥进行密钥扩展。

所述密钥扩展模块53完成对输入密钥的扩展功能。对两个32位的大素 数进行循环加操作,产生32x32位S矩阵,并与所述密钥提取模块提供的输 入密钥进行循环移位相加操作,产生扩展后的密钥矩阵,提供给加密模块进 行加密操作。由于采用不可逆运算,使入侵者几乎不可能从新密钥矩阵中获 得输入密钥。

所述的数据加密解密模块54、55,完成对发送和接收数据的加密解密 功能。受控制模块52的使能控制,当命令寄存器得到处理器加密命令时, 利用所述的密钥扩展模块53生成的密钥矩阵S,将需要加密的待发送数据 按设定的分组长度分成等长的若干数据块,每一数据块与S矩阵的每一行向 量递归的进行相加、异或、移位等运算,直到全部数据块计算完成,得到加 密编码,然后返回中断给处理器,由处理器读取加密后密文进行发送,其解 密操作完成对称的计算过程,处理器在接收到密文数据后将其输入安全协处 理器,并向控制模块52发出解密命令,解密模块55使能信号有效,利用相 同的密钥矩阵S,对数据进行逆向运算实现解密。由于加密解密过程的对称 性,我们对其中重复的加法、减法及循环移位运算设计了专用的可复用的逻 辑单元,在不同的运算周期重复调用此逻辑单元,以降低节点的硬件开销。

密钥扩展模块53、数据加密模块54、数据解密模块55,现有技术中的 相关加密算法从理论上都可用于本发明。但考虑到无线传感器网络节点要求低 成本、低功耗、高效率的特点,作为一种优选实现方式,在本实施例中,基 于复用运算单元的思想,实现了基于RC5算法的加密解密模块。

图5是本发明中RC5加密算法在硬件上的一种优选实现方式,如图5所示, 其中数据加密模块54包括可复用运算单元541和控制单元542,完成基于 RC5加密算法的数据加密,从图中可以看出,在这一实现方式中,根据电路复 用的思想,通过采用高频时钟驱动,将一个时钟周期完成的计算量分为数个时 钟周期完成,将并行的大量组合逻辑电路分为少量可复用的时序逻辑运算电 路,设计相应的控制电路对这些时序逻辑电路复用数个周期,实现相同的运算 功能,以减少硬件实现单元数量。

可复用运算单元541中,包含一个加法器、一个32位异或门及一个32 位移位寄存器。完成对输入32位数据的异或运算,后对其循环右移运算, 然后与输入的扩展密钥S进行相加。每轮加密都调用相同的逻辑单元,通过 复用运算单元的方式减少了移位寄存器、加法器及异或门的数量,在实现加 密功能的同时达到了减少硬件资源开销的目的。相比传统的并行实现的加密处 理模块节省了1/2的硬件资源,符合传感器网络节点低成本的要求。

控制单元542中,包含预处理器5421、模拟开关5422、5423、计数器 5424、选择器5425。其中预处理器5421完成对输入64位数据的预处理操 作,并分成两个32位的子数据流;模拟开关5422、5423根据输入状态的不 同,选择可复用运算单元541输出的计算结果做反馈,或输入的新数据,为 可复用运算单元541提供输入数据;计数器5424由输入指令控制其工作状 态、模式及加密轮数,受输入时钟驱动计数,改变状态机的不同工作状态, 输出控制信号来控制模拟开关5422、5423和选择器5425;选择器5425根 据输入状态的不同,选择由密钥扩展模块53提供的扩展密钥S,输出到可 复用运算单元541做加密运算。

由于在RC5算法中,加密与解密运算是完全可逆的,解密模块可以类似 的采用可复用运算单元的设计,以实现降低硬件成本的目的。

图6是本发明中数据解密模块55在硬件上的一种优选实现方式,如图6 所示,其中数据解密模块55包括可复用运算单元551和控制单元552,完成 基于RC5加密算法的数据解密。

可复用运算单元551中,包含一个减法器、一个32位异或门及一个32 位移位寄存器。完成对输入32位数据与输入的扩展密钥S进行相减,后对 其循环左移运算,然后与前一运算结果异或运算。每轮加密都调用相同的逻 辑单元,通过复用运算单元的方式减少了移位寄存器、减法器及异或门的数 量,在实现解密功能的同时达到了减少硬件资源开销的目的。

控制单元552具有与控制单元542相同的硬件结构,但其控制方式有所 不同。其中预处理器5521完成对输入64位数据的预处理操作,并分成两个 32位的子数据流;模拟开关5522、5523根据输入状态的不同,选择可复用 运算单元551输出的计算结果做反馈,或输入的新数据,为可复用运算单元 551提供输入数据;计数器5524由输入指令控制其工作状态、模式及解密 轮数,受输入时钟驱动计数,改变状态机的不同工作状态,输出控制信号来 控制模拟开关5522、5523和选择器5525;选择器5525根据输入状态的不 同,选择由密钥扩展模块53提供的扩展密钥S,输出到可复用运算单元541 做解密运算。

图7是本发明的安全加密协处理器的一实施例的结构示意图,如图7所示,较 佳地,所述安全加密协处理器,还包括:

DMA控制器56,用于完成使安全协处理器5与其他模块的能直接访问功 能。用户可通过软件控制DMA开关,使其他模块直接访问安全协处理器,例 如可以使无线通信模块直接读取安全协处理器的加密密文进行无线发送,也 可以使其直接将接收的密文输入安全协处理器进行解密,而不通过处理器读 写,以提高工作效率。

因此,所述数据加密模块54通过数据线从DMA控制器56中得到需要加密 的明文数据,经过加密运算后通过数据线发送给DMA控制器56,由其控制发 送给处理器1还是直接通过无线通信模块6发射出去。无线通信模块6在接收 到数据后,会将接收到的密文数据通过数据线发送给DMA控制器56,由其控 制发送给处理器1还是直接通过数据线发送给数据解密模块55进行数据解密, 经过解密运算后的明文通过数据线发送给DMA控制器56,由其产生中断给处 理器1,供其读取接收的数据。DMA控制器56的控制线与数据线通过总线与处 理器1相连,与处理器1进行数据交互,受处理器1控制并返回中断响应。

DMA控制器56,完成使加密协处理器模块与其他模块的能直接访问功能。 DMA模块可以采用已有的独立的IP单元或是通用DMA芯片实现,作为一种优 选实现方式,在本实施例中,DMA模块采用了独立的IP单元。

相应于本发明的一种安全加密协处理器,还提供一种无线传感器网络节点 芯片,图8是本发明的用于无线传感器网络节点的芯片的一个实施例的结构示 意图,如图8所示,所述芯片,包括:处理器1、程序存储器2、数据存储器 3、其他模块4、所述安全加密协处理器及无线通信模块6。其中,处理器1 与数据存储器3、其他模块4、安全加密协处理器及无线通信模块6之间通过 总线连接,而处理器1通过程序读取线连接到程序存储器2上;程序存储器2 与安全加密协处理器之间通过程序读取线连接,而安全加密协处理器与无线通 信模块6之间也通过数据线建立有数据收发通路,处理器1通过总线可以分别 控制安全加密协处理器的状态及DMA控制器。下面对芯片中的各个部件的具体 功能以及实现加以说明。

处理器1是根据程序存储器2中的程序代码完成相应操作的逻辑器件, 可选择现有的IP模块或开放源代码实现,如Oregano Systems的MC8051处 理器源代码、ARM系列的处理器模块等。处理器1在程序代码的控制下会对 芯片中的其他部件进行包括初始化设置、控制在内的多种操作。

程序存储器2用于存储处理器1所要运行的程序。程序存储器2一般可 采用FLASH或EEPROM等成熟的工艺设计方法实现。

数据存储器3用于存储处理器1所要使用的数据,一般可以采用成熟的 DRAM或是SRAM等工艺实现。

其他模块4用于实现包括供电控制、传感器控制、输入输出在内的多种 功能,该模块也可通过现有技术实现。

所述无线通信模块6用于无线发射数据的调制发射以及无线接收数据 的解调接收。该模块包括发射单元61、接收单元62。可选择现有的符合各 种通信标准的IP模块实现。

相应于本发明的一种安全加密协处理器,还提供所述安全加密协处理器 的加解密方法,图9是本发明的安全加密协处理器的加解密方法的步骤流程 图,如图9所示,所述方法,包括下列步骤:

步骤100.当无线传感器网络中任意两个网络节点需要进行通信时,它们 会利用各自安全指纹中的密钥元素建立链路会话密钥;具体执行下列操作:

步骤110.密钥提取模块抽取所需的程序片段作为密钥元素,并与本地传 感器网络节点的密钥元素联合组成会话密钥,将会话密钥通过数据线发送到密 钥扩展模块;

图10是本发明中密钥提取模块抽取所需的程序片段作为密钥元素的步骤 流程图,如图110所示,所述步骤110,包括下列步骤:

步骤111.每个网络节点用随机数生成模块511产生随机选择密钥元素的 标识符,并且与要通信的节点交换彼此选择密钥元素的标识符;

步骤112.两个网络节点通过各自的仲裁器512获得对程序存储器的读取 控制权,根据本地节点和交换得到的要通信的节点的密钥元素标识符指向的程 序存储器的起始地址,分别读取相应程序片段作为密钥元素;

较佳地,作为一种可实施方式,图11是本发明的仲裁器512的控制步骤 流程图,如图11所示,所述步骤112,包括下列步骤:

步骤1121、初始化:所述对密钥元素长度、加密模式选择、中断处理、 其他功能模块分别进行初始化,然后等待加密请求事件的触发。

步骤1122、收到提取密钥请求:

步骤1122a,判断提取的是本地密钥元素还是通信的网络节点的密钥元 素,如果是本地密钥元素,则进行步骤1122b,否则进行步骤1122c。

步骤1122b,判断随机数生成模块511是否已生成随机数作为本地的密钥 标识符Addr0,如果是则进行步骤1122d,否则在步骤1122b继续等待。

步骤1122c,如果要提取的为通信节点的密钥元素,则读入通信节点的标 识符Addr0,进入步骤1122d。

步骤1122d,将密钥提取地址初始化为Addr0,停止本地处理器1时钟, 设置key_en为高,密钥提取模块51得到程序读取总线的控制权,本地处理器 1失去程序读取总线的控制权,进行步骤1122e。

步骤1122e,等待周期,保证系统建立保持时间,以读到正确的相应输入 地址的密钥元素,进行步骤1122g。

步骤1122f,从程序存储器中读取相应地址下的程序片段作为本地密钥元 素,并将此密钥元素输入哈希变换模块513供其建立会话密钥,密钥元素计 数器i加一,密钥提取地址加一,进入步骤1122f。

步骤1122g,判断是否已经读取满足密钥元素长度的N字节密钥元素,如 果已满足则进入步骤1122h,否则进入步骤1122f。

步骤1122h,读取足够长度的密钥元素后,本地处理器1时钟开始工作, 设置key en为低,密钥元素计数器和密钥提取地址清零,密钥提取模块51 失去程序读取总线的控制权,本地处理器1得到程序读取总线的控制权。开始 等待新的密钥提取请求事件的触发;

步骤1123,根据key_en控制线对程序读取总线进行选通控制,如果key_en 为高,程序存储器的输入地址线Rom_addr接密钥提取模块51的key_addr, 程序存储器的输出数据线Rom_dout接密钥提取模块51的key_din;如果 key_en为低,则程序存储器的输入地址线Rom_addr接处理器1的cpu_addr, 程序存储器的输出数据线Rom_dout接处理器1的cpu_din。

步骤113.采用一个安全的有序单向哈希变换模块513对选出的两个相同 密钥元素进行运算以得到链路会话密钥,存储于密钥存储器514。

步骤120.密钥扩展模块将输入的会话密钥扩展为新的不易破译的密钥矩 阵通过数据线送到数据加密模块及数据解密模块;

步骤200.所述两个网络节点利用所述密钥矩阵对需要传输的数据进行加 密或解密,实现安全传输。

所述步骤200,包括下列步骤:

步骤210.无线通信模块6接收加密密文发送给本地处理器,再由本地 处理器将接收的密文发送给解密模块55进行解密,经过解密运算后的明文 发送给处理器1,供其读取接收的数据;

步骤220.数据加密模块54通过数据线从本地处理器1中得到需要加密的 明文数据,经过加密运算后通过数据线再发送给本地处理器1,由其控制发送 给无线通信模块6发送出去。

较佳地,为了使安全协处理器5与其他模块的能直接访问功能。用户可 通过软件控制DMA开关,使其他模块直接访问安全协处理器,例如可以使无 线通信模块直接读取安全协处理器的加密密文进行无线发送,也可以使其直 接将接收的密文输入安全协处理器进行解密,而不通过处理器读写,以提高 工作效率。所述步骤200。还可以采用如下操作步骤:

步骤210’.无线通信模块接收加密密文发送给DMA控制器,DMA控制器 转发给本地处理器或者数据解密模块进行数据解密,并将经过解密运算后的 明文数据发送给DMA控制器,同时产生中断给所述本地处理器,供其读取接 收的数据;

步骤220’.数据加密模块通过数据线从DMA控制器中得到需要加密的明 文数据,经过加密运算后通过数据线再发送给DMA控制器,由其控制发送给本 地处理器或者无线通信模块发送出去。

本发明的有益效果在于:

1、本发明的安全加密协处理器采用基于安全指纹的密钥管理方法,降 低因密钥泄漏而导致的节点传递信息被截获的风险,提高节点安全性;

2、本发明的安全加密协处理器采用软硬件结合的方式来实现无线传感 器网络中的数据加密,软件灵活配置参数,硬件协处理器加速运算效率,从 而适应复杂多变的应用环境;

3、本发明的安全加密协处理器中的加密解密模块设计了独特的可复用 运算单元,在保证加密解密运算效率的同时达到了减少硬件资源开销,降低 成本的目的。

通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本 领域的技术人员而言是显而易见的。

以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只 是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行 解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号