admin管理员组

文章数量:1534190

2024年4月28日发(作者:)

维普资讯

MicrocomputerApplications Vo1.24,No.6'2008 

文章编号:1007-757X(2008)6-0020—03 

研究与设计 微型电脑应用 2008年第24卷第6期 

基于智能卡芯片指纹的身份认证方案设计 

高雪峰侯方勇谷大武 

摘要:身份认证在网络安全中有非常着重要的作用。最近,Das等人提出了一种基于智能卡和动态ID的身份认证方案。 

在分析其方案漏洞的基础上,引入芯片指纹和随机数,提出了一种改进方案,能有效地抵抗伪装攻击、芯片复制攻击、拒绝 

服务攻击、重传攻击、口令猜测攻击,在对系统安全度要求较高的环境中有着良好的应用前景。 

关健词:身份认证;智能卡;芯片指纹;随机数 

中图分类号:TP393.08 文献标识码:A 

如在芯片结晶的过程中由于温度和压力的随机变化),因此 

制造出的芯片在物理特征上具有差异性,通过提取芯片上的 

元器件的静态时延差异,就可以得到一个抗克隆PUF[6] 

U:用户,Pw:用户密码,AS:认证服务器。 

CID..智能卡标识,DUID:用户的动态ID。 

1引言 

随着网络的不断发展,处于网络中的计算机用户都可以 

利用网络得到所需要的各种资源。如何正确地进行用户的身 

份认证是保证通信网和系统数据安全的首要条件。身份认证 

已成为是网络安全的重要研究课题,许多专家和学者提出了 

有关身份认证的有效方案。 

2002年,Chien等人在单向hash函数的基础上提出了 

MAC(,口)是在密钥a控制下的安全散列函数, ()为单向 

hash函数。 

0为异或运算,Random为任意随机数。 

CHA:PUF的“激励”,RES:PUF的“响应”。 

种远程认证方案[1]。 但是该方案还容易受到Parallel 

Attack,Reflection Attack,Insider Attack等[2,3]。 

2004年Das等人也在单向hash函数的基础提出了一种与智 

能卡相结合的动态的口令验证方案[4]。但是该方案也存在 

安全漏洞。 

本文在分析Das等人的方案漏洞的基础上,引入芯片指 

fO为基于PUF的芯片指纹,它具有以下特性:(I)存在 

互不相同的fO。(2)fO是单项的。(3)RES=f(CHA) 

二 为安全的通信通道,— 为普通的、不安全的通信通道。 

3 Das认证方案及其安全性分析 

3.1认证方案 

Das认证方案包括三个阶段:注册、登录、认证。注册 

阶段就是在U和As之间分配共享的秘密信息,并把一些信息 

写到智能卡中;登录阶段就是用户使用密码Pw。产生登录 

纹和随机数,提出了一种改进方案。本方案从物理上保证了 

智能卡片内密钥的安全。基于这一独特的安全属性,该方案 

能够抵御伪装攻击、芯片复制攻击、拒绝服务攻击、重传攻 

击、口令猜测攻击等,从而可靠地实现了As对U的身份认 

证问题。同时该方案还允许用户自由地更改口令,在对系统 

安全度要求较高的环境中有着良好的应用前景。 

信息,去获得登录相关服务器的接入权限;认证阶段是指 

As对U进行认证,决定用户是否有权限使用相关服务。具 

体过程如下: 

(1)注册阶段: 

2概念、术语定义与说明 

下面定义一些将在本文中用到的术语和符号。 

定义1 PUF(Physical Random Functions)[5]:物 

R1:UjAS:PW。U通过安全的通道向As提交个人 

PW。 

理抗克隆函数是一个映射“激励”到“响应”的单项函数, 

它通过一个物理设备来实现,并且具有以下的特征:(1)较 

R2:As收到注册信息后,选取一个安全的单向hash函 

易计算:物理设备能够在较短的时间内计算出函数结果。(2) 

难于入侵:黑客没有产生这个物理随机函数的物理设备,即 

使有大量的资源进行多项式次数的“仿真”物理测试,仅能 

获得一些可忽略的普通信息。(3)抗克隆:在给定的“多项 

数h()和两个秘密参量x,y:并计算尺:域P 0 )。将 () 

和用户的个人化参数R、y写入智能卡; 

R3:AS U:PW,智能卡; 

