Ic芯片、信息处理装置、系统、方法和程序的制作方法

文档序号:6333898阅读:306来源:国知局
专利名称:Ic芯片、信息处理装置、系统、方法和程序的制作方法
技术领域
本申请涉及IC芯片、信息处理装置、系统、方法和程序。
背景技术
近年来,诸如包括具有抗篡改性的IC芯片(在下文中称为“安全芯片(secure chip)”)的便携式电话的信息处理装置已得到了广泛使用。例如,用户仅通过将这种信息 处理装置在读取器/写入器(reader/writer)上方经过就能传送数据。因此,该信息处理 装置非常方便。例如当将该信息处理装置应用于电子货币系统时,仅通过将信息处理装置 在读取器/写入器经过,用户就能在商店等处立即进行支付。存储在安全芯片的非易失性存储器中的信息通过加密的方式来保护。因此,很难 篡改信息。然而,如果允许任何应用程序自由地使用信息处理装置中的安全芯片,则存在应 用程序可以在用户不知情的情况下使用安全芯片以及应用程序可以自己执行临时中止使 用安全芯片的命令的可能性,这会导致安全方面的问题。为了克服这一问题,具有普通安全芯片的信息处理装置通常具有当应用程序使用 安全芯片时防止应用程序直接操作安全芯片的机构。更具体地,当应用程序操作安全芯片 时,该结构总是强制应用程序经由预定的安全芯片控制模块来操作安全芯片。安全芯片控 制模块限制能够由该应用程序执行的安全芯片命令,从而防止滥用。

发明内容
然而,在上述的防止滥用方法中,必须利用防止应用程序直接操作安全芯片的机 构来实现信息处理装置的平台。另一方面,当该机构遭到攻击(hack)时,存在如下的可能 性,即,通过开发一种绕过安全芯片控制模块工作以直接操作安全芯片的方法,来非法使用 安全芯片。鉴于上述,期望提供一种能够可靠地防止应用程序非法访问IC芯片的新颖的且 改进的IC芯片、信息处理装置、系统、方法和程序。在示例性实施方式中,集成电路芯片包括配置为使用认证信息对请求进行认证的 认证控制单元,其中从集成电路芯片外部接收请求和认证信息中的至少一个。在示例性实施方式中,请求包括可执行命令、访问区域、发布者识别码中的至少一 个。在示例性实施方式中,认证信息包括哈希值。在示例性实施方式中,集成电路芯片的发布设备产生请求和认证信息中的至少一 个。4
在示例性实施方式中,发布设备向应用程序生成者发布请求和认证信息中的至少一个。在示例性实施方式中,发布设备将与请求的访问区域相关的信息注册到访问区域 发布服务器。在示例性实施方式中,发布设备将与请求的访问区域相关的PIN值注册到访问区 域发布服务器。在示例性实施方式中,集成电路芯片基于下列各项执行命令关于允许应用程序 执行的命令的信息;以及关于允许应用程序访问的集成电路芯片的存储区域的信息。在示例性实施方式中,芯片控制模块从应用程序接收请求,开启集成电路芯片,向 集成电路芯片发布认证命令,并且将请求发送至集成电路芯片。在示例性实施方式中,在集成电路芯片处接收请求,并且响应于请求,集成电路芯 片引导对存储位置的访问。在示例性实施方式中,对请求进行认证以判定请求是否合法,判定请求合法,接受 请求,集成电路芯片向芯片控制模块通知已经接受请求,并且芯片控制模块向应用程序通 知已经认证请求。在示例性实施方式中,应用程序调用用于使用集成电路芯片的芯片操作AP,芯片 控制模块将可执行命令发布至集成电路芯片,认证控制单元检查是否允许执行可执行命 令,以及是否允许访问可执行命令的访问区域。在示例性实施方式中,集成电路芯片执行可执行命令,集成电路芯片向芯片控制 模块通知可执行模块的执行结果,芯片控制模块向应用程序通知可执行命令的执行结果, 应用程序请求芯片控制模块终止使用集成电路芯片,并且芯片控制模块关闭集成电路芯 片。在示例性实施方式中,擦除请求和认证信息。在示例性实施方式中,在认证请求之后,将由请求合法访问的信息显示在显示单 兀上。在示例性实施方式中,信息处理装置包括集成电路芯片,集成电路芯片包括配置 为使用认证信息对请求进行认证的认证控制单元,其中从集成电路芯片外部接收请求和认 证信息中的至少一个。在示例性实施方式中,信息处理装置是便携式电话。在示例性实施方式中,信息处理系统包括信息处理装置,信息处理装置包括集成 电路芯片,集成电路芯片包括配置为使用认证信息对请求进行认证的认证控制单元,其中 从集成电路芯片外部接收请求和认证信息中的至少一个。在示例性实施方式中,一种方法包括由包括认证控制单元的集成电路芯片使用 认证信息对请求进行认证,其中从集成电路芯片外部接收请求和认证信息中的至少一个。在示例性实施方式中,存储介质存储程序,其中在执行该程序时,使包括认证控制 单元的集成电路芯片使用认证信息对请求进行认证,其中从集成电路芯片外部接收请求和 认证信息中的至少一个。根据上述的示例性实施方式,可以可靠地防止应用程序非法访问IC芯片。根据下面的详细描述以及附图,这里描述的附加的特性和优势将变得显而易见。


