CN100578457C - 使用类库足迹文件的java应用认证方法 - Google Patents

使用类库足迹文件的java应用认证方法 Download PDF

Info

Publication number
CN100578457C
CN100578457C CN200680024506A CN200680024506A CN100578457C CN 100578457 C CN100578457 C CN 100578457C CN 200680024506 A CN200680024506 A CN 200680024506A CN 200680024506 A CN200680024506 A CN 200680024506A CN 100578457 C CN100578457 C CN 100578457C
Authority
CN
China
Prior art keywords
java
file
class
signature
class library
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.)
Expired - Fee Related
Application number
CN200680024506A
Other languages
English (en)
Other versions
CN101218564A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN101218564A publication Critical patent/CN101218564A/zh
Application granted granted Critical
Publication of CN100578457C publication Critical patent/CN100578457C/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/02Constructional details
    • H04Q1/025Cabinets
    • H04Q1/026Cabinets characterized by door details
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/02Constructional details
    • H04Q1/035Cooling of active equipments, e.g. air ducts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/02Constructional details
    • H04Q1/11Protection against environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Toxicology (AREA)
  • Stored Programmes (AREA)

Abstract

提供一种在执行JAVA应用期间对动态载入的类库进行认证的类库足迹文件以及使用所述类库足迹文件的JAVA应用认证方法。所述类库足迹文件包括:认证信息,用于在执行JAVA应用前,验证JAVA应用使用的一个或多个类库的完整性。预先向JAVA应用提供将被认证的类库的列表。

Description

