在包括芯片卡的装载计算机系统上生成安全计数器的方法

文档序号:7642151阅读:489来源:国知局
专利名称:在包括芯片卡的装载计算机系统上生成安全计数器的方法
技术领域
本发明涉及在包括芯片卡的装载计算机系统上获取安全计数器的 方法。
其目的尤其是提供一种带有到设于芯片卡上的单调计数器的通道 的装载环境(特别是移动电话),该计数器不能伪造。
背景技术
一般地,已知单调计数器是一种保证其值随着每个通话而变化的 计数器,即它决不会两次给出相同值。所述计数器在计算机系统中非 常有用,例如用于生成独特标识符、以及与所谓的"重放,,安全攻击进
行斗争(在时间t识别授权值的攻击者可以在时间t+A,"重放",即 给出先前检测值期望也被该系统授权)。
单调计数器大多数是递增的,因为这不增加任何具体实施的困难。 在这种情况下,计数器也提供在每一个通话中给出比先前通话更高的 值的保证。时间例如是一个通用的递增源。递增的单调计数器对于彼 此相关的顺序事件具有特别意义。例如,在某些时间-注明系统中仅仅 期望知道文件A在文件B前归档。而不是采用内部时钟(一般昂贵、 不精确并且不安全——即攻击者可能随意改变时间),计算机系统常 常采用递增的单调计数器。
递增的单调计数器在数据权限管理(DRM)领域也有高的期望, 特别是要控制一旦相关的权限过期先前播放的音乐就不再播放。
在本说明书的其余部分中,递增的单调计数器称为"单调计数器"。
虽然在个人电脑(PC)上的单调计数器不引起任何真正麻烦,但 是其在装载环境(特别是移动电话)中的集成是一件非常复杂的事情。
为了生产单调计数器,永久性存储区域需要具有几次再-写机会(当供 电不足时用于储存计数器的值)。可再写的永久性存储器在装载环境 中的整合势必需要不可忽视的经济成本,意图大规模配置的相关设备 (例如数百万的移动电话的附加费用)越多,经济成本就越高。而装 载环境—象其他计算机系统一样一却需要单调计数器,市场需求
无疑根据DRM更高(便携式视频控制台的游戏、在移动电话和iPod (商标)上听音乐,等)。

发明内容
本发明的目的更加特别的是提供一种可靠的低成本的解决方案以 制造单调计数器,用于装载环境具有智能卡的场合(特别是对于具有 SIM卡的移动电话的场合)。
为了这个目的,提出了包括以下操作阶段的方法
(i) 在所述芯片卡的永久存储器中储存
a、 计数功能FC
b、 计数器Cpt
c、 储存于存储区的读-保护部分内的专用钥Cf, 所述计数器Cpt和所述专用钥Cf仅可被所述计数功能FC访问;
(ii) 所述芯片卡一接到由所谓"请求,,实体ER发出的"计数器
请求",就执行以下操作
a、 通过所述计数功能FC修改所述计数器Cpt,确保在对给定请
求的回复中给出的计数器值的唯一性;
b、 采用如在步骤(a)被修改的所述计数器Cpt的值以及所述专
用钥Cf,通过所述计数功能FC计算签名;
c、 通过所述计数功能FC发送回复给所述请求实体ER,所述回 复包括如在步骤(a)被修改的所述计数器Cpt的值以及在步骤(b) 计算的签名;
(m)所述装载系统一接到所述计数器请求的回复,就执行包含 在这个回复内的签名的验证。
作为一般规则,请求实体ER可以充当系统或自然人的另一个应 用程序的代表,与装载系统交互。
有利的是,在计数器请求的执行阶段中计算签名的步骤,请求实 体ER预先被鉴认(authentifi6e )。因此计数器请求只有成功鉴认才 执行。
相似地,包含于对所述计数器请求的回复中的签名的验证 (verification)采用储存于装载系统的永久存储器中的公用钥CP进 行。
根据该方法,单调计数器以运行于智能卡(配备有微处理器)内 部的应用的程序形式制成。这个应用程序可以是本地的(即直接运行 于微处理器)或可被解释引擎解释(如虚拟的JAVA机、脚本解释器)。 它具有以下优点
*芯片卡的物质抵抗力(关于安全)。例如相对于在PC母板上, 用显微镜观察芯片卡的内容或企图改变其值(通过激光等)更加困难;
*在存储器(EEPROM)上芯片卡保存可再写的永久数据的能
力;
在大多数芯片卡上展示的密码功能,这些功能一般用于存储密钥。
这样产生的应用程序
*提供了安全的单调计数器(它决不会两次给出相同值); *从物理角度看难以攻击;
*可选地被鉴认(呼叫者确信该值的确由单调计数器给出)。


