一种基于二次剩余定理的RFID标签组所有权转移方法与流程

文档序号:11479413阅读:498来源:国知局
一种基于二次剩余定理的RFID标签组所有权转移方法与流程

本发明涉及射频识别技术领域,特别涉及一种rfid系统中标签与新旧所有者之间所有权转移的方法。



背景技术:

无线射频识别(radiofrequencyidentification,rfid)是一种自动识别和数据获取技术,只需要将rfid标签附着在目标实体上,无需直接接触目标实体就可以实现对选定目标的识别。因其具有体积小、易携带、成本低、寿命长等优点,rfid技术已经被广泛应用在商品生产、物流管理、交通运输等各个领域。在实际应用中,实体的所有权经常发生变化,比如生厂商将商品销售给批发商后,商品的所有权发生变化,不再属于生产商,但生产商依旧可能通过扫描并获取该商品的信息,从而导致批发商的隐私遭到泄漏。为了解决上述的安全问题,需要设计出安全的所有权转移协议。

伴随着rfid技术的进一步普及,rfid标签被生产出来之后,制造商会将其嵌入到生产的商品中,同时该标签内部保存了商品的id,出厂信息,商品使用方法,商品属性等内容。在实际生活应用过程中,实体的所有权经常发生变化。比如:生产者将商品出售给批发商之后,批发商在物理上拥有了该商品的所有权,但是这并不代表批发商完全控制了该商品所有权。假使没有改变该标签的所有权,那么生产商依旧可以扫描并获取该标签的信息,从而导致批发商的隐私遭到泄露。批发商将该商品零售给零售商的过程中,也会存在上面的所有权是否彻底转移问题,同样存在标签隐私信息泄漏的隐患。

基于上面的叙述,因此设计一个安全的标签所有权转移协议具有重大的实用价值意义。



技术实现要素:

本发明提出了一种基于二次剩余定理的rfid标签组所有权转移方法,通过此方法解决了rfid系统中标签与新旧所有者之间所有权转移存在安全缺陷的问题。

为解决上述技术问题,本发明采用的技术方案分为以下十个步骤:

(1)标签原所有者s_old先计算a的值,再将(query,a)传送给标签新所有者s_new;

(2)标签新所有者s_new向标签组广播消息(query,a)信息;

(3)标签先计算得到n1`,接着生成两个随机数r1、r2,再计算d、d``、e、f的值,并将(d``,e,f)传送给标签新所有者s_new;

(4)标签新所有者s_new存放e的值,将(d``,f)传送给标签原所有者s_old;

(5)标签原所有者s_old解方程,得到d`解,再验证标签的真伪,接着计算g的值,最后将g传送给标签新所有者s_new;

(6)标签新所有者s_new先生成两个大素数p2及q2,接着计算n2、h、m的值,最后将(h,m,g)传送给群组标签;

(7)标签验证h的真伪,为真,则执行下一步,否则,协议终止;

(8)标签生成随机数r3,然后计算n、n`、n``、p的值,最后将(n``,p)传送给标签新所有者s_new;

(9)标签新所有者s_new解方程,得到x解,然后验证p的真伪,为真,生成随机数r4,生成新的共享密钥k_new,接着计算q、l、v、b`的值,同时更新信息,最后将(l,q,v)传送给群组标签,否则,协议终止;

(10)标签验证v的真伪,为真,标签开始更新信息,标签所有权转移协议完成;否则,协议终止。

本发明与现有技术相比,具有如下优点和有益效果:

现有的rfid所有权转移协议存在一定的安全缺陷问题或标签成本过高问题,本发明的所有权转移协议有以下优点:

(1)抛弃传统的hash运算加密传输的方法,采用字合成运算方法对传输信息进行加密,从而减少标签端及新旧所有者端的运算量,使本发明中的协议可以达到超轻量级的级别;

(2)协议可以满足一次认证转移多个标签的所有权,克服传统的协议认证一次只能转移一个标签的所有权缺陷。

附图说明

图1是字合成运算计算过程流程图;

图2是所有权转移协议流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

对协议中出现的符号进行如下说明:

s_old:标签原所有者;

s_new:标签新所有者;

ti:第i个标签;

s_old_id:标签原所有者的标识符;

s_new_id:标签新所有者的标识符;

tid_l:标签标识符的左半部分;

tid_r:标签标识符的右半部分;

query:所有权转移请求命令;

p1、q1:标签原所有者随机选择的两个大素数;

n1:p1和q1的乘积,即n1=p1*q1;

p2、q2:标签新所有者随机选择的两个大素数;

n2:p2和q2的乘积,即n2=p2*q2;

k_old:标签原所有者与标签之间共享的密钥;

k_new:标签新所有者与标签之间共享的密钥;

r1、r2、r3:标签ti产生的三个随机数;

r4:标签新所有者产生的随机数;

⊕:按位异或运算;

&:按位与运算;

syn(x,y):字合成运算;

x2modn:模运算。

设x、y是两个具有l位的二进制数,x=x1x2x3...xl,y=y1y2y3...yl;其中,xi,yi取值范围为{0,1},i=1,2,..l,syn(x,y)=yl-m+1yl-m+2···ylx1x2···xl-m;字合成运算syn(x,y)是指由x的前l-m位与y的后m位组合而形成新的l位数组;其中m的设定为:m=hw(y),也可以为m=l-hw(y);或者是m=hw(x),也可以为m=l-hw(x);或者是m=hd(x,y),也可以为m=l-hd(x,y);hw(x)表示为x的汉明重量,hw(y)表示为y的汉明重量,hd(x,y)表示为x与y的汉明距离。