图1是示出在相关的信息处理装置中应用程序对安全芯片的访问控制实例的说 明图。图2是示出根据示例性实施方式的信息处理系统的示例性概略构造的说明图。图3是示出用作图2的信息处理装置的客户端100的示例性概略构造的说明图。图4是示出示例性芯片访问权证(chip access ticket)的示例性概略构造的说 明图。图5是详细示出示例性芯片访问权证的构造的说明图。图6是由图2的信息处理系统1000执行的用于客户端100的访问控制的第一预 备处理的示例性的顺序图。图7是由图2的信息处理系统1000中的示例性客户端100和访问区域发布服务 器500执行的用于客户端100访问控制的第二预备处理的示例性顺序图。图8是示出由图3的客户端100执行的访问控制处理的示例性顺序图。图9是示出在图8的步骤S308中执行的示例性芯片访问权证认证处理的流程图。图10是示出图8的访问控制处理的细节的流程图。图11是示出在图2的信息处理系统1000中由访问区域发布服务器500和客户端 100执行的PIN值变更处理的示例性顺序图。图12是示出图8的步骤S308中执行的芯片访问权证认证处理的示例性变形例的 流程图。图13是示出由图3的客户端100执行的根据错误代码(error code)进行的示例 性处理的流程图。
具体实施例方式在下文中,将参考附图对示例性实施方式进行详细说明。需要注意的是,在说明书 和附图中,用相同的参考标号来表示具有实质上相同功能和结构的结构元素,并省略对这 些结构元素的重复说明。按照下列顺序通过实施例来进行说明。1.相关信息处理装置的访问控制2.信息处理系统的构造3.信息处理装置的构造4.芯片访问权证的构造5.用于访问控制的第一预备处理6.用于访问控制的第二预备处理7.访问控制处理8.芯片访问权证认证处理9.访问控制处理的细节10PIN值变更处理11芯片访问权证认证处理的变形
12.根据错误代码执行的处理[1.相关信息处理装置的访问控制]在说明根据示例性实施方式的信息处理系统和信息处理装置之前,将首先描述在 相关的信息处理装置中应用程序对安全芯片的访问控制。图1是示出在相关的信息处理装 置中应用程序对安全芯片的访问控制的实例的示例性说明图。在图1中,用作相关信息处理装置的诸如便携式电话的客户端(client) 10包括安 全芯片控制模块16、安全芯片22、显示控制单元28和诸如LED的显示单元30。在客户端 10上安装有非法应用程序12和应用程序14。安全芯片控制模块16包括API (应用程序接口)18和安全芯片访问控制单元20。 安全芯片22包括命令执行单元M和非易失性存储器26。例如,客户端10允许应用程序14使用存储在安全芯片22的非易失性存储器沈 的区域中的信息,从而为用户提供诸如电子货币服务的各种服务。在客户端10中,当应用程序14通过API 18请求安全芯片控制模块16允许应用 程序14访问安全芯片22时,安全芯片访问控制单元20控制应用程序14对安全芯片22的 访问。由于应用程序14是合法的应用程序,因此安全芯片访问控制单元20允许应用程序 14访问安全芯片22,如图1中的圆圈所示。安全芯片访问控制单元20还能限制可以由应 用程序14执行的命令。在客户端10中,当非法应用程序12通过API 18请求安全芯片控制模块16允许 非法应用程序12访问安全芯片22时,安全芯片访问控制单元20不允许非法应用程序12 访问安全芯片22。通过使安全芯片访问控制单元20验证附加在应用程序上的应用程序签 名来区分合法应用程序14和非法应用程序12。因此,能够防止非法应用程序非法访问安 全芯片22。当安全芯片控制模块16接收来自非法应用程序12对安全芯片22的访问请求 时,安全芯片控制模块16控制显示控制单元观并使用显示单元30向用户通知访问情况。 因此,用户能够识别非法应用程序12对安全芯片22的非法访问请求。然而,在上述的示例性访问控制中,客户端10的平台必须具有用于防止应用程序 直接操作安全芯片22的机构。当该机构遭到攻击时,可开发下列方法如图1左侧的X所 示,可绕过安全芯片控制模块16而工作,可以直接操作安全芯片22 ;并如图1右侧的X所 示,显示控制单元观可能被非法操作,并且显示控制单元观的功能失效。在这种情况下, 存在非法使用安全芯片22的可能性。当仅限制命令时,应用程序可扫描非易失性存储器沈以收集个人信息,例如,用 户使用何种服务,从而存在如下问题,即,难以防止应用程序进行这种对安全芯片22的非 法访问。为了解决上述问题,安全芯片22自身可具有限制使用的机构。然而,在日本专利 申请公开第2001-56848号和日本专利申请公开第2005-56292号所公开的技术中,存在如 下问题,即,难以将灵活的访问控制应用到客户端上接连(one after another)执行的各种 应用程序。在日本专利申请公开第2001-56848号所公开的技术中,可以为在IC卡上执行的 每个命令设置访问权限(access permission)。然而,由于必须通过从外部输入用于重写命 令的访问权限的口令来设置命令权限,因此平台侧必须具有设置功能。因此,安全芯片自己很难为每个所使用的应用程序设置不同的访问权限,并且难以将命令的访问权限永久保存 在安全芯片上。由于这个原因,在终端上接连执行不同应用程序的情况下,存在如下问题, 即,例如,当终端意外关机而应用程序仍在运行时,之前执行的应用程序的权限可能会留下 来而未被删除。在日本专利申请公开第2005-56292号所公开的技术中,设置了多种认证手段,并 能够向用户通知终端上的应用程序正试图使用安全芯片。尽管用户能够控制是否将访问权 限给予每个应用程序,但是用户仅能设置是否允许执行存在于安全芯片上的所有命令,或 者完全全部禁止执行它们,并且用户很难为每个应用程序设置不同的访问权限。此外,用户 需要在每个场合进行判断,并且存在使用过程繁琐的问题。因此,稍后描述的根据本实施方式的信息处理系统执行用于稍后描述的访问控制 的第一预备处理和第二预备处理。然后,根据本实施方式的信息处理装置执行稍后描述的 访问控制处理。因此,信息处理装置能够可靠防止应用程序对IC芯片进行非法访问。[2.信息处理系统的构造]随后,将描述根据示例性实施方式的信息处理系统。图2是示出根据示例性实施 方式描述信息处理系统的概略构造的说明图。在图2中,信息处理系统1000包括用作信息处理装置的诸如便携式电话的客户端 100、应用程序公开服务器(application disclosure server) 200、应用程序生成者的PC 300、安全芯片发布者的PC 400和访问区域发布服务器500。客户端100、服务器200、500、 PC 300、400分别连接至通信网络600。客户端100能够下载由应用程序公开服务器200公开的应用程序。当客户端100 从所安装的应用程序接受稍后描述的访问区域发布请求时,客户端100请求访问区域发布 服务器500执行在线处理。应用程序公开服务器200公开在应用程序生成者的PC 300上产生的应用程序。应 用程序生成者的PC 300产生应用程序。当应用程序生成者的PC 300产生使用稍后描述的 安全芯片114的应用程序时,应用程序生成者的PC 300请求安全芯片发布者的PC 400允 许使用安全芯片114。当安全芯片发布者的PC 400发布稍后描述的芯片访问权证时,应用 程序生成者的PC 300将所发布的芯片访问权证嵌入到所产生的应用程序中。然后,应用程 序生成者的PC 300将所产生的应用程序发送至应用程序公开服务器200。在安全芯片发布者的PC 400从应用程序生成者的PC 300接收用于允许应用程序 生成者的PC 300使用安全芯片114的请求之后,安全芯片发布者的PC 400产生芯片访问 权证,并将所产生的芯片访问权证发布至应用程序生成者的PC 300。在安全芯片发布者的 PC400产生芯片访问权证之后,安全芯片发布者的PC 400将关于所产生的芯片访问权证的 访问区域的信息注册到访问区域发布服务器500,并将关于PIN值的信息(用于所产生的芯 片访问权证的每个访问区域),即,保密信息(secret information),注册到访问区域发布 服务器500。例如,当访问区域发布服务器500从客户端100接收用于发布访问区域的在线处 理请求时,访问区域发布服务器500通过在线处理发布在稍后描述的客户端100的安全芯 片114的非易失性存储器120中的访问区域,并为非易失性存储器120中的每个发布的访 问区域注册PIN值。
信息处理系统1000执行稍后描述的图6的用于访问控制的第一预备处理和图7 的用于访问控制的第二预备处理。然后,客户端100通过执行稍后描述的图8的访问控制 处理能够可靠地防止客户端100的应用程序非法访问安全芯片。在根据本实施方式的信息处理系统1000中,访问区域发布服务器500和安全芯 片114都具有密钥,并通过加密的在线通信相互通信,从而确保重要处理(例如发布安全区 域)的安全性。需要注意的是,客户端100中的程序没有密钥,从而密钥不会泄露。然而,例如,即使当客户端100在服务区域之外时,应用程序也必须能够检查电子 货币的余额。因此,安全芯片114具有非加密区域和非加密命令。然而,如果应用程序可自由操作非加密区域和命令,则可取消用户锁,并可扫描服 务。为了防止这一点,除了加密通信之外,还必须设置用于限制使用安全芯片114的机构。已经利用普通的安全芯片控制模块实现了该机构。然而,在本实施方式中,通过利 用使用可靠的芯片访问权证的更可靠的方法来实现该机构。[3.信息处理装置的构造]随后,将描述作为图2的信息处理装置的示例性客户端100。图3是示出用作图2 的信息处理装置的客户端100的示例性概略构造的说明图。在图3中,诸如便携式电话的客户端100是信息处理装置的实例,并具有安全芯片 控制模块110、安全芯片114、显示单元122。此外,应用程序102、106安装在客户端100上。 在本实施方式中,客户端100具有安全芯片控制模块110,但是当安装在客户端100上的应 用程序(例如应用程序106)具有安全芯片控制模块110的功能时,客户端100可以不具有 安全芯片控制模块110。将芯片访问权证104嵌入到应用程序102中,并将芯片访问权证108嵌入到应用 程序106中。应用程序106中具有安全芯片控制模块111。安全芯片控制模块110具有API 112。安全芯片控制模块110适于从安全芯片114 接收所发送的信息。安全芯片控制模块110、111连接至显示单元122。此外,安全芯片114 连接至显示单元122。安全芯片控制模块110、111和安全芯片114可连接至不同的显示单兀。安全芯片114具有访问控制单元116、命令执行单元118、非易失性存储器120。访 问控制单元116适于从具有访问安全芯片114的芯片访问权证的应用程序接收芯片访问权 证。另一方面,访问控制单元116适于认证从应用程序接收的芯片访问权证。此外,当芯片 访问权证合法时,基于允许应用程序执行命令的信息、并且基于允许应用程序访问的IC芯 片的存储区域的信息,访问控制单元116适于允许应用程序执行命令。关于命令的信息和 关于存储器区域的信息包括在芯片访问权证中。当芯片访问权证非法时,访问控制单元116 适于向外部发送关于为何判定芯片访问权证不合法的原因的信息。此外,访问控制单元116 适于存储芯片访问权证的内容,例如,临时存储存储器功能,并适于擦除所存储的芯片访问 权证的内容。当由应用程序发布的命令是可执行的时,命令执行单元118适于执行命令。需 要注意的是,安全芯片114是具有优秀的抗篡改特性的IC芯片。例如,当安全芯片控制模块110从应用程序102接收到芯片访问权证104并接受 用于开始使用安全芯片114的请求时,安全芯片控制模块110开启安全芯片114。然后,安 全芯片控制模块110向安全芯片114的访问控制单元116发布权证认证命令,并将芯片访9问权证104发送至安全芯片114的访问控制单元116。访问控制单元116允许执行权证认 证命令,并向命令执行单元118发布权证认证命令。命令执行单元118执行由访问控制单元116发布的权证认证命令。当命令执行单 元118执行权证认证命令时,访问控制单元116认证从安全芯片控制模块110接收的芯片 访问权证104。当访问控制单元116确定芯片访问权证合法时,安全芯片114向安全芯片控制模 块110通知安全芯片114已经接受了芯片访问权证104。然后,安全芯片控制模块110向应 用程序102通知已经认证了芯片访问权证104。在向应用程序102通知对芯片访问权证104的认证完成之后,应用程序102调用 安全芯片控制模块Iio的API 112,并请求安全芯片控制模块110执行命令。当安全芯片控制模块110接受用于执行来自应用程序102的命令的请求时,安全 芯片控制模块Iio将命令发布至安全芯片114的访问控制单元116。访问控制单元116检查由安全芯片控制模块110发布的命令是否是依据芯片访问 权证104的认证而允许执行的命令,并检查由安全芯片控制模块110发布的命令的访问区 域是否是依据芯片访问权证104的认证而允许访问的区域。在访问控制单元116判定由安 全芯片控制模块110发布的命令是允许执行的命令、并判定命令的访问区域是允许访问的 区域之后,访问控制单元116允许执行命令,并向命令执行单元118发布命令。命令执行单 元118执行由访问控制单元116发布的命令。当访问控制单元116判定芯片访问权证104合法时,非易失性存储器120将芯片 访问权证104的内容存储到存储区域中。当关闭安全芯片114时,非易失性存储器120擦 除存储在存储区域中的芯片访问权证104的内容。[4.芯片访问权证的构造]随后,将描述示例性的芯片访问权证。图4是示出示例性芯片访问权证的示例性 概略构造的说明图。图5是详细示出示例性芯片访问权证的构造的示例性说明图。在图4和图5中,芯片访问权证104包括哈希值(hash value) 130、可执行命令 132、访问区域134、发布者识别码136。为每个访问区域134设置PIN值138,例如,PIN值 138可由安全芯片发布者的PC 400产生,并可由应用程序生成者的PC 300产生。可执行命令132是关于由应用程序102执行的安全芯片114的一列命令的信息。 访问区域134是关于由应用程序102使用的安全芯片114的非易失性存储器120中的区域 的信息。发布者识别码136是用于识别安全芯片114的发布者的信息。哈希值130是基于 可执行命令132、访问区域134、发布者识别码136、PIN值138而产生的哈希值。[5.用于访问控制的第一预备处理]下面将描述由图2的信息处理系统1000执行的用于客户端100的访问控制的第 一预备处理。图6是由图2的信息处理系统1000执行的用于客户端100的访问控制的第 一预备处理的示例性的顺序图。在图6中,首先,应用程序生成者的PC 300向安全芯片发布者的PC 400发布使用 安全芯片114的请求,从而所产生的应用程序102能够使用客户端100的安全芯片114(步 骤S102)。例如,应用程序生成者的PC 300向安全芯片发布者的PC 400报告由产生的应用 程序102执行的安全芯片114的期望的一系列命令,以及由产生的应用程序102使用(即,访问)的安全芯片114的非易失性存储器120中的期望的一系列区域。随后,根据请求使用的内容,已经接收到使用安全芯片114的请求的安全芯片发 布者的PC 400产生如图4和图5所示的芯片访问权证(步骤S104)。然后,安全芯片发布 者的PC 400将所产生的芯片访问权证发布至应用程序生成者的PC 300(步骤S106)。随后,应用程序生成者的PC 300将在步骤S106中发布的芯片访问权证嵌入到所 产生的应用程序102中(步骤S108)。随后,应用程序生成者的PC 300将嵌入有芯片访问权证的应用程序102发送至应 用程序公开服务器200(步骤S110)。然后,应用程序公开服务器200公开在其中嵌入有芯 片访问权证的应用程序102(步骤S112)。结果,客户端100能够从应用程序公开服务器200 下载应用程序102。在安全芯片发布者的PC 400执行步骤S104的处理之后,安全芯片发布者的PC 400将关于所产生的芯片访问权证的访问区域的信息注册到访问区域发布服务器500(步 骤S114),并且为所产生的芯片访问权证的每个访问区域将关于所配置的PIN值的信息注 册到访问区域发布服务器500(步骤Sl 16)。[6.用于访问控制的第二预备处理]下面将描述由图2的信息处理系统1000中的访问区域发布服务器500和客户端 100执行的用于客户端100访问控制的第二预备处理。图7是由图2的信息处理系统1000 中的访问区域发布服务器500和客户端100执行的用于客户端100访问控制的第二预备处 理的示例性顺序图。在执行图6所示的用于客户端100的访问控制的第一预备处理之后, 客户端100下载应用程序102,将应用程序102安装在客户端100上并进行执行。从而,执 行该处理。在图7中,当应用程序102在客户端100中启动时,应用程序102请求安全芯片控 制模块110发布安全芯片114的非易失性存储器120中的访问区域(步骤S202)。随后,安全芯片控制模块110开启安全芯片114 (步骤S204),并请求访问区域发布 服务器500执行在线处理以发布安全芯片114的非易失性存储器120中的访问区域,并为 每个访问区域注册PIN值(步骤S206)。随后,已经接受在线处理请求的访问区域发布服务器500通过在线处理经由安全 芯片控制模块Iio发布安全芯片114的非易失性存储器120中由应用程序102使用的访问 区域(步骤S208)。此外,访问区域发布服务器500通过在线处理经由安全芯片控制模块 110为安全芯片114的非易失性存储器120中的每个所发布的访问区域注册PIN值(步骤 S210)。随后,安全芯片控制模块110向应用程序102通知在线处理的结果(步骤S212)。[7.访问控制处理]下面将描述由图3中所示的客户端100执行的示例性访问控制处理。图8是示出 由图3的客户端100执行的访问控制处理的示例性顺序图。该处理在图7的用于客户端 100的访问控制的第二预备处理之后执行。在图8中,首先,应用程序102将芯片访问权证104发送至安全芯片控制模块110, 并请求开始使用安全芯片114(步骤S302)。随后,安全芯片控制模块110开启安全芯片114 (步骤S304),将权证认证命令发布至安全芯片114,并发送芯片访问权证104(步骤S306)。随后,安全芯片114执行图9所示的稍后描述的芯片访问权证认证处理,并执行认 证以判定所接收的芯片访问权证是否合法(步骤S308)。随后,当在步骤S308中判定芯片访问权证104合法时,安全芯片114存储芯片 访问权证104的内容,并向安全芯片控制模块110通知已经接受芯片访问权证104(步骤 S310)。然后,安全芯片控制模块110向应用程序102通知芯片访问权证104已得到认证 (步骤 S312)。随后,应用程序102调用用于使用安全芯片114的芯片操作API (步骤S314)。然 后,当应用程序102请求安全芯片控制模块110执行安全芯片114的命令时,安全芯片控制 模块110将命令发布至安全芯片114(步骤S316)。随后,安全芯片114使访问控制单元116检查由安全芯片控制模块110发布的命 令是否是在步骤S308中依据芯片访问权证104的认证而允许执行的命令,还检查由安全芯 片控制模块110发布的命令的访问区域是否是在步骤S308中依据芯片访问权证104的认 证而允许访问的区域(步骤S318)。随后,在步骤S318中,安全芯片114判定允许执行的命令,以及允许访问的命令的 访问区域。因此,命令执行单元118执行命令(步骤S320)。随后,安全芯片114向安全芯片控制模块110通知命令的执行结果(步骤S322)。 然后,安全芯片控制模块Iio向应用程序102通知在步骤S322中通知的命令的执行结果 (步骤 S324)。随后,应用程序102请求安全芯片控制模块110终止安全芯片114的使用(步骤 S326)。随后,安全芯片控制模块110关闭安全芯片114(步骤。当关闭安全芯片114 时,擦除在步骤S310中存储的芯片访问权证104的内容。可选地,安全芯片控制模块110将 用于擦除在步骤S310中存储的芯片访问权证104的内容的命令单独发布至安全芯片114。[8.芯片访问权证认证处理]图9是示出在图8的步骤S308中执行的芯片访问权证认证处理的流程图。在图9中,首先,安全芯片114的访问控制单元116判定从安全芯片控制模块110 接收的芯片访问权证104的格式是否正确(步骤S402)。例如,安全芯片114的访问控制单 元116判定芯片访问权证104的格式是否是如图4所示的格式,其中该格式是在由图6的 步骤S104中的安全芯片发布者的PC 400产生的芯片访问权证104的产生中所定义的。当芯片访问权证104的格式作为在步骤S402中判定的结果被判定为正确(步骤 S402中的“是”)时,安全芯片114的访问控制单元116检验芯片访问权证104的哈希值 130(步骤S404)。例如,安全芯片114的访问控制单元116通过将芯片访问权证104的哈 希值130和基于所接收的芯片访问权证104中的可执行的命令132、访问区域134和发布者 识别码136以及基于非易失性存储器120中对应于访问区域134的访问区域中注册的PIN 值所产生的哈希值进行比较来执行验证。可选地,安全芯片114的访问控制单元116可以 通过将芯片访问权证104的哈希值130与基于所接收的芯片访问权证104中的可执行命令 132和访问区域134,基于安全芯片114中注册的发布者识别码,以及基于非易失性存储器 120中对应于访问区域134的访问区域中注册的PIN值所产生的哈希值进行比较来执行验证。随后,安全芯片114的访问控制单元116基于步骤S404的检验结果来判定芯片访 问权证104的哈希值130是否正确(步骤S406)。当判定芯片访问权证104的哈希值130作为步骤S406中的判定结果为正确(步 骤S406中的“是”)时,安全芯片114的访问控制单元116判定芯片访问权证104的发布者 识别码136是否与安全芯片114的发布者识别码一致(步骤S408)。当判定芯片访问权证104的发布者识别码136与安全芯片114的发布者识别码一 致(作为步骤S408中的判定的结果)(步骤S408中的“是”)时,安全芯片114的访问控制 单元116认证芯片访问权证104为合法的芯片访问权证(步骤S410)。从而,允许应用程序 102执行芯片访问权证104的可执行命令132的命令,并且允许使用对应于访问区域134的 访问区域。在下列情况下安全芯片114的访问控制单元116判定芯片访问权证104是非法的 芯片访问权证(步骤S412):当判定芯片访问权证104的格式不正确(作为步骤S402中判 定的结果)(步骤S402中的“否”)时;当判定芯片访问权证104的哈希值130不正确(作 为步骤S406中判定的结果)(步骤S406中的“否”)时;或者当判定芯片访问权证104的 发布者识别码136与安全芯片114的发布者识别码不一致(作为步骤S408中判定的结果) (步骤S408中的“否”)时。根据图8的访问控制处理,认证从应用程序发送的芯片访问权证,并且当判定芯 片访问权证合法时,基于关于允许执行应用程序的命令的信息以及基于关于允许应用程序 访问的安全芯片的存储区域的信息,允许执行应用程序给出的命令。关于命令的信息和关 于存储区域的信息包括在芯片访问权证中。因此,能够可靠地防止应用程序对安全芯片114 进行非法访问。在安全芯片发布者在访问区域134中为管理安全芯片114的应用程序设置特别的 访问区域的情况下,安全芯片114每次可以允许使用所有的访问区域,并且可适于仅给出 用于命令的许可。在安全芯片发布者在访问区域134中设置特殊访问区域(设置为用于仅使用安全 芯片114的功能而不依赖于访问区域的(例如,具有包括在安全芯片114中的与外部信息 终端的无线通信功能)的应用程序)的情况下,安全芯片114可禁止使用所有的访问区域, 并且可适于仅给出用于命令的许可。当在芯片访问权证中未指定访问区域134时,安全芯片114可判定安全芯片发布 者已经进行了用于管理安全芯片134的应用程序的设置,或者判定安全芯片发布者已经进 行了用于使用安全芯片114的功能而不依赖于访问区域的应用程序的设置,并且安全芯片 114可适于用特殊访问区域的PIN值自动执行认证。[9.访问控制处理的细节]随后,将描述图8的访问控制处理的细节。图10是示出图8的访问控制处理的细 节的流程图。在图10中,首先,由安全芯片控制模块110开启安全芯片114(步骤S502)。安全 芯片114接受由安全芯片控制模块110发布的权证认证命令,并接收芯片访问权证104 (步 骤 S504)。
随后,安全芯片114的访问控制单元116判定所接收的芯片访问权证104是否是 合法的芯片访问权证(步骤S506)。当判定所接收的芯片访问权证104是合法的芯片访问权证(作为步骤S506中判 定的结果)(步骤S506中的“是”)时,安全芯片114的访问控制单元116设置安全芯片114 的状态,从而允许操作(enable)芯片访问权证104的可执行命令132的命令,并允许对应 于访问区域134的访问区域的使用(步骤S508),并向安全芯片控制模块110通知已经接受 芯片访问权证104(步骤S510)。随后,安全芯片114接受由安全芯片控制模块110给出的命令,其中安全芯片控 制模块Iio已经从应用程序102接受用于执行安全芯片114的命令的执行的请求(步骤 S512)。随后,安全芯片114的访问控制单元116判定由安全芯片控制模块110发布的命 令是否是依据芯片访问权证104的认证而允许执行的命令,并判定由安全芯片控制模块 110发布的命令的访问区域是否是依据芯片访问权证104的认证而允许访问的区域(步骤 S514)。当判定由安全芯片控制模块110发布的命令是允许执行的命令,并且判定命令的 访问区域是允许访问的区域(作为步骤S514中判定的结果)(步骤S514中的“是”)时,安 全芯片114的访问控制单元116允许命令的执行,并使用显示单元122向用户显示安全芯 片114的正常使用。例如,安全芯片114的访问控制单元116可通过显示单元122的LED 的发光来显示正常使用,并根据命令改变LED发光的颜色和类型。随后,安全芯片114的命令执行单元118执行命令(其执行由安全芯片114的访 问控制单元116允许)(步骤S518)。然后,安全芯片114将命令的执行结果回复至安全芯 片控制模块110(步骤S520)。当判定所接收的芯片访问权证104不是合法的芯片访问权证(作为步骤S506中 判定的结果)(步骤S506中的“否”)时,安全芯片114将指示芯片访问权证104认证失败 的信息回复至安全芯片控制模块110(步骤S522)。当判定由安全芯片控制模块110发布的命令不是允许执行的命令,或者判定命令 的访问区域不是允许访问的区域(作为步骤S514中判定的结果)(步骤S514中的“否”) 时,安全芯片114的访问控制单元116禁止命令的执行,并使用显示单元122向用户显示安 全芯片114的非法使用(步骤S524)。例如,安全芯片14的访问控制单元116可通过显示 单元122的LED的发光来显示非法使用,并可根据命令改变LED发光的颜色和类型。[10. PIN值变更处理]下面将描述由图2的信息处理系统1000中的访问区域发布服务器500和客户端 100执行的PIN值变更处理。图11是示出由在图2的信息处理系统1000中访问区域发布 服务器500和客户端100执行的PIN值变更处理的顺序图。执行该处理以防止当PIN值 138泄露或被盗时通过使用泄露的或被盗的PIN值138来非法访问安全芯片114。在执行 下列步骤之后执行该处理客户端100下载更新的应用程序150 ;并且随后将更新的应用程 序150安装在客户端100上。在图11中,首先,当激活客户端100中更新的应用程序150时,更新的应用程序 150请求安全芯片控制模块110变更为安全芯片114的非易失性存储器120中的每个访问区域注册的PIN值(步骤S602)。
随后,安全芯片控制模块110开启安全芯片114 (步骤S604),并请求访问区域发布 服务器500执行在线处理以更新为安全芯片114的非易失性存储器120中的每个访问区域 注册的PIN值(步骤S606)。随后,已经接受在线处理请求的访问区域发布服务器500确认是否已经通过在线 处理经由安全芯片控制模块110在安全芯片114的非易失性存储器120中发布了由应用程 序102使用的访问区域(步骤S608)。此外,访问区域发布服务器500通过在线处理经由安 全芯片控制模块110来更新为安全芯片114的非易失性存储器120中的每个访问区域注册 的PIN值(步骤S610)。随后,安全芯片控制模块110向应用程序150通知在线处理的结果(步骤S612)。根据图11的PIN值变更处理,当PIN值138泄露或被盗时,能够变更PIN值138。 因此,PIN值变更处理防止通过使用PIN值138非法访问安全芯片114。[11.芯片访问权证认证处理的变形例]下面将描述在图8的步骤S308中执行的芯片访问权证认证处理的变形例。图12 是示出图8的步骤S308中执行的芯片访问权证认证处理的示例性变形例的流程图。在图12中,安全芯片114判定从安全芯片控制模块110接收的芯片访问权证104 的格式是否正确(步骤S702)。当判定芯片访问权证104的格式正确(作为步骤S702中判定的结果)(步骤S702 中的“是”)时,安全芯片114判定芯片访问权证104的发布者识别码136与安全芯片114 的发布者识别码是否一致(步骤S704)。当判定芯片访问权证104的发布者识别码136与安全芯片114的发布者识别码一 致(作为步骤S704中判定的结果)(步骤S704中的“是”)时,安全芯片114判定在非易失 性存储器120中是否存在芯片访问权证104的访问区域134(步骤S706)。当判定在非易失性存储器120中存在芯片访问权证104的访问区域134(作为步 骤S706中判定的结果)(步骤S706中的“是”)时,安全芯片114检验芯片访问权证104的 哈希值130(步骤S708)。随后,安全芯片114判定芯片访问权证104的哈希值130(作为步骤S708的检验 结果)是否正确(步骤S710)。当判定芯片访问权证104的哈希值130正确(作为在步骤S710中判定的结果) (步骤S710中的“是”)时,安全芯片114将芯片访问权证104认证为合法的芯片访问权证, 并将指示“认证成功”的信息回复至安全芯片控制模块110(步骤S712)。当判定芯片访问权证104的格式不正确(作为步骤S702中判定的结果)(步骤 S702中的“否”)时,安全芯片114将指示“非法权证”的错误代码回复至安全芯片控制模 块 110(步骤 S714)。当判定芯片访问权证104的发布者识别码136与安全芯片114的发布者识别码不 一致(作为步骤S704中判定的结果)(步骤S704中的“否”)时,安全芯片114将指示“错 误发布者”的错误代码和安全芯片114的发布者识别码回复至安全芯片控制模块110(步骤 S716)。可选地,在步骤S716中,仅将指示“错误发布者”的错误代码发送至安全芯片控制 模块110。
当判定在非易失性存储器120中不存在芯片访问权证104的访问区域134(作为 步骤S706中判定的结果)(步骤S706中的“否”)时,安全芯片114将指示“没有区域”的 错误代码回复至安全芯片控制模块110(步骤S718)。当判定芯片访问权证104的哈希值130不正确(作为步骤S710中判定的结果) (步骤S710中的“否”)时,安全芯片114将指示“错误哈希值”的错误代码回复至安全芯 片控制模块110(步骤S720)。根据图12的芯片访问权证认证处理,当安全芯片114中的芯片访问权证104的认 证失败时,安全芯片114将错误代码回复至安全芯片控制模块110。然后,安全芯片控制模 块110根据所接收的错误代码执行下列处理。[12.根据错误代码的处理]下面将描述图3的客户端100根据错误代码所执行的处理。图13是示出由图3 的客户端100所执行的根据错误代码而执行的示例性处理的流程图。在图12的芯片访问 权证认证处理中安全芯片114将错误代码回复至安全芯片控制模块110之后执行该处理。在图13中,首先,客户端100的安全芯片控制模块110判定从安全芯片114接收 的错误代码是否是指示“非法权证”的错误代码(步骤S802)。当判定错误代码是指示“非法权证”的错误代码(作为步骤S802中判定的结果) (步骤S802中的“是”)时,安全芯片控制模块110利用显示单元122向用户警告正在运行 的非法应用程序要操作安全芯片114(步骤S804)。在步骤S804中,可强制停止已经发送了 芯片访问权证104的非法应用程序的操作,并可强制删除非法应用程序。因此,能够预先防 止对安全芯片114的非法访问。当判定错误代码不是指示“非法权证”的错误代码(作为步骤S802中判定的结果) (步骤S802中的“否”)时,安全芯片控制模块110判定错误代码是否是指示“错误发布者” 的错误代码(步骤S806)。当判定错误代码是指示“错误发布者”的错误代码(作为步骤S806中判定的结 果)(步骤S806中的“是”)时,安全芯片控制模块110使用显示单元122向用户通知应用 程序的发布者与要操作的安全芯片114的发布者不同(步骤S808)。在步骤S808中,当安 全芯片控制模块110接收指示“错误发布者”的错误代码和安全芯片114的发布者识别码 时,安全芯片控制模块110可基于发布者识别码来检索源(source)(从该源可下载为安全 芯片114的当前发布者提供相同服务的应用程序),并可使得浏览器来显示源以提示用户 更换或更新应用程序,或可自动下载应用程序以更换或者更新应用程序。当判定错误代码不是指示“错误发布者”的错误代码(作为步骤S806中判定的结 果)(步骤S806中的“否”)时,安全芯片控制模块110判定错误代码是否是指示“没有区 域”的错误代码(步骤S810)。当判定错误代码是指示“没有区域”的错误代码(作为步骤S810中判定的结果) (步骤S810中的“是”)时,安全芯片控制模块110使用显示单元120向用户通知在安全芯 片114中尚未发布该区域(步骤S812)。在步骤S812中,安全芯片控制模块110可与应用 程序102交换信息,并可通过请求访问区域发布服务器500执行用于发布访问区域的在线 处理来发布区域。当判定错误代码不是指示“没有区域”的错误代码(作为步骤S810中判定的结果)(步骤S810中的“否”)时,错误代码是指示“错误哈希”的错误代码。在这种情况下,应用 程序102的芯片访问权证104或者安全芯片114中的PIN值可能不是最新的。因此,安全 芯片控制模块110向用户通知可能需要更新应用程序102或者PIN值(步骤S814)。在步 骤S814中,安全芯片控制模块110可与应用程序102交换信息,并检查是否已经出版应用 程序的最新版本。当已经出版应用程序的最新版本时,安全芯片控制模块110可下载并更 新应用程序。安全芯片控制模块110可通过请求访问区域发布服务器500执行变更PIN值 的在线处理来更新PIN值。根据图13所示的对应于错误代码而执行的处理,用户能够理解为什么判定芯片 访问权证非法。此后,能够自动执行所请求的处理。因此,提高了用户的可用性。当在根据图13所示的错误代码执行处理中,更新了应用程序、发布了区域或者更 新了 PIN值时,安全芯片控制模块110可将芯片访问权证的权证认证命令再次发布至安全 芯片114,并使安全芯片114再次执行芯片访问权证认证处理。在这种情况下,当安全芯片 控制模块110从安全芯片114接收到与之前的错误代码相同的错误代码时,安全芯片控制 模块110使用显示单元122向用户通知发生异常,并终止应用程序。可通过向系统或装置提供存储有用于实现每个上述示例性实施方式的功能的软 件的程序代码的存储介质,并使系统或者装置的计算机(或者CPU,MPU等)读取并执行存 储在存储介质中的程序代码,来实现本发明的实施方式。在这种情况下,从存储介质中读取的程序代码实现每个上述示例性实施方式的功 能。用于提供程序代码的存储介质的实例包括软(注册商标)盘、硬盘、磁光盘、光盘 (诸如 CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW 和 DVD+RW)、磁带、非易失性存储卡、 ROM。可选地,可通过网络下载程序代码。此外,不仅通过执行由计算机读出的程序代码,而且通过使(在计算机上运行的) OS(操作系统)等基于程序代码的指令执行实际处理的一部分或者全部,来完成每个上述 的示例性实施方式的功能。此外,通过将从存储介质中读出的程序代码写入到(插入计算机中的)功能扩展 板上设置的存储器,或者写入到与计算机相连接的功能扩展单元中,并然后使扩展板或者 扩展单元中设置的CPU等根据程序代码的指令执行实际处理的一部分或者全部,来完成每 个上述的示例性实施方式的功能。可以理解的是,对这里描述的优选实施方式进行的各种变化和修改,对于本领域 技术人员来说是显而易见的。可以在不脱离本发明主题的精神和范围,并不会减小其预期 的优势的情况下,进行这样的变化和修改。因此,旨在将这样的变化和修改包括在所附的权 利要求中。
权利要求
1.一种集成电路芯片,包括认证控制单元,被配置为使用认证信息对请求进行认证, 其中,所述请求和所述认证信息中的至少一个从所述集成电路芯片外部接收。
2.根据权利要求1所述的集成电路芯片,其中,所述请求包括可执行命令、访问区域、 发布者识别码中的至少一个。
3.根据权利要求1所述的集成电路芯片,其中,所述认证信息包括哈希值。
4.根据权利要求1所述的集成电路芯片,其中,所述集成电路芯片的发布设备产生所 述请求和所述认证信息中的至少一个。
5.根据权利要求4所述的集成电路芯片,其中,所述发布设备向应用程序生成者发布 所述请求和所述认证信息中的至少一个。
6.根据权利要求4所述的集成电路芯片,其中,所述发布设备将与所述请求的访问区 域相关的信息注册到访问区域发布服务器。
7.根据权利要求4所述的集成电路芯片,其中,所述发布设备将与所述请求的访问区 域相关的PIN值注册到访问区域发布服务器。
8.根据权利要求1所述的集成电路芯片,其中,所述集成电路芯片基于下列各项来执 行命令(i)关于应用程序被允许执行的命令的信息;以及( )关于应用程序被允许访问的所述集成电路芯片的存储区域的信息。
9.根据权利要求1所述的集成电路芯片,其中,芯片控制模块 从应用程序接收所述请求,开启所述集成电路芯片, 向所述集成电路芯片发布认证命令,以及 将所述请求发送至所述集成电路芯片。
10.根据权利要求9所述的集成电路芯片,其中,在所述集成电路芯片处接收所述请 求,并且响应于所述请求,所述集成电路芯片弓I导对存储位置的访问。
11.根据权利要求9所述的集成电路芯片,其中 认证所述请求以判定所述请求是否合法, 判定所述请求合法,接受所述请求,所述集成电路芯片向所述芯片控制模块通知已经接受所述请求,以及 所述芯片控制模块向所述应用程序通知已经认证所述请求。
12.根据权利要求11所述的集成电路芯片,其中所述应用程序调用用于使用集成电路芯片的芯片操作API, 所述芯片控制模块将可执行命令发布至所述集成电路芯片,所述认证控制单元检查是否允许执行所述可执行命令,以及是否允许访问所述可执行 命令的访问区域。
13.根据权利要求12所述的集成电路芯片,其中 所述集成电路芯片执行所述可执行命令,所述集成电路芯片向所述芯片控制模块通知所述可执行命令的执行结果,所述芯片控制模块向所述应用程序通知所述可执行命令的执行结果, 所述应用程序请求所述芯片控制模块终止使用所述集成电路芯片,以及 所述芯片控制模块关闭所述集成电路芯片。
14.根据权利要求13所述的集成电路芯片,其中,擦除所述请求和所述认证信息。
15.根据权利要求1所述的集成电路芯片,其中,在所述请求被认证之后,由请求合法 访问的信息被显示在显示单元上。
16.一种信息处理装置,包括集成电路芯片,包括配置为使用认证信息对请求进行认证的认证控制单元, 其中,从所述集成电路芯片外部接收所述请求和所述认证信息中的至少一个。
17.根据权利要求16所述的信息处理装置,其中,所述信息处理装置是便携式电话。
18.一种信息处理系统,包括信息处理装置,包括集成电路芯片,所述集成电路芯片包括配置为使用认证信息对请 求进行认证的认证控制单元,其中,所述请求和所述认证信息中的至少一个从所述集成电路芯片外部接收。
19.一种方法,包括由包括认证控制单元的集成电路芯片使用认证信息对请求进行认证, 其中,所述请求和所述认证信息中的至少一个从所述集成电路芯片外部接收。
20.一种存储程序的存储介质,其中,当执行所述程序时,使得包括认证控制单元的集 成电路芯片使用认证信息对请求进行认证,其中,所述请求和所述认证信息中的至少一个从所述集成电路芯片外部接收。
全文摘要
本发明涉及一种IC芯片、信息处理装置、系统、方法和程序。IC芯片包括配置为使用认证信息对请求进行认证的认证控制单元。从IC芯片的外部接收请求和/或认证信息。
文档编号G06K19/073GK102043978SQ20101051017
公开日2011年5月4日 申请日期2010年10月8日 优先权日2009年10月16日
发明者关谷秀一, 加藤晋一, 神野五月, 花木直文 申请人:飞力凯网路股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1