通信设备.pdf

上传人:xia****o6 文档编号:166992 上传时间:2018-01-31 格式:PDF 页数:36 大小:1.78MB
返回 下载 相关 举报
摘要
申请专利号:

CN03809706.0

申请日:

2003.05.16

公开号:

CN1650273A

公开日:

2005.08.03

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F12/14; G06F9/44; H04B7/26; H04M1/00; H04M1/725

主分类号:

G06F12/14; G06F9/44; H04B7/26; H04M1/00; H04M1/725

申请人:

株式会社NTT都科摩;

发明人:

神谷大; 山田和宏; 鹫见丰

地址:

日本东京

优先权:

2002.05.17 JP 143608/2002

专利代理机构:

北京三友知识产权代理有限公司

代理人:

李辉

PDF下载: PDF下载
内容摘要

对于存储在移动电话(40)中并且其安全级为高的数据,以及其版权受保护的内容,移动电话(40)对数据和内容进行封装,并且包括封装的数据或封装的内容。另外,移动电话(40)将封装的数据处理为完全封装对象,该对象仅仅使用一种不授权一执行的程序(例如,下载的Java应用)对封装数据的访问的方法。下载到移动电话(40)的Java AP通过使用属于一完全封装对象的方法,来指示该完全封装对象处理该完全封装对象中的封装数据。因此,本发明使得可以为通过网络提供的程序保证安全性而不丧失程序的多样性。

权利要求书

1: 一种通信设备,包括: 接收装置,用于接收程序; 指定装置,用于从存储在通信设备内的数据中指定当执行由所述接 收装置接收的程序时要使用的数据; 第一生成装置,用于生成一完全封装的对象,该对象具有从外部对 象来处理封装数据的方法,该对象具有由所述指定装置指定的封装数据, 并且该方法拒绝由所述接收装置接收到的所述执行程序对所述封装数据 的访问; 访问控制装置,用于当执行由所述接收装置接收的程序时,限制可 访问的资源、禁止对由所述指定装置从存储在通信设备里的数据中指定 的数据的访问,但是授权对所述第一生成装置生成的所述完全封装对象 的访问。
2: 根据权利要求1所述的通信设备, 其中,所述通信设备包括:第二生成装置,用于生成一非完全封装 对象,该对象具有从外部对象来处理封装数据的至少一种或者多于一种 的方法,该对象具有由所述指定装置指定的封装数据,并且该方法拒绝 由所述接收装置接收到的所述执行程序对所述封装数据的访问;保护信 息存储装置,用于存储保护信息,该保护信息表示数据保护是否为必要; 以及确定装置,用于确定一对象是由所述第一生成装置生成的还是由所 述第二生成装置生成的,该对象具有所述封装数据和一种方法,该方法 用于根据存储在所述保护信息存储装置中的所述保护信息来处理所述封 装数据。
3: 根据权利要求2所述的通信设备, 其中,当与所述指定装置指定的数据相关的所述保护信息表示所述 数据保护为必要时,所述确定装置确定一对象是由所述第一生成装置生 成的,但是当所述保护信息表示所述数据保护不必要时,所述确定装置 确定一对象是由所述第二生成装置生成的。
4: 根据权利要求2所述的通信设备, 其中,在执行由所述接收装置接收的所述程序时,所述指定装置从 通信设备内存储的数据中指定要使用的数据。
5: 根据权利要求4所述的通信设备, 其中,所述通信设备进一步包括删除装置,其用于与所述程序的结 束一致地删除由所述第一生成装置或者所述第二生成装置所生成的对 象。
6: 根据权利要求2所述的通信设备, 其中,所述通信设备包括:安全级存储装置,其用于存储表示通信 设备中存储的数据的安全级的信息;以及控制装置,其用于在所述安全 级存储装置中存储的数据的安全级为高的情况下存储表示数据保护为必 要的信息,而在所述安全级存储装置中存储的数据的安全级为低的情况 下存储表示数据保护不必要的信息。
7: 根据权利要求2所述的通信设备, 其中,所述通信设备还包括:版权信息存储装置,其用于存储表示 通信设备中存储的数据需要保护的信息;以及控制装置,其用于在所述 版权信息存储装置中存储有表示数据需要保护的信息的情况下,在所述 保护信息存储装置中存储表示数据保护为必要的信息,而在所述版权信 息存储装置中存储有表示不用保护数据的信息的情况下,在所述保护信 息存储装置中存储表示数据保护不必要的信息。
8: 根据权利要求2所述的通信设备, 其中,所述通信设备进一步包括设置装置,其用于根据来自用户的 指示在所述保护信息存储装置中存储所述保护信息。
9: 根据权利要求2所述的通信设备, 其中,所述通信设备进一步包括更新装置,其用于根据在通信设备 内存储的数据之中的由所述指定装置指定的数据被更新的事实,来更新 所述生成装置生成的对象中的封装数据。
10: 根据权利要求2所述的通信设备, 其中所述程序是以Java编程语言编写的程序,并且该通信设备包括 用于执行所述程序的Java执行环境。
11: 根据权利要求2所述的通信设备, 其中属于所述完全封装对象的方法是用于在通信设备的显示单元上 显示字符串数据的方法。
12: 根据权利要求2所述的通信设备, 其中属于所述完全封装对象的方法是用于在通信设备的播放单元上 播放声音数据的方法。
13: 根据权利要求2所述的通信设备, 其中属于所述完全封装对象的方法是用于在通信设备的显示单元上 显示图像数据的方法。

说明书