使用类库足迹文件的JAVA应用认证方法
技术领域
本发明涉及JAVA应用的认证,更具体地讲,涉及一种用于在JAVA应用的执行期间对动态载入的类库进行认证的类库足迹(footprint)文件,以及使用所述类库足迹文件的JAVA应用认证方法。
背景技术
在广播或存储领域,内容提供商广泛地使用JAVA应用来将各种交互式服务提供给用户。已经提出各种JAVA应用认证方法,以允许用户安全地执行内容提供商提供的JAVA应用。
内容提供商或主机根据特定的传送算法将签名的JAVA应用分发给用户。传统的JAVA应用认证方法包括:使用包括摘要(digest)值列表的JAVAmanifest文件、JAVA manifest文件的签名文件和签名块文件(signature blockfile)来认证签名文件的签名的有效性。
图1是现有技术的JAVA应用认证方法的流程图。使用JAVAmanifest文件、签名文件和签名块文件对签名的JAVA应用进行认证。
图2是包括在JAVA应用中的manifest文件的部分计算机代码。参照图2,将包括在每个JAVA档案(JAR)文件中的每个类的位置和摘要值记录在manifest文件中。
参照图1,当用户请求执行签名的JAVA应用时,开始签名的JAVA应用(操作100)。然后,载入签名的JAVA应用(操作102)。试图载入签名的JAVA应用要求的类文件(操作104)。然而,在载入前,必须对所述类文件进行认证。现在将参照操作106到118描述认证处理。
从包括在签名的JAVA应用中的manifest文件获得关于将要载入的类文件的信息(操作106)。然后,确定所述类文件的摘要值是否正确(操作108)。如果确定所述类文件的摘要值不正确,则对所述类文件的认证失败,并且所述签名的JAVA应用不能使用所述类文件(操作120)。
如果确定所述类文件的摘要值正确,则获得关于包括在签名的JAVA应用中的签名文件的信息(操作110)。通过使用关于签名文件的信息验证manifest文件的完整性。如果manifest文件的摘要值不正确(操作112),则对manifest文件的认证失败,并且签名的JAVA应用不能使用所述类文件(操作120)。
如果manifest文件的摘要值正确(操作112),则获得关于包括在签名的JAVA应用中的签名块文件的信息(操作114)。然后,通过使用关于签名块文件的信息确定签名文件的签名是否正确,以便验证签名的JAVA应用的签名的有效性(操作116)。如果签名的JAVA应用的签名有效,则完成对签名的JAVA应用的认证,并且签名的JAVA应用可以使用所述类文件(操作118)。每当试图载入签名的JAVA应用要求的类文件时,执行所述认证处理。
对签名的JAVA应用的认证意味着由内容提供商保证JAVA应用使用的所有库的完整性。然而,根据传统的JAVA应用认证方法,每当载入JAVA应用使用的类文件时,执行认证处理。因此,多余地执行认证处理,时间的使用效率低。此外,如果在JAVA应用的执行期间,类文件的认证失败,造成预期的结果,则终止JAVA应用的执行。在这种情况下,用户无法得知JAVA应用为什么被终止。
此外,由于JAVA应用动态地载入库,所以即使当仅执行认证处理一次时,在被认证的JAVA应用的执行期间,也可能载入内容提供商未预期的未认证的库(如类文件或数据文件)。
发明内容
技术问题
本发明提供一种改进用于下载JAVA应用的各种装置的认证处理并且保证JAVA应用的可靠认证的类库足迹文件以及使用所述类库足迹文件的JAVA应用认证方法。
有益效果
根据本发明的示例性实施例,预先向JAVA应用提供将要认证的类库列表,这保证JAVA应用认证的有效性和可靠性。
本发明克服传统JAVA应用认证方法的逻辑限制,从而提高各种装置的认证速度和性能,传统JAVA应用认证方法在类被动态地载入时验证类的签名,或者预先验证非指定类库的签名。
本发明的示例性实施例提高传统JAVA应用认证方法的可行安全性,从而对于内容使用者和内容提供商都提高JAVA应用的安全性,并且确保内容提供商开发的JAVA应用的可靠认证,从而JAVA应用可保证服务连续性。
结果,本发明的示例性实施例解决使用传统JAVA应用的各种装置和服务的问题,从而创建更牢固的JAVA应用的构架。
最佳方式
根据本发明的一方面,提供一种对包括认证信息的JAVA应用进行认证的类库足迹文件,所述认证信息用于在执行JAVA应用前,验证JAVA应用使用的至少一个类库的完整性。
所述类库足迹文件还包括类库足迹文件的签名信息。
用于验证所述至少一个类库的完整性的认证信息可包括所述至少一个类库中的每个的摘要值。
根据本发明的另一方面,提供一种对JAVA应用进行认证的方法,包括:在执行JAVA应用前,获得包括在JAVA应用的类库足迹文件中的认证信息;基于获得的认证信息,验证JAVA应用使用的至少一个类库的完整性;以及在验证所述至少一个类库的完整性之后,执行JAVA应用。
所述方法还可包括:基于获得的认证信息,确定类库足迹文件的签名是否有效,其中,仅在确定类库足迹文件的签名有效的情况下,验证所述至少一个类库的完整性。
包括在类库足迹文件中的认证信息可包括:类库足迹文件的签名信息、JAVA应用使用的类库列表以及每个类库的摘要值。
所述方法还可包括:通过使用JAVA应用的签名文件,验证包括在JAVA应用中的manifest文件的完整性;以及如果manifest文件的完整性被验证,则基于JAVA应用的签名块文件确定JAVA应用的签名是否有效,其中,仅在确定JAVA应用的签名有效的情况下执行JAVA应用。
附图说明
通过参照附图对本发明的示例性实施例进行的详细描述,本发明的上述和其他方面将会变得更加清楚,其中:
图1是示出相关的JAVA应用认证方法的流程图;
图2是包括在JAVA应用中的manifest文件的部分计算机代码;
图3是示出根据本发明的示例性实施例的用于认证JAVA应用的类库足迹文件的结构的框图;
图4是根据本发明的示例性实施例的类库足迹文件的部分计算机代码;
图5是示出根据本发明的示例性实施例的制作JAVA应用的方法的流程图;
图6是示出根据本发明的示例性实施例的使用类库足迹文件的JAVA应用认证方法的流程图;和
图7是示出根据本发明的另一示例性实施例的使用类库足迹文件的JAVA应用认证方法的流程图。
具体实施方式
以下,将参照附图来详细描述本发明的示例性实施例。
图3是示出根据本发明的示例性实施例的用于认证JAVA应用的类库足迹文件300的结构的框图。所有的JAVA应用均具有类库足迹文件,其包括用于在执行JAVA应用前验证所述JAVA应用使用的所有类库的完整性的认证信息。
参照图3,类库足迹文件300包括类库列表和类库的摘要值304。类库足迹文件300可包括用于验证类库足迹文件300的完整性的签名信息302。
图4是根据本发明的示例性实施例的类库足迹文件的部分计算机代码。参照图4,类库足迹文件的XML Scheme包括“importedClass”元素420和“signature”元素410的集合。“importedClass”元素420记录关于类引用的类库的信息。“signature”元素410记录与所述类库足迹文件对应的内容提供商的签名。
图5是示出根据本发明的示例性实施例的制作JAVA应用的方法的流程图。参照图5,内容提供商根据JAVA应用的目的,使用传统方法,生成JAVA应用,并且使用JAVA社区建议的制作签名的JAR的方法,向所述JAVA应用添加签名(操作500)。内容提供商在类库足迹文件上记录签名信息(操作502),并且在类库足迹文件上记录包括在JAVA应用中的类将要引用的类库文件的名称、位置和摘要值(操作504),以便生成类库足迹文件。内容提供商组合类库足迹文件和签名的JAVA应用,并且将所述组合分发给用户(操作506)。
图6是示出根据本发明的示例性实施例的使用类库足迹文件的JAVA应用认证方法的流程图。根据特定传送算法,内容提供商或主机将使用图5示出的方法制作的JAVA应用分发给用户。然而,与图1中示出的传统方法不同,JAVA引擎在执行JAVA应用前,彻底地对类库进行认证。参照图6,当用户请求执行签名的JAVA应用时,开始签名的JAVA应用(操作602)。
在执行JAVA应用前,从用于类库的认证的类库足迹文件获得认证信息(操作604)。基于获得的认证信息验证JAVA应用将要使用的类库的完整性(操作606)。如果通过验证类库的完整性对JAVA应用的认证成功(操作608),则执行所述JAVA应用(操作610)。
图7是示出根据本发明的另一示例性实施例的使用类库足迹文件的JAVA应用认证方法的流程图。参照图7,在用户请求执行签名的JAVA应用后,开始签名的JAVA应用(操作702)。然后,从包括在JAVA应用中的类库足迹文件的认证信息获得签名信息(操作704),并且确定类库足迹文件的签名的有效性。如果类库足迹文件的签名不是有效的(操作706),则对JAVA应用的认证失败,并且不执行所述JAVA应用(操作722)。
如果类库足迹文件的签名有效,则获得类库足迹文件的类库信息(操作708)。使用获得的类库信息确定JAVA应用将要使用的所有类是否具有正确的摘要值,从而验证类库的完整性(操作710)。如果任何类具有错误的摘要值,则对JAVA应用的认证失败,并且不执行所述JAVA应用(操作722)。
获得关于包括在JAVA应用中的签名文件的信息(操作712)。基于签名文件的信息确定manifest文件的摘要值是否正确,从而验证manifest文件的完整性(操作714)。如果JAVAmanifest文件的摘要值不正确,则对JAVA应用的认证失败,并且不执行所述JAVA应用(操作722)。
如果manifest文件的完整性被验证,则获得关于JAVA应用的签名块文件的信息(操作716)。然后,基于关于签名块文件的信息确定签名文件的签名是否正确,从而验证JAVA应用的签名的有效性(操作718)。如果签名文件的签名不是有效的,则对JAVA应用的认证失败,并且不执行所述JAVA应用(操作722)。
如果JAVA应用的签名有效,则对JAVA应用的认证成功,因此执行JAVA应用(操作720)。
还可以将本发明实现为计算机可读记录介质上的计算机可读代码。
虽然已经参照本发明的示例性实施例具体地示出和描述了本发明,但是本领域的普通技术人员将会理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的各种改变。

