具体实施方式
以下,使用附图说明本发明的实施方式涉及的服务器装
置及程序管理系统。
(实施方式1)
图1是表示本发明的实施方式1的信息处理终端100和
服务器装置120的构成图。
信息处理终端100是使用以下程序的终端装置,该程序
用于从服务器装置120取得的电子商务交易或内容发送等
中,由以下部分构成:CPU101;RAM102;进行程序或数据
等的加密及解密处理的加密处理单元103;与服务器装置120
进行通信的通信处理单元104;存储程序的程序存储单元105;
存储CA公开密钥等不需要特别隐秘的信息的数据存储单元
106;以及存储密钥等需要隐秘的信息的隐秘信息存储单元
107。
程序存储单元105存储CPU101执行动作的程序116。
数据存储单元106存储有信息处理终端100使用的数据
中不需要特别隐秘的数据,同时存储信息处理终端100中存
储的程序的ID或版本号等作为存储程序的管理信息的程序
管理信息108及CA公开密钥109。
隐秘信息存储单元107存储需要在信息处理终端100内
隐秘的信息,并存储对每个信息处理终端不同的密钥即终端固
有密钥110、作为对每个信息处理终端不同的公开密钥对之一
的终端加密密钥111、程序使用的固有密钥等的程序固有信息
112、作为对每个信息处理终端不同的公开密钥对的另一方的
终端公开密钥证明书113。终端公开密钥证明书113包括:唯
一地识别信息处理终端100的ID即终端ID114,和认证局附
加给终端公开密钥证明书113的CA署名115。
另一方面,本发明涉及的服务器装置120是发送信息处
理终端100要求的程序的装置,由以下部分构成:CPU121;
RAM122;进行程序或数据等的加密和解密处理的加密处理单
元123;与信息处理终端100进行通信的通信处理单元124;
存储CA公开密钥等不需要特别隐秘的信息的数据存储单元
125;存储发送给信息处理终端100的程序等的信息的发送信
息存储单元126;和固有信息发送履历保持单元140。
本发明涉及的服务器装置120的特征是具有固有信息发
送履历保持单元140。该固有信息发送履历保持单元140保持
用于管理发送给信息处理终端100的程序的程序固有信息的
履历的固有信息发送履历600。
数据存储单元125是存储服务器装置120使用的信息的
区域,存储作为公开密钥对之一的服务器加密密钥127、作为
公开密钥对的另一方的服务器公开密钥证明书128、和CA公
开密钥129。服务器公开密钥证明书128包括唯一地识别服务
器的ID的服务器ID130和对服务器公开密钥证明书附加了
CA的CA署名131。发送信息存储单元126是存储服务器装
置120发送给信息处理终端100的信息的区域,存储程序标题
300、程序310、固有信息标题400、和程序固有信息420。另
外,作为该发送信息的程序整体图如后面的图2所示。
存储在发送信息存储单元126的程序标题300、程序310、
固有信息标题400、和程序固有信息420被附加上作为第三者
认证机构的CA署名,利用该CA署名保证发送信息是由正当
的发送方发送。
图2是从本实施方式1涉及的服务器装置120向信息处
理终端100侧发信的程序整体200的构成图。该程序整体200
是被存储在服务器装置120的发送信息存储单元126中的信
息,在本实施方式1中,由程序标题300、程序310、固有信
息标题400、和程序固有信息420构成。另外,在本发明中的
特征是,把程序整体200划分为程序310和程序固有信息420,
并进一步划分为标题部分和数据部分。
另外,在本实施方式涉及的程序管理系统中,信息处理
终端100在从服务器装置120等取得在程序310使用的应用数
据时,向应用数据取得请求赋予程序固有信息420进行发送。
这样,可以通过使用了服务器装置120等具有的程序固有信息
420的CRL,来排除非法的信息处理终端。
图3(a)和(b)是表示存储在程序标题300和程序310
的信息的一个示例图。
程序标题300用于存储与程序310有关的信息,包括以
下信息。
(1)表示程序标题300存储的信息等是与哪个程序310
对应的信息的程序ID(301)。(2)对应的程序310的版本
号(302)。(3)对应的程序310的程序大小(303)。(4)
对应的程序310的散列(hash)数据值(304)。(5)含有从
所述(1)到(4)的信息的程序标题300整体的CA署名(305)。
并且,向程序310附加相对程序310的CA署名(311)。
这样,由于程序标题300和程序310均含有CA署名305和
311,所以在信息处理终端100可以验证程序标题、程序是从
正当的发送方发送的。
图4(a)和(b)是表示存储在固有信息标题400和程序
固有信息420的信息的一个示例图。
固有信息标题400用于存储与程序固有信息420相关的
信息,包括以下信息。
(1)表示固有信息标题400存储的信息等是与哪个程序
固有信息420对应的信息的程序固有信息ID(401)。(2)
使用对应的程序固有信息420的程序310的程序ID(402)。
(3)对应的程序固有信息420存储的固有信息数(403)。(4)
对应的程序固有信息420整体的大小(404)。(5)表示与对
应的程序固有信息420中包含的每个固有信息有关的信息的
固有信息子标题(405)。固有信息子标题405仅存在程序固
有信息420中包含的每个固有信息数(1~n)。(6)对含有
从所述(1)到(5)的信息的固有信息标题400整体的CA署
名(406)。
固有信息子标题405由用于识别每个固有信息的ID即程
序固有信息子ID411和每个固有信息的大小(size)412构成。
程序固有信息420包括多个程序固有信息(421)和对程
序固有信息整体的CA署名(422)。因此,由于固有信息标
题400、程序固有信息420均含有CA署名(406和422),
所以在信息处理终端100能够验证固有信息标题400、程序固
有信息420是从正当的发送方发送的。
下面,使用图5说明在信息处理终端100和服务器装置
120之间进行的程序更新系统的动作步骤的示例。在该程序
更新系统中,信息处理终端100首先进行标题取得请求,进
行空闲区域的确认。在服务器装置120,通过从固有信息发
送履历保持单元140参照固有信息发送履历600,可以排除
企图非法使用程序的信息处理终端100。
首先,信息处理终端100利用SSL进行与服务器装置120
的连接(S501)。此时,服务器装置120取得信息处理终端
100的终端ID。另外,SSL为了在两点之间安全收发数据,
采取并用公开密钥加密方式和隐秘密钥加密方式,对数据加
密后进行收发的机构。由于在SSL仅在被称为对话密钥的该
对话中共享有效的密钥,所以在图5所示S502以后的信息处
理终端100和服务器装置120之间的数据收发全部是利用使
用了对话密钥的加密数据来进行的。
然后,信息处理终端100向服务器装置120指定想要取
得的程序310的程序ID,进行标题取得请求(S502)。此时,
服务器装置120根据保持在固有信息发送履历保持单元140
的固有信息发送履历600,确认终端ID和程序固有信息ID
的对应关系。即,针对信息处理终端100,确认是否已经发
送固有信息ID。在判断为是来自正规的信息处理终端的标题
取得请求时,接收到标题取得请求的服务器装置120把存储
在发送信息存储单元126的程序标题300发送给信息处理终
端100(S503)。
从服务器装置120接收到程序标题300的信息处理终端
100,使用存储在数据存储单元106的CA公开密钥109,验
证程序标题300中包含的CA署名(S504)。这样,信息处
理终端100验证是从程序标题300未被篡改的正当发送方发
送的信息。另外,在程序标题300存储有程序的程序ID301、
版本号302、大小303、程序的散列数据值304等与程序有关
的信息,信息处理终端100比较这些信息和存储在数据存储单
元106的程序管理信息108中记载的程序ID、版本信息、空
闲容量信息,确认更新对象的程序310是否已从服务器装置
120被正确发送,是否存在存储程序310的空闲容量(S504)。
因此,本实施方式1涉及的信息处理终端100可以防止在程序
310的下载中不能取得程序的弊端。
然后,服务器装置120把存储在发送信息存储单元126
的固有信息标题400发送给信息处理终端100(S505)。
从服务器装置120接收到固有信息标题400的信息处理
终端100,使用存储在数据存储单元106的CA公开密钥109
验证固有信息标题400中包含的CA署名(S506)。这样,信
息处理终端100验证固有信息标题400是未被篡改的从正当的
发送方发送的信息。在固有信息标题400存储有唯一地识别程
序固有信息420的程序固有信息ID401、与程序固有信息相关
联的程序的程序ID402、被发送的信息中包含的程序固有信息
数403、大小404等与程序固有信息420相关的信息,信息处
理终端100在下载程序310之前,比较这些信息和存储在数据
存储单元106的程序管理信息108中记载的程序ID、空闲容
量信息,确认与更新对象的程序310相关的程序固有信息420
是否已从服务器装置120被正确发送,是否存在存储程序固有
信息420的空闲容量(S506)。
信息处理终端100在判断为可以取得程序310、程序固有
信息420时,向服务器装置120指定程序ID,请求取得程序
(S507)。
接收到程序取得请求的服务器装置120向信息处理终端
100发送存储在发送信息存储单元126的程序310(S508)。
从服务器装置120接收到程序310的信息处理终端100使用存
储在数据存储单元106的CA公开密钥109验证程序310中包
含的CA署名(S509)。这样,信息处理终端100验证程序
310是未被篡改的从正当的发送方发送的信息。在可以验证到
取得数据的正当性的情况下,利用存储在隐秘信息存储单元
107的终端固有密钥110对所取得的程序310加密,存储在程
序存储单元105(S509)。此时,把程序存储位置和程序ID、
版本号等存储在程序管理信息108,进行程序的管理。
然后,在程序的存储完成后,使用终端固有密钥110对
存储在程序存储单元105的程序116进行解密,算出散列数据
值。进行所算出的值与存储在程序标题300中的散列数据值的
比较,确认程序被正确存储(S510)。
然后,信息处理终端100向服务器装置120指定程序ID,
进行程序固有信息取得请求(S511)。
服务器装置120向信息处理终端100发送存储在发送信
息存储单元126的程序固有信息420(S512)。从服务器装置
120接收到程序固有信息420的信息处理终端100使用存储在
数据存储单元106的CA公开密钥109,验证程序固有信息420
中包含的CA署名(S513)。这样,信息处理终端100验证程
序固有信息是未被篡改的从正当的发送方发送的信息。在可以
验证到取得数据的正当性的情况下,把所取得的程序固有信息
存储在隐秘信息存储单元107(S513)。
最后,在信息处理终端100的程序。程序固有信息的存
储完成后,切断信息处理终端100和服务器装置120之间的通
信(S514)。
这样,本实施方式1涉及的信息处理终端100通过进行
标题取得请求,确认是否存在存储程序310的空闲容量等,可
以更安全地进行程序的下载。在这种情况下,也可以作如下考
虑,算出程序310和程序固有信息420的散列数据值,通过比
较所算出的散列数据值和程序标题300及程序固有信息标题
400中存储的散列数据值,确认是正当的发送信息。
图6是表示保持在固有信息发送履历保持单元140的固
有信息发送履历600的信息存储的一个示例图。
服务器装置120把记录了与以前发送给信息处理终端100
的程序对应的程序固有信息420和该信息处理终端100的终端
ID的数据表作为固有信息发送履历600。
服务器装置120把作为识别发送了程序固有信息420的
信息处理终端100的ID的终端ID601、和作为识别所发送的
程序固有信息420的ID的程序固有信息ID602存储在固有信
息发送履历保持单元140。另外,根据需要把表示最后发送程
序固有信息420的日期的最终发送日期603存储在固有信息发
送履历600。
在图6中,服务器装置120向信息处理终端100已发送5
个程序固有信息420,各自的终端ID601、程序固有信息ID602
的组成为(终端ID、程序固有信息ID)=(0001,0001)、
(0002,0002)、(0010,0003)、(0015,0004)、(0020,
0005)。
图7是表示服务器装置120的程序310的发送步骤的流
程图。
首先,服务器装置120从信息处理终端100接收程序发
送请求(S701)。然后,服务器装置120取得所接收的程序
发送请求中包含的信息处理终端100的终端ID(S702),针
对固有信息发送履历600检索所取得的终端ID(S703),进
行固有信息发送履历600中是否存储有相同的终端ID的判断
(S704)。
服务器装置120在固有信息发送履历600中存储有相同
的终端ID时(S704为是),由于已向信息处理终端100发送
程序固有信息420,所以仅发送程序310,并结束处理(S708)。
另外,服务器装置120在固有信息发送履历600中没有
存储有相同的终端ID时(S704为否),针对信息处理终端
100分配新的程序固有信息420(S705),对该新分配的程序
固有信息420,追加终端ID601和程序固有信息ID602的对应,
更新固有信息发送履历600(S706)。服务器装置120向信息
处理终端100发送程序固有信息420,向信息处理终端100发
送程序310,并结束处理(S708)。
这样,通过在服务器装置120使用固有信息发送履历600
来发送管理程序固有信息,可靠防止向一个信息处理终端100
发送多个程序固有信息420。由此,服务器装置120识别为是
通过CRL等使用程序固有信息420的非法终端,并向被排除
的信息处理终端100不分配新的程序固有信息420。因此,可
以防止取得新的程序固有信息420,企图逃避排除的信息处理
终端100的非法行为。
图8是表示使用了本实施方式1涉及的服务器装置120
的程序管理系统的整体图。
程序用服务器装置120a向信息处理终端100发送与程序
取得请求对应的程序。服务器装置120b向信息处理终端100
发送在信息处理终端100执行的程序使用的应用数据。另外,
在图8中,把信息处理终端100保持的程序的程序固有信息设
为“0101”,说明为了企图逃避被CRL800排除而非法取得新
的程序固有信息的终端。此外,为了谋求程序的安全发送,通
信路径使用SSL作为加密通信路径。
在信息处理终端100的使用者请求应用数据时,把赋予
了信息处理终端100保持的程序的程序固有信息“0101”的应
用取得请求发送给应用数据用服务器装置120b。
服务器装置120b具有使用了程序固有信息的非法程序的
无效目录(CRL)800,由于赋予给来自信息处理终端100的
取得请求的程序固有信息“0101”已记载在CRL800中,所以
不进行应用数据的发送,而进行非法信息处理终端的排除。另
外,如果是未记载在CRL的程序固有信息时,服务器装置120b
向信息处理终端100发送应用数据。并且,向从服务器装置
120a等下载的数据上附加CA署名,在信息处理终端100进
行署名验证,由此防止在下载数据的通信路径上的篡改、偷换、
盗听等。
程序固有信息“0101”已被记载在CRL800的信息处理终
端100的使用者,为了获得新的其他程序固有信息,逃避被
CRL排除,从程序用服务器装置120a进行程序固有信息的取
得请求。
在这种情况时,本发明涉及的服务器装置120a在固有信
息发送履历保持单元140,关于以前发送的程序,具有记录了
信息处理终端100的终端ID“0102”和程序固有信息ID“0101”
的固有信息发送履历600。
在从信息处理终端100向服务器装置120a进行新的程序
固有信息取得请求时,服务器装置120a判断赋予给该程序固
有信息取得请求的终端ID“0102”是否已记载在固有信息发
送履历600中,在已有记载的情况下,禁止发送程序固有信息,
向所述信息处理终端100仅发送程序主体。并且,参照固有信
息发送履历600,在未记载与赋予给程序固有信息取得请求的
终端ID对应的程序固有信息ID的情况下,使终端ID和程序
固有信息ID对应,追加到固有信息发送履历600中,同时向
信息处理终端100发送程序和程序固有信息。
另外,服务器装置120a不向信息处理终端100再次发送
的仅是程序固有信息,程序主体可以被发送2次以上。这是因
为程序固有信息通过CRL800被无效化,只要程序固有信息不
被更新,就能排除企图非法使用的信息处理终端100的使用者
取得新的应用数据。
图9是表示本实施方式1涉及的程序标题900和程序910
中包含的其他数据结构的图。在图9中,与图3的不同之处是
不向程序910附加CA署名311。
程序标题900用于存储与程序910有关的信息,包括和
上述的程序标题300相同的信息的程序ID(901)、版本号
(902)、程序大小(903)、散列数据值(904)、CA署名
(905)。
在信息处理终端100进行程序标题900和程序910的正
当性验证时,首先从服务器装置120取得程序标题900,验证
附加给程序标题900的CA署名905。这样,信息处理终端100
验证程序标题900是未被篡改的从正当发送方发送的信息。
然后,算出程序910的散列数据值。比较所算出的散列
数据值和存储在程序标题900的程序的散列数据值904,确认
是一致的。这样,信息处理终端100可以验证到程序910是未
被篡改的从正当发送方发送的信息。
这样,在进行程序910的正当性验证时通过使用存储在
程序标题900的程序的散列数据值904,向程序标题900仅附
加CA署名905,可以降低程序910的CA署名的必要信息,
与向程序标题900、程序910附加署名的情况时相同,可以进
行正当性验证。另外,当程序标题900和程序910的组合被非
法变更的情况下,在信息处理终端100通过算出程序的散列数
据值,可以检测组合的异常。并且,通过不进行程序910的
CA署名,没必要把程序910转发给认证局进行CA署名。
下面,图10是表示固有信息标题1000和程序固有信息
1020中包含的其他数据结构的图。在图10中,与图4的不同
之处是,固有信息标题1000具有程序固有信息散列数据值
1005,向程序固有信息1020不附加CA署名422。
固有信息标题1000用于存储与程序固有信息1020有关
的信息,由与存储在上述固有信息标题400的信息相同的信息
的程序固有信息ID1001、程序ID1002、固有信息数1003、程
序固有信息整体的大小1004、程序固有信息整体的散列数据
值1005、固有信息子标题1006、和对固有信息标题整体的CA
署名1007构成。
因此,信息处理终端100算出程序固有信息1020的散列
数据值,比较所算出的散列数据值与存储在固有信息标题
1000的程序固有信息的散列数据值1005,确认是一致的,由
此可以验证程序固有信息1020未被篡改的从正当发送方发送
的信息。
如上所述,本实施方式1涉及的服务器装置120具有固
有信息发送履历保持单元140,由此服务器装置120可以防止
信息处理终端100重新取得与以前发送的程序对应的程序固
有信息。因此,可以避免企图取得新的程序固有信息420逃避
排除的信息处理终端100的窃听等非法行为,实现安全下载。
另外,在信息处理终端100,通过利用记录在仅可以从内
部存取的安全的闪存等上的终端固有密钥110对从服务器装
置120取得的程序进行加密,不需要以往在服务器装置利用信
息处理终端的固有密钥对程序进行加密的处理,可以减轻服务
器装置120的程序加密处理的负担。另外,在这种情况下,在
信息处理终端100用终端固有密钥110进行加密的情况下,需
要确认能够正确进行加密。关于这一点,在本发明中,信息处
理终端100在存储程序后用终端固有密钥110进行解密,利用
明文程序的散列数据值进行验证,从而不必有意识地对每个信
息处理终端100利用不同的终端固有密钥110进行加密,就可
以判定程序存储是否成功。
另外,服务器装置120把程序整体划分为程序310和程
序固有信息420来分别生成。因此,服务器装置120管理多个
在各个信息处理终端100成为不同信息的容量较小的程序固
有信息420,仅管理一个在所有信息处理终端100成为共同信
息的容量大的程序310,从而进一步降低服务器装置120管理
的发送信息的容量,进而可以减轻信息管理的负担。
在服务器装置120,向固有信息标题1000存储程序固有
信息1020的散列数据值1005,仅向固有信息标题1000附加
CA署名1007,由此可以一面降低程序910的CA署名所需要
的信息,一面获得与向固有信息标题1000、程序固有信息1020
附加署名时相同的效果。并且,在固有信息标题1000和程序
固有信息1020的组合被非法变更的情况下,在信息处理终端
100,通过算出程序固有信息1020的散列数据值,可以检测组
合的异常。
另外,在本实施方式1所示的固有信息发送履历保持单
元140保持的固有信息发送履历600的形式仅是一例,可以删
除最终发送日期603,也可以附加其他信息。在本实施方式1
中,对记载在固有信息发送履历600的终端ID601拒绝发送
程序固有信息420,但只要不是非法取得,也可以对具有该终
端ID601的信息处理终端100再次发送已经发送的程序固有
信息420。
在本实施方式1涉及的服务器装置120中,来自信息处
理终端100的请求可以是伴随有程序发送的程序发送请求,或
者不伴随程序发送的程序固有信息发送请求中的任一种。
在本实施方式1中,在信息处理终端100和服务器装置
120之间进行使用了SSL的加密数据的收发,但只要是在两点
间能够安全收发数据的方法,不限于SSL,也可使用其他通信
协议。
在本实施方式1中,数据存储单元106和程序存储单元
105是两个不同单元,但也可以形成同一个存储单元。另外,
在隐秘信息存储单元107存储终端公开密钥证明书113,但也
可以存储在数据存储单元106。
本实施方式1涉及的服务器装置120把程序标题300、固
有信息标题400作成不同的程序310、程序固有信息420,但
也可以把程序310和程序标题300、程序固有信息420和固有
信息标题400作成一体的信息,在从服务器装置120发送之前,
先抽出标题部分发送给信息处理终端100。
在本实施方式1中,表示了对程序310、程序固有信息
420在发送时使用对话密钥进行加密的示例,但也可以用不同
于对话密钥的密钥进行加密,把该密钥也发送给程序标题
300、固有信息标题400。
在本实施方式1中对记载为散列数据值之处,作为散列
数据算法,也可以使用SHA-1、MD5等已有的散列数据算
法,还可以使用独自的算法。另外,也可以取代散列数据算法,
用检查和等方法进行篡改检测。另外,向每个信息处理终端
100发送不需要不同的信息的程序时,不必进行程序固有信息
的发送。
(实施方式2)
图11表示本发明的实施方式2涉及的信息处理终端1100
和服务器装置1120的构成图。在该图中,与本实施方式1的
不同之处是,服务器装置1120具有程序/固有信息对应表保持
单元1150。
该程序/固有信息对应表保持单元1150是保持程序/固有
信息对应表1210的存储单元,该程序/固有信息对应表1210
表示唯一地识别程序固有信息的程序固有信息ID和唯一地确
定使用程序固有信息的程序的程序ID的对应关系。
图12(a)和(b)是表示本实施方式2涉及的固有信息
发送履历1200和程序/固有信息对应表1210中包含的信息的
一个示例图。
固有信息发送履历保持单元1140与前述的实施方式1的
固有信息发送履历600不同,管理被附加了识别与所发送的
程序固有信息对应的程序的程序ID1202的固有信息发送履
历1200。关于存储在固有信息发送履历1200的终端ID1201、
程序固有信息ID1203、及最终发送日期1204,和前述图6相
同,所以省略详细说明。
在固有信息发送履历1200的示例中,服务器装置1120
向信息处理终端1100已发送5个程序固有信息ID1203,各自
的终端ID1201、程序ID1202、程序固有信息ID1203的组成
为(终端ID、程序ID、程序固有信息ID)=(0001,0001,
0001)、(0002,0001,0002)、(0010,0001,0003)、(0015,
0001,0004)、(0020,0002、1001)。
程序/固有信息对应表保持单元1150向程序/固有信息对
应表1210存储服务器装置1120管理的程序的程序ID1211、
和识别各程序使用的程序固有信息的程序固有信息ID1212的
对应关系。
在图12的示例中,服务器装置1120管理程序ID是0001
的程序,作为该程序使用的程序固有信息,管理程序固有信息
ID为从0001到1000的程序固有信息。同样,管理程序ID是
0002的程序,和该程序使用的程序固有信息ID为从1001到
2000的程序固有信息。另外,为了防止再次发送以及发送给
信息处理终端1100的程序固有信息,在下次开始发送程序固
有信息时,在程序/固有信息对应表1210存储作为应该发送的
程序固有信息的发送开始ID1213。
在图12的示例中,表示对程序ID是0001的程序分配新
的程序固有信息时,服务器装置1120分配程序固有信息
ID0123的程序固有信息。同样,表示对程序ID是0002的程
序分配新的程序固有信息时,服务器装置1120分配程序固有
信息ID1423的程序固有信息。
另外,服务器装置1120使用该程序/固有信息对应表
1210,对来自信息处理终端1100的指定程序ID的程序发送
请求,发送与该程序ID对应的程序固有信息。
下面,使用图13说明本发明的实施方式2的程序发送步
骤。图13是表示服务器装置1120的程序发送步骤的流程图。
首先,服务器装置1120从信息处理终端1100接收程序
发送请求(S1301)。该程序发送请求用于指定程序ID。
然后,服务器装置1120从所接收的程序发送请求取得信
息处理终端1100的终端ID和程序ID(S1302)。对固有信
息发送履历1200检索所取得的终端ID、程序ID(S1303),
确认固有信息发送履历1200是否存储有相同终端ID且相同
程序ID的履历(S1304)。
在固有信息发送履历1200存储有相同终端ID且相同程
序ID的履历时(S1304为是),服务器装置1120由于已经
向信息处理终端1100发送相对已指定程序的程序固有信息
1135,所以仅发送程序1133,并结束处理(S1309)。
在固有信息发送履历1200没有存储相同终端ID且相同
程序ID的履历时(S1304为否),服务器装置1120以存储
在程序/固有信息对应表1210的发送开始ID的信息为基础,
向信息处理终端1100分配新的程序固有信息1135(S1305)。
然后,服务器装置1120针对新分配的程序固有信息
1135,参照存储在程序/固有信息对应表保持单元1150的程
序/固有信息对应表1210,更新发送开始ID1213的值
(S1306)。并且,对新分配的程序固有信息1135,向固有
信息发送履历1200追加终端ID和程序固有信息ID的对应关
系(S1307)。然后,服务器装置1120向信息处理终端1100
发送程序固有信息1135(S1308),发送程序1133,结束处
理(S1309)。
如上所述,本实施方式2涉及的服务器装置1120,具有
固有信息发送履历保持单元1140和程序/固有信息对应表
1150,使用固有信息发送履历1200和程序/固有信息对应表
1210进行程序固有信息的发送管理,防止对由一个信息处理
终端1100执行的同一程序发送多个程序固有信息1135。因
此,能够防止企图取得新的程序固有信息1135来逃避排除的
信息处理终端1100取得新的程序固有信息1135。
本实施方式2涉及的服务器装置1120,把下载对象的程
序和执行该程序的信息处理终端1100的对应关系存储在程
序/固有信息对应表1210中,按程序单位管理程序固有信息
1135的发送,由此可以对每个程序判定可否发送程序固有信
息1135。因此,服务器装置1120参照程序/固有信息对应表
1210,可以防止向非执行对象的信息处理终端1100发送程
序。
另外,在本实施方式2中,数据存储单元1106和程序存
储单元1105是两个不同单元,但也可以形成同一个存储单元。
另外,在本实施方式2所示的固有信息发送履历1200的形式
仅是一例,可以删除最终发送日期1204,也可以附加其他信
息。同样,程序/固有信息对应表1210的形式也仅是一例,也
可以用其他形式管理发送开始ID1213。例如,也可以设置具
有存储了所有程序固有信息ID的数据表,识别是否已对各个
程序固有信息ID进行分配的旗标,由此管理程序固有信息
1135的发送状态。
在本实施方式2中,对记载在固有信息发送履历1200的
终端ID1201拒绝发送程序固有信息1135,但也可以对该信息
处理终端1100再次发送已经发送的程序固有信息1135。另外,
在本实施方式2中,来自信息处理终端1100的请求可以是伴
随有程序发送的程序发送请求,或者不伴随程序发送的程序固
有信息发送请求。
(实施方式3)
图14表示本实施方式3涉及的信息处理终端1400和服
务器装置1420的构成图。在该图中,与前述的实施方式1和
实施方式2的不同之处是,服务器装置1400具有发送次数信
息保持单元1440。
该发送次数信息保持单元1440是保持用于管理从服务器
装置1420向同一信息处理终端1400发送程序固有信息1435
的次数的发送次数信息1500的硬盘。
图15是表示本实施方式3涉及的发送次数信息1500的
信息存储示例。
在发送次数信息1500中存储作为识别发送了程序固有信
息1435的信息处理终端1400的ID终端ID1501,和表示已发
送次数的次数计数器1502。在该图示例中,表示对终端ID是
0001、0002的信息处理终端1400发送一次程序固有信息1435,
对终端ID是0003的信息处理终端1400未发送程序固有信息
1435。
图16是表示服务器装置1420的程序发送步骤的流程图。
首先,服务器装置1420从信息处理终端1400接收程序
发送请求(S1601)。然后,服务器装置1420取得在S1601
所接收的程序发送请求中包含的信息处理终端1400的终端ID
(S1602)。
服务器装置1420使用保持在发送次数信息保持单元1440
的发送次数信息1500检索在S1602所取得的终端ID,取得次
数计数器的值(S1603)。并且,判定所取得的次数计数器的
值是否为规定值以上(S1604)。
当所取得的次数计数器的值是规定值以上时(S1604为
是),服务器装置1420由于已经向信息处理终端1400发送规
定次数以上的程序固有信息1435,所以仅发送程序1433,并
结束处理(S1608)。
另一方面,当所取得的次数计数器的值不足规定值时
(S1604为否),服务器装置1420向信息处理终端1400分配
新的程序固有信息1435(S1605)。并且,服务器装置1420
加算存储在发送次数信息保持单元1440中的发送次数信息
1500的次数计数器的值(S1606)。服务器装置1420向信息
处理终端1400发送程序固有信息1435(S1607),发送程序
1433,结束处(S1608)。
这样,本实施方式3涉及的服务器装置1420具有发送次
数信息保持单元1440,使用发送次数信息1500进行程序固有
信息1435的发送管理,由此可以防止向一个信息处理终端
1400发送规定值以上的程序固有信息1435。特别是,当把规
定值设为1时,和本发明的实施方式1和实施方式2相同,服
务器装置1420使用程序固有信息1435包含的信息,可以防止
对被识别为非法终端将被排除的信息处理终端1400分配新的
程序固有信息1435,防止非法终端逃避排除。
另外,通过把表示程序固有信息1435的发送次数的规定
值设为2以上,对因硬盘故障等非非法目的再次购买程序的使
用者,可以正规地进行程序固有信息1435的再发送和重新分
配。
在本实施方式3中,数据存储单元1406和程序存储单元
1405是两个不同单元,但也可以形成同一个存储单元。另外,
本实施方式3表示的发送次数信息1500的形式仅是一例,也
可以附加其他信息。在本实施方式3中,来自信息处理终端
1400的请求可以是伴随有程序发送的程序发送请求,或者不
伴随程序发送的程序固有信息发送请求。
(实施方式4)
图17是本实施方式4涉及的信息处理终端1700和服务
器装置1720的构成图。在该图中,与前述实施方式3的不同
之处是,服务器装置1720具有程序/固有信息对应表保持单元
1750。该程序/固有信息对应表保持单元1750是与图11中说
明的程序/固有信息对应表保持单元1150相同的存储单元。
图18(a)和(b)是表示本实施方式4涉及的发送次数
信息1800和存储在程序/固有信息对应表1810的数据的一个
示例图。
发送次数信息1800存储所发送的程序的程序ID1801、发
送了程序固有信息1735的信息处理终端1700的终端ID1802、
表示发送了程序固有信息的次数的次数计数器1803。与前述
实施方式3的发送次数信息1500的不同之处是,附加了识别
使用程序固有信息的程序的程序ID1801。
发送次数信息1800表示把使用程序ID是0001的程序的
程序固有信息1735,对终端ID是0001、0002的信息处理终
端1700发送一次,对终端ID是0003的信息处理终端1700
不发送程序固有信息1735。同样,把使用程序ID是0002的
程序的程序固有信息1735,对终端ID是0001的信息处理终
端1700发送一次,对终端ID是0002、0003的信息处理终端
1700不发送程序固有信息1735。
另外,程序/固有信息对应表1810和前述图12的程序/固
有信息对应表1210相同,所以省略详细说明。
图19是表示服务器装置1720的程序发送步骤的流程图。
首先,服务器装置1720从信息处理终端1700接收程序
发送请求(S1901)。该程序发送请求包含信息处理终端1700
请求取得的程序的程序ID。然后,服务器装置1720取得在
S1901所接收的程序发送请求中包含的信息处理终端1700的
终端ID、程序ID(S1902)。
服务器装置1720对发送次数信息1800检索在S1902所
取得的终端ID、程序ID,取得次数计数器的值(S1903)。
并且,判定所取得的次数计数器的值是否为规定值以上
(S1904)。
当所取得的次数计数器的值是规定值以上时(S1904为
是),服务器装置1720由于已经向信息处理终端1700发送规
定次数以上的程序固有信息1735,所以仅发送程序1733,并
结束处理(S1909)。
然后,当所取得的次数计数器的值不足规定值时(S1904
为否),服务器装置1720以存储在程序/固有信息对应表1810
的发送开始ID的信息为基础,向信息处理终端1700分配新
的程序固有信息1735(S1905)。
并且,服务器装置1720对在S1905新分配的程序固有信
息1735,更新存储在程序/固有信息对应表1810的发送开始
ID的值(S1906)。而且,加算存储在发送次数信息1800的
次数计数器的值(S1907),向信息处理终端1700发送程序
固有信息1735(S1908),发送程序1733,结束处理(S1909)。
如上所述,本实施方式4涉及的服务器装置1720具有发
送次数信息保持单元1740和程序/固有信息对应表保持单元
1750,使用保持在各保持单元的发送次数信息1800和程序/
固有信息对应表1810,发送并管理程序固有信息1735,防止
对由一个信息处理终端1700执行的同一程序发送规定值以
上的程序固有信息1735,可以排除企图非法使用程序固有信
息1735的信息处理终端1700。
另外,在本实施方式4中,服务器装置1720通过按程序
单位管理程序固有信息的发送,可以按每个程序判定可否发
送程序固有信息1735。
另外,在本实施方式4中,数据存储单元1706和程序存
储单元1705是两个不同单元,但也可以形成同一个存储单元。
另外,本实施方式4表示的发送次数信息1800的形式仅是一
例,也可以附加其他信息。同样,程序/固有信息对应表1810
的形式仅是一例,也可以用其他形式来管理。在本实施方式4
中,来自信息处理终端1700的请求可以是伴随有程序发送的
程序发送请求,或者不伴随程序发送的程序固有信息发送请
求。
如上所述,本发明涉及的服务器装置具有固有信息发送
履历保持单元,可以防止信息处理终端程序取得与以前发送的
程序对应的程序固有信息,能够可靠防止企图取得新的程序固
有信息来逃避被排除的信息处理终端的非法行为。
另外,本发明涉及的信息处理终端通过利用终端固有密
钥对从服务器装置取得的程序进行加密,可以减轻服务器装置
的程序加密处理的负担。并且,本发明涉及的服务器装置把程
序整体划分为程序和程序固有信息来分别生成,所以服务器装
置能够管理多个在各信息处理终端成为不同信息的容量较小
的程序固有信息,而在所有信息处理终端成为共同信息的容量
大的程序仅管理一个,可以降低服务器装置管理的发送信息的
容量,减轻信息管理的负担。
另外,在从本发明涉及的服务器装置发送给信息处理终
端的程序整体中,包含由信息处理终端执行的程序主体、程序
标题、程序固有信息和固有信息标题,所以通过对构成程序的
各个信息使用CA署名或散列数据值,能够确认从服务器装置
发送给信息处理终端的信息的正当性。