(2)登录阶段 

式”资源下,制造两个一样的PUF载体(物理设备)在工艺 

上是不可实现的。 

定义2基于PUF的芯片指纹:通过芯片实现的物理抗 

克隆函数。 

在同一版图上的芯片制造过程中,存在制造可变性(例 

LI:用户U把智能卡插入相应的终端设备中并输入Pw。 

L2:智能卡计算DUID:KP ,)0^(R0 0 ,); 

B=h(DU1D0h(P )),C= ( 0R0B0 )。TU是终端设备 

纪录的用户登录时间。 

L3:U AS:DUID,R,C, :U通过公共信道向As发送 

(DUID,R,C,TU)。 

基金项目:国家863项目(2006AAO1Z446) 

作者简介:高雪峰,上海交通大学大学计算机科学与工程系,硕士研究生,上海200240 

侯方勇,国防科技大学计算机学院,副教授,湖南长沙410073 

谷大武,上海交通大学大学计算机科学与工程系,教授,博士生导师,上海200240 

・20・ 

维普资讯

MicrocomputerApplications Voi.24,No.6,2008 研究与设计 微型电脑应用 2008年第24卷第6期 

(3)验证阶段 

v1:As接到认证请求信息(DUID,R,C,TU),,就检查 

TS—Tu的时间间隔是否处于△T之内,如果(TS一11J)≥ 

密y被攻击者获取,本方案引入了芯片指纹生成动态主密 

钥。 

本方案包括五个阶段:预注册阶段,注册阶段,预验证 

阶段,登陆阶段,验证阶段。 

(1)顸注册阶段 

智能卡管理中心在As处的数据库中建立一张表项,记 

△T成立,系统就驳回登录请求。反之,As计算 