Claims (4)

1、一种使用包含JAVA应用的认证信息的类库足迹文件对所述JAVA应用进行认证的方法,包括:
在执行JAVA应用前,获得JAVA应用的类库足迹文件中的认证信息;
基于获得的认证信息,验证JAVA应用使用的至少一个类库的完整性;和
在所述至少一个类库的完整性被验证之后,执行JAVA应用。
2、如权利要求1所述的方法,还包括:
基于获得的认证信息,确定类库足迹文件的签名是否有效,并且
其中,仅在确定类库足迹文件的签名有效的情况下,验证所述至少一个类库的完整性。
3、如权利要求2所述的方法,其中,类库足迹文件的认证信息包括:类库足迹文件的签名信息、JAVA应用使用的类库列表以及所述至少一个类库中的每个的摘要值。
4、如权利要求3所述的方法,还包括:
通过使用JAVA应用的签名文件,验证包括在JAVA应用中的manifest文件的完整性;和
如果manifest文件的完整性被验证,则基于JAVA应用的签名块文件确定JAVA应用的签名是否有效,
其中,仅在确定JAVA应用的签名有效的情况下执行JAVA应用。
CN200680024506A 2005-11-04 2006-11-01 使用类库足迹文件的java应用认证方法 Expired - Fee Related CN100578457C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US73325805P 2005-11-04 2005-11-04
US60/733,258 2005-11-04
KR1020060015152 2006-02-16

Publications (2)

Publication Number Publication Date
CN101218564A CN101218564A (zh) 2008-07-09
CN100578457C true CN100578457C (zh) 2010-01-06

Family

ID=38272986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680024506A Expired - Fee Related CN100578457C (zh) 2005-11-04 2006-11-01 使用类库足迹文件的java应用认证方法

Country Status (4)

