首页> 中国专利> 基于混沌技术的嵌入式版权认证方法及专用处理器

基于混沌技术的嵌入式版权认证方法及专用处理器

摘要

本发明涉及基于混沌技术的嵌入式版权认证方法,是在嵌入式版权认证处理器内预置计算信息认证码所需的初始序列号,在主处理器(被保护的软件所在电子设备)需要启动的时候连接嵌入式版权认证处理器;嵌入式版权认证处理器上电复位并通过发送序列号S/N与主处理器之间进行数据交换,从而读取来自主处理器的版权保护码CSK和一个随机数RND;嵌入式版权认证处理器获取版权保护码与随机数后,会根据信息认证码生成函数计算得出信息认证码,并将该信息认证码发送到主处理器内进行安全认证;如果认证成功则主处理器成功启动,否则主处理器启动失败。本发明还涉及基于混沌技术的嵌入式版权认证处理器。

著录项

  • 公开/公告号CN104298897A

    专利类型发明专利

  • 公开/公告日2015-01-21

    原文格式PDF

  • 申请/专利权人 广西师范大学;

    申请/专利号CN201410448188.6

  • 申请日2014-09-04

  • 分类号G06F21/12;G06F21/44;

  • 代理机构桂林市华杰专利商标事务所有限责任公司;

  • 代理人巢雄辉

  • 地址 541004 广西壮族自治区桂林市七星区育才路15号

  • 入库时间 2023-12-17 04:10:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-21

    未缴年费专利权终止 IPC(主分类):G06F21/12 授权公告日:20170412 终止日期:20190904 申请日:20140904

    专利权的终止

  • 2017-04-12

    授权

    授权

  • 2015-02-18

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

    实质审查的生效

  • 2015-01-21

    公开

    公开

说明书

技术领域

本发明是一种涉及版权认证,具体是一种基于混沌技术的嵌入式版权认证方法及专用处理器。

背景技术

软件版权保护是指运行在嵌入式系统等电子设备中的软件受到有效保护,不会遭到恶意的攻击致使正版软件被非法窃取,从而避免给软件厂商或者软件开发机构造成经济损失和法律纠纷。这种版权的争端在消费性电子产品行业尤为突出。比如:PS系列游戏机,智能手机的软件程序,智能电视,平板电脑,物联网等等。当下,低成本、高效率以及高安全性的版权保护装置已经成为各行业产品设计时所需的必备器件。

目前在该领域中很多认证方法,大体上可以归为三类:

第一类为基于记忆内容的认证方法。比如密码或者口令。以密码型的认证方案来说,只需记住正确的密码便可以成功认证。但是这种较为传统的安全方法很容易受到各种攻击,比如利用特定功能的软件进行穷举法的查询攻击。

第二类是用个体所具有的独一无二的特征来进行认证。比如基于生物学特征(指纹、人脸、虹膜)的认证机制。相对第一类基于密码的认证方法,这种方式在安全性上有了很大的提高。但是这种认证方法通常有较高的硬件要求,这会导致生产成本上升,应用普及率较低。另外这种特征若被泄露或获取,将会危及系统的安全性。

第三类是基于实体或者数字实体的认证手段。比如智能卡、加密狗产品、电子证书等。市场主流的加密狗设备中通信数据往往在无保护的情况下传输,而且硬件设计也大多采用安全级别较低的单片机,这种设计安全性不高,很容易被盗窃者进行抄板复制,而抄板操作的成本非常低;电子证书属于纯软件的设计,很容易被非法复制与传播,安全性能也不高。

所以软件版权保护技术需要有抵御各种蛮力攻击的能力,较高的数据处理速度,较强的防复制功能,以及适中的系统复杂度,同时相对较低的成本也是一个很重要的设计指标。另外,认证过程中的通信数据泄露所造成的负面影响也应最大程度的减小。而近年来混沌技术在非线性数学建模和密码学方面的应用取得了明显成就。混沌是一种存在于自然界中确定但不可预测的动态行为,其信号具有非周期、非线性等特点,而且几乎不可能被预测和复制。这些特征在保密通信、认证等安全领域具有十分重要的意义。在实际应用中需要的高可靠性、可重复利用而且高速的混沌信号源,难以用模拟的方式来实现,所以使用数字化的手段来设计和实现混沌系统是一种高效的方式。

