CN1677307A - 软件的正当性确认方法及执行软件的装置 - Google Patents

软件的正当性确认方法及执行软件的装置 Download PDF

Info

Publication number
CN1677307A
CN1677307A CNA2005100629014A CN200510062901A CN1677307A CN 1677307 A CN1677307 A CN 1677307A CN A2005100629014 A CNA2005100629014 A CN A2005100629014A CN 200510062901 A CN200510062901 A CN 200510062901A CN 1677307 A CN1677307 A CN 1677307A
Authority
CN
China
Prior art keywords
software
program
module
firming
firming legitimate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100629014A
Other languages
English (en)
Other versions
CN1322387C (zh
Inventor
牛久丰彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1677307A publication Critical patent/CN1677307A/zh
Application granted granted Critical
Publication of CN1322387C publication Critical patent/CN1322387C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C11/00Details of pavings
    • E01C11/22Gutters; Kerbs ; Surface drainage of streets, roads or like traffic areas
    • E01C11/224Surface drainage of streets
    • E01C11/227Gutters; Channels ; Roof drainage discharge ducts set in sidewalks
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03FSEWERS; CESSPOOLS
    • E03F3/00Sewer pipe-line systems
    • E03F3/04Pipes or fittings specially adapted to sewers
    • E03F3/046Open sewage channels

Abstract

本发明提供软件的正当性确认方法及执行软件的装置。在软件中包含用来确认该软件的正当性的正当性确认模块。提取该正当性确认模块,利用提取的正当性确认模块进行正当性的确认。于是,利用该确认结果,判断该软件的正当性。

Description

软件的正当性确认方法及执行软件的装置
技术领域
本发明涉及软件的正当性确认方法及执行软件的装置。
背景技术
以往,在预先将程序编入ROM(Read Only Memory:只读存储器)等之中而构成的被称为编入装置的电子装置中,在改变出厂时安装的程序的情况下,必须更换ROM等来改变硬件。然而,近年来,即使是这种编入装置,也可以像通用计算机那样构成电子器件,以使在出厂后对程序等软件进行安装或置换以便使用的例子正在增加。
因此,可以认为,在软件中,特别是在程序安装中,证明所安装的程序是正当程序,在将该程序安装到电子装置中之后执行时不会使该电子装置受到不良影响这一点是很重要的。
在因特网领域中,用来证明经因特网安装的程序是正当程序的方法有数种。下面对其中之一的Java(注册商标)的代码签名方法予以说明(所谓Java(注册商标),是SUN Microsystems开发的编程语言,是SUN Microsystems的注册商标)。
Java(注册商标)程序大多是以称为Jar文件的文件形式进行分发的。在Java(注册商标)中,在此Jar文件上签名。此处所说的所谓签名是数字签名,数字签名是根据在Jar文件中存放的内容数据和实体(公司或个人等等)持有的非公开密钥计算出的位串,内容数据不同时,数字签名的位串也不同。
Java(注册商标)程序的开发者,为了证明签名是真实的,必须具有与非公开密钥成对的公开密钥和为证明该公开密钥由权威认证机构发行的证书。为了得到此证书,开发者要向认证机构提供用来确定开发者本身的个人信息等等。
通过在Jar文件上实现这种签名,可以识别所安装的Java(注册商标)程序是可以信赖的代码,并且,可由签名者改变赋予程序的权限。
另外,许可执行所安装的程序的方法,在US P5812980及特开平2-31227号公报及特开平10-187433号公报等中有记述。任何一种方法的构成都是当安装的程序及电子装置持有的特定信息及从外部给予的执行许可用的关键词等受到在电子装置中从最初就存在的程序(进行安装的安装程序等)或所安装的程序本身的确认,当其为正当时,才许可执行所安装的程序。
另外,在US P5802275及特开2000-322254号公报中还记述了在所安装的程序本身经过加密,并在安装之际在使用电子装置可使用的译码用的密钥进行译码之后进行安装的方法。
然而,作为在将程序安装到电子装置中之际作为用来证明该程序是正当程序的方法,在使用上述以往的代码签名方法的情况下,是可以确定进行了代码签名的签名者(程序开发者)的,但不能证明该签名者对于安装程序的电子装置来说是否可以信赖。所以,就存在在程序安装时,即使是不进行该程序的开发者对于上述电子装置是否是可以信赖的确认,通过只进行签名就信赖该开发者而必须进行安装的问题。
此外,这就存在为了查清签名的可靠性,就必须访问因特网上存在的认证机构判明签名附带的证书是真实的,而在不能联网的状态下,即在离线时没有调查签名是否真实的办法的问题。
另外存在,在上述US P5812980等之中公开的以往的程序执行许可机构中,在许可中使用的数据(上述特定的信息及上述关键词单等等)被固定,比如,即使是打算使用更强的密码算法也不能使用等等缺乏灵活性的问题。
此外,如上述的US P5802275等之中所公开的,还存在在装载加密的程序时经过译码进行安装的方法中,由于会立即将包含不需要的程序模块的全部程序在安装时进行译码,而译码需要花费时间,会使安装时间增加的问题。
发明内容
本发明的目的是简单灵活地保证程序的可靠性。
另外,本发明的另一目的是由电子装置的制造厂对安装于电子装置中的软件是对电子装置正常生成的这一点进行认证。
本发明的另一目的是提供一种从软件中提取用于确认该软件的正当性的正当性确认模块;判断由上述提取步骤提取的正当性确认模块的确认结果的软件的正当性确认方法。
本发明是一种具有存储软件的存储单元,以及执行存储于上述存储单元中的软件的执行单元;其中,上述执行单元,从存储于上述存储单元中的软件中,提取用于确认该软件的正当性的正当性确认模块;并判断所提取的正当性确认模块的确认结果的装置。
另外,本发明的其他目的可由以下的实施例说明得到了解。
附图说明
图1为示出实施方式的信息处理系统的主要部分的结构框图。
图2为示出在实施方式中使用的档案文件(ArchiveFile)的结构的示图。
图3为示出实施方式1的处理的流程图。
图4为示出实施方式2的处理的流程图。
具体实施方式
[实施方式1]
图1为示出具有执行本发明的软件的装置的一个例子的电子装置的信息处理系统的主要部分的结构框图。
在同图中,此信息处理系统是由执行所安装的程序的电子装置1010与连接到电子装置1010并指示程序安装的个人计算机(PC)1020经过网络1040相连接而构成的。
在PC1020内,存放应该安装到电子装置1010中的程序文件1030。另外,在电子装置1010内,用于控制电子装置1010的控制部1050、存放由控制部1050所执行的程序的程序存储部1060及经网络1040与外部进行通信的通信部1070经由总线1080相连接。在控制部1050中用于解释执行Java(注册商标)程序的Java(注册商标)虚拟机进行(以下称其为JVM)工作,可执行Java(注册商标)程序。控制部1050是从程序存储部1060中读出存储于程序存储部1060中的程序并进行处理的计算机。电子装置1010一个例子是具有打印机功能和扫描仪功能的装置,但本发明并不限定于这种装置。
程序安装以如下方式进行。即,PC1020经由通信部1070与控制部1050进行通信,将存在于PC1020中的程序文件1030发送到电子装置1010。于是,接受程序文件1030的数据(程序)的控制部1050,将该数据(程序)作为具有下面说明的在图2中所示的格式结构的程序文件存放于程序存储部1060。另外,此处说明的是经网络1040来安装程序的示例,但本发明并不限定于经过这种网络来安装程序的系统,也可以应用从CD-ROM或DVD-ROM等存储媒体来安装程序的系统。
图2为示出在对图1所示的电子装置1010安装程序之际所使用的档案文件(ArchiveFile)的格式的示图。
在同图中,2010是档案文件(ArchiveFile),文件元素(FileElement)1,2,...,N-2,N-1,N具有线性排列的形式。2020表示各文件元素1~N的内容。各文件元素1~N分别由表示文件元素的开始的文件元素识别信息(File Element Signature)21、表示数据区的长度的数据长度信息(Data Length)22、表示文件名的长度的文件名长度信息(File Name Length)23、存放文件名的文件名字段(File Name)24及存放文件数据的数据字段(Data)25构成。
另外,图中的2030表示程序存放于数据字段中时的上述数据字段25的结构(内容)。此数据字段2030由存放在程序为明文时算出的消息摘要值的消息摘要值字段31和存放被加密的程序的程序字段32组成。另外,在本实施方式中,对加密程序的方式进行说明,但本发明,并不限定于这样的加密程序的方式,也可以不经过加密。
在作为档案文件(ArchiveFile)2010的文件元素存放Java(注册商标)类的情况下,作为此档案文件(ArchiveFile)2010的文件名使用将Java(注册商标)类的全名映射为文件名的名字。比如,在存在“com.xyz.aaa.bbb.Class1”的类时,作为文件名使用“com/xyz/aaa/bbb/Class1.class”这样的文件名。此文件名中的“/”表示是目录,“.class”表示Java(注册商标)程序是经过编译的程序的后缀。
图3为示出实施方式1的处理的流程图,具体言之,表示在电子装置1010中,在程序开始执行之际进行的处理。此流程图示出从PC1020向程序存储部1060安装的程序的一部分。作为计算机的控制部1050,从程序存储部1060读出此程序进行处理。程序存储部1060是让控制部1050可以读出程序的那样地存储的存储媒体。
用来保证软件的正当性的程序,由称为“com.xyz.check.Checklet”的Java(注册商标)类来实现。另一方面,软件的各种属性存放于称为声明清单(manifest)的特别的条目(Entry)中。在此声明清单中将表示是什么属性的属性名和表示其值的属性值的一对作为字符串存放。
首先,在步骤S3010中,调查是否存在检验程序(CheckProgram)的程序模块。即,以“com.xyz.check.Checklet”的文件名作为“com/xyz/check/Cheklet.Class”。于是,从档案文件(ArchiveFile)2010每次一个地取出文件元素2020,通过调查所取出的文件元素2020是否是持有上述文件名的文件元素2020来调查检验程序(CheckProgram)的存在。此检验程序(CheckProgram)是用于从存放于档案文件(ArchiveFile)2010中的软件中确认该软件的正当性的正当性确认模块。
在存在检验程序(CheckProgram)时,就进入到步骤S3020。在不存在时,就进入到步骤S3080。
在步骤S3020中,进行检验程序(CheckProgram)的译码。即,在步骤S3010中通过探索将发现的检验程序(CheckProgram)利用控制部1050保管的密钥进行译码,进入到步骤3030。另外,此示例是将检验程序(CheckProgram)进行加密并存放于程序字段32中的示例。译码的密钥,由系统库中存在的类(以下称其为密钥管理类)对访问进行管理。密钥管理类存在于“com.xyz.check”包中,用来访问密钥的方法(Method),利用只能从同一包内的类进行访问的方法(Method)取得,此方法(Method)不公开。
在步骤S3030中,在检验程序(CheckProgram)译码之后,计算消息摘要(MessageDigest)值。于是,将此计算值与作为检验程序(CheckProgram)的消息摘要(MessageDigest)存储于档案文件(ArchiveFile)中的消息摘要(MessageDigest)值字段2030的值进行比较。在计算的消息摘要(MessageDigest)值与存储于档案文件(ArchiveFile)中的消息摘要(MessageDigest)不同时,就可以认为对检验程序(CheckProgram)进行了篡改,于是进入步骤S3080。如果不是这样的情况就进入到步骤S3040。另外,在程序未加密的场合,不执行步骤S3020及步骤S3030,在步骤S3010中判断存在检验程序(CheckProgram)时,进入到步骤S3080。
在步骤S3040中,进行检验程序(CheckProgram)的装载/实例(Instantiate)化。即,将在步骤S3020中经译码的检验程序(CheckProgram)的类进行装载以便可由JVM执行。在装载之后,生成装载的类的实例(Instantiate),进入到步骤S3050。
在步骤S3050中,执行检验程序(CheckProgram)。具体地说,针对在步骤S3040中生成的实例,调用用来调查检验程序(CheckProgram)是否正当的正当性确认方法(Method)。将规定的字符串(比如,用来确定要动作的电子装置1010的型号的信息型号识别信息和用于电子装置的个体识别的序列号)作为变元转交给此正当性确认方法(Method)。
在正当性确认方法(Method)中,由作为变元转交的型号识别信息和系列号,可以判断是否可以由依照在声明清单(manifest)内记述的适合机种信息所指定的电子装置来执行程序。
此处所谓的适合机种信息,比如,是以下所示的信息。
conform_ models=ModelA(1000-),ModelB,ModelC(-5000)
就是说,适合机种信息是由可执行程序的型号识别信息的列表组成,在一部分型号中可以指定确定的序列号的范围。在上述的示例中,示出的是以“ModelA”型号的序列号大于等于1000号、“ModelB”型号及“ModelC”型号的序列号5000小于等于的机种为对象。正当性确认方法(Method),检查转交的字符串并将其结果返回。比如,如果可以执行时,将加密的电子装置的制造厂的数字签名返回。如果不能执行时,就返回null值。另外,用于确认此正当性的信息,并不限定于型号识别信息和序列号。也可以是型号识别信息和序列号中的一个,并且,也可以是预先规定的字符串。在预先规定的字符串的情况下,正当性确认方法(Method)判断转交的字符串和预先规定的字符串是否一致,并返回一致或不一致的判断结果。
在接着的步骤S3060中,进行上述检验程序(CheckProgram)的执行结果的确认。即,调查在步骤S3050中调用的正当性确认方法(Method)的执行结果,是否是执行环境所寻求的期待值。在本实施方式中,作为期待值使用电子装置的制造厂的公司所有的数字签名的加密签名。
所以,在将上述检验程序(CheckProgram)的执行结果利用控制部1050保管的密钥进行译码的结果与制造厂的数字签名一致时,认识到安装的是正常的程序,进入到步骤S3070。在不一致的场合,就看成所安装的是不正常的程序而进入到步骤S3080。另外,执行环境所寻求的期待值,并不限定于加密值。在未加密的情况下,在步骤S3060中,不进行译码。另外,执行环境所寻求的期待值,并不限定于数字签名,也可以是其他的值。
在步骤S3070中,从安装的软件的入口(EntryPoint)开始执行。入口(EntryPoint),在声明清单(manifest)中记述为属性,解释为属性值表示类,生成这一类的实例,通过调用其start方法(Method)而使软件启动。
在步骤S3080中,输出出错消息(errorMessage)。即,因为要启动的程序是非正常的程序,将表示程序启动失败的出错消息(errorMessage)作为在程序存储部1060存储的日志文件中的日志(LogFile)进行输出而不执行程序。
通过以上的处理流程,可以确认启动的软件的正当性。
按照本实施方式,在执行安装的程序时,从程序中提取用于确认程序的正当性的正当性确认模块,执行正当性确认模块,判断该执行结果是否为正常,只有在确认所安装的程序是正当的程序时,进行程序启动。由此,在将程序安装到电子装置之际,即使是不进行访问网络上的认证机构等等也可以很容易证明该程序的开发者是该电子装置的开发公司认定的开发者。就是说,由电子装置的制造厂认证所安装的程序是对电子装置正常生成的程序,可以简单灵活地实现安全的程序安装。另外,由于可以调查所安装的程序是否经过篡改,所以可以确保安装后的程序的正当性。
另外,在本实施方式中,通过对软件的存放文件的消息摘要(MessageDigest)值进行计算并将此消息摘要(MessageDigest)值与预先生成文件时经计算存放在文件中的值进行比较,可以确认软件未经过篡改。按照这种方法,存放于文件中的消息摘要(MessageDigest)值,只有利用控制部1050保管的用于译码的密钥才可能进行译码,可以使系统更加牢靠。
[实施方式2]
下面对实施方式2予以说明。
本实施方式的系统结构及档案文件(ArchiveFile)的结构分别如图1及图2所示,与实施方式1完全相同。
图4为示出实施方式2的处理的流程图,具体言之,表示在电子装置1010中,在程序执行开始之际进行的处理。在此处理中,从步骤S3010到步骤S3040及步骤S3080与图3所示的实施方式1相同。
下面只对不同的处理(步骤S3050A、步骤3060A及步骤3070A)进行说明。
在本实施方式的步骤S3050A中,对于由步骤S3040生成的实例,调用作为用来调查检验程序(CheckProgram)是否是正当程序的方法(Method)的正当性确认方法(Method)。将成为软件的入口(EntryPoint)的类的名称作为变元转交给此方法(Method)。入口(EntryPoint)在声明清单(manifest)中记述为属性,可通过解释属性值表示类而得到。
在正当性确认方法(Method)中,从档案文件(ArchiveFile)2010装载指定的类的数据。装载的类的数据借助于可以使用控制部1050保管的用于译码的钥进行译码的密钥来加密。因此,此类数据(ClassData)使用用于上述译码的密钥进行译码。其结果,生成类对象(ClassObject)。类对象(ClassObject)可正常生成时,将其类对象(ClassObject)作为方法(Method)返回值返回。不然的话,就返回null值。
条目类(EntryClass)的数据,指定或篡改使用不能以控制部1050保管的译码用的钥来译码的密钥进行加密的部分的情况下,或者译码失败或者作为非正当类数据(ClassData)进行译码。其结果,在生成类对象(ClassObject)时,或在执行从类对象(ClassObject)生成的实例对象(InstanceObject)时,会发生出错,因此,可以检测到使用非正当的密钥及对条目类(EntryClass)数据的篡改。
在本实施方式的步骤S3060A中,确认在步骤S3050A中调用的正当性确认方法(Method)的执行结果不是null值。在不是null值时,就进入到步骤S3070A。在是null值时,视为安装了非正当的程序,进入到步骤3080。
在本实施方式的步骤S3070A中,根据在步骤S3050A中从正当性确认方法(Method)返回的入口类(EntryPointClass)的类对象(ClassObject)生成实例对象(InstanceObject)。于是,通过调用生成的实例对象(InstanceObject)的start方法而使软件启动。
采用如本实施方式的结构,也可以得到与上述实施方式1同样的效果。
在本实施方式中,只对入口类(EntryPointClass)利用正当性确认消息进行译码,但也可以在制造时将作为档案文件(ArchiveFile)的条目(Entry)的全部类数据(ClassData)逐条目(Entry)地进行加密并存放于软件的档案文件(ArchiveFile),每当产生对类进行装载需要时,就调用正当性确认方法(Method)进行装载/译码/类对象(ClassObject)的生成。
另外,也可以采用如下的结构,在将全部类数据(ClassData)的消息摘要(MessageDigest)与类数据(ClassData)一起加密存放,对类进行装载之际,从类数据(ClassData)计算消息摘要(MessageDigest),将该计算值与利用控制部1050保管的用于译码的钥对文件中存储的被加密的消息摘要值进行译码的值进行比较,可以调查出类数据(ClassData)是否未受到篡改。
另外,通过把依照上述图3及图4的流程图存放于电子装置1010内的程序存储部1060中进行工作,可以实现上述的控制方法。
以上,是根据本发明的优选实施例进行的说明,但本发明并不限定于此,在权利要求范围内可以有种种变型。比如,本发明,并不限定于上述实施方式的装置,既可应用于由多个电子装置构成的系统,也可以应用于由一个电子装置构成的装置。也可以将存储实现上述实施方式的功能的软件的程序代码的存储媒体供给系统或装置,由该系统或装置的计算机(或CPU及MPU)读出存放于存储媒体中的程序代码来执行而完成。
在此场合,由于从存储媒体读出的程序代码本身实现上述实施方式的功能,存储该程序代码的存储媒体构成本发明。作为用来供给程序代码的存储媒体,可以使用,比如,有软盘(注册商标)、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失性存储卡、ROM等。另外,通过执行计算机读出的程序代码,不仅可实现上述实施方式的功能,而且可以基于该程序代码的指示,由运行于计算机上的OS(操作系统)等执行实际处理的一部分或全部,通过这种处理实现上述的实施方式的功能的场合也包含在内。
进而,从记录媒体读出的程序代码,在写入到插入到计算机中的功能扩展板及与计算机相连接的功能扩展单元中设置的存储器之后,基于下一个程序代码的指示,由设置于该功能扩展板及功能扩展单元中的CPU等进行实际的处理的一部分或全部,藉助该处理也可实现上述的实施方式的功能的情况也包含在内。

Claims (14)

1.一种软件的正当性确认方法,其特征在于:
从软件中提取用于确认该软件的正当性的正当性确认模块;
判断由上述提取步骤判断的正当性确认模块的确认结果。
2.根据权利要求1所述的方法,其特征在于:
还具有启动在上述提取步骤中正当性得到确认的软件的启动步骤。
3.根据权利要求1所述的方法,其特征在于:
上述提取步骤提取具有规定名字的正当性确认模块。
4.根据权利要求1所述的方法,其特征在于:
上述判断步骤还具有执行由上述提取步骤提取出的正当性确认模块的执行步骤。
5.根据权利要求1所述的方法,其特征在于:
在上述判断步骤中,判断正当性确认模块对安装了软件的装置是否适合该软件进行了确认的结果。
6.根据权利要求1所述的方法,其特征在于:
在上述判断步骤中,将正当性确认模块对确认结果进行了译码的结果和安装了软件的装置的制造厂的数字签名进行比较。
7.根据权利要求1所述的方法,其特征在于:
在上述判断步骤中,正当性确认模块对成为软件的入口的模块进行译码,对是否正常译码进行输出。
8.一种执行软件的装置,其特征在于包括:
存储软件的存储单元,以及
执行存储于上述存储单元中的软件的执行单元;
其中,上述执行单元,从存储于上述存储单元中的软件中,提取用于确认该软件的正当性的正当性确认模块;并判断所提取的正当性确认模块的确认结果。
9.根据权利要求8所述的装置,其特征在于:
上述执行单元启动正当性得到确认的软件。
10.根据权利要求8所述的装置,其特征在于:
上述执行单元提取具有规定名字的正当性确认模块。
11.根据权利要求8所述的装置,其特征在于:
上述执行单元执行提取出的正当性确认模块。
12.根据权利要求8所述的装置,其特征在于:
上述执行单元判断正当性确认模块对上述装置是否适合该软件进行了确认的结果。
13.根据权利要求8所述的装置,其特征在于:
上述执行单元将正当性确认模块的确认结果进行了译码的结果和上述装置的制造厂的数字签名进行比较。
14.根据权利要求8所述的装置,其特征在于:
上述执行单元通过执行正当性确认模块,对成为软件的入口的模块进行译码,判断是否正常地进行了译码。
CNB2005100629014A 2004-03-31 2005-03-30 软件的正当性确认方法及执行软件的装置 Expired - Fee Related CN1322387C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004105876 2004-03-31
JP2004105876A JP2005293109A (ja) 2004-03-31 2004-03-31 ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム

Publications (2)

Publication Number Publication Date
CN1677307A true CN1677307A (zh) 2005-10-05
CN1322387C CN1322387C (zh) 2007-06-20

Family

ID=34940626

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100629014A Expired - Fee Related CN1322387C (zh) 2004-03-31 2005-03-30 软件的正当性确认方法及执行软件的装置

Country Status (5)

Country Link
US (2) US7590851B2 (zh)
EP (1) EP1594036B1 (zh)
JP (1) JP2005293109A (zh)
KR (1) KR100693919B1 (zh)
CN (1) CN1322387C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293109A (ja) * 2004-03-31 2005-10-20 Canon Inc ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム
EP2650749A1 (en) * 2005-11-17 2013-10-16 Koninklijke Philips N.V. System for Managing Access Control
JP4923925B2 (ja) * 2006-09-29 2012-04-25 富士通株式会社 チェックプログラム、監視装置および監視方法
CN102598017B (zh) * 2009-11-13 2016-03-09 爱迪德技术有限公司 提高Java字节码的防窜改能力的系统和方法
JP5056995B1 (ja) * 2012-04-24 2012-10-24 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
WO2013161974A1 (ja) * 2012-04-24 2013-10-31 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
JP5126447B1 (ja) * 2012-08-31 2013-01-23 大日本印刷株式会社 アプリケーションプログラムの実行方法
JP5182445B1 (ja) * 2012-09-18 2013-04-17 大日本印刷株式会社 アプリケーションプログラムの改竄検知方法
US9613221B1 (en) * 2015-12-30 2017-04-04 Quixey, Inc. Signed application cards
CN107135074B (zh) * 2016-02-29 2021-11-02 中兴通讯股份有限公司 一种高级安全方法和装置
DE102016203855B4 (de) * 2016-03-09 2023-11-02 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Steuern eines technischen Systems anhand von Steuermodellen
JP7195796B2 (ja) * 2018-07-23 2022-12-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4685055A (en) * 1985-07-01 1987-08-04 Thomas Richard B Method and system for controlling use of protected software
JPH0231227A (ja) 1988-07-20 1990-02-01 Nec Field Service Ltd ソフトウェア使用許可方式
US5812980A (en) 1994-02-22 1998-09-22 Sega Enterprises, Ltd. Program operating apparatus
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5802275A (en) 1994-06-22 1998-09-01 Lucent Technologies Inc. Isolation of non-secure software from secure software to limit virus infection
JPH08147158A (ja) 1994-11-22 1996-06-07 Canon Inc インストール又はセットアップする対象を限定する方法及びその方法を実現する情報処理装置
JPH10187433A (ja) 1996-12-26 1998-07-21 Casio Comput Co Ltd 電子機器及び記憶媒体
US6005942A (en) 1997-03-24 1999-12-21 Visa International Service Association System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
JP2000276332A (ja) 1999-03-25 2000-10-06 Mitsubishi Electric Corp ソフトウェアインストール方法及び媒体
TW518497B (en) 1999-03-30 2003-01-21 Sony Corp Information processing system
JP4556277B2 (ja) 1999-03-30 2010-10-06 ソニー株式会社 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体
JP2000322254A (ja) 1999-05-07 2000-11-24 Sega Enterp Ltd 電子装置及びセキュリティチェック方法
JP2001184472A (ja) 1999-12-27 2001-07-06 Hitachi Ltd アプリケーションプログラムの供給方法、スマートカード、スクリプト供給方法、端末装置およびアプリケーションプログラムを有する記憶媒体
US20030110011A1 (en) 2000-03-31 2003-06-12 Satoshi Kyotoku Software unlawful use prevention apparatus
US7237117B2 (en) * 2001-03-16 2007-06-26 Kenneth P. Weiss Universal secure registry
JP2002351569A (ja) * 2001-03-21 2002-12-06 Toshiba Corp ソフトウェアのライセンス管理方法、ソフトウェアのライセンス管理システムおよび記憶媒体
US7690023B2 (en) * 2001-12-13 2010-03-30 Japan Science And Technology Agency Software safety execution system
JP2003233590A (ja) * 2002-02-08 2003-08-22 Hitachi Ltd 移動追従型サービス提供方法、システム及びプログラム
CN1448842A (zh) * 2002-03-31 2003-10-15 任东海 基于网络数据库的软件版权保护方法
US20040003390A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation System and method for installing a software application in a non-impactfull manner
JP2004086404A (ja) 2002-08-26 2004-03-18 Yokogawa Electric Corp ソフトウェアライセンス認証システム
US7240200B2 (en) * 2002-09-26 2007-07-03 International Business Machines Corporation System and method for guaranteeing software integrity via combined hardware and software authentication
JP2005293109A (ja) * 2004-03-31 2005-10-20 Canon Inc ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム

Also Published As

Publication number Publication date
KR20060045146A (ko) 2006-05-16
JP2005293109A (ja) 2005-10-20
KR100693919B1 (ko) 2007-03-13
US8239958B2 (en) 2012-08-07
US7590851B2 (en) 2009-09-15
US20050246530A1 (en) 2005-11-03
EP1594036B1 (en) 2018-07-18
US20090228880A1 (en) 2009-09-10
EP1594036A2 (en) 2005-11-09
CN1322387C (zh) 2007-06-20
EP1594036A3 (en) 2005-11-23

Similar Documents

Publication Publication Date Title
CN1322387C (zh) 软件的正当性确认方法及执行软件的装置
JP7090800B2 (ja) 分散型文書およびエンティティ検証エンジン
US7844832B2 (en) System and method for data source authentication and protection system using biometrics for openly exchanged computer files
US7290138B2 (en) Credentials and digitally signed objects
KR101009126B1 (ko) 대응하는 구성요소를 인증하기 위한 디지탈 인증서 및 디지탈 인증서 인증 방법
CN100335985C (zh) 将虚拟令牌连接到物理令牌
JP4501349B2 (ja) システムモジュール実行装置
US11669605B1 (en) Dynamic enrollment using biometric tokenization
US20080216147A1 (en) Data Processing Apparatus And Method
US20070235517A1 (en) Secure digital delivery seal for information handling system
CN107111713A (zh) 软件系统的自动验证
TW201635186A (zh) 使用憑證導出之加密密鑰改良韌體服務安全性的計算裝置之系統及方法
JP2005322234A (ja) ウェブサービス構成のセキュリティチェック
CN102171652A (zh) 为电子装置提供可信软件的方法
CN1527208A (zh) 基于身份认证的计算机安全及加密的实现方法和装置
US7257712B2 (en) Runtime digital signatures
CN113010861B (zh) 一种基于区块链的融资事务中的身份验证方法和系统
Pirker et al. A PrivacyCA for anonymity and trust
Gehani et al. Mendel: Efficiently verifying the lineage of data modified in multiple trust domains
US8844024B1 (en) Systems and methods for using tiered signing certificates to manage the behavior of executables
CN116633555A (zh) 一种用于终端设备数据采集交互的方法及系统
CN114817956A (zh) 一种usb通信对象验证方法、系统、装置及存储介质
CN114676393B (zh) 一种软件离线鉴权方法
Mousavi et al. Detecting Misuses of Security APIs: A Systematic Review
CN1575562A (zh) 信息处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070620

Termination date: 20210330

CF01 Termination of patent right due to non-payment of annual fee