信息处理设备、程序、存储介质和信息处理系统的制作方法

文档序号:7755035阅读:136来源:国知局
专利名称:信息处理设备、程序、存储介质和信息处理系统的制作方法
技术领域
本发明涉及信息处理设备、程序、存储介质和信息处理系统。
背景技术
近年来,安装了防篡改IC芯片(以下,称为“安全芯片”)的诸如移动电话之类的 信息处理设备已经普及。用户仅通过将这样的信息处理设备经过读写器就能够执行数据通 信是非常方便的。例如,将这样的信息处理设备应用于电子货币系统,用户在仅仅将信息处 理设备经过商店等处的读写器后能够立即完成支付。此外,当使用以上电子货币系统时,用户可以启动被安装到该信息处理设备上的 应用程序来在显示屏上确认使用历史、结余等。因此,各种应用程序可以被安装到这样的信 息处理设备上。已经开发了各种有关上述具有安全芯片的信息处理设备的技术。日本 JP-A-2006-222787公开了一种通过管理使得读写器能够与信息处理设备通信的访问密钥 来快速安全地进行通信而不论服务、访问等是否增加的技术。JP-A-2006-246015公开了一 种其中读写器通过组合一种或多种认证方法来认证信息处理设备并且执行与安全芯片的 通信处理的技术。

发明内容
在被安装到以上信息处理设备上的应用程序中,某些应用试图对安全芯片进行欺 骗性访问。为此,信息处理设备需要防止这样的欺骗性访问。欺骗性访问的示例之一是在 没有用户许可的情况下欺骗性地浏览使用历史。为了防止上述欺骗性访问,在信息处理设备的领域中,已经有这样的情况系统运 营公司将应用程序管理器的规格修改成专有规格,然后将修改后的应用程序管理器限制为 仅在公司自己运营的系统上使用,从而管理对安全芯片的访问控制。然而,当多个系统运营公司共用遵循标准规格的应用程序管理器和外围系统时, 应用程序管理器不能被修改其规格,这是因为如果每个系统运营公司都自行修改规格,则 系统的整合性将受损。为此,已经存在不能应用传统的访问控制方法的问题。还有另一个 问题是,在每次需要对安全芯片的访问控制时根据应用程序来修改应用程序管理器的规格 是很不方便的。鉴于以上所述,希望提供能够在不修改应用程序管理器的规格的情况下防止应用 程序对安全芯片进行欺骗性访问的新颖并改进的信息处理设备、程序、存储介质和信息处 理系统。根据本发明的一个实施例,提供了一种信息处理设备,该信息处理设备包括接收 单元,接收单元从应用程序接收对IC芯片的访问请求,应用程序具有用于访问IC芯片的访 问权限信息;获取单元,获取单元基于由接收单元接收到的访问请求中所包含的访问权限 信息,来从外部服务器获取用于认证应用程序的认证信息;认证单元,认证单元基于由获取单元获得的认证信息来认证应用程序;以及控制单元,控制单元基于认证单元的认证结果 来控制应用程序对IC芯片的访问。根据这样的配置,可以在不修改应用程序管理器的规格的情况下防止应用程序对 安全芯片的欺骗性访问。该信息处理设备还包括验证单元,其具有包含第一秘密密钥和第一公钥的第一密 钥对中的第一公钥。访问权限信息可以包含使用第一密钥对中的第一秘密密钥的第一数字 签名。认证信息可以包含使用第一密钥对中的第一秘密密钥的第二数字签名。验证单元可 以验证访问权限信息中所包含的第一数字签名,并且验证认证信息中所包含的第二数字签 名。获取单元可以从应用程序获得应用程序的二进制数据。认证信息可以包含使用包 含第二秘密密钥和第二公钥的第二密钥对中的第二秘密密钥的应用程序的签名值和第二 密钥对中的第二公钥。认证单元可以通过将由获取单元获得的应用程序的二进制数据与认 证信息中所包含的应用程序的签名值使用认证信息中所包含的第二密钥对中的第二公钥 解密出的解密后的数据相比较来认证应用程序。应用程序可以具有包含第三秘密密钥和第三公钥的第三密钥对中的第三公钥和 使用第三密钥对中的第三秘密密钥的第三数字签名。获取单元可以从应用程序获取第三密 钥对中的第三公钥。认证信息可以包含第三密钥对中的第三公钥。认证单元可以通过将由 获取单元获得的第三密钥对中的第三公钥与认证信息中所包含的第三密钥对中的第三公 钥相比较来认证应用程序。该信息处理设备还可以包括存储用于访问IC芯片的命令信息的存储单元,该命 令信息被包括在由已被认证单元认证的应用程序包含的访问权限信息中。当来自应用程序 的用于访问IC芯片的命令被包含在存储单元中所存储的用于访问的命令信息中时,控制 单元可以准许应用程序访问IC芯片。当来自应用程序的用于访问IC芯片的命令未被包含 在存储单元中所存储的用于访问的命令信息中时,控制单元可以阻止应用程序访问IC芯 片。存储单元还可以存储IC芯片的可访问区域信息,可访问区域信息被包括在由已 被认证单元认证的应用程序包含的访问权限信息中。控制单元可以基于存储单元中所存储 的可访问区域信息来限制IC芯片中将被应用程序访问的可访问区域。该信息处理设备还可以包括保持单元,保持单元保持由获取单元获得的认证信 息。认证单元可以基于由保持单元保持的认证信息来认证应用程序。根据本发明的另一实施例,提供一种程序,该程序使得计算机用作接收单元,接 收单元从应用程序接收对IC芯片的访问请求,应用程序具有用于访问IC芯片的访问权限 信息;获取单元,获取单元基于由接收单元接收到的访问请求中所包含的访问权限信息,来 从外部服务器获取用于认证应用程序的认证信息;认证单元,认证单元基于由获取单元获 得的认证信息来认证应用程序;以及控制单元,控制单元基于认证单元的认证结果来控制 应用程序对IC芯片的访问。根据这样的程序,可以在不修改应用程序管理器的规格的情况下防止应用程序对 安全芯片的欺骗性访问。根据本发明的另一实施例,提供一种存储程序的存储介质,该程序使得计算机用作接收单元,接收单元从应用程序接收对IC芯片的访问请求,应用程序具有用于访问IC 芯片的访问权限信息;获取单元,获取单元基于由接收单元接收到的访问请求中所包含的 访问权限信息,来从外部服务器获取用于认证应用程序的认证信息;认证单元,认证单元基 于由获取单元获得的认证信息来认证应用程序;以及控制单元,控制单元基于认证单元的 认证结果来控制应用程序对IC芯片的访问。根据这样的存储介质,可以在不修改应用程序管理器的规格的情况下防止应用程 序对安全芯片的欺骗性访问。根据本发明另一实施例,提供一种信息处理系统,其包括信息处理设备和能够与 该信息处理设备通信的外部服务器。该信息处理设备包括接收单元,接收单元从应用程序 接收对IC芯片的访问请求,应用程序具有用于访问IC芯片的访问权限信息;获取单元,获 取单元基于由接收单元接收到的访问请求中所包含的访问权限信息,来从外部服务器获取 用于认证应用程序的认证信息;认证单元,认证单元基于由获取单元获得的认证信息来认 证应用程序;以及控制单元,控制单元基于认证单元的认证结果来控制应用程序对IC芯片 的访问。根据这样的信息处理设备,可以在不修改应用程序管理器的规格的情况下防止应 用程序对安全芯片的欺骗性访问。根据上述本发明实施例,可以在不修改应用程序管理器的规格的情况下防止应用 程序对安全芯片的欺骗性访问。