h(PW)=DUID0h(R0Y0 B=h(DUID0 (P ))。其 

中Ts是As当前时间,△T是合法的传输时间延迟。 

v2:验证C?= ( ,0R0B0 ),如果等式成立,远 

程系统将接受登录请求。 

3.2安全性分析 

虽然Das的方案比较有效,但是容易受到伪装攻击、芯 

片复制攻击、拒绝服务攻击、重传攻击等; 

(1)伪装攻击 

录每张智能卡的CID,激励——响应对列表(由智能卡制造 

商提供),列表中包含(CID,厂(c,D))。 

(2)注册阶段 

R1: U AS:PW。U通过安全的通道向AS提交个人 

PW。 

假设攻击者持有合法用户的智能卡,在登录时将卡插入 

读卡终端设备并键入任何数字PW*,智能卡计算出 

DUID*=h(PW )0 R0y0 B =h(DUID  ̄h(PW ) 

R2:As收到注册信息后,选取一个安全的单向hash函 

数h0和卡号为CID的智能卡,并计算R=h(PW)0f(CID)。 

将h0,R,CID写入智能卡: R3: 

(3)顸验证阶段 

U:PW,智能卡: 

C =^( 0尺0B 0 )。AS一旦接收到登录请求 

(DUID*,R,c , ),首先检验传输迟延是否合法,然后计算 

h(PW )=DUID 0|Il(R0y0 ), 

B =h(DUID  ̄h(PW ))=h(h(ROy0 )), 

该阶段主要是检验智能卡是否是伪造的智能卡: 

P1:用户插入智能卡,智能卡-->AS:C/D 

P2: S 智能卡:Random;并把这个随机数写入CID 

对应的表项中: 

P3:智能卡用自己的芯片指纹计算 

PreRES=f(CID),PreN=h(nanaom,eren ̄;智能卡一AS:PreN; 

P4:AS验证Pr ?=h(Random,PreRESs),如果不等,则 

认为该卡是伪造卡,终止验证。其中PreRESS是从数据库中 

的表项中取得的卡号为CID,激励CID所对应的响应值。 

(4)登陆阶段 

C =|Il( 0R0 0y)=|Il( 0R0h(h(ROyO ))0y)这个等 

式总是成立的,它与入侵者输入的PW*无关,无法认证持卡 

者的合法身份。 

(2)芯片复制攻击 

该方案的安全性主要是依赖于智能卡的片内秘密Y,用 

各种攻击方法可以容易地把这个片内秘密Y提取出来[4]。 

旦攻击者得到了某个用户的智能卡,提取出其R和片内密 

钥Y,可以复制出一模一样的智能卡,攻击者用伪造的智能 

卡就可以通过AS的验证。 

L1: U:CHA,其中CHA是卡号为CID的智能卡 

的挑战响应列表中的任意一个激励。 

L2:用户输入Pw,智能卡用的芯片指纹计算 

RES=f(CHA),N=h(Random,RES);DUID= (JD )0 h(R0Ⅳ 

(3)拒绝服务攻击 

由于该方案中是利用时间戳来保证一个认证请求信息 

的有效性,利用该特性,攻击者可拦截L3阶段的认证请求信 

息(DUID,R,C,Tu),并延迟一段时间后再重新向As传送 

该信息,当延迟超过一定的时间,Tu就不能通过As的有效 

性检查,从而使得As。不能为用户提供连续有效的服务。另 

外,当网络发生阻塞时,也会发生以上的拒绝服务。 

(4)重传攻击 

B=h(R0h(R0Ⅳ));C=h(B0Ⅳ); 

L3: —AS:(DUl1),C) 

(5)验证阶段 

V1:AS查询表项中的Random,如果为空,验证失败。 

V2:AS查找CHA对应的响应RES,CID的响应RESCID, 

计算N=h(Random,RES),B=h(DUID REScw). 

V3:AS验证C?=h(B0Ⅳ);如果等式成立,则通过认证, 

并且将表项中的i ̄ndom置为空。a 

此外,本方案还提供口令更改: 

C1:U向智能卡输入旧口令Pw。 

C2:智能卡验证 ?=|Il(尸 )0f(CID)来验证Pw的有效 

性,并在验证通过后提示输入新的口令PWNEW。 

C3: 智能卡计算R =h(PW 0 f(CID)),并替代原有 

的R,这样u就成功地修改了口令,而不用通知As。 

攻击者可截获L3阶段合法用户认证请求信息(DUID,R, 

C,Tu),而假冒合法用户向As发出(DUID,R,C,T ),很 

显然,只要该信息到达As时间和TU的时间间隔小于△T, 

就能通过As的合法性检测,从而达到非法攻击的目的。 

4本文提出的认证方案 

由上面的分析可看出,Das等人方案中的漏洞有一部分 

是由于时间戳和片内秘密y引起的,时间戳不仅引入了较多 

的安全风险,而且要在全网实现时间同步,这在实施上是非 

常困难的,而片内秘密Y是内置密钥,易被攻击者获取而造 

成芯片复制攻击。因此在本改进方案中,我ffj ̄iI入了随机数 

代替时间戳来保证信息的有效性;同时为了防止片内静态秘 

5改进方案的安全性分析 

(1)抵御伪装攻击 

21・ 

维普资讯

MicrocomputerApplications Vo1.24,No.6,2008 

智能卡将计算 

RES=f(CHA),N=h(Random,RES) 

DUID*= (尸 )0 h(R0Ⅳ);B:h(R0 h(R0.v));C:h(B0.v); 

— 

研究与设计 微型电脑应用 2008年第24卷第6期 

当用户得到合法的智能卡,输入任意的数字密钥PW*, 

(6)关键密钥动态生成 

本方案的关键密钥N是动态生成的,它不仅依赖于AS 

端的随机数Random,智能卡的芯片指纹,还与芯片指纹的 

输入激励有关。因此,如果入侵者获得了同一个用户的多次 

登录信息,也无法计算得到N的值。相对于Das等人方案中 

的静态密钥Y具有更高的安全性。 

值得指出的是,该方案的主要运算是hash运算,计算 

量小,比建立在公钥体制上的认证方案[7]有计算效率方面 

的优势,特别适用于受限的环境中。 

:PreN;AS收到请求后计算 

B =h(DUID  ̄RESc∞)=h(h(PW )0h(R0Ⅳ)0肛S∞)≠B 

那么C =h(B 0Ⅳ)≠C,验证失败。因此该方案可以抵 

御伪装攻击。 

(2)抵御芯片复制攻击 

假设攻击者得到合法用户的智能卡,复制出包含h 0, 

R,CID的智能卡,即使得到用户密码也不能通过认证。在 

预验证阶段,由于智能卡的芯片指纹不同,因此f()是不同 

的,复制的智能卡计算 

PreRES =f (CID),PreN h(Random.PreRES )智能卡 

6结论 

从以上的分析可看出,通过引入芯片指纹和随机数,本文 

改进的认证方案可有效地抵抗伪装攻击、芯片复制攻击、拒绝 

服务攻击、重传攻击、口令猜测攻击等从而较可靠地实现了AS 

AS:Pr eN;认证服务器收到Pr eN 后,得出 

Pr eN ≠h(Random,Pr eRES ),验证失败: 

同时在登陆和验证阶段,As对用户的验证还是依赖于 

对u的身份认证问题:同时,本方案还提出了口令更改算法, 

使得用户可方便地更改自己的口令而不用通知AS,在对系统安 

全度要求较高的环境中有着良好的应用前景。 

智能卡的芯片指纹。复制的智能卡无法通过认证。 

登陆时攻击者输入正确的Pw,复制的智能卡计算 

RES =f (CHA),N =h(Random,RES ),DUID = 

(P )0h(R0N B =h(R0h(R0N ));C =h(B 0Ⅳ )。 

参考文献 

[1】H Y Chien,J K Jan,YM Tseng.An Efifcient and Practical to 

Remote Authentication:Smart Card[J】.Computers and 

Security,2002,21(4). 

S:(D UID ,C ).AS收到请求后计算 

N:h(Random,RES),B :h(DUID @REScw).得出 

C:h(B 0Ⅳ)≠h(B 0Ⅳ ),,即c≠c丰。所以即使攻击者得 

到正确的PW,用复制的智能卡也不能通过验证。 

(3)抵御拒绝服务攻击 

[2】Chien L H.SecuriW of Two Remote User Authentication 

该方案不是基于时间戳,而是引入随机数来保证消息的 

及时性,当攻击者拦截L3阶段的认证请求信息(DUID,C), 

Schemes Using Smart Cards[J】.IEEE Trans.on Consumer 

Electronics,2003,49(4):1 1 962—1 1 98. 

[3j Wei Chui Ku,Shuai Min Chen.Weakness and Improvement 

of Efficient Password Based Remote user Authentication 

并延迟一段时间后再重新向AS传送该信息,仍能通过As的 

有效性检查,从而使得As为用户提供连续有效的服务。另外, 

当网络发生阻塞时,也不会发生拒绝服务。 

(4)抵御重传攻击 

Scheme Using Smart Card I J】.IEEE Trans.on Consumer 

Electronics,2004,50(1). 

假设攻击者截获L3阶段的认证请求信息(DUID,C),并 

假冒u向As重新发送(DUID。C)。显然,当合法用户的验证 

[4]Das ML,Saxena A,Gulat V P.A dynamic ID—based remote 

user authentication scheme[J】.IEEE Trnsa Consumer 

Electronic,2004,50(2):629—631. 

[51 B.Gassend,D.Clarke,M.Van Dijk,and S.Devadas,Control— 

led physicla rndom afunctions【A】.Proceedings of18th An— 

nual Computer Security"Applications Conference[C】.Decem- 

ber 2002 

通过后表项中的Random值为空或其他值。因此请求信息无 

法通过As的验证。 

(5)抵御口令猜测攻击 

本方案采用的是动态ID,在用户u登录远程系统时, 

向远程系统发送的登录信息中包含了用户的动态ID,也就 

是DUID。而DUID的值是由算式DUID:h(PW)0 (R0Ⅳ)计 

算得到的。不同的用户在同一时间登录系统会因为口令的值 

不相同,所得的动态ID值也不同,即使是同一个用户,在 

[6】Daihyun m,Jae W.Lee,Blaise Gassend,G.Edward Suh, 

Marten Van Dijk,and Srinivas Devadas.Extracting Secret 

Keys From Integrated Circuits[J】.IEEE transactions on very. 

1arge scale interatgion(VLSI)systems,2005,1 3(1 o). 

不同时问登录相同的远程系统,也会因为N的不同导致动态 

ID的值不相间。因此,如果入侵者获得了同一个用户的多 

次登录信息,也无法计算出PW的hash值,防止了入侵者进 

朱浩瑾,曾珍富.基于智能卡的椭圆曲线动态身份认证 

体制[J】.计算机工程.2006,32(2):135—136,208. 

行离线或在线的口令猜测攻击。 

(收稿日期:2007—12-21) 

・22・ 

本文标签: 认证用户攻击方案芯片