CN200410100524.4
2004.08.12
CN1611365A
2005.05.04
驳回
无权
发明专利申请公布后的驳回IPC(主分类):B41J 3/44公开日:20050504|||实质审查的生效|||公开
B41J3/44; G06F3/12; G03G15/00; H04N1/04; G06F17/00; G06F9/00
株式会社理光;
清水浩二; 秋吉邦洋
日本东京都
2003.08.12 JP 292012/2003; 2003.08.12 JP 292013/2003; 2003.08.12 JP 292014/2003; 2003.08.12 JP 292015/2003; 2003.08.12 JP 292016/2003; 2004.03.19 JP 081476/2004; 2004.08.06 JP 230106/2004
北京市柳沈律师事务所
王志森;黄小临
提供一种记录介质。该记录介质用于将使信息处理装置执行信息处理的程序输入到信息处理装置,其中记录介质包括用于存储程序ID的ID文件,其中该ID被使用专用于记录介质或专用于信息处理装置的密钥加密。
1. 一种用于将使信息处理装置执行信息处理的程序输入信息处理装置的记录介质,其特征在于记录介质包括用于存储程序ID的ID文件,其中该ID被使用专用于记录介质或专用于信息处理装置的密钥加密。2. 如权利要求1所述的记录介质,其中ID文件包括被利用密钥加密的ID。3. 如权利要求1所述的记录介质,该记录介质还包括存储程序的程序文件。4. 如权利要求3所述的记录介质,其中ID文件包括被利用密钥加密的ID。5. 如权利要求1所述的记录介质,其中该记录介质还包括检查文件,用于使信息处理装置检查该记录介质是否是有效用作将程序输入到信息处理装置的介质。6. 如权利要求3所述的记录介质,其中程序文件存储用于信息处理装置识别该程序文件的识别码。7. 如权利要求1所述的记录介质,其中ID文件包括该ID文件中能够保存的ID的上限数,以及存储在该ID文件中的多个ID。8. 如权利要求1所述的记录介质,其中当ID存储在该ID文件中时,最初存储在用于存储ID的区域中的信息被该ID替换。9. 如权利要求1所述的记录介质,其中通过使用记录介质的连续ID或使用基于连续ID的数据生成专用于记录介质的密钥。10. 如权利要求1所述的记录介质,其中通过使用信息处理装置的机器号、信息处理装置的MAC地址或信息处理装置的IP地址生成专用于信息处理装置的密钥。11. 如权利要求1所述的记录介质,其中该记录介质是存储卡。12. 如权利要求1所述的记录介质,其中该信息处理装置是图像形成装置。13. 如权利要求12所述的记录介质,其中图像形成装置包括:添加部分,用于将专用于记录介质或专用于图像形成装置的数据添加到图像数据,该图像数据是通过读取文件或经过网络接收获得的;和比较部分,用于将专用于记录介质或专用于图像形成装置的数据与添加到图像数据的数据进行比较,该图像数据将在纸上被打印或经过网络被发送。14. 如权利要求12所述的记录介质,其中图像形成装置包括:加密部分,使用专用于记录介质或专用于图像形成装置的密钥对通过读取文件或经过网络接收图像数据获得的图像数据进行加密;和解码部分,使用该密钥对将在纸上被打印或经过网络被发送的图像数据进行解码。15. 一种用于存储程序的存储单元,该程序用于使装配该存储单元的信息处理装置执行信息处理,其特征在于该存储单元包括用于存储程序ID的ID文件,其中该ID被使用专用于存储单元或专用于信息处理装置的密钥加密。16. 如权利要求15所述的存储单元,其中该ID文件包括被利用密钥加密的ID。17. 如权利要求15所述的存储单元,该存储单元还包括存储程序的程序文件。18. 如权利要求17所述的存储单元,其中该ID文件包括被利用密钥加密的ID。19. 如权利要求15所述的存储单元,其中该存储单元是硬盘驱动器。20. 如权利要求15所述的存储单元,其中该信息处理装置是图像形成装置。21. 一种信息处理装置,包括用于运行程序以执行信息处理的信息处理部分,其特征在于通过使用包括ID文件的记录介质将该程序装载到信息处理装置中,该ID文件用于存储程序的ID,其中该ID被使用专用于记录介质或专用于信息处理装置的密钥加密。22. 如权利要求21所述的信息处理装置,其中记录介质存储该程序,该程序从记录介质中被装载到信息处理装置,该信息处理装置还包括:ID存储部分,用于使用密钥加密该ID以及存储该加密的ID。23. 如权利要求22所述的信息处理装置,该信息处理装置还包括确定部分,用于通过确定该程序的ID是否存储在ID文件中确定存储在该记录介质中的程序的有效性。24. 如权利要求22所述的信息处理装置,其中该记录介质还包括检查文件,用于使信息处理装置检查该记录介质是否是有效将程序输入到信息处理装置的介质;和该信息处理装置还包括检查部分,用于基于该检查文件检查记录介质的有效性。25. 如权利要求24所述的信息处理装置,其中检查部分通过检查存储在检查文件中的检查程序是否被成功的启动来检查记录介质的有效性。26. 如权利要求23所述的信息处理装置,其中该信息处理装置在确定部分确定该程序为有效的情况下执行该程序的启动过程或启动权限设置过程。27. 如权利要求21所述的信息处理装置,其中该信息处理装置是图像形成装置。28. 一种在信息处理装置中执行的信息处理方法,其中信息处理装置包括用于从记录介质装载该程序的部分,该记录介质包括程序和存储该程序的ID的ID文件,其中ID被使用专用于记录介质或专用于信息处理装置的密钥加密,该信息处理方法的特征在于以下步骤:通过使用专用于记录介质或专用于信息处理装置的密钥加密该程序的ID;和在记录介质的ID文件中存储该加密的ID。29. 一种在信息处理装置中执行的信息处理方法,其中信息处理装置包括用于从记录介质装载该程序的部分,该记录介质包括程序和存储该程序的ID的ID文件,其中ID被使用专用于记录介质或专用于信息处理装置的密钥加密,该信息处理方法的特征在于:确定步骤,通过确定该程序的ID是否存储在ID文件中来确定存储在记录介质中的程序的有效性。30. 如权利要求29所述的信息处理方法,其中该记录介质还包括检查文件,用于使信息处理装置检查该记录介质是否是有效将程序装载到信息处理装置的介质,该信息处理方法还包括:检查步骤,基于检查文件检查该记录介质的有效性。31. 如权利要求30所述的信息处理方法,其中该信息处理装置通过检查存储在检查文件中的检查程序是否被成功的启动来检查记录介质的有效性。32. 如权利要求29所述的信息处理方法,其中该信息处理装置在确定步骤确定该程序是有效的条件下执行该程序的启动过程或启动权限设置过程。33. 如权利要求28所述的信息处理方法,其中该信息处理装置是图像形成装置。34. 一种装配有存储单元的信息处理装置,该信息处理装置包括用于运行存储在该存储单元中的程序的信息处理部分,其特征在于该存储单元包括用于存储程序ID的ID文件,其中该ID被使用专用于存储单元或专用于信息处理装置的密钥加密。35. 如权利要求34所述的信息处理装置,其中该信息处理装置还包括ID存储部分,用于使用该密钥对ID进行加密并在存储单元的ID文件中存储该加密的ID。36. 如权利要求34所述的信息处理装置,该信息处理装置还包括确定部分,用于通过确定该程序的ID是否存储在ID文件中来确定存储在该存储单元中的程序的有效性。37. 一种在装配了存储单元的信息处理装置中执行的信息处理方法,其中该信息处理装置包括用于执行存储在该存储单元中的程序的信息处理部分,其中该存储单元包括存储该程序ID的ID文件,其中所述ID被使用专用于存储单元或专用于信息处理装置的密钥加密,该信息处理方法的特征在于:ID存储步骤,使用该密钥对ID进行加密并在ID文件中存储该加密的ID。38. 一种在装配了存储单元的信息处理装置中执行的信息处理方法,其中该信息处理装置包括用于运行存储在该存储单元中的程序的信息处理部分,其中该存储单元包括存储该程序ID的ID文件,其中所述ID被使用专用于存储单元或专用于信息处理装置的密钥加密,该信息处理方法的特征在于:确定步骤,通过确定该程序的ID是否存储在ID文件中来确定存储在存储单元中的程序的有效性。39. 一种使信息处理装置执行信息处理的信息处理程序,其中信息处理装置包括用于从记录介质装载应用程序的部分,该记录介质包括应用程序和存储该应用程序ID的ID文件,其中所述ID被使用专用于记录介质或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,使用专用于记录介质或专用于信息处理装置的密钥对该应用程序的ID进行加密;和程序代码部件,用于在记录介质的ID文件中存储该加密的ID。40. 一种使信息处理装置执行信息处理的信息处理程序,其中信息处理装置包括用于从记录介质装载应用程序的部分,该记录介质包括应用程序和存储该应用程序ID的ID文件,其中所述ID被使用专用于记录介质或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,用于通过确定该应用程序的ID是否存储在ID文件中来确定存储在该记录介质中的应用程序的有效性。41. 如权利要求40所述的信息处理程序,其中记录介质还包括检查文件,用于使信息处理装置检查该记录介质是否是有效将程序装载到信息处理装置的介质,该信息处理程序还包括:检查程序代码部件,用于根据检查文件检查该记录介质的有效性。42. 如权利要求41所述的信息处理程序,其中该检查程序代码部件通过检查存储在该检查文件中的检查程序是否被成功的启动来检查该记录介质的有效性。43. 一种使装配有存储单元的信息处理装置执行信息处理的信息处理程序,其中信息处理装置包括用于运行存储在该存储单元中的应用程序的信息处理部分,其中该存储单元包括存储该应用程序ID的ID文件,其中ID被使用专用于存储单元或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,用于通过使用密钥对ID进行加密并在ID文件中存储该加密的ID。44. 一种使装配有存储单元的信息处理装置执行信息处理的信息处理程序,其中信息处理装置包括用于运行存储在该存储单元中的应用程序的信息处理部分,其中该存储单元包括存储该应用程序ID的ID文件,其中所述ID被使用专用于存储单元或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,用于通过确定该应用程序的ID是否存储在ID文件中来确定存储在该存储单元中的应用程序的有效性。45. 一种存储信息处理程序的计算机可读介质,该信息处理程序使信息处理装置执行信息处理,其中信息处理装置包括用于从记录介质装载应用程序的部分,该记录介质包括应用程序和存储该应用程序ID的ID文件,其中所述ID被使用专用于记录介质或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,通过使用专用于记录介质或专用于信息处理装置的密钥对该应用程序的ID进行加密;和程序代码部件用于在记录介质的ID文件中存储该加密的ID。46. 一种存储信息处理程序的计算机可读介质,该信息处理程序使信息处理装置执行信息处理,其中信息处理装置包括用于从记录介质装载应用程序的部分,该记录介质包括应用程序和存储该应用程序ID的ID文件,其中所述ID被使用专用于记录介质或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,通过确定该应用程序的ID是否存储在ID文件中来确定存储在该记录介质中的应用程序的有效性。47. 如权利要求46所述的计算机可读介质,其中该记录介质还包括检查文件,用于使信息处理装置检查该记录介质是否是有效将程序装载到信息处理装置的介质,该信息处理程序还包括:检查程序代码部件,用于根据检查文件检查该记录介质的有效性。48. 如权利要求47所述的计算机可读介质,其中该检查程序代码部件通过检查存储在该检查文件的检查程序是否被成功的启动来检查该记录介质的有效性。49. 一种存储信息处理程序的计算机可读介质,该信息处理程序使装配有存储单元的信息处理装置执行信息处理,其中信息处理装置包括用于运行存储在该存储单元中的应用程序的信息处理部分,其中该存储单元包括存储该应用程序ID的ID文件,其中所述ID被使用专用于存储单元或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,通过使用密钥对ID进行加密并在ID文件中存储该加密的ID。50. 一种存储信息处理程序的计算机可读介质,该信息处理程序使装配有存储单元的信息处理装置执行信息处理,其中信息处理装置包括用于运行存储在该存储单元中的应用程序的信息处理部分,其中该存储单元包括存储该应用程序ID的ID文件,其中所述ID被使用专用于存储单元或专用于信息处理装置的密钥加密,该信息处理程序的特征在于:程序代码部件,通过确定该应用程序的ID是否存储在ID文件中来确定存储在该存储单元中的应用程序的有效性。
记录介质、存储单元、信息处理装置、方法及程序 技术领域 本发明涉及一种例如存储卡的记录介质,例如硬盘驱动器的存储单元。此外,本发明涉及一种信息处理装置,例如包括信息处理功能作为主要功能的信息技术装置,以及包括信息处理功能作为次要功能的电子装置。本发明还涉及与信息处理装置有关的信息处理方法、信息处理程序和记录介质。包括信息处理功能作为主要功能的信息技术装置的一个示例是个人计算机,包括信息处理功能作为次要功能的电子装置的一个示例是图像形成装置,例如复印机、打印机、扫描仪、传真机和复合机器(也称作组合机器),其信息处理功能近年来得到显著发展。 背景技术 近年来,包括复印功能、打印机功能和扫描仪功能的复合机器正在进入市场。当复合机器用作复印机或打印机时,将在打印纸上打印图像。当复合机器用作复印机或扫描仪时,从文件中读出图像。当复合机器用作传真机时,复合机器经过电话线接收或发送图像。日本已经公开的专利申请No.2002-84383中公开了一种涉及复合机器的技术。 复合机器通过使用各种程序,例如应用程序或平台,执行各种信息处理。这些程序通常被预装在复合机器中。如果通过使用存储卡能够执行程序,或者甚至在复合机器已经被装运之后如果能够将程序装进复合机器的硬盘驱动器中,则能够提高用户的便利性。但是另一方面,存在存储卡可能被非法复制并非法用在复合机器中的危险。此外,存在一个复合机器的硬盘驱动器被另一个复合机器的硬盘驱动器替换的危险,以致于程序能被非法地提供给复合机器。 发明内容 本发明的一个目的是减少例如存储卡的记录介质被非法复制以及程序被非法使用的危险,其中记录介质用于将程序装载到例如图像形成装置的信息处理装置中。 本发明的另一个目的是减少由于例如关于硬盘驱动器的存储单元的骗局导致的程序被非法提供给信息处理装置的危险,其中程序能被添加到例如图像形成装置的信息处理装置的存储单元。 通过用于将程序输入信息处理装置的记录介质来实现上述目的,该程序用于使信息处理装置执行信息处理。 其中记录介质包括用于存储程序ID的ID文件,其中ID被使用专用于记录介质或专用于信息处理装置的密钥加密。 在记录介质中,ID文件可以包括被利用密钥加密的ID。此外,记录介质可以包括存储程序的程序文件。 记录介质还可以包括检查文件,用于使信息处理装置检查该记录介质是否是有效将程序输入到信息处理装置的介质。 在记录介质中,程序文件可以存储用于使信息处理装置识别程序文件的识别码。 ID文件还可以包括ID文件中能够保存的ID的上限数,以及存储在ID文件中的多个ID。此外,当ID存储在ID文件中时,最初存储在用于存储ID的区域中的信息被ID替换。 能够使用记录介质的连续ID或使用基于连续ID的数据来生成专用于记录介质的密钥。可以使用信息处理装置的机器号、信息处理装置的MAC地址或信息处理装置的IP地址来生成专用于信息处理装置的密钥。 还可以通过用于存储程序的存储单元来实现上述目的,该程序用于使装配该存储单元的信息处理装置执行信息处理。 其中存储单元包括用于存储程序ID的ID文件,其中所述ID被使用专用于存储单元或专用于信息处理装置的密钥加密。 本发明还能够配置为信息处理装置,包括用于运行程序以执行信息处理的信息处理部分,其中通过使用包括ID文件的记录介质将该程序装载到信息处理装置中,该ID文件用于存储程序的ID,其中所述ID被使用专用于记录介质或专用于信息处理装置的密钥加密。 在信息处理装置中,记录介质存储程序,程序从记录介质中被装载到信息处理装置,信息处理装置还包括:ID存储部分,用于使用密钥加密该ID以及存储被加密的ID。 本发明还能配置为信息处理装置中执行的信息处理方法,以及配置为使计算机执行信息处理装置功能的信息处理程序。 按照本发明,能够减小例如存储卡的记录介质被非法复制以及程序被非法使用的危险,还能够减小由于存储单元上的赝品导致程序被非法提供给信息处理装置的危险。 附图说明 结合附图阅读下面的详细说明,本发明的其它目的、特征及优点将更加显而易见,其中: 图1表示本发明一个具体实施例的复合机器; 图2是图1所示的复合机器地硬件框图; 图3是图1的复合机器的外视图; 图4表示复合机器的操作面板; 图5表示复合机器的启动部分; 图6表示涉及SD存储卡槽和SD存储卡的软件; 图7A-7D是用于说明第一示例的示意图; 图8表示由VAS执行的处理的流程图; 图9是由VAS实现的功能的功能性方框图; 图10是用于说明PDID注册(registration)过程的程序示意图(sequencediagram); 图11是用于说明应用程序有效性确定过程的程序示意图; 图12A-12D是用于说明第二示例的示意图; 图13表示由VAS执行的处理的流程图; 图14是由VAS实现的功能的功能性方框图; 图15是用于说明PDID注册过程的程序示意图; 图16是用于说明应用程序有效性确定过程的程序示意图; 图17A-17D2是用于说明第三示例的示意图; 图18表示由VAS执行的处理的流程图; 图19是由VAS实现的功能的功能性方框图; 图20是用于说明PDID注册过程的程序示意图; 图21是用于说明应用程序有效性确定过程的程序示意图; 图22A-22E2是用于说明第四示例的示意图; 图23表示由VAS执行的处理的流程图; 图24是由VAS实现的功能的功能性方框图; 图25是用于说明PDID注册过程的程序示意图; 图26是用于说明PDID注册过程的程序示意图; 图27是用于说明应用程序有效性确定过程的程序示意图; 图28A-28C是用于说明第五示例的示意图; 图29表示由VAS执行的处理的流程图; 图30是由VAS实现的功能的功能性方框图; 图31是用于说明PDID注册过程的程序示意图; 图32是用于说明应用程序有效性确定过程的程序示意图; 图33是用于说明图像形成处理的密码的示意图; 图34是密码添加过程的流程图; 图35是密码比较过程的流程图; 图36是用于说明图像形成处理中使用的密钥的示意图; 图37是加密过程的流程图; 图38是解码过程的流程图; 图39表示本发明一个具体实施例的信息处理装置。 具体实施例 下面将参照附图说明本发明的具体实施例。 图39表示本发明一个具体实施例的信息处理装置11。信息处理装置11包括硬件21、软件22和启动部分23。 信息处理装置的11的硬件包括信息处理部分,通信部分和操作显示部分。信息处理部分包括CPU、ROM、RAM和HDD,通信部分包括MODEM和NIC,操作显示部分包括键盘、鼠标和显示器。 信息处理装置的软件22包括应用程序31和平台32。平台32包括用于控制信息处理部分的模块、用于控制通信部分的模块、用于控制操作显示部分的模块、用于控制鉴别(authentication)处理的模块、用于管理用户信息的模块和用于执行系统管理的模块。程序通过例如UNIX的OS(操作系统)按照处理过程被并行地执行。 当接通信息处理装置11的电源时,最初运行启动部分。因此,OS被启动,且应用程序31和平台32被启动。程序存储在HDD或存储卡中,并且从HDD或存储卡装载到RAM以便运行该程序。 图39所示的信息处理装置11的示例是包括信息处理功能作为主要功能的信息技术装置,以及包括信息处理功能作为次要功能的电子装置。信息技术装置的一个示例是个人计算机,电子装置的一个示例是图像形成装置,例如复印机、打印机、扫描仪、传真机和复合机器(也称作组合机器),其信息处理功能近年来得到显著发展。接下来将说明作为信息处理装置11的一个示例的复合机器101。 图1表示本发明一个具体实施例的复合机器101。图1所示的复合机器101包括各种硬件111、各种软件112和复合机器启动部分113。 复合机器101的硬件111包括图像拾取部分121、打印部分122和其它的硬件123。图像拾取部分121是用于从文件读取图像(图像数据)的硬件。打印部分122是用于在打印纸上打印图像的硬件。 复合机器101的软件112包括各种应用程序131和各种平台132。这些程序通过例如UNIX的OS(操作系统)作为处理被并行地执行。 应用程序131包括作为用于复制的应用程序的复制应用程序141、作为用于打印的的应用程序的打印机应用程序142、作为用于扫描的应用程序的扫描仪应用程序143、作为用于传真的应用程序的传真应用程序144和作为用于网络文件的应用程序的网络文件应用程序145。 通过使用专用的SDK(软件开发工具包)能够开发应用程序131。使用SDK开发的应用程序被称作SDK应用程序。SDK包括平台132的可执行文件、平台132的专用函数(function)库、C语言标准函数库、用于编译应用程序131的源文件以生成应用程序131的目标文件的编译器,和用于连接目标文件与专用函数库以及标准函数库以生成应用程序的可执行文件的连接器。 平台132包括控制服务程序(service)151、系统资源管理器152和处理器(handler)153。控制服务程序151包括网络控制服务程序(NCS)161,传真控制服务程序(FCS)162、传送控制服务程序(DCS)163、引擎控制服务程序(ECS)164、存储器控制服务程序(MCS)165、操作面板控制服务程序(OCS)166、认证(certification)控制服务程序(CCS)167、用户索引控制服务程序(UCS)168和系统控制服务程序(SCS)169。处理器153包括传真控制单元处理器(FCUH)171和图像存储器处理器(IMH)172。 NCS 161的过程对网络通信起媒介作用。FCS 162的过程为传真提供API。DCS 163的过程控制存储文件的传送过程。ECS 164的过程执行图像拾取部分121和打印部分122的控制。MCS 165的过程执行存储器和硬盘驱动器的控制。OCS 166的过程执行操作面板的控制。CCS 167的过程执行识别过程和记帐(billing)过程的控制。UCS 168的过程执行涉及用户信息管理的控制。SCS 169的过程执行系统管理的控制。 虚拟应用程序服务程序(VAS)135作为软件存在,用于执行应用程序131与平台132之间的调解(mediation)。VAS 135对于用作客户端的应用程序作为服务器处理工作,对于用作服务器的平台作为客户端处理工作。VAS135具有从应用程序131隐藏平台132的包装功能。此外,VAS具有缓冲平台132与应用程序的API之间的版本差别的功能。 当复合机器101的电源接通时,首先运行复合机器启动部分113。因此,例如UNIX的OS被启动,应用程序131和平台132被启动。这些程序被存储在硬盘驱动器或存储卡中,并且从硬盘驱动器或存储卡中被读出装载到存储器中。 图2是图1所示的复合机器101的硬件框图。复合机器101的硬件111包括控制器201、操作面板202、传真控制单元(FCU)203、图像拾取部分121和打印部分122。 控制器201包括CPU 211、ASIC 212、NB 221、SB 222、MEM-P 231、MEM-C 232、HDD(硬盘驱动器)233、存储卡槽234、NIC(网络接口控制器)241、USB设备242、IEEE 1394设备243和核心设备244。 CPU 211是用于各种信息处理的IC。ASIC 212是用于各种图像处理的IC。NB 221是控制器201的北桥。SB 222是控制器201的南桥。MEM-P231是复合机器101的系统存储器。MEM-C 232是复合机器101的本地存储器。HDD 233是复合机器101的存储装置。存储卡槽234是用于安放存储卡235的槽。NIC 241是通过MAC地址进行网络通信的控制器。USB设备242是用于提供IEEE 1394标准连接终端的设备。核心设备244是用于提供核心连接终端的设备。 操作面板202是用户将数据输入到复合机器101的硬件(操作部分),也是从复合机器101获得输出数据的硬件(显示部分)。 图3是图1的复合机器101的外视图。图3表示图像拾取部分121的位置、打印部分122的位置和操作面板202的位置。图3还表示其上安置文件的文件安置部分301、用于进纸的进纸部分302和用于排出打印纸的出纸部分303。 如图4所示,操作面板202包括触摸面板311、10个按键312、启动按钮313、复位按钮314、初始设置按钮315。触摸面板311是通过触摸操作输入数据的硬件(触摸操作部分),也是用于显示图像的硬件(图像显示部分)。10个按键312是通过按键操作输入数字的硬件。启动按钮313是通过按钮操作执行启动操作的硬件。复位按钮314是通过按钮操作执行复位操作的硬件。初始设置按钮315是通过按钮操作用于显示初始设置屏幕的硬件。 文件安置部分301包括ADF(自动文件进给器)321、底盘322和底盘盖323。进纸部分302包括4个进纸盘。出纸部分303包括1个出纸盘。 (复合机器启动部分) 接下来将说明图1中的复合机器启动部分113。 如图5所示,复合机器启动部分113包括存储器监视部分501和程序启动部分502。 当接通复合机器101的电源时,启动形成存储器监视部分501的BIOS和引导程序,所以启动了为UNIX或类似物的OS。接下来,启动形成程序启动部分502的启动处理程序,所以启动了应用程序和平台132。当启动了UNIX时,UNIX的内核被启动,根文件系统被打开,所以涉及应用程序和平台的文件系统被装在根系统文件上。 接下来说明应用程序和平台132的安装过程和启动过程。程序启动部分502在根文件系统中的“etc”读取主设置文件“init.conf”,从而程序启动部分502按照主设置文件中的指令执行安装过程和启动过程。此外,程序启动部分502在安装的文件系统中读取设置文件“init.conf”和“init.cnf”,以按照设置文件中的指令执行安装过程和启动过程。此外,程序启动部分502在安装的文件系统中以设置目录“init.d”读取设置文件“***.conf”和“***.cnf”,以按照设置文件中的指令执行安装过程和启动过程。通过提供识别文件“***.lic”,程序启动部分502能够在执行安装过程和启动过程之前检查设置文件的电子签名,设置文件的电子签名写在“***.lic”识别文件中。 (存储卡) 下面将说明图2所示的存储卡槽234和存储卡235。存储卡槽234是插入存储卡235的槽,其中存储卡235存储例如应用程序131或平台132的程序。存储在存储卡235中的程序被读出并装载到MEM-P 231或MEM-C 232中。 在一个具体实施例中,存储卡235将应用程序和平台132的每个模块存储为具有扩展名“mod”的mod文件“***.mod”。此外,存储卡235将每个mod文件的电子签名存储为具有扩展名“mac”的mac文件“***.mac”。 此外,存储卡235将设置文件存储为具有扩展名“cnf”的cnf文件“***.cnf”,以及存储卡235将含有设置文件的电子签名的识别文件存储为具有扩展名“lic”的lic文件“***.lic”。 通过从文件生成消息摘要以及使用密钥对消息摘要加密来获得每个文件的电子签名,其中消息摘要是使用例如MD5和SHA1的散列函数(hashfunction)生成的。例如,mod文件或cnf文件的电子签名是通过对从mod文件或cnf文件生成的消息摘要进行加密获得的。 通过比较由散列函数从文件中获得的消息摘要和通过使用公共密钥解码电子签名获得的消息摘要而能够检查电子签名。例如,通过比较从mod文件生成的消息摘要和通过解密mac文件中的电子签名获得的消息摘要能够检查mod文件的电子签名。以同样的方式,通过比较从cnf文件生成的消息摘要和通过解密lic文件中的电子签名获得的消息摘要能够检查cnf文件的电子签名。在执行安装过程或启动过程的同时,程序启动部分502能够执行签名的检查。 当SD存储卡用作存储卡235时,通过加密从cnf文件和SD连续ID生成的消息摘要可以获得cnf文件的电子签名。由于SD存储卡的SD连续ID专用于SD存储卡,所以存储在SD存储卡内的lic文件成为专用于SD存储卡的文件。因此,对于防止SD存储卡的非法复制这种配置是有用的。在此情况下,通过比较从cnf文件和SD连续ID生成的消息摘要与通过解密lic文件中的电子签名获得的消息摘要能够检查cnf文件的电子签名。每个SD连续ID被存储在每个存储卡中。 作为存储卡235,使用作为一种闪存卡的SD(安全的数字式)存储卡。通过使用SD存储卡,具有以低成本获得大容量的存储器的优点。对于SD存储卡,将SD存储卡槽用作存储卡槽234。 如图6所示,复合机器101包括SD存储卡存取驱动器(SD存取)611、SD存储卡状态驱动器(SD状态)612、启动处理程序613和SD存储卡检查程序(SD检查)614,其作为涉及SD存储卡槽601和SD存储卡602(对应于存储卡槽234和存储卡235)的软件。 SD存取611是用于执行SD存储卡602的存取控制的驱动器。具体言之,例如SD存取611检测SD存储卡602的插入/退出。SD状态612是用于管理SD存储卡602的插入/退出/安装/卸下的信息的驱动器。启动处理程序613是形成图5的程序启动部分502的程序。SD检查614是用于执行SD存储卡602的安装/卸下的程序。 当SD存储卡602插入到SD存储卡槽601中时,SD存取611在步骤1中检测SD存储卡602被插入,并且SD存取611在步骤2中将该事件通知SD状态612。作为响应,SD状态612管理指示SD存储卡602已经插入的信息,并在步骤3中通知启动处理程序613,SD存储卡602已经插入。作为响应,启动处理程序613启动SD检查614以安装SD存储卡602。作为响应,在步骤5中SD检查614安装SD存储卡602,并在步骤6中将该事件通知SD状态612。作为响应,SD状态612管理指示SD存储卡602已经安装的信息,并在步骤7中通知启动处理程序613,SD存储卡602已经安装。 当SD存储卡602从SD存储卡槽601中退出时,在步骤1中SD存取611检测SD存储卡602已经退出,并在步骤2中SD存取611通知SD状态612,SD存储卡602已经退出。作为响应,SD状态612管理指示SD存储卡602已经退出的信息,并在步骤3中通知启动处理程序613,SD存储卡602已经退出。作为响应,在步骤4中启动处理程序613启动SD检查614以便不安装SD存储卡602。作为响应,在步骤5中SD检查614不安装SD存储卡602,并在步骤6中将该事件通知SD状态612。作为响应,SD状态612管理指示SD存储卡602没有安装的信息,并在步骤7中,通知启动处理程序613,SD存储卡602没有安装。 通过采用SD存储卡,实现了卡的所谓热插拔。也就是说,在复合机器101启动之后,能够执行将SD存储卡602插入SD存储卡槽601中的操作以及从SD存储卡槽601中拔出SD存储卡602的操作。 (使用SD存储卡和HDD的示例) 接下来说明使用图6的SD存储卡602(对应于图2的存储卡235)和图2的HDD233的示例。 (1)第一示例 将参照图7A-7D说明第一示例。在此示例中说明了商用模式(businessmodel)的例子,其中制造商为销售商(vendor)分发用于将SDK应用程序输入到复合机器101的SD存储卡602,销售商开发SDK应用程序以便用户通过使用SD存储卡602将SDK应用程序输入到复合机器101。 图7A中显示的SD存储卡602是市场上的SD存储卡。 图7B中显示的SD存储卡是一个从复合机器101的制造商提供给复合机器101的销售商的卡。图7B中显示的SD存储卡602存储SD存储卡服务程序文件(SD服务程序文件)701和PDID文件703。 图7C的SD存储卡是一个从复合机器101的销售商提供给复合机器101的用户的卡。图7C的SD存储卡602还存储两个SDK应用程序702A和702B。 图7D的SD存储卡602是一个复合机器101的用户已经执行PDID注册过程的卡。在图7D中显示的SD存储卡602中,SDK应用程序的PDID值被注册到PDID文件703中。 SD服务程序文件701是用于复合机器101检查SD存储卡602的有效性的文件。具体言之,SD服务程序文件701是用于复合机器101检查SD存储卡602是否可以作为用于将SDK应用程序输入到复合机器101的SD存储卡的文件。SD服务程序文件701存储SD存储卡服务程序(SD服务程序)。复合机器101通过检查SD服务程序是否被成功的启动,来检查SD存储卡602是有效的还是无效的。SD服务程序文件701是SD服务程序的可执行文件。 SD服务程序文件701与mod文件对应。因此,SD存储卡602除了SD服务程序文件701之外还包括存储SD服务程序文件701的数字签名的mac文件,和与SD服务程序文件701相关的cnf文件以及lic文件。因此,能够防止篡改SD服务程序文件701。此外,通过使用SD存储卡602的SD连续ID生成了lic文件。因此,能够防止SD服务程序文件701的未授权的复制。即使使用了其中SD服务程序文件701被非法复制的无效的SD存储卡,由于原始的SD存储卡与无效的SD存储卡之间的SD连续ID是不同的,所以通过检查lic文件中的电子签名能够检查出该非法使用。 SDK应用程序文件702存储SDK应用程序。如上所述,SDK应用程序是由专用SDK(软件开发工具包)生成的应用程序(131)。在此示例中,SDK应用程序文件702存储由销售商开发的SDK应用程序。SD存储卡602被配置成销售商能够将SDK应用程序文件702写入SD存储卡602中。SDK应用程序文件702是SDK应用程序的可执行文件。 SDK应用程序文件702包括复合机器101用于识别SDK应用程序文件702是SDK应用程序的识别码。该识别码存储在SDK应用程序文件702中的预定的区域,例如,所述识别码存储在该文件的最初几个字节中。复合机器101通过检查文件是否含有识别码来识别SDK应用程序文件702是SDK应用程序。在此示例中,制造商为销售商提供在SDK应用程序文件702中存储识别码的专用工具,以便销售商能够将识别码写入SDK应用程序文件702中。 PDID文件703是用于存储SDK应用程序的PDID(产品ID)的文件,其中PDID是SDK应用程序的ID(识别信息)。具体言之,PDID文件703是用于注册SDK应用程序的PDID的文件,SDK应用程序存储在SD存储卡602的SDK应用程序文件702中。复合机器101执行用于在SD存储卡602中的PDID文件703中注册PDID的PDID注册过程。此外,复合机器101执行应用程序有效性确定过程,用于通过检查SDK应用程序的PDID是否注册在SD存储卡602中的PDID文件703内,来确定SDK应用程序文件702内的SDK应用程序的有效性。如果应用程序有效性确定过程确定SDK应用程序是有效的,则复合机器101执行SDK应用程序的启动过程以及启动权限设置过程。能够从SDK应用程序文件702获得SDK应用程序的PDID。 为了在PDID文件703中存储PDID,使用专用于SD存储卡602的密钥(种子(seed))加密该PDID。在此示例中,使用SD存储卡602中的lic文件(例如,涉及SD服务程序文件701的lic文件)生成密钥(加密数据)。例如,该密钥是lic文件的校验和(8位)。此外,密钥不仅用于加密还用于解码。如上所述,通过使用SD存储卡602的SD连续ID生成lic文件。通过对PDID和密钥执行逐字节的EOR(异或)运算来执行PDID的加密。如上所述,通过使用密钥加密SDK应用程序的PDID,能够防止PDID文件703的篡改。此外,通过使用专用于SD存储卡602的密钥对SDK应用程序的PDID进行加密,能够防止PDID文件703的非法复制。 PDID文件703包括一致性(consistence)检查数据711、最大应用程序数712、注册的应用程序数713和PDID 714。 复合机器101使用一致性检查数据711(几个字节的数据)检查SD存储卡602与PDID文件703之间的一致性。通过使用SD存储卡602中的lic文件(例如,涉及SD服务程序文件701的lic文件)生成一致性检查数据711。例如,一致性检查数据711是lic文件的校验和(check sum)。 最大应用程序数712是PDID文件703中能够注册的PDID的最大数(上限)。也就是说,最大应用程序数712是能够有效写入存储卡602的SDK应用程序(SDK应用程序文件702)的最大数(上限)。在此示例中,最大应用程序数712由制造商确定并设置以限制销售商写入SD存储卡中的SDK应用程序的数量。图7B-7D中所示的PDID文件703中的最大应用程序数712是2。最大应用程序数712由种子(密钥)加密并被存储。 注册的应用程序数713是PDID文件703中注册的多个PDID。也就是说,注册的应用程序数713是已经写入SD存储卡602中的多个有效SDK应用程序。在PDID注册过程中,复合机器101将在PDID文件703中注册的多个PDID作为注册的应用程序数713。注册的应用程序数713用于管理销售商写入的多个SDK应用程序以限制数量。图7B和7C所示的PDID文件703中的注册应用程序数713是0,图7D所示的PDID文件703中的注册应用程序数713是2。注册的应用程序713由种子(密钥)加密并被注册。注册的应用程序数713是0的状态被称作“初始状态”,注册的应用程序数713不是0的状态被称作“注册状态”。 PDID 714是用于注册SDK应用程序的PDID(产品ID)的注册字段。具体言之,PDID 714是用于注册存储在SD存储卡602的SDK应用程序文件702中的SDK应用程序的PDID(产品ID)的注册字段。图7B和7C所示的PDID 714中还没有注册任何的PDID。在图7D的PDID 714中,注册了SDK应用程序的PDID(存储在SDK应用程序文件A 702 A中的SDK应用程序A的PDID,和存储在SDK应用程序文件B 702 B中的SDK应用程序B的PDID)。在图7B和7C的PDID文件703中的PDID 714中存储了代替实际PDID的伪(dummy)ID,其中伪ID的数据量与PDID的数据量相同。当PDID存储在PDID文件703中时,伪ID被PDID替换。通过采用此种配置,在存储PDID之前和存储PDID之后能够防止由于数据量之间的不同导致的检测PDID注册过程的存在。PDID 714中注册的PDID由种子(密钥)按照如上所述方法加密。 接下来说明PDID注册过程和应用程序有效性确定过程的示例。 这些过程由VAS 135执行。图8表示由VAS 135执行的处理的流程图。图9是由VAS 135实现的功能的功能性框图。如图9所示,复合机器101包括卡有效性检查部分901,种子生成部分902、PDID文件一致性检查部分903、PDID加密部分911、PDID注册部分912、PDID解码部分921和应用程序有效性确定部分922。 在SD存储卡602插入复合机器101中的SD存储卡槽601的状态下,当接通复合机器101的电源时,图8的过程由VAS 135执行。 首先,在步骤11中卡有效性检查部分901检查SD存储卡602的有效性。具体言之,卡有效性检查部分901基于SD存储卡602中的SD服务程序文件701,检查SD存储卡602是否可以有效作为用于将SDK应用程序输入到复合机器101中的SD存储卡。如上所述,SD服务程序文件701存储SD服务程序。卡有效性检查部分901检查SD存储卡602的有效性,是否SD服务程序被成功的启动。至于如何检查成功的启动,SD服务程序可以将该启动通知VAS 135,或者VAS 135可以存取SD服务程序。可替换地,SD服务程序可以将数据写入HDD 233以便VAS 135可以读出该数据。 当在步骤11确定SD存储卡有效时,过程进行到步骤13(在步骤12中)。当在步骤11没有确定SD存储卡602有效时,没有执行PDID注册过程或应用程序有效性确定过程,且图8所示的由VAS 135执行的处理结束。 接下来,在步骤13中种子生成部分902生成专用于SD存储卡602的密钥(种子)。通过使用SD存储卡602中的lic文件(例如涉及SD服务程序文件701的lic文件)生成该密钥。例如,该密钥为lic文件的校验和(8位)。该密钥用于加密和解码。在此示例中,种子生成部分902通过使用预定的lic文件932生成密钥(种子)931。lic文件932是使用SD存储卡602的SD连续ID生成的lic文件。 接下来,在步骤14中PDID文件一致性检查部分903基于PDID文件703中的一致性检查数据,检查SD存储卡602与SD存储卡中的PDID文件703之间的一致性。 接下来,当在步骤14中检查到SD存储卡602与PDID文件703一致时,过程进行到步骤16(步骤15)。当在步骤14检查到SD存储卡602与PDID文件703不一致时,不执行PDID注册过程或应用程序有效性确定过程,所以VAS 135的整个过程结束。 接下来,在步骤16中VAS 135基于PDID文件703中的注册的应用程序数,检查SD存储卡602中的PDID文件703是处于初始状态还是处于注册状态。当检查到PDID文件703处于初始状态时,按该顺序执行PDID注册过程(步骤17)和应用程序有效性确定过程(步骤18)。当检查到PDID文件703处于注册状态时,不执行PDID注册过程但是执行应用程序有效性确定过程(步骤18)。如果取代基于初始状态或注册状态的条件分支(branch),条件分支可以是基于注册的应用程序数713是否小于最大应用程序数。 下面说明PDID注册过程(步骤17)。在步骤16之后,PDID注册部分912将存储在SDK应用程序文件702中的SDK应用程序的PDID注册到SD存储卡602的PDID文件703中。PDID加密部分911使用种子生成部分902生成的种子931对SDK应用程序的PDID进行加密。通过使用PDID注册部分912将加密的PDID注册到PDID文件703中。 在PDID注册过程(步骤17)中,PDID注册部分912在PDID文件703中注册多个PDID作为PDID文件703中的注册的应用程序数713。如上所述,PDID文件703从初始状态进入注册状态。从步骤16的说明中明显看出,在下一次接通电源时将不执行PDID注册过程。 接下来说明应用程序有效性确定过程(步骤18)。在步骤16之后,应用程序有效性确定部分922通过确定SDK应用程序的PDID是否在SD存储卡602的PDID文件703中被注册,确定存储在SDK应用程序文件702中的SDK应用程序的有效性。由于PDID文件703中的SDK应用程序的PDID利用种子(密钥)931加密,所以PDID解码部分921将使用种子931对加密的PDID进行解码。 如果应用程序有效性确定过程确定了SDK应用程序文件702中的SDK应用程序有效,则复合机器101执行应用程序的启动过程或启动权限设置过程。也就是说,限制将没有执行应用程序有效性确定过程的SDK应用程序,或者被应用程序有效性确定过程确定为无效的SDK应用程序载入MEM-P 231或MEM-C 232中。如上所述,能够防止SD存储卡602中的数据被非法复制和使用以致于程序被无效地输入到复合机器101中。 执行PDID注册过程和应用程序有效性确定过程的优点的一个例子是防止了SD存储卡602中SDK应用程序文件702的未授权的替换。例如,即使购买了存储廉价SDK应用程序文件的SD存储卡的用户使用非法复制的昂贵的SDK应用程序替换该SDK应用程序,用户也不能使用昂贵的SDK应用程序。这是因为应用程序的PDID是不同的,所以昂贵的SDK应用程序不能通过应用程序有效性确定。对于将未授权的SDK应用程序添加到SD存储卡的行为还能够获得同样的优点。 不管PDID文件703的最大应用程序数712是1或大于1都能够实现上述的优点,其中最大应用程序数712是能被写入SD存储卡602中的SDK应用程序的最大数。因此,例如,在实现上述优点的同时能够实现允许一个以上的销售商在一个SD存储卡中写入应用程序的商业模式。例如,允许销售商A在SD存储卡中写入2个SDK应用程序,允许销售商B在SD存储卡中写入1个SDK应用程序,其中制造商设置的最大应用程序数712是3。 在上述的配置中,SDK应用程序从SD存储卡中被载入到复合机器101。可替换地,通过使用SD存储卡602可以经过网络将SDK应用程序下载到复合机器101中。也就是说,在此情况下,SD存储卡被用作下载许可的密码。在此情况下,在SD存储卡602中没有必要存储任何的SDK应用程序,但是SD存储卡602存储SD服务程序701和PDID文件703。 接下来参照图10的程序示意图说明PDID注册过程(步骤17)的细节。 如步骤11所述,在步骤101中当SD服务程序文件701中的SD服务程序被启动时,在步骤102中SD服务程序将该启动通知给VAS 135。接下来,如步骤13所述,在步骤103中VAS 135生成种子。接下来,如步骤14所述,在步骤104中VAS 135检查SD存储卡602与PDID文件703之间的一致性。也可以如上所述的执行步骤12、15和16中的前述条件分支过程。 接下来,在步骤105中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。至于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤106中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤107中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤17所述,VAS 135在步骤108中使用种子加密PDID,并在步骤109中在PDID文件703中注册加密的PDID。然后,在步骤110中VAS 135结束SDK应用程序的暂时启动。 下面参照图11的程序示意图说明应用程序有效性确定过程(步骤18)的细节。 如步骤11所述,在步骤201中当SD服务程序文件701中存储的SD服务程序被启动时,在步骤202中SD服务程序将该启动通知给SD服务程序。接下来,如步骤13所述,在步骤203中VAS 135生成种子。接下来,如步骤14所述,在步骤204中VAS 135检查SD存储卡602与PDID文件703之间的一致性。也可以如上所述的执行步骤12、15和16中的前述条件分支过程。 接下来,在步骤205中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。对于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤206中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤207中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤18所述,在步骤208中VAS 135解码PDID文件703中注册的PDID,在步骤209中通过比较在步骤207中获得的PDID与在步骤208中获得的PDID确定SDK应用程序的有效性。 接下来,在步骤210中VAS 135从已经被确定为有效的SDK应用程序中获得SDK应用程序的应用程序信息。此时,在步骤211中复合机器101的管理员能够操作复合机器101以在操作面板202上显示选择屏幕,用于在已经被确定为有效的SDK应用程序中选择将被设置启动权限的SDK应用程序。在步骤212中复合机器101的管理员通过操作该操作面板能够选择目标SDK应用程序。然后,VAS 135将选择的SDK应用程序的PDID注册在HDD 233中(或非易失性存储器(快速存储器和类似物)),以便在步骤213中能够设置SDK应用程序的启动权限。当为插入到SD存储卡槽601的SD存储卡中的SDK应用程序设置启动权限时,复合机器101从SD存储卡620中启动SDK应用程序,其中该SDK应用程序被载入MEM-P 231或MEM-C 232中。 (2)第二示例 在此示例中说明了商业模式的例子,其中制造商为销售商分发用于将SDK应用程序输入到复合机器101的SD存储卡602,销售商开发SDK应用程序以便用户通过使用SD存储卡602将SDK应用程序输入到复合机器101中。 图12A中显示的SD存储卡602是市场上的SD存储卡。 图12B中显示的SD存储卡是一个复合机器101的制造商提供给复合机器101的销售商的卡。图12B中显示的SD存储卡602存储SD存储卡服务程序文件(SD服务程序文件)701和PDID文件703。 图12C中显示的SD存储卡是一个复合机器101的销售商提供给复合机器101的用户的卡。在图12C的SD存储卡602中,两个SDK应用程序702A和702B被添加到图12B的SD存储卡602。 图12D中显示的SD存储卡602是一个在用户侧其中已经执行PDID注册过程的卡。在图12D显示的SD存储卡602中,SDK应用程序的PDID值被注册到图12C的SD存储卡602中的PDID文件703中。 类似于第一示例,SD服务程序文件701是复合机器101检查SD存储卡602的有效性的文件,SDK应用程序文件702存储SDK应用程序。此外,类似于第一示例,PDID文件703是用于存储SDK应用程序的PDID(产品ID)的文件,其中PDID是SDK应用程序的ID(识别信息)。 为了在PDID文件703中存储PDID,通过使用专用于复合机器101的密钥(种子)加密该PDID。在此示例中,通过使用复合机器101的机器号生成密钥(加密数据)。例如,该密钥是机器号的校验和(8位)。此外,该密钥不仅用于加密还用于解码。除了使用机器号之外,能够使用专用于每个机器的信息,例如MAC地址或IP地址。通过使用密钥以字节为单位对PDID执行EOR(异或)运算来执行PDID的加密。如上所述,通过使用密钥加密SDK应用程序的PDID,能够防止对PDID文件703的篡改。此外,通过使用专用于每个复合机器101的密钥对SDK应用程序的PDID进行加密,限制了在另一个复合机器上使用该SD存储卡,另一个复合机器可以与该复合机器101的模式相同或者可以是该复合机器101的相关模式。同样的配置还能够用于除了复合机器之外的图像形成装置(信息处理装置),例如,复印机、打印机、扫描仪、传真机或类似物。 与第一示例类似,PDID文件703存储了一致性检查数据711、最大应用程序数712、注册的应用程序数713和PDID 714。 接下来说明PDID注册过程和应用程序有效性确定过程的示例。 这些过程由VAS 135执行。图13表示由VAS 135执行的处理的流程图。图14是VAS 135实现的功能的功能性框图。如图14所示,复合机器101包括卡有效性检查部分901,种子生成部分902、PDID文件一致性检查部分903、PDID加密部分911、PDID注册部分912、PDID解码部分921和应用程序有效性确定部分922。 在SD存储卡602插入复合机器101中的SD存储卡槽601的状态下,当接通复合机器101的电源时,图13的过程由VAS 135执行。 首先,与第一示例类似,在步骤11中卡有效性检查部分901检查SD存储卡602的有效性。当在步骤11中确定SD存储卡有效时,过程进行到步骤13(在步骤12中)。 接下来,在步骤13中种子生成部分902生成专用于复合机器101的密钥(种子)。通过使用复合机器101的机器号生成该密钥。例如,该密钥是机器号的校验和(8位)。该密钥可用于加密和解码。如上所述,除了机器号之外,也可以使用专用于复合机器101的信息,例如,MAC地址或IP地址。在此示例中,种子生成部分902通过使用复合机器101的机器号934生成密钥(种子)933。 接下来,与第一示例类似,在步骤14中PDID文件一致性检查部分903基于一致性检查数据711,检查SD存储卡602与PDID文件703之间的一致性。类似于第一示例,当在步骤14中检查到SD存储卡602与PDID文件703一致时,过程进行到步骤16(步骤15)。 接下来,也与第一示例类似,在步骤16中VAS 135基于PDID文件703中的注册的应用程序数713,检查SD存储卡602中的PDID文件703是处在初始状态还是处在注册状态。当检查到PDID文件703处于初始状态时,按顺序执行PDID注册过程(步骤17)和应用程序有效性确定过程(步骤18)。当检查到PDID文件703处于注册状态时,不执行PDID注册过程但是执行应用程序有效性确定过程(步骤18)。 下面说明PDID注册过程(步骤17)。在步骤16之后,PDID注册部分912将存储在SDK应用程序文件702中的SDK应用程序的PDID注册到SD存储卡602的PDID文件703中。PDID加密部分911使用种子生成部分902生成的种子933对存储在SDK应用程序文件702中的SDK应用程序的PDID进行加密。与第一示例相同,通过使用PDID注册部分912将加密的PDID注册到PDID文件703中。 接下来说明应用程序有效性确定过程(步骤18)。在步骤16之后,应用程序有效性确定部分922通过确定SDK应用程序的PDID是否在SD存储卡602的PDID文件703中被注册,确定存储在SDK应用程序文件702中的SDK应用程序的有效性。由于PDID文件703中的SDK应用程序的PDID使用种子(密钥)933加密,所以类似于第一示例,PDID解码部分921使用种子933对加密的PDID进行解码。 接下来参照图15的程序示意图说明PDID注册过程(步骤17)的细节。 如步骤11所述,在步骤101中当SD服务程序文件701中的SD服务程序被启动时,在步骤102中SD服务程序将SD服务程序的启动通知给VAS135。接下来,如步骤13所述,在步骤103中VAS 135生成种子。接下来,如步骤14所述,在步骤104中VAS 135检查SD存储卡602与PDID文件703之间的一致性。同样如上所述的执行步骤12、15和16中的前述条件分支过程。 接下来,在步骤105中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。至于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤106中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤107中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤17所述,VAS 135在步骤108中使用种子加密PDID,并在步骤109中在PDID文件703中注册加密的PDID。然后,在步骤110中VAS 135结束SDK应用程序的暂时启动。 下面参照图16的程序示意图说明应用程序有效性确定过程(步骤18)的细节。 如步骤11所述,在步骤201中当SD服务程序文件701中存储的SD服务程序被启动时,在步骤202中SD服务程序将该启动通知给VAS 135。接下来,如步骤13所述,在步骤203中VAS 135生成种子。接下来,如步骤14所述,在步骤204中VAS 135检查SD存储卡602与PDID文件703之间的一致性。同样如上所述的执行步骤12、15和16中的前述条件分支过程。 接下来,在步骤205中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。对于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤206中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤207中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤18所述,在步骤208中VAS 135解码PDID文件703中注册的PDID,在步骤209中通过比较在步骤207中获得的PDID与在步骤208中获得的PDID确定SDK应用程序的有效性。 接下来,在步骤210中VAS 135从已经被确定为有效的SDK应用程序中获得SDK应用程序的应用程序信息。此时,在步骤211中复合机器101的管理员能够操作复合机器101以在操作面板202上显示选择屏幕,用于在已经被确定为有效的SDK应用程序中选择将被设置启动权限的SDK应用程序。在步骤212中复合机器101的管理员通过操作该操作面板能够选择目标SDK应用程序。然后,VAS 135将选择的SDK应用程序的PDID注册在HDD 233中(或非易失性存储器(快速存储器和类似物)),以便在步骤213中能够设置SDK应用程序的启动权限。如果在插入SD存储卡槽601的SD存储卡中的SDK应用程序中设置启动权限,则复合机器101从SD存储卡602中启动SDK应用程序,其中该SDK应用程序被载入MEM-P231或MEM-C 232中。 (3)第三示例 在此示例中说明了商业模式的例子,其中销售商取代制造商开发复合机器101的SDK应用程序,销售商向用户分发SD存储卡,以便用户通过使用SD存储卡602将SDK应用程序输入到复合机器101中。 图17A中显示的SD存储卡602是市场上的SD存储卡。 复合机器101的销售商将两个SDK应用程序(SDK应用程序文件A 702A和SDK应用程序文件B 702 B)和PDID文件703存储在图17B和17C所示的SD存储卡602中。至于图17B的SD存储卡602,仍然没有执行PDID注册过程。至于图17C的SD存储卡602,已经执行了PDID注册过程。 如稍后所述,复合机器101能够执行PDID注册过程。PDID注册过程可以在复合机器101的销售商位置处由复合机器101执行,或者在复合机器101的用户位置处由复合机器101执行。在此示例中,PDID注册过程在销售商位置处由复合机器101执行。因此,图17C中显示的是销售商分发给用户的SD存储卡。 SDK应用程序文件702是由复合机器101的销售商开发的文件,图17B所示的PDID文件703是复合机器101的制造商提供给销售商的文件。在图17C所示的PDID文件703中,包括了SDK应用程序的PDID。 稍后说明图17D1和17D2所示的SD存储卡602。 类似于第一示例,SDK应用程序文件702是存储SDK应用程序的文件。PDID文件703是用于存储SDK应用程序的PDID(产品ID)的文件,其中PDID是SDK应用程序的ID(识别信息)。SD存储卡602被配置成销售商能够将PDID文件703(制造商提供给销售商的)写入SD存储卡602中。在此商业模式的示例中,PDID注册过程在销售商位置处的复合机器101中执行,应用程序有效性确定过程在用户位置处的复合机器中执行。 为了在PDID文件703中存储PDID,使用专用于SD存储卡602的密钥(种子)加密该PDID。在此示例中,使用SD存储卡602的SD连续ID生成密钥(加密数据)。例如,该密钥是SD连续ID的校验和(8位)。此外,密钥不仅用于加密还用于解密。通过对PDID和密钥执行逐字节的EOR(异或)运算来执行PDID的加密。如上所述,通过使用密钥加密SDK应用程序的PDID,能够防止对PDID文件703的篡改。此外,通过使用专用于SD存储卡602的密钥对SDK应用程序的PDID进行加密,能够防止PDID文件703的未授权复制。 例如,如图17D1所示,如果将已经执行了PDID注册过程的第一SD存储卡中的所有文件复制到第二SD存储卡,由于第一SD存储卡与第二SD存储卡之间的SD连续ID是不同的以致于密钥是不同的,所以在应用程序有效性确定过程中第二SD存储卡被确定为无效。因此,防止了在任何复合机器101中使用第二SD存储卡。 此外,例如,如图17D2所示,如果在其上已经执行了PDID注册过程的第一SD存储卡602中只有SDK应用程序文件702被复制到第二SD存储卡602,由于第二SD存储卡不包括PDID文件703,所以不能对第二SD存储卡执行应用程序有效性确定过程。因此,限制了在复合机器101中使用第二SD存储卡。 PDID文件703包括注册检查数据711、注册的应用程序数713和PDID714。 复合机器101使用注册检查数据711检查PDID注册过程是否已经执行。图17B的PDID文件703中的注册检查数据711指示“还没有执行”,图17C的PDID文件703中的注册检查数据711指示“已经执行”。 接下来说明PDID注册过程和应用程序有效性确定过程的示例。 这些过程由VAS 135执行。图18表示由VAS 135执行的处理的流程图。图19是VAS 135实现的功能的功能性框图。如图19所示,复合机器101包括注册检查部分901,种子生成部分902、注册状态注册部分903、PDID加密部分911、PDID注册部分912、PDID解码部分921和应用程序有效性确定部分922。 在SD存储卡602插入复合机器101中的SD存储卡槽601的状态下,当接通复合机器101的电源时,图18的过程由VAS 135执行。 首先,在步骤11中VAS 135检查SD存储卡602中是否存在PDID文件703。当SD存储卡602中存在PDID文件703时,过程进行到步骤12。当SD存储卡602中不存在PDID文件703时,不执行PDID注册过程或应用程序有效性确定过程,所以图18的整个过程结束。 接下来,在步骤12中,注册检查部分901基于SD存储卡602的PDID文件703中的注册检查数据711,检查SD存储卡602的PDID注册过程是否已经执行。当在步骤13确定没有执行PDID注册过程时,将按顺序执行种子生成过程(步骤14)、PDID注册过程(步骤15)和注册状态注册过程(步骤16)。当确定已经执行PDID注册过程时,将按顺序执行种子生成过程(步骤14)和应用程序有效性确定过程(步骤17)。在此商业模式的示例中,前面的步骤14、15和16在销售商位置处的复合机器101中执行,稍后的步骤14和17在用户位置处的复合机器101中执行。 下面说明种子生成过程。 在步骤13之后,种子生成部分902生成专用于SD存储卡602的密钥(种子)。通过使用SD存储卡602的SD连续ID生成该密钥。例如,该密钥是SD连续ID的校验和(8位)。该密钥可用于加密和解码。在此示例中,种子生成部分902通过使用SD连续ID 932生成密钥(种子)931。 下面说明PDID注册过程。在步骤14之后,PDID注册部分912将存储在SDK应用程序文件702中的SDK应用程序的PDID注册到SD存储卡602的PDID文件703中。PDID加密部分911使用种子生成部分902生成的种子931对存储在SDK应用程序文件702中的SDK应用程序的PDID进行加密。通过使用PDID注册部分912将加密的PDID注册到PDID文件703中。 接下来说明注册状态注册过程。在步骤15之后,注册状态注册部分903注册指示已经对SD存储卡602执行PDID注册过程的信息,作为注册检查数据711。以此方式,当PDID文件703中的注册检查数据711从“还没有执行”变为“已经执行”时,在复合机器101的下一次接通时不执行PDID注册过程。 接下来说明应用程序有效性确定过程(步骤17)。在步骤14之后,应用程序有效性确定部分922通过确定SDK应用程序的PDID是否在SD存储卡602的PDID文件703中被注册,来确定存储在SDK应用程序文件702中的SDK应用程序的有效性。由于PDID文件703中的SDK应用程序的PDID利用种子(密钥)931加密,所以PDID解码部分921使用种子931对加密的PDID进行解码。 接下来参照图20说明PDID注册过程(步骤15)的细节。 如步骤12所述,在步骤101中当SD存储卡602中存在PDID文件703时,VAS 135检查PDID注册过程是否已经执行。接下来,如步骤14所述,在步骤102中VAS 135生成种子。也可以如上所述的执行步骤11和13中的前述条件分支过程。 接下来,在步骤103中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。对于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤104中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤105中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤15所述,VAS 135在步骤106中使用种子加密PDID,并在步骤107在PDID文件703中注册加密的PDID。然后,如步骤16所述,在步骤108中VAS 135在PDID文件703中注册指示PDID注册过程已经执行的信息作为注册检查数据。然后,在步骤109中VAS 135结束SDK应用程序的暂时启动。 下面参照图21的程序示意图说明应用程序有效性确定过程(步骤17)的细节。 如步骤12所述,在步骤201当SD存储卡602中存在PDID文件703时,VAS 135检查PDID注册过程是否已经执行。接下来,如步骤14所述,在步骤202中VAS 135生成种子。同样如上所述的执行步骤11和13中的前述条件分支过程。 接下来,在步骤203中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。对于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤204中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤205中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤17所述,在步骤206中VAS 135解码PDID文件703中注册的PDID,在步骤207中通过比较在步骤205获得的PDID与在步骤206获得的PDID确定SDK应用程序的有效性。 接下来,在步骤208中VAS 135从已经被确定为有效的SDK应用程序中获得SDK应用程序的应用程序信息。此时,在步骤209中复合机器101的管理员能够操作复合机器101在操作面板202上显示选择屏幕,用于在已经被确定为有效的SDK应用程序中选择将被设置启动权限的SDK应用程序。在步骤210中复合机器101的管理员通过操作该操作面板能够选择目标SDK应用程序。然后,VAS 135将选择的SDK应用程序的PDID注册在HDD 233中(或非易失性存储器(快速存储器和类似物)),以便在步骤211中能够设置SDK应用程序的启动权限。当在插入SD存储卡槽601的SD存储卡中的SDK应用程序设置启动权限时,复合机器101从SD存储卡620中启动SDK应用程序,其中该SDK应用程序被载入MEM-P 231或MEM-C 232中。 (4)第四示例 在此示例中参照图22A-22E2说明了商用模式的例子,其中销售商取代制造商开发SDK应用程序,并向用户分发SD存储卡,以便用户通过使用SD存储卡602将SDK应用程序输入到复合机器101。 图22A中显示的SD存储卡602是市场上的SD存储卡。 复合机器101的销售商将SDK应用程序(SDK应用程序文件A 702A和SDK应用程序文件B 702B)和PDID文件703存储在图22B、22C和22D所示的SD存储卡602中。至于图22B的SD存储卡602,仍然没有执行PDID注册过程。至于图22C的SD存储卡602,已经执行了第一PDID注册过程(使用SD种子执行的PDID注册过程)。至于图22D的SD存储卡602,已经执行了第二PDID注册过程(使用机器种子执行的PDID注册过程)。 如稍后所述,PDID注册过程包括第一PDID注册过程和第二PDID注册过程,复合机器101能够执行PDID注册过程。PDID注册过程可以在复合机器101的销售商位置处由复合机器101执行,或者在复合机器101的用户位置处由复合机器101执行。在此示例中,第一PDID注册过程在销售商位置处由复合机器101执行,第二PDID注册过程在用户位置处由复合机器101执行。因此,图22C中显示的是销售商分发给用户的SD存储卡。 SDK应用程序文件702是由复合机器101的销售商开发的文件,图22B所示的PDID文件703是从复合机器101的制造商提供给销售商的文件。在图22C和22D所示的PDID文件703中,注册了SDK应用程序的PDID值。 稍后说明图22E1和22E2所示的SD存储卡602。 类似于第一示例,SDK应用程序文件702是存储SDK应用程序的文件。PDID文件703是用于存储SDK应用程序的PDID(产品ID)的文件,其中PDID是SDK应用程序的ID(识别信息)。SD存储卡602被配置成销售商能够将PDID文件703(制造商提供给销售商的)写入SD存储卡602中。在此商业模式的示例中,第一PDID注册过程在销售商位置处由复合机器101执行,第二PDID注册过程在用户位置处由复合机器101执行。 为了在PDID文件703中存储PDID,在第一PDID注册过程中使用专用于SD存储卡602的密钥(种子)加密该PDID,并注册该加密的PDID。此外,在第二PDID注册过程中使用专用于复合机器101本身的密钥(种子)加密该PDID,并注册该加密的PDID。在下文中,专用于SD存储卡602的种子被称作“SD种子”,专用于复合机器101的种子被称作“机器种子”。SD种子(加密数据)是使用SD存储卡602的SD连续ID生成的。例如,该密钥是SD连续ID的校验和(8位)。该密钥不仅用于加密还用于解密。机器种子(加密数据)是使用复合机器101的机器号生成的。例如,该密钥是机器号的校验和(8位)。该密钥不仅用于加密还用于解密。除了复合机器101的机器号之外,还能使用专用于复合机器101本身的其它信息,例如复合机器101的MAC地址或IP地址。通过对PDID和密钥执行以字节为单位的EOR(异或)运算来执行加密。如上所述,通过使用密钥加密SDK应用程序的PDID,能够防止对PDID文件703的篡改。此外,通过使用专用于SD存储卡602的密钥对SDK应用程序的PDID进行加密,能够防止PDID文件703的未授权复制。此外,通过使用专用于每个复合机器101的密钥对SDK应用程序的PDID进行加密,限制了在另一个复合机器中使用该SD存储卡,另一个复合机器可以与该复合机器101的模式相同或者可以是该复合机器101的相关模式。上述的配置还能够用于图像形成装置(信息处理装置),例如,复印机、打印机、扫描仪和传真机。 例如,如图22E1所示,如果将已经执行了PDID注册过程的第一SD存储卡中的所有文件复制到第二SD存储卡,由于第一SD存储卡与第二SD存储卡之间的SD连续ID是不同的以致于密钥是不同的,所以在应用程序有效性确定过程中将第二SD存储卡确定为无效的。因此,防止了在任何复合机器101中使用第二SD存储卡。 此外,例如,如图22E2所示,如果在其上已经执行了PDID注册过程的第一SD存储卡602中只有SDK应用程序文件702被复制到第二SD存储卡602,由于第二SD存储卡不包括PDID文件703,所以第二SD存储卡不能执行应用程序有效性确定过程。因此,限制了在任何复合机器101中使用第二SD存储卡。 与第一示例类似,PDID文件703包括注册检查数据711、注册的应用程序数据713和PDID 714。 复合机器101使用注册检查数据711检查是否已经对第一PDID注册过程或第二PDID注册过程执行PDID注册过程。图22B的PDID文件703中的注册检查数据711指示“还没有执行”,图22C的PDID文件703中的注册检查数据711指示“已经执行(第一)”,图22D的PDID文件703中的注册检查数据711指示“已经执行(第二)”。 接下来说明PDID注册过程和应用程序有效性确定过程的示例。 这些过程由VAS 135执行。图23表示由VAS 135执行的处理的流程图。图24是VAS 135实现的功能的功能性框图。如图24所示,复合机器101包括注册检查部分901,种子生成部分902、注册状态注册部分903、PDID加密部分911、PDID注册部分912、PDID解码部分921和应用程序有效性确定部分922。 在SD存储卡602插入复合机器101中的SD存储卡槽601的状态下,当接通复合机器101的电源时,图23的过程由VAS 135执行。 首先,在步骤11中VAS 135检查SD存储卡602中是否存在PDID文件703。当SD存储卡602中存在PDID文件703时,过程进行到步骤12。当SD存储卡602中不存在PDID文件703时,不执行PDID注册过程或应用程序有效性确定过程,所以图23的整个过程结束。 接下来,在步骤12中,注册检查部分901基于SD存储卡602的PDID文件703中的注册检查数据711,检查是否已经对于第一PDID注册过程或对于第二PDID注册过程执行PDID注册过程。当在步骤13确定还没有执行PDID注册过程时,将按顺序执行种子生成过程(步骤14A)、第一PDID注册过程(步骤15A)和第一注册状态注册过程(步骤16A)。当确定已经对第一PDID注册过程执行PDID注册过程时,将按顺序执行种子生成过程(步骤14A)、机器种子生成过程(步骤14B)、第二PDID注册过程(步骤15B)和第二注册状态注册过程(步骤16B)。当确定已经对第二PDID注册过程执行PDID注册过程时,将按顺序执行种子生成过程(步骤14A)和应用程序有效性确定过程(步骤17)。在此商业模式的示例中,步骤14A、15A和16A在销售商位置处的复合机器101中执行,步骤14A、14B、15B和16B在用户位置处的复合机器101中执行。步骤14B和17也在用户位置处的复合机器101中执行。 下面说明种子生成过程(步骤14A)。 在步骤13之后,种子生成部分902生成专用于SD存储卡602的密钥(SD种子)。通过使用SD存储卡602的SD连续ID生成该密钥。例如,该密钥是SD连续ID的校验和(8位)。该密钥可用于加密和解码。在此示例中,种子生成部分902通过使用SD连续ID 932生成SD种子931。 下面说明机器种子生成过程(步骤14B)。在步骤13之后,种子生成部分902生成专用于复合机器101的密钥(机器种子)。通过使用复合机器的机器号生成该密钥。例如,该密钥是机器号的校验和(8位)。该密钥可用于加密和解码。如上所述,除了机器号之外,还能使用复合机器101的MAC地址或IP地址。在此示例中,种子生成部分902通过使用机器号934生成机器种子933。 下面说明第一PDID注册过程(步骤15A)。在步骤14A之后,PDID注册部分912将存储在SDK应用程序文件702中的SDK应用程序的PDID注册到SD存储卡602的PDID文件703中。PDID加密部分911使用种子生成部分902生成的种子931对SDK应用程序的PDID进行加密。通过使用PDID注册部分912将加密的PDID注册到PDID文件703中。 下面说明第二PDID注册过程(步骤15B)。在步骤14A和14B之后,PDID注册部分912将存储在SDK应用程序文件702中的SDK应用程序的PDID注册到SD存储卡602的PDID文件703中。PDID加密部分911使用种子生成部分902生成的机器种子933对存储在SDK应用程序文件702中的SDK应用程序的PDID进行加密。通过使用PDID注册部分912将加密的PDID注册到PDID文件703中。 接下来说明第一注册状态注册过程(步骤16A)。在步骤15A之后,注册状态注册部分903注册指示已经对SD存储卡602执行了第一PDID注册过程的信息,作为SD存储卡602的PDID文件703中的注册检查数据711。以此方式,当PDID文件703中的注册检查数据711从“还没有执行”变为“已经执行(第一)”时,在复合机器101的下一次接通时将不执行第一PDID注册过程,但是将执行第二PDID注册过程(步骤15B)。 接下来说明第二注册状态注册过程(步骤16B)。在步骤15B之后,注册状态注册部分903注册指示已经对SD存储卡602执行了的第二PDID注册过程的信息,作为SD存储卡602的PDID文件703中的注册检查数据711。以此方式,当PDID文件703中的注册检查数据711从“已经执行(第一)”变为“已经执行(第二)”时,在复合机器101的下一次接通时将不执行第一和第二PDID注册过程。 接下来说明应用程序有效性确定过程(步骤17)。在步骤14B之后,应用程序有效性确定部分922通过确定SDK应用程序的PDID是否在SD存储卡602的PDID文件703中被注册,确定存储在SDK应用程序文件702中的SDK应用程序的有效性。由于PDID文件703中的SDK应用程序的PDID被机器种子(密钥)933加密,所以PDID解码部分921使用机器种子933对加密的PDID进行解码。 接下来参照图25的程序示意图说明第一PDID注册过程(步骤15A)的细节。 如步骤12所述,在步骤101中当SD存储卡602中存在PDID文件703时,VAS 135检查是否已经对第一PDID注册过程或对第二PDID注册过程执行PDID注册过程。接下来,如步骤14A所述,在步骤102中VAS 135生成SD种子。也如上所述的执行步骤11和13中的前述条件分支过程。 接下来,在步骤103中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。对于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤104中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤105中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤15A所述,VAS 135在步骤106中使用SD种子加密PDID,并在步骤107中在PDID文件703中注册该加密的PDID。然后,如步骤16A所述,在步骤108中VAS 135在PDID文件703中注册指示第一PDID注册过程已经执行的信息作为注册检查数据。然后,在步骤109中VAS 135结束SDK应用程序的暂时启动。 接下来参照图26的程序示意图说明第二PDID注册过程(步骤15B)的细节。 在步骤201中当SD存储卡602中存在PDID文件703时,VAS 135检查是否已经对第一PDID注册过程或对第二PDID注册过程执行PDID注册过程。接下来,如步骤14A和14B所述,在步骤202中VAS 135生成SD种子,在步骤203中VAS 135生成机器种子。也上所述的执行步骤11和13中的前述条件分支过程。 接下来,在步骤204中VAS 135(PDID解码部分921)使用SD种子对通过SD种子加密的PDID进行解码。因此,VAS 135获得存储在SDK应用程序文件703中的SDK应用程序的PDID。接下来,如步骤15B所述,在步骤205中VAS 135(PDID加密部分921和PDID注册部分922)使用机器种子加密PDID,并在步骤206中将加密的PDID注册到PDID文件703中。接下来,如步骤16B所述,在步骤207中VAS 135(注册状态注册部分903)注册指示第二PDID注册过程已经执行的信息作为PDID文件703中的注册检查数据711。 下面参照图27的程序示意图说明应用程序有效性确定过程(步骤17)的细节。 如步骤12所述,在步骤301当SD存储卡602中存在PDID文件703时,VAS 135检查是否已经对第一PDID注册过程或对第二PDID注册过程执行PDID注册过程。接下来,如步骤14B所述,在步骤302中VAS 135生成机器种子。也如上所述的执行步骤11和13中的前述条件分支过程。 接下来,在步骤303中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。对于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤304中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤305中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤17所述,在步骤306中VAS 135解码PDID文件703中注册的PDID,在步骤307中通过比较在步骤305获得的PDID与在步骤306获得的PDID确定SDK应用程序的有效性。 接下来,在步骤308中VAS 135从已经被确定为有效的SDK应用程序中获得SDK应用程序的应用程序信息。此时,在步骤309中复合机器101的管理员能够操作复合机器101在操作面板202上显示选择屏幕,用于在已经被确定为有效的SDK应用程序中选择将被设置启动权限的SDK应用程序。在步骤310中复合机器101的管理员通过操作该操作面板能够选择目标SDK应用程序。然后,VAS 135将选择的SDK应用程序的PDID注册在HDD 233中(或非易失性存储器(快速存储器和类似物)),以便在步骤311中能够设置SDK应用程序的启动权限。如果在插入SD存储卡槽601的SD存储卡中的SDK应用程序被设置启动权限,复合机器101从SD存储卡620中启动SDK应用程序,其中该SDK应用程序被载入MEM-P 231或MEM-C 232中。 (5)第五示例 在此示例中参照图28A-28C说明使用的例子,其中SDK应用程序被添加(存储)到安装在复合机器101中的HDD 233。换言之,在此示例中HDD 233用作SDK应用程序的添加目的地(存储目的地)。 图28A示出了添加SDK应用程序之前的HDD 233。图28A中显示的HDD 233存储PDID文件703。 图28B示出了添加SDK应用程序之后的HDD 233。如图28B所示,两个SDK应用程序文件(SDK应用程序A 702A和SDK应用程序文件B 702B)被添加到图28A的HDD 233。也就是说,图28B的HDD 233包括两个SDK应用程序文件702和PDID文件703。 图28C所示的HDD 233是已经由复合机器101执行了PDID注册过程的HDD。在图28C所示的HDD 233中,SDK应用程序的PDID被注册在HDD 233的PDID文件703中。 SDK应用程序文件702是用于存储SDK应用程序的文件。如上所述,SDK应用程序是由专用SDK(软件开发包)生成的应用程序(131)。在此示例中,通过使用例如用于存储SDK应用程序文件702的SD存储卡的存储卡235将SDK应用程序文件702添加到HDD 233,其中该存储卡被插到存储卡槽234中。SDK应用程序文件702是SDK应用程序的可执行文件。 SDK应用程序文件702包括复合机器101用于识别SDK应用程序文件702是SDK应用程序文件的识别码。该识别码存储在SDK应用程序文件702中的预定的区域,例如,识别码存储在该文件的最初几个字节。复合机器101通过检查文件是否含有识别码来识别SDK应用程序文件702。 PDID文件703是用于存储SDK应用程序的PDID(产品ID)的文件,其中PDID是SDK应用程序的ID(识别信息)。具体言之,PDID文件703是用于注册SDK应用程序的PDID的文件,SDK应用程序存储在HDD 233的SDK应用程序文件中。复合机器101执行用于在HDD 233中的PDID文件703中注册PDID的PDID注册过程。此外,复合机器101执行应用程序有效性确定过程,用于通过检查SDK应用程序的PDID是否注册在HDD 233中的PDID文件703内,确定SDK应用程序文件702内的SDK应用程序的有效性。如果应用程序有效性确定过程确定SDK应用程序是有效的,则复合机器101对SDK应用程序执行启动过程以及启动权限设置过程。能够从SDK应用程序文件702获得存储在SDK应用程序文件702中的SDK应用程序的PDID。 为了在PDID文件703中存储PDID,通过使用专用于复合机器101的密钥(种子)加密该PDID。在此示例中,通过使用复合机器101的机器号生成密钥(加密数据)。例如,该密钥是机器号的校验和(8位)。如上所述,除了机器号之外,能够使用MAC地址或IP地址。此外,密钥不仅用于加密还用于解密。通过对PDID和密钥以字节为单位执行EOR(异或)运算来执行PDID的加密。如上所述,通过使用密钥加密SDK应用程序的PDID,能够防止对PDID文件703的篡改。此外,通过使用专用于复合机器101的密钥对SDK应用程序的PDID进行加密,能够限制在另一个复合机器中使用该HDD 233,另一个复合机器可以与该复合机器101的模式相同或者可以是该复合机器101的相关模式。同样的配置还能够用于除了复合机器之外的图像形成装置(信息处理装置),例如,复印机、打印机、扫描仪、传真机或类似物。与第一示例和第三示例相同,可以由专用于HDD 233的密钥(种子)加密PDID。 PDID文件703包括最大应用程序数712、注册的应用程序数713和PDID 714。 最大应用程序数712是PDID文件703中能够注册的PDID的最大数(上限)。也就是说,最大应用程序数712是能够有效写入HDD 233的SDK应用程序(SDK应用程序文件702)的最大数(上限)。在此示例中,图28A-28C所示的PDID文件703中的最大应用程序数712是2。最大应用程序数712由种子(密钥)加密并被存储。 注册的应用程序数713是PDID文件703中注册的多个PDID。也就是说,注册的应用程序数713是已经写入HDD 233中的多个有效SDK应用程序。在PDID注册过程中,复合机器101在PDID文件703中注册多个PDID作为注册的应用程序数713。图28A和28B所示的PDID文件703中注册的应用程序数713是0,图28C所示的PDID文件703中注册的应用程序数713是2。注册的应用程序数713由种子(密钥)加密并被注册。注册的应用程序数713是0的状态被称作“初始状态”,注册的应用程序数713不是0的状态被称作“注册状态”。 PDID 714是用于注册SDK应用程序的PDID(产品ID)的注册字段。具体言之,PDID 714是用于注册存储在HDD 233的SDK应用程序文件702中的SDK应用程序的PDID(产品ID)的注册字段。图28A和28B所示的PDID 714中还没有注册任何的PDID。在图28C的PDID 714中,注册了SDK应用程序的PDID(存储在SDK应用程序文件A 702A中的SDK应用程序A的PDID,和存储在SDK应用程序文件B 702B中的SDK应用程序B的PDID)。在图28A和28B的PDID文件703中的PDID 714中存储了代替实际PDID的伪ID,其中伪ID的数据量与PDID的数据量相同。当PDID存储在PDID文件703中时,伪ID被PDID替换。通过采用此种配置,在存储PDID之前和存储PDID之后能够防止由于数据量之间的不同导致的检测PDID注册过程的存在。PDID 714中注册的PDID由种子(密钥)按照如上所述方法加密。 接下来说明PDID注册过程和应用程序有效性确定过程的示例。 这些过程由VAS 135执行。图29表示由VAS 135执行的处理的流程图。图30是由VAS 135实现的功能的功能性框图。如图30所示,复合机器101包括种子生成部分902、PDID加密部分911、PDID注册部分912、PDID解码部分921和应用程序有效性确定部分922。 在SDK应用程序文件702添加到复合机器101中的HDD 233的状态下,当接通复合机器101的电源时,图29的过程由VAS 135执行。 首先,在步骤11中种子生成部分902生成专用于复合机器101的密钥(种子)。通过使用复合机器101的机器号生成该密钥。例如,该密钥是机器号的校验和(8位)。该密钥用于加密和解码。除了机器号之外,还能够使用MAC地址或IP地址。在此示例中,种子生成部分902通过使用复合机器101的机器号934生成密钥(种子)933。 接下来,在步骤12中VAS 135基于PDID文件703中注册的应用程序数,检查HDD 233中的PDID文件703是处于初始状态还是处于注册状态。当确定PDID文件703处于初始状态时,按顺序执行PDID注册过程(步骤13)和应用程序有效性确定过程(步骤14)。当确定PDID文件703处于注册状态时,不执行PDID注册过程但是执行应用程序有效性确定过程(步骤14)。如果不执行基于初始状态或注册状态的条件分支,条件分支可以是基于注册的应用程序数713是否小于最大应用程序数。 下面说明PDID注册过程(步骤13)。在步骤12之后,PDID注册部分912将存储在SDK应用程序文件702中的SDK应用程序的PDID注册到HDD 233的PDID文件703中。PDID加密部分911使用种子生成部分902生成的种子933对存储在SDK应用程序文件702中的SDK应用程序的PDID进行加密。通过使用PDID注册部分912将加密的PDID注册到PDID文件703中。 在PDID注册过程(步骤13)中,PDID注册部分912在PDID文件703中注册多个PDID作为PDID文件703中的注册的应用程序数713。如上所述,PDID文件703从初始状态进入注册状态。从步骤12明显看出,在下一次接通电源时将不执行PDID注册过程。 接下来说明应用程序有效性确定过程(步骤14)。在步骤12之后,应用程序有效性确定部分922通过确定SDK应用程序的PDID是否在HDD233的PDID文件703中被注册,确定存储在SDK应用程序文件702中的SDK应用程序的有效性。由于PDID文件703中的SDK应用程序的PDID利用种子(密钥)933加密,所以PDID解码部分921将使用种子933对加密的PDID进行解码。 在应用程序有效性确定过程确定了SDK应用程序文件702中的SDK应用程序有效的条件下,复合机器101对应用程序执行启动过程或启动权限设置过程。也就是说,限制将没有执行应用程序有效性确定过程的SDK应用程序,或者被应用程序有效性确定过程确定为无效的SDK应用程序载入MEM-P 231或MEM-C 232中。如上所述,能够防止HDD 233中的数据被非法复制和使用以致于程序被无效地输入到复合机器101中。 执行PDID注册过程和应用程序有效性确定过程的优点的一个例子是防止了HDD 233中的SDK应用程序文件702的未授权的替换。例如,即使购买了廉价SDK应用程序文件并将其添加到HDD 233的用户使用未授权复制的昂贵的SDK应用程序替换该SDK应用程序,用户也不能使用昂贵的SDK应用程序,这是因为应用程序的ID是不同的,所以昂贵的SDK应用程序不能通过应用程序有效性确定过程。 在不管PDID文件703的最大应用程序数712是1还是大于1的情况下能够实现上述的优点。 接下来参照图31的程序示意图说明PDID注册过程(步骤13)的细节。 如步骤11所述,在步骤101中VAS 135生成种子。也如上所述的执行步骤12中的前述条件分支过程。 接下来,在步骤102中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。至于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤103中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤104中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤13所述,VAS 135在步骤105中使用种子加密PDID,并在步骤106在PDID文件703中注册该加密的PDID。然后,在步骤107中VAS 135结束SDK应用程序的暂时启动。 下面参照图32的程序示意图说明应用程序有效性确定过程(步骤14)的细节。 如步骤11所述,在步骤201中VAS 135生成种子。也如上所述的执行步骤12中的前述条件分支过程。 接下来,在步骤202中VAS 135检查存储在SDK应用程序文件702中的识别码。VAS 135通过确定该文件是否存储识别码来确定文件是否是SDK应用程序文件702。对于不含有识别码的文件,不执行PDID注册过程和应用程序有效性确定过程。 接下来,在步骤203中VAS 135暂时启动存储在SDK应用程序文件702中的SDK应用程序。因此,在步骤204中VAS 135从SDK应用程序中获得SDK应用程序的PDID。接下来,如步骤14所述,在步骤205中VAS 135解码PDID文件703中注册的PDID,在步骤206中通过比较在步骤204获得的PDID与在步骤205获得的PDID确定SDK应用程序的有效性。 接下来,在步骤207中VAS 135从已经被确定为有效的SDK应用程序中获得SDK应用程序的应用程序信息。此时,在步骤208中复合机器101的管理员能够操作复合机器101在操作面板202上显示选择屏幕,用于在已经被确定为有效的SDK应用程序中选择将被设置启动权限的SDK应用程序。在步骤209中复合机器101的管理员通过操作该操作面板能够选择目标SDK应用程序。然后,VAS 135将选择的SDK应用程序的PDID注册在HDD 233中(或非易失性存储器(快速存储器和类似物)),以便在步骤210中能够设置SDK应用程序的启动权限。如果HDD 233中的SDK应用程序被设置启动权限,则复合机器101能从HDD 233中启动SDK应用程序,其中该SDK应用程序被载入MEM-P 231或MEM-C 232中。 (6)图像形成过程 参照第一至第五示例说明复合机器101中执行的图像形成过程。 图33是用于说明VAS 135为图像形成过程生成密码941的示意图。 在此示例中,当从文件读取将被存储在复合机器中的图像数据时,扫描仪应用程序143将VAS 135生成的密码941添加到图像数据,以便用该密码(密码锁)锁住图像数据。以同样方式,当从网络接收图像数据时,每个传真应用程序144和网络文件应用程序145用该密码941锁住图像数据。 在此示例中,当在打印纸上打印存储在复合机器中的图像数据时,打印机应用程序142通过比较VAS 135生成的密码与图像数据附带的密码来执行图像数据的密码检查。以同样的方式,当将存储在复合机器101中的图像数据发送到网络时,每个传真应用程序144和网络文件应用程序145通过比较VAS 135生成的密码与图像数据附带的密码来执行图像数据的密码检查。 密码941可以专用于设置在复合机器101的SD存储卡槽601中的SD存储卡602。在此情况下,如果从图像数据的读取过程或接收过程的结束到打印过程或发送过程的开始SD存储卡被换成另一个SD存储卡,则不能执行打印过程或发送过程。因此,通过提供独特的密码,能够防止改变SD存储卡602。按照这种配置上述示例的优点能够变得更加有效。例如,通过使用SD连续ID生成密码941。上述结构能够用于防止HDD 233的未授权的替换。 密码941可以专用于复合机器101本身。在此情况下,甚至当存储图像数据的HDD 233从另一个机器移到复合机器101时,复合机器101也不能执行图像数据的打印过程或发送过程。因此,防止了HDD 233的替换。如果存在可以执行欺骗性的HDD 233的可能性,上述示例会更加有效,因为即使是图像形成过程还能够被限制在此配置中。例如,通过使用类似于密钥933的机器号生成密码941。上述的结构能够用于防止存储图像数据的SD存储卡602的未授权的替换。 图34是密码添加过程的流程图。 在步骤101中,例如打印机应用程序142的应用程序读取文件以生成将被保存在复合机器101中的图像数据,或者该应用程序从网络接收数据。然后,在步骤102中,VAS 135生成密码941。接下来,在步骤103中应用程序(打印机应用程序142或类似程序)将密码941添加到图像数据以锁住图像数据。接下来,图像数据被存储在复合机器101中。 图35是密码比较过程的流程图。 当从存储在复合机器101中的多幅图像数据中指定一幅将被打印或经过网络被发送的图像数据时,在步骤111中VAS 135生成密码941。接下来,在步骤112中例如打印机应用程序142的应用程序比较由VAS 135生成的密码与图像数据附带的密码,以检查图像数据的密码的有效性。接下来,如果密码检查成功通过,在步骤113中应用程序打印该图像数据或经过网络发送该图像数据。 图36是用于说明VAS 135为图像形成过程生成密钥942的示意图。 在此示例中,当从文件中读取将被存储在复合机器的图像数据时,扫描仪应用程序143通过使用VAS 135生成的密钥942将原始图像数据加密成加扰图像数据。以同样方式,当从网络接收图像数据时,传真应用程序144或网络文件应用程序145使用密钥942将原始图像数据加密成加扰图像数据。 当打印存储在复合机器101中的图像数据时,打印机应用程序142通过使用密钥941将加扰的图像数据解码成原始图像数据。以同样的方式,当将存储在图像形成装置101中的图像数据发送到网络时,传真应用程序144或网络文件应用程序145通过使用密钥941将加扰的图像数据解码成原始图像数据。 密钥941可以专用于设置在复合机器101的SD存储卡槽601中的SD存储卡602的数据。在此情况下,如果从图像数据的读取过程或接收过程的结束到打印过程或发送过程的开始SD存储卡被换成另一个SD存储卡,则不能执行打印过程或发送过程。因此,通过提供独特的密码,能够防止改变SD存储卡602。例如,通过使用类似于密钥931的SD连续ID生成密钥942。上述结构能够用于防止HDD 233的未授权的替换。 密钥942可以专用于复合机器101本身。在此情况下,甚至当存储图像数据的HDD 233从另一个机器移到复合机器101时,该复合机器也不能执行图像数据的打印过程或发送过程。因此,能够防止HDD 233的替换。例如,通过使用类似于密钥933的机器号生成密钥942。上述的结构能够用于防止SD存储卡602的未授权的替换。 图37是加密过程的流程图。 在步骤201中,当例如打印机应用程序142的应用程序读取将被保存在复合机器中的图像数据或者从网络接收图像数据时,在步骤202中VAS135生成密钥942。接下来,在步骤203中应用程序142使用密钥942加密图像数据。接下来,复合机器101存储该图像数据。 图38是解码过程的流程图。 当指定将被打印或经过网络被发送的图像数据时,在步骤211中VAS135生成密钥942。接下来,在步骤212中应用程序使用密钥942解码该图像数据。接下来,如果成功的执行了解码过程,在步骤213中应用程序打印该图像数据或经过网络发送图像数据。 在上述的图像形成过程中,密码941和密钥942都能够用于图像数据。此外,在图像形成过程中,当复合机器101中设置了多于一个的SD存储卡时,密码941或密钥942可以专用于预定的SD存储卡602。 复合机器101是本发明的信息处理装置的一个示例。复合机器101中执行的信息处理是本发明的信息处理方法的一个示例。VAS 135是本发明的信息处理程序的一个示例,存储VAS 135的SD存储卡是本发明的计算机可读介质的一个示例。 本发明不限于具体说明的示例,在不脱离本发明范围的情况下可以实施各种变化和修改。
《记录介质、存储单元、信息处理装置、方法及程序.pdf》由会员分享,可在线阅读,更多相关《记录介质、存储单元、信息处理装置、方法及程序.pdf(81页珍藏版)》请在专利查询网上搜索。
提供一种记录介质。该记录介质用于将使信息处理装置执行信息处理的程序输入到信息处理装置,其中记录介质包括用于存储程序ID的ID文件,其中该ID被使用专用于记录介质或专用于信息处理装置的密钥加密。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1