Country Link
US (1) US20070169067A1 (zh)
KR (1) KR100765772B1 (zh)
CN (1) CN100578457C (zh)
WO (1) WO2007052944A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294661B2 (en) * 2017-04-25 2022-04-05 Microsoft Technology Licensing, Llc Updating a code file

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367012B1 (en) * 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
US6339829B1 (en) 1998-07-30 2002-01-15 International Business Machines Corporation Method and apparatus to store extended security information in a data structure which shadows a java class object
GB2343022B (en) 1998-10-19 2003-01-08 Ibm Encrypting of java methods
US6546397B1 (en) * 1999-12-02 2003-04-08 Steven H. Rempell Browser based web site generation tool and run time engine
US6766353B1 (en) * 2000-07-11 2004-07-20 Motorola, Inc. Method for authenticating a JAVA archive (JAR) for portable devices
GB0024918D0 (en) * 2000-10-11 2000-11-22 Sealedmedia Ltd Method of providing java tamperproofing
KR20020096617A (ko) * 2001-06-21 2002-12-31 한국전자통신연구원 안전한 xml 전자문서 교환을 위한 xml 보안플랫폼의 시스템 구조 및 상기 보안 플랫폼에서이루어지는 보안 처리 방법
US6900905B2 (en) * 2001-08-08 2005-05-31 Hewlett-Packard Development Company, L.P. Method for accessing imaging information on a demand basis using web based imaging
KR100398044B1 (ko) * 2001-12-18 2003-09-19 한국전자통신연구원 프락시 서버에서의 악성 자바 애플릿 탐지 방법
KR100458515B1 (ko) * 2001-12-21 2004-12-03 한국전자통신연구원 무선 인터넷을 통한 이동 단말용 응용프로그램 설치시스템 및 그 방법
US7152222B2 (en) * 2002-01-08 2006-12-19 International Business Machines Corporation Method and system for localizing Java™ JAR files
US7209960B2 (en) * 2002-09-20 2007-04-24 Sun Microsystems, Inc. Loading and saving data from security sensitive applets to a local file system
US20040123270A1 (en) * 2002-12-23 2004-06-24 Motorola, Inc. Method and apparatus for shared libraries on mobile devices
US7769607B2 (en) * 2003-08-07 2010-08-03 Indianola Development Company, L.L.C. Method of enhancing value of pension plan assets
US9313214B2 (en) * 2004-08-06 2016-04-12 Google Technology Holdings LLC Enhanced security using service provider authentication

Also Published As

Publication number Publication date
KR20070048567A (ko) 2007-05-09
CN101218564A (zh) 2008-07-09
KR100765772B1 (ko) 2007-10-15
WO2007052944A1 (en) 2007-05-10
US20070169067A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
CN108595607B (zh) 登记信息的处理方法、装置、设备、***和存储介质
CN1490736B (zh) 用于创建和验证数字签名子对象的方法和***
US20060156010A1 (en) Apparatus for reproducing data, method thereof and recording medium
US20010053714A1 (en) Electronic lottery system and its operating method and computer- readable recording medium in which the electronic lottery program code is stored
KR20060125465A (ko) 기록매체, 데이터 재생방법 및 재생장치와 데이터 저장방법및 저장장치
US8761400B2 (en) Hardware linked product key
CN105631361B (zh) 一种应用程序渠道来源标识方法及装置
CN102509049A (zh) 一种程序合法性验证方法和***
CN104866768A (zh) 自动柜员机操作***启动控制方法及装置
JP5443498B2 (ja) 情報処理装置および情報処理方法
KR100617867B1 (ko) 데이터 방송 응용 프로그램의 서명 인증 방법
CN111581606A (zh) 一种pdf文件数字签名方法及***
CN100578457C (zh) 使用类库足迹文件的java应用认证方法
CN109670289A (zh) 一种识别后台服务器合法性的方法及***
CN107704756B (zh) 一种***升级前的安全校验方法及***
CN115828255A (zh) 升级签名固件的方法、电子设备和存储介质
CN104794384B (zh) 数字***应用方法及其***
CN111506916A (zh) 一种基于区块链技术的建设工程电子档案存证方法及***
CN101073222A (zh) 撤消内容提供商的公共密钥的方法
CN106250194A (zh) 程序文件安装方法和装置
CN110610100B (zh) 文件验证方法、装置及存储介质
CN104134025A (zh) 基于sim卡的移动终端加锁方法、装置及移动终端
US20110028209A1 (en) Controlling content access
US20100306844A1 (en) Application information tampering monitoring apparatus and method
CN101923875B (zh) 控制蓝光光盘Java安全的方法、影音播放装置及控制***

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: 20100106

Termination date: 20191101

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