应用程序执行装置转让专利

申请号 : CN201380024382.5

文献号 : CN104272313B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 泉幸雄樱井钟治小林信博柴田阳一三泽学

申请人 : 三菱电机株式会社

摘要 :

如果应用程序管理部(6)的第一通信部(9)从应用(5)接收到要求利用保护对象资源(2)的访问要求,则认证信息取得部(16)从认证信息存储部(12)取得在应用程序管理部(6)是合法的验证中使用的认证信息(13)。然后,第二通信部(10)将来自应用(5)的访问要求和认证信息(13)发送到判断能否由应用(5)利用保护对象资源(2)的认证部(7)。

权利要求 :

1.一种应用程序执行装置,安装有要求利用资源且合法性被担保的应用程序,并具有应用程序管理部,该应用程序管理部管理由所述应用程序进行的所述资源的利用,所述应用程序执行装置的特征在于,所述应用程序管理部具有:

第一通信部,用于与所述应用程序进行通信;

认证信息取得部,在所述应用程序要求利用所述资源的情况下,从所述应用程序管理部的内部取得认证信息,该认证信息是通过关于所述应用程序管理部是否合法的认证处理而证明所述应用程序管理部是合法的信息;以及第二通信部,将由所述认证信息取得部所取得的所述认证信息发送到认证部,该认证部是进行所述认证处理且仅在通过所述认证处理而证明所述应用程序管理部是合法的情况下许可由所述应用程序利用资源的装置。

2.根据权利要求1所述的应用程序执行装置,其特征在于,所述认证信息取得部取得在所述认证部以外被隐匿的认证信息。

3.根据权利要求1所述的应用程序执行装置,其特征在于,所述第一通信部从所述应用程序,接收要求利用所述应用程序执行装置内的某一个资源的资源利用要求,所述第二通信部将由所述第一通信部接收到的所述资源利用要求和由所述认证信息取得部所取得的所述认证信息发送到所述认证部。

4.根据权利要求3所述的应用程序执行装置,其特征在于,所述应用程序管理部还具有认证信息存储部,该认证信息存储部存储与所述认证部共有的用于证明所述应用程序管理部是合法的认证信息,所述认证信息取得部从所述认证信息存储部读出所述认证信息,所述第二通信部将由所述第一通信部接收到的所述资源利用要求和由所述认证信息取得部从所述认证信息存储部读出了的所述认证信息发送到所述认证部。

5.根据权利要求3所述的应用程序执行装置,其特征在于,所述应用程序管理部还具有认证密钥存储部,该认证密钥存储部存储与所述认证部共有的认证密钥,所述认证信息取得部使用存储在所述认证密钥存储部中的认证密钥,生成证明所述应用程序管理部是合法的认证信息,所述第二通信部将由所述第一通信部接收到的所述资源利用要求和由所述认证信息取得部所生成的所述认证信息发送到所述认证部。

6.根据权利要求3所述的应用程序执行装置,其特征在于,所述应用程序执行装置还具有在与所述认证部的通信中使用的共有存储器,所述第二通信部将所述资源利用要求和所述认证信息写入到所述共有存储器。

7.根据权利要求1所述的应用程序执行装置,其特征在于,所述认证信息取得部与所述应用程序无关地取得通过认证处理来证明所述应用程序管理部是合法的认证信息而作为第一认证信息,所述第二通信部将由所述认证信息取得部所取得的所述第一认证信息发送到所述认证部,在所述认证部中根据所述第一认证信息而证明了所述应用程序管理部是合法的情况下,所述第二通信部从所述认证部接收在所述认证部判断能否由所述应用程序利用资源时所使用的第二认证信息以及作为在所述第二认证信息的生成中使用的认证密钥的第二认证密钥中的某一个。

8.根据权利要求7所述的应用程序执行装置,其特征在于,所述第一通信部在由所述第二通信部接收到所述第二认证信息的情况下,对所述应用程序发送所述第二认证信息,使所述应用程序将所述第二认证信息与要求利用资源的资源利用要求一起发送到所述认证部。

9.根据权利要求7所述的应用程序执行装置,其特征在于,所述应用程序管理部还具有第二认证信息生成部,该第二认证信息生成部在由所述第二通信部接收到所述第二认证密钥的情况下,使用所述第二认证密钥来生成所述第二认证信息,所述第一通信部将由所述第二认证信息生成部所生成的所述第二认证信息发送到所述应用程序,使所述应用程序将所述第二认证信息与要求利用资源的资源利用要求一起发送到所述认证部。

10.根据权利要求8所述的应用程序执行装置,其特征在于,所述第一通信部使所述应用程序,对判断所述第二认证信息的有效性的所述认证部发送所述第二认证信息。

11.根据权利要求1所述的应用程序执行装置,其特征在于,所述应用程序管理部和所述应用程序在所述应用程序执行装置中所构筑的虚拟执行环境上进行动作。

12.根据权利要求3所述的应用程序执行装置,其特征在于,所述认证部配置在所述应用程序执行装置内,

所述第二通信部将所述资源利用要求和所述认证信息发送到所述应用程序执行装置内的所述认证部。

13.根据权利要求3所述的应用程序执行装置,其特征在于,所述认证部配置在所述应用程序执行装置以外的外部装置内,所述第二通信部将所述资源利用要求和所述认证信息发送到所述外部装置内的所述认证部。

14.根据权利要求7所述的应用程序执行装置,其特征在于,所述认证部配置在所述应用程序执行装置内,

所述第二通信部将所述第一认证信息发送到所述应用程序执行装置内的所述认证部。

15.根据权利要求7所述的应用程序执行装置,其特征在于,所述认证部配置在所述应用程序执行装置以外的外部装置内,所述第二通信部将所述第一认证信息发送到所述外部装置内的所述认证部。

16.根据权利要求1所述的应用程序执行装置,其特征在于,所述应用程序执行装置安装有2个以上的应用程序,并具有2个以上的应用程序管理部,各应用程序管理部对应于所述2个以上的应用程序中的某一个,管理由对应的应用程序进行的资源的利用。

说明书 :

应用程序执行装置

技术领域

[0001] 本发明涉及认证应用程序(以下也简称为“应用”)的技术。

背景技术

[0002] 近年来实现了如下系统:在便携电话、便携终端、电视机等设备中执行所下载的应用,向利用者提供各种服务。
[0003] 利用者能够经由网络从应用配送服务器下载这些应用,安装到便携电话等设备。
[0004] 另外,利用者能够从其他设备、PC(个人计算机)等,使用存储卡(注册商标)等交换型存储介质而在便携电话等设备上安装应用。
[0005] 但是,在这些应用中,有可能包括非法的应用。
[0006] 因此,具有如下担忧:非法的应用对设备内部的个人信息等机密信息进行非法的访问的担忧、滥用利用者未被许可利用的功能的担忧。
[0007] 因此,需要如下安全对策:仅对特定的应用许可向特定的机密信息、或设备具有的功能(以下将它们称为“资源”)的访问。
[0008] 作为这样的安全对策,例如有专利文献1记载的技术。
[0009] 在专利文献1中,在应用中嵌入了用于对是合法的应用进行认证的秘密的认证信息、生成认证信息的秘密的认证密钥。
[0010] 另外,在安装了该应用的设备中,在访问设备内部的资源之前,在设备内部所设置的认证模块从应用接收认证信息,使用接收到的认证信息来认证是合法的应用。
[0011] 另外,在认证成功的情况下,认证模块对应用许可向资源的访问。
[0012] 专利文献1:日本特开2005-49991号公报

发明内容

[0013] 在专利文献1的技术中,认证模块在认证中使用的认证信息被嵌入到应用内部。
[0014] 因此,有恶意的利用者通过解析应用,从而有可能导致应用内部的认证信息被暴露,而向设备内的资源进行非法的访问。
[0015] 本发明是鉴于这些而完成的,其主要目的在于,实现一种不用在谁都能够下载的应用程序中嵌入认证信息、而能够认证是合法的应用程序的结构。
[0016] 本发明的应用程序执行装置,安装有应用程序,并具有应用程序管理部,该应用程序管理部管理由所述应用程序实施的资源的利用,所述应用程序执行装置的特征在于,
[0017] 所述应用程序管理部具有:
[0018] 第一通信部,用于与所述应用程序进行通信;
[0019] 认证信息取得部,与所述应用程序无关地取得认证信息,该认证信息是通过规定的认证处理而证明所述应用程序管理部是合法的信息;以及
[0020] 第二通信部,将由所述认证信息取得部所取得的所述认证信息发送到对能否由所述应用程序利用资源进行判断的认证部。
[0021] 根据本发明,认证信息取得部与应用程序无关地取得认证信息,并向认证部发送认证信息,所以无需在应用程序中嵌入认证信息而能够认证是合法的应用程序。

附图说明

[0022] 图1是示出实施方式1的应用程序执行装置的结构例的图。
[0023] 图2是示出实施方式1的处理流程的流程图。
[0024] 图3是示出实施方式2的应用程序执行装置的结构例的图。
[0025] 图4是示出实施方式2的处理流程的流程图。
[0026] 图5是示出实施方式2的处理流程的流程图。
[0027] 图6是示出实施方式3的应用程序执行装置的结构例的图。
[0028] 图7是实施方式3的应用程序执行装置的功能概念图。
[0029] 图8是示出实施方式3的处理流程的流程图。
[0030] 图9是示出实施方式3的处理流程的流程图。
[0031] 图10是示出实施方式4的应用程序执行装置的结构例的图。
[0032] 图11是示出实施方式1~4的应用程序执行装置的硬件结构例的图。
[0033] 图12是示出实施方式5的应用程序执行装置的结构例的图。
[0034] 图13是示出实施方式5的处理流程的流程图。
[0035] 图14是示出实施方式5的处理流程的流程图。
[0036] 图15是示出实施方式6的应用程序执行装置的结构例的图。
[0037] 图16是示出实施方式6的处理流程的流程图。
[0038] 图17是示出实施方式6的处理流程的流程图。
[0039] 图18是示出实施方式7的应用程序执行装置的结构例的图。
[0040] 图19是示出实施方式7的处理流程的流程图。
[0041] 图20是示出实施方式8的应用程序执行装置的结构例的图。
[0042] 图21是示出实施方式8的处理流程的流程图。
[0043] 图22是示出实施方式9的应用程序执行装置的结构例的图。
[0044] (符号说明)
[0045] 1:应用程序执行装置;2:保护对象资源;3:应用登记部;4:操作部;5:应用;6:应用管理部;7:认证部;8:第一通信部;9:第一通信部;10:第二通信部;11:第二通信部;12:认证信息存储部;13:认证信息;14:认证信息验证部;15:认证信息;16:认证信息取得部;20:共有存储器;21:应用管理部;22:认证密钥存储部;23:认证密钥;24:认证信息生成部;25:密码密钥;26:密码部;27:认证密钥;28:密码密钥;29:密码部;30:传送标志;50:本机应用;51:OS;52:虚拟执行环境;60:第三通信部;61:认证装置;62:第三通信部;70:第一认证信息生成部;71:第二通信部;72:第一认证信息验证部;73:第二认证信息生成/验证部;80:第一认证密钥;81:第二认证信息生成部;82:第一认证密钥;83:第二认证密钥生成部;84:第二认证密钥;85:第二认证信息验证部;90:有效性判断部。

具体实施方式

[0046] 实施方式1.
[0047] 图1示出本实施方式的应用程序执行装置的结构例。
[0048] 在图1中,应用程序执行装置1是例如便携电话、便携终端、电视机等安装应用的设备。
[0049] 保护对象资源2是保护对象的资源,是秘密信息、特定的程序、特定的文件、特定的功能等。
[0050] 应用登记部3保管从应用程序执行装置1外安装的应用5。
[0051] 在应用5中,包括作为利用者接口的操作部4、和用于与应用程序管理部6进行通信的第一通信部8,不包括认证信息。
[0052] 应用5从第一通信部8发送要求利用保护对象资源2的访问要求(资源利用要求)。
[0053] 应用程序管理部6(以下记载为“应用管理部6”)在从应用5有访问要求时,将访问要求发送到认证部7,并且将用于对访问要求的发送源是合法的应用管理部6进行证明的认证信息发送到认证部7。
[0054] 在应用管理部6中,第一通信部9从应用5内的第一通信部8接收访问要求。
[0055] 认证信息存储部12存储着认证信息13。
[0056] 认证信息13是通过认证部7的认证处理而能够对作为访问要求的发送源的应用管理部6是合法的情形进行证明的信息。
[0057] 认证信息13是例如与后述的认证信息验证部14存储着的认证信息15相同的信息。
[0058] 这样,认证信息存储部12与认证信息验证部14共有认证信息。
[0059] 另外,认证信息13在认证部7以外被隐匿。
[0060] 认证信息取得部16在第一通信部9接收到访问要求时,与应用5无关地,从认证信息存储部12取得认证信息13。
[0061] 第二通信部10将第一通信部9接收到的访问要求、和认证信息取得部16所取得的认证信息13发送到认证部7的第二通信部11。
[0062] 认证部7实施应用管理部6的认证,实施向保护对象资源2的访问。
[0063] 在认证部7中,第二通信部11从应用管理部6的第二通信部10接收访问要求和认证信息13。
[0064] 认证信息验证部14存储着认证信息15,使用认证信息15,验证第二通信部11接收到的认证信息13。
[0065] 在应用程序执行装置1中,具备ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CPU(Central Processing Unit,中央处理单元)等,能够通过软件来实现应用管理部6以及认证部7的要素。
[0066] 另外,既可以通过固件来实现应用管理部6以及认证部7的一部分,也可以通过硬件来实现应用管理部6以及认证部7的一部分。
[0067] 另外,关于应用程序执行装置1的硬件结构、硬件和软件和固件的关系,在后面叙述。
[0068] 接下来,说明动作。
[0069] 图2是本实施方式的应用程序执行装置1的处理流程。
[0070] 另外,在图2中,将应用管理部6记载为“管理部”。
[0071] 应用登记部3中存在的应用5进行动作,而进行向保护对象资源2的访问时,第一通信部8将要求利用保护对象资源2的访问要求发送到应用管理部6(S100)。
[0072] 向保护对象资源2的访问是指,除了信息的写入、读出等访问以外,向与外部的通信功能等应用程序执行装置1所具有的功能进行的访问。
[0073] 关于后者,有经由功能的信息的写入或读出、信息或命令的发送、执行了命令的结果的读出等各种访问,所以也可以根据处理,在向保护对象资源2的访问要求中包括写入对象的信息、处理命令等。
[0074] 在应用管理部6中,第一通信部9接收来自应用5的向保护对象资源2的访问要求(S101)。
[0075] 然后,认证信息取得部16从认证信息存储部12取得认证信息13,第二通信部10将认证信息13和向保护对象资源2的访问要求发送到认证部7(S102)。
[0076] 另外,应用5的合法性通过应用5的安装时的验证等而被担保。
[0077] 在认证部7中,第二通信部11从应用管理部6接收向保护对象资源2的访问要求和认证信息13(S103)。
[0078] 然后,认证信息验证部14使用认证信息15来验证认证信息13,从而认证访问要求是否是从合法的发送源(即应用管理部6)所发送的要求(S104)。
[0079] 认证信息13的验证可以通过任意的方法来进行。
[0080] S104的认证的结果,在认证成功了的情况下,认证信息验证部14向要求了的资源进行访问(S105)。
[0081] 另一方面,在认证失败了的情况下,废弃访问要求(S106)。
[0082] 此时,认证信息验证部14也可以向应用管理部6应答认证失败了的意思。
[0083] 之后,认证部7经由第二通信部11向应用管理部6发送访问应答(S107)。
[0084] 在访问要求是信息的读出等的情况下,也可以在本应答中包括读出了的信息。
[0085] 在应用管理部6中,第二通信部10接收来自认证部7的访问应答(S108),第一通信部9向应用5发送访问应答(S109)。
[0086] 在应用5中,第一通信部8从应用管理部6接收访问应答(S110)。
[0087] 另外,在上述中,说明了如下流程:在应用管理部6接收了来自应用5的向资源的访问要求之后,认证部7进行使用了认证信息13和认证信息15的认证。
[0088] 也可以代替它,在应用程序执行装置1的电源接通时,认证部7进行使用了认证信息13和认证信息15的认证,在以后的访问要求时不进行认证处理。
[0089] 另外,也可以设为如果是从电源接通时起一定时间以内的访问要求,则不进行认证处理。
[0090] 另外,也可以设为如下结构:将认证部7如IC卡那样设置于应用程序执行装置1的外部,从应用程序执行装置1内部的应用管理部6经由外部的认证部7访问应用程序执行装置1内部的资源或者外部的资源。
[0091] 另外,也可以是如下方式:在有多个资源的情况下,在访问要求中包括要访问的资源的识别信息,在认证部中访问与识别信息对应的资源。
[0092] 如以上那样,应用经由应用管理部和认证部而访问资源,所以无需在应用内部嵌入应设为秘密的认证信息,能够对利用者提供安全的系统。
[0093] 另外,应用开发者无需进行认证信息的机密管理,能够通过1个应用管理部实施针对多个应用的认证,所以能够降低应用开发成本,低成本地向利用者提供服务。
[0094] 实施方式2.
[0095] 在以上的实施方式1中,应用5是经由应用管理部6访问认证部7的结构,但接下来示出所下载的应用5经由事先安装了的应用而访问认证部7的实施方式。
[0096] 图3示出本实施方式的应用程序执行装置1的结构例。
[0097] 本实施方式中的应用程序执行装置1被大致分成保护对象资源2、应用登记部3、认证部7、共有存储器20。
[0098] 在本实施方式中,应用登记部3在内部具有应用程序管理部21(以下,记载为“应用管理部21”)。
[0099] 应用管理部21是由应用程序执行装置1的制造者事先在应用程序执行装置1中安装了的应用。
[0100] 另外,应用管理部21成为如下结构:不具有利用者接口,无法向与应用程序执行装置1连接的SD(注册商标)卡那样的外部存储装置进行数据的拷贝、移动。
[0101] 应用5与实施方式1同样地是之后所下载的应用。
[0102] 应用5的内部结构与实施方式1相同,所以省略说明。
[0103] 在应用管理部21中,认证密钥存储部22存储有认证密钥23。
[0104] 认证密钥23是与询问/响应方式、或带密钥的消息认证代码等认证方式对应的共用密钥算法的密钥、或公开密钥算法的公开密钥/秘密密钥。
[0105] 在使用了共用密钥算法的情况下,认证密钥存储部22存储着的认证密钥23与认证部7的认证信息验证部14存储着的认证密钥27相同。
[0106] 在使用了公开密钥算法的情况下,认证密钥存储部22存储着的认证密钥23是与认证部7的认证信息验证部14存储着的认证密钥27对应的密钥。
[0107] 这样,认证密钥存储部22与认证部7的认证信息验证部14共有认证密钥。
[0108] 认证信息生成部24使用认证密钥存储部22的认证密钥23,生成认证信息。
[0109] 与实施方式1同样地,在应用管理部21是合法的验证中使用认证信息。
[0110] 在本实施方式中,认证信息生成部24相当于认证信息取得部的例子。
[0111] 密码部26持有密码密钥25,使用密码密钥25进行认证信息的加密。
[0112] 第一通信部9与实施方式1同样地,从应用5内的第一通信部8接收访问要求。
[0113] 第一通信部8与第一通信部9之间的通信可以是进程间通信等。
[0114] 第二通信部10将由密码部26加密了的认证信息写入到共有存储器20。
[0115] 认证部7包括:认证信息验证部14,使用认证密钥27,验证接收到的认证信息;密码部29,使用密码密钥28来进行加密/解密;以及第二通信部11,进行向共有存储器20的访问。
[0116] 共有存储器20是RAM等存储装置,应用管理部21和认证部7能够进行信息的写入、读出。
[0117] 另外,在共有存储器20中,设置了表示应用管理部21和认证部7中的哪一个进行信息的写入的传送标志30。
[0118] 关于本实施方式中的传送标志30,在清除(Clear)时由应用管理部21向共有存储器20写入,在设置(Set)时由认证部7向共有存储器20写入。
[0119] 接下来,说明动作。
[0120] 图4以及图5是本实施方式的应用程序执行装置1的处理流程。
[0121] 另外,在图4以及图5中,将应用管理部21记载为“管理部”。
[0122] 在应用登记部3中存在的应用5进行动作,而进行向保护对象资源2的访问时,第一通信部8将要求利用保护对象资源2的访问要求发送到应用管理部21(S200)。
[0123] 另外,关于从应用5向应用管理部21的通信,例如仅在安装了应用5时所使用的电子证书和安装了应用管理部21时所使用的电子证书相同的情况下被许可。
[0124] 在应用管理部21中,第一通信部9接收来自应用5的向保护对象资源2的访问要求(S201)。
[0125] 接下来,认证信息生成部24使用认证密钥23来生成认证信息,密码部26使用密码密钥25对访问要求和认证信息进行加密(S202)。
[0126] 关于认证信息的生成算法,只要认证信息验证部14能够验证认证信息,就可以是任意的算法。
[0127] 关于加密,也可以设为并非如本实施方式那样对认证信息和访问要求的全部进行加密,而是对一部分的信息进行加密。
[0128] 另外,也可以在认证信息以及访问要求中,附加消息认证代码、电子签名等用于检测篡改的信息。
[0129] 然后,第二通信部10将加密了的访问要求和认证信息写入到共有存储器20(S203)。
[0130] 然后,第二通信部10将在共有存储器20中所设置的传送标志30设为设置(Set)(S204)。
[0131] 在认证部7中,第二通信部11对传送标志30进行轮询(S205),在传送标志30成为设置(Set)的情况下,读出共有存储器20内的信息(S206)。
[0132] 然后,密码部29用密码密钥28对加密了的认证信息以及访问要求进行解密(S207)。
[0133] 而且,认证信息验证部14使用认证密钥27来验证认证信息,从而认证访问要求是否为从合法的发送源(即应用管理部21)所发送的要求(S208)。
[0134] 认证信息的验证可以通过任意的方法进行。
[0135] S208的认证的结果,在认证成功了的情况下,认证信息验证部14向要求了的资源进行访问(S209)。
[0136] 另一方面,在认证失败了的情况下,废弃访问要求(S210)。
[0137] 此时,认证信息验证部14也可以经由共有存储器20对应用管理部21应答认证失败了的意思。
[0138] 之后,在认证部7中,密码部29使用密码密钥28对访问应答进行加密(S211)。
[0139] 然后,第二通信部11将加密了的访问应答写入到共有存储器20(S212),将传送标志30设为清除(S213)。
[0140] 在应用管理部21中,第二通信部10对传送标志30进行轮询(S214),如果传送标志30成为清除,则读出共有存储器20内的信息(S215)。
[0141] 之后,密码部26使用密码密钥25,对加密了的访问应答进行解密(S216),第一通信部9向应用5发送访问应答(S217)。
[0142] 在应用5中,第一通信部8从应用管理部21接收访问应答(S218)。
[0143] 另外,在本实施方式中,将应用管理部21设置于应用登记部3的内部,但也可以独立于应用登记部3而设置。
[0144] 另外,应用管理部21也可以并非是应用,而是在后台动作的不具有利用者接口的服务。
[0145] 在本实施方式中,设置了与认证密钥独立的密码密钥,但也可以在认证密钥和密码密钥中使用相同的密钥。
[0146] 在该情况下,认证信息生成部24进行认证信息的生成和加密/解密。
[0147] 另外,示出了认证部7对应用管理部21进行认证的方式,但也可以追加应用管理部21对认证部7进行认证的处理,并相互认证。
[0148] 通过这样的相互认证,能够对利用者提供更安全的系统。
[0149] 另外,也可以设为如下结构:将认证部7如IC卡那样设置于应用程序执行装置1的外部,从应用程序执行装置1内部的应用管理部21经由外部的认证部7而访问应用程序执行装置1内部的资源或者外部的资源。
[0150] 另外,也可以是如下方式:在有多个资源的情况下,在访问要求中包括要访问的资源的识别信息,在认证部中访问与识别信息对应的资源。
[0151] 如以上那样,应用5经由应用管理部21和认证部7访问资源,所以无需在应用5内部嵌入应设为秘密的认证信息,能够对利用者提供安全的系统。
[0152] 另外,应用开发者无需进行认证信息的机密管理,能够在1个应用管理部21中实施针对多个应用的认证,所以能够降低应用开发成本,低成本地向利用者提供服务。
[0153] 另外,在应用管理部21和认证部7中设置了密码部,所以从共有存储器20泄漏信息的风险降低,能够对利用者提供更安全的系统。
[0154] 另外,通过认证信息生成部24每次生成认证信息,所以还能够对抗再次利用了认证信息的攻击,能够对利用者提供更安全的系统。
[0155] 实施方式3.
[0156] 在以上的实施方式中,说明了在OS(Operating System,操作系统)中应用进行动作的实际环境或者虚拟执行环境下的认证处理。
[0157] 在本实施方式中,示出虚拟执行环境和实际环境共存的设备中的实施方式。
[0158] 图6是本实施方式的应用程序执行装置1的结构图,图7是本实施方式的应用程序执行装置1的功能概念图。
[0159] 本实施方式的应用程序执行装置1如图7所示,在OS51上本机应用50和虚拟执行环境52(虚拟机监视器)进行动作,在虚拟执行环境52上应用管理部21和应用5进行动作。
[0160] 在本机应用50中,包括认证部7。
[0161] 另外,在本机应用50和OS51中,包括保护对象资源2。
[0162] 另外,在图7中,省略了认证部7、应用管理部21以及应用5的内部结构的图示,但各要素的内部结构如图6所示。
[0163] 在图6中,应用登记部3与实施方式2同样地,在内部具有应用管理部21。
[0164] 应用管理部21由应用程序执行装置1的制造者事先安装到应用程序执行装置1,在虚拟执行环境52中动作。
[0165] 应用管理部21的内部结构与实施方式2相同。
[0166] 但是,在实施方式2中,第二通信部10在共有存储器20中写入了加密了的认证信息和访问要求,但在本实施方式中,向认证部7的第二通信部11发送加密了的认证信息和访问要求。
[0167] 另外,第二通信部11也可以进行在实施方式2中示出了的使用了共有存储器20的通信。
[0168] 另外,与实施方式2同样地,应用管理部21成为如下结构:不具有利用者接口,无法向与应用程序执行装置1连接的SD(注册商标)卡那样的外部存储装置进行数据的拷贝、移动的结构。
[0169] 另外,应用5以及认证部7的结构也与实施方式2相同。
[0170] 接下来,说明动作。
[0171] 图8以及图9是本实施方式的应用程序执行装置1的处理流程。
[0172] 另外,在图8以及图9中,将应用管理部21记载为“管理部”。
[0173] 在应用登记部3中存在的应用5进行动作,而进行向保护对象资源2的访问时,第一通信部8将要求利用保护对象资源2的访问要求发送到应用管理部21(S300)。
[0174] 另外,关于从应用5向应用管理部21的通信,例如仅在安装了应用5时所使用的电子证书和安装了应用管理部21时所使用的电子证书相同的情况下被许可。
[0175] 在应用管理部21中,第一通信部9接收来自应用5的向保护对象资源2的访问要求(S301)。
[0176] 接下来,认证信息生成部24使用认证密钥23来生成认证信息,密码部26使用密码密钥25对访问要求和认证信息进行加密(S302)。
[0177] 关于认证信息的生成算法,只要认证信息验证部14能够验证认证信息,就可以是任意的算法。
[0178] 关于加密,也可以并非如本实施方式那样对认证信息和访问要求的全部进行加密,而是对一部分的信息进行加密。
[0179] 另外,也可以在认证信息以及访问要求中,附加消息认证代码、电子签名等用于检测篡改的信息。
[0180] 然后,第二通信部10将加密了的访问要求和认证信息发送到认证部7(S303)。
[0181] 在认证部7中,第二通信部11接收来自应用管理部21的加密了的访问要求和认证信息(S304)。
[0182] 然后,密码部29用密码密钥28对加密了的认证信息以及访问要求进行解密(S305)。
[0183] 而且,认证信息验证部14使用认证密钥27来验证认证信息,认证访问要求是否为从合法的发送源(即应用管理部21)所发送的要求(S306)。
[0184] S306的认证的结果,在认证成功了的情况下,认证信息验证部14向要求了的资源进行访问(S307)。
[0185] 另一方面,在认证失败了的情况下,废弃访问要求(S308)。
[0186] 此时,也可以由第二通信部11对应用管理部21应答认证失败了的意思。
[0187] 之后,在认证部7中,密码部29使用密码密钥28对访问应答进行加密(S314)。
[0188] 然后,第二通信部11将加密了的访问应答发送到应用管理部21(S309)。
[0189] 在访问要求是信息的读出等的情况下,也可以在本应答中包括读出了的信息。
[0190] 在应用管理部21中,第二通信部10接收来自认证部7的加密了的访问应答(S310),密码部26使用密码密钥25,对加密了的访问应答进行解密(S311),第一通信部9向应用5发送访问应答(S312)。
[0191] 在应用5中,第一通信部8从应用管理部21接收访问应答(S313)。
[0192] 另外,应用管理部21也可以并非是应用,而是在后台动作的不具有利用者接口的服务。
[0193] 在本实施方式中,设置了与认证密钥独立的密码密钥,但也可以在认证密钥和密码密钥中使用相同的密钥。
[0194] 在该情况下,认证信息生成部24进行认证信息的生成和加密/解密。
[0195] 另外,也可以将密码部26并非设置于应用管理部21内而是设置于虚拟执行环境52内,使用存在于虚拟执行环境52内的密码部。
[0196] 同样地,也可以将密码部29并非设置于认证部7内而是设置于OS51内,使用OS51内的密码部。
[0197] 另外,应用管理部21的认证信息生成部24也可以使用存在于虚拟执行环境52中的密码部来生成认证信息。
[0198] 同样地,认证部7的认证信息验证部14也可以使用OS51的密码部来验证认证信息。
[0199] 另外,在本实施方式中,示出了认证部7对应用管理部21进行认证的方式,但也可以追加应用管理部21对认证部7进行认证的处理,而相互认证。
[0200] 通过这样的相互认证,能够对利用者提供更安全的系统。
[0201] 另外,也可以设为如下结构:将认证部7如IC卡那样设置于应用程序执行装置1的外部,从应用程序执行装置1内部的应用管理部21经由外部的认证部7访问应用程序执行装置1内部的资源或者外部的资源。
[0202] 另外,也可以是如下方式:在有多个资源的情况下,在访问要求中包括要访问的资源的识别信息,在认证部中访问与识别信息对应的资源。
[0203] 如以上那样,应用5经由应用管理部21和认证部7访问资源,所以无需向应用5内部嵌入应设为秘密的认证信息,能够对利用者提供安全的系统。
[0204] 另外,应用开发者无需进行认证信息的机密管理,能够在1个应用管理部21中实施针对多个应用的认证,所以能够降低应用开发成本,低成本地向利用者提供服务。
[0205] 另外,在应用管理部21和认证部7中设置了密码部,所以从共有存储器20泄漏信息的风险降低,能够对利用者提供更安全的系统。
[0206] 另外,通过认证信息生成部24每次生成认证信息,所以还能够对抗再次利用了认证信息的攻击,能够对利用者提供更安全的系统。
[0207] 另外,根据本实施方式,能够保护与在虚拟执行环境中保护的资源独立的资源,能够安全地向利用者提供广泛的服务。
[0208] 实施方式4.
[0209] 在以上的实施方式中,示出了认证部7处于应用程序执行装置1的内部的例子。
[0210] 在本实施方式中,示出认证部7设置于应用程序执行装置1的外部的例子。
[0211] 图10是本实施方式的应用程序执行装置1的结构图。
[0212] 在本实施方式中,在实施方式1~3中示出了的认证部7的功能作为认证装置61而设置于应用程序执行装置1的外部。
[0213] 认证装置61相当于外部装置的例子。
[0214] 另外,认证装置61能够通过例如IC卡来实现。
[0215] 另外,在图10中用虚线包围的范围相当于在实施方式1~3中示出了的认证部7。
[0216] 在本实施方式中,在认证装置61中,设置了用于与应用程序执行装置1的第三通信部60进行通信的第三通信部62。
[0217] 认证装置61内的其他要素与已经说明的要素相同,所以省略说明。
[0218] 应用程序执行装置1包括:保护对象资源2、包括应用5和应用管理部21的应用登记部3、以及用于访问保护对象资源2的第三通信部60。
[0219] 应用5以及应用管理部21与实施方式3相同,所以省略说明。
[0220] 关于动作,在实施方式3中叙述了的图8以及图9的处理流程中,认证装置61进行认证部7的动作,认证部7向保护对象资源2的访问(S307)是经由第三通信部62和第三通信部60进行的点不同,其他处理流程相同,所以省略说明。
[0221] 另外,应用管理部21也可以并非是应用,而是在后台动作的不具有利用者接口的服务。
[0222] 另外,在本实施方式中,设置了与认证密钥独立的密码密钥,但也可以在认证密钥和密码密钥中使用相同的密钥。
[0223] 在该情况下,认证信息生成部24进行认证信息的生成和加密/解密。
[0224] 另外,在本实施方式中,示出了认证装置61对应用管理部21进行认证的方式,但也可以追加应用管理部21对认证装置61进行认证的处理,相互认证。
[0225] 通过这样的相互认证,能够对利用者提供更安全的系统。
[0226] 另外,在本实施方式中,示出了向应用程序执行装置1内部的资源的访问,但即使是访问应用程序执行装置1外部的资源的结构,也得到同样的效果。
[0227] 另外,也可以是如下方式:在有多个资源的情况下,在访问要求中包括要访问的资源的识别信息,在认证部中访问与识别信息对应的资源的方式。
[0228] 如以上那样,即使将认证装置设置于应用程序执行装置1的外部,也得到与上述实施方式同样的效果。
[0229] 实施方式5.
[0230] 在以上的实施方式中,是应用经由应用管理部、认证部而访问资源的结构,但接下来示出应用不经由应用管理部而利用从应用管理部得到了的信息经由认证部来访问资源的实施方式。
[0231] 图12示出本实施方式的应用程序执行装置1的结构例。
[0232] 本实施方式中的应用程序执行装置1的基本的结构与图6相同,被大致分成保护对象资源2、应用登记部3、认证部7。
[0233] 应用登记部3与实施方式3同样地,在内部具有应用管理部21。
[0234] 应用管理部21是由应用程序执行装置1的制造者事先在应用程序执行装置1中安装了的应用。
[0235] 另外,应用管理部21成为如下结构:不具有利用者接口,无法向与应用程序执行装置1连接的SD(注册商标)卡那样的外部存储装置进行数据的拷贝、移动。
[0236] 在本实施方式中的应用管理部21中,有第一认证信息生成部70,它与实施方式3中的认证信息生成部24相同,使用认证密钥存储部22的认证密钥23,生成第一认证信息。
[0237] 与实施方式1同样地,在应用管理部21是合法的验证中使用第一认证信息。
[0238] 在本实施方式中,第一认证信息生成部70相当于认证信息取得部的例子。
[0239] 应用5与实施方式1同样地,是之后所下载的应用。
[0240] 在应用5中有第二通信部71,第二通信部71与认证部7的第二通信部11进行通信。
[0241] 另外,第二通信部71也可以进行在实施方式2中示出了的使用了共有存储器的通信。
[0242] 第二通信部71以外的内部结构与实施方式1相同,所以省略说明。
[0243] 在认证部7中,第一认证信息验证部72使用认证密钥27,验证接收到的第一认证信息。
[0244] 密码部29使用密码密钥28来进行加密/解密。
[0245] 第二通信部11与应用管理部21、应用5进行通信。
[0246] 第二认证信息生成/验证部73生成在与应用5的通信时使用的第二认证信息,验证从应用5接收到的第二认证信息。
[0247] 另外,本实施方式中的第二认证信息能够通过口令(password)来实现。
[0248] 接下来,说明动作。
[0249] 图13以及图14是本实施方式的应用程序执行装置1的处理流程。
[0250] 另外,在图13以及图14中,将应用管理部21记载为“管理部”。
[0251] 在应用登记部3中存在的应用5进行动作,而进行向保护对象资源2的访问时,首先,从第一通信部8将要求提供在保护对象资源2的利用时所使用的第二认证信息的第二认证信息要求发送到应用管理部21(S500)。
[0252] 另外,关于从应用5向应用管理部21的通信,例如仅在安装了应用5时所使用的电子证书和安装了应用管理部21时所使用的电子证书相同的情况下被许可。
[0253] 在应用管理部21中,第一通信部9接收来自应用的第二认证信息要求(S501)。
[0254] 接下来,在应用管理部21中,第一认证信息生成部70使用认证密钥23来生成第一认证信息,从第二通信部10向认证部7发送第一认证信息和第二认证信息要求(S502)。
[0255] 关于第一认证信息的生成算法,只要第一认证信息验证部72能够对第一认证信息进行验证,就可以是任意的算法。
[0256] 此时,密码部29也可以使用密码密钥对第一认证信息进行加密。
[0257] 另外,也可以在第一认证信息中,追加消息认证代码、电子签名等用于检测篡改的信息。
[0258] 在认证部7中,第二通信部11接收来自应用管理部21的第一认证信息(S503)。
[0259] 然后,第一认证信息验证部72使用认证密钥27来验证第一认证信息,从而认证第二认证信息要求是否为从合法的发送源(即应用管理部21)所发送的要求(S504)。
[0260] S504的认证的结果,在认证成功了的情况下,在认证部7中,第二认证信息生成/验证部73生成第二认证信息,密码部29利用密码密钥28对第二认证信息进行加密(S505)。
[0261] 另一方面,在认证失败了的情况下,第一认证信息验证部72废弃第二认证信息要求(S506)。
[0262] 此时,也可以由第二通信部11对应用管理部21应答认证失败了的意思。
[0263] 然后,第二通信部11将加密了的第二认证信息发送到应用管理部21(S507)。
[0264] 在应用管理部21中,第二通信部10接收来自认证部7的加密了的第二认证信息(S508),密码部26使用密码密钥25,对加密了的第二认证信息进行解密(S509),第一通信部
9向应用5发送第二认证信息(S510)。
[0265] 在应用5中,第一通信部8从应用管理部21接收第二认证信息(S511)。
[0266] 之后,应用5从第二通信部71将第二认证信息和要求利用保护对象资源的访问要求发送到认证部7(S512)。
[0267] 在认证部7中,第二通信部11接收第二认证信息和访问要求(S513)。
[0268] 第二认证信息生成/验证部73验证接收到的第二认证信息,从而认证访问要求是否为从合法的发送源(即应用5)所发送的要求(S514)。
[0269] S514的认证的结果,在认证成功了的情况下,认证部7向要求了的资源进行访问(S515)。
[0270] 另一方面,在认证失败了的情况下,认证部7废弃访问要求(S516)。
[0271] 此时,也可以由第二通信部11对应用5应答认证失败了的意思。
[0272] 然后,第二通信部11将访问应答发送到应用5(S517)。
[0273] 在访问要求是信息的读出等的情况下,也可以在本应答中包括读出了的信息。
[0274] 在应用5中,第二通信部71从认证部7接收访问应答(S518)。
[0275] 另外,应用管理部21也可以并非是应用,而是在后台动作的不具有利用者接口的服务。
[0276] 在本实施方式中,设置了与认证密钥独立的密码密钥,但也可以在认证密钥和密码密钥中使用相同的密钥。
[0277] 在该情况下,第一认证信息生成部72进行认证信息的生成和加密/解密。
[0278] 另外,也可以将密码部26并非设置于应用管理部21内而是设置于实施方式3中的虚拟执行环境内,使用存在于虚拟执行环境内的密码部。
[0279] 同样地,也可以将密码部29并非设置于认证部7内而是设置于OS内,使用OS内的密码部。
[0280] 另外,应用管理部21的第一认证信息生成部70也可以使用实施方式3中的存在于虚拟执行环境中的密码部来生成第一认证信息。
[0281] 同样地,认证部7的第一认证信息验证部72、第二认证信息生成/验证部73也可以使用OS的密码部来进行第一认证信息的验证、第二认证信息的生成、验证。
[0282] 另外,在本实施方式中,示出了认证部7对应用管理部21进行认证的方式,但也可以追加应用管理部21对认证部7进行认证的处理,而相互认证。
[0283] 通过这样的相互认证,能够对利用者提供更安全的系统。
[0284] 另外,也可以成为如下结构:将认证部7如IC卡那样设置于应用程序执行装置1的外部,从应用程序执行装置1内部的应用管理部21经由外部的认证部而访问应用程序执行装置1内部的资源或者外部的资源。
[0285] 另外,在本实施方式中说明了如下流程:在应用管理部21接收到来自应用5的第二认证信息要求之后,认证部7进行使用了第一认证信息的认证。
[0286] 取而代之,也可以在应用管理部21接收到来自应用5的第二认证信息要求之前,例如在应用程序执行装置1的电源接通时,认证部7进行使用了第一认证信息的应用管理部21的认证,应用管理部21取得第二认证信息,在接收到来自应用5的第二认证信息要求的情况下,对应用5应答应用管理部21所取得的第二认证信息。
[0287] 另外,既可以设为在以后的访问要求时不进行认证处理,也可以设为只要是从认证起一定时间以内的访问要求,就不进行认证处理。
[0288] 而且,应用5也可以存储从应用管理部21所取得的第二认证信息,每当应用5向认证部7进行访问要求时使用。
[0289] 另外,从应用管理部21向应用5传送的第二认证信息也可以是与带密钥的消息认证代码、加密等对应的共用密钥。
[0290] 在该情况下,需要在应用5中根据接收到的共用密钥来生成认证信息。
[0291] 另外,在本实施方式中,示出了由认证部7生成第二认证信息的结构,但既可以是由应用管理部21生成的结构,也可以是由应用管理部21和认证部7这两方生成的结构。
[0292] 在后者的情况下,能够通过利用例如第一认证信息在具有相同的生成机制的应用管理部21和认证部7中生成第二认证信息来实现。
[0293] 如以上那样,应用在下载之后从应用管理部得到第二认证信息,认证部对该第二认证信息进行认证来访问资源。
[0294] 因此,无需在谁都能够下载的应用配送服务器上的应用内部嵌入应设为秘密的认证信息,能够对利用者提供安全的系统。
[0295] 另外,在应用管理部和认证部中设置了密码部,所以应用管理部和认证部的通信中的信息泄漏风险降低,能够对利用者提供更安全的系统。
[0296] 另外,应用不经由应用管理部而能够访问资源,所以效率良好,能够用比所述实施方式还少的存储器来实现,所以能够削减成本。
[0297] 实施方式6.
[0298] 在实施方式5中,示出了应用管理部向应用发送由认证部生成了的第二认证信息的结构,但接下来示出应用管理部使用由认证部生成了的第二认证密钥来生成第二认证信息的实施方式。
[0299] 图15示出本实施方式的应用程序执行装置1的结构例。
[0300] 本实施方式中的应用程序执行装置1的基本的结构与图12相同,被大致分成保护对象资源2、应用登记部3、认证部7。
[0301] 应用登记部3与实施方式5同样地,在内部具有应用管理部21。
[0302] 在本实施方式中的应用管理部21中,有第一认证信息生成部70,它与实施方式3中的认证信息生成部24相同,使用认证密钥存储部22的第一认证密钥80,生成第一认证信息。
[0303] 与实施方式1同样地,在应用管理部21是合法的验证中使用第一认证信息。
[0304] 在本实施方式中,第一认证信息生成部70也相当于认证信息取得部的例子。
[0305] 第二认证信息生成部81使用从认证部7接收到的第二认证密钥84来生成第二认证信息。
[0306] 第二认证密钥84可以是共用密钥算法的密钥、公开密钥算法的公开密钥或秘密密钥,在前者的情况下,第二认证信息是加密数据、带密钥的消息认证代码,在后者的情况下,是电子证书、电子签名、加密数据。
[0307] 这以外的内部结构与其他实施方式相同,所以省略说明。
[0308] 应用5与实施方式1同样地,是之后所下载的应用,内部结构与实施方式5相同,所以省略说明。
[0309] 在认证部7中,第一认证信息验证部72使用第一认证密钥82,来验证接收到的第一认证信息。
[0310] 第二认证密钥生成部83生成第二认证密钥84。
[0311] 第二认证信息验证部85使用第二认证密钥84,来验证接收到的第二认证信息。
[0312] 这以外的内部结构与实施方式5相同,所以省略说明。
[0313] 接下来,说明动作。
[0314] 图16以及图17是本实施方式的应用程序执行装置1的处理流程。
[0315] 另外,在图16以及图17中,将应用管理部21记载为“管理部”。
[0316] 在应用登记部3中存在的应用5进行动作,而进行向保护对象资源2的访问时,首先,从第一通信部8将要求提供在保护对象资源2的利用时所使用的第二认证信息的第二认证信息要求发送到应用管理部21(S600)。
[0317] 虽然依赖于第二认证信息,但应用5也可以将之后向认证部7发送的访问要求命令、发送数据、或者其一部分发送到应用管理部21。
[0318] 另外,关于从应用5向应用管理部21的通信,例如仅在安装了应用5时所使用的电子证书和安装了应用管理部21时所使用的电子证书相同的情况下被许可。
[0319] 在应用管理部21中,第一通信部9接收来自应用5的第二认证信息要求(S601)。
[0320] 接下来,在应用管理部21中,第一认证信息生成部70使用第一认证密钥80来生成第一认证信息,从第二通信部10向认证部7发送第一认证信息和要求第二认证密钥的第二认证密钥要求(S602)。
[0321] 关于第一认证信息的生成算法,只要第一认证信息验证部72能够对第一认证信息进行验证,就可以是任意的算法。
[0322] 此时,也可以由密码部26使用密码密钥25对第一认证信息进行加密。
[0323] 另外,也可以在第一认证信息中,追加消息认证代码、电子签名等用于检测篡改的信息。
[0324] 在认证部7中,第二通信部11接收来自应用管理部21的第一认证信息和第二认证密钥要求(S603)。
[0325] 然后,第一认证信息验证部72使用第一认证密钥来验证第一认证信息,认证第二认证密钥要求是否为从合法的发送源(即应用管理部21)所发送的要求(S604)。
[0326] S604的认证的结果,在认证成功了的情况下,在认证部7中,第二认证密钥生成部83生成第二认证密钥84,在密码部29中,利用密码密钥28对第二认证密钥84进行加密
(S605)。
[0327] 另一方面,在认证失败了的情况下,第一认证信息验证部72废弃第二认证密钥要求(S606)。
[0328] 此时,也可以由第二通信部11对应用管理部21应答认证失败了的意思。
[0329] 然后,第二通信部11将加密了的第二认证密钥发送到应用管理部21(S607)。
[0330] 在应用管理部21中,第二通信部10接收来自认证部7的加密了的第二认证密钥(S608),密码部26使用密码密钥,对加密了的第二认证密钥进行解密(S609)。
[0331] 之后,第二认证信息生成部81生成第二认证信息(S610),第一通信部9向应用5发送第二认证信息(S611)。
[0332] 在应用5中,第一通信部8从应用管理部21接收第二认证信息(S612)。
[0333] 之后,在应用5中,从第二通信部71将第二认证信息和要求利用保护对象资源的访问要求发送到认证部7(S613)。
[0334] 在认证部7中,第二通信部11接收第二认证信息和访问要求(S614)。
[0335] 接下来,第二认证信息验证部85验证接收到的第二认证信息,从而认证访问要求是否为从合法的发送源(即应用5)所发送的要求(S615)。
[0336] S615的认证的结果,在认证成功了的情况下,认证部7向要求了的资源进行访问(S616)。
[0337] 另一方面,在认证失败了的情况下,认证部7废弃访问要求(S617)。
[0338] 此时,也可以由第二通信部11对应用5应答认证失败了的意思。
[0339] 然后,第二通信部11将访问应答发送到应用5(S618)。
[0340] 在访问要求是信息的读出等的情况下,也可以在本应答中包括读出了的信息。
[0341] 在应用5中,第二通信部71从认证部7接收访问应答(S619)。
[0342] 另外,应用管理部21也可以并非是应用,而是在后台动作的不具有利用者接口的服务。
[0343] 在本实施方式中,设置了与认证密钥独立的密码密钥,但也可以在认证密钥和密码密钥中使用相同的密钥。
[0344] 在该情况下,第一认证信息生成部70进行认证信息的生成和加密/解密。
[0345] 另外,也可以将密码部并非设置于应用管理部内而是设置于实施方式3中的虚拟执行环境内,使用存在于虚拟执行环境内的密码部。
[0346] 同样地,也可以将密码部并非设置于认证部7内而是设置于OS内,使用OS内的密码部。
[0347] 另外,应用管理部21的第一认证信息生成部70也可以使用实施方式3中的存在于虚拟执行环境中的密码部来生成第一认证信息。
[0348] 同样地,认证部7的第一认证信息验证部72、第二认证信息验证部85也可以使用OS的密码部来进行第一认证信息的验证、第二认证信息的验证。
[0349] 另外,在本实施方式中,示出了认证部7对应用管理部21进行认证的方式,但也可以追加应用管理部21对认证部7进行认证的处理,而相互认证。
[0350] 通过这样的相互认证,能够对利用者提供更安全的系统。
[0351] 另外,也可以成为如下结构:将认证部7如IC卡那样设置于应用程序执行装置1的外部,从应用程序执行装置1内部的应用管理部21经由外部的认证部7访问应用程序执行装置1内部的资源或者外部的资源。
[0352] 另外,在本实施方式中说明了如下流程:在应用管理部21接收到来自应用5的第二认证信息要求之后,认证部7进行使用了第一认证信息的认证。
[0353] 取而代之,也可以在应用管理部21接收到来自应用5的第二认证信息要求之前,例如在应用程序执行装置1的电源接通时,认证部7进行使用了第一认证信息的应用管理部21的认证,应用管理部21取得第二认证密钥,在接收到来自应用5的第二认证信息要求的情况下,使用应用管理部21所取得的第二认证密钥来生成第二认证信息而对应用5进行应答。
[0354] 另外,既可以设为在以后的访问要求时不进行认证处理,也可以设为只要是从电源接通时起一定时间以内的访问要求,就不进行认证处理。
[0355] 通过以上那样的结构,也能得到与所述实施方式同样的效果。
[0356] 实施方式7.
[0357] 在以上的实施方式中,是应用将第二认证信息发送到认证部的结构,但接下来示出在认证部中在第二认证信息的验证之前判断其有效性的实施方式。
[0358] 图18示出本实施方式的应用程序执行装置1的结构例。
[0359] 本实施方式中的应用程序执行装置1的基本的结构与图12相同。
[0360] 在认证部7的第二认证信息生成/验证部73中,设置了判断第二认证信息的有效性的有效性判断部90。
[0361] 在有效性的判断中,使用认证次数、时间、日期等。
[0362] 例如,在认证次数的情况下,对使用了认证部7生成了的第二认证信息的认证的次数进行计数,在其是规定值以下的情况下设为有效,在超过了规定值的情况下设为无效。
[0363] 另外,也可以在从认证部7生成了第二认证信息的时刻起某规定时间内的情况下设为有效,在超过了规定时间的情况下设为无效。
[0364] 而且,也可以仅在认证部7生成了第二认证信息的日期设为有效,或者仅在如电子证书那样在第二认证信息中所设置的有效期限内设为有效,在其以外设为无效。
[0365] 另外,也可以根据由认证部7生成了的随机数,随机地判断有效/无效,也可以组合上述方法。
[0366] 接下来,说明动作。
[0367] 图19是本实施方式的应用程序执行装置1的处理流程。
[0368] 另外,在图19中,示出了处理流程的一部分,应用5从应用管理部21取得第二认证信息的处理流程与图16和图17相同,所以省略。
[0369] 另外,在图19中,将应用管理部21记载为“管理部”。
[0370] 在应用登记部3中存在的应用5进行动作,而进行向保护对象资源2的访问时,与图16和图17同样地,从应用管理部21取得第二认证信息。
[0371] 应用5在取得了第二认证信息之后,从第二通信部71将第二认证信息和要求利用保护对象资源的访问要求发送到认证部7(S700)。
[0372] 在认证部7中,通过第二通信部11接收第二认证信息和访问要求(S701)。
[0373] 然后,第二认证信息生成/验证部73的有效性判断部90判断第二认证信息的有效性(S702)。
[0374] 判断的结果,如果是有效,则第二认证信息生成/验证部73验证接收到的第二认证信息,认证访问要求是否为从合法的发送源(即应用5)所发送的要求(S703)。
[0375] S703的认证的结果,在认证成功了的情况下,认证部7访问要求了的资源(S704),第二通信部11将访问应答发送到应用5(进行与图17同样的处理)。
[0376] 另一方面,在认证失败了的情况下,第二认证信息生成/验证部73废弃访问要求(S705)。
[0377] 此时,也可以由第二通信部11对应用5应答认证失败了的意思。
[0378] 另一方面,S702的判断的结果,如果是无效,则第二通信部11将无效通知发送到应用5(S706)。
[0379] 在应用5中,如果第二通信部71从认证部7接收到无效通知(S707),则取得新的第二认证信息,所以将第二认证信息要求从第一通信部8发送到应用管理部21(S708)。
[0380] 在应用管理部21中,如果通过第一通信部9接收到第二认证信息要求(S709),则进行与图16和图17同样的处理,向应用5发送新的第二认证信息。
[0381] 另外,在本实施方式中说明了如下流程:在应用管理部21接收到来自应用5的第二认证信息要求之后,认证部7进行使用了第一认证信息的认证。
[0382] 取而代之,也可以在应用管理部21接收到来自应用5的第二认证信息要求之前,例如在应用程序执行装置1的电源接通时,认证部7进行使用了第一认证信息的应用管理部21的认证,应用管理部21取得第二认证信息,在接收到来自应用5的第二认证信息要求的情况下,对应用5应答应用管理部21所取得的第二认证信息。
[0383] 另外,在本实施方式中,示出了在应用管理部21中生成第二认证信息的结构,但也可以是在应用管理部21和认证部7这两方中生成的结构。
[0384] 在该情况下,能够通过利用例如第一认证信息在具有相同的生成机制的应用管理部21和认证部7中生成第二认证信息来实现。
[0385] 另外,在本实施方式中,示出了应用5不经由应用管理部21而利用从应用管理部21得到了的信息经由认证部7访问资源的结构下的方式,但还能够应用于应用5经由应用管理部21、认证部7访问资源的结构。
[0386] 如以上那样,应用5在下载之后从应用管理部21得到第二认证信息,认证部7对该第二认证信息进行认证而访问资源,所以无需在谁都能够下载的应用配送服务器上的应用内部嵌入应设为秘密的认证信息,能够对利用者提供安全的系统。
[0387] 另外,应用5无需经由应用管理部21而能够访问资源,所以效率良好,能够用比所述实施方式还少的存储器来实现,所以能够削减成本。
[0388] 另外,应用5无需每当访问资源时取得第二认证信息,另外在认证部7中判断第二认证信息的有效性,所以能够实现资源取得处理高速并且安全的系统。
[0389] 实施方式8.
[0390] 在以上的实施方式中,说明了许可应用针对资源的访问的结构。
[0391] 在本实施方式中,示出细致地许可多个应用针对多个资源的访问的实施方式。
[0392] 图20是本实施方式的应用程序执行装置1的结构图。
[0393] 在图20中,应用登记部3与其他实施方式同样地,在内部具有应用管理部21和应用5。
[0394] 在图20中,示出包括应用管理部21a和应用管理部21b这2个应用管理部21、应用5a和应用5b这2个应用5的例子。
[0395] 应用管理部21a对应于应用5a,管理由应用5a进行的资源的利用。
[0396] 同样地,应用管理部21b对应于应用5b,管理由应用5b进行的资源的利用。
[0397] 另外,以下,在无需区分应用管理部21a和应用管理部21b的情况下,将两者汇总起来记载为应用管理部21,在无需区分应用5a和应用5b的情况下,将两者汇总起来记载为应用5。
[0398] 由应用程序执行装置1的制造者事先在应用程序执行装置1中安装了应用管理部21。
[0399] 另外,在本实施方式中,作为资源,有资源_A2a和资源_B2b。
[0400] 应用管理部21的内部结构与其他实施方式相同。
[0401] 另外,与其他实施方式同样地,应用管理部21成为如下结构:不具有利用者接口,无法向与应用程序执行装置1连接的SD(注册商标)卡那样的外部存储装置进行数据的拷贝、移动。
[0402] 在认证部7中,具有根据发送了访问要求的应用管理部21来控制向资源_A和资源_B的访问的访问控制部91。
[0403] 另外,在图20中,省略了认证部7、应用管理部21以及应用5的内部结构的图示,但各要素的内部结构如图6所示。
[0404] 接下来,说明动作。
[0405] 图21是本实施方式的应用程序执行装置1的处理流程。
[0406] 另外,在图21中,示出了处理流程的一部分,从应用5向应用管理部21发送访问要求、并从应用管理部21向应用5发送访问应答的处理流程与图8和图9相同,所以省略。
[0407] 另外,将应用管理部记载为“管理部”。
[0408] 另外,关于从应用5向应用管理部21的通信,例如仅在安装了应用5时所使用的电子证书和安装了应用管理部21时所使用的电子证书相同的情况下被许可。
[0409] 即,仅在应用5a和应用管理部21a的电子证书相同的情况下,应用5a与应用管理部21a之间的通信被许可。
[0410] 同样地,仅在应用5b和应用管理部21b的电子证书相同的情况下,应用5b与应用管理部21b之间的通信被许可。
[0411] 应用管理部21的第二通信部10(未图示)将加密了的访问要求和认证信息发送到认证部7(S303)。
[0412] 在访问要求中包括访问目的地的资源的识别信息。
[0413] 在认证部7中,第二通信部11接收来自应用管理部21的加密了的访问要求和认证信息(S304)。
[0414] 然后,密码部29用密码密钥28对加密了的认证信息以及访问要求进行解密(S305)。
[0415] 而且,认证信息验证部14使用认证密钥27来验证认证信息,从而认证访问要求是否为从合法的发送源(即应用管理部21)所发送的要求(S306)。
[0416] S306的认证的结果,在认证成功了的情况下,访问控制部91根据对作为访问要求的发送源的应用管理部21进行识别的信息、和访问目的地的资源的识别信息,判定是否为被许可的访问(S750)。
[0417] 作为对作为访问要求的发送源的应用管理部21进行识别的信息,能够利用应用管理部21a与认证部7之间的通信通路和应用管理部21b与认证部7之间的通信通路的差异(例如端口号)、从应用管理部21接收到的预先确定的应用管理部ID、对密码密钥、认证密钥所赋予的密钥ID等。
[0418] 另外,也可以是认证部7将对作为访问要求的发送源的应用管理部21进行识别的信息、和访问目的地的资源的识别信息保持为列表的结构。
[0419] 判定的结果,在判定为可访问的情况下,认证部7向要求了的资源进行访问(S307)。
[0420] 在判定为不可访问的情况下,认证部7废弃访问要求(S751)。
[0421] 此时,也可以由第二通信部11对应用管理部21应答不可访问的意思。
[0422] S306的认证的结果,在认证失败了的情况下,认证部7废弃访问要求(S308)。
[0423] 此时,也可以由第二通信部11对应用管理部21应答不可访问的意思。
[0424] 之后,在认证部7中,密码部29使用密码密钥28对访问应答进行加密(S314)。
[0425] 然后,第二通信部11将加密了的访问应答发送到应用管理部21(S309)。
[0426] 在访问要求是信息的读出等的情况下,也可以在本应答中包括读出了的信息。
[0427] 在应用管理部21中,第二通信部10接收来自认证部7的加密了的访问应答(S310)。
[0428] 另外,应用管理部21也可以并非是应用,而是在后台动作的不具有利用者接口的服务。
[0429] 在本实施方式中,设置了与认证密钥独立的密码密钥,但也可以在认证密钥和密码密钥中使用相同的密钥。
[0430] 在该情况下,认证信息生成部24进行认证信息的生成和加密/解密。
[0431] 另外,也可以针对每个应用管理部21变更认证密钥和密码密钥。
[0432] 在该情况下,也可以赋予唯一地识别各密钥的密钥ID。
[0433] 另外,在本实施方式中,示出了认证部7对应用管理部21进行认证的方式,但也可以追加应用管理部21对认证部7进行认证的处理,而相互认证。
[0434] 通过这样的相互认证,能够对利用者提供更安全的系统。
[0435] 另外,也可以设为如下结构:将认证部7如IC卡那样设置于应用程序执行装置1的外部,从应用程序执行装置1内部的应用管理部21经由外部的认证部7访问应用程序执行装置1内部的资源或者外部的资源。
[0436] 另外,也可以是如下结构:利用1个来构成应用管理部21,认证部或者应用管理部21使用应用所具有的ID、从虚拟执行环境所取得的应用管理部21的通信目的地应用的识别信息来判定访问。
[0437] 在本实施方式中,示出了从应用5经由应用管理部21访问资源的方式,但也可以如实施方式5、6那样是不经由应用管理部21而利用从应用管理部21得到的信息来访问资源的结构。
[0438] 如以上那样,应用5经由应用管理部21和认证部7访问资源,所以无需在应用5内部嵌入应设为秘密的认证信息,能够对利用者提供安全的系统。
[0439] 另外,应用开发者无需进行认证信息的机密管理,能够在1个应用管理部21中实施针对多个应用的认证,所以能够降低应用开发成本,低成本地向利用者提供服务。
[0440] 另外,能够细致地控制多个应用针对资源的访问,所以能够对利用者提供更安全的系统。
[0441] 实施方式9.
[0442] 在以上的实施方式中,示出了保护对象资源2处于应用程序执行装置1的内部的例子。
[0443] 在本实施方式中,示出认证部7和保护对象资源2设置于应用程序执行装置1的外部的例子。
[0444] 图22是本实施方式的应用程序执行装置1的结构图。
[0445] 在本实施方式中,应用5和应用管理部21设置于第一应用程序执行装置1a,认证部7的功能和资源作为第二应用程序执行装置1b而设置于第一应用程序执行装置1a的外部。
[0446] 第二应用程序执行装置1b相当于外部装置的例子。
[0447] 第二应用程序执行装置1b能够通过例如在内部包括机密信息的IC卡来实现。
[0448] 第一应用程序执行装置1a和第二应用程序执行装置1b的要素与已经说明的要素相同,所以省略说明。
[0449] 关于动作,在实施方式3中叙述了的图8以及图9的处理流程中,第一应用程序执行装置1a进行应用5和应用管理部21的动作、且第二应用程序执行装置1b进行资源2和认证部7的动作的点不同,其他处理流程相同,所以省略说明。
[0450] 如以上那样,即使将应用程序执行装置1分离为第一应用程序执行装置和第二应用程序执行装置,也能得到与上述实施方式同样的效果。
[0451] 以上,说明了本发明的实施方式,但也可以组合这些实施方式中的2个以上来实施。
[0452] 或者,也可以部分地实施这些实施方式中的1个。
[0453] 或者,也可以部分地组合实施这些实施方式中的2个以上。
[0454] 另外,本发明不限于这些实施方式,而能够根据需要进行各种变更。
[0455] 最后,参照图11,说明在实施方式1~9中示出了的应用程序执行装置1的硬件结构例。
[0456] 应用程序执行装置1是计算机,能够通过程序来实现应用程序执行装置1的各要素。
[0457] 作为应用程序执行装置1的硬件结构,在总线上连接了运算装置901、外部存储装置902、主存储装置903、通信装置904、输入输出装置905。
[0458] 运算装置901是执行程序的CPU。
[0459] 外部存储装置902是例如ROM、闪存存储器、硬盘装置。
[0460] 主存储装置903是RAM。
[0461] 通信装置904在例如与实施方式4的认证装置61进行通信时使用。
[0462] 另外,通信装置904也可以连接到LAN(Local Area Network,局域网)等网络。
[0463] 输入输出装置905是例如鼠标、键盘、显示器装置等。
[0464] 关于程序,通常存储在外部存储装置902中,在载入到主存储装置903中的状态下依次被读入到运算装置901而执行。
[0465] 程序是实现作为图1等所示的应用管理部6、21的“~部”(其中除了“认证密钥存储部22”以外)而进行了说明的功能的程序。
[0466] 而且,在外部存储装置902中,还存储有操作系统(OS),OS的至少一部分被载入到主存储装置903,运算装置901在执行OS的同时,执行实现图1等所示的“~部”的功能的程序。
[0467] 另外,应用5以及认证部7也存储于外部存储装置902,在载入到主存储装置903的状态下依次由运算装置901执行。
[0468] 另外,认证密钥、密码密钥也存储于外部存储装置902,在载入到主存储装置903的状态下依次由运算装置901利用。
[0469] 另外,在实施方式1~9的说明中,将表示作为“~的判断”、“~的判定”、“~的验证”、“~的认证”、“~的取得”、“~的读出”、“~的抽出”、“~的检测”、“~的设定”、“~的登记”、“~的选择”、“~的生成”、“~的输入”、“~的接收”等而进行了说明的处理的结果的信息、数据、信号值、变量值作为文件存储于主存储装置903。
[0470] 另外,也可以将随机数值、参数、电子证书作为文件存储于主存储装置903。
[0471] 另外,也可以用固件来实现图1等所示的应用管理部6、21的“~部”的至少一部分。
[0472] 另外,图11的结构仅为应用程序执行装置1的硬件结构的一个例子,应用程序执行装置1的硬件结构不限于图11记载的结构,也可以是其他结构。