例如,取长度l=12,设x=011100101010,y=011001011011,设定m=hw(y)=7,则根据上述字合成运算的定义可以得到syn(x,y)=101101101110,具体运算过程如图1所示。该运算只需要移位以及按位或运算既可以实现,从而可以有效的降低标签的计算量和存储空间,最终达到降低标签成本的目标,可以实现标签所有权的超轻量级转移。上例中m可以根据需要设定其他不同的数值,在这里不再一一的列出其实现的过程,并且在运用过程中m的值要保密,以防攻击者恶意攻击,m的值保密,使得攻击者没有办法简单的进行攻击,从而增加了攻击者的攻击难度,可以提高协议的安全性。

为了使协议具有一定的实用价值,作出如下假设:为了使协议具有一定的应用价值,对协议使用的环境作出如下假设:假设标签原所有者s_old与标签新所有者s_new之间的传输信道是安全的;假设标签新所有者s_new与标签ti之间的传输信道是不安全的。

同时假设标签原所有者s_old与标签ti之间共享的k_old、s_old_id是安全的,标签新所有者s_new与标签ti之间共享的k_new、s_new_id是安全的,标签原所有者s_old、标签新所有者s_new、标签ti三者之间共享的b是安全的。标签与新旧所有者之间的所有权转移具体过程如图2所示:

对图2中出现的a、b、b`、d、d``、e、f、h、g、m、n、n`、n``、p、q、l、v的说明:

a=n1⊕s_old_id;

b=syn(tid_l⊕tid_r,tid_l&tid_r);

b`=syn(k_new⊕x,k_new&x);

d=b⊕s_old_id⊕r1;

d``=d4modn1`;

e=s_new_id⊕r2;

f=s_old_id⊕r1;

g=b⊕r1`;

h=syn(g⊕n2⊕r2`,g&n2&r2`);

m=n2⊕s_new_id;

n=k_old⊕r3;

n`=n2modn2;

n``=n4modn2;

p=syn(n⊕n2,n&n2);

q=k_new⊕x;

l=r4⊕x;

v=syn(r4⊕q,r4&q)。

整个协议的认证步骤描述如下:

步骤一:标签原所有者s_old用n1、s_old_id来计算a的值,然后将a以及所有权请求转移命令query传送给标签新所有者s_new。

步骤二:标签新所有者s_new在接受到信息之后,将(query,a)转发给标签ti。

步骤三:标签ti在接收到信息之后,首先计算a⊕s_old_id得到n1`,接着生成两个随机数r1、r2,然后用b、s_old_id、r1计算d的值,用d、n1`计算d``的值,用s_new_id、r2计算e的值,用s_old_id、r1计算f的值,最后将(d``,e,f)传送给标签新所有者s_new。

步骤四:标签新所有者s_new在接收到信息之后,将(d``,f)转发给标签原所有者s_old,自身则存放e的值。

步骤五:标签原所有者s_old在接受到信息之后,首先计算f⊕s_old_id得到随机数r1`,接着标签原所有者s_old使用n1和d``通过二次剩余定理的方法,解出d的值,这里用d`表示,即标签原所有者s_old会解出以n为模的d2的d的值,利用p和q获得d2的值。

然后比对d`⊕r1`的值与b⊕s_old_id的值,若两者值不相等,传递过来的信息验证不通过,协议立刻终止;若两者值相等,则说明d`=d、r1`=r1,可以断定传递过来的信息是合法标签生成的,接着标签原所有者s_old用b、r1`来计算g的值,最后将g传送给标签新所有者s_new。

步骤六:标签新所有者s_new在接收到信息之后,首先随机生成两个大素数p2、q2,并计算n2=p2q2,接着计算e⊕s_new_id得到随机数r2`,然后用g、n2、r2`计算h的值,用n2、s_new_id计算m的值,最后将(h,g,m)一起传送给标签ti。

步骤七:标签ti在接收到信息之后,首先计算m⊕s_new_id得到n2`,接着用r1、b、n2`、r2来计算h`的值,即:

h`=syn((b⊕r1)⊕n2`⊕r2,(b⊕r1)&n2`&r2)。

然后比对h`与h的值。若两者值相等,说明n2`=n2,同时也表明步骤六中计算得到的r2`=r2,接着执行步骤八;若两者值不相等,则协议立刻终止。

步骤八:标签ti生成一个随机数r3,然后用k_old、r3来计算n的值,用n、n2`分别计算n`、n``的值,用n、n2`来计算p的值,最后将(n``,p)传送给标签新所有者s_new。

步骤九:标签新所有者s_new在接收到信息之后,首先应用二次剩余定理会解出以n2`为模的n2的解,这里用x表示该解,同时利用p2和q2为模,识别n2的值。接着用x、n2来计算p`的值,即:

p`=syn(x⊕n2,x&n2)。

然后比对p`与p的值。如果两者值不相等,则协议立刻终止;如果两者值相等,说明x=n`,接着标签新所有者s_new生成一个随机数r4,生成新的共享密钥k_new,然后用k_new、x计算q的值,用x、r4计算l的值,用r4、q计算v的值,用x、k_new来计算b`的值,同时更新相关信息:s_new_id=r4、b=b`,最后将(l,q,v)传送给标签ti。

步骤十:标签ti在接收到信息之后,首先计算q⊕n`得到新的共享密钥k_new`,计算l⊕n`得到随机数r4`,接着用r4`、q来计算v`的值,即:

v`=syn(r4`⊕q,r4`&q)。

然后比对v`与v的值。如果两者值不相等,协议立刻终止;如果两者值相等,说明r4`=r4,然后用n`、k_new`来计算b`的值,最后标签ti更新相关信息:k_new=q⊕n`,r4=l⊕n`,b=b`。此时标签ti和标签新所有者s_new之间的密钥保持一致,标签的所有权完成转移。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1