发明内容

为了解决版权认证中的上述问题,使用混沌技术提高保密通信、认证等的安全性,本发明提供一种基于混沌技术的嵌入式版权认证方法。

本发明的嵌入式版权认证以耦合映像格子混沌系统为主要随机数发生器、用串行或者并行的数据传输方式,实现嵌入式版权认证专用处理器和主处理器之间的数据交换,并最终进行安全认证。

基于混沌技术的嵌入式版权认证方法包括下述步骤:

1)、将生成信息认证码所需的初始序列号S/N写入嵌入式版权认证处理器,将初始密钥MK写入主处理器内;

2)、嵌入式版权认证处理器将S/N发送至主处理器;

3)、主处理器获取S/N后,再根据存储的秘匙初始密钥MK,先通过数据预处理再通过耦合映像格子混沌系统计算得出版权安全码CSK;

4)、主处理器将CSK发送至嵌入式版权认证处理器;

5)、主处理器随机产生一个随机数RND,并将RND发送至嵌入式版权认证处理器;

6)、嵌入式版权认证处理器以获得的CSK和RND为初值,重复主处理器同样的数据预处理和耦合映像格子混沌系统计算,最后提取所得的格子数构建认证码X,并将X发送至主处理器;

7)、主处理器也根据CSK以及随机数RND进行计算构建认证码Y;

8)、主处理器将X与Y进行比较,如果二者相同,则主处理器会被成功启动,否则主处理器不会被启动;

数值字节约定:初始序列号S/N和随机数RND包括6个字节,为48位;初始密钥MK包括32个格子数,并且每一个格子数字宽为32位;版权安全码CSK包含32个格子数,并且每一个格子是32位;最终的认证码X和Y各自有128位。

步骤3)所述的版权安全码CSK在主处理器内的计算包括:

(1)数据预处理:6字节的初始序列号S/N中,每一个字节和从初始密钥MK随机挑选出的6个格子进行异或操作:

>Li(31:0)<=Li(k:(k-7))1byte,7k31---(1)>

其中,L代表32个初始密钥;i代表32个初始格子的标号,并且是0到31之间的任意6个值;代表按位异或操作;

经过处理后,得到一组新的32个数值;

(2)耦合映像格子混沌系统计算:将(1)所得到的一组新的32个数值送入耦合映像格子混沌系统,作为初始值进行迭代,迭代次数由程序控制。经过迭代以后,得到一组32个高度伪随机的格子数,每一个数值仍然是32位,即为CSK。

步骤6)所述认证码X和步骤7)所述认证码Y的构建均是从32个格子数的标号由高到低的顺序逐次提取排列构成128位的认证码。

为方便,本发明将计算版权安全码CSK的两个步骤合在一起称为Chaos计算函数,在此基础上,加上提取数值构建认证码的过程,这三个步骤都被执行的时候称之为MAC生成函数。需要注意的是:版权认证处理器构建认证码并不是直接从CSK中直接提取数据,而是以CSK和RND为初值,重新开始数据与处理计算,并送入混沌系统,最后提取来自混沌系统的结果构建认证码。

在本发明中使用的混沌系统,也即嵌入式版权认证处理器中的伪随机数发生器,为耦合映像格子混沌系统。耦合映像格子混沌系统的数学方程表达式如下:

xn+1(i)=(1-β)f(xn(i))+0.5β[f(xn(i-1))+f(xn(i+1))]   (2)

其中,i表示方程中的格子数标号,i=1表示格子数xn(1);i=2表示格子数xn(2),依次类推,当i=L时代表系统中有L个格子。β是方程(2)中的参数并且0<β<1。n表示离散的时间指数,具体在方程实现中体现为迭代次数。也即方程中所有的i个格子值以f(xn(i)),f(xn(i+1))和f(xn(i-1))的形式计算得到xn+1(i)的过程称之为一次迭代,简单的说就是所有i个格子数都经状态xn()到状态xn+1()的一次计算过程。周期边界条件表现为xn(i)=xn(i+L)。

整个方程的动态特性为时间离散、空间离散但是状态保持连续。因为众多格子之间相互耦合,所以其中一个格子数值发生微小变化后,经过数次迭代会影响到其它所有格子数的剧烈变化。

选择帐篷映射作为f(xn(i))项,具体的方程描述为:

>f(xn(i))=xn(i-1)/a,0xn(i-1)<a(1-xn(i-1))/(1-a)axn(i-1)<1---(3)>

其中a是帐篷映射中的控制参数,它可以影响整个耦合映像格子混沌系统的计算结果分布。当a不等于0.5的时候,耦合映像格子混沌系统计算结果分布表现为良好的随机性。由于帐篷映射作为f(xn(i))项嵌套在方程(2)中,而且帐篷映射等号左右端和完全等价,表示完全相同的变量。所以使用了相同的标号表示。i代表格子数标号,n代表离散时间变量,也即迭代次数,不过帐篷映射方程左右两端都在同一个时间变量n下,所以帐篷映射仅反映相同时间状态下不同格子数之间的关系,不包含迭代关系。只是作为f(xn(i))项,嵌套在方程(2)中增加方程(2)的系统复杂性。

在耦合映像格子混沌系统模型中要保证有一定的格子数来增大系统的密钥空间。各格子数初值设置也应当保持较低的相关性,这样整个系统能够尽快进入随机状态。另外为了进一步提高安全性,也要保证系统有较大的迭代次数。

本发明中,耦合映像格子混沌系统计算包括串行与并行两种计算方式,便于在运用中可根据实际情况选择。

为完成这个认证,本发明中的嵌入式版权认证处理器与主处理器均设置有完成嵌入式版权认证的各自的预设功能模块。特别是数据预处理模块、混沌发生器模块和构造MAC模块。

作为优选,嵌入式版权认证处理器与主处理器采用串行通信。

本发明还提供用于上述的嵌入式版权认证方法的专用处理器——嵌入式版权认证处理器。

所述的嵌入式版权认证处理器,包括:

采用串行通信的方式与主处理器进行数据交换的通信模块;

数据存储与计算控制模块:用于存储来自主处理器的数据以及需要发送到主处理器的数据,和控制计算认证码过程中的整个时序;

数据预处理模块:用初始序列号和初始密钥执行异或操作得到一组新的格子数;

混沌发生器模块:是用耦合映像格子混沌系统对来自数据预处理的一组格子数进行迭代,得到一组高度随机的格子数;

构造MAC模块:利用耦合映像格子混沌系统计算后获得的32个格子数构造信息认证码MAC;

数据存储与计算控制模块与通信模块、数据预处理模块、混沌发生器模块以及构造MAC模块均双向传输,数据预处理模块、混沌发生器模块以及构造MAC模块顺序传输。

嵌入式版权认证处理器的认证过程如下:嵌入式版权认证处理器存储认证所需要的初始序列号。在上电复位后将序列号发送给主处理器。主处理器接收到来自嵌入式版权认证处理器的序列号,并调用自身存储区所存储的初始密钥。主处理器会利用初始密钥与序列号执行Chaos计算函数得到一组新的32个格子数,称这一组新的格子数为版权保护码(CSK)。主处理器将CSK发送至嵌入式版权认证处理器。接着主处理器自动生成一个随机数RND也将其发送至嵌入式版权认证处理器。嵌入式版权认证处理器接受到来自主处理器的CSK和随机数RND并存储。然后嵌入式版权认证处理器会以CSK和RND作为初始值执行一个MAC生成函数,并得出一个认证码X。与此同时,主处理器也会根据CSK和RND执行相同的MAC生成函数并得到另外一个认证码Y。嵌入式版权认证处理器将自身生成的认证码X发送到主处理器与其生成的另外一个认证码Y进行对比校验。如果两个信息认证码完全相同则认证成功,主处理器成功启动,反之,主处理器启动失败。

嵌入式版权认证方式的特征体现在:

(1)嵌入式版权认证处理器与主处理器分别存储计算信息认证码是一个必要条件,二者缺一不可。只有当嵌入式版权认证处理器连接主处理器的时候,双方各自存储的初始数据才能同时被调用并通过预设的功能产生计算MAC所需的随机数和版权保护码。嵌入式版权认证处理器相当于一个预置了序列号的黑匣子,这样即使复制了主处理器软件二进制文件但是缺少与主处理器匹配的嵌入式版权认证处理器也依然无法正常启动主处理器。

