CN102799800A - 一种安全加密协处理器及无线传感器网络节点芯片 - Google Patents
一种安全加密协处理器及无线传感器网络节点芯片 Download PDFInfo
- Publication number
- CN102799800A CN102799800A CN201110134284XA CN201110134284A CN102799800A CN 102799800 A CN102799800 A CN 102799800A CN 201110134284X A CN201110134284X A CN 201110134284XA CN 201110134284 A CN201110134284 A CN 201110134284A CN 102799800 A CN102799800 A CN 102799800A
- Authority
- CN
- China
- Prior art keywords
- key
- module
- data
- control
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种安全加密协处理器及无线传感器网络节点芯片。所述安全加密协处理器,包括:密钥提取模块,用于抽取所需的程序片段作为密钥元素,并与本地传感器网络节点的密钥元素联合组成会话密钥,将会话密钥通过数据线发送到密钥扩展模块;控制模块,用于控制所述数据加密模块和数据解密模块的工作模式、加密参数及工作状态;密钥扩展模块,用于将输入的会话密钥扩展为不易破译的密钥矩阵通过数据线送到数据加密模块及数据解密模块;数据加密模块,用于利用所述密钥矩阵为需要加密的明文数据加密;数据解密模块,用于利用所述密钥矩阵对密文数据进行数据解密。
Description
技术领域
本发明涉及芯片设计领域,特别是涉及一种安全加密协处理器及无线传感器网络节点芯片。
背景技术
无线传感器网络(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、本发明的安全加密协处理器中的加密解密模块设计了独特的可复用运算单元,在保证加密解密运算效率的同时达到了减少硬件资源开销,降低成本的目的。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。
Claims (17)
1.一种安全加密协处理器,其特征在于,包括:密钥提取模块、控制模块、密钥扩展模块、数据加密模块、数据解密模块,其中:
密钥提取模块,用于抽取所需的程序片段作为密钥元素,并与本地传感器网络节点的密钥元素联合组成会话密钥,将会话密钥通过数据线发送到密钥扩展模块;
控制模块,用于控制所述数据加密模块和数据解密模块的工作模式、加密参数及工作状态;
密钥扩展模块,用于将输入的会话密钥扩展为不易破译的密钥矩阵通过数据线送到数据加密模块及数据解密模块;
数据加密模块,用于利用所述密钥矩阵为需要加密的明文数据加密;
数据解密模块,用于利用所述密钥矩阵对密文数据进行数据解密。
2.根据权利要求1所述的安全加密协处理器,其特征在于,所述密钥提取模块包括:随机数生成模块、仲裁器、哈希变换模块以及密钥存储器,其中:
所述随机数生成模块,用于产生随机选择密钥元素的标识符,并且与要通信的网络节点交换彼此选择密钥元素的标识符;
所述仲裁器,根据所述密钥元素标识符指向的起始地址,读取相应的密钥元素;
所述哈希变换模块,对选出的两个密钥元素进行哈希运算以得到会话密钥;
所述密钥存储器,用于存储所述会话密钥。
3.根据权利要求2所述的安全加密协处理器,其特征在于,所述仲裁器,包括:
初始化模块,用于对密钥元素长度、加密模式、中断处理、功能模块配置分别进行初始化;
密钥元素判断子模块,用于判断提取的是本地密钥元素还是通信节点的密钥元素,如果是本地密钥元素,则触发随机数判断子模块,否则读入通信节点的标识符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。
4.根据权利要求2所述的安全加密协处理器,其特征在于,所述随机数生成模块采用线性反馈移位寄存器的独立IP。
5.根据权利要求2所述的安全加密协处理器,其特征在于,所述哈希变换模块,采用了基于RC5算法的独立IP。
6.根据权利要求2所述的安全加密协处理器,其特征在于,所述密钥存储器采用独立IP的RAM单元。
7.根据权利要求1所述的安全加密协处理器,其特征在于,所述控制模块,包括:输出控制多路复用器,设置译码器、信号译码器、仲裁控制多路复用器、命令寄存器、模式寄存器、密钥标识符寄存器,及连接线和逻辑与门,其中:
所述输出控制多路复用器,完成对读取密文数据、控制状态、查询密钥的输出控制;
所述设置译码器,完成对数据加密模块和数据解密模块的工作模式、命令的设置及对密钥提取模块的密钥参数的设置;
信号译码器,完成对密钥提取模块、密钥扩展模块、数据加密模块和数据解密模块的写信号控制;
仲裁控制多路复用器,完成对密钥存储器读地址线的仲裁控制;
其中,当工作模式为输入密钥模式时,密钥存储器读地址线由地址总线addr控制,由本地处理器或密钥提取模块直接操作地址总线,写入密钥到密钥存储器的相应地址;
当工作模式为加密或解密模式时,密钥存储器读地址线由密钥扩展模块控制,密钥扩展模块读取存放在密钥存储器的相应地址下的密钥进行密钥扩展。
8.根据权利要求1所述的安全加密协处理器,其特征在于,所述数据加密模块,包括:可复用运算单元和控制单元,其中:
所述可复用运算单元中,包含一个加法器、一个32位异或门及一个32位移位寄存器。完成对输入32位数据的异或运算,后对其循环右移运算,然后与输入的扩展密钥进行相加,每轮加密都调用相同的逻辑单元;
所述控制单元中,包含预处理器、模拟开关、计数器、选择器,其中预处理器完成对输入64位数据的预处理操作,并分成两个32位的子数据流;模拟开关根据输入状态的不同,选择可复用运算单元输出的计算结果做反馈,或输入的新数据,为可复用运算单元提供输入数据;计数器由输入指令控制其工作状态、模式及加密轮数,受输入时钟驱动计数,改变状态机的不同工作状态,输出控制信号来控制模拟开关和选择器;选择器根据输入状态的不同,选择由密钥扩展模块提供的扩展密钥,输出到可复用运算单元做加密运算。
9.根据权利要求1所述的安全加密协处理器,其特征在于,所述数据解密模块,包括可复用运算单元和控制单元,其中:
所述可复用运算单元中,包含一个减法器、一个32位异或门及一个32位移位寄存器,完成对输入32位数据与输入的扩展密钥S进行相减,后对其循环左移运算,然后与前一运算结果异或运算,每轮加密都调用相同的逻辑单元;
所述控制单元,包含预处理器、模拟开关、计数器、选择器,其中预处理器完成对输入64位数据的预处理操作,并分成两个32位的子数据流;模拟开关根据输入状态的不同,选择可复用运算单元输出的计算结果做反馈,或输入的新数据,为可复用运算单元提供输入数据;计数器由输入指令控制其工作状态、模式及解密轮数,受输入时钟驱动计数,改变状态机的不同工作状态,输出控制信号来控制模拟开关和选择器;选择器根据输入状态的不同,选择由密钥扩展模块提供的扩展密钥,输出到可复用运算单元做解密运算。
10.根据权利要求1所述的安全加密协处理器,其特征在于,所述安全加密协处理器,还包括:
DMA控制器,用于接收本地处理器发送的需要加密的明文,并通过数据线向所述数据加密模块发送需要加密的明文数据,并将经过加密运算后的密文数据发送给本地处理器或是直接发射出去;以及将接收到的密文数据发送给本地处理器或者直接通过数据线发送给数据解密模块进行数据解密,并将经过解密运算后的明文数据发送给本地处理器,同时产生中断给所述本地处理器,供其读取接收的数据;DMA控制器的控制线与数据线通过总线与本地处理器相连,与本地处理器进行数据交互,受本地处理器控制并返回中断响应。
11.根据权利要求10所述的安全加密协处理器,其特征在于,所述DMA模块独立的IP单元。
12.一种安全加密协处理器的加解密方法,其特征在于,所述方法,包括下列步骤:
步骤100.当无线传感器网络中任意两个网络节点需要进行通信时,它们会利用各自安全指纹中的密钥元素建立链路会话密钥;具体包括下列步骤:
步骤110.密钥提取模块抽取所需的程序片段作为密钥元素,并与本地传感器网络节点的密钥元素联合组成会话密钥,将会话密钥通过数据线发送到密钥扩展模块;
步骤120.密钥扩展模块将输入的会话密钥扩展为不易破译的密钥矩阵通过数据线送到数据加密模块及数据解密模块;
步骤200.所述两个网络节点利用所述密钥矩阵对需要传输的数据进行加密或解密,实现安全传输。
13.根据权利要求12所述的安全加密协处理器的加解密方法,其特征在于,所述步骤110,包括下列步骤:
步骤111.每个网络节点用随机数生成模块产生随机选择密钥元素的标识符,并且与要通信的节点交换彼此选择密钥元素的标识符;
步骤112.两个网络节点通过各自的仲裁器获得对程序存储器的读取控制权,根据本地节点和交换得到的要通信的节点的密钥元素标识符指向的程序存储器的起始地址,分别读取相应程序片段作为密钥元素;
步骤113.采用一个安全的有序单向哈希变换模块对选出的两个相同密钥元素进行运算以得到链路会话密钥,存储于密钥存储器。
14.根据权利要求13所述的安全加密协处理器的加解密方法,其特征在于,所述步骤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得到程序读取总线的控制权。开始等待新的密钥提取请求事件的触发。
15.根据权利要求12所述的安全加密协处理器的加解密方法,其特征在于,所述步骤200,包括下列步骤:
步骤210.无线通信模块接收加密密文发送给本地处理器,再由本地处理器将接收的密文发送给解密模块进行解密,经过解密运算后的明文发送给处理器,供其读取接收的数据;
步骤220.数据加密模块通过数据线从本地处理器中得到需要加密的明文数据,经过加密运算后通过数据线再发送给本地处理器,由其控制发送给无线通信模块发送出去。
16.根据权利要求12所述的安全加密协处理器的加解密方法,其特征在于,所述步骤200,包括下列步骤:
步骤210’.无线通信模块接收加密密文发送给DMA控制器,DMA控制器转发给本地处理器或者数据解密模块进行数据解密,并将经过解密运算后的明文数据发送给DMA控制器,同时产生中断给所述本地处理器,供其读取接收的数据;
步骤220’.数据加密模块通过数据线从DMA控制器中得到需要加密的明文数据,经过加密运算后通过数据线再发送给DMA控制器,由其控制发送给本地处理器或者无线通信模块发送出去。
17.一种包括权利要求1所述的安全加密协处理器的无线传感器网络节点芯片,其特征在于,所述芯片,还包括:
本地处理器,是根据程序存储器中的程序代码完成相应操作的逻辑器件;
程序存储器,用于存储本地处理器所要运行的程序;
数据存储器,用于存储本地处理器所要使用的数据;
无线通信模块,用于实现节点的无线通信功能;
其他模块,用于实现包括供电控制、传感器控制、输入输出的功能;
其中,所述本地处理器与数据存储器、安全加密协处理器及无线通信模块之间通过总线连接,而本地处理器通过程序读取线连接到程序存储器上;程序存储器与安全加密协处理器之间通过程序读取线连接,而安全加密协处理器与无线通信模块之间也通过数据线建立有数据收发通路,所述本地处理器通过总线控制安全加密协处理器的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110134284.XA CN102799800B (zh) | 2011-05-23 | 2011-05-23 | 一种安全加密协处理器及无线传感器网络节点芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110134284.XA CN102799800B (zh) | 2011-05-23 | 2011-05-23 | 一种安全加密协处理器及无线传感器网络节点芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799800A true CN102799800A (zh) | 2012-11-28 |
CN102799800B CN102799800B (zh) | 2015-03-04 |
Family
ID=47198907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110134284.XA Active CN102799800B (zh) | 2011-05-23 | 2011-05-23 | 一种安全加密协处理器及无线传感器网络节点芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799800B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679061A (zh) * | 2013-11-22 | 2014-03-26 | 北京民芯科技有限公司 | 国密sm4算法的可扩展高吞吐率的实现方法及装置 |
CN103929296A (zh) * | 2014-04-22 | 2014-07-16 | 福州大学 | 基于rom型专用密钥的3des加密方法及其集成电路 |
CN105007154A (zh) * | 2015-07-23 | 2015-10-28 | 深圳市同创国芯电子有限公司 | 一种基于aes算法的加密解密装置 |
CN105024804A (zh) * | 2015-06-10 | 2015-11-04 | 国网智能电网研究院 | 一种高效可配的对称密钥装置及配对方法 |
CN105187198A (zh) * | 2015-08-25 | 2015-12-23 | 东南大学 | 一种用于IPSec协议下的AES算法硬件实现装置 |
CN106911639A (zh) * | 2015-12-23 | 2017-06-30 | 中国电信股份有限公司 | 加密方法和装置、解密方法和装置及终端 |
CN106921482A (zh) * | 2017-02-17 | 2017-07-04 | 武汉斗鱼网络科技有限公司 | 一种基于arm指令构造数据加解密算法的方法及系统 |
CN109150494A (zh) * | 2017-06-27 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 移动端中构造加解密算法的方法、存储介质、设备及系统 |
CN109271830A (zh) * | 2017-07-18 | 2019-01-25 | 义隆电子股份有限公司 | 指纹感测集成电路 |
CN109672520A (zh) * | 2018-12-25 | 2019-04-23 | 广东浪潮大数据研究有限公司 | 一种aes算法的实现架构 |
CN111190569A (zh) * | 2019-12-30 | 2020-05-22 | 中国科学技术大学 | 一种基于Intel QAT的同态加密卸载方法 |
CN111246382A (zh) * | 2020-03-26 | 2020-06-05 | 嘉兴嘉赛信息技术有限公司 | 一种通过硬件指纹检测智能手机是否为受控设备的方法 |
CN111488628A (zh) * | 2020-06-02 | 2020-08-04 | 南京大学 | 地址加密电路、地址加密方法及置位网络 |
CN111857822A (zh) * | 2016-08-05 | 2020-10-30 | 中科寒武纪科技股份有限公司 | 一种运算装置及其操作方法 |
CN111865560A (zh) * | 2020-06-23 | 2020-10-30 | 华中科技大学 | 一种aes密码协处理器及终端设备 |
CN112105019A (zh) * | 2020-09-11 | 2020-12-18 | 重庆邮电大学 | 一种基于物理层服务数据提取随机数的无线传感器网络加密方法 |
CN114222260A (zh) * | 2021-12-29 | 2022-03-22 | 渔翁信息技术股份有限公司 | 一种对等短信传输方法、系统、设备及计算机存储介质 |
CN114258014A (zh) * | 2021-11-30 | 2022-03-29 | 南方电网数字电网研究院有限公司 | 物联网传感器信息处理系统 |
CN114969849A (zh) * | 2022-05-30 | 2022-08-30 | 无锡沐创集成电路设计有限公司 | 一种信息安全芯片 |
CN116361840A (zh) * | 2023-06-02 | 2023-06-30 | 深圳市力博实业有限公司 | 一种银行自助设备数据安全管理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207602A (zh) * | 2006-12-22 | 2008-06-25 | 中国科学院计算技术研究所 | 一种用于无线传感器网络节点上的处理芯片 |
CN102045133A (zh) * | 2009-10-23 | 2011-05-04 | 中国科学院计算技术研究所 | 用于无线传感器网络节点的芯片及芯片上的数字基带系统 |
-
2011
- 2011-05-23 CN CN201110134284.XA patent/CN102799800B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207602A (zh) * | 2006-12-22 | 2008-06-25 | 中国科学院计算技术研究所 | 一种用于无线传感器网络节点上的处理芯片 |
CN102045133A (zh) * | 2009-10-23 | 2011-05-04 | 中国科学院计算技术研究所 | 用于无线传感器网络节点的芯片及芯片上的数字基带系统 |
Non-Patent Citations (2)
Title |
---|
怀莲: ""IEEE 802.15.4 CCM一AES协处理器的研究与设计"", 《万方数据库》 * |
王明辉: ""无线传感器网络密钥管理方案的研究"", 《万方数据库》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679061A (zh) * | 2013-11-22 | 2014-03-26 | 北京民芯科技有限公司 | 国密sm4算法的可扩展高吞吐率的实现方法及装置 |
CN103929296A (zh) * | 2014-04-22 | 2014-07-16 | 福州大学 | 基于rom型专用密钥的3des加密方法及其集成电路 |
CN105024804A (zh) * | 2015-06-10 | 2015-11-04 | 国网智能电网研究院 | 一种高效可配的对称密钥装置及配对方法 |
CN105007154B (zh) * | 2015-07-23 | 2018-07-31 | 深圳市紫光同创电子有限公司 | 一种基于aes算法的加密解密装置 |
CN105007154A (zh) * | 2015-07-23 | 2015-10-28 | 深圳市同创国芯电子有限公司 | 一种基于aes算法的加密解密装置 |
CN105187198A (zh) * | 2015-08-25 | 2015-12-23 | 东南大学 | 一种用于IPSec协议下的AES算法硬件实现装置 |
CN105187198B (zh) * | 2015-08-25 | 2018-05-18 | 东南大学 | 一种用于IPSec协议下的AES算法硬件实现装置 |
CN106911639A (zh) * | 2015-12-23 | 2017-06-30 | 中国电信股份有限公司 | 加密方法和装置、解密方法和装置及终端 |
CN106911639B (zh) * | 2015-12-23 | 2020-03-20 | 中国电信股份有限公司 | 加密方法和装置、解密方法和装置及终端 |
CN111857822B (zh) * | 2016-08-05 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 一种运算装置及其操作方法 |
CN111857822A (zh) * | 2016-08-05 | 2020-10-30 | 中科寒武纪科技股份有限公司 | 一种运算装置及其操作方法 |
CN106921482A (zh) * | 2017-02-17 | 2017-07-04 | 武汉斗鱼网络科技有限公司 | 一种基于arm指令构造数据加解密算法的方法及系统 |
CN109150494A (zh) * | 2017-06-27 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 移动端中构造加解密算法的方法、存储介质、设备及系统 |
CN109271830A (zh) * | 2017-07-18 | 2019-01-25 | 义隆电子股份有限公司 | 指纹感测集成电路 |
CN109271830B (zh) * | 2017-07-18 | 2022-10-21 | 义隆电子股份有限公司 | 指纹感测集成电路 |
CN109672520A (zh) * | 2018-12-25 | 2019-04-23 | 广东浪潮大数据研究有限公司 | 一种aes算法的实现架构 |
CN111190569B (zh) * | 2019-12-30 | 2022-05-13 | 中国科学技术大学 | 一种基于Intel QAT的同态加密卸载方法 |
CN111190569A (zh) * | 2019-12-30 | 2020-05-22 | 中国科学技术大学 | 一种基于Intel QAT的同态加密卸载方法 |
CN111246382A (zh) * | 2020-03-26 | 2020-06-05 | 嘉兴嘉赛信息技术有限公司 | 一种通过硬件指纹检测智能手机是否为受控设备的方法 |
CN111488628A (zh) * | 2020-06-02 | 2020-08-04 | 南京大学 | 地址加密电路、地址加密方法及置位网络 |
CN111488628B (zh) * | 2020-06-02 | 2022-08-05 | 南京大学 | 地址加密电路、地址加密方法及置位网络 |
CN111865560A (zh) * | 2020-06-23 | 2020-10-30 | 华中科技大学 | 一种aes密码协处理器及终端设备 |
CN112105019A (zh) * | 2020-09-11 | 2020-12-18 | 重庆邮电大学 | 一种基于物理层服务数据提取随机数的无线传感器网络加密方法 |
CN114258014A (zh) * | 2021-11-30 | 2022-03-29 | 南方电网数字电网研究院有限公司 | 物联网传感器信息处理系统 |
CN114258014B (zh) * | 2021-11-30 | 2023-09-12 | 南方电网数字电网研究院有限公司 | 物联网传感器信息处理系统 |
CN114222260A (zh) * | 2021-12-29 | 2022-03-22 | 渔翁信息技术股份有限公司 | 一种对等短信传输方法、系统、设备及计算机存储介质 |
CN114969849A (zh) * | 2022-05-30 | 2022-08-30 | 无锡沐创集成电路设计有限公司 | 一种信息安全芯片 |
CN116361840A (zh) * | 2023-06-02 | 2023-06-30 | 深圳市力博实业有限公司 | 一种银行自助设备数据安全管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102799800B (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799800B (zh) | 一种安全加密协处理器及无线传感器网络节点芯片 | |
Dutta et al. | Lightweight cryptography for internet of insecure things: A survey | |
Mathur et al. | AES based text encryption using 12 rounds with dynamic key selection | |
US20130145169A1 (en) | Efficient authentication for mobile and pervasive computing | |
Alkady et al. | A new security protocol using hybrid cryptography algorithms | |
Hayouni et al. | A survey on encryption schemes in wireless sensor networks | |
CN101478548A (zh) | 数据传输的加密和完整性校验方法 | |
CN116321129B (zh) | 一种轻量级的基于动态密钥的电力交易专网通信加密方法 | |
Eldosouky et al. | On the cybersecurity of m-health iot systems with led bitslice implementation | |
CN111224770B (zh) | 一种基于门限技术的抗侧信道与故障攻击的综合防护方法 | |
Nikitha et al. | Hybrid cryptographic algorithm to secure internet of things | |
Zhou et al. | Mimic encryption box for network multimedia data security | |
Alkalbani et al. | Comparison between RSA hardware and software implementation for WSNs security schemes | |
Rajashree et al. | CBC (Cipher Block Chaining)-Based Authenticated Encryption for Securing Sensor Data in Smart Home | |
Purohit et al. | FPGA Implementation of the AES Algorithm with Lightweight LFSR-Based Approach and Optimized Key Expansion | |
Książak et al. | A lightweight authentication protocol for secure communications between resource-limited devices and wireless sensor networks | |
WO2018066951A1 (en) | Improved lightweight block cipher | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
Song et al. | An efficient design of security accelerator for IEEE 802.15. 4 wireless senor networks | |
Kumar et al. | Hybrid Cryptographic Approach for Data Security Using Elliptic Curve Cryptography for IoT’ | |
Kadam et al. | Lightweight Cryptography to Secure Internet of Things (IoT) | |
Zhu et al. | Symmetric key based RFID authentication protocol with a secure key-updating scheme | |
Abbas et al. | Dictionary Attack on TRUECRYPT with RIVYERA S3-5000 | |
Alqallaf | Towards a safe and secure internet of things critical infrastructure | |
Chen et al. | Lightweight and High‐Performance Data Protection for Edge Network Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |