终端装置及程序的制作方法

文档序号:6396127阅读:134来源:国知局
专利名称:终端装置及程序的制作方法
技术领域
本发明涉及确保被存储在终端装置中的数据的安全性、保守用户个人隐私的技术。
背景技术
具有执行程序功能的移动电话机及个人计算机装置(以下称为「PC」)等的终端装置正在普及。用户通过让该种终端装置执行应用程序,就可以使用游戏及计划表等各种的应用程序。在这样的应用程序中,有在终端装置销售之前通过写入其非易失性存储部内而提供的、以单独的应用程序来提供的和在终端装置的销售后由用户安装的应用程序。以下,将前者称为「本机应用程序」,将后者称为「非本机应用程序」。作为非本机应用程序的一例,可以列举通过互联网所提供的应用程序、及存储在如CD-ROM(Compact Disk-Read Only Memory)那样的计算机装置可读取的存储介质中来提供的应用程序。用户通过安装适合各自的需求的非本机应用程序,可以自由地追加及变更终端装置的功能。
一般来讲,因为应用程序是让终端装置实现适合用户的需求的功能的,所以对用户来讲是非常有益的。但是,在应用程序的提供者(内容提供者以下称为「CP」)怀有恶意的情况下,通过执行该应用程序,用户就有受到无法预料的利益侵害的可能。具体来讲,会产生终端装置所存储的重要的数据(例如,用户的个人信息)在执行应用程序的过程中被随意地读出,并被发送到CP的情况。对于本机应用程序,例如终端装置的制造者确认通过在终端装置的产品发货时对产品进行检查,就不会产生这样的情况。另一方面,对于非本机应用程序,并不一定进行这样的确认。即、对于非本机应用程序,不敢说通过执行该应用程序,用户不会有受到无法预料的利益侵害。
为了使用户不受到无法预料的利益侵害,可以考虑禁止使用非本机应用程序,只使用本机应用程序。但是,如果禁止使用非本机应用程序的话,用户就不能根据各自的需求自由地追加及变更终端装置的功能,很不方便。因此,作为可以使用非本机应用程序、在执行该非本机应用程序的过程中不让用户受到无法预料的利益侵害的技术,有在特开2002-245012号公报中公开的技术。
在特开2002-245012号公报所公开的技术中,通过提供将数据和处理该数据的程序实施逻辑一体化的对象,来进行程序的提供。并且,希望使用此种程序的用户,签订决定包含该程序的对象和在执行该程序时所需要的资源(存储器等的硬件资源、及存储器所存储的数据等的软件资源)的协议,只使用该协议所规定的资源。这样,通过事先限制程序所使用的资源,禁止在该程序的执行过程中使用其他的资源,来确保其他的资源的安全。以下,为了处理对象所包含的数据,将与该数据一起被一体化的程序称为「方法」。
如上述那样,根据特开2002-245012号公报所公开的技术,在签订了在执行非本机应用程序的过程中,禁止访问终端装置10所存储的重要数据的协议的基础上,可以执行该非本机应用程序,确保该重要数据的安全。
但是,在执行非本机应用程序的过程中,如果可利用的资源受到限制,则设计非本机应用程序时所设计的自由度,就会变得狭窄。这样,当设计自由度变得狭窄时,通过执行该非本机应用程序所实现的功能自身也受到限制。在伴随着这样的功能限制的非本机应用程序中,就会产生不能具体地满足用户多方面需求的问题。

发明内容
本发明就是鉴于上述问题而产生的,其目的在于提供非本机应用程序可以利用终端装置所存储的重要数据,并确保该重要数据的安全的技术。
为了解决上述问题,本发明提供一种终端装置,该终端装置具有存储数据的第1存储单元;根据应用程序,执行指令代码的执行单元;存储用于特别指定在由所述执行单元可执行的指令代码中的在本终端装置中被限制执行的指令代码的数据的第2存储单元;根据所述第2存储单元的存储内容,判断根据所述应用程序由所述执行单元所执行的指令代码是否为被限制执行的指令代码的判断单元;在所述判断单元判断为是被限制执行的指令代码、并且通过执行该指令代码使所述数据中至少一部分被访问的情况下,禁止所述执行单元执行该指令代码的禁止单元。
根据此种终端装置,在根据应用程序所执行的指令代码中,对于被限制执行的指令代码,在通过执行该指令代码使得终端装置所存储的数据被操作的情况下,不执行该指令代码。
因此,根据本发明,就可以达到可以让非本机应用程序利用终端装置所存储的重要数据,并确保该重要数据的安全这一效果。
另外,为了解决上述问题,本发明提供一种程序,使存储数据并存储特别指定在本单元中被限制执行的指令代码的数据的计算机实现以下单元的功能,根据应用程序,执行指令代码的执行单元;根据该计算机装置的存储内容,判断根据所述应用程序由所述执行单元所执行的指令代码是否为被限制执行的指令代码的判断单元;在所述判断单元判断为被限制执行的指令代码、并且通过执行该指令代码使得所述数据中的至少一部分被访问的情况下,禁止所述执行单元执行该指令代码的禁止单元。
根据此种程序,在根据该程序进行动作并存储了数据和特定在本单元中被限制执行的指令代码的识别符的计算机装置中,在根据应用程序所执行的指令代码中,对于被限制执行的指令代码,如果该指令代码的执行使得该计算机装置所存储的数据被操作,则不执行该指令代码。


图1是表示具有本发明的终端装置10的通信系统的结构例的图。
图2是表示终端装置10所存储的电话簿表的一例的图。
图3是表示终端装置10所存储的来电履历表的一例的图。
图4是表示终端装置10根据该终端装置10所存储的JavaAPP所进行的来电通知处理的流程的流程图。
图5是表示该终端装置10所显示的画面的画面格式的一例的图。
图6是表示该终端装置10的结构的一例的图。
图7是表示被写入该终端装置10的易失性存储部651的数据管理表的一例的图。
图8是表示该终端装置10的非易失性存储部652所储存的代码管理表的一例的图。
图9是对编入该终端装置10的Java执行环境进行说明的图。
图10是表示该终端装置10的控制部610根据KVM所进行Java字节代码解释执行处理的流程的图。
图11是表示该终端装置10的控制部610根据X-String生成API所进行的电话簿数据取得处理的流程的流程图。
图12是表示终端装置10根据该终端装置10所存储的JavaAPP所进行的来电通知处理的流程的流程图。
图13是表示变形例2的通信系统的结构例的图。
图14是表示变形例3的Java字节代码解释执行处理的流程的流程图。
具体实施例方式
下面,结合附图对本发明的实施方式进行说明。
「A.结构」(1通信系统的结构)图1是表示具有本实施方式的终端装置10的通信系统的整体结构的一例的图。图1所示的内容服务器40,为具有和一般的计算机装置同样的结构,与互联网30相连接。该内容服务器40存储提供给终端装置10的应用程序(以下称为「APP」)。该APP为用一种面向对象的程序语言Java(注册商标)所记述的,是由在后面所述的Java执行环境中可解释及执行的Java字节代码所构成。以下,将该APP称为「JavaAPP」。该JavaAPP为通过互联网30被提供给终端装置10的非本机APP。
移动分组通信网20是对被该移动分组通信网20所覆盖的终端装置10提供分组通信服务的。该移动分组通信网20具有基地局21和网关(以下称为「GW」)装置22。在移动分组通信网20的服务区内设置有多个基地局21。该基地局21形成具有一定的范围(例如,以该基地局为中心的半径500米的范围)的无线蜂窝,和位于该无线蜂窝范围内的终端装置10进行无线通信。GW装置22将移动分组通信网20的通信协议和互联网30的通信协议相互进行变换,在移动分组通信网20和互联网30之间进行通信的中介。
终端装置10为具有Java执行环境的移动电话机。在该终端装置10内储存有使用图2所示的电话簿表及图3所示的来电履历表等的终端装置10的用户的个人信息。如图2所示,在电话簿表中,将和该用户通话的通信地址与专门特定的识别符(例如,通信对方的姓名及名称以下称为「通信地址识别符」对应起来,储存该通信地址的电话号码。以下,将相互被对应起来的通信地址识别符和电话号码的组称为「电话簿数据」。另外,如图3所示,将对该终端装置10进行发送的通信地址的电话号码(以下称为「来电电话号码」)按照来电的时间顺序储存到来电履历表内。另外,在本实施方式中,作为应保护安全的用户的个人信息的一例,对电话簿表及来电履历表所储存的数据进行说明,当然,也可以为用户自身的电话号码及该用户的银行帐号、存储区号码等。
另外,终端装置10通过移动分组通信网20和互联网30,从内容服务器40下载JavaAPP,就可以采用上述Java执行环境来执行该JavaAPP。在本实施方式中,该JavaAPP是让终端装置10来执行在图4所示的流程中所示的来电通知处理的。具体来讲,执行该JavaAPP的终端装置10,将图5所示的画面进行显示,在将适合用户所希望的图像显示到该画面的区域520内的同时,等待接收通话来电。并且,在有通话来电的情况下,在从上述来电履历表取得最新的来电电话号码的同时,从上述电话簿表(参照图2)取得与该来电电话号码相对应的电话簿数据,通过将该电话簿数据显示到区域510(参照图5)内,将通话来电通知用户。
(2终端装置10的结构)下面,参照图6对终端装置10的硬件结构进行说明。如图6所示,终端装置10具有控制部610、显示部620、操作部630、无线通信部640、存储部650、及对这些各结构要素之间的数据传输提供通道的总线660。
控制部610例如为CPU(Central Processing Unit),通过执行存储部650所储存的软件来控制终端装置10的各部。显示部620例如为液晶显示器和其驱动电路,将适合由控制部610所转交的图像数据的图像进行显示。操作部630具有让用户输入数字及文字、操作指示等的多个操作键,将适合这些操作键的操作内容的数据转交给控制部610。
无线通信部640具有未图示的天线,用于与形成覆盖终端装置10的无线蜂窝的基地局21进行无线通信。该无线通信部640接收从基地局21发送来的数据,在将所接收的数据转交到控制部610的同时,将由控制部610所转交的数据发送到基地局21。
存储部650具有易失性存储部651和非易失性存储部652。易失性存储部651例如为RAM(Random Access Memory),由执行软件的控制部610作为工作区域来使用。在JavaAPP的执行过程中,将图7所示的数据管理表651a写入该易失性存储部651内。在该数据管理表651a内,将在执行JavaAPP的过程中所生成的对象与专门特定的数据(以下称为「参照数据」)对应起来、储存具有“0”或“1”的任何一方的值的保护标记。在本实施方式中,作为「参照数据」,是采用表示易失性存储部651内的对象的储存位置的地址的。另外,保护标记是表示在上述对象内所包含的数据是否为需要进行安全保护的数据的。在本实施方式中,是将没有必要进行安全保护的数据包含在与值为“0”的保护标记相对应的对象内,反之,将有必要进行安全保护的数据包含在与值为“1”的保护标记相对应的对象内的。
非易失性存储部652例如为EEPROM(Electrically ErasableProgrammable Read Only Memory),将上述保护标记事先对应使用终端装置10的用户所具有的每个数据来进行储存。例如,将表示需要进行安全保护的保护标记与电话簿表(参照图2)及来电履历表(参照图3)等的个人信息对应起来,将表示不需要进行安全保护的保护标记与用户的自作图像数据等的个人信息以外的数据对应起来。另外,对于非易失性存储部652所储存的所有的数据在进行安全保护的情况下,没有必要对应上述保护标记。
并且,在非易失性存储部652内储存有图8所示的指令管理表652a。对于该指令管理表652a,将在后面进行详细说明。另外,在该非易失性存储部652内储存有实现构筑Java执行环境的软件及OS的OS软件及本机APP等。作为该本机APP的一例,可以列举让用户浏览电话簿表所储存的电话簿数据、并进行更新的电话簿管理APP。
另外,(省略了详细的图示)在上述非易失性存储部652内,对每个JavaAPP设置了储存从内容服务器40所下载的JavaAPP的存储区域。在该存储区域内,储存有上述JavaAPP的JAR(Java Archive)。所谓JAR文件,是将JavaAPP的本机程序(由Java字节代码所记述的程序)和储存了在执行该程序时所使用的图像数据的图像文件、及储存了声音数据的声音文件等归纳为一个的文件。
(3Java执行环境)下面,参照图9,对为了构筑Java执行环境而被编入终端装置10的软件进行说明。图9是对终端装置10的Java执行环境进行说明的图。如该图所示,在终端装置10中,编入用来实现以J2ME(Java 2 platformMicro Edition)为依据的Java执行环境的软件。在这里,所谓J2ME,是对小型电子仪器规定的Java执行环境的规格。如图9所示,在实现上述J2ME的软件内,包含有KVM和CLDC(Connected Limited DeviceConfiguration)类库、原始Java扩展子程序、JAM(Java ApplicationManager)。另外,(省略了详细的图示)终端装置10除了上述的CLDC类库及原始Java扩展子程序以外,还具有厂家独自扩展程序库。该厂家独自扩展程序库为终端装置10的制造者分别提供的独自的功能的类库。另外,在本实施方式中,在将本发明应用于具有以J2ME为依据的Java执行环境的终端装置10的情况进行了说明,但当然也可以将本发明应用于具有以J2SE(Java 2 Standard Edition)及J2EE(Java 2 EnterpriseEdition)为依据的Java执行环境的终端装置。所谓J2SE,是对PC规定的Java执行环境的规格,所谓J2EE,例如是对如内容服务器40那样的服务器装置规定的Java执行环境的规格。
首先,对CLDC类库及原始Java扩展子程序进行说明。CLDC类库是对移动电话机及PDA(Personal Digital Assistance)等的小型电子仪器提供通用的功能的类库。原始Java扩展子程序是以CLDC类库为基础、提供本实施方式的终端装置10的特定功能的类库。在该原始Java扩展子程序内,例如包含有画面显示API(Application Program Interface)、偶发信息取得API、网络连接API、暂时存储区API、X-String生成API等。执行JavaAPP的控制部610,根据构成该JavaAPP的Java字节代码,通过调出这些API,就可以利用这些API所提供的功能。另外,在本说明书及附图中,「API」和类(程序)为同一个意思。
所谓画面显示API,为对显示部620的图像的显示进行支持的API。所谓偶发信息取得API,为对将通话来电及操作部630的操作指示的输入等产生的偶发信息通知执行JavaAPP的控制部610进行支持的API。所谓网络连接API,为对URL(Uniform Resource Locator)所指定的网络资源(例如,内容服务器40)进行访问的API。所谓暂时存储区API,为对暂时存储区的写入及读出进行支持的API。另外,所谓暂时存储区(省略了详细的图示)为在非易失性存储部652内对每个JavaAPP所设置的存储区域,将根据执行该JavaAPP所产生的数据进行存储。
X-String生成API为让执行JavaAPP的控制部610使用非易失性存储部652所储存的数据的API。本实施方式的X-String生成API,为让执行JavaAPP的控制部610使用电话簿表所储存的电话簿数据的API。更详细地进行说明的话,是通过调出该X-String生成API,生成包含与最新的来电电话号码对应的电话簿数据的X-String对象,并存储到易失性存储部651内。并且,将与该X-String对象所包含的电话簿数据相对应的保护标记(即、“1”)与该X-String对象的参照数据对应起来储存到数据管理表651a内(参照图7)。在这里,所谓X-String对象,为在储存字串数据的一般的String对象内所包含的方法中、删除了比较方法及数据长度通知方法。另外,所谓比较方法,为将被转交的字串数据和String对象所包含的字串数据进行比较、并将其比较结果通知给调出程序的方法。还有,所谓数据长度通知方法,为将String对象所包含的字串数据的数据长度(例如,字数)通知给调出程序的方法。X-String对象不具有这些方法的理由,是因为通过调出这些方法,该X-String对象所包含的字串数据的内容有被推断的可能。另外,在本实施方式中,对采用X-String对象来确保字串数据的安全的情况进行了说明,但本发明的应用对象并不限于字串数据。例如,当然也可以为整数型的数据及浮点型的数据。
并且,通过调出上述X-String生成API,将包含最新的来电电话号码数据的X-String对象的参照数据转交到控制部610。然后,控制部610例如通过将该参照数据作为自变量、调出上述画面显示API,就可以将该参数数据所表示的X-String对象所包含的电话簿数据显示到显示部620。另外,在本实施方式中,对X-String对象所包含的与最新的来电电话号码相对应的电话簿数据的情况进行说明,但当然也可以包含该电话簿数据的一部分(例如,只包含该电话簿数据所包含的电话号码及通信地址识别符)。因为关于这些数据,对用户的个人信息是没有变化的。
在这里,返回到图8,对指令管理表652a进行说明。在该指令管理表652a内,储存有在上述的各种API中、特定网络连接API的识别符(例如,网络连接API的名称以下称为「API识别符」)和暂时存储区API的API识别符。如上述那样,执行JavaAPP的控制部610通过调出网络连接API,就可以将数据发送到CP。另外,控制部610通过调出暂时存储区API,就可以将数据写入暂时存储区,自由地操作暂时存储区所储存的数据。即、这些API为有可能将操作对象的数据泄露到终端装置10的外部的API。这样,为了在需要进行安全保护的数据的操作时限制不适当的API、即为了保护个人信息等的重要数据的安全,将特定在本终端装置10中有必要限制执行的API的API识别符储存到指令管理表652a内。另外,在指令管理表652a所储存的API识别符,并不限于网络连接API及暂时存储区API的API识别符。例如,也可以为进行分配处理的API(以下称为「分配API」)的API识别符。所谓分配API,为将某个对象变换为其他型的对象的API。当进行这样的分配处理时,就可以将X-String对象变换为String对象,这是因为担心不能确保X-String对象所包含的电话簿数据的安全。
KVM为JVM的一种,被设计为移动电话机及PDA等的小型电子仪器用。所谓JVM,是将构成JavaAPP的Java字节代码变换为控制部610可解释的指令代码(例如,控制部610的计算机语言代码),让控制部610来执行。该KVM在解释、执行构成JavaAPP的Java字节代码时,在本发明中用特有的方式来进行Java字节代码的解释及执行。
具体来讲,KVM根据上述指令管理表652a(参照图8)的储存内容,判断执行对象的Java字节代码是否为表示调出在本终端装置中被限制执行的API的Java字节代码。然后,在判断为是表示调出被限制执行的API的Java字节代码的情况下,KVM根据上述指令管理表651a(参照图7)的储存内容,判断由该API所操作的数据是否为有必要进行安全保护的数据,在判断为有必要进行安全保护的数据的情况下,不进行该Java字节代码的解释、执行。本实施方式的终端装置10通过这样地防止应进行安全保护的数据泄露到终端装置10的外部,来确保该数据的安全。
返回到图9,JAM为在OS的控制下进行终端装置10所存储的JavaAPP的管理的软件。具体来讲,控制部610为了进行JavaAPP的管理,根据JAM,起到JavaAPP的安装及删除的功能、将非易失性存储部652所储存的JavaAPP的名称进行列表显示的功能、进行JavaAPP的执行管理的功能。
所谓进行JavaAPP的执行管理的功能,为开始及结束JavaAPP的执行的功能。更详细地进行说明的话,是当用户指示执行JavaAPP时,首先,控制部610根据JAM,在易失性存储部651内确保执行该JavaAPP的工作区域。在该工作区域内,将构成用户所指示的执行的JavaAPP的Java字节代码进行展开,在执行该JavaAPP时,将用户所输入的数据储存起来。接下来,控制部610将构成该JavaAPP的Java字节代码展开到在易失性存储部651内所确保的工作区域内,根据KVM来解释、执行该Java字节代码。然后,当用户指示结束JavaAPP时,控制部610在结束KVM的Java字节代码的解释及执行的同时,开放为了执行该JavaAPP在易失性存储部651内所确保的工作区域,结束该JavaAPP的执行。
「B.动作」下面,对本实施方式的动作进行说明。以下,对显著地表示了本实施方式的终端装置的特征的动作进行说明。
(动作例1JavaAPP执行动作)当用户指示执行JavaAPP时,控制部610根据JAM,将构成该JavaAPP的Java字节代码展开到易失性存储部651。然后,控制部610根据KVM,通过解释、执行该Java字节代码,来执行该JavaAPP。例如,控制部610在执行实现图4所示的来电通知处理的JavaAPP的情况下,在步骤SA1~步骤SA5的各步骤中,根据KVM来解释、执行实现该步骤的Java字节代码。以下,首先参照图10,对在步骤SA1~步骤SA5(参照图4)的各步骤中、控制部610根据KVM所执行的Java字节代码的解释·执行动作进行说明。
图10是表示控制部610根据KVM所执行的JavaAPP解释·执行动作的流程的流程图。如图10所示,控制部610首先根据指令管理表652a(参照图8)的储存内容,判断执行对象的Java字节代码是否为表示调出被限制执行的API要求的Java字节代码(步骤SB1)。具体来讲,控制部610通过解释、执行该Java字节代码,在将被调出的API的API识别符储存到指令管理表652a的情况下,就判断为是表示调出被限制执行的API要求的Java字节代码,反之,在没有将被调出的API的API识别符储存到指令管理表652a的情况下,就判断为不是表示调出被限制执行的API要求的Java字节代码。
在步骤SB1的判断结果为“否”的情况下,控制部610就解释执行对象的Java的字节代码,并变换为命令编码(步骤SB3)。反之,在步骤SB1的判断结果为“是”的情况下,控制部610根据数据管理表651a(参考图7)所存储的内容,判断采用根据执行对象的Java的字节代码所被调出的API想访问的数据是否为需要进行安全保护的数据(步骤SB2)。具体来讲,控制部610在将表示需要进行安全保护的要求的保护标记(即“1”)与表示该数据的参照数据对应起来的情况下,就判断为是需要进行安全保护的数据,反之,在将表示不需要进行安全保护的要求的保护标记(即“0”)对应起来的情况下,就判断为是不需要进行安全保护的数据。
在步骤SB2的判断结果为“否”的情况下,控制部610就进行上述的步骤SB3的处理,执行在步骤SB3中所得到的指令代码(步骤SB4)。反之,在步骤SB2的判断结果为“是”的情况下,控制部610就进行例外处理(步骤SB5)。作为该例外处理的一例,例如,可以列举将JavaAPP有可能进行非法的动作的旨意的通知告之用户等。另外,在本实施例中,对于表示调出被限制执行的API要求的Java字节代码,在由该API所操作的数据为需要进行安全保护的数据的情况下,对不进行解释、执行该Java字节代码的情况进行了说明。但是,进行解释、执行该Java字节代码、并在其执行过程中出现了对上述需要进行安全保护的数据的访问时,当然也可以进行上述例外处理。
在本动作例中,如图4所示,由于在该JavaAPP中没有包含调出被限制执行的API旨意的Java字节代码,因而在步骤SA1~步骤SA5的各步骤中,实施上述步骤SB3及步骤SB4的处理,执行实现这些各步骤的Java字节代码。
返回到图4,对控制部610通过执行JavaAPP所包含的Java字节代码所实现的来电通知处理进行说明。如图4所示,控制部610首先调出画面显示API,将图5所示的画面显示到显示部620(步骤SA1),调出偶发信息取得API,判断是否有了通话来电(步骤SA2)。然后,控制部610在步骤SA2的判断结果为“否”的情况下,就实施后面所述的步骤SA5的处理,反之,在步骤SA2的判断结果为“是”的情况下,就调出X-String生成API,取得包含该通话来电的电话簿数据的X-String对象的参照数据(步骤SA3)。
在这里,参照图11,对执行在步骤SA3所调出的X-String生成API的控制部610所执行的电话簿数据取得处理进行说明。图11是表示电话簿取得处理的流程的流程图。如图11所示,控制部610首先从来电履历表(参照图3)中取得最新的来电电话号码(步骤SC1),从电话簿表(参照图2)中取得包含和所取得的来电电话号码同样的电话号码的电话簿数据(步骤SC2)。
接下来,控制部610生成包含了在步骤SC2所取得的电话簿数据的X-String对象(步骤SC3),并将该X-String对象的参照数据和该X-String对象所包含的电话簿数据的保护标记对应起来,储存到数据管理表651a内(步骤SC4)。
然后,控制部610将在步骤SC3所生成的X-String对象的参照数据转交到调出地的JavaAPP,结束X-String生成API的执行(步骤SC5)。
返回到图4,在步骤SC3通过调出X-String生成API、取得了包含通信来电的电话簿数据的X-String对象的参照数据的控制部610,将该参照数据转交到显示部620,将根据该参照数据所示的X-String对象所包含的电话簿数据显示到图5所示的画面的区域510中(步骤SA4)。
(动作例2执行调出被限制执行的API的JavaAPP的情况下的动作)接下来,对控制部610执行实现图12所示的来电通知处理的JavaAPP的情况进行说明。图12所示的来电通知处理和图4所示的来电通知处理的不同点只在于具有步骤SA6这一点上。该步骤SA6为采用网络连接API、将在步骤SA3所取得的通信地址识别符发送到JavaAPP的提供地的内容服务器40的步骤。即,实现图12所示的来电通知处理的JavaAPP是由怀有恶意的CP所提供的在有通话来电的情况下,盗出该通信来电的电话簿数据并发送到内容服务器40的JavaAPP。另外,即使在执行这样的JavaAPP的情况下,对于步骤SA6以外的步骤,也进行和图4所示的来电通知处理同样的处理。因此,对这些步骤的控制部610的动作就省略其说明,参照图12,根据KVM只对解释、执行实现步骤SA6的Java字节代码时的控制部610的动作进行说明。
由于实现步骤SA6(参照图12)的Java字节代码是表示调出网络连接API要求的Java字节代码,因而上述步骤SB1的判断结果为“是”(参照图8及图10),控制部610就进行上述的步骤SB2的处理。
由于采用网络连接API被发送到内容服务器40的数据为电话簿数据,因而上述步骤SB2的判断结果为“是”,控制部610进行上述的例外处理(步骤SB5),其结果,不执行实现步骤SA6(参照图12)的Java字节代码,防止电话簿数据被盗出。
如以上说明那样,在非本机APP的执行过程中,在可以使用终端装置10所存储的重要数据的同时,可以确保该重要数据的安全。
「C.变形例」以上,对本发明的实施方式进行了说明,但本发明并不限于该实施方式,在其技术思想的范围内可以进行各种变形。另外,作为变形例,例如可以考虑以下的情况。
(变形例1)在上述的实施方式中,作为非本机APP的一例,对由Java字节代码所构成的APP进行了说明,但记述非本机APP的编程语言并不限于Java。也可以为其他的编程语言(例如,C++及C语言)。一般来讲,将由这些编程语言所记述的APP在其提供时变换为指令代码。在这样的情况下,就有必要替代上述的KVM、将进行依据图10所示的流程图的动作的程序存储到终端装置10内。另外,由于象这样被提供的APP已经由指令代码构成,因而没有必要进行步骤SB3的处理。
(变形例2)在上述的实施方式中,对将本发明提供给具有Java执行环境的移动电话机的情况进行了说明。一般来讲,由于将电话簿表及来电履历表等的个人信息存储到移动电话机中,因而在应用本发明的时候可以得到非常显著的效果。但是,本发明的应用对象并不限于移动电话机。例如,也可以为具有Java执行环境的PDA及PHS(PersonalHandyphone System注册商标)终端,也可以为具有Java执行环境的PC,也可以为如图13所示那样、构成通过GW单元50与互联网30相连接的LAN60的PC70A~70C。其要点是只要是具有Java执行环境、具有执行JavaAPP的功能的计算机装置,哪一种都可以。
(变形例3)在上述的实施方式中,作为非本机APP的一例,对通过互联网被下载的JavaAPP进行了说明。但被安装到终端装置10的非本机APP并不限于被下载的JavaAPP,例如也可以是通过存储到CD-ROM等的计算机装置可读出的存储介质内而得到的JavaAPP。
另外,无论是通过互联网被提供的APP还是通过存储到存储介质内而得到的APP,只要例如通过经营移动分组通信网20的通信商或CA(Certificate Authority)这样的公正的第三者机关对其内容进行审查,并被认定为是满足了一定的动作基准的APP(以下称为「经验证的APP」)的话,就没有必要限制其访问与本机APP同样可以访问的资源。
例如,在将表示自身为经验证的APP的识别信息包含到经验证的APP内的同时,也可以让控制部610执行图14所示的Java字节代码解释执行动作。图14所示的Java字节代码解释·执行动作,和图10所示的Java字节代码解释·执行动作的不同点只在于在上述的步骤SB1之前进行步骤SB0的处理这一点上。在该步骤SB0中,控制部610判断执行对象的JavaAPP是否为经验证的APP。具体来讲,控制部610只有在执行对象的JavaAPP包含有上述识别信息的情况下,才将该JavaAPP判断为经验证的APP。并且,在步骤SB0的判断结果为“是”的情况下,控制部610就无条件地执行上述的步骤SB3的处理,解释、执行构成该JavaAPP的Java字节代码。这是因为由于对经验证的APP确认了不对用户进行利益伤害的动作,因而就没有必要限制对其执行过程中的资源的访问。
(变形例4)在上述的实施方式中,对将实现X-String生成API及KVM等本发明的终端装置所特有的功能的软件事先存储到终端装置10中的情况进行了说明。但是,将这些软件存储到计算机可读出的存储介质中,通过采用该存储介质将这些软件安装到一般的计算机装置内,就可以将和终端装置10同样的功能赋予该计算机装置。
权利要求
1.一种终端装置,具有;存储数据的第1存储单元;根据应用程序,执行指令代码的执行单元;存储用于特别指定在由所述执行单元可执行的指令代码中的在本终端装置中被限制执行的指令代码的数据的第2存储单元;根据所述第2存储单元的存储内容,判断根据所述应用程序由所述执行单元所执行的指令代码是否为被限制执行的指令代码的判断单元;在所述判断单元判断为是被限制执行的指令代码、并且通过执行该指令代码使所述数据中至少一部分被访问的情况下,禁止所述执行单元执行该指令代码的禁止单元。
2.根据权利要求1所示的终端装置,其特征在于所述判断单元只有在所述执行单元所执行的应用程序为没有被确认不进行不利于用户的动作的应用程序的情况下,才根据所述第2存储单元的存储内容,判断根据该应用程序所执行的指令代码是否为被限制执行的指令代码。
3.根据权利要求1所示的终端装置,其特征在于具有通过通信网进行通信的通信单元,所述判断单元只有在所述执行单元所执行的应用程序为由所述通信单元通过所述通信网所取得的应用程序的情况下,才根据所述第2存储单元的存储内容,判断根据该应用程序所执行的指令代码是否为被限制执行的指令代码。
4.根据权利要求1所示的终端装置,其特征在于所述第1存储单元将数据与表示是否对该数据的安全进行保护的识别符对应起来进行存储,所述禁止单元在所述判断单元判断为被限制执行的指令代码、并根据该指令代码,使得与表示进行安全保护的识别符对应起来被存储在所述第1存储单元内的所述数据中的至少一部分被访问的情况下,禁止所述执行单元执行该指令代码。
5.一种程序,其特征在于使存储数据并存储特别指定在本单元中被限制执行的指令代码的数据的计算机实现以下单元的功能,根据应用程序,执行指令代码的执行单元;根据该计算机装置的存储内容,判断根据所述应用程序由所述执行单元所执行的指令代码是否为被限制执行的指令代码的判断单元;在所述判断单元判断为被限制执行的指令代码、并且通过执行该指令代码使得所述数据中的至少一部分被访问的情况下,禁止所述执行单元执行该指令代码的禁止单元。
全文摘要
本发明提供一种终端装置和程序。在使终端装置根据应用程序执行指令代码时,判断指令代码是否为在本单元中被限制执行的指令代码。并且,在判断为是被限制执行的指令代码、并且通过执行该指令代码使得本终端装置所存储的数据中的至少一部分被访问的情况下,禁止执行该指令代码。
文档编号G06F21/00GK1534468SQ20041003223
公开日2004年10月6日 申请日期2004年3月26日 优先权日2003年3月28日
发明者津田雅之, 浅井真生, 渡边信之, 大井达郎, 服部易宪, 西田真和, 成濑直树, 市川裕一, 富冈淳树, 竹下理人, 山田和宏, 鹫尾谕, 神谷大, 山根直树, 村上圭一, 一, 之, 人, 和, 宏, 宪, 树, 生, 郎 申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1