图1是用于图示出通过传统的信息处理设备中的应用程序对安全芯片的访问控 制的示图;图2是用于图示出根据本发明第一实施例的信息处理系统的示意性配置的示图;图3是用于图示出图2中的客户端的功能配置的示图;图4是示出由根据本发明第一实施例的信息处理设备执行的访问控制预备处理 的序列图;图5是示出由根据本发明第一实施例的信息处理设备执行的访问控制处理的序 列图;图6是示出在图5中的步骤S102中所执行的访问权限信息认证处理的流程图;图7是示出在图5中的步骤S106中所执行的应用程序认证处理的流程图;图8是示出在图5中的步骤S109中所执行的命令执行控制处理的流程图;图9是用于图示出访问权限信息的内容的示图;图10是用于图示出访问权限信息的内容的示图;图11是用于图示出认证信息的内容的示图;图12是用于图示出认证信息的内容的示图;图13是用于图示出根据本发明第二实施例的信息处理系统的示意性配置的示 图;图14是示出由根据本发明第二实施例的信息处理设备执行的访问控制预备处理 的序列图15是示出由根据本发明第二实施例的信息处理设备执行的访问控制处理的序 列图;图16是示出在图15中的步骤S808中所执行的应用程序认证处理的流程图;图17是用于图示出认证信息的内容的示图;图18是用于图示出认证信息的内容的示图。
具体实施例方式以下将参考附图来详细描述本发明的优选实施例。注意,在该说明书和附图中,基 本具有相同功能和结构的结构元件用相同的标号表示,并且省略对这些结构元件的重复描 述。将以如下顺序来进行说明1.传统的访问控制2.根据本发明第一实施例的信息处理系统3.根据本发明第一实施例的访问控制预备处理4.根据本发明第一实施例的访问控制处理5.根据本发明第二实施例的信息处理系统6.根据本发明第二实施例的访问控制预备处理7.根据本发明第二实施例的访问控制处理[传统的访问控制]在说明根据本发明的实施例的信息处理系统之前,首先,将说明传统的信息处理 设备中应用程序对安全芯片的访问控制。图1是用于图示出传统的信息处理设备中应用程 序对安全芯片的访问控制的示图。在图1中,作为诸如移动电话之类的传统信息处理设备的一个示例的客户端10包 括应用程序11、应用程序12、控制模块13、API (应用程序接口)14、应用程序管理器15和 安全芯片16。应用程序11对安全芯片16没有访问权限。应用程序12对安全芯片16具有 访问权限。在客户端10中,如果应用程序12向控制模块13请求经由API 14访问安全芯片 16,则应用程序管理器15判断请求访问的应用程序12是否具有访问权限。由于应用程序 12对安全芯片16具有访问权限,所以,应用程序管理器15允许应用程序12访问安全芯片 16。这使得控制模块13能够在安全芯片16上执行应用程序12所要求的访问安全芯片16 的命令。另一方面,如果应用程序11向控制模块13请求经由API 14访问安全芯片16,则 应用程序11将不被准许访问安全芯片16,这是因为应用程序11对安全芯片16没有访问权 限。因此,控制模块13不在安全芯片16上执行应用程序11所要求的访问安全芯片16的 命令。这使得能够防止不具有访问权限的应用程序11对安全芯片16进行欺骗性访问。注 意,客户端10具有防止所安装的应用程序绕过控制模块13访问安全芯片16的功能。在传统的客户端10中,系统运营公司将应用程序管理器15的规格修改成专有 规格,然后将修改后的应用程序管理器15限制为仅在该公司自己运营的系统上使用来 管理对安全芯片16的访问控制。在诸如移动电话之类的客户端10中运行的Java应用程序中,例如,访问安全芯片16的属性被添加到描述文件(manifest file)和JAD(Java Application Descriptor Java应用程序描述符)。然后,系统运营公司将JAM(Java Application Manager Java应用程序管理器)的标准规格改为专有规格以使得JAM(作为 应用程序管理器15的一个示例)能够读取所添加的访问属性的内容,并且将专有规格仅应 用于公司自己运营的系统上。然而,当多个系统运营公司共用遵循标准规格的应用程序管理器和外围系统时, 应用程序管理器不能被修改其规格,因为如果每个系统运营公司自行修改应用程序,则系 统的整合性将受损。为此,不能应用传统的访问控制方法,并且无法防止应用程序对安全芯 片16的欺骗性访问。稍后描述的根据本发明实施例的信息处理系统执行后述访问控制预备处理和访 问控制处理。因此,在不修改应用程序管理器15的规格的情况下就能够防止应用程序对安 全芯片16的欺骗性访问。[根据本发明第一实施例的信息处理系统]接着,将说明根据本发明第一实施例的信息处理系统。图2是用于图示出根据本 发明第一实施例的信息处理系统的示意配置的示图。在图2中,作为本发明的信息处理设备的示例的信息处理系统1000包括客户端 100 (例如,移动电话)、发布服务器200、应用程序提供服务器300和认证服务器400。注意, 信息处理系统1000可以包括诸如PC之类的客户端150而不是客户端100。客户端100和 150是本发明的信息处理设备的示例之一。客户端100和150以及服务器200、300和400 分别连接到通信网络400。客户端100包括应用程序110、控制模块120和安全芯片130。安全芯片130是具 有出色的防篡改特征的IC芯片。安全芯片130包括例如用来与读写器(未示出)执行非 接触通信的非接触通信装置(未示出),并且以非接触方式来与读写器进行信息传送。此 外,安全芯片130包括存储装置(未示出)并且存储以非接触方式传送的信息。注意,安全 芯片130的存储装置也可以存储除了以非接触方式传送的信息之外的信息。应用程序110 使用被存储在安全芯片130的存储装置中的信息来执行预定处理。此外,应用程序110包 括后述图9和图10中的访问权限信息112。控制模块120控制安全芯片130。例如,控制 模块120如后所述那样控制应用程序110对安全芯片130的访问。客户端150包括应用程序160和控制模块170,并且控制模块170控制外部安全芯 片180。应用程序160、控制模块170和安全芯片180中的每一个分别具有与应用程序110、 控制模块120和安全芯片130相同的功能配置。此外,应用程序160具有与访问权限信息 112相同的访问权限信息162。应用程序提供服务器300例如创建应用程序110。当创建访问安全芯片130的应 用程序110时,应用程序提供服务器300向发布服务器200请求对安全芯片130的访问。当 发布服务器200发布后述访问权限信息112时,应用程序提供服务器300将发布的访问权 限信息112嵌入应用程序110中。此外,应用程序提供服务器300将用于生成后述认证信 息402的信息发送给发布服务器200。应用程序提供服务器300在客户端100请求应用程 序110的提供时向客户端100提供应用程序110。发布服务器200例如在从应用程序提供服务器300接收到访问安全芯片130的请求之后生成访问权限信息112,并且将所生成的访问权限信息112发布给应用程序提供服 务器300。此外,发布服务器200在从应用程序提供服务器300接收到用于生成认证信息 402的信息之后生成认证信息402,并且将所生成的认证信息402发送给认证服务器400。认证服务器400具有认证信息402。认证服务器400是本发明的外部服务器的一 个示例。例如如后所述,认证服务器400在从客户端100的控制模块120接收到对认证信 息402的请求之后将认证信息402发送给控制模块120。信息处理系统1000通过执行稍后描述的图4中所示的访问控制预备处理和图5 中所示的访问控制处理,可以在不修改应用程序管理器(未示出)的规格的情况下防止应 用程序对安全芯片130的欺骗性访问。以下,将说明信息处理系统1000由客户端100、发布 服务器200、应用程序提供服务器300和认证服务器400配置的情况。接着,将说明图2中的客户端100的功能配置。图3是用于图示出图2中的客户 端100的功能配置的示图。在图3中,客户端100包括应用程序110、控制模块120和安全芯片130。控制模 块120包括接收单元121、获取单元122、认证单元123、控制单元124、验证单元125、存储单 元126和保持单元127。接收单元121从应用程序110接收访问安全芯片130的请求,该请求具有有关访 问安全芯片130的访问权限信息112。获取单元122基于由接收单元121接收到的访问请 求中所包含的访问权限信息112来从认证服务器400获取用于认证应用程序110的认证信 息402。认证单元123基于由获取单元122获得的认证信息402来认证应用程序110。控 制单元124基于认证单元123的认证结果来控制应用程序110对安全芯片130的访问。验证单元125具有稍后描述的由发布服务器200生成的密钥对中的公钥,并且对 访问权限信息112中所包含的数字签名和认证信息402中所包含的数字签名进行验证。存 储单元126存储用于访问安全芯片130的命令信息和可访问区域信息,这些信息被包括在 由已被认证单元123认证的应用程序110包含的访问权限信息112中。保持单元127保持 由获取单元122获得的认证信息402。[根据本发明第一实施例的访问控制预备处理]以下,将说明根据本发明第一实施例的访问控制预备处理。图4是示出由根据本 发明第一实施例的信息处理设备执行的访问控制预备处理的序列图。在图4中,首先,发布服务器200生成用于数字签名的密钥对(作为根据本发明第 一实施例的密钥对的一个示例)(步骤S201)。然后,接着,发布服务器200将所生成的密钥 对的公钥(未示出)嵌入到客户端100的控制模块120中(步骤S202)。接着,应用程序提供服务器300向发布服务器200请求访问安全芯片130以使得 所要生成的应用程序110能够访问客户端100的安全芯片130(步骤S301)。具体地,应用 程序提供服务器300向发布服务器200发送要被优先执行的芯片访问命令的列表以及要被 优先地访问的芯片区域的列表。接着,已经接收到对安全芯片130的访问请求的发布服务器200基于访问请求的 内容,生成图9和图10中所示的访问权限信息112。如图9和图10中所示,访问权限信息 112由应用程序标识符113、可执行命令列表114、可访问区域列表115和签名数据116配 置。应用程序标识符113是用于标识应用程序110的信息。可执行命令列表114是芯片访问命令的列表,这些命令可由应用程序110执行。可访问区域列表115是可由应用程序110 访问的芯片区域的列表。签名数据116是使用步骤S201中所生成的密钥对的秘密密钥202 的、与应用程序标识符113、可执行命令列表114和可访问区域列表115相对应的数字签名。 签名数据116是根据本发明的第一数字签名的一个示例。发布服务器200将所生成的访问 权限信息112发布给应用程序提供服务器300 (步骤S204)。接着,应用程序提供服务器300创建应用程序110 (步骤S302),并且将步骤S204 中发布的访问权限信息112嵌入到所创建的应用程序110中(步骤S303)。如后所述,应用 程序提供服务器300使得应用程序110能够在应用程序110向控制模块120请求访问安全 芯片130时将访问权限信息112传递给控制模块120。接着,应用程序提供服务器300生成用于数字签名的密钥对(作为本发明的第二 密钥对的一个示例)(步骤S304),并且如图11中所示,使用所生成的密钥对中的秘密密钥 302来生成应用程序110的应用程序签名值404(步骤S305)。然后,如图11中所示,应用 程序提供服务器300将步骤S305中所生成的应用程序签名值404和步骤S304中所生成的 密钥对中的公钥304提供给发布服务器200 (步骤S306)。接着,发布服务器200基于所提供的应用程序签名值404和公钥304来生成图11 和图12中所示的认证信息402 (步骤S205)。如图11和图12中所示,认证信息402由应用 程序标识符403、应用程序签名值404、用于签名验证的公钥405和签名数据406配置。应 用程序标识符403是用于标识应用程序110的信息。应用程序签名值404是指向应用程序 110的签名值。用于签名验证的公钥405是与用来执行指向应用程序110的数字签名的秘 密密钥302相对应的公钥304。签名数据406是使用步骤S201中所生成的密钥对中的秘密 密钥202的、与应用程序标识符403、应用程序签名值404和用于签名验证的公钥405相对 应的数字签名。签名数据406是本发明的第二数字签名的一个示例。发布服务器200将所 生成的认证信息402发送给认证服务器400 (步骤S206),并且认证服务器400登记接收到 的认证信息402并结束该处理。[根据本发明第一实施例的访问控制处理]以下,将说明由根据本发明第一实施例的信息处理系统所执行的访问控制处理。 图5是示出由根据本发明第一实施例的信息处理系统所执行的访问控制处理的序列图。该 处理在图4中的访问控制预备处理之后被执行。首先,在图5中,应用程序110向控制模块120请求访问安全芯片130 (步骤S101)。 此时,应用程序Iio将嵌入的访问权限信息112传递给控制模块120。接着,已经接收到对安全芯片130的访问请求的控制模块120执行后述图6中的 访问权限信息认证处理,并且认证从应用程序Iio传递的访问权限信息112的有效性(步 骤 S102)。如果步骤S102中的访问权限信息的认证处理被成功完成,则控制模块120向认证 服务器400请求与访问权限信息112相对应的认证信息402 (步骤S103)。此时,控制模块 120将访问权限信息112中所包括的应用程序标识符113传递给认证服务器400。接着,已经接收到对认证信息402的请求的认证服务器400将认证信息402发送 给控制模块120 (步骤S401)。具体地,认证服务器400将包括与从控制模块120传递的应 用程序标识符113相同的应用程序标识符403的认证信息402发送给控制模块120。
接着,已经接收到对认证信息402的请求的控制模块120向应用程序110请求应 用程序Iio的二进制数据(步骤S104)。然后,已经接收到对应用程序110的二进制数据的 请求的应用程序110将应用程序110的二进制数据发送给控制模块120 (步骤S105)。接着,已经接收到认证信息402的控制模块120执行后述图7中的应用程序认证 处理,并且认证请求访问安全芯片130的应用程序110对安全芯片130的访问权限的有效 性(步骤S106)。如果步骤S106中的应用程序认证处理被成功完成,则控制模块120将被包括在访 问权限信息112中的可执行命令列表114和可访问区域列表115存储到存储装置(未示 出)上(步骤S107)。之后,应用程序110请求控制模块120执行芯片访问命令(步骤S108)。已经接收 到对执行芯片访问命令的请求的控制模块120执行后述图8中的命令执行控制处理,并且 判断是否执行所请求的芯片访问命令(步骤S109)。如果步骤S109中的命令执行控制处理被成功完成,则控制模块120执行所请求的 对安全芯片130的芯片访问命令(步骤S110),并且结束该处理。图6是图示出图5的步骤S102中所执行的访问权限信息认证处理的流程图。在图6中,首先,控制模块120判断从应用程序110传递的访问权限信息112的格 式是否有效(步骤S501)。具体地,当访问权限信息112被发布服务器200生成时,控制模 块120判断访问权限信息112的格式是否是图4中的步骤S203中所定义的如同图10中所 图示的格式一样的格式。如果访问权限信息112的格式是有效的(在步骤S501中为“是”),控制模块120使 用图4中的步骤S202中所嵌入的公钥来验证访问权限信息112中所包括的签名数据116。 控制模块120判断签名数据116是否有效(步骤S502)。具体地,控制模块120使用步骤 S202中所嵌入的公钥来解密签名数据116,判断解密后的数据是否与用于签名的目标数据 (即,应用程序标识符113、可执行命令列表114和可访问区域列表115)相同,并且判断签 名数据116是否有效。如果签名数据116有效(在步骤S502中为“是”),则控制模块120认证访问权限 信息112是有效的,并且成功结束该处理。如果访问权限信息112的格式是无效的(在步 骤S501中为“否”)或如果签名数据116无效(在步骤S502中为“否”),则控制模块120 判定访问权限信息112是无效的,并且以出错结束该处理。根据图6中的访问权限信息认证处理,如果访问权限信息112的格式或签名数据 116无效,即,如果访问权限信息112未被发布服务器200有效地发布,则该处理以出错结 束。这禁止了包括未被发布服务器200有效地发布的访问权限信息112的应用程序(未示 出)访问安全芯片130。图7是示出图5中的步骤S106中所执行的应用程序的认证处理的流程图。在图7中,首先,控制模块120判断所接收到的认证信息402的格式是否有效(步 骤S601)。具体地,当认证信息402被发布服务器200生成时,控制模块120判断认证信息 402的格式是否是图4中的步骤S205中所定义的如同图12中所示的格式一样的格式。如果认证信息402的格式是有效的(在步骤S601中为“是”),则控制模块120使 用图4中的步骤S202中所嵌入的公钥来验证认证信息402中所包括的签名数据406。控制模块120判断签名数据406是否有效(步骤S602)。具体地,控制模块120使用步骤S202 中所嵌入的公钥来解密签名数据406,判断解密后的数据是否与用于签名的目标数据(即, 应用程序标识符403、应用程序签名值404和用于签名验证的公钥405)相同,并且判断签名 数据406是否有效。如果认证信息402的格式无效(在步骤S601中为“否”)或如果签名数据406无 效(在步骤S602中为“否”),则控制模块120判定认证信息402无效,并且以出错结束该处理。如果签名数据406有效(在步骤S602中为“是”),则控制模块120从接收到的认 证信息402中提取应用程序签名值404和用于签名验证的公钥405 (步骤S603)。接着,控制模块120使用用于签名验证的公钥405来解密提取出的应用程序签名 值404 (步骤S604)。控制模块120判断从认证信息402提取出的应用程序签名值404的解 密后的数据是否与在图5中的步骤S105中接收到的应用程序110的二进制数据相同(步 骤S605)。注意,应用程序签名值404的解密后的数据与应用程序110的二进制数据相对 应。如果应用程序签名值404的解密后的数据与应用程序110的二进制数据相同(在 步骤S605中为“是”),则控制模块120认证应用程序110有效,并且成功结束该处理。如 果应用程序签名值404的解密后的数据与应用程序110的二进制数据不同(在步骤S605 中为“否”),则控制模块120判定应用程序110无效,并且以出错结束该处理。根据图7中的应用程序的认证处理,如果从认证信息402提取出的应用程序签名 值404的解密后的数据与从应用程序110接收到的应用程序110的二进制数据不同,即如 果无效的应用程序(未示出)获得访问权限信息112,则该处理以出错结束。这禁止了获得 访问权限信息112的无效的应用程序(未示出)访问安全芯片130。在图7中的上述应用程序认证处理中,如果在客户端100和认证服务器400之间 预先准备好安全通信路径,则认证信息402中不存在可能被更改的目标,所以不一定需要 对认证信息402的有效性进行认证。换而言之,在图7中的应用程序认证处理中,在不执行 步骤S601和步骤S602的处理的情况下首先执行步骤S603的处理。这减少了应用程序的 认证处理中的步骤数。图8是示出在图5中的步骤S109中执行的命令执行控制处理的流程图。在图8中,首先,控制模块120判断存储装置(未示出)是否存储可执行命令列表 114和可访问区域列表115(步骤S701)。如果存储装置存储可执行命令列表114和可访问区域列表115 (在步骤S701中为 “是”),则控制模块120判断可执行命令列表114中是否存在在图5中的步骤S108中所请 求的芯片访问命令。如果存储装置既没有存储可执行命令列表114也没有存储可访问区域 列表115(在步骤S701中为“否”),则控制模块120判定芯片访问命令是不可执行的,并且 以出错结束该处理。如果在可执行命令列表114中存在所请求的芯片访问命令(在步骤S702中为 “是”),则控制模块120判断在可访问区域列表115中是否存在针对所请求的芯片访问命 令的访问区域(步骤S703)。如果在可执行命令列表114中不存在所请求的芯片访问命令 (在步骤S702中为“否”),则控制模块120判定所请求的芯片访问命令不可执行,并且以出错结束该处理。如果在可访问区域列表115中存在针对所请求的芯片访问命令的访问区域(在步 骤S703中为“是”),则控制模块120判定所请求的芯片访问命令是可执行的,并且成功结束 该处理。如果在可访问区域列表115中不存在针对所请求的芯片访问命令的访问区域(在 步骤S703中为“否”),则控制模块120判定所请求的芯片访问命令不可执行,并且以出错 结束该处理。根据图8中的命令执行控制处理,当存储装置既没有存储可执行命令列表114也 没有存储可访问区域列表115,即,当针对芯片访问命令的执行请求被已经向控制模块120 请求访问安全芯片130但是其访问权限信息以及应用程序本身还未被认证的应用程序(未 示出)请求时,该处理将以出错结束。这使得能够防止访问权限信息和应用程序本身还未 被控制模块120认证的应用程序(未示出)访问安全芯片130。如果在可执行命令列表114中不存在所请求的芯片访问命令,即,当应用程序110 请求执行未被准许执行的芯片访问命令时,该处理以出错结束。这使得能够防止未被准许 由应用程序110执行的芯片访问命令被执行。如果在可访问区域列表115中不存在针对所请求的芯片访问命令的访问区域, 即,当应用程序110请求执行超过被允许访问的区域的芯片访问命令时,该处理将以出错 结束。这使得能够防止应用程序110执行超过被允许访问的区域的芯片访问命令。如上所述,根据图5中的访问控制处理,通过执行上述的图6中的访问权限信息认 证处理、图7中的应用程序认证处理和图8中的命令执行控制处理,防止应用程序对安全芯 片130的欺骗性访问。此外,控制模块120基于由应用程序110包含的访问权限信息112 和从认证服务器400获得的认证信息402来控制应用程序110对安全芯片130的访问。因 此,为了访问控制的目的,不一定需要修改执行对所安装的应用程序等的控制等的应用程 序管理器(未示出)的规格。这使得能够在不修改应用程序管理器(未示出)的规格的情 况下防止应用程序对安全芯片130的欺骗性访问。在上述图5中的访问控制处理,控制模块120可以在接收到步骤S401中从认证服 务器400发送的认证信息402之后,将认证信息402保存在存储装置(未示出)中。然后, 如果在步骤S103中与访问权限信息112相对应的认证信息402被保存在存储装置中,则控 制模块120在不向认证服务器400请求认证信息402的情况下,使用被保存在存储装置中 的认证信息402来在步骤S106中执行应用程序认证处理。这使得能够减少访问控制处理 的步骤数。[根据本发明第二实施例的信息处理系统]接着,将说明根据本发明第二实施例的信息处理系统。根据本实施例的信息处理 系统与第一实施例中的信息处理系统的不同仅在于应用程序要被安装到具有数字签名和 公钥的客户端上。所以,以下将省略对相同配置和功能的说明,而将仅给出对不同配置和功 能的说明。图13是用于图示出根据本发明第二实施例的信息处理系统的示意性配置的示 图。在图13中,作为本发明的信息处理系统的一个示例的信息处理系统2000包括客 户端600 (例如,移动电话)、发布服务器200、应用程序提供服务器300和认证服务器410。 客户端600是本发明的信息处理设备的一个示例。客户端600、服务器200、300和410分别连接到通信网络500。客户端600包括应用程序610、控制模块620、安全芯片630和应用程序管理器 640。安全芯片630具有与上述安全芯片130相同的结构。应用程序610使用被存储在安 全芯片630的存储装置中的信息来执行预定处理。应用程序610具有访问权限信息612。 访问权限信息612具有与上述访问权限信息112相同的结构。应用程序610具有应用程序 610的数字签名614和在后述应用程序提供服务器300中生成的密钥对中的公钥618,数字 签名614使用该密钥对中的秘密密钥(未示出)。数字签名614是本发明的第三数字签名 的一个示例。应用程序管理器640在将应用程序610安装到客户端600上时使用应用程序 610中所包含的公钥618来认证数字签名614,并且认证应用程序610。控制模块620控制 安全芯片630。控制模块620例如如后所述那样控制应用程序610对安全芯片630的访问。应用程序提供服务器300例如创建应用程序610。应用程序提供服务器300在创 建访问安全芯片630的应用程序610时向发布服务器200请求安全芯片630。当发布服务 器发布访问权限信息612时,应用程序提供服务器300将所发布的访问权限信息612嵌入 到应用程序610中。此外,应用程序提供服务器300将用于生成后述认证信息412的信息 发送给发布服务器200。应用程序提供服务器300在客户端600请求应用程序610的提供 时将应用程序610提供给客户端600。发布服务器200例如在从应用程序提供服务器300接收到对安全芯片130的访问 请求之后生成访问权限信息612,并且将所生成的访问权限信息612发布给应用程序提供 服务器300。此外,发布服务器200在从应用程序提供服务器300接收到用于生成认证信息 412的信息之后生成认证信息412,并且将生成的认证信息412发送给认证服务器410。认证服务器410得到认证信息412。认证服务器410是本发明的外部服务器的一 个示例。认证服务器410在从客户端600的控制模块620接收到对认证信息412的请求之 后,例如如后所述那样将认证信息412发送给控制模块620。信息处理系统2000通过执行稍后描述的图14中所示的访问控制预备处理和图15 中所示的访问控制处理,可以在不修改应用程序管理器640的规范等的情况下防止应用程 序对安全芯片630的欺骗性访问。[根据本发明第二实施例的访问控制预备处理]以下,将说明由根据本发明第二实施例的信息处理设备执行的访问控制预备处 理。根据本实施例的访问控制预备处理与第一实施例中的访问控制预备处理的不同仅在 于应用程序提供服务器300在图4中的步骤S306中仅向发布服务器200提供密钥对中的 公钥,并且发布服务器200在步骤S205中仅基于公钥来生成认证信息等等。所以,以下将 省略对相同配置和功能的说明,并且仅说明不同的配置和功能。图14是示出由根据本发明 第二实施例的信息处理设备执行的访问控制预备处理的序列图。在图14中,首先,发布服务器200生成密钥对(步骤S201)。接着,发布服务器200 将生成的密钥对中的公钥(未示出)嵌入到客户端100的控制模块120中(步骤S202)。然 后,应用程序提供服务器300向发布服务器200请求对安全芯片130的访问(步骤S301)。接着,发布服务器200生成与图9和图10中所示的访问权限信息112相同的访问 权限信息612 (步骤S203)。然后,发布服务器200将所生成的访问权限信息612发布给应 用程序提供服务器300 (步骤S204)。
接着,应用程序提供服务器300创建应用程序610 (步骤S302),并且将步骤S204 中所发布的访问权限信息612嵌入到所创建的应用程序610中(步骤S303)。接着,应用程序提供服务器300生成用于数字签名的密钥对(作为本发明的第三 密钥对的一个示例)(步骤S304),并且将数字签名指派给使用所生成的密钥对中的秘密密 钥616的应用程序610 (步骤S305),如图17中所示。这使得数字签名614和步骤S304中 所生成的密钥对中的公钥618能够被指派给应用程序610。此外,应用程序提供服务器300 仅将在步骤S304中所生成的密钥对中的公钥618提供给发布服务器200,如图17中所示 (步骤 S316)。发布服务器200基于所提供的公钥618来生成图17和图18中所示的认证信息 412 (步骤S215)。如图17和图18中所示,认证信息412由应用程序标识符413、用于签名 验证的公钥414和签名数据415配置。应用程序标识符413是用于标识应用程序610的信 息。用于签名验证的公钥414是与用于执行指向应用程序610的数字签名的秘密密钥616 相对应的公钥618。签名数据415是使用步骤S201中所生成的密钥对中的秘密密钥202的 与应用程序标识符413和用于签名验证的公钥414相对应的数字签名。发布服务器200将 所生成的认证信息412发送给认证服务器410 (步骤S216),并且认证服务器410登记所接 收到的认证信息412并且结束该处理。[根据本发明第二实施例的访问控制处理]以下,将说明由根据本发明第二实施例的信息处理系统执行的访问控制处理。图 15是示出由根据本发明第二实施例的信息处理系统执行的访问控制处理的序列图。该处理 将在图14中的访问控制预备处理之后被执行。在图15中,首先,应用程序610向应用程序管理器640请求安装到客户端600上 (步骤S801)。此时,应用程序610将已被指派给应用程序610的数字签名614和公钥618 传递给应用程序管理器640。接着,已经接收到安装应用程序610的请求的应用程序管理器使用公钥618来验 证数字签名614 (步骤S802)。如果在步骤S802中的验证的结果中,数字签名614有效,则 应用程序610安装到客户端600将被准许。另一方面,如果在步骤S802中的验证的结果中, 数字签名614无效,则应用程序610安装到客户端600将不被准许。在应用程序610安装到客户端600之后,应用程序610向控制模块620请求访问 安全芯片630 (步骤S803)。此时,应用程序610将嵌入的访问权限信息612传递给控制模 块 620。接着,已经接收到对安全芯片630的访问请求的控制模块620执行与上述图6中 相同的访问权限信息认证处理,并且认证从应用程序610传递的访问权限信息612的有效 性(步骤S804)。如果步骤S804中的访问权限信息认证处理被成功完成,则控制模块620向认证服 务器410请求与访问权限信息612相对应的认证信息412 (步骤S805)。此时,控制模块620 将访问权限信息612中所包括的应用程序标识符(未示出)传递给认证服务器410。接着,已经接收到对认证信息412的请求的认证服务器410将认证信息412发送 给控制模块620。具体地,认证服务器410将包括与从控制模块620传递的应用程序标识符 (未示出)相同的应用程序标识符413的认证信息412发送给控制模块620。
接着,已经接收到对认证信息412的请求的控制模块620向应用程序610请求公 钥618 (步骤S806)。然后,已经接收到对公钥618的请求的应用程序610将公钥618发送 到控制模块620 (步骤S807)。接着,控制模块620执行后述图16中的应用程序认证处理,并且认证请求对安全 芯片630的访问的应用程序610对安全芯片630的访问权限的有效性(步骤S808)。如果在步骤S808中应用程序认证处理被成功完成,则控制模块620将被包括在访 问权限信息612中的可执行命令列表(未示出)和可访问区域列表(未示出)存储到存储 装置(未示出)上(步骤S809)。然后,应用程序610向控制模块620请求执行芯片访问命令(步骤S810)。已经 接收到执行芯片访问命令的请求的控制模块620执行与上述图8中相同的命令执行控制处 理,并且判断是否执行所请求的芯片访问命令(步骤S811)。如果步骤S811中的命令执行控制处理被成功完成,则控制模块620对安全芯片 630执行所请求的芯片访问命令(步骤S812)并且结束该处理。图16是示出图15中的步骤S808中所执行的应用程序认证处理的流程图。在图16中,首先,控制模块620判断所接收到的认证信息412的格式是否有效(步 骤S901)。具体地,当认证信息412被发布服务器200生成时,控制模块620判断认证信息 412的格式是否是与图14中的步骤S215中所定义的如同图18中所示出的格式一样的格 式。如果认证信息412的格式有效(在步骤S901中为“是”),则控制模块620使用图 14中的步骤S202中嵌入的公钥来验证认证信息412中所包括的签名数据415。控制模块 620判断签名数据415是否有效(步骤S902)。具体地,控制模块620使用步骤S202中所 嵌入的公钥来解密签名数据415,判断解密后的数据是否与用于签名的目标数据(即,应用 程序标识符413和用于签名验证的公钥414)相同,并且判断签名数据415是否有效。如果认证信息412的格式无效(在步骤S901中为“否”),或如果签名数据415无 效(在步骤S902中为“否”),控制模块620判定认证信息412无效,并且以出错结束该处 理。如果签名数据415有效(在步骤S902中为“是”),则控制模块620从接收到的认 证信息412中提取用于签名验证的公钥414 (步骤S903)。接着,控制模块620判断从认证信息412提取出的用于签名验证的公钥414与在 图15中的步骤S807中接收到的公钥618是否相同(步骤S904)。如果用于签名验证的公钥414与公钥618相同(在步骤S904中为“是”),则控制 模块620判定应用程序610有效并且成功结束该处理。如果用于签名验证的公钥414与与 公钥618不同(在步骤S904中为“否”),则控制模块620判定应用程序610无效并且以错 误结束该处理。根据图16中的应用程序认证处理,如果从认证信息412提取出的用于签名验证的 公钥414与在图15中的步骤S807中接收到的公钥618不同,即如果无效的应用程序(未 示出)获得访问权限信息(未示出),则该处理以出错被结束。这禁止了获得访问权限信息 (未示出)的无效的应用程序访问安全芯片630。在之前图16中的应用程序认证处理中,如果在客户端600和认证服务器410之间预先准备好安全的通信路径,则在认证信息412中不存在有可能被更改的目标,因此,不一 定需要认证认证信息412的有效性。换而言之,在图16中的应用程序认证处理中,在不执 行步骤S901和步骤S902的情况下首先执行步骤S903的处理。这减少了应用程序认证处 理中的步骤数。如上所述,根据图15中的访问控制处理,执行与前述图6中的访问权限信息认证 处理相同的处理、与图16中的应用程序认证处理相同的处理以及与前述图8中的命令执行 控制处理相同的处理,可以实现与前述图5中的访问控制处理相同的效果。此外,在步骤 S808中的应用程序认证处理中,应用程序认证处理的处理速度可以被提高,这是因为应用 程序610可以仅通过用于签名验证的公钥414和公钥618之间的比较来进行认证。本发明的目的也可以在以下情况中被实现存储用来实现前述各个实施例的功能 的软件的程序代码的存储介质被提供给系统或装置,并且系统或装置的计算机(或,CPU、 MPU等等)读出并且执行被存储在存储介质中的程序代码。在该情况中,从存储介质中读出的程序代码本身用来实现前述各个实施例的功 能,并且这些程序代码和存储这些程序代码的存储介质构成本发明。用于提供这样的程序代码的介质例如有光盘、磁盘、非易失性存储卡或ROM,例如 floppy (注册商标)盘、硬盘、磁光盘、CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-Rff 或 DVD+RW。这些程序代码也可以经由网络下载。此外,每个前述实施例的功能不仅可以通过执行由计算机读出的程序代码来实 现,也可以在运行于计算机上的OS(操作系统)等基于这些程序代码的指令来执行实际处 理的全部或部分的情况中被实现。此外,每个前述实施例的功能也可以在以下情况中被实现从存储介质读出的程 序代码被写入插入计算机的功能增强板中所包括的存储器上或连接到计算机的功能增强 单元中所包括的存储器上,然后,基于这些程序代码的指令,功能增强板或功能增强单元中 所包括的CPU等执行增强功能的全部或部分。本领域技术人员应当理解,根据设计要求和其它因素可以进行各种修改、组合、子 组合和更改,只要它们在所附权利要求及其等同物的范围内即可。本申请包含与2009年7月29日向日本专利局提交的日本在先专利申请JP 2009-176574中所公开的主题有关的主题,该申请的全部内容通过引用结合于此。
权利要求
一种信息处理设备,包括接收单元,所述接收单元从应用程序接收对IC芯片的访问请求,所述应用程序具有用于访问所述IC芯片的访问权限信息;获取单元,所述获取单元基于由所述接收单元接收到的访问请求中所包含的访问权限信息,来从外部服务器获取用于认证所述应用程序的认证信息;认证单元,所述认证单元基于由所述获取单元获得的认证信息来认证所述应用程序;以及控制单元,所述控制单元基于所述认证单元的认证结果来控制所述应用程序对所述IC芯片的访问。
2.根据权利要求1所述的信息处理设备,还包括验证单元,所述验证单元具有包含第一秘密密钥和第一公钥的第一密钥对中的所述第 一公钥,其中,所述访问权限信息包含使用所述第一密钥对中的所述第一秘密密钥的第一数字 签名,其中,所述认证信息包含使用所述第一密钥对中的所述第一秘密密钥的第二数字签 名,并且其中,所述验证单元验证所述访问权限信息中所包含的所述第一数字签名,并且验证 所述认证信息中所包含的所述第二数字签名。
3.根据权利要求1所述的信息处理设备,其中,所述获取单元从所述应用程序获得所述应用程序的二进制数据, 其中,所述认证信息包含所述应用程序的签名值和包含第二秘密密钥和第二公钥的第 二密钥对中的所述第二公钥,所述签名值使用所述第二密钥对中的所述第二秘密密钥,并 且其中,所述认证单元通过将由所述获取单元获得的所述应用程序的二进制数据与所述 认证信息中所包含的所述应用程序的签名值使用所述认证信息中所包含的所述第二密钥 对中的所述第二公钥解密出的解密后的数据相比较,来认证所述应用程序。
4.根据权利要求1所述的信息处理设备,其中,所述应用程序具有包含第三秘密密钥和第三公钥的第三密钥对中的所述第三公 钥和使用所述第三密钥对中的所述第三秘密密钥的第三数字签名,其中,所述获取单元从所述应用程序获取所述第三密钥对中的第三公钥, 其中,所述认证信息包含所述第三密钥对中的所述第三公钥,并且 其中,所述认证单元通过将由所述获取单元获得的所述第三密钥对中的第三公钥与所 述认证信息中所包含的所述第三密钥对中的第三公钥相比较来认证所述应用程序。
5.根据权利要求1所述的信息处理设备,还包括存储单元,所述存储单元存储用于访问所述IC芯片的命令信息,所述命令信息被包括 在由已被所述认证单元认证的应用程序包含的访问权限信息中,其中,当来自所述应用程序的用于访问所述IC芯片的命令被包含在所述存储单元中 所存储的用于访问的命令信息中时,所述控制单元准许所述应用程序访问所述IC芯片,并 且其中,当来自所述应用程序的用于访问所述IC芯片的命令未被包含在所述存储单元 中所存储的用于访问的命令信息中时,所述控制单元阻止所述应用程序访问所述IC芯片。
6.根据权利要求5所述的信息处理设备,其中,所述存储单元还存储所述IC芯片的可访问区域信息,所述可访问区域信息被包 括在由已被所述认证单元认证的应用程序包含的访问权限信息中,并且其中,所述控制单元基于所述存储单元中所存储的可访问区域信息来限制所述IC芯 片中将被所述应用程序访问的可访问区域。
7.根据权利要求1所述的信息处理设备,还包括保持单元,所述保持单元保持由所述获取单元获得的认证信息,其中,所述认证单元基于由所述保持单元保持的认证信息来认证所述应用程序。
8.一种程序,使得计算机用作接收单元,所述接收单元从应用程序接收对IC芯片的访问请求,所述应用程序具有用 于访问所述IC芯片的访问权限信息;获取单元,所述获取单元基于由所述接收单元接收到的访问请求中所包含的访问权限 信息,来从外部服务器获取用于认证所述应用程序的认证信息;认证单元,所述认证单元基于由所述获取单元获得的认证信息来认证所述应用程序;以及控制单元,所述控制单元基于所述认证单元的认证结果来控制所述应用程序对所述IC 芯片的访问。
9.一种存储程序的存储介质,所述程序使得计算机用作接收单元,所述接收单元从应用程序接收对IC芯片的访问请求,所述应用程序具有用 于访问所述IC芯片的访问权限信息;获取单元,所述获取单元基于由所述接收单元接收到的访问请求中所包含的访问权限 信息,来从外部服务器获取用于认证所述应用程序的认证信息;认证单元,所述认证单元基于由所述获取单元获得的认证信息来认证所述应用程序;以及控制单元,所述控制单元基于所述认证单元的认证结果来控制所述应用程序对所述IC 芯片的访问。
10.一种信息处理系统,包括 信息处理设备;以及外部服务器,所述外部服务器能够与所述信息处理设备通信, 其中,所述信息处理设备包括接收单元,所述接收单元从应用程序接收对IC芯片的访问请求,所述应用程序具有用 于访问所述IC芯片的访问权限信息;获取单元,所述获取单元基于由所述接收单元接收到的访问请求中所包含的访问权限 信息,从来所述外部服务器获取用于认证所述应用程序的认证信息;认证单元,所述认证单元基于由所述获取单元获得的认证信息来认证所述应用程序;以及控制单元,所述控制单元基于所述认证单元的认证结果来控制所述应用程序对所述IC芯片的访问。
全文摘要
本发明公开了信息处理设备、程序、存储介质和信息处理系统。信息处理设备包括接收单元,其从应用程序接收对IC芯片的访问请求,应用程序具有用于访问IC芯片的访问权限信息;获取单元,其基于由接收单元接收到的访问请求中所包含的访问权限信息,来从外部服务器获取用于认证应用程序的认证信息;认证单元,其基于由获取单元获得的认证信息来认证应用程序;以及控制单元,其基于认证单元的认证结果来控制应用程序对IC芯片的访问。
文档编号H04L29/06GK101989982SQ20101023535
公开日2011年3月23日 申请日期2010年7月22日 优先权日2009年7月29日
发明者关谷秀一, 加藤晋一, 渡边敬太郎, 神野五月, 花木直文 申请人:飞力凯网路股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1