(2)嵌入式版权认证处理器生成高度伪随机的十六进制码用于最终的认证。并且在整个认证过程中包含四次数据交换,也即序列号S/N,版权保护码CSK,随机数RND,信息认证码MAC。而且这四次数据交换之间具有很低的相关性。所以,即使这些数据被截获,也无法利用这些随机数推断出嵌入式版权认证处理器的内部结构和主要算法。

(3)初始密钥、初始序列号和所用的耦合映像格子混沌系统方程中的两个参数β和a共同构成计算信息认证码的密钥空间。它们都是有高精度的定点小数组成,使整个系统具有非常大的密钥空间。

(4)嵌入式版权认证处理器在进行信息认证码计算的时候具有良好的初始条件敏感性。比如:初始密钥与序列号中1位的变化,可以引起计算结果50%的位发生变化。

(5)相同的一组序列号和密钥只能产生出一组认证码。

本发明的基于混沌技术的嵌入式版权认证方法具备高速处理数据的功能,同时系统复杂度与硬件资源占用较低,而且安全性极高。

附图说明

图1为混沌系统的硬件流程图;

图2边界格子计算示意图;

图3为认证码生成时候的状态转移图;

图4为认证码生成的具体流程;

图5为嵌入式版权认证处理器内部结构图;

图6为嵌入式版权认证处理器的信息认证过程。

具体实施方式

为便于说明,下面对计算过程中的数值进行字节约定。约定:主处理器中预置的初始密钥包括32个格子数,并且每一个格子数字宽为32位;版权保护码也包含32个格子数,并且每一个格子也是32位;方程(2)和(3)中的参数a和β的字宽也为32位;随机数RND为48位。明文序列号S/N也为48位。最终的认证码X和Y各自有128位。

图1是对耦合映像格子混沌系统运算方法的简要硬件描述,MUX代表多路选择器;1-β和0.5β表示方程(2)中的参数;符号分别表示算术乘法器和加法器。为简化公式,1/a,1/(1-a)和1/(a-1)分别是来自方程(3)中的公式化简后的参数,如方程(4)所示。

>f(xn(i))=(1/a)×xn(i-1),0xn(i-1)<a1/(1-a)+1/(a-1)×xn(i-1),axn(i-1)<1---(4)>

举例来讲,如果需要计算状态变量x3(4),那么变量x2(3),x2(2)和x2(1)将会被作为操作数执行图1中硬件描述的算法。首先x2(3),x2(2)和x2(1)会先经过帐篷映射,也即公式(3)所表述的内容,在图1中清晰可见。这三个数值中每一个数值信号都会被分为两路:一路信号乘上1/a,另外一路信号则是先乘上1/(a-1)再加上1/(1-a)。然后这两路信号被送往多路选择器。经过多路选择器的选择以后,便得到x2(4),x2(3)和x2(2)。接下来按照公式(2)所描述的思路x2(3)会乘上1-β,而x2(4)和x2(2)会乘上0.5β。最后它们相加在一起便得到了x3(4)。

另外,给定第一行的32个初始格子后,在计算次行的格子数的过程中,系统设定先计算次行的第三个数,也即格子标号i=3开始算起,一直算到i=34,也即i=2。当计算所有的32个格子数之后,表示完成一行格子数完整的迭代运算。

图2描述了如何计算处在边界的格子,采用如上提到的边界条件:xn(i)=xn(i+L)。如果需要计算状态变量x3(0),那么变量x2(0),x2(31)和x2(30)将会被作为操作数。

图3是认证码在生成过程中通过时序控制所产生的状态转移图,一共包含四个状态。

301:空闲态。在此状态中嵌入式版权认证处理器复位获取初始格子数,然后等待有效位数据到来。数据到来之前系统仍保持空闲态。数据到来以后系统进入302:数据预处理状态。

302:数据预处理状态。在状态数据预处理中,6个字节的明文将会被用来对随机挑选出来的6个初始格子数进行运算从而得到一组新的格子数。在此之后,系统将会进入下一个303:计算态。