以下通过非限制性的例子参考附图描述本发明的 一 个实施例,其

唯一的图是示出了在公用钥位于装载系统的情况下,单调计数器 的详细功能的概要图。
具体实施例方式
在该实施例中,装载系统(模块1)具有芯片卡(模块2),该芯 片卡包括存储有计数器Cpt的专用永久存储器(模块3)、存储于专 用永久存储区域(模块3)内的可再-写区域的读-保护的专用钥Cf、 以及计数功能FC。
计数器Cpt和专用钥Cf只可被计数功能FC访问。由计数功能 FC进行的计数器Cpt的修改包括+1递增。
在芯片卡(模块2)上还有一个单调的应用程序(模块5)。这个 釆用了专用钥Cf的应用程序可随着卡2被供电而自动启动、或被卡2 的所有者通过手动操作而启动。它回复由呼叫者从卡以外发出的请求。
装载系统1也包括存储于公用永久存储器(模块6)例如一次可 编程存储器(OTP)的公用钥Cp (或公用钥证书Ccp)(理想的是整 体保护的,即它不可不正当地修改),因为所述存储器不会带来任何 特别的集成或经济上的困难(例如它们提供于移动电话上)。对应于 唯一附图所示的方案的这个解决方案,在攻击者企图以另外一对钥建 立错误的单调计数器应用程序并以该错误应用程序的公用钥替换鉴认 的公用钥的所有情况下,都能够对其进行控制。
可替换地,^^用钥Cp可存储于
■芯片卡(模块2)上对于装载系统(模块1)不具有(或没 有足够的)OTP存储器的情况,公用钥Cp可存储于芯片卡(模块2) 的永久存储器(模块3)上。为了确保其集成,芯片卡(模块2)必须 保证除了单调计数器应用程序之外其他应用程序均不可写/修改这个 区域。
■装载系统以外公用钥Cp也可由装载系统通过其他方式如通 过专用PKI结构(公用钥基础设施)而获取。
在后两种情况下——其中公用钥Cp未存储于装载系统(模块l) 的存储器内——也建议存储要用于装载系统的公用钥Cp的印记。这 可确保攻击者没有以另一个芯片卡替换芯片卡(模块2),或者没有 模仿非法PKI的行为。
公用钥Cp也可中权威机构认证以证明公用钥Cp的确对应于单调 计数器应用程序5。在这种情况下,储存包含公用钥Cp的Ccp认证 就足够了。公用钥Cp用于验证计数器的签名。
为了获取单调计数器的值,请求实体ER首先发出单调计数器请 求给位于芯片卡(模块2)的应用程序5。可选地,可以通过请求请求 实体ER提供一个芯片卡已知的秘密数据项而对其进行鉴认。这个秘 密数据项可以例如是PIN (个人识别码)、上述两个实体已知的口令 或密钥。请求实体ER的鉴认确保请求体ER的确被授权请求单调计 数器的值,因此避免了由服务拒绝带来的攻击,其中攻击者不停地请 求一个值而致使服务对于其他(合法)呼叫者不可用。
接着,应用程序5递增其内部计数器。这个计数器保存于芯片卡 (模块2)的永久存储器(模块3)内并仅可由单调计数器应用程序5 访问。可选地,该计数器可保持(被该应用程序的公用钥)编码。这 防止了非授权的实体知道单调计数器的当前值。特别是,在非常近的 视觉仔细检查的条件下,所显露出的值被编码因此不可用。计数器的 当前值然后被该应用程序中的专用钥签名,而计数器值+签名的数据 项返回到请求实体ER。
最后,请求实体ER收集该应用程序中的公用钥Cp。根据情况, 公用钥Cp可被收集于芯片卡(模块2)上、装载系统(模块l)或外 部的存储器内。在后两个情况中,公用钥Cp的印记(如果有的话) 然后计数器的签名必须被验证。如果签名吻合,呼叫者确信计数器的 值是可信的。它是可用的。
要注意的是在不太敏感的环境或相反在高警戒环境下,也可以设 计不签名(以及不验证)单调计数器的值。缺点是明显的,呼叫者不 再确信其真实性值可能是由攻击者提供的。在这种情况下储存一对
钥就不再有用了。
从实现角度看,单调计数器应用程序5可很容易实施,不管是作 为本地应用程序(假设到永久存储器和密码功能的访问是可能的)还 是作为解释的应用程序。在后一种情况下,应用程序5可作为JAVA
卡(注册商标)内的小应用程序执行。
权利要求
1、一种在具有芯片卡的装载计算机系统上提供安全计数器的方法,其特征在于包括下列操作阶段(i)在所述芯片卡的永久存储器中存储a、计数功能FC,b、计数器Cpt,c、存储于存储区的读-保护部分内的专用钥Cf,所述计数器Cpt和所述专用钥Cf只可被所述计数功能FC访问;(ii)所述芯片卡一接到由所谓“请求”实体ER发出的“计数器请求”,就执行以下操作a、通过所述计数功能FC修改所述计数器Cpt,确保在对给定请求的回复中给出的计数器值的唯一性;b、利用所述计数器Cpt的如在步骤(a)被修改的值以及所述专用钥Cf,通过所述计数功能FC计算签名;c、通过所述计数功能FC发送回复给所述请求实体ER,所述回复包括所述计数器Cpt的如在步骤(a)被修改的值和在步骤(b)计算的签名;(iii)所述装载系统一接到对所述计数器请求的回复,就执行对包含在这个回复内的签名的验证。
2、 如权利要求l所述的方法,其特征在于在所述计数器请求的执 行阶段的所述计算签名的步骤,所述请求实体ER被事先鉴认,并且只 有鉴认成功时所述计数器请求才执行。
3、 如权利要求l所述的方法,其特征在于所述计数器Cpt被编码 地存储。
4、 如权利要求l所述的方法,其特征在于通过所述计数功能FC 的所述计数器Cpt修改由这个计数器的递增构成。
5、 如权利要求l所述的方法,其特征在于包含在对所述计数器请 求的回复中的签名的验证是利用存储于所述装载系统l的永久存储器 (模块6)中的公用钥Cp进行的。
6、 如权利要求l所述的方法,其特征在于包含在对所迷计数器请 求的回复中的签名的验证是利用公用钥CP执行的,并且所述^^用钥Cp 或相关联的公用钥证书Ccp存储在所述芯片卡的永久存储器中并在装载 系统的请求下返回到所述装载系统。
7、 如权利要求l所述的方法,其特征在于包含在对所述计数器请 求的回复中的签名的验证是利用公用钥Cp进行的,并且所述公用钥Cp 或相关联的公用钥证书Ccp由公用钥基础设施提供并在装载系统的请求 下返回到所述装载系统。
8、 如权利要求5、 6和7中任一项所述的方法,其特征在于所述公 用钥Cp或所述相关联的公用钥证书Ccp作为保护的整体被存储。
9、 如权利要求6或7所述方法,其特征在于所述公用钥Cp的印记 存储在所述装载系统中。
全文摘要
根据本发明的方法,计数功能(FC)、计数器(Cpt)和储存于存储器区的只-写部分的专用钥(Cf)存储于芯片卡永久存储器中,计数器和专用钥(Cf)只由计数功能(FC)访问。当芯片卡接收到由请求实体(ER)发出的计数器请求时,计数功能(FC)执行计数器(Cpt)的修改和签名的计算,并发送回复给请求实体(ER)。当装载系统接收到计数器请求的回复时,包含于回复中的签名被验证。
文档编号H04L9/32GK101379759SQ200680052513
公开日2009年3月4日 申请日期2006年12月14日 优先权日2005年12月23日
发明者A·弗瑞, A·阿普弗里勒, D·博利戈纳诺 申请人:信诚逻辑公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1