通信设备

    【技术领域】

    本发明涉及用于确保通信设备中的安全以及保护内容的版权的技术。

    背景技术

    诸如个人计算机、具有分组通信功能的移动电话的通信设备能够下载从与因特网相连的服务器下载的各种程序。

    尽管诸如因特网的开放网络使得全世界的人们能够自由地交换程序,它也具有内在的风险,包括,例如从通信设备窃取数据。同时,可能没有恶意地提供了引起通信设备中的故障的程序。

    因此,如果通过网络提供的程序可以不受任何限制地容易地访问通信设备内部或者外部的资源,则可能出现问题。例如,用户的电话号码、邮件地址、或者银行帐号(其中的每一个都存储在一通信设备中)可以被随意地从该通信设备读出。考虑到这些风险,用户的隐私是主要的关注点。

    可以对提供给通信设备的程序地功能进行限制。例如,能够执行以Java编写的程序的移动电话对这些程序加以限制。具体地,程序仅被授权访问受限资源,而程序不被授权访问诸如地址簿数据或用户的个人信息的资源。

    【发明内容】

    如上所述的限制对资源的访问的机制为通信设备的用户提供了一定安全。然而,它导致通过网络下载的程序的操作中的多种限制。即,它限制了通信设备中的诸如功能改进或增加的程序多样性。

    然而,在通过网络下载的程序的操作中,如果这种下载的程序能够不受任何限制地自由访问资源,则可能由恶意用户提供的下载程序引起故障,或者由下载的引起通信设备中故障的程序导致故障。因而,不仅可能导致执行了下载程序的通信设备的故障,而且可能导致与所述执行了下载程序的通信设备进行了通信的多个通信设备的故障。

    为了解决上述问题提出了本发明,并且作为其目的,本发明提供一种通信设备、程序、以及记录介质,或者在保证程序安全的同时提供多样化的程序。

    为了解决上述问题,本发明提供了一种通信设备,其包括:接收装置,用于接收程序;指定装置,用于从存储在通信设备中的数据中指定当执行由接收装置接收的程序时要使用的数据;第一生成装置,用于生成一完全封装对象,该对象具有一种从外部对象来处理封装数据的方法,该对象具有由指定装置指定的封装数据,并且该方法拒绝由接收装置接收到的执行程序对封装数据进行访问;以及访问控制装置,用于当执行由接收装置接收的程序时,限制可访问的资源、禁止对由指定装置从通信设备里存储的数据中指定的数据的访问,但是授权对第一生成装置生成的对象进行访问。

    另外,本发明提供了一种程序,用于使得计算机能够执行:接收步骤,用于由通信终端接收程序;指定步骤,用于从存储在存储单元里的数据中指定数据,当执行由接收步骤接收的程序时要使用所述数据;生成步骤,用于生成一对象,该对象具有一种从外部对象来处理封装数据的方法,该对象具有由指定步骤指定的封装数据,并且该方法拒绝由接收步骤接收到的执行程序对封装数据的访问;以及访问控制步骤,用于当执行由所述接收步骤接收的程序时,限制可访问的资源、禁止对指定步骤从存储在存储单元里的数据中指定的数据的访问,但是授权对第一生成步骤生成的对象的访问。

    根据本发明,通信设备能够访问具有封装数据的对象,在接收到的程序的执行过程中要使用所述封装数据。在基于接收到的数据而执行的处理的执行过程中,一通信设备不能获取封装在一对象中的数据,然而该通信设备能够通过一种属于该对象的方法来处理该对象中的数据。

    此外,本发明提供了一种通信设备,其包括:接收装置,用于接收程序;指定装置,用于从存储在通信设备里的数据中指定当执行由接收装置接收的程序时要使用的数据;第一生成装置,用于生成一完全封装对象,该对象具有一种从外部对象来处理封装数据的方法,该对象具有由指定装置指定的封装数据,并且该方法拒绝由接收装置接收到的执行程序对封装数据进行访问;第二生成装置,用于生成一非完全封装的对象,该对象具有至少一种从外部对象来处理封装数据的方法,该对象具有由指定装置指定的封装数据,并且该方法拒绝由接收装置接收到的执行程序对所述封装数据的访问;保护信息存储装置,用于存储保护信息,该保护信息表示数据保护是否为必要;确定装置,用于确定一对象是由第一生成装置生成的还是由第二生成装置生成的,该对象具有封装数据和一种方法,该方法用于根据存储在保护信息存储装置中的保护信息来处理封装数据;以及访问控制装置,用于当执行由接收装置接收的程序时,限制可访问的资源、并禁止对由指定装置从存储在通信设备里的数据中指定的数据的访问,但是授权对第一生成装置生成的完全封装对象的访问。

    另外,本发明提供了一种程序,用于使得计算机能够执行:接收步骤,用于在通信终端处接收程序;指定步骤,用于从存储在存储单元里的数据中指定数据,当执行由所述接收步骤接收的程序时要使用所述数据;确定步骤,用于确定一对象是授权由执行程序对封装数据的访问的第一对象、还是拒绝由执行程序对封装数据的访问的第二对象,所述对象具有所述封装数据和一种方法,该方法用于根据保护信息来处理所述封装数据,所述保护信息存储在保护信息存储装置中,为指定装置所指定的数据而设置,表示该指定数据是否为必要;生成步骤,用于生成由确定步骤确定的第一或者第二对象;以及访问控制步骤,用于当执行由接收步骤接收的程序时,限制可访问的资源、并禁止对指定步骤从存储在存储单元里的数据中指定的数据的访问,但是授权对第一生成步骤生成的完全封装对象的访问。

    根据本发明,通信设备能够访问具有封装数据的对象,在接收到的程序的执行过程中要使用该封装数据。另外,通信设备基于保护信息来确定要生成的对象类型,该保护信息表示数据保护是否为必要,并且为要封装的数据而设置。此外,通信设备确定在接收的程序的执行过程中是否要获取对象中的封装数据。

    另外,可以通过以下模式来实现本发明:将上述程序通过通信线路发布给用户,或者在诸如FD、CD、以及MO盘(其中每一个均可由计算机读取)的记录介质中存储所述程序。

    【附图说明】

    图1是表示根据本发明第一实施例的通信系统的配置的方框图。

    图2是表示根据第一实施例的移动电话的硬件配置的方框图。

    图3是表示根据第一实施例的移动电话中的非易失存储器中存储的类型指定表的数据结构的图。

    图4是对根据第一实施例的移动电话中的Java AP执行环境进行说明的图。

    图5是对根据第一实施例的移动电话中的封装对象进行说明的图。

    图6是例示根据第一实施例的移动电话中的非完全封装对象的图。

    图7是例示根据第一实施例的移动电话中的完全封装对象的图。

    图8是说明根据第一实施例的移动电话中的CPU执行的对象生成处理的操作流程图。

    图9是说明根据第一实施例的移动电话中的CPU执行的访问管理处理的流程图。

    图10是说明根据第一实施例的移动电话中的CPU执行的Java AP的结束操作的流程图。

    图11是说明根据本发明的改进6的对Java执行环境的改进的图。

    图12是例示根据本发明的改进的通信系统的改进6的图。

    【具体实施方式】

    将参照附图对本发明第一实施例进行说明。在图中同样的标号表示同样的部件。

    [A-1.本实施例的配置]

    <1.通信系统的配置>

    图1是示出根据本发明第一实施例的通信系统1的配置的方框图。如该图所示,通信系统1包括内容服务器10、因特网20、移动分组通信网络30,以及移动电话40。一般地,在该通信系统1中存在多个移动电话40。然而,为了简单起见,图1中只示出了一部移动电话40。因为同样的原因,图1中只示出了一台内容服务器10、一台网关服务器31,以及一个基站32。

    内容服务器10具有通过因特网20和移动分组通信网络30来与移动电话40进行分组通信的功能。在内容服务器10中存储了多种内容,例如要提供给移动电话40的程序,或者图像数据和音乐数据。这些内容之一是可以在移动电话40中执行的Java应用程序(以下称为“Java AP”)。该Java AP是用于移动电话40的一应用程序,该应用程序以Java编程语言(例如,Java Applet或者Java Application)编写。

    移动分组通信网络30是用于向移动电话40提供分组通信服务的通信网络,并且具有网关服务器31和基站32。除了移动分组通信网络30,通信系统1还具有移动通信网络(未示出)。该移动通信网络向移动电话40提供用于常规移动电话的通信服务。

    网关服务器31解释其通信协议不同(例如用于移动分组通信网络30的通信协议和用于因特网20的通信协议)的数据,并且在移动分组通信网络30和因特网20之间中继数据的发送和接收。另外,在移动分组通信网络30的通信服务区域中存在多个基站32,并且基站32与在基站32覆盖的无线小区中的现用移动电话40进行无线通信。

    此外,移动电话40与覆盖现用移动电话40所处的一无线小区的基站32进行无线通信。另外,移动电话40具有通过移动分组通信网络30和因特网20与内容服务器10进行分组通信的功能,并且能够从内容服务器10下载内容。

    <2.移动电话的配置>

    图2是示出移动电话40的硬件配置的方框图。如该图所示,移动电话40具有无线通信单元401、操作输入单元402、呼叫处理单元403、通信接口404、CPU 405、液晶显示单元406,以及存储单元407,它们通过总线411彼此相连。

    无线通信单元401具有天线401a,并且控制与基站32的无线通信。通过在CPU 405的控制下将语音数据或分组通信数据叠加到一载波上,无线通信单元401生成一发送信号,并且将该信号发送到基站32。另外,无线通信单元401通过天线401a接收从基站32发送的无线信号,并且通过解调该信号而获取用于移动电话40的语音数据和分组通信数据。

    操作输入单元402具有多个键,其用于输入数字、字符、以及用于操作的指令等等,以及向CPU 405输出对应于键操作的操作信号。另外,处理单元403例如具有麦克风、扬声器以及语音处理单元等等,并且处理单元403在CPU 405的控制下执行呼叫处理,包括呼叫连接/断开。

    通信接口404控制与通过通信电缆相连的电子设备的有线通信。该通信接口404可以是一种控制近距离无线通信的通信接口,近距离无线通信例如是红外线通信、HomeRF(家庭射频)或者蓝牙。另外,CPU 405通过执行存储单元407中存储的各种程序来对通过总线411连接的各个控制单元进行控制。另外,液晶显示单元406包括液晶显示板和驱动电路,该驱动电路用于执行该液晶显示板的显示控制。

    存储单元407包括ROM 408、RAM 409、诸如SRAM(静态RAM)和EEPROM(电可擦除可编程ROM)的非易失存储器410。在ROM 408中存储有诸如用于移动电话40的操作系统(以下称为“OS”)和Web(万维网)浏览器的软件,或者用于构造Java执行环境的软件。另外,RAM409被用作为CPU 405的工作区域,并且由CPU 405执行的各种程序和数据临时存储在RAM 409中。

    从移动电话40的发货时间起,为移动电话40设计的程序就存储在非易失存储器410中。诸如从内容服务器10下载的Java AP的内容存储在非易失存储器410中。另外,非易失存储器410中存储有各种数据,例如地址簿数据(其包括用于显示电话号码或者电子邮件地址的数据)、接收的或者发送的电子邮件数据、收到的和发出的呼叫数据、用于显示用户的银行帐号从而可以电子支付的数据,以及用于显示信用卡号的数据。

    以下,将移动电话40发货时存储在ROM 408和非易失存储器410中的程序称为“本地应用”,以与下载的Java AP相区分。授予本地应用一标识信息,表示该程序是本地应用。

    另外,非易失存储器410包括:类型指定表410a、JAR存储器410b、个人便笺本410c,以及公共便笺本410d。首先将参照图3说明类型指定表410a。如图3所示,在类型指定表410a中登记有数据名称和类型指定信息,这二者关于非易失存储器410中存储的数据而相互对应,所述数据例如是地址簿数据、电子邮件数据、收到的和发出的呼叫数据以及用户数据,当执行下载的Java AP时该下载的Java AP可能要使用所述数据。类型指定信息是用于指定用于数据的对象类型是完全封装对象还是非完全封装对象的信息。上述的用户数据是关于移动电话40的用户的个人信息,例如,用户的名字、年龄、生日、银行帐号以及信用卡号。

    如图3所示,类型指定信息是1比特数据,其信息值是1或者0。当类型指定信息的值被设为1时,对象类型被指定为完全封装对象,而当类型指定信息的值被设为0时,对象类型被指定为非完全封装对象。

    封装的对象是具有一个或更多个封装数据(对信息进行封装)以及至少一种方法的对象,所述方法用于从外部对象来操作封装数据。那么,完全封装对象是其结构不具有如下方法的对象:对于该对象,该方法授权一执行程序(例如,下载的Java应用)对封装数据的访问。非完全封装对象是被构造为具有至少一种如下方法的对象:对于该对象,该方法用于授权一执行程序对封装数据的访问。完全封装对象和非完全封装对象之间的不同在于:对象是否具有授权一执行程序访问对象中的封装数据的方法。

    也就是说,图3中的类型指定表410a表示每一项数据都被处理为完全封装对象或者非完全封装对象。例如,在图3中,基于安全原因,在移动电话40中存储的数据中,地址簿数据、电子邮件数据、收到的和发出的呼叫数据,以及用户数据是特别重要的数据。另一方面,移动电话40中下载的Java AP是不安全的程序。因此,尽管在移动电话40中下载有由恶意者生成的Java AP,也必须保护重要数据,以使得不能从移动电话40的外部通过Java AP对其进行访问。

    因此,重要数据被处理为完全封装对象,并且必须拒绝所下载的JavaAP对数据的访问。基于以上原因,在图3中的类型指定表410a中,将“1”(完全封装对象)设置给地址簿数据、电子邮件数据、收到的和发出的呼叫数据、以及用户数据,作为类型指定信息的值。

    另外,在图3的类型指定表410a中,内容A和内容B为诸如图像数据或音乐数据(这二者都是从内容服务器10下载的)的内容。由内容提供者向内容提供版权保护标志。版权保护标志是1比特数据,其标志值为1或者0。当版权保护标志的值被设为1时,必须保护为之提供了标志的内容的版权,而当版权保护标志的值被设为0时,必须放弃为之提供了标志的内容的版权。

    考虑其版权必须得到保护的内容,如果向下载的Java AP提供该内容数据,则Java AP可以以一种未经内容提供者授权的方式来使用所述内容,或者通过Java AP将所述内容传送到移动电话40的外部。因此,内容数据被处理为完全封装对象,对所述内容数据提供“1”作为版权保护标志的值,并且必须拒绝所下载的Java AP对所述内容数据的访问。基于上述理由,在类型指定表410a中,将“1”设置给内容A作为类型指定信息的值。

    另一方面,考虑为之提供了“0”的内容数据,因为放弃了其版权,所以不必将该内容数据处理为完全封装对象。在这种情况下,-有必要授权所下载的Java AP对所述内容数据的访问,由此向Java AP提供更多的多样性。因此,将“0”(非完全封装对象)设置给内容B作为类型指定信息的值。

    此外,在类型指定表410a中,预先将“1”设置给地址簿数据、电子邮件数据、收到的和发出的呼叫数据、以及用户数据,作为类型指定信息的值。另外,对于下载的内容,当往移动电话40下载内容时,CPU405确定类型指定信息的值,该值对应于提供给内容的版权保护标志的值。随后,该类型指定信息和内容标识信息(数据名称)一起被登记在类型指定表410a中。

    此外,对于在移动电话40中生成的数据,或者对于用户使用PC生成的并且通过通信接口404下载到移动电话40的图像数据和音乐数据,用户能够通过输入操作为该数据设置对象类型,所述对象类型为完全封装类型或者非完全封装类型。另外,通过输入操作,用户可以在液晶显示器上显示类型指定表410a的细节,并且修改除设置有版权保护标志的内容数据之外的各数据项上的类型指定信息。

    随后,在图2中,非易失存储器410除了类型指定表410a,还包括JAR(Java档案)存储器410b、个人便笺本410c以及公共便笺本410d。在此,在个人便笺本410c和公共便笺本410d之前先说明要下载到移动电话40中的Java AP。Java AP包括:作为Java AP的主程序的JAR文件,以及在Java AP的主程序的执行过程中要一起使用的图像文件和声音文件,连同其中记录了各种控制信息以用于安装和启动JAR文件并且控制网络访问的ADF(应用描述文件)。

    对于每个下载的Java AP,将用于Java AP的存储区域安装在JAR存储器410b和个人便笺本410c中。用于Java AP的JAR文件存储在JAR存储器410b的各个存储区域中。此外,例如,如果Java AP是游戏程序,则把根据Java AP的使用而为Java AP生成的数据(例如过去的成绩数据或者存储数据(save data))存储在个人便笺本410c的各个存储区域中。另外,将多个Java应用程序共同使用的数据存储在公共便笺本410d中。

    另外,当Java AP的下载完成后在移动电话40中执行Java AP时,移动电话40能够访问的资源被限制为:从其下载程序的内容服务器10;分配给Java AP的存储区域(JAR存储器410b和个人便笺本410c);以及公共便笺本410d。但是移动电话40不被授权访问其它资源。

    <3.Java执行环境>

    图4是说明移动电话40中Java AP的执行环境的图。在该图中,移动电话40中存储有:用于构造Java AP的执行环境的软件(KVM(K虚拟机)),一配置(CLDC(连接限制设备配置)),以及一框架(profile)(原本由电信运营商开发的原始扩展库)。

    另外,在移动电话40中安装有J2ME(Java 2微型版),该J2ME包括原本由电信公司开发的原始扩展框架作为框架。

    KVM是为小型电子设备重新设计的JVM(Java虚拟机),并且将作为Java AP执行文件格式的字节码转换为CPU 405能够通过OS来翻译/执行的指令码。另外,CLDC类库是用于CLDC的类库。

    原始扩展库是一个类库,其用于基于CLDC来提供为移动电话指定的功能。例如,在该原始扩展库中包括:用户接口API(应用程序接口)、网络API、便笺本API、完全封装API以及非完全封装API等等。

    在此,用户接口API是用于支持移动电话40的用户接口功能的API,而网络API是用于支持对由URL(统一资源定位器)指定的网络资源的访问的API。另外,便笺本API是用于支持对个人便笺本410c和公共便笺本410d的数据写入/读出的API。此外,完全封装API是用于生成完全封装对象的API,而非完全封装API是用于生成非完全封装对象的API。

    上述程序以多种方式安装在移动电话40中。例如,从工厂出货之前在移动电话中安装了所述程序。另选地,所述程序是从网络中的站点下载并安装在移动电话中的,或者所述程序被下载到PC而不是移动电话。在这种情况下,所述程序被存储在可由计算机读取的存储介质(例如FD、CD以及MO盘)中,并且向用户提供所述程序。随后,用户将所述程序安装在PC中。

    此外,除了CLDC类库和原始扩展库,移动电话40还具有制造者的原始扩展库。该制造者的原始扩展库是移动电话40的各制造者通过其来提供原始功能的类库。

    接下来,JAM(Java应用管理器)具有以下功能:在OS的控制下,处理下载在移动电话40中的Java AP、完全封装对象以及非完全封装对象等等。例如,Java具有如下功能:更新和删除Java AP的安装、显示非易失存储器410中存储的Java AP的列表、处理Java AP(例如,启动和强制结束)、在Java AP的执行过程中限制移动电话40的访问,以及生成、更新和删除完全封装对象和非完全封装对象。

    另外,如图4所示,直接在OS的控制下执行本地应用,所述本地应用提供电话簿功能以及浏览器功能等等。

    <4.封装对象的配置>

    接下来将说明封装对象。图5是说明一封装对象的图。如该图所示,该封装对象包括多于一个的封装数据项,以及多于一种的用于从外部对象进行各封装数据项的可能操作的方法。

    该对象是数据(Java编程语言中的“域”)和操作(Java编程语言中的“方法”)的集合。在Java编程语言中,访问指示符“私有”用于私有域中存储的数据的封装,声明在该对象中的各个域均为私有域。通过所述封装来构成封装对象。

    如该图所示,示出了一封装对象,其具有两项数据:数据1和数据2,以及两种方法:方法1和方法2。由于数据1和数据2被封装在封装对象中,所以不能从外部对象直接对数据1和数据2进行读取或者写入。因此,当下载的程序访问封装对象中的数据1和数据2时,该下载程序必须通过使用方法1和方法2来指示该封装对象处理目标数据1和数据2。

    在该图中,例如当方法1是用于向下载程序提供指定数据的方法时,下载程序能够通过使用方法1来获取该封装对象中的任选数据1和数据2。另外,例如当该图中的方法2是用于在液晶显示器上显示指定数据的方法时,下载程序能够通过使用方法2来显示该封装对象中的任选数据1和数据2。重点在于:已经通过使用方法2在显示器上显示了封装对象的任选数据1和数据2的程序,是通过使用方法2来指示该封装对象显示任选数据1和数据2的,即使该程序自身并不能获得要显示的数据。

    更具体地说,对于不具有用于授权下载程序访问数据的方法的封装对象(完全封装对象),下载的程序不能获取存储在该封装对象中的数据,但是能够通过使用属于该封装对象的方法来控制存储在该封装对象中的数据。

    由此,即使下载的程序是不安全的程序(例如,Java AP),当将诸如地址簿数据或电子邮件数据的数据处理为完全封装对象时,也不能由下载的程序访问该数据。因此,移动电话40是安全的。另外,虽然基于安全原因,诸如地址簿数据或电子邮件数据的数据通常是不可访问的,但是所述程序能够通过使用属于所述封装对象的方法来处理(访问)所述数据。

    在本实施例中,如下数据被处理为完全封装对象,对其设置数据“1”作为类型指定信息的值:例如,出于安全原因的重要数据,如地址簿数据、电子邮件数据、收到的和发出的呼叫数据或者用户数据,以及必须保护其版权的内容。另一方面,如下数据被处理为非完全封装对象,对其设置数据“0”作为类型指定信息的值:例如,其安全性不重要的数据,或者其版权被放弃的内容。另外,下载的Java AP被授权访问完全封装对象或者非完全封装对象。

    图6是例示关于电话簿数据的非完全封装对象的图。在本实施例中,由于对于安全原因电话簿数据很重要,所以电话簿数据通常被处理为完全封装对象。然而,为了对比,以下将说明电话簿数据被处理为非完全封装对象的情况。

    在Java编程语言中,对要存储在私有域中的数据的封装是通过由已知为“私有”的访问限定词将对象中的各个域声明为私有域来执行的。换句话说,该对象中的每个域均为私有域;不能从对象的外部读取私有域中存储的数据。在这种情况下,为了使执行指令的程序能够从外部对象访问数据,执行指令的所述程序需要通过使用属于对象的方法来指示该对象处理(访问)各私有域中存储的数据。

    在该图中,在非完全封装对象中建有两个私有域,并且在非完全封装对象中存储有电话簿的字符串数据:“私有字符值[1]”和“私有字符值[2]”。另外,非完全封装对象具有已知为“getBytes()”和“drawString()”的两种方法。getBytes()是用于以字节数组的形式向执行指令的程序提供对象中存储的数据的方法。因此,下载的Java AP能够通过使用该方法“getBytes()”,来获取存储在非完全封装对象中的电话簿的字符串数据“私有字符值[1]”和“私有字符值[2]”。另外,Java AP能够将获取的存储在非完全封装对象中的电话簿的字符串数据传送到内容服务器10(执行下载Java AP的服务器)。

    另外,drawString()是用于在移动电话40的液晶显示器上显示存储在对象中的数据的方法。Java AP能够在移动电话40的液晶显示器上显示非完全封装对象中存储的电话簿的字符串数据(“私有字符值[1]”和“私有字符值[2]”)。

    图7是例示关于电话簿数据的完全封装对象的图。图7中的完全封装对象和图6中的非完全封装对象之间的区别在于:完全封装对象不具有用于授权执行的程序访问对象中存储的数据的方法。

    更具体地说,因为完全封装对象是被“完全地”封装,所以完全封装对象不具有用于授权执行的程序访问对象中存储的数据的方法。因此,下载的Java AP能够通过使用已知为“drawString()”的方法来将存储在非完全封装对象中的电话簿的字符串数据(“私有字符值[1]”和“私有字符值[2]”)显示在移动电话40的液晶显示器上,但是不能获取电话簿的字符串数据。因为上述原因,即使由恶意的第三者生成的Java AP(该JavaAP用于窃取数据,或者电话簿数据)被下载到移动电话40中,这种JavaAP也不能访问所述数据。因此,不会将电话簿数据传送到移动电话40的外部(例如,一服务器)。

    通过使用方法“drawString()”来显示存储在对象中的电话簿的字符串数据,完全封装对象和非完全封装对象通过使用存储在ROM 408或非易失存储器410中的显示控制程序(该程序为本地应用)来将电话簿的字符串数据显示在液晶显示器上。如果Java AP能够通过使用所述显示控制程序来获取该显示数据,则使用完全封装对象和非完全封装对象没有任何好处。

    然而,当执行下载的Java AP时,由上述的JAM的访问限制功能来限制在Java AP的执行过程中移动电话40访问资源。因为在Java AP的执行过程中,移动电话40被授权访问的资源中不包括显示控制程序,所以Java AP不可能从显示控制程序获取显示数据。

    另外,似乎可行地,可以在编程语言层封装对象,或者在可执行代码(机器语言或者字节码)层封装对象。然而,如果在编程语言层以完全方式封装对象,则不能在可执行代码层同样以完全方式封装对象,因此数据并没有以完全方式封装。例如,一个使用C++(编程语言)的程序能够生成具有私有域的封装对象,但是所述使用C++的程序只能在编程语言层实现完全封装。

    更具体地说,当所述使用C++的程序将对象中存储的每个域声明为私有域并且生成封装对象时,该程序没有编译用于直接读取和写入私有域中存储的数据的源代码。即,由于编译错误没有生成执行代码。

    应该注意,执行代码仅由编译器确定。例如,恶意第三者能够通过修改编译器来生成用于直接读取和写入对象私有域中存储的数据的可执行代码。而且,这样的人能够创建用于生成可执行代码的程序,所述可执行代码通过用户输入等类似方法来读取对象中存储的数据。并且,只要某人通过使用指针获得对存储器的直接访问,就可以获取对象中存储的数据。

    另一方面,对于Java,使用Java字节码来编译被声明为私有域的域,所述Java字节码表示该域具有私有性。即使KVM把类文件扩展至RAM409,该域仍保持私有性。因此,如果第三者通过修改编译器来生成用于读取存储在对象私有域中的数据的字节码,则KVM或JAM将检测到该码的生成,由此该第三者不能获取对象中存储的数据。另外,Java不支持指针,因此,恶意第三者不能通过用指针获得对存储器的直接访问从而获取对象中存储的数据。

    基于上述原因,在Java中,在字节码层并且在编程语言层以完全方式封装对象。对于数据封装,除了“私有”,还使用诸如“受保护(protected)”或者“包装(package)”的访问标识符。

    以上说明了根据本实施例的通信系统1的配置。

    [A-2.本实施例的操作]

    接着将说明本实施例的操作。

    作如下假设:移动电话40通过移动分组通信网络30和因特网20来与内容服务器10进行分组通信,从内容服务器10下载Java AP并且将其存储在非易失存储器410中。另外,假设:除了下载的Java AP(内容),非易失存储器410中还存储有地址簿数据、电子邮件数据以及用户数据,并且用于上述数据的类型指定信息登记在类型指定表410a中。

    另外,在类型指定表410a中,预先将“1”设置给地址簿数据、电子邮件数据、收到的和发出的呼叫数据、以及用户数据,作为类型指定信息的值。此外,对于下载的内容,当内容被下载到移动电话40中时,由CPU 405来确定类型指定信息的值,该值对应于提供给内容的版权保护标志的值。随后,在类型指定表410a中登记类型指定信息和内容名称。

    <1.对象生成处理>

    将参照图8说明移动电话40中CPU 405执行的对象生成处理。作为一个JAM功能,对象生成处理是由CPU 405执行的,并且,例如,当由操作输入从显示在显示器上的程序列表中指定要执行的程序时执行对象生成处理。指示要执行程序的实施例不限于操作输入;例如,当在预定的时间指示执行程序时,当由已经被执行的其它程序指示执行程序时,或者当从移动电话40的外部通过电子邮件等指示执行程序时。

    如图8所示,移动电话40中的CPU 405通过一输入操作来指定一指定的程序作为待执行程序(步骤S101)。然后,CPU 405确定该指定的程序是下载的Java AP还是本地应用(步骤S102)。如前所述,为本地应用提供了用于表示一程序是本地应用的标识信息。因此,CPU 405通过确定是否向一程序提供了上述标识信息,从而确定一程序是下载的Java AP还是本地应用。

    结果,如果CPU 405确定所述程序为本地应用(步骤S102:否),则CPU 405结束对象生成处理,并将该指定的本地应用作为要执行的程序启动其执行。然后,CPU 405根据被执行的本地应用来进行处理。

    在这种情况下,当要执行的程序是本地应用时,不必使用完全封装对象或者非完全封装对象,或在本地应用的执行过程中处理JAM的访问限制功能。从而,当执行本地应用时,不执行由JAM进行的访问限制。因此,本地应用能够访问移动电话40中存储的任选资源,或者网络上的任选资源。

    另一方面,当CPU 405确定所述程序是下载的Java AP(步骤S102:是)时,CPU 405例如通过分析Java AP的程序内容,从非易失存储器410里存储的多种数据中指定Java AP的执行过程中要使用的数据(步骤S103)。另外,CPU 405指定与要使用的数据一起被封装的方法。当JavaAP指定要使用的数据时,因为存储在JAR文件中的数据是内容提供者准备的数据,其用于作为执行Java AP所必需的数据而提供给Java AP,所以将Java AP的JAR文件中存储的数据作为未被指定的数据而排除。

    随后,CPU 405通过参照类型指定表410a(图3),根据上述指定数据的类型指定信息的值来确定用于处理所述指定数据的对象类型是“完全封装对象”还是“非完全封装对象”(步骤S104)。例如,如果Java AP使用地址簿数据,则CPU 405查阅类型指定表410a并且确定用于管理地址簿数据的对象类型是“完全封装对象”,另外,如果Java AP使用内容B(版权保护标志为“0”),则CPU 405确定用于管理内容B的对象类型是“非完全封装对象”。

    CPU 405基于在步骤S103指定的数据以及在步骤S104确定的对象类型,来产生完全封装对象或者非完全封装对象(步骤S105)。例如,对于在步骤S103指定地址簿数据(类型指定信息“1”)的情况,CPU 405启动原始扩展库中的完全封装API。完全封装API选择一方法,该方法是在指定数据时从完全封装API中存储的方法中指定的。随后,CPU 405封装数据和方法,并为地址簿数据生成完全封装对象。此外,对于在步骤S103指定内容B的情况,CPU 405启动原始扩展库中的非完全封装API,并且启动内容B的非完全封装对象。

    然后,CPU 405在公共便笺本410d中存储对象(产生的完全封装对象或者产生的非完全封装对象)(步骤S106),并且结束对象生成处理。在步骤S105生成的完全封装对象或者非完全封装对象可以存储在个人便笺本410c中。

    此外,对于在步骤S103指定Java AP使用的多个数据的情况,CPU405为每个指定数据重复从S104到S106的处理,从而为每个指定数据生成一完全封装对象或者一非完全封装对象,并且将这些对象存储在公共便笺本410d中。随后,在结束对象生成处理之后,CPU 405启动被指定为可执行程序的Java AP,并且根据所述程序开始处理。

    <2.访问管理处理>

    接下来,将参照图9说明移动电话40的CPU执行的访问管理处理。作为一个JAM功能,该访问管理处理是由CPU 405执行的,并且当下载的Java AP的执行过程中产生了访问请求时作为中断处理来执行访问管理处理。

    如图9所示,移动电话40中的CPU 405区分所请求的访问点是否位于预授权资源的范围之内,并且确定(对资源的)访问是否被授权(步骤S201)。为确定访问的授权情况,当执行下载的Java AP时,CPU 405将Java AP的执行过程中的可访问资源限定为以下:内容服务器10,其下载由写入Java AP的ADF中的URL所指定的Java AP;分配给Java AP的JAR存储器410b;个人便笺本410c中的存储区域;以及公共便笺本410d。

    因此,在请求的访问点是上述资源中的任何一个或多个的情况下,CPU 405授权访问。然而,如果请求的访问点不在上述资源之中,则CPU405不授权访问。

    接下来,CPU 405通知请求下载访问的Java AP该访问是否被授权(步骤S202),并且结束访问管理处理。另外,当执行中的Java AP接收到由JAM执行的授权结果时,当访问被授权时则Java AP根据访问请求来执行处理;然而,当访问不被授权时Java AP根据访问请求而取消处理。

    当移动电话40中的CPU 405执行下载的Java AP时,CPU 405在执行图8所示的对象生成处理之后启动Java AP。另外,在下载的Java AP的执行过程中,CPU 405执行图9所示的访问管理处理。因此,在下载的Java AP的执行过程中,总是对移动电话40的资源访问进行限制。例如,移动电话40不能访问地址簿数据、电子邮件数据、收到的和发出的呼叫数据、用户数据以及其它诸如内容的数据,这些数据中的每一个都存储在非易失存储器410中。

    基于上述原因,移动电话40中的CPU 405在对象生成处理的过程中指定要启动的Java AP所要使用的数据,为指定的数据生成完全封装对象或者非完全封装对象,并将其存储在公共便笺本410d中。如上所述,即使访问受到JAM的限制,公共便笺本410d也是移动电话40被授权访问的资源。下载到移动电话40中的Java AP是以如下方式生成的:Java AP访问完全封装对象或者非完全封装对象(这二者都存储在公共便笺本410d中),并且通过使用属于所述对象的方法来指示该对象处理该对象中的数据。

    例如,当生成了使用地址簿数据的Java AP时,由上述的对象生成处理生成用于地址簿数据的完全封装对象,并且完全封装对象存储在公共便笺本410d中。另外,Java AP通过使用属于所生成的用于地址簿数据的完全封装对象的方法来指示该对象处理该对象中的数据。因此,在显示器上显示一部分属于完全封装对象的地址簿数据,但是Java AP不能访问属于完全封装对象的数据。

    在现有技术中,Java AP不能访问地址簿数据、电子邮件数据、收到的和发出的呼叫数据以及用户数据等等,以确保数据对于下载的Java AP的安全。相反地,根据本发明,由于通过使用完全封装对象从而Java AP不能访问数据,故可以保证关于下载的Java AP的安全,并且可以通过完全封装对象来显示尚未被授权访问的数据。因此,在本发明中,下载的Java AP能够执行移动电话40中的多种功能。即,丰富了Java AP的功能。

    另外,当启动内容(其版权被放弃的内容)和Java AP(使用对于安全原因不重要,或者被设置“0”作为类型指定信息的数据的Java AP)时,生成非完全封装对象并将其存储在公共便笺本410d中。和完全封装对象的情况不同,在这种情况下,Java AP可以访问属于非完全封装对象的数据。

    也就是说,即使下载的Java AP是不安全的程序,对于其版权被放弃的数据,或者对于安全原因不重要的数据,通过将这种数据处理为非完全封装对象,数据仍被授权为可以由Java AP访问。很明显,当数据被授权为可以由Java AP访问时,可以提高Java AP的多样性。和仅使用完全封装对象相比,通过根据数据安全的重要性或内容版权保护的必要性来依据不同情况使用完全封装对象和非完全封装对象,进一步提高了Java AP的多样性。

    <3.Java AP结束处理>

    接下来,将参照图10说明移动电话40中的CPU 405执行的Java AP结束处理。作为一个JAM功能,该Java AP结束处理由CPU 405执行,并且当产生了Java AP的执行结束请求时作为中断处理执行Java AP结束处理。

    如图10所示,当产生Java AP结束请求时,移动电话40中的CPU 405删除公共便笺本410d中存储的完全封装对象和非完全封装对象(步骤S301)。在步骤S301删除的完全封装对象和非完全封装对象是在Java AP启动过程中的对象生成处理(参见图8)中生成的,并且存储在公共便笺本410d中。在从公共便笺本410d删除以上对象之后,CPU 405结束JavaAP结束处理。

    此外,通过以下手段确保了移动电话40中的存储资源的有效利用:在启动下载的Java AP时生成完全封装对象和非完全封装对象并将这些对象存储在公共便笺本410d中;并且在结束下载Java AP的执行时从公共便笺本410d中删除完全封装对象和非完全封装对象,因为不必一直将这些对象存储在公共便笺本410d中。

    另外,移动电话40根据存储在ROM 408或者非易失存储器410中的程序来执行关于本发明的处理(对象生成处理、访问管理处理、Java AP结束处理),但是也可以通过通信来向移动电话40提供用于执行上述处理的程序。此外,可以通过使用记录介质(例如光学记录介质、磁盘记录介质以及半导体存储器)来向移动电话40提供用于执行上述处理的程序,但是对于通过记录介质向移动电话40提供程序的情况,必须有用于从记录介质读出程序的记录介质驱动。

    <B.改进>

    虽然已经参照目前最为人所知的操作和实施例的模式来对本发明进行了说明,但是本发明的其它模式、实施例以及优点对于本领域技术人员是很明显的,并在此对其进行考虑。虽然本领域技术人员将认识到可以对本发明其它实施例进行预料,但是以下的权利要求定义了本发明的广阔范围。另外,本发明可以具有下列改进。

    <改进1>

    在以上实施例中,对使用完全封装对象或非完全封装对象的情况进行了说明,然而,可以说明仅使用完全封装对象的情况。也就是说,可以将下载的Java AP要使用的数据处理为完全封装的对象。在这种情况下,类型指定信息不必要。另外,在以上实施例中使用类型指定信息表410a;然而,如果向地址簿数据、电子邮件数据以及内容提供类型指定信息,则类型指定信息表410a不必要。

    <改进2>

    在以上实施例中,在指示执行下载的Java AP时,生成完全封装对象或非完全封装对象,然而,生成完全封装对象和非完全封装对象的时间不仅仅限于指示执行Java AP的时间。

    例如,在启动移动电话40时,可以参照类型指定信息表410a生成用于数据的完全封装对象或用于数据的非完全封装对象。在这种情况下,当更新原始数据(例如地址簿数据、电子邮件数据、收到的和发出的呼叫数据以及用户数据)时,需要根据更新细节来更新完全封装对象或非完全封装对象中的数据,所述完全封装对象和非完全封装对象都存储在公共便笺本410d中。

    因此,为了在启动移动电话40时执行用于数据的完全封装对象或非完全封装对象的生成处理,必须根据原始数据的更新细节向API提供原始扩展库,所述API用于更新对象中的封装数据。另外,当在公共便笺本410d中连续地存储完全封装对象或者非完全封装对象时,很明显,不必根据执行Java AP的结束而从公共便笺本410d删除完全封装对象或非完全封装对象。

    <改进3>

    在上述实施例中,还可以向数据提供安全级信息,所述安全级信息用于表示安全的重要性,从“1”(重要性“高”)到“5”(重要性“低”),并且将属于“1”到“3”的安全级信息的数据处理为完全封装对象,而将属于“4”到“5”的安全级信息的数据处理为非完全封装对象。

    <改进4>

    关于下载到移动电话40的Java AP,如果Java AP被第三方(例如经营移动分组通信网络30的电信公司,或者CA(认证机构))判定并授权为符合某些标准的程序,则将Java AP和本地应用一样认为是安全的程序。

    因此,如果Java AP被第三方授权,则即使下载的Java AP也可以直接从非易失存储器410获取要使用的数据。当然,向由第三方授权的JavaAP提供标识信息,所述标识信息用于表示该Java AP是由第三方授权的程序。即,在移动电话40中,为了确定下载的J移动分组Java AP是否为由第三方授权的程序,有必要检查是否向下载的Java AP提供了标识信息。

    <改进5>

    在以上实施例中,被配置为内容服务器10与因特网20相连。然而,也可以将其配置为内容服务器10通过专用线直接与移动分组通信网络30中的网关服务器31相连。此外,将其配置为网关服务器31具有内容服务器10的功能。另外,将其配置为将内容服务器10安装在移动分组通信网络30中。

    <改进6>

    在以上实施例中,如图11的阴影所示,对将本发明应用于如下的移动电话40的情况进行了说明:该移动电话40包括KVM和J2ME,其中J2ME具有作为配置的CLDC、以及原始Java扩展框架。然而,Java执行环境不仅仅限于KVM和J2ME的组合。另外,本发明中使用的通信设备不限于移动电话。

    例如,如该图所示,可以使用MIDP(移动信息设备框架)代替原始Java扩展框架来作为J2ME框架。另外,可以在该配置中使用JVM代替KVM,使用CDC(连接设备配置)代替CLDC作为用于J2ME的配置。而且,可以在该配置中使用以下来作为用于J2ME的框架:用于配置有液晶显示器的电话的框架、用于TV的框架,以及用于汽车导航系统的框架等等。另外,可以在该配置中使用HotSpot、J2SE(Java 2标准版)或者J2EE(Java 2企业版)。

    另外,如同从上述的Java执行环境的改进可以明显看出的,可以将本发明应用于各种具有通信功能的电子设备,例如PHS(个人手提系统)、PDA(个人数字助理)、汽车导航设备或者个人计算机。此外,本发明不限于移动分组通信网络30中存储的通信设备。例如,本发明可以用于图12所示的通信系统2中的个人计算机70A、70B以及70C。

    另外,在以上实施例中,对使用以Java编程语言编写的Java AP的情况进行了说明;然而,编程语言不限于Java。

    <改进7>

    此外,在以上实施例中,例示了关于电话簿数据的完全封装对象。然而,方法和数据(二者都属于完全封装对象)不限于电话簿数据。可以使用一方法用于显示图像或者运动数据,例如静止图像、3D图像、运动图片以及Macromedia Flash。另外,可以使用一方法用于在移动电话40的播放单元中播放声音或者音乐数据。

    <本发明的效果>

    如上所述,本发明使得可以保证通信设备中接收的程序的安全,并且与现有技术相比丰富了通信设备中接收的程序所使用的功能。

通信设备.pdf_第1页
第1页 / 共36页
通信设备.pdf_第2页
第2页 / 共36页
通信设备.pdf_第3页
第3页 / 共36页
点击查看更多>>
资源描述

《通信设备.pdf》由会员分享,可在线阅读,更多相关《通信设备.pdf(36页珍藏版)》请在专利查询网上搜索。

对于存储在移动电话(40)中并且其安全级为高的数据,以及其版权受保护的内容,移动电话(40)对数据和内容进行封装,并且包括封装的数据或封装的内容。另外,移动电话(40)将封装的数据处理为完全封装对象,该对象仅仅使用一种不授权一执行的程序(例如,下载的Java应用)对封装数据的访问的方法。下载到移动电话(40)的Java AP通过使用属于一完全封装对象的方法,来指示该完全封装对象处理该完全封装对象中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1