303:计算态。在计算态中所有的格子将会按照方程(2)和(3)所描述的混沌系统的功能进行计算。当32个格子数都经过迭代计算过一次以后,系统中的计数器加1。系统随后进入到304:换行。

304:换行。在状态换行中,首先系统判断计数器中的数值是否达到预定迭代次数,如果等于预定的迭代次数,系统将会提取结果生成信息认证码,并返回空闲状态。如果计数器内的值并没有达到预定数值,那么从上一状态中计算得出的一组格子数将会重新作为下一次迭代运算的初值继续计算,系统随之返回计算态。

图4是信息认证码生成整体流程图,具体的过程如下所述。其中明文序列号S/N包括6个字节;每个格子数字宽为32位。数据预处理过程也即图3中所述的数据预处理状态的内容,系统从32个格子中随机挑选出来6个格子分别与6字节的序列号分别进行如公式(1)的运算。具体为:

>Li(31:0)<=Li(k:(k-7))1byte,7k31---(1)>

其中,L代表32个初始密钥;i代表32个初始格子值的标号,并且是0到31之间的任意6个值;代表按位异或操作。经过处理后,得到一组新的32个数值。将这样的一组新的格子数进入混沌系统来产生随机数。经过混沌系统迭代后得到一组高度伪随机的32个格子数,即CSK(确切的说主处理执行chaos函数的时候得到的是CSK,但是CSK和随机数RND作为初值送入版权认证处理器的时候会再一次经过数据预处理、混沌系统这两过程,并得到的高度伪随机的32个格子值不能称为CSK)。

系统从32个格子中随机挑选4个格子作为输出来构建信息认证码。可以得到4×32=128比特的信息认证码。

图5是嵌入式版权认证处理器内部结构图。

其中通信模块采用串行通信的方式与主处理的数据交换;

数据存储与计算控制模块主要用于存储来自主处理器的数据,以及需要发送到主处理器的数据。另外数据存储与计算控制模块还会控制计算认证码过程中的整个时序。

数据预处理模块主要用初始序列号和初始密钥执行异或操作得到一组新的格子数;

混沌发生器模块主要作用是用耦合映像格子混沌系统对来自数据预处理的一组格子数进行迭代,得到一组高度伪随机的格子数;

构造MAC模块利用来自耦合映像格子混沌系统的32个格子数构造信息认证码MAC。具体是在每个格子数中提取4位,从格子数的标号由高到低的顺序主次排列构成128位的MAC。

图6是嵌入式版权认证处理器在信息在认证过程中具体的交互方式:

首先需要说明的是整个过程中的信息交互主要有两大部分:主处理器和嵌入式版权认证处理器。主处理器存储密匙(MK),嵌入式版权认证处理器存储序列号(S/N)。其中MK和S/N都是对应存储设备唯一的身份标识。嵌入式版权认证处理器按照如下步骤进行认证:

(1)工作状态601:系统上电以后,嵌入式版权认证处理器获取初始序列号S/N。

(2)工作状态602:嵌入式版权认证处理器将S/N发送至主处理器。

(3)工作状态603:主处理器获取S/N后,再根据存储的秘匙初始密钥MK计算得出版权安全码CSK。也即CSK=Chaos(MK,S/N)。

(4)工作状态604:主处理器将CSK发送至嵌入式版权认证处理器。

(5)工作状态605:嵌入式版权认证处理器存储CSK。

(6)工作状态606:主处理器随机产生一个随机数RND。

(7)工作状态607:主处理器将RND发送至嵌入式版权认证处理器。

(8)工作状态608:嵌入式版权认证处理器根据获得的CSK以及随机数RND进行计算获得认证码X。也即X=MAC(CSK,RND)。

(9)工作状态609:主处理器也根据CSK以及随机数RND进行计算获得认证码Y。也即Y=MAC(CSK,RND)。

(10)工作状态610:嵌入式版权认证处理器将认证码X发送至主处理器。

(11)工作状态611:主处理器将X与Y进行比较,如果二者相同,则主处理器会被成功启动,否则主处理器不会被启动。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号