EP2166474B1 - Dispositif d'exécution d'application, procédé de gestion et programme - Google Patents
Dispositif d'exécution d'application, procédé de gestion et programme Download PDFInfo
- Publication number
- EP2166474B1 EP2166474B1 EP09013703.5A EP09013703A EP2166474B1 EP 2166474 B1 EP2166474 B1 EP 2166474B1 EP 09013703 A EP09013703 A EP 09013703A EP 2166474 B1 EP2166474 B1 EP 2166474B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- application
- file
- certificate
- root
- root certificate
- 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.)
- Not-in-force
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
Definitions
- the present invention relates to the field of resource allocation to applications.
- Document US 6 584 495 81 describes a client-server system, wherein the client can download an applet from a server for being executed.
- a certificate is attached to the program data of the applet, by a trusted certificate authority.
- the provider of the applet also attaches a digital signature to the data.
- storage space is assigned to an applet at the client.
- two applets may be assigned the same storage space, if they have the same certificate and signature.
- two applets having different certificates and signatures are assigned different storage spaces at the client.
- Document EP 1 361 527 A1 describes the method for loading an application into a portable device, such as a cell phone. Attached to the application, there is a signature. The signature is coupled to a predefined attribute certificate stored in the device. In particular, the device may store a public key certificate as a root certificate, and a certificate chain.
- DVD Digital Video Broadcasting
- MHP Multimedia Home Platform
- Resource allocation techniques are inventions relating to the technical field of allocating areas of a storage device (local storage) of a platform to applications.
- MHP Multimedia Home Platform
- MHP Multimedia Home Platform
- the organization ID in the file path is an identifier uniquely identifying an organization that is the supplier of the application.
- the application ID is an identifier uniquely identifying the application.
- an MHP-complaint device verifies the authenticity of the application using a root certificate.
- the following describes authenticity verification of the application and storage allocation to the application.
- a creator of an application attaches a root certificate to the application before providing the application to a device .
- the root certificate is identical to a root certificate uniquely assigned to the device.
- the device judges whether the attached root certificate is identical to the root certificate assigned to the device. If the two root certificates are identical, the device allocates, to the application, an organization directory corresponding to the supplier organization of the application. Thus, the application is allowed to access any file contained in the organization directory.
- a third-party body In order to ensure that organization IDs are all unique, a third-party body needs to be established to assign an organization ID unique to each one of application supplier organizations. Establishment and operation of such a third-party body requires capital investment and human resources borne by makers included in standardization of application executing devices. This places a significant burden on the makers. Yet, on the other hand, if a directory allocated to one organization is allowed to be freely accessible by another organization, there is a risk that data for use by an application of one organization is stolen or used by another organization without proper authorization. If no measure is taken against this undesirable situation, it is anticipated that application creators become reluctant to supply their applications to devices. This could be a hindrance to increase the number of applications that are executable on application executing devices. If little applications are executable, application executing devices may not gain popularity.
- an MHP device judges the authenticity of an application using the root certificate assigned to that device.
- the device maker renews the exposed certificate.
- applications attached with the old version certificate can no longer be authenticated properly and thus not permitted to access the local storage.
- renewal of certificate will cause no problem. It is because such applications are basically for one-time use at the time of broadcasting and thus transmitted one after another in succession.
- applications for executing processing in relation to a movie recorded on a disc such as DVD-Video content and BD-ROM content, it is required that such an application runs properly each time an old movie is played over and over.
- the first object of the present invention is to provide an application executing device capable of ensuring the confidentiality of files for use by various applications supplied from various organizations, without the need to manage organization IDs to avoid redundancy.
- the second object of the present invention is to provide an application executing device capable of reliably ensuring proper execution of an application even in the case where the root certificate of the application is exposed.
- the local storage of the application executing device has a plurality of domain areas assigned to hash values of different root certificates. Areas for each organization and each application are created within a corresponding one of the domain areas . As a result, it is no longer necessary that the organization IDs are all unique on a worldwide scale. Rather, it is sufficient that the organizations are distinguished from one another within a finite "domain area”. Consequently, it is no longer necessary that the values of organization IDs assigned to different organizations are all unique. Thus, ID management by a third-party body is no longer required. Without the need to ensure that each organization ID is unique, it is achieved that various applications supplied from various organizations around the world are executable on one platform, while improving the confidentially of files to be read/written by respective applications.
- the root certificate is assigned not to the main body of an application executing device but to a domain area of the storage unit.
- An application supplied via a disc medium is executable on the application executing device, as long as the application is associated with the disc root certificate of the disc medium and the disc medium is loaded to the application executing device. It is true that there still is a risk that the disc root certificate is exposed. Yet, what needs to be done in such a case is to disable the specific disc medium for further use or to renew the specific disc root certificate. Applications supplied via other discs remain executable using their disc root certificate. Thus, it is reliably ensured that applications are executable.
- the present invention eliminates the need for organization ID management on a worldwide basis .
- the present invention reliably ensures that existing applications are executable.
- the present invention significantly contributes to the world-level standardization of application executing devices for executing movie-related applications.
- the technical features (2) and (3) below may be added to the technical features (1) described above.
- the application executing device is defined to having a more detailed-structure and will achieve further effects.
- the present application defines those additional technical features in a plurality of claims dependent from claim 1.
- the disc medium has recorded thereon a first digital certificate chain;
- the authenticity verification by the management unit includes a judgment as to whether the hash value acquired from the disc root certificate matches a hash value acquired from a root certificate of the first digital certificate chain;
- the domain area includes a plurality of organization areas; and the allocation by the allocation unit includes permitting, if the two hash values match, the application to use one of the organization areas that is in the domain area allocated to the application and that corresponds to an organization ID indicated in a leaf certificate of the first digital chain.
- an organization by which the application is supplied has authorization received from another organization to use an organization area that is allocated to said another organization;
- the disc media further having recorded thereon credential information that indicates a provider ID and a recipient ID respectively identifying a provider organization and a recipient organization of authorization to use an organization area allocated to the provider organization;
- the management unit is further operable to verify authenticity of the credential information;
- the allocation by the allocation unit includes permitting, if the authenticity of the credential information is verified, the application to use one of the organization areas that is in the domain area allocated to the application and that corresponds to the provider ID.
- the credential information includes a hash value acquired from a root certificate unique to the provider organization and a hash value acquired from a root certificate unique to the recipient organization; and the authenticity verification of the credential information by the management unit includes a judgment as to whether the hash value acquired from the disc root certificate matches the hash value acquired from the root certificate unique to the recipient organization, and a judgment as to whether the organization ID indicated in the leaf certificate of the first digital certificate chain matches the recipient ID indicated in the credential information.
- the present invention with the additional features ensures shared use of a plurality of domain areas among applications stored on mutually different disc media and assigned with mutually different disc root certificates. This makes it easier for application creators to take associative and cooperative approaches.
- the disc medium has recorded thereon a second digital certificate chain; and the authenticity verification of the credential information by the management unit further includes acquisition of a hash value from a root certificate of the second digital certificate chain and a judgment as to whether the acquired hash value matches the hash value acquired from the root certificate unique to the provider organization, and a judgment as to whether an organization ID indicated in a leaf certificate of the second digital certificate chain matches the provider ID.
- the credential information further includes a file list; and the permission by the allocation unit for use of the organization area includes permitting the application to access a file that is contained in the organization area and that is listed in the file list.
- the application executing device is enabled to carry out more detailed access control. As a result, the risk of data corruption due to application errors is reduced.
- the credential information further includes access information indicating an access type permitted for the file listed in the file list; and the permission by the allocation unit for use of the organization area includes permitting the application to make access of the indicated type to the file listed in the file list.
- the application executing device is enabled to reduce the risk of data corruption due to application errors, even in the case the application makes access permitted by the credential information.
- the disc medium has recorded thereon a first digital certificate chain;
- the authenticity verification by the management unit includes a judgment as to whether the hash value acquired from the disc root certificate matches a hash value acquired from a root certificate of the first digital certificate chain;
- the execution unit is operable to execute the application if the two hash values match.
- the application executing device is enabled to prevent an attack attempted through malicious uses of Interprocess Communication (IPC), thereby improving security.
- IPC Interprocess Communication
- a BD-ROM is taken as an example of the recording medium. It is because an application stored on a BD-ROM performs movie-related processing as described above.
- Fig. 1A illustrates the file directory structure of the BD-ROM.
- the first level illustrates the BD-ROM.
- the BD-ROM has a recording area in a shape of an outwardly extending spiral. In the figure, the recording area is illustrated on the second level in the figure.
- the recording area includes a "lead-in area” at a radially inward location and a “lead-out area” at a radially outward location. Between the lead-in and lead-out areas is a "logical address space” for storing logical data.
- the BD-ROM has a special area called BCA (Burst Cutting Area) inside of the lead- in area. BCA is readable only by a drive and not by any application and thus often used for copyright protection.
- the "logical address space” stores various data including file system information (volume) followed by image data and Java (TM) archive file 302 containing class files and related information.
- the file system may be compliant with the UDF (Universal Disk Format) or ISO 9660 standard.
- UDF Universal Disk Format
- ISO 9660 ISO 9660 standard.
- read access to the stored logical data is possible via the directories and files.
- the third level illustrates the directory and file structure of the BD-ROM.
- the BD-ROM has a ROOT directory, and a BDDATA directory immediately below the ROOT directory.
- the BDDATA directory stores files of the following two types.
- the disc root certificate 301 is issued by a root certificate authority and assigned to the BD-ROM by the BD-ROM creator.
- the disc certificate 301 is coded in the X.509 format, for example. Specifications of the X.509 format are issued by ITU-T (International Telecommunications Union - Telecommunication) and described in CCITT Recommendation X.509, "The Directory - Authentication Framework, CCITT" (1988 ). Recording of a root certificate on a portable recording medium involves a relatively high risk that the root certificate would be exposed. In view of the risk, DVD media do not employ the root certificate scheme. It should be noted, however, that copyright protection adopted in BD-ROM media is more sophisticated as compared with the copyright protection adopted in DVD media. The adoption of such sophisticated copyright protection has worked favorably for the adoption of "unique root certificate assignment to individual BD-ROMs". Attention should be paid to the above-described background on the adoption of the disc root certificate 301.
- the Java (TM) archive file 302 is compliant with the specifications found at http : // java.sun.com / j2se / 1.4.2 / docs / guide / jar / jar.html.
- the Java (TM) archive file 302 is based on the ZIP file format and specialized for Java (TM).
- the contents of Java (TM) archive file 302 are viewable with commercially available ZIP compression software.
- the "XXX" is variable and the extension "JAR" is fixed.
- the Java (TM) archive file 302 stores a plurality of files in a directory structure.
- Fig. 1B illustrates an example structure of the contents of the Java (TM) archive file 302.
- the root directory has XXXX. class files 401 and a META-INF directory immediately below the root directory.
- the META-INF directory contains files called MANIFEST. MF, SIG-BD.SF, SIG-BD.RSA and bd.XXXX.perm.
- MANIFEST. MF files called MANIFEST. MF, SIG-BD.SF, SIG-BD.RSA and bd.XXXX.perm.
- these files will be described one by one.
- the class files 401 contain a data entity defining a Java (TM) application that is executable on a virtual machine.
- TM Java
- Java (TM) application defined by the class files 401 is Java(TM) Xlet that is controlled by the application manager of the application executing device via an Xlet interface.
- the Xlet interface has four states, which are "loaded”, “paused”, “active”, and “destroyed”.
- the manifest file 402 is provided in correspondence with a digital certificate.
- the manifest file 402 contains the attributes of the Java (TM) archive file 302 and the hash values of the class files 401 and data files contained in the Java (TM) archive file 302.
- the attributes of the Java (TM) archive file 302 include an application ID assigned to a Java (TM) application, which is an instance of the class files 401, and the name of a class file 401 to be executed first for execution of the Java (TM) archive file 302.
- the Java (TM) application which is an instance of the class files 401 contained in the Java (TM) archive file 302, is not executed.
- the signature file 403 contains the hash value of the manifest file 402.
- the digital signature file 404 contains one or more "digital certificate chain” and "signature data" of the signature file 403.
- the "signature data" contained in the signature file 403 is generated by applying a signature process to the signature file 403.
- the signature process is carried out using a secret key that corresponds to a public key in the digital certificate chain contained in the digital signature file 404.
- the "digital certificate chain” refers to a sequence of digital certificates.
- the first certificate (root certificate) in the sequence sings the second certificate.
- the n-th certificate in the sequence signs the n+1-th certificate.
- the last certificate in the digital certificate sequence is referred to as a "leaf certificate” .
- each certificate verifies the next certificate in the root-to-leaf order. Thus, all the certificates in the chain are verified.
- the "root certificate” is identical to the disc root certificate 301 contained in the BD.ROOT.CERTIFICATE file.
- the "leaf certificate” includes an organization ID.
- the signature file 403 is stored in the format called PKCS#7, which is a file format used to store one or more signatures and digital certificates.
- PKCS#7 format is described in RFC2315 published by IETF (Internet Engineering Task Force). RFC2315 is available for reference at http://www.ietf.org/rfc/rfc2315.txt .
- the digital signature file 404 contains one digital certificate chain. Yet, in the case where authorization is provided as in a later-described example, two digital certificate chains are generated. The two digital certificate chains are referred to as first and second digital certificate chains. Regarding the first digital certificate chain, the root certificate is the disc root certificate of the organization that receives the authorization ("recipient organization"), whereas the leaf certificate includes the organization ID of the recipient organization. Regarding the second digital certificate chain, the root certificate is the disc root certificate of the organization that gives the authorization ("provider organization”), whereas the leaf certificate includes the organization ID of the provider organization. In the case where no authorization is provided, the digital signature file 404 contains a single digital certificate chain (first digital certificate chain).
- the detailed description of the manifest file 402, signature file 403, and digital signature file 404 is found in the specifications of Java (TM) archive files.
- the manifest file 402, signature file 403, and digital signature file 404 are used for the signature process and signature verification.
- the Java (TM) application which is an instance of the class files contained in the Java (TM) archive file 302, and a permission request file 405 can be singed using digital certificates.
- the manifest file 402, signature file 403, and digital signature file 404 are collectively referred to as "signatures using digital certificates”.
- the permission request file 405 contains information indicating what permission is given to the Java (TM) application to be executed. More specifically, the permission request file 405 stores the following information:
- Credential is information used for sharing files in a specific directory belonging to a specific organization.
- the file sharing is enabled by giving authorization to access the files used by an application belonging to a specific organization to an application belonging to another organization.
- Credential includes a provider ID identifying the organization that gives authorization to use their applications' files and a receiver ID identifying the organization that receives the authorization.
- Fig. 2A illustrates an example data structure of a Credential.
- the Credential is composed of a hash value 501 of a root certificate issued by a root certificate authority to the provider organization, a provider ID 502 assigned to the provider organization, a hash value 503 of a recipient root certificate issued by the root certificate authority to the recipient organization, a recipient ID 504 assigned to the recipient organization, a recipient application ID 505, and a provided file list 506.
- the provided file list 506 includes information indicating at least one provided file name 507 and a permitted access type 508 (read access permission or write access permission) .
- the Credential needs to be singed to be valid. Similarly to the digital signature file 404, the Credential may be singed in the PKCS#7 format.
- Fig. 2B illustrates a specific example of a Credential.
- the Credential shown in the figure permits read access to the file "4/5/scores.txt" and write access to the file "4/5/etc/settings.txt”.
- Fig. 3A schematically illustrates how a root certificate is assigned to the BD-ROM.
- the first level in the figure illustrates a device (application executing device) and the BD-ROM loaded to the device.
- the second level illustrates the BD-ROM creator and the device maker.
- the third level illustrates the root certificate authority that manages root certificates.
- the BD-ROM creator receives a root certificate issued by the root certificate authority (arrow f1), assigns the received root certificate as a disc root certificate 301 to the BD-ROM, and stores the root certificate into the BD. ROOT. CERTIFICATE file on the BD-ROM (arrow w1).
- the BD-ROM creator stores the root certificate and a leaf certificate that indicates the organization ID into the SIG-BD.SF directory.
- the certificates are contained in the Java (TM) archive file 302.
- Fig. 3B schematically illustrates how a root certificate is assigned according to MHP.
- a device maker receives a root certificate issued by the root certificate authority (arrow f2), the device maker assigns the root certificate to a device (arrow w2) .
- a creator of a broadcast content sends to the device a class file defining the application, along with the root certificate and the leaf certificate that indicates the organization ID identifying the creator organization.
- the comparison of the figures shows that the root certificate is assigned to the device according to MHP.
- the root certificate is assigned to the BD-ROM and the certificate chain is generated using, as the base certificate, the root certificate assigned to the BD-ROM.
- the Java (TM) archive file 302 is downloaded from a www server into the storage device of the application executing device, rather than being read from a BD-ROM.
- the download is a way to update the BD-ROM contents.
- a root certificate that is identical to the root certificate contained as the disc root certificate 301 in the BD.ROOT.CERTIFICATE file is stored into the SIG-BD.SF file in the he Java (TM) archive file.
- the application executing device is allowed to verify, using the disc root certificate 301 assigned to the BD-ROM, the authenticity of the Java (TM) archive file 302 downloaded for the purpose of updating the BD-ROM contents.
- Fig. 4 illustrates the relation between the SIG-BD.SF and BD.ROOT.CERTIFICATE files, in the case where no authorization is provided.
- An arrow d1 in the figure illustrates that the information elements contained in the respective files are identical.
- the root certificate (disc root certificate 301) of the BD.ROOT.CERTIFICATE file is identical to the root certificate contained in the first digital certificate chain contained in the SIG-BD.RSA file .
- the MANIFEST.MF file sings the class file called XXXX.class
- the SIG-BD.SF file contains the hash value calculated from the MANIFEST.MF file
- the SIG-BD.RSA file contains the hash value calculated from the SIG-BD.SF file (arrows h1).
- Fig. 5 illustrates the relation among the SIG-BD.RSA, SIG-BD.SF, BD.ROOT.CERTIFICATE, and bd.XXXX.perm files, in the case where authorization is provided.
- Arrows dl-d6 in the figure connects mutually identical information elements contained in those files.
- the root certificate (disc root certificate) contained in the BD.ROOT.CERTIFICATE file is identical to the root certificate of the first digital certificate chain contained in the SIG-BD.RSA file (arrow d1).
- the disc root certificate 301 contained in the BD.ROOT.CERTIFICATE file is of the recipient.
- the root certificate contained in the BD.ROOT.CERTIFICATE is identical to the recipient root certificate in Credential contained in the bd.XXXX.perm file (arrow d2).
- the recipient ID in the Credential is identical to the leaf organization ID of in the first digital certificate chain (arrow d3).
- the root certificate of the provider organization included in the Credential that is contained in the bd.XXXX.perm file is identical to the root certificate in the second digital certificate chain contained in the SIG-BD.RSA file (arrow d4). Further, the provider ID included in the Credential is identical to the organization ID indicated in the leaf certificate of the second digital certificate chain (arrow d5).
- the recipient application ID included in the Credential is identical to an application ID that is contained in the bd.XXXX.perm file but not in the Credential (arrow d6).
- the MANIFEST. MF file contains a hash value calculated from the XXXX. class file.
- the SIG-BD.SF file contains the hash value calculated from the MANIFEST.M file.
- the SIG-BD.RSA file contains a hash value calculated from the SIG-BD.SF file (arrow h1).
- the hash values are stored in memory or the like and supplied for further use without another calculation.
- the calculation of a hash value and fetching of a hash value from memory are both referred to as "acquisition" of a hash value.
- a computer system composed of CPU, ROM, RAM, hard disk drive, BD-ROM drive, AV decoder, I/O devices, and the like is prepared.
- the computer system is then fully equipped with Java(TM) 2Micro_Edition (J2ME) Personal Basis Profile (PBP 1.0) and Globally Executable MHP specification (GEM1.0.2) for package media targets, so that Java (TM) platform is constructed.
- Java (TM) platform is constructed.
- the application executing devices according to the present embodiment may be manufactured on an industrial scale, by providing the following functional components to Java (TM) platform.
- Fig. 6 is a block diagram showing the functional blocks of the application executing device according to the present embodiment.
- the application executing device is composed of a BD drive 1, an application manager 2, a virtual machine 3, a hard disk 4, and a security manager 5.
- the BD drive 1 loads/ejects a BD-ROM and accesses data stored on the BD-ROM. Upon loading/ejecting a BD-ROM, the BD drive 1 notifies the application manager 2 about the loading/ejection.
- the application manager 2 is a system application that runs in the heap area of the virtual machine 3 and executes application signaling.
- the "application signaling" refers to control on MHP, which is defined by the GEM1.0.2 specifications, to activate and execute an application during a lifecycle of a "service”.
- the application manager 2 according to the present embodiment carries out such control that an application is activated and executed during a lifecycle of a "BD-ROM title” rather than a "service”.
- title refers to a logical playback unit of video and audio data stored on the BD-ROM.
- An application management table (AMT) is uniquely assigned to each title.
- the application manager 2 Before activating an application, the application manager 2 verifies the authenticity of the application. The authenticity verification is made through the following steps. In response to loading of the BD-ROM, the application manager 2 checks whether the file called /BDDATA/BD.ROOT.CERTIFICATE is stored on the BD-ROM. If the file is stored, the application manager 2 reads the disc root certificate 301 from the BD-ROM into memory. Then, the application manager 2 reads the Java (TM) archive file 302 and verifies the authenticity of signatures contained in the Java (TM) archive file 302. If the signatures are successfully verified, the application manager 2 reads the class files 401 from the Java (TM) archive file 302 stored on the BD-ROM into the virtual machine 3. Then, the application manager 2 generates an instance of the class files 401 in the heap area. As a result, the Java (TM) application is activated.
- the Java (TM) application is activated.
- the virtual machine 3 is an entity executing Java (TM) applications.
- the virtual machine 3 is composed of a user class loader, a heap, a thread, and a Java (TM) stack.
- the user class loader is for reading class files from the BD-ROM.
- the heap memory is for storing a Java (TM) application, which is an instance of class files.
- the thread is a logical entity executing a method of a Java (TM) application.
- the thread performs operations using local variables and arguments that are stored on the operand stack and stores the results of operations to local variables or the operand stack.
- the thread executes a method by converting the method written in bytecode into native code of the CPU and issuing the native code to the CPU.
- the conversion into native code is not particularly relevant to the gist of the present invention. Thus, no further description thereof is given.
- the Java (TM) archive file 302 contains the permission request file 405
- the manifest file 402 must contain a correct hash value. Otherwise, the Java (TM) application cannot be executed.
- the virtual machine 3 stores, in the memory, information indicating the Java (TM) archive files 302 that contains the Java (TM) application targeted for execution. With reference to the permission request file 405, the virtual machine 3 can check whether the application held by the application manager 2 is permitted to perform interprocess communication and accordingly provides the interprocess communication functionality to the Java (TM) application.
- the hard disk 4 is a local storage accessible using a method in the Java (TM) IO Package.
- the local storage has a plurality of domain areas.
- the domain areas are directories provided correspondingly to different disc root certificates (R1 and R2 in the figure) .
- Below one of the domain area directories corresponding to the root certificate 301 separate directories (org1, org2, and org3 in the figure) are provided for respective organizations.
- the organization directories are similar to the organization directories provided according to MHP.
- the local storage has separate directories for respective applications supplied from respective organizations just as those defined by MHP (org1/app1, org1/app2, org1/app3... in the figure). Yet, those directories are provided below different directories corresponding to different root certificates (R1 and R2 in the figure).
- a local storage root part of a file path specifying as far as a local storage directory corresponding a root certificate (Root/R1 and Root/R2 in the figure) is referred to as a "local storage root”.
- the security manager 5 holds a hash management table showing pairs each composed of a hash value calculated from a root certificate and a corresponding local storage root.
- the security manager 5 calculates a hash value from a root certificate corresponding to the application issued the access request, and selects the local storage root corresponding to the hash value from the hash management table .
- the thus selected local storage root is incorporated into the file path.
- the security manager 5 replaces, in accordance with the Credential, part of the file path specifying the directory corresponding to the organization ID. With this arrangement, the file path used by the application ensures compatibility with a file path defined in the format according to MHP.
- the application manager 2 is implemented in the application executing apparatus by preparing a program showing in Fig. 7 and causing the CPU to execute the program.
- Fig. 7 shows a flowchart of processing steps for activating an application, which is an instance created according to the definition of the class files 401 contained in the Java (TM) archive file 302.
- the application manager 2 judges whether the Java (TM) archive file 302 contains SIG-BD.SF, SIG-BD.RSA, and bd.XXXX.perm files (SA 01). If any of the files are contained, there is a risk that the Java (TM) application has been tampered, so that execution of the Java (TM) application is refused (SA04).
- the application manager 2 performs signature verification of the bd.XXXX.perm file and of the Java (TM) application, using the MANIFEST.MF, SIG-BD.SF, and SIG-BD.RSA files (SA03). If the signature verification fails, the application manager 2 stores information that no valid bd.XXXX.perm is contained. The application manager 2 thus causes the virtual machine 3 to execute a class file having default permission (SA02).
- the application manager 2 judges whether the root certificate of the first digital certificate chain is identical to the disc root certificate 301 contained in the BD.ROOT.CERTIFICATE file (SA05). If the two root certificates do not match, the application manager 2 judges that the Java (TM) archive file 302 is not valid, so that execution of the Java (TM) application is refused (SA04) .
- the application manager 2 judges whether an organization ID is indicated in the leaf certificate of the first digital certificate chain (SA06). If no organization ID is indicated, the application manager 2 judges that the Java (TM) archive file 302 is not valid, so that execution of the Java (TM) application is refused (SA04).
- Step SA10 is performed next.
- the application manager 2 verifies authenticity of the Credential (SA08).
- SA08 authenticity of the Credential
- the verification process will be described later in detail. In the case where a plurality of Credentials is contained, the verification process repeatedly performed for each Credential.
- the application manager 2 If all the Credentials are successfully verified or if no Credential is contained in the bd.XXXX.perm file, the application manager 2 stores the bd.XXXX.perm file, the organization ID, and the application ID that is contained in the MANIFEST.MF file. The application manager 2 then causes the virtual machine to read one of the class files 401 to be executed first from the MANIFEST.MF file. As a result, the Java (TM) application created by instantiating the read class file is executed (SA 10).
- TM Java
- Fig. 8 shows a flowchart of processing steps performed by the application manager 2 for signature verification of the Credential. Now, a description of the flowchart is given.
- the application manager 2 judges whether the hash value 503 of the recipient root certificate matches the disc root certificate 301 contained in the BD.ROOT.CERTIFICATE file (SY01). If they do not match, the verification fails (SY02).
- the application manager 2 judges whether the recipient ID 504 matches the organization ID indicated in the leaf certificate in the first digital certificate chain (SY03). If they do not match, the verification fails (SY02).
- the application manager 2 judges whether the recipient application ID 505 matches any application ID contained in the bd.XXXX.perm file but not in the Credential (SY04). If there is no match, the verification fails (SY02) . Next, the application manager 2 judges whether the provider ID 502 matches the first part of any supplied file name included in the Credential (SY05) . If there is no match, the verification fails (SY02).
- the application manager 2 judges whether the hash value of the root certificate of the second digital certificate chain matches the hash value of the provider root certificate contained in the Credential (SY07) . If the two hash values do not match, the verification fails (SY02).
- the application manager 2 judges whether the organization ID of the leaf certificate in the second digital certificate chain matches the provider ID 502 indicated in the Credential (SY08) . If the two organization IDs do not match, the Credential is not valid and thus the verification fails (SY02).
- Fig. 9 illustrates an example of management information held by the application manager 2 of the application executing device according to the present embodiment.
- the application manager 2 manages the disc root certificate 301 and also manages, in tabular form, the "Jar File Name” , "Organization ID”, “Application ID”, “Interprocess Communication”, and "Credential" of the Java (TM) archive file 302 being executed.
- Fig. 10 illustrates an example of a rowof the Credential table contained in the management information held by the application manager 2 of the application executing device according to the present invention.
- the Credential table is composed of columns of the "Provider Root Certificate Hash” 501, the "Provider ID” 502, and the “Provided File List” 506.
- the "Provided File List” 506 contains a listing of provided file names 507 along with an access type 508 permitted for a respective file.
- the virtual machine 3 performs the following processing prior to execution of the Java (TM) application.
- the virtual machine 3 judges whether the hash value of the Java (TM) application contained in the MANIFEST.MF file matches the actual hash value of the Java (TM) application. If the two hash values do not match, execution of the Java (TM) application is refused.
- the Java (TM) application is executed by the virtual machine 3. With reference to Fig. 11 , the processing steps performed when a typical Java (TM) application requests the use of the local storage.
- Fig. 11 shows a flowchart of processing steps performed when a Java (TM) application uses the hard disk 4.
- the Java (TM) application acquires a virtual local storage root (SC01).
- the virtual local storage root is a file path specifying, in the MHP file path format, the file to be accessed and is expressed with the character string "/Root" or "/Storage/Root”.
- the virtual local storage root is used to ensure compatibility with the MHP file path format.
- the Java (TM) application makes a file access to the hard disk 4, the local storage name is converted into a local storage root that is uniquely defined for a respective root certificate.
- the Java (TM) application acquires an organization ID (SC02).
- the organization ID in this example is the numeral "4".
- the Java (TM) application concatenates the local storage root name with the organization ID to specify the name of file to which a requested read or write access is to be made (SC03) .
- the local storage root name is "/persistent/0003”
- the organization ID is "7”
- the relative path of the requested file is "8/scores.txt”
- the requested file is specified with the full path "/persistent/0003/7/8/scores.txt”.
- the security manager 5 For the Java (TM) application to perform the processing steps shown in Fig. 11 , the security manager 5 provides the following function calls.
- Fig. 12 shows a flowchart of processing steps performed by the Java (TM) application to execute a function call "Local Storage Root Acquisition". Now, a description of the flowchart is given.
- the security manager 5 judges whether the calling Java (TM) application is provided with a bd.XXXX.perm file (SD01). In order to judge whether or not the bd.XXXX.perm file exists, the security manager 5 acquires, from the virtual machine 3, the Java (TM) archive file 302 containing the class files 401 of which instance is that Java (TM) application. If the Java (TM) archive file 302 contains no bd.XXXX.perm, the "acquisition of the local storage root" is refused (SD02).
- the security manager 5 acquires the hash value of the disc root certificate 301 from the application manager 2 (SD03) . With reference to a hash management table (which will be described later), the security manager 5judge whether the hash value of the disc root certificate 301 has been already registered (SD04) . If the hash value is already registered, the securitymanager 5 returns, to the Java (TM) application, the local storage root corresponding to the hash value of the disc root certificate (SD05).
- the security manager 5 adds a new entry (SD06) .
- SD06 a new entry
- the new entry is composed of the hash value of the disc root certificate 301 and the local storage root that is unique within the table.
- the security manager 5 then returns, to the Java (TM) application, the newly registered local storage root (SD07).
- Fig. 13 illustrates an example of a hash management table held by the security manager 5.
- the hash management table provides a listing of hash values 1301 of different root certificates along with local storage roots 1302 corresponding to the respective hash values 1301.
- the local storage root "/0001" and “/0003" correspond to the directories "/R1" and "/R2" shown in Fig. 6 , respectively.
- the local storage roots 1302 are in a one-to-one correspondence with the hash values 1301 of root certificates. Consequently, if two or more BD-ROMs have the same disc root certificate 301, the same local storage root 1302 is returned for every application that is an instance of class files 401 contained in a Java (TM) archive file 302. On the other hand, if BD-ROMs have different disc root certificates 301, different local storage roots 1302 are returned for each application that is an instance of class files contained in a respective Java (TM) archive file 302.
- TM Java
- Fig. 14 shows a flowchart of processing steps performed for function call "Organization ID Acquisition”. Now, a description of the flowchart is given.
- the security manager 5 judges whether the calling Java (TM) application is provided with a bd.XXXX.perm file (SF01) . If no bd.XXXX.perm file is provided, it is not possible to specify the organization ID. Thus, the "organization ID acquisition" is refused (SF02). On the other hand, if a bd.XXXX.perm file is provided, the security manager 5 acquires the organization ID corresponding to the Java (TM) application from the application manager 2 and returns the acquired organization ID to the Java (TM) application (SF03).
- the Java (TM) application passes the full path of the requested file as the parameter to the security manager 5.
- the full path is in the format "Organization ID/Application ID/”.
- the application attempts to access the file stored in the application executing device, through the same procedure used to access files in the MHP local storage.
- Figs. 15 and 16 show a flowchart of processing steps for executing the function call "Read Access to File” . Now, a description of the flowchart is given.
- the security manager 5 judges whether the calling Java (TM) application is provided with a bd.XXXX.perm (SH01) . If no bd.XXXX.perm file is provided, the requested "Read Access to File” is refused (SH02).
- the security manager 5 acquires the hash value of the disc root certificate 301 from the application manager 2 (SH03).
- the security manager 5 retrieves a local storage root 1302 corresponding to the hash value of the disc root certificate 301 from the hash management table (SH04).
- the security manager 5 judges whether the root name at the beginning of the full path specifying the file name matches the name of the virtual local storage root (SH05). This judgment is made in order to check whether the requested file is specified by the file path in the format compliant with the device (in this example, the format compatible with the MHP format) . If there is a match, the root name is converted into a corresponding local storage root, which is a format compliant with the disc root certificate (SH13). If there is no match, the requested file access is refused (SH02).
- the security manager 5 divides the full path of the file (SH06) .
- the full path of the file is specified in the format "local storage root 1302" "specified organization ID” and “specifiedpath” that are concatenated with "/" in the stated order.
- the full path is dividable into the local storage root 1302, the specified ID, and the specified path. If the full path is not dividable, the requested read access is refused (SH02).
- the security manager 5 acquires the organization ID of the calling Java (TM) application from the application manager 2 (SH07). Then, the security manager 5 attempts to acquire, from the application manager 2, a Credential of which provider ID 502 matches the specified organization ID (SH10). If such a Credential cannot be acquired, a requested read access is refused (HS02).
- the security manager 5 judges whether the path specified by the Java (TM) application is found in the provided file names 507 indicated in the Credential and whether the corresponding access type 508 indicates readaccesspermission (SH11) . If read access ispermitted, the security manager 5 acquires the hash value 501 of the provider root certificate from the Credential (SH12).
- the security manager 5 judges whether the specified organization ID matches the organization ID of the Java (TM) application (SH08) . If the two IDs match, the security manager 5 reads a file from the hard disk via the full path specified by the application and returns the read file to the Java (TM) application (SH09) . If the two IDs do not match, the requested read access is refused (SH02).
- the security manager 5 judges whether the hash value 501 of the provider root certificate is already registered in the hash management table (SH13) . If the hash value 501 is already registered, the security manager 5 acquires the local storage root 1302 that corresponds to the hash value 501 of the provider root certificate and determines the acquired local storage root 1302 as the provider local storage root (SH14).
- the security manager 5 adds a new entry to the hash management table (SH15) .
- the new entry is composed of the hash value 501 of the provider root certificate and the local storage root that is unique within the table.
- the security manager 5 determines the newly added local storage root 1302 as the provider local storage root (SH16) .
- the security manager 5 After determining the provider local storage root, the security manager 5 converts the full path of the file name by replacing the local storage root 1302 with the provider local storage root (SH17).
- the security manager 5 reads the converted full path from the hard disk 4 and returns the read full path to the Java (TM) application (SH18).
- TM Java
- the parameters include the full path of a requested file along with data requested to be written to the file. If successful, the security manager 5 writes the data to the file.
- Figs. 17 and 18 show a flowchart of processing steps for function call "Write Access to File” . Now, a description of the flowchart is given.
- the security manager 5 judges whether the calling Java (TM) application is provided with a bd.XXXX.perm file (SI01). If there is no bd.XXXX.perm, the requested "Write Access to File” is refused (SI02).
- the application manager 2 acquires the hash value of the disc root certificate 301 (SI03).
- the security manager retrieves a local storage root 1302 that corresponds to the hash value of the disc root certificate 301 from the hash management table (SI04).
- the security manager 5 judges whether the root name at the beginning of the full path specifying the file name matches the name of the virtual local storage root (SI05). If there is a match, the root name is converted into a corresponding local storage root (SI13) . If there is no match, the requested file access is refused (SI02) .
- the security manager 5 divides the full path of the file (SI06) .
- the full path of the file is specified in the format "local storage root 1302" "specified organization ID” and “specified path” that are concatenated with "/" in the stated order.
- the full path is dividable into the local storage root 1302, the specified ID, and the specifiedpath. If the full path is not dividable, the requested write access is refused (SI02).
- the security manager 5 acquires the organization ID of the calling Java (TM) application (SI07). Then, the security manager 5 attempts to acquire, from the application manager 2, a Credential of which provider ID 502 matches the specified organization ID (SI10) . If such a Credential does not exist, a requested write access is refused (SI02) .
- the security manager 5 judges whether the path specified by the Java (TM) application is found in the provided file names 507 indicated in the Credential and whether the corresponding access type 508 indicates write access permission (SI11). If write access is not permitted, the security manager 5 judges whether the specified organization ID matches the organization ID of the Java (TM) application (SI08) . If the two IDs match, the security manager 5 makes write access to the file via the full path (SI09). If the two IDs do not match, the requested write access is refused (SI02).
- the security manager 5 acquires the hash value of the provider root certificate from the Credential (SI12).
- the security manager 5 judges whether the hash value 501 of the provider root certificate is already registered in the hash management table (SI13) . If the hash value 501 is already registered, the security manager 5 acquires the local storage root 1302 that corresponds to the hash value 501 of the provider root certificate and determines the acquired local storage root 1302 as the provider local storage root (SI14).
- the security manager 5 adds a new entry to the hash management table (SI15) .
- the new entry is composed of the hash value 501 of the provider root certificate and the local storage root 1302 that is unique within the table.
- the security manager 5 determines the newly added local storage root 1302 as the provider local storage root (SI16) .
- the security manager 5 modifies the full path of the file by replacing the local storage root 1302 with the provider local storage root (SI17).
- the security manager 5 reads the converted full path of the file from the hard disk 4 and returns the read full path to the Java (TM) application (SI18).
- TM Java
- the local storage 4 has directories assigned to different root certificate hashes .
- directories assigned to different root certificate hashes .
- the root certificate is assigned not to the device itself but to a domain area of the storage unit.
- the BD-ROM is loaded to the application executing device, it is ensured that the application executing device runs. There still is a risk that the disc root certificate would be exposed. Yet, in that case, it is sufficient to disable that particular BD-ROM or renew the disc root certificate of that particular BD-ROM.
- Applications supplied via other BD-ROMs remain usable with their original disc root certificates. Consequently, it is reliably ensure that the applications are executable.
- the application executing device contributes significantly to the worldwide scale standardization of application executing devices for executing applications for movie-related processing.
- the BD-ROM may additionally store other data such as video data.
- selection of Java (TM) archive files 302 maybe made in accordance with an event that occurs during video data playback (playback start of Chapter 2, for example) or a user selection made on a screen.
- the digital certificate chain may contain a single certificate.
- the single certificate is both a root certificate and a leaf certificate.
- the bd.XXXX.perm file may have other types of permissions.
- the bd.XXXX.perm file may contain a plurality of digital credential certificates 312.
- an organization ID may be contained in a different file on the BD-ROM. In such a case, it is not necessary to refuse "Organization ID Acquisition". Instead, it is applicable to return an organization ID determined in a different scheme.
- Figs. 15-18 mainly illustrate file read access. Yet, it is possible that a Java (TM) application makes access to directories. In the case where access is made to a directory, the full path of a file name may not contain a specified path.
- TM Java
- Figs. 15 and 16 illustrate a function call to read an entire file. Similarly, a function call may be made so as to make a typical file access to fetch partial data of a file.
- control flow shown in Fig. 11 is one example and may very depending on a Java (TM) application architecture.
- TM Java
- the access control system described above may be used in combination with other file access permission system (such as the User-Group-World access model often employed by UNIX (TM)). In such a case, the access control system described above is used in combination with a second access control system according to the following priority.
- file access permission system such as the User-Group-World access model often employed by UNIX (TM)
- TM UNIX
- Each hash value used in the present embodiment is generated by applying a secure hash function such as SHA-1 and MD5.
- SHA-1 and MD5 With a secure hash function, it is practically impossible to find different data pieces that would result in the same hash value.
- the hash value of a root certificate described in the present embodiment may not have to be calculated from the entire root certificate.
- the hash value may be calculated at least from a public key contained in the root certificate.
- the disc creator can explicitly select one or more secure hash functions used to calculate hash values to be contained in the MANIFEST.MF, SIG-BD.SF, SIG-BD.RSA files.
- the present embodiment it is always the same secure hash function that is applied to calculate the hash values 501 and 503 of the provider and recipient root certificates, respectively. Yet, it is possible that the digital credential certificate contained in the bd.XXXX.perm file indicates a secure hash function used in the hash value calculation.
- the comparison of root certificates in Step SA05 may be made so as to judge whether the two root certificates are identical or whether public keys contained in the respective root certificates are identical. Alternatively, it is applicable to ignore the first certificate (root certificate) in the digital signature file and to judge whether the second certificate subsequent to the root certificate is singed by the disc root certificate 301. In either way, it is ensured that the disc root certificate 301 sings the second one of the digital confiscates contained in the digital signature file. Thus, the same effect is achieved in terms of security.
- Step SA05 The comparison in Step SA05 is made mainly in order to prevent an attack made using interprocess communication.
- An attack may be made through malicious use of interprocess communication with a BD-ROM illicitly created in the following manner.
- the two Java (TM) archive files 302 are both singed by digital certificates but the respective root certificates are mutually different. If an application executing device gives permission for interprocess communication to Java (TM) applications that are created by instantiating the respective Java (TM) archive files 302, the illicit Java (TM) archive file 302 have access to the authentic Java (TM) archive file 302 being the attack target. As a result, under control by the hacker, the authorized Java (TM) archive file 302 ends up making unexpected processing to the memory area assigned thereto.
- Step SA05 may be replaced with a step of prohibiting interprocess communication between Java (TM) applications that use different root certificates. It is applicable that a single BD-ROM has a plurality of disc root certificates 301.
- Step SC01 of the function of local storage name acquisition a virtual local storage name, which is a file path in the compatible format with the MHP format, is once returned to the Java (TM) application. Then, in Steps SH05 and SI05, the virtual local storage name is replaced with the name of local storage actually provided in the application executing device.
- Step SC01 it is applicable to modify Step SC01 soas to directly return the local storage name retrieved from the hash management table to the Java (TM) application. This modification eliminates the step of replacing the virtual storage name with a local storage name.
- an application executing device As a BD-ROM player, it is desirable to provide the application executing device with a "module manager" for selecting a title in response to BD-ROM loading, a user operation, and a device status .
- the decoder of the BD-ROM player executes playlist playback of an AV clip in accordance with the title selection made by the "module manager".
- the application manager 2 Upon title selection by the "module manager", the application manager 2 performs signaling using AMTs corresponding to the previous and current titles.
- the signaling is to carry out such control that execution of applications listed in the AMT corresponding to the previous title but not in the AMT corresponding to the current title is terminated. Instead, execution of applications not listed in the AMT corresponding to the previous title but in the AMT corresponding to the current title is initiated. It is preferable to go through the verification steps of disc root certificates as described above, each time application signaling is performed.
- BD-BOX BD-BOX
- the same disc root certificate 301 is assigned to all the BD-ROMs. If the same disc root certificate 301 is assigned to the plurality of BD-ROMs, some of applications may run continually before and after disc exchange. Such an application running over a period covering both before and after disc exchange is called a "disc unboundary application".
- the application manager 2 Upon disc exchange, the application manager 2 preferably reads a disc root certificate 301 from a newly loaded BD-ROM and judges that the newly read disc root certificate is identical to a disc root certificate 301 contained in the Java (TM) archive file 302 defining the disc unboundary application. If it is judged that the two disc root certificates are identical, execution of the disc unboundary application is allowed to continue. If it is judged, on the other hand, that the two disc root certificates are not identical, execution of the disc unboundary application is forcefully terminated. With this arrangement, it is ensured that only an authorized application is allowed to continually run before and after BD-ROM exchange.
- TM Java
- the local storage is described as a built-in hard disk.
- a portable medium may be employed instead, on condition that the portable medium is a secure recording medium.
- An SD memory card is one example.
- the BD-J Extension contains various packages dedicated to Java (TM) platform for providing functionalities beyond the GEM [1.0.2].
- the packages provided by BD-J Extension include the following.
- This package provides extra functionalities to the Java(TM) Media FrameWork. More specifically, the functionalities for effecting angle control and selection of audio and subtitles are added into this package.
- This package provides an API used for mapping "Services” of GEM [1.0.2] to “Titles”. This package also provides the mechanism for querying the title information from BD-ROM and selecting a new title.
- This package contains an API for lifecycle management of applications in the signaling necessary to run the application as well as a query API to disc specific lifecycle signaling.
- This package defines constants for BD-ROM specific key events and includes a class for frame synchronous animations.
- This package provides binding mechanisms (Binding Scheme) between contents not recorded on BD-ROM (off-the-disc contents) and the corresponding contents recorded on BD-ROM (on-the-disc contents), for realizing seamless playback irrespective of data storage locations.
- the Binding Scheme binds contents stored on BD-ROM (AV clips, subtitles, BD-J applications) with related contents stored on the local storage disc.
- the Binding Scheme enables seamless playback regardless of the storage locations of contents.
- the permission request file may determine whether or not to permit the following functionalities.
- the BDMV directory may be used to store an AV clip, which is an MPEG2-TS AV stream, and playlist information defining a playback path of the AV clip.
- the Java (TM) application may be written to execute playback according to the playlist information.
- playlist information is contained in a file called "00001.mpls”.
- the Java (TM) application then creates a JMF player instance according to a JMF library.
- the method JMF A"BD://00001.mpls” instructs the virtual machine to create a player instance for executing PL playback.
- the method "A.play” instructs the JMF player instance to execute playback.
- an application recorded on the BD-ROM constitutes a movie.
- any other applications may be stored on the BD-ROM as long as the applications are executable without being installed on the local storage. Examples of such applications include game software.
- the present embodiment employs a BD-ROM as a disc medium, any other portable and copyrighted recording media may be employed.
- a virtual package refers to a technique of expanding the functionalities of a read-only recording medium, such as a BD-ROM, by dynamically synchronizing a digital stream stored on the read-only recording medium and a digital stream stored on a rewritable recording medium.
- Examples of the read-only and rewritable media include a BD-ROM and a hard disk, respectively.
- the digital stream on the BD-ROM provides a main feature movie, where as the digital stream on the hard disk provides a sequel to the main feature movie.
- the virtual package allows the main feature on the BD-ROM and the sequel on the hard disk to be manipulated and played back as if they constitute a single movie.
- the security manager 5 generates virtual package information.
- the virtual package information is an extended version of volume management information of the BD-ROM.
- volume management information defines the file-directory structure of a recording medium and is composed of directory management information and file management information.
- the directory management information relates to directories, and the file management information relates to files.
- the virtual package information is to expand the directory-file structure of the BD-ROM by adding new file management information.
- the virtual package information allows an application to access, just in a way to access the BD-ROM, the local storage having organization areas below domain areas corresponding to respective disc root certificates.
- processing steps described with reference to the flowcharts or performed by the functional components are actually realized using hardware resources. Accordingly, the processing steps are said to be a highly advanced creation of technical ideas by which a low of nature is utilized, and thus satisfies the requirements of "program invention” .
- a program according to the present invention is a program in a format executable by a computer (i.e. object program) .
- the program is composed of one or more coded instructions for causing a computer to execute the steps of the flowcharts or to implement the functional components .
- Examples of the program code employed includes various codes, such as a native code of a particular processor and Java ByteCode.
- the processing steps of the programs may be implemented in various manners. If a processing step is implemented using an external function, a corresponding coded instruction will be a CALL statement for invoking the external function.
- coded instructions that together implementing a single step are contained in separate object programs.
- each processing step in the flowcharts may be implemented using a combination of an arithmetic instruction, a logical instruction, and a branch instruction.
- a program according to the present invention may be produced in the following manner.
- a software developer writes, in a programming language, a source program for implementing the flowcharts or the functional components described above.
- the software developer may use class structures, variables, array variables, and calls for external functions, in accordance with the syntax of that programming language.
- the resulting source program is supplied as a file to a compiler.
- the compiler translates the source program into an object program.
- the compilation involves processes of parsing, optimization, resource allocation, and code generation.
- the parsing involves lexical analysis, syntactic analysis, and semantic analysis of the source program, and conversion of the source program into an intermediate program.
- the optimization involves processes of dividing the intermediate program into basic blocks, and control flow analysis and data flow analysis of the intermediate program.
- the resource allocation involves a process of allocating registers or memory of a target processor to variables appearing in the intermediate program, whereby the intermediate program is adapted to the instructions sets of the processor.
- the code generation involves a process of converting intermediate statements of the intermediate program into program code, whereby an object program is generated.
- the programmer activates a linker.
- the linker allocates memory areas for the object program and related library programs, and binds them together to generate a load module .
- the thus generated load module is to be read by a computer thereby to cause the computer to perform the processing steps shown in the above flowcharts or the processing steps performed by the functional components.
- the program according to the present invention may be used in the following manners.
- the program according to the present invention When the program according to the present invention is used as an embedded program, a load module that is equivalent to the program is recorded into an instruction ROM, along with a basic input output program (BIOS) and various pieces of middleware (operation systems).
- the instruction ROM is then built into the control unit and executed by the CPU.
- the program according to the present invention is used as the control program of the application executing device.
- the application executing device is provided with an internal hard disk
- a Basic Input/Output System (BIOS) is embedded in advance within the instruction ROM, and middleware (operation system) is preinstalled onto the hard disk.
- middleware operation system
- the application executing device is provided with a boot ROM for activating the system from the hard disk.
- the load module is solely supplied to the application executing device via a portable recording medium or a network, and the load module is installed as a single application program onto the hard disk. Then, the application executing device bootstraps to activate the operation system and instructs the CPU to execute the application. In this way, the program according to the present invention is used as a single application program.
- the program according to the present invention can be used as a single application program.
- the program according to the present invention may be solely transferred, leased, or supplied over a network.
- the above-described components namely the application manager 2, the virtual machine 3, and the security manager 4 may be implemented as a single system LSI.
- a system LSI is composed of a bare chip packaged on a high-density substrate.
- a system LSI may be composed of a plurality of bare chips that is packaged on a high-density substrate and has an external structure just as a single LSI (this type system LSI may be referred to also as a multi-chip module).
- QFP quad flat package
- PGA Peripheral Component Interconnect Express
- the pins act as an I/O interface with other circuits. Since the pins of the system LSI act as interface, by connecting other circuits to the pins, the system LSI plays a roll as the core of the application executing device.
- a bare chip packaged into a system LSI is composed of a "front-end processor”, “back-end processor”, and “digital processor”.
- the front-end processor digitizes analog signals.
- the back-end process produces analog output based on the digital data obtained by digital processing.
- the instruction ROM stores a load module equivalent to the program of the present invention, a BIOS, and various pieces of middleware (operation systems).
- the part to which the above embodiments are particularly relevant is the load module equivalent to the program.
- the system LSI is fabricated as SoC or SiP.
- SoC System on Chip
- SiP System in Package
- SoC System on Chip
- multiple circuits are integrated on a single chip.
- SiP System in Package
- multiple chips are joined into a single package with, for example, resin.
- integrated circuits produced in the above manner may be referred to as IC, LSI, super LSI, or ultra LSI, depending on the packaging density.
- the elements may be integrated using a dedicated circuit or a general-purpose processor.
- a dedicated circuit For example, it is applicable to use an FPGA (Field Programmable Gate Array) that can be programmed after an LSI is produced. It is also applicable to use a reconfigurable processor that allows reconstruction of connection between circuit cells within the LSI and their settings.
- FPGA Field Programmable Gate Array
- reconfigurable processor that allows reconstruction of connection between circuit cells within the LSI and their settings.
- any new circuit integration technology becomes available or derived as the semiconductor technology advances, such new technology may be employed to integrate the functional blocks of the present invention.
- One possible candidate of such new technology may be achieved by adapting biotechnology.
- a further aspect of the present invention relates to a management method for causing a computer to read and execute an application from a disc medium, the disc medium having recorded thereon the application and a disc root certificate issued by a root certificate authority and assigned to the disc medium.
- the management method comprises a management step of acquiring a hash value from the disc root certificate and verifying authenticity of the application by using the hash value.
- the method further comprises an execution step of executing the application if the authenticity is verified in the management step.
- the method comprises an allocation step of allocating, to the application, a domain area that corresponds to the acquired hash value out of a plurality of domain areas in a storage unit.
- a still further aspect of the invention relates to a program for causing a computer to read and execute an application from a disc medium.
- the disc medium has recorded thereon the application and a disc root certificate issued by a root certificate authority and assigned to the disc medium.
- the program comprises code operable to cause the computer to execute a management step of acquiring a hash value from the disc root certificate and verify authenticity of the application by using the hash value; an execution step of executing the application if the authenticity is verified in the management step; and an allocation step of allocating, to the application, a domain area that corresponds to the acquired hash value out of a plurality of domain areas in a storage unit.
- the internal structure of an application executing device according to the present invention is disclosed above. Consequently, the application executing device can be manufactured in volume in accordance with the internal structures and is worth industrial use. In view of the above, the application executing device according to the present invention satisfies industrial applicability.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Claims (5)
- Dispositif d'exécution d'application pour la lecture d'une application (401) à partir d'un support d'enregistrement et l'exécution de l'application (401),
le support d'enregistrement y stockant un certificat racine de disque (301) et un fichier d'archives, le fichier d'archives contenant l'application (401) et une information d'identification,
l'information d'identification indiquant que l'autorisation d'utiliser un fichier cible est donnée et comprend:un identifiant de fournisseur (502) identifiant une organisation de fournisseur qui donne l'autorisation; etun chemin de fichier vers le fichier cible, l'identifiant du fournisseur faisant partie du chemin de fichier,le fichier d'archive contenant en outre:un premier certificat de feuille contenant un identifiant de récipient identifiant une organisation destinataire qui reçoit l'autorisation et permet à l'application d'utiliser le fichier cible visé par l'autorisation;un premier certificat racine associé au premier certificat de feuille;un deuxième certificat de feuille contenant l'identifiant du fournisseur (502); et un deuxième certificat racine associé au deuxième certificat de feuille, etle certificat racine de disque (301) étant un troisième certificat racine émis par une autorité de certification racine et affecté au support d'enregistrement,le dispositif d'exécution d'application comprenant:une unité de gestion (2) permettant de vérifier l'authenticité de l'application (401) en jugeant si le certificat racine de disque (301) correspond au premier certificat racine;une unité d'exécution (3) permettant d'exécuter l'application (401) si l'authenticité de l'application (401) est vérifiée par l'unité de gestion (2); etune unité de mémorisation (4) présentant:une première zone de domaine spécifiée par un chemin de fichier (1302) dans lequel une racine de mémorisation local correspondant à une valeur de hachage (1301) du certificat racine de disque est incorporé; etune deuxième zone de domaine spécifiée par un chemin de fichier (1302) dans lequel une racine de mémorisation local correspondant à une valeur de hachage (1301) du deuxième certificat racine est incorporée, dans lequel si l'authenticité de l'application (401) est vérifiée par l'unité de gestion (2), la demande d'exécution d'application affecte la première zone de domaine à l'application (401),lorsque l'application (401) en cours d'exécution établit une demande d'accès au fichier cible en spécifiant un chemin de fichier contenant l'ID de fournisseur (502) spécifié dans l'information d'identification, le dispositif d'exécution d'application (i) convertit le chemin de fichier en incorporant la racine de mémorisation locale correspondant à la valeur de hachage du deuxième certificat racine associé au deuxième certificat de feuille contenant l'ID de fournisseur (502) et comportant également le répertoire correspondant à l'ID fournisseur spécifié et (ii) permet à l'application (401) d'utiliser le fichier cible, spécifié par le chemin de fichier obtenu par la conversion, dans la deuxième zone de domaine. - Dispositif d'exécution d'application selon la revendication 1, dans lequel
le premier certificat de feuille est associé, par une chaîne de certificats, au premier certificat racine, l'information d'identification comprend en outre l'ID de destinataire, et
si l'authenticité de l'application (401) est vérifiée par l'unité de gestion (2), la demande d'exécution d'application affecte une zone de mémorisation située dans la première zone de domaine à l'application (410), la zone de mémorisation située dans la première zone de domaine allouée correspond à l'ID de destinataire. - Dispositif d'exécution d'application selon la revendication 1, dans lequel
le deuxième certificat de feuille est associé, par une chaîne de certificats, au deuxième certificat racine,
l'information d'identification comporte en outre des informations (508) sur l'autorisation concernant l'utilisation du fichier cible, et
sous réserve que l'information d'identification ne soit pas altérée, le dispositif d'exécution d'application réalise (i) la conversion de chemin de fichier et (ii) la remise de l'autorisation sur la base de l'information (508) concernant l'autorisation, lorsque l'application (401) en cours d'exécution établit une demande d'accès au fichier cible en spécifiant un chemin de fichier contenant l'ID de fournisseur (502) spécifié dans l'information d'identification. - Procédé de gestion pour amener un ordinateur à lire une requête (401) à partir d'un support d'enregistrement et exécuter l'application (401),
l'ordinateur ayant une unité de mémorisation (4) contenant une zone de domaine spécifiée avec un chemin de fichier,
le support d'enregistrement y stockant un certificat racine de disque (301) et un fichier d'archives, le fichier d'archives contenant l'application (401) et une information d'identification,
l'information d'identification indiquant que l'autorisation d'utiliser un fichier cible est donnée et comprend:un identifiant de fournisseur (502) identifiant une organisation de fournisseur qui donne l'autorisation; etun chemin de fichier vers le fichier cible, l'ID de fournisseur faisant partie du chemin de fichier, le fichier d'archives contenant en outre:un premier certificat de feuille contenant un identifiant de récipient identifiant une organisation destinataire qui reçoit l'autorisation et permet à l'application d'utiliser le fichier cible visé par l'autorisation;un premier certificat racine associé au premier certificat de feuille;un deuxième certificat de feuille contenant l'identifiant du fournisseur (502); et un deuxième certificat racine associé au deuxième certificat de feuille, etle certificat racine de disque (301) étant un troisième certificat racine émis par une autorité de certification racine et affecté au support d'enregistrement,le procédé de gestion comprenant:une première étape (SA05) consistant à vérifier l'authenticité de l'application (401) en jugeant si le certificat racine de disque (301) correspond au premier certificat racine;une deuxième étape (SA10) consistant à exécuter l'application (401) si l'authenticité de l'application (401) est vérifiée dans la première étape (SA05);une troisième étape (SC01, SC02, SC03) consistant à allouer une première zone de domaine spécifiée par un chemin de fichier dans lequel une racine de mémorisation local correspondant à une valeur de hachage du certificat racine de papille (301) est incorporée, la troisième étape (SC01, SC02, SC03) étant réalisée si l'authenticité de l'application (401) est vérifiée dans la première étape (SA05); etune quatrième étape (SH17, SH18, SI17, SI18) réalisée lorsque l'application (401) en cours d'exécution établit une demande d'accès au fichier cible en spécifiant un chemin de fichier contenant l'ID de fournisseur (502) spécifié dans l'information d'identification, la quatrième étape comprend (i) la conversion (SH17; S117) du chemin de fichier en incorporant la racine de mémorisation locale correspondant à la valeur de hachage du deuxième certificat racine associé au deuxième certificat de feuille contenant l'ID de fournisseur (502) et (ii) permet à l'application (401) d'utiliser le fichier cible, spécifié par le chemin du fichier obtenu par la conversion, dans la deuxième zone de domaine correspondant à la valeur de hachage du deuxième certificat racine. - Programme de gestion pour amener un ordinateur à lire une application (401) à partir d'un support d'enregistrement et exécuter l'application (401), l'ordinateur ayant une unité de mémorisation (4) contenant une zone de domaine spécifiée avec un chemin de fichier,
le support d'enregistrement y stockant un certificat racine de disque (301) et un fichier d'archives, le fichier d'archives contenant l'application (401) et une information d'identification,
l'information d'identification indiquant que l'autorisation d'utiliser un fichier cible est donnée et comprend:un identifiant de fournisseur (502) identifiant une organisation de fournisseur qui donne l'autorisation; etun chemin de fichier vers le fichier cible, l'ID de fournisseur faisant partie du chemin de fichier, le fichier d'archives contenant en outre:un premier certificat de feuille contenant un identifiant de récipient identifiant une organisation destinataire qui reçoit l'autorisation et permet à l'application d'utiliser le fichier cible visé par l'autorisation;un premier certificat racine associé au premier certificat de feuille;un deuxième certificat de feuille contenant l'identifiant du fournisseur (502); etun deuxième certificat racine associé au deuxième certificat de feuille, etle certificat racine de disque (301) étant un troisième certificat racine émis par une autorité de certification racine et affecté au support d'enregistrement,le programme de gestion comprenant un code permettant d'amener l'ordinateur à effectuer:une première étape (SA05) consistant à vérifier l'authenticité de l'application (401) en jugeant si le certificat racine de disque (301) correspond au premier certificat racine;une deuxième étape (SA10) consistant à exécuter l'application (401) si l'authenticité de l'application (401) est vérifiée dans la première étape (SA05);une troisième étape (SC01, SC02, SC03) consistant à allouer une première zone de domaine spécifiée par un chemin de fichier dans lequel une racine de mémorisation local correspondant à une valeur de hachage du certificat racine de papille (301) est incorporée, la troisième étape (SC01, SC02, SC03) étant réalisée si l'authenticité de l'application (401) est vérifiée dans la première étape (SA05); etune quatrième étape (SH17, SH18, SI17, SI18) réalisée lorsque l'application (401) en cours d'exécution établit une demande d'accès au fichier cible en spécifiant un chemin de fichier contenant l'ID de fournisseur (502) spécifié dans l'information d'identification, la quatrième étape comprenant (i) la conversion (SH17; S117) du chemin de fichier en incorporant la racine de mémorisation locale correspondant à la valeur de hachage du deuxième certificat racine associé au deuxième certificat de feuille contenant l'ID de fournisseur (502) et (ii) permet à l'application (401) d'utiliser le fichier cible, spécifié par le chemin du fichier obtenu par la conversion, dans la deuxième zone de domaine correspondant à la valeur de hachage du deuxième certificat racine.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005036621 | 2005-02-14 | ||
EP06713590.5A EP1818833B1 (fr) | 2005-02-14 | 2006-02-13 | Dispositif d'execution d'application, procede de gestion et programme |
Related Parent Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06713590.5A Division EP1818833B1 (fr) | 2005-02-14 | 2006-02-13 | Dispositif d'execution d'application, procede de gestion et programme |
EP06713590.5A Division-Into EP1818833B1 (fr) | 2005-02-14 | 2006-02-13 | Dispositif d'execution d'application, procede de gestion et programme |
EP06713590.5 Division | 2006-02-13 |
Publications (3)
Publication Number | Publication Date |
---|---|
EP2166474A2 EP2166474A2 (fr) | 2010-03-24 |
EP2166474A3 EP2166474A3 (fr) | 2011-04-27 |
EP2166474B1 true EP2166474B1 (fr) | 2018-04-04 |
Family
ID=36793209
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06713590.5A Active EP1818833B1 (fr) | 2005-02-14 | 2006-02-13 | Dispositif d'execution d'application, procede de gestion et programme |
EP09013703.5A Not-in-force EP2166474B1 (fr) | 2005-02-14 | 2006-02-13 | Dispositif d'exécution d'application, procédé de gestion et programme |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06713590.5A Active EP1818833B1 (fr) | 2005-02-14 | 2006-02-13 | Dispositif d'execution d'application, procede de gestion et programme |
Country Status (7)
Country | Link |
---|---|
US (3) | US8122263B2 (fr) |
EP (2) | EP1818833B1 (fr) |
JP (4) | JP4806396B2 (fr) |
CN (8) | CN101789065B (fr) |
BR (1) | BRPI0605904A (fr) |
TW (2) | TWI470625B (fr) |
WO (1) | WO2006085647A1 (fr) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1818833B1 (fr) * | 2005-02-14 | 2017-04-19 | Panasonic Intellectual Property Management Co., Ltd. | Dispositif d'execution d'application, procede de gestion et programme |
JP4464297B2 (ja) | 2005-03-10 | 2010-05-19 | パナソニック株式会社 | 再生装置、再生方法、及び再生プログラム |
WO2007091426A1 (fr) * | 2006-02-09 | 2007-08-16 | Matsushita Electric Industrial Co., Ltd. | Support d'enregistrement d'informations et méthode de commande de reproduction |
FR2902590B1 (fr) * | 2006-06-16 | 2008-08-01 | Alcatel Sa | Detection de boucles au sein d'un element intermediaire de signalisation sip |
US8046422B2 (en) * | 2006-08-21 | 2011-10-25 | Netapp, Inc. | Automatic load spreading in a clustered network storage system |
JP5006388B2 (ja) * | 2007-04-19 | 2012-08-22 | パナソニック株式会社 | データ管理装置 |
JP5400611B2 (ja) * | 2007-05-24 | 2014-01-29 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置 |
EP2232761B1 (fr) * | 2008-01-18 | 2021-02-24 | Identrust, Inc. | Liaison d'un certificat numérique à de multiples domaines de confiance |
RU2479021C2 (ru) * | 2008-01-21 | 2013-04-10 | Сони Корпорейшн | Устройство обработки информации, диск, способ обработки информации и программа |
JP4883015B2 (ja) * | 2008-01-21 | 2012-02-22 | ソニー株式会社 | 情報処理装置、ディスク、および情報処理方法、並びにプログラム |
JP4952593B2 (ja) * | 2008-01-21 | 2012-06-13 | ソニー株式会社 | 情報処理装置、ディスク、および情報処理方法、並びにプログラム |
US20090238365A1 (en) * | 2008-03-20 | 2009-09-24 | Kinamik Data Integrity, S.L. | Method and system to provide fine granular integrity to digital data |
US20090288076A1 (en) * | 2008-05-16 | 2009-11-19 | Mark Rogers Johnson | Managing Updates In A Virtual File System |
JP4600544B2 (ja) | 2008-08-22 | 2010-12-15 | ソニー株式会社 | 情報処理装置、ディスク、および情報処理方法、並びにプログラム |
JP2010191665A (ja) * | 2009-02-18 | 2010-09-02 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム、並びに記録媒体 |
US20100228704A1 (en) * | 2009-02-20 | 2010-09-09 | All Media Guide, Llc | Recognizing a disc |
JP4888797B2 (ja) | 2010-02-18 | 2012-02-29 | Necインフロンティア株式会社 | キーボタン |
US9081989B2 (en) | 2010-03-25 | 2015-07-14 | Virtustream Canada Holdings, Inc. | System and method for secure cloud computing |
KR101453742B1 (ko) | 2010-05-14 | 2014-10-22 | 에스케이플래닛 주식회사 | 웹 어플리케이션 실행을 위한 보안 제공 장치 및 방법 |
JP5620781B2 (ja) * | 2010-10-14 | 2014-11-05 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
US8694548B2 (en) * | 2011-01-02 | 2014-04-08 | Cisco Technology, Inc. | Defense-in-depth security for bytecode executables |
US9497224B2 (en) | 2011-08-09 | 2016-11-15 | CloudPassage, Inc. | Systems and methods for implementing computer security |
US8412945B2 (en) | 2011-08-09 | 2013-04-02 | CloudPassage, Inc. | Systems and methods for implementing security in a cloud computing environment |
EP2680180A1 (fr) * | 2012-06-29 | 2014-01-01 | Orange | Système et procédé permettant d'attribuer de manière sécurisée un espace virtualisé |
EP2680181A1 (fr) * | 2012-06-29 | 2014-01-01 | Orange | Système et procédé permettant de créer de manière sécurisée et de commander l'accès à un espace virtualisé |
CN103902878B (zh) * | 2012-12-28 | 2017-08-22 | 新华三技术有限公司 | 一种虚拟环境下的License认证方法和装置 |
US8918837B2 (en) * | 2012-12-28 | 2014-12-23 | Intel Corporation | Web application container for client-level runtime control |
US11347498B2 (en) * | 2013-02-26 | 2022-05-31 | Red Hat, Inc. | Bytecode modification |
EP3007061B1 (fr) | 2013-05-27 | 2019-08-28 | Fujitsu Limited | Programme d'exécution d'application, procédé d'exécution d'application et dispositif terminal de traitement d'informations dans lequel l'application est exécutée |
KR102337990B1 (ko) * | 2014-09-18 | 2021-12-13 | 삼성전자주식회사 | 권한 설정 토큰을 이용하는 전자 장치 |
CN105429934B (zh) * | 2014-09-19 | 2019-07-19 | 腾讯科技(深圳)有限公司 | Https连接验证的方法和装置、可读存储介质、终端 |
US10679661B2 (en) | 2015-01-22 | 2020-06-09 | Sony Corporation | Information processing device and method of data reproduction |
CN104679578B (zh) * | 2015-03-12 | 2018-09-07 | 绚视软件科技(上海)有限公司 | BD-java平台上的最小内存自适应机制及使用方法 |
US10333903B1 (en) * | 2015-06-16 | 2019-06-25 | Amazon Technologies, Inc. | Provisioning network keys to devices to allow them to provide their identity |
DE112015006856T5 (de) * | 2015-08-31 | 2018-05-09 | Mitsubishi Electric Corporation | Applikationsausführungsvorrichtung und Applikationsausführungsverfahren |
KR101658501B1 (ko) * | 2015-09-03 | 2016-09-22 | 주식회사 마크애니 | 해시함수 기반의 전자서명 서비스 시스템 및 그 방법 |
US10050947B2 (en) * | 2016-01-28 | 2018-08-14 | Cisco Technology, Inc. | Key distribution in a distributed network environment |
US10303884B2 (en) * | 2016-09-22 | 2019-05-28 | Apple Inc. | Countersigning updates for multi-chip devices |
CN106681799B (zh) * | 2017-01-03 | 2018-05-18 | 北京百度网讯科技有限公司 | ***磁盘的方法、装置和*** |
US11146407B2 (en) | 2018-04-17 | 2021-10-12 | Digicert, Inc. | Digital certificate validation using untrusted data |
CN109445902B (zh) * | 2018-09-06 | 2021-05-07 | 新华三云计算技术有限公司 | 一种数据操作方法和*** |
US11044096B2 (en) * | 2019-02-04 | 2021-06-22 | Accenture Global Solutions Limited | Blockchain based digital identity generation and verification |
US11122091B2 (en) * | 2019-04-16 | 2021-09-14 | FireMon, LLC | Network security and management system |
CN113127859B (zh) * | 2019-12-30 | 2024-04-12 | Oppo广东移动通信有限公司 | 待检测文件的检测方法、装置、终端及存储介质 |
CN114201761B (zh) * | 2022-02-17 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 在可信计算***中增强度量代理安全性 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097811A (en) * | 1995-11-02 | 2000-08-01 | Micali; Silvio | Tree-based certificate revocation system |
US5825877A (en) | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
US6584495B1 (en) * | 1998-01-30 | 2003-06-24 | Microsoft Corporation | Unshared scratch space |
US6385596B1 (en) * | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6553494B1 (en) * | 1999-07-21 | 2003-04-22 | Sensar, Inc. | Method and apparatus for applying and verifying a biometric-based digital signature to an electronic document |
FR2802666B1 (fr) * | 1999-12-17 | 2002-04-05 | Activcard | Systeme informatique pour application a acces par accreditation |
JP2001325134A (ja) * | 2000-05-15 | 2001-11-22 | Sony Corp | ディレクトリ設定方法、記録装置 |
DE10053151A1 (de) | 2000-10-26 | 2002-05-08 | Bayer Ag | Zusammensetzung enthaltend thermoplastische Kunststoffe |
AU1547402A (en) * | 2001-02-09 | 2002-08-15 | Sony Corporation | Information processing method/apparatus and program |
US6973574B2 (en) * | 2001-04-24 | 2005-12-06 | Microsoft Corp. | Recognizer of audio-content in digital signals |
WO2003023482A1 (fr) | 2001-09-11 | 2003-03-20 | Leica Microsystems Wetzlar Gmbh | Procede et dispositif pour controler optiquement un objet |
US7900048B2 (en) | 2002-05-07 | 2011-03-01 | Sony Ericsson Mobile Communications Ab | Method for loading an application in a device, device and smart card therefor |
EP1361527A1 (fr) * | 2002-05-07 | 2003-11-12 | Sony Ericsson Mobile Communications AB | Procédé de charge d'une application dans un appareil, appareil et carte à puce correspondants |
JP4007873B2 (ja) | 2002-07-09 | 2007-11-14 | 富士通株式会社 | データ保護プログラムおよびデータ保護方法 |
JP2004079055A (ja) * | 2002-08-14 | 2004-03-11 | Toshiba Corp | 光ディスク装置と光ディスク処理方法及び光ディスク |
US20040054920A1 (en) * | 2002-08-30 | 2004-03-18 | Wilson Mei L. | Live digital rights management |
JP4176533B2 (ja) * | 2003-03-31 | 2008-11-05 | 株式会社エヌ・ティ・ティ・ドコモ | 端末装置及びプログラム |
CN1581144A (zh) * | 2003-07-31 | 2005-02-16 | 上海市电子商务安全证书管理中心有限公司 | 数字证书本地认证的方法及*** |
WO2005029842A1 (fr) | 2003-09-17 | 2005-03-31 | Matsushita Electric Industrial Co., Ltd. | Dispositif et procede d'execution d'applications, circuit integre, et programme lisible par ordinateur |
EP1676204A2 (fr) * | 2003-10-13 | 2006-07-05 | Koninklijke Philips Electronics N.V. | Allocation de memoire par application |
CA2548546A1 (fr) | 2003-12-18 | 2005-06-30 | Matsushita Electric Industrial Co., Ltd. | Procede servant a memoriser, authentifier et executer un programme d'application |
MXPA06004543A (es) | 2003-12-18 | 2006-06-23 | Matsushita Electric Ind Co Ltd | Metodo para autentificar y ejecutar un programa de aplicacion. |
TW200839747A (en) * | 2004-05-11 | 2008-10-01 | Matsushita Electric Ind Co Ltd | Reproducer, Program, and Reproducing Method |
GB0411861D0 (en) | 2004-05-27 | 2004-06-30 | Koninkl Philips Electronics Nv | Authentication of applications |
EP1783581A4 (fr) * | 2004-06-30 | 2010-08-25 | Panasonic Corp | Dispositf d'exécution d'un programme et mode d'exécution |
EP1766974A1 (fr) | 2004-07-14 | 2007-03-28 | Matsushita Electric Industrial Co., Ltd. | Proceder pour authentifier et executer un programme d'application |
EP1818833B1 (fr) * | 2005-02-14 | 2017-04-19 | Panasonic Intellectual Property Management Co., Ltd. | Dispositif d'execution d'application, procede de gestion et programme |
WO2006129813A1 (fr) | 2005-05-31 | 2006-12-07 | Matsushita Electric Industrial Co., Ltd. | Appareil d'enregistrement et de lecture de contenus radiodiffuses comprenant une unite de gestion de date d'expiration |
JP4687424B2 (ja) * | 2005-11-25 | 2011-05-25 | ソニー株式会社 | 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム |
-
2006
- 2006-02-13 EP EP06713590.5A patent/EP1818833B1/fr active Active
- 2006-02-13 CN CN2010101163597A patent/CN101789065B/zh not_active Expired - Fee Related
- 2006-02-13 JP JP2007502669A patent/JP4806396B2/ja active Active
- 2006-02-13 EP EP09013703.5A patent/EP2166474B1/fr not_active Not-in-force
- 2006-02-13 CN CN2010101163864A patent/CN101853221B/zh not_active Expired - Fee Related
- 2006-02-13 WO PCT/JP2006/302448 patent/WO2006085647A1/fr active Application Filing
- 2006-02-13 BR BRPI0605904-0A patent/BRPI0605904A/pt not_active IP Right Cessation
- 2006-02-13 CN CN2006800008280A patent/CN101019106B/zh active Active
- 2006-02-13 CN CN2010101163578A patent/CN101853354B/zh not_active Expired - Fee Related
- 2006-02-13 CN CN201010116339XA patent/CN101853353B/zh not_active Expired - Fee Related
- 2006-02-13 CN CN2010101164354A patent/CN101853340B/zh not_active Expired - Fee Related
- 2006-02-13 CN CN2010101163879A patent/CN101853355B/zh not_active Expired - Fee Related
- 2006-02-13 US US11/573,477 patent/US8122263B2/en active Active
- 2006-02-13 CN CN2010101164316A patent/CN101853356B/zh not_active Expired - Fee Related
- 2006-02-14 TW TW101128038A patent/TWI470625B/zh not_active IP Right Cessation
- 2006-02-14 TW TW095104913A patent/TW200701210A/zh unknown
-
2009
- 2009-08-05 JP JP2009182440A patent/JP5065349B2/ja not_active Expired - Fee Related
- 2009-10-29 US US12/608,643 patent/US8214639B2/en not_active Expired - Fee Related
- 2009-10-30 JP JP2009250054A patent/JP5020301B2/ja not_active Expired - Fee Related
-
2010
- 2010-02-26 JP JP2010041702A patent/JP4870823B2/ja active Active
-
2012
- 2012-04-16 US US13/448,019 patent/US8719566B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
"Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.0.3; ETSI ES 201 812", IEEE, LIS, SOPHIA ANTIPOLIS CEDEX, FRANCE, vol. BC, no. V1.1.1, 1 December 2003 (2003-12-01), XP014015402, ISSN: 0000-0001 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2166474B1 (fr) | Dispositif d'exécution d'application, procédé de gestion et programme | |
US7062650B2 (en) | System and method for verifying integrity of system with multiple components | |
CN101589369B (zh) | 再生装置、***lsi、初始化方法 | |
US20140195570A1 (en) | Bonding contents on separate storage media | |
US8042096B2 (en) | Method for automatically selecting a software application | |
KR20060081339A (ko) | 데이터 재생방법 및 재생장치, 기록매체 | |
KR20060081338A (ko) | 공유 콘텐츠 보호방법, 로컬 스토리지를 이용한 기록매체재생방법 및 재생장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 1818833 Country of ref document: EP Kind code of ref document: P |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK YU |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK YU |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 12/14 20060101ALI20110323BHEP Ipc: G06F 21/00 20060101AFI20100217BHEP |
|
17P | Request for examination filed |
Effective date: 20111027 |
|
17Q | First examination report despatched |
Effective date: 20130320 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LT |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602006055096 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G06F0021000000 Ipc: G06F0021510000 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 21/51 20130101AFI20170829BHEP Ipc: G06Q 10/06 20120101ALI20170829BHEP Ipc: G06F 21/52 20130101ALI20170829BHEP Ipc: G06F 21/53 20130101ALI20170829BHEP |
|
INTG | Intention to grant announced |
Effective date: 20171004 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AC | Divisional application: reference to earlier application |
Ref document number: 1818833 Country of ref document: EP Kind code of ref document: P |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 986329 Country of ref document: AT Kind code of ref document: T Effective date: 20180415 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602006055096 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: FP |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180704 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180705 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 986329 Country of ref document: AT Kind code of ref document: T Effective date: 20180404 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180806 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602006055096 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
26N | No opposition filed |
Effective date: 20190107 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 20190218 Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20190219 Year of fee payment: 14 Ref country code: GB Payment date: 20190218 Year of fee payment: 14 Ref country code: CZ Payment date: 20190212 Year of fee payment: 14 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20190220 Year of fee payment: 14 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190213 Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20190228 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190228 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190228 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190213 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190228 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602006055096 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MM Effective date: 20200301 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20200213 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CZ Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200213 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200301 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200229 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200213 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200901 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180404 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180804 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20060213 |