具体实施方式
以下,使用附图说明本发明的实施方式涉及的服务器装置及程序管理系统。
(实施方式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署名或散列数据值,能够确认从服务器装置发送给信息处理终端的信息的正当性。