WO2000042498A1 - Method and system for executing mobile code - Google Patents

Method and system for executing mobile code Download PDF

Info

Publication number
WO2000042498A1
WO2000042498A1 PCT/JP1999/000084 JP9900084W WO0042498A1 WO 2000042498 A1 WO2000042498 A1 WO 2000042498A1 JP 9900084 W JP9900084 W JP 9900084W WO 0042498 A1 WO0042498 A1 WO 0042498A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
mobile code
function
mobile
execution
Prior art date
Application number
PCT/JP1999/000084
Other languages
French (fr)
Japanese (ja)
Inventor
Tadashi Kaji
Seiichi Susaki
Takashi Akaosugi
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to AU18896/99A priority Critical patent/AU1889699A/en
Priority to PCT/JP1999/000084 priority patent/WO2000042498A1/en
Priority to JP2000594008A priority patent/JP3873624B2/en
Publication of WO2000042498A1 publication Critical patent/WO2000042498A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Definitions

  • the present invention relates to the background art relating to the security of mobile code that is downloaded from a server to a user terminal via a network and automatically executed.
  • Mobino record is placed on a ring server and is downloaded automatically when the user accesses the page using the user program ⁇ Browser program.
  • the program is called.
  • mopile code that performs unauthorized processing such as accessing resources (files, peripheral devices, etc.) on one user's terminal without permission and stealing information or causing failures, has become a problem. They are coming. For this reason, some systems that use mobile code have the following security functions for the execution of mobile code.
  • Mobile code is basically not allowed to access resources on one user terminal.
  • the mobile code is a so-called signed code to which the signature of the creator of the mobile code (a digital signature called a digital signature) is added, and the creator of the code is The function has been extended so that if the user using the terminal recognizes that the mobile code is trusted by the user, the restriction on the mobile code is not applied.
  • Japanese Patent Laying-Open No. 10-83310 discloses an example of a system using such a signed code.
  • the digital signature technology is described in, for example, “SECURE ELEC-TRON IC COMMERCEj (PRENT ICE HALL, 1997) pp. 111-116.
  • a user using a user terminal downloads a signed code from the server using the Browser program (step 1901)
  • the user first verifies the digital signature attached to the signed code.
  • the mobile code is checked for integrity (not falsified) (step 1902). If the integrity is verified, then the signer of the signature is checked to see if it is a signer already authorized to access the oral file (step 1903), and access is granted. If it is the signed signer, the signed code accesses the oral file and executes the previously programmed processing (step 1905).
  • step 1903 if the signer is not authorized, the user using the user terminal is permitted to access the signed code created by the signer to the oral code. Give Is selected (step 1904). If permission is granted, the signed code accesses the local file and performs the pre-programmed processing (step 1905).
  • step 1902 If the integrity cannot be confirmed in step 1902, and if access permission is not given in step 1904, the user using the user terminal is notified to that effect (step 1906), and the processing is performed. Exit.
  • the security function of the signed code described above determines whether or not the signer of the mopile code allows the execution of the mobile code, and what kind of function the mobile code has I do not know until I try it. Therefore, the user cannot obtain sufficient information on whether or not to execute the mopile code until the user tries to execute the mopile code. Then, if the user decides to trust the signer, there is a problem that even if the signed code is a mobile code that performs illegal processing, it will be executed.
  • Japanese Patent Laying-Open No. 10-83310 discloses a method of distributing a list of resources (ACL) requested by the code together with the code, and assigning resources according to the ACL at the time of execution.
  • ACL resources
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to determine whether to execute a mobile code based on a function of the mobile code.
  • Mobile code configuration and execution method of the mobile code a mobile code system using the mobile code, a source code creation terminal, a function verification server, a mobile code
  • An object of the present invention is to provide a file distribution server, a user terminal, and a program for realizing them. Disclosure of the invention
  • the mobile code according to the present invention is characterized in that a function specification describing a function of the mobile code or an identifier corresponding to the function specification is attached. .
  • the method for executing a mopile code according to the present invention is characterized in that before executing the mobile code, a step of checking a function of the mobile code and determining whether or not to execute the function is provided.
  • a mopile code is acquired, and an electronic signature attached to the mobile code acquired by the mopile code acquisition step is provided.
  • a signature verification step and, if the signature of the mobile code is successfully verified (the verification result is passed) in the signature verification step, describes a function of the mobile code.
  • a function specification acquisition step of acquiring the specified function specification, and a function of the mopile code is confirmed based on the function specification acquired in the function specification acquisition step, and it is determined whether to execute the mobile code. In the function checking step and the function checking step, it is determined that the mobile code is permitted to be executed.
  • a mobile code execution step for executing the mopile code in the event that the mobile phone is disconnected.
  • the mopile code system of the present invention includes a source code creation terminal for creating a source code of a mobile code, a function verification server for verifying the function of the source code, and a mobile code for distributing the mobile code.
  • a mobile server consisting of a distribution server and a user terminal that executes mobile code O Record system,
  • the source code creation terminal includes: a source code creation unit that creates a source code of a mobile code; and a source code transmission unit that sends the source code of the mobile code to the function verification server.
  • the function verification server creates a function specification describing the function of the mobile code from the transmitted source code of the mobile code, and verifies whether the mobile code does not perform an illegal process.
  • the mobile code distribution server includes: a mobile code storage unit that stores and stores the mobile code requested to be registered; and a mobile code storage unit that is requested to deliver from the user terminal.
  • Mobile code transmission means for transmitting the stored mobile code to the user terminal.
  • the user terminal includes: a delivery request transmission unit for requesting delivery of the mobile code to the mobile code distribution server; and a signature verification unit for verifying an electronic signature attached to the delivered mobile code. Means, and if the signature verification means succeeds in verifying the signature, the function specification created by the function inspection means of the verification server is obtained, and the function of the mobile code is confirmed by the function specification. And a function checking means for determining whether to permit execution of the mobile code, and executing the mohair code when the function checking means determines that the execution of the mobile code is permitted.
  • Mobile code execution means for determining whether to permit execution of the mobile code, and executing the mohair code when the function checking means determines that the execution of the mobile code is permitted.
  • the function confirmation means may include: a function specification same as the function specification is registered in a function specification management file stored in one user terminal; The specifications are presented to the user, and if the user decides to permit the execution of the mobile code having the function, it decides to permit the execution of the corresponding mobile code. Therefore, in the present invention, the user-terminal that has downloaded the mopile code performs a process of confirming the function specification describing the functions of the mopile code before executing the mopile code. The mobile code is executed only when the function specification is permitted to be executed in advance, or when the user determines that the execution of the mobile code having the function specification is permitted. I have to.
  • the present invention it is possible to determine whether or not to execute the mobile code based on the function of the mobile code.
  • the present invention is not limited to the mobile code, but can be applied to a case where a general program code such as stored in a storage device of one user terminal is executed.
  • FIG. 1 is a diagram showing a device schematic configuration and a hardware configuration of a mobile code distribution system to which an embodiment of the present invention is applied
  • FIG. 2 is a diagram to which an embodiment of the present invention is applied.
  • FIG. 3 is a diagram showing a functional block configuration of a creation terminal and a verification server related to a mobile code function verification request process in a system according to the present invention.
  • FIG. 3 shows a system to which an embodiment of the present invention is applied.
  • FIG. 4 is a diagram showing a functional block configuration of a verification server and a distribution server related to a mobile code function verification process and a registration process in FIG. 4.
  • FIG. 4 is a system to which an embodiment of the present invention is applied.
  • FIG. 5 is a diagram showing a functional block configuration of a distribution server and a user terminal related to a record execution process
  • FIG. 5 is a diagram showing an example of functional specifications created by a verification server in FIG.
  • FIG. 6 is an example of a functional specification confirmation screen displayed by the verification server to the verifier in FIG. 3
  • FIG. 7 is a diagram in FIG.
  • FIG. 8 is an example of an execution confirmation screen displayed by the user—terminal to the user in FIG. 4
  • FIG. 9 is an example of a function specification editing screen displayed in FIG.
  • FIG. 4 is a diagram for explaining an example of information stored in a functional specification management file shown in FIG. 4.
  • FIG. 10 shows a mobile code function verification request in a system to which an embodiment of the present invention is applied. Creation end related to processing FIG.
  • FIG. 11 is a flow chart for explaining the operation of the mobile server.
  • FIG. 11 illustrates the operation of the verification server related to the function verification request processing of the mobile code in the system to which the embodiment of the present invention is applied.
  • FIG. 12 is a flowchart for explaining the operation of a verification server related to a mobile code function verification process in a system to which an embodiment of the present invention is applied.
  • FIG. 13 is a flowchart for explaining the operation of the distribution server related to the registration of the mobile code in the system to which one embodiment of the present invention is applied.
  • FIG. 15 is a flowchart for explaining the operation of the distribution server related to the execution of the mobile code in the system to which one embodiment of the present invention is applied; and
  • FIG. 15 is a diagram to which one embodiment of the present invention is applied.
  • FIG. 11 illustrates the operation of the verification server related to the function verification request processing of the mobile code in the system to which the embodiment of the present invention is applied.
  • FIG. 12 is a flowchart for explaining the
  • FIG. 16 is a flowchart for explaining the operation of the user terminal related to the execution of the mobile code in the system according to the embodiment of the present invention.
  • FIG. 17 is a diagram showing a functional block configuration of a verification server, a distribution server, and a user terminal related to the execution of a mobile terminal.
  • FIG. 17 shows a mobile core in a system to which another embodiment of the present invention is applied.
  • One user terminal involved in the execution of FIG. 18 is a flow chart for explaining the operation of the verification server.
  • FIG. 18 is a flow chart for explaining the operation of the verification server in the system to which another embodiment of the present invention is applied.
  • FIG. 19 is a flowchart for explaining a security function in a conventional mobile code
  • FIG. 20 is an execution diagram in which a user terminal displays to a user in FIG. It is an example of a confirmation screen.
  • FIG. 1 is a diagram showing a device schematic configuration and a hardware configuration of a mobile code system to which an embodiment of the present invention is applied.
  • the system verifies the functions of a source code creation terminal 110 (hereinafter, also simply referred to as creation terminal 110) for creating a source code of a mopile code, and a function of the source code.
  • a function verification server 120 (hereinafter, also simply referred to as “verification server 120”) that creates a mopile code from the source code
  • a mobile code distribution server 130 (hereinafter, simply a distribution server) that registers and distributes the mopile code.
  • a user terminal 140 that executes a mopile code are respectively configured on a computer, and are connected to each other via a communication network 100 such as a LAN.
  • a plurality of creating terminals 110, verification servers 120, distribution servers 130, or user terminals 140 may be connected.
  • the computer that constitutes the creation terminal 110, the verification server 120, the distribution server 130, and the user terminal U0 includes a communication network interface, a display device, an input device, and a storage device. And the central processing unit ifi (CPU), Temporary storage devices (memory) are connected to each other by a bus.
  • the communication network interfaces 111, 121, 131, and 141 are interface devices for transmitting and receiving data via the communication network 100.
  • the display devices 112, 122, 132, and 142 are used to display messages and the like to users who use the above terminals and servers, and include a CRT, a liquid crystal display, and the like.
  • the input devices 113, 123, 133, and 143 are used by the user to input data, instructions, and the like, and include a keyboard and a mouse.
  • the storage devices 114, 124, 134, 144 are used to permanently store various information such as program data, and are constituted by a hard disk, a floppy disk, and the like.
  • the CPUs 115, 125, 135, and 145 control the respective units in an integrated manner and perform various arithmetic processing.
  • the memories 116, 126, 136, and 146 store operating systems (hereinafter, also simply referred to as OS) 116a, 126a, 136a, and 146a, and programs and data necessary for the CPU to realize the functions of the terminals and servers. Is stored.
  • OS operating systems
  • 0S116a is a program for implementing functions such as file management, process management, or device management in order to control the entire user terminal 110.
  • the code creation program 116b creates a source code (hereinafter, also simply referred to as a source code) of the mopile code 146c in accordance with an instruction of a user of the creation terminal 110 (hereinafter, also simply referred to as 1 ').
  • This is a program for storing in the storage device 114.
  • the verification request program 116c is a program for transmitting the source code stored in the storage device 114 to the verification server 120 according to the instruction of the creator.
  • the code verification program 126b receives the source code from the creation terminal 110, verifies the function of the source code, and, based on the source code, This is a program for creating the pile code 146c and its functional specifications and registering them in the distribution server 130.
  • the code distribution program 136b When receiving the mobile code U6c from the verification server 120, the code distribution program 136b stores the mobile code 146c in the storage device 134, and also allows access from the user terminal 140 by the browser program 146b. This is a program for transmitting the mobile code 146c stored in the storage device 134 with the multimedia data and the like attached thereto as necessary.
  • the browser program 146b communicates with the distribution server 130 when the user terminal 140 communicates with the distribution data, that is, the mobile data 146c and various data attached as needed (for example, multimedia data such as audio, images, and moving images).
  • the distribution data that is, the mobile data 146c and various data attached as needed (for example, multimedia data such as audio, images, and moving images).
  • the mobile code 146c is a program that accesses various resources of the user terminal 140 and performs calculation processing.
  • the function specification of the mopile code 146c and the signature of the verifier (in this embodiment, necessary for verifying the signature) Data and files used by the mobile code itself, and checks the integrity of the mobile code 146c itself (confirms whether it has been tampered with). ) And function confirmation.
  • each functional block This is realized by the CPU executing a program via the OS or directly.
  • the functional block configuration and operation are the same as when the source code is created in the conventional mobile code system. The detailed description of is omitted.
  • the source code created by the creator is stored in the source code file 202 of the storage device 114.
  • FIG. 10 the functional block configuration and operation of the creating terminal 110 and the verification server 120 when the creating terminal 110 requests the verification server 120 to perform the function verification of the mobile code 146c are shown in FIG. This will be described with reference to FIGS. 10 and 11.
  • FIG. 2 is a diagram showing a functional block configuration of the creation terminal 110 and the verification server 120 when the creation terminal 110 requests the verification server 120 for function verification of the mopile code 146c. First, the functional block configuration of the creation terminal 110 will be described.
  • the creation terminal 110 includes an input unit 204 that receives an instruction from the creator via an input device 113, and a display device and the like that are input to the input unit 204.
  • the display 203 displayed on the display device 112 and the verification code 120 are transmitted via the communication network 100 to the source codestore of the storage device 114.
  • a source code transmission processing unit 201 for transmitting data or a file, for example, voice, image, or moving image data, which is used when the source code is executed, stored in the file 202. Note that the data or files used at the time of execution of these are different from the data files attached to the mobile code in the distribution data described above and are required by the mobile code at the time of execution. is there.
  • a function block configuration of the verification server 120 will be described.
  • the verification server 120 displays, on the display device 122, information indicating that the source code has been received from the creation terminal 110, and the like, and displays the source code from the creation terminal 110. And a source code reception processing unit 211 for reception.
  • FIG. 10 is a diagram illustrating an operation flow of the creation terminal 110 when the creation terminal 110 requests the function verification of the mobile code 146c to the verification server 120.
  • the creator inputs the storage location and name of the source code and the location and name of the verification server 120 into the input device 113 (step 1001).
  • the source code transmission processing unit 201 extracts the specified source code from the source code file 202, and executes the source code and the data used by the source code at the time of execution.
  • a function verification request 203 including a file is created, and the function verification request 203 is transmitted to the verification server 120 specified by the creator.
  • FIG. 11 is a diagram showing an operation flow of the verification server 120 when the creation terminal 110 requests the verification server 120 to perform the function verification of the source code.
  • step 1101 the source code reception processing unit 211 waits for the function verification request 203 from the creating terminal 110.
  • the source code reception processing section 211 Upon receiving the function certificate request 203, the source code reception processing section 211 stores the source code extracted from the function verification request 203 in the source code file 212 (step 1103), and Information indicating that the source code has been received from the display device 122 (step 1104). After that, the process transits to Step 1101 and again waits for the function verification request 203 from the creating terminal 110.
  • the verification server 120 performs the function verification of the source code, creates the mobile code 146c, and registers the mobile code 146c in the distribution server 130, the verification server 120 and the distribution server 130 perform The functional block configuration and operation will be described.
  • FIG. 3 is a functional block diagram of the verification server 120 and the distribution server 130 when the function of the source code is verified by the verification server 120 and the mobile code 146c created from the source code is registered in the distribution server 130.
  • FIG. 3 is a diagram showing a configuration.
  • each functional block of the verification server 120 is realized by the CPU 125 of the verification server 120 executing each program stored in the memory 126 via the OS.
  • Each functional block of the distribution server 130 is realized by the CPU 135 of the distribution server 130 executing each program stored in the memory 136 via the OS.
  • the verification server 120 includes an input unit 123 that receives an instruction from a user of the verification server 120 (hereinafter, also simply referred to as a verifier), and data and the like input to the input unit 123.
  • a mobile code creation processing unit 302 that creates a mobile code 146c from the code, a registration request transmission processing unit 303 that sends a registration request 305 to the distribution server 130 to request registration of the mobile code 146c, have.
  • the registration request 305 includes information for designating a location for storing the mobile code 146c and the mobile code created by the mobile code generation processing unit 302.
  • the distribution server 130 displays an input unit 133 for receiving an instruction of a user of the distribution server 130 (hereinafter, also simply referred to as a distributor), and data and the like input to the input unit 133.
  • a registration request reception processing unit 311 that receives the registration request 305 from the verification server 120 and stores the mobile code 146c included in the registration request 305 in the storage device 134. , have.
  • FIG. 12 shows an operation flow of the verification server 120 when the function of the source code is verified by the verification server 120 and the mobile code 146c created from the source code is registered in the distribution server 130.
  • the function verification processing unit 301 when the verifier inputs a storage location and a name of the source code for verifying a function to the input unit 123 (step 1201), the function verification processing unit 301-specifies the source code specified from the source code file 212. Then, a function specification 500 describing the functions of the mopile code 146c is created from the source code (step 1202). Next, the function specification confirmation screen 600 is displayed on the display device 122 (step 1203), and the process proceeds to step 1204 to wait for the verifier's instruction.
  • FIG. 5 is a diagram showing an example of the function specification 500 created by the function verification processing unit 301.
  • the source code reads (501) and writes ('504) a file called “etcZ passwdj”, and executes information (503) that executes a program called “Z bin / rm”. It has been described.
  • FIG. 6 is an example of the function specification confirmation screen 600 displayed on the display device 122 by the function verification processing unit 301.
  • the verifier compares the source code displayed in the source code display area 601 with a technical specification A comparison is made with the function specification 500 displayed in the display area 602, and the function specification 500 is checked, and whether or not to create the mobile code 146c is selected. For example, the verifier checks the function specification 500 displayed on the display device 122 and determines that the mobile code 146c performs a harmful operation.
  • the creation of the mobile code 146c can be rejected by pressing a cancel (reject) button 604 or the like.
  • the harmful operation is, for example, the operation of running a program unrelated to the original operation or the operation of reading data from one user terminal and transferring it to the server.
  • the creation is to create (compile) the execution code from the source code, and to combine the functional specifications, the execution code, and the data file used at the time of execution into one.
  • step 1205 the verifier can edit the functional specification 500.
  • the process proceeds to step 1210, and the function verification processing unit 301 displays the function specification editing screen 700 on the display device. 122 and waits for an instruction from the verifier (step ⁇ U).
  • FIG. 7 shows that the function verification processing unit 301 displays the information on the display device S122. It is an example of the screen of the function specification editing screen end 00. The verifier edits the functional specification 500 using this screen.
  • the function verification processing unit 301 newly adds the function specification 500 reflecting the edited result. Create (step 1212) and return to step 1204.
  • step 1205 a set of the functional specification 500 and a mobile code identifier for identifying the mobile code 146c created by the verification server is stored in a functional specification registration file 304, and the mobile code creation processing unit Move on to 302.
  • step 1206 the mopile code creation processing unit 302 creates the execution code and the signature of the verifier, and creates the mobile code 146c.
  • Step 1207 when the verifier inputs the name of the distribution server 130 that registers the mobile code 146c and the storage location therein, the registration request transmission processing unit 303 A registration request 305 including 146c and its storage location is created, and the registration request 305 is transmitted to the designated distribution server 130 (step 1208), and the process ends.
  • the creator may be notified to that effect. This has the effect that the creator can know that the mobile code 146c has been successfully created.
  • FIG. 13 shows that the function of the source code is verified by the verification server 120
  • the source FIG. 9 is a diagram showing an operation flow of the distribution server 130 when the mobile code 146c created from the code is registered in the distribution server 130.
  • the registration request reception processing unit 311 waits for the registration request 305 from the verification server 120.
  • the registration request reception processing unit 311 Upon receiving the registration request 305 (Step 1302), the registration request reception processing unit 311 stores the mobile code 146c included in the registration request 305 in a designated storage location (Step 1303), and performs the verification.
  • Information indicating that the mobile code 146c has been received from the server 120 is displayed on the display unit 132 (step 1304). After that, the processing transits to Step 1301 and waits for the registration request 305 from the verification server 120 again.
  • the user terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c, the function block configuration and operation of the user terminal 140 and the distribution server 130 are performed. The work will be described.
  • FIG. 4 is a diagram showing a functional block configuration of the user terminal 140 and the distribution server 130 when the user terminal 140 receives the above-mentioned distribution data including the mobile code 146c from the distribution server 130.
  • each functional block of the user terminal 140 is realized by the CPU 145 of the user terminal 140 executing each program stored in the memory 146 via the OS.
  • Each functional block of the distribution server 130 is realized by the CPU 135 of the distribution server 130 executing each program stored in the memory 136 via the OS.
  • the user terminal 140 includes an input unit 143 that receives an instruction of a user of the user terminal 140 (hereinafter, also simply referred to as a user), data input to the input unit 143, A display unit 142 for displaying data and the like sent from the distribution server 130, and the queue input to the input unit 143.
  • a request transmission processing unit 411 that transmits a delivery request 417 of the mobile code 146c to the distribution server 130 according to the instruction of the user, and a mobile communication unit that receives the mobile code 146c from the distribution server 130.
  • the distribution server 130 includes a request reception processing unit 401 that receives the distribution request 417 from the user terminal 140, a card that makes the distribution request 417, and a mobile code 146c. And a mobile code transmission processing unit 402 for transmitting distribution data to the user terminal 140.
  • FIG. 14 is a diagram illustrating an operation flow of the user terminal 140 when the user terminal 140 receives the distribution data including the mobile code 146c from the distribution server 130 and executes the mobile code 146c. is there.
  • Step 1401 download of the mobile code 146c or the like placed on the distribution server 130 is instructed using information indicating the name and storage location of the mobile code 146c (file name / directory name, etc.).
  • the request transmission processing unit 4111 transmits the distribution request 417 of the mopile code 146c to the distribution server 130 (Step 1402).
  • the distribution data indicates the name and storage location of the evening.
  • the so-called Uniform Resource that links the address of the distribution server 130 and the file name
  • step 1403 when the mopile code reception processing unit 412 waits for distribution data from the distribution server '130 and receives the mopile code 146c or the like from the distribution server 130, the signature verification processing unit 413 Transfer processing to In step 1404, the signature verification processing unit 413 includes, as the download instruction method for verifying the verifier's signature attached to the mopile code 146c,
  • the URL of the mobile code is specified in the HTML file being viewed, and the Browser program 146b automatically issues a download instruction.
  • the distribution server 130 may send the mopile code 146c using PUSH technology
  • steps 1401 and 1402 are omitted.
  • Step 1412 the method of determining whether the verifier can be trusted is the same as the method of determining whether or not the signer can be trusted in conventional signed code. Is omitted.
  • step 1405 if it is determined in step 1405 that the integrity of the mopile code 146c is confirmed and that the verifier can be trusted, the process is transferred to the function confirmation processing unit 414.
  • the function confirmation processing unit 414 extracts the function specification 500 of the mopile code I46c from the mobile code 146c (step 1406) and records it in the function specification management file 416 of the storage device 144. Then, it is confirmed whether the same functional specification 500 is registered in the table as shown in FIG. 9 (step 1407).
  • the functional specification management file 416 is registered in the functional specification 500 sequentially each time its execution is permitted, or distributed in advance by a trusted third party or a system administrator. This is a file that stores proven (ie secure) functional specifications.
  • FIG. 9 shows an example in which safe function specifications 500 are sequentially numbered and registered in the function specification management file 416.
  • step 1411 If the same function specification 500 is registered in the function specification management file 416, the process proceeds to step 1411 and the process is transferred to the mobile code execution processing unit 415.
  • step 1408 an execution confirmation screen 800 is displayed on the display unit 142, and the execution of the mobile code 146c is performed. The user is instructed whether or not to do so.
  • FIG. 8 is an example of the execution confirmation screen 800.
  • the mobile code 146c that is about to be executed is read from the file “/ etc / passwd” (811), and the read data is read.
  • FIG. 20 shows another example of the execution confirmation screen 800, in which information such as (813) to be transferred to a computer called www.foo.co.jp is displayed.
  • the mobile code 146c that is currently trying to execute is "da etc /
  • the user confirms the function of the mobile code 146c that is currently about to be executed based on the information displayed on the screen, and Select whether to permit execution of mobile code 146c.
  • the function confirmation processing unit 414 performs the function specification management.
  • the function specification 500 of the mobile code 146c is newly added to the file 416 (step 1410), and the process proceeds to step 1411, where the process is transferred to the mobile code execution processing unit 415.
  • the process proceeds to step 1413.
  • step 1411 the mobile code execution processing unit 414 executes the mobile code 146c.
  • execution of the mopile code 146c in the present embodiment means execution of an execution code included in the mobile code.
  • FIG. 15 is a diagram showing an operation flow of the distribution server 130 when the one user terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c.
  • step 1501 the request reception processing unit 401 waits for a delivery request 417 from the user terminal 140, and upon receiving the delivery request 417 from the user terminal 140, shifts the processing to the mopil code transmission processing unit 402.
  • the mobile code transmission processing unit 402 transmits the mobile code 146c corresponding to the delivery request 417 to the user terminal 140 with a multimedia file or the like attached as necessary (step 1503). . Thereafter, the process returns to step 1501 and waits for the end of the delivery request 41 from the user terminal 140 again.
  • the waiting function of the mobile code 146c created by the verification server 120 is described in the mopile code 146c.
  • the functional specification 500 described above is included.
  • the user terminal 140 receives the mobile code 146c from the distribution server 130, the execution of the function specification 500 extracted from the mobile code 146c is permitted before executing the mobile code 146c. Even if it is not the case, it is presented to the user and made to select whether or not to execute the mopil code 146c. Therefore, the user terminal 140 can determine whether or not to execute the mobile code 146c based on the function of the mobile code 146c ( Next, as another embodiment of the present invention, An embodiment in which the functional specification 500 is centrally managed by the verification server 120 will be described.
  • the mobile code 146c in addition to the execution code of the mobile code 146c, the mobile code 146c includes a mobile code identifier for distinguishing the mobile code 146c from the others, and a signature of the verifier (this embodiment). However, all the data required to verify the signature are collectively described as a signature) and the data file used by the mobile code itself is included, and the integrity of the mobile code U6c itself is confirmed. Available to
  • the device schematic configuration and the hardware configuration of the system in which the functional specification 500 is centrally managed by the verification server 120 are the same as the above-described embodiment in which the mobile code 146c includes the functional specification 500. Detailed explanations are omitted.
  • the function block configuration and operation of the creating terminal 110 are the same as those of the conventional mobile code system, Detailed description is omitted.
  • the creating terminal 110 requests the verification server 120 for the function verification of the mopile code 146c
  • the function block configuration and operation of the creating terminal 110 and the certification server 120 will be described. Is the mobile co This is the same as the embodiment in which the function specification 500 is included in one node i46c, and a detailed description thereof will be omitted.
  • the function block configuration and operation of the verification server 120 and the distribution server 130 when the function verification of the mobile code 146c is performed by the verification server 120 and registered in the distribution server 130 are as follows.
  • the mobile code 146c is created in step 1206 in FIG. 12
  • the mobile code identifier described above is used except that the mobile code identifier created in association with the functional specification 500 is used instead of the functional specification 500.
  • This is the same as the embodiment in which the function specification 500 is included in 146c, and a detailed description thereof will be omitted.
  • the user server 140 receives the distribution data including the mobile code 146c from the distribution server 130, executes the mobile code 146c, and executes the verification server 120, the user terminal 140, and The function block configuration and operation of the distribution server 130 will be described.
  • FIG. 16 shows the verification server 120 and the distribution server 130 when the user terminal 140 receives the distribution data including the mobile code 146c from the distribution server 130 and executes the mopile code 146c in the present embodiment.
  • FIG. 3 is a diagram showing a functional block configuration of a user terminal 140.
  • the verification server 120 receives the function specification request 418 from the user terminal 140 and transmits the requested function specification 500 to the user terminal 140. Have.
  • the function confirmation processing unit 414 of the user terminal 140 also performs processing of transmitting a function specification request 418 to the verification server 120 and receiving a function specification 500 from the verification server 120. .
  • FIG. 5 is a diagram showing an operation flow of the user-one terminal 140 when the user-one terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c. .
  • steps 1401 to 1405 and steps 1407 to 1412 are the same as those in FIG. 14, and a description thereof will be omitted.
  • step 1405 the process proceeds to the function confirmation processing unit 414,
  • the function confirmation processing unit 414 extracts the mobile code identifier from the mopile code 146c, and transmits a function specification request 418 including the mopile code identifier to the distribution server 120 (step 1701).
  • step 1702 when the function specification 500 corresponding to the mobile code identifier is received from the distribution server 120, the same as the table shown in FIG. 9 previously stored in the function specification management file 416 of the storage device 144. Check whether function specification 500 is registered (step 1407).
  • FIG. 18 shows an operation flow of the verification server 120 when the user terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c.
  • step 1801 the specification transmission processing unit 1621 waits for the function specification request 418 from the user terminal 140.
  • the function specification request 418 is received, the mobile code identifier included in the function specification request 418 is extracted (step 1803), and the mobile code identifier corresponding to the mobile code identifier is extracted from the bonus specification registration file 304.
  • the function specification 500 to be searched is searched (step 1804).
  • the function specification 500 is transmitted to the user terminal 140 (step 1805), and the process returns to step 180U. Wait for specification request 418.
  • the operation of the distribution server 130 is the same as that in the above-described embodiment in which the mobile code 146c includes the functional specification 500, and a detailed description thereof will be omitted.
  • the verification server 120 creates the function specification 500 and the mobile code identifier for uniquely identifying the mobile code 146c created when verifying the function of the source code.
  • the group is managed.
  • the mobile code 146c includes the mobile code identifier.
  • the user terminal 140 receives the mobile code 146c from the distribution server 130, first, the mobile code identifier extracted from the mobile code 146c is used. Is transmitted to the verification server 120.
  • the verification server 120 Upon receiving the mobile code identifier, the verification server 120 searches for the functional specification 500 corresponding to the mobile code identifier, and returns it to the user terminal 140.
  • the user terminal 140 that has received the function specification 500 presents the function specification 500 to the user if the function specification 500 is not a permitted function specification, and determines whether or not to execute the mopile code 146c. Or let me choose. Therefore, the user terminal 140 can determine whether or not to execute the mobile code 146c based on the function of the mobile code 146c.
  • communication including various “requests” and “requests” performed by each program is performed by a communication technology (eg, “socket”) between well-known programs (or modules and processes). Is known).
  • a communication technology eg, “socket” between well-known programs (or modules and processes). Is known).
  • the transmission and reception performed by each program are performed via the OS of each computer hardware, the communication network interface, and the communication network.
  • the display on each display unit E and the input from the input unit a are performed by the programs of the display unit and the input unit via the OS or directly. is there.
  • the verification server 120 and the distribution server 130 are configured on different computer hardware, but the present invention is not limited to this. That is, the verification server 120 and the distribution server 130 may be configured on the same computer hardware. Similarly, the creation terminal 110 and the verification server 120 may be configured on the same computer hardware. Similarly, the creation terminal 110 and the distribution server 130 may be configured on the same computer hardware. Further, the creation terminal 110, the verification server 120, and the distribution server 130 may be configured on the same computer hardware. In these cases, the programs that realize the functions of each server and terminal are managed as independent programs (processes) by the OS on the same computer hardware, and their operations are managed.
  • the verification server 120 may transmit the created mopile code 146c to the creating terminal 110, and the creating terminal 110 may register the created molypile code 146c in the distribution server 130. In this way, the creator can select the distribution server 130 for registering the mobile code 146c.
  • the creation terminal 110 may register the source code in the distribution server 130, and the distribution server 130 may request the verification server 120 to verify the function of the mopile code 146c. In this way, the distributor can request a verifier trusted by himself to perform the function verification.
  • the creator may create the function specification 500, and transmit the function specification 500 to the certification server 120 together with the source code.
  • the verifier can confirm that the functional specification 500 does not operate illegally and that the source code is By confirming that the mobile code 146c is implemented as per the performance specification 500 and that the mobile code 146c does not perform an illegal operation, it can be guaranteed.
  • the function of creating the functional specification 500 in the verifier server 120 becomes unnecessary.
  • the features of the function specification 500 of the mobile code 146c that performs the illegal processing may be put into a list and stored in the storage device 124 of the verification server 120. . Then, by confirming whether the functional specification 500 created from the source code to be verified has the features corresponding to the list, the mobile code 146c is processed illegally. A process for confirming whether or not to perform may be incorporated. By doing so, the mobile code 146c corresponding to the above list using the known fraudulent processing method can save the verifier's trouble of performing function verification, thereby improving the efficiency.
  • the creation terminal 110 may transmit the execution code and the function specification of the mobile code 146c to the verification server 120.
  • Step 1202 is unnecessary in FIG.
  • the “source code designation” and “execution code designation” of step 1201 are changed to the “source code discard” force “execution code discard” of step 1209. Further, the function of compiling the execution code from the source code in step 1206 can be eliminated.
  • the confidentiality of information exchanged between the creating terminal 110, the verification server 120, the distribution server 130, and the user terminal 140 via the communication network 100 Although no special means is used to ensure integrity, the present invention does not prevent the use of various encryption means and authentication means. By applying encryption means and authentication means to the information flowing through the communication network 100, the security of the entire system can be further improved. You.
  • the mopile code 146c permitted to execute by the user can use any resources of the user terminal 110, such as freely starting other programs. ing.
  • the Browser program 146b or the OS 146a passes the function specification 500 to the other program, and the function specification 500 The program passed may determine whether or not to execute the request from the mobile code 146c based on the function specification 500.
  • the data exchange between the creation terminal 110 and the verification server 120 is performed via the communication network 100, but the present invention is not limited to this.
  • the source code created by the creating terminal 110 may be recorded on a storage medium such as a floppy disk and delivered to the verifier.
  • the mobile code 146c may be recorded on a storage medium and passed to the distributor.
  • whether or not to execute the mobile code can be determined based on the function of the mobile code, so that the present invention is more secure.

Abstract

Means for deciding whether to execute a mobile code depending on the functions of the mobile code. When a mobile-code receiving section at a user terminal receives data including a mobile code from a distributor server, a signature attached to the mobile code is checked. When the signature is successfully verified, a function confirmation section confirms the specification that describes the functions of the mobile code. If the function confirmation section decides to permit the execution of the mobile code, a mobile code execution means executes the mobile code.

Description

明 細 書 モバイルコー ドの実行方法およびそのシステム  Description Mobile Code Execution Method and System
技術分野 Technical field
本発明は、 サーバからネッ トワークを介してユーザー端末にダウン口 — ドされ、 自動的に実行されるモバイルコー ドのセキュ リティに関する 背景技術  The present invention relates to the background art relating to the security of mobile code that is downloaded from a server to a user terminal via a network and automatically executed.
World W ide Web ( WWW )の表現力や利便性を大幅に高める手段として、 モバイルコー ドが広く用いられてきている。 モバイノレコー ドは、 環サ —バ上に置いておき、 ユーザー端末を利用するユーザ一力 <Browserプロ グラムを用いて、 当該べ一ジにアクセスしたときにダウンロ一 ドさ-れ、 自動的に実行される、 というプログラムである。  Mobile code has been widely used as a means to greatly enhance the expressive power and convenience of the World Wide Web (WWW). The Mobino record is placed on a ring server and is downloaded automatically when the user accesses the page using the user program <Browser program. The program is called.
しかし、 その一方で、 ユーザ一端末上のリ ソース(フ ァイルや周辺機 器など)に勝手にアクセスし、 情報を盗んだり、 障害を引き起こすとい つた、 不正な処理を行うモパイルコー ドが問題となってきてもいる。 そのため、 モバイルコー ドを利用するシステムには、 モバイルコー ド の実行に対して、 以下のようなセキュ リティ機能を設けているものがあ る。  However, on the other hand, mopile code that performs unauthorized processing, such as accessing resources (files, peripheral devices, etc.) on one user's terminal without permission and stealing information or causing failures, has become a problem. They are coming. For this reason, some systems that use mobile code have the following security functions for the execution of mobile code.
( 1 ) モバイルコー ドには、 ユーザ一端末上のリ ソースへのアクセスを 基本的に認めない。  (1) Mobile code is basically not allowed to access resources on one user terminal.
( 2 ) モパイルコー ドは、 そのモパイルコー ドが保管されていたサーバ との間でしか通信することができない。  (2) Mopile code can communicate only with the server where the mopile code was stored.
このようなセキュ リティ機能は、 不正なモバイルコ一 ドからシステム を守るために考 しかし、 その一方で、 このような規制がモバイルコー ドの利便性を損 なう ものであることも明らかである。 そのため、 モバイルコー ドが、 そ のモバイルコ一 ドの作成者の署名(電子的な署名でディ ジタル署名と呼 ばれる)が付加された、 いわゆる署名付きコ一 ドであり、 かつ、 その作 成者のモバイルコー ドならば信用するとユーザ一端末を利用するユーザ 一が認めた場合には、 上記モバイルコ一 ドに対する制限は適用されない ように機能拡張されてきている。 例えば、 特開平 10— 83310号公報には、 このような署名付きコ一 ドを利用するシステムの一例が示されている。 また、 上記ディ ジタル署名技術については、 例えば 「SECURE ELEC- TRON I C COMMERCEj (PRENT I CE HALL, 1997 ) pp. 11 1— 116に記載されてい る。 These security features are considered to protect the system from unauthorized mobile code. However, on the other hand, it is clear that such regulations undermine the convenience of mobile code. Therefore, the mobile code is a so-called signed code to which the signature of the creator of the mobile code (a digital signature called a digital signature) is added, and the creator of the code is The function has been extended so that if the user using the terminal recognizes that the mobile code is trusted by the user, the restriction on the mobile code is not applied. For example, Japanese Patent Laying-Open No. 10-83310 discloses an example of a system using such a signed code. The digital signature technology is described in, for example, “SECURE ELEC-TRON IC COMMERCEj (PRENT ICE HALL, 1997) pp. 111-116.
ローカルファイルにアクセスする署名付きコー ドを、 ネッ トワークを 介してサーバからダウンロ一 ドした場合の、 当該ユーザ一端末での ·処理 手順例を第 19図を参照して簡単に説明すると、 以下のようである。  When the signed code for accessing the local file is downloaded from the server via the network, the processing procedure at the relevant user terminal will be briefly described with reference to Fig. 19 as follows. It seems.
ユーザ一端末を利用するユーザーが、 Browserプログラムを用いて署 名付きコ一 ドをサーバからダウンロ一 ドすると(ステツプ 1901 )、 まず、 署名付きコー ドに付加されたディ ジ夕ル署名を検証し、 モバイルコ一 ド の完全性(改ざんされていないこと)を確認する(ステツプ 1902 )。 完全性 が確認された場合には、 次に、 その署名の署名者が、 すでに口一カルフ アイルへのアクセスを許可されている署名者であるかどうかを確認し (ステップ 1903 )、 アクセスが許可された署名者であった場合には、 署名 付きコ一 ドが口一カルファイルにアクセスして、 あらかじめプログラ ミ ングされた処理を実行する(ステップ 1905 )。  When a user using a user terminal downloads a signed code from the server using the Browser program (step 1901), the user first verifies the digital signature attached to the signed code. The mobile code is checked for integrity (not falsified) (step 1902). If the integrity is verified, then the signer of the signature is checked to see if it is a signer already authorized to access the oral file (step 1903), and access is granted. If it is the signed signer, the signed code accesses the oral file and executes the previously programmed processing (step 1905).
また、 ステップ 1903において、 ァグセスが許可されていない署名者で あった場合、 ユーザー端末を利用しているユーザーに対して、 当該署名 者が作成した署名付きコ一 ドに口一カルファィルへのアクセス許可を与 えるかどうかを選択させる(ステツプ 1904)。 許可が与えられた場合には. 署名付きコー ドがローカルファイルにアクセスしてあらかじめプログラ ミ ングされた処理を実行する(ステップ 1905 )。 Also, in step 1903, if the signer is not authorized, the user using the user terminal is permitted to access the signed code created by the signer to the oral code. Give Is selected (step 1904). If permission is granted, the signed code accesses the local file and performs the pre-programmed processing (step 1905).
ステツプ 1902において完全性が確認できなかつた場合、 およびステツ プ 1904においてアクセスの許可が与えられなかった場合には、 ユーザ一 端末を利用しているユーザーにその旨を通知し(ステツプ 1906 )、 処理を 終了する。  If the integrity cannot be confirmed in step 1902, and if access permission is not given in step 1904, the user using the user terminal is notified to that effect (step 1906), and the processing is performed. Exit.
上述の署名付きコー ドのセキュ リティ機能は、 モパイルコー ドの署名 者によってモバイルコー ドの実行を許可するか否かを判断するものであ り、 当該モバイルコー ドがどのような機能を持っているのかは、 実行し てみるまでわからない。 そのため、 ユーザ一は、 当該モパイルコー ドを 実行してみるまでは、 実行してよいか否かの十分な情報を得ることがで きない。 そして、 ユーザーが署名者を信頼すると判断した場合には-、 署 名付きコ一 ドが不正な処理を行うモバイルコ一 ドであつても、 実行され てしまう という問題がある。  The security function of the signed code described above determines whether or not the signer of the mopile code allows the execution of the mobile code, and what kind of function the mobile code has I do not know until I try it. Therefore, the user cannot obtain sufficient information on whether or not to execute the mopile code until the user tries to execute the mopile code. Then, if the user decides to trust the signer, there is a problem that even if the signed code is a mobile code that performs illegal processing, it will be executed.
特開平 10— 83310号公報には、 コー ドと共に当該コー ドが要求する リ ソースの一覧(ACL)を配布し、 実行時に当該 ACLにしたがってリ ソースを 割当てるという方法が開示されている。 コ一 ドと共に ACLを配布するこ とによって、 コ一 ドがどのリ ソースにアクセスするのかを実行前に知る ことはできるが、 そのリ ソースをどのように使用するのか、 すなわち、 コー ドがどのような機能を持っているのかはわからない。  Japanese Patent Laying-Open No. 10-83310 discloses a method of distributing a list of resources (ACL) requested by the code together with the code, and assigning resources according to the ACL at the time of execution. By distributing the ACL with the code, you can know which resources the code will access before you run it, but how it uses it, that is, I do not know if it has such a function.
本発明は、 上記事情に鑑みてなされたものであり、 本発明の目的は、 モバイルコー ドが持っている機能に基づいて、 当該モバイルコー ドを実 行するか否かを決定することができる、 モバイルコ一 ドの構成と当該モ パ'ィルコー ドの実行方法と、 それを利用したモパイルコー ドシステム、 さらには、 そこに用いるソースコー ド作成端末、 能検証サーバ、 モバ ィルコー ド配布サーバ、 ユーザ一端末、 およびそれらを実現するプログ ラムを提供することにある。 発明の開示 The present invention has been made in view of the above circumstances, and an object of the present invention is to determine whether to execute a mobile code based on a function of the mobile code. Mobile code configuration and execution method of the mobile code, a mobile code system using the mobile code, a source code creation terminal, a function verification server, a mobile code An object of the present invention is to provide a file distribution server, a user terminal, and a program for realizing them. Disclosure of the invention
上記目的を達成するため、 本発明のモパイルコー ドには、 当該モバイ ルコ一 ドの持つ機能を記述した機能仕様、 または当該機能仕様に対応づ けられた識別子が添付されていることを特徴とする。  In order to achieve the above object, the mobile code according to the present invention is characterized in that a function specification describing a function of the mobile code or an identifier corresponding to the function specification is attached. .
さらに、 本発明のモパイルコー ドの実行方法は、 前記モバイルコー ド を実行する前に、 それが持つ機能を確認し、 実行するか否かを判断する ステツプを設けたことを特徴とする。  Further, the method for executing a mopile code according to the present invention is characterized in that before executing the mobile code, a step of checking a function of the mobile code and determining whether or not to execute the function is provided.
すなわち、 本発明のモバイルコー ドの実行方法は、 モパイルコー ドを 取得する、 モパイルコー ド取得ステップと、 前記モパイルコー ド取得ス テツプによつて取得された前記モバイルコ一 ドに付加されている電子的 な署名を検証する、 署名検証ステップと、 前記署名検証ステップによつ て、 当該モバイルコー ドの署名の検証に成功した(検証結果が合格であ つた)場合に、 当該モバイルコ一 ドの持つ機能を記述した機能仕様を取 得する、 機能仕様取得ステップと、 前記機能仕様取得ステップで取得し た前記機能仕様によって、 前記モパイルコー ドの持つ機能を確認し、 当 該モバイルコー ドを実行するか否かを判断する、 機能確認ステップと、 前記機能確認ステップにおいて、 前記モバイルコ一 ドは実行を許可され ると判断された場合に、 当該モパイルコー ドを実行する、 モバイルコ一 ド実行ステップと、 を備えている。  That is, in the mobile code execution method of the present invention, a mopile code is acquired, and an electronic signature attached to the mobile code acquired by the mopile code acquisition step is provided. A signature verification step, and, if the signature of the mobile code is successfully verified (the verification result is passed) in the signature verification step, describes a function of the mobile code. A function specification acquisition step of acquiring the specified function specification, and a function of the mopile code is confirmed based on the function specification acquired in the function specification acquisition step, and it is determined whether to execute the mobile code. In the function checking step and the function checking step, it is determined that the mobile code is permitted to be executed. A mobile code execution step for executing the mopile code in the event that the mobile phone is disconnected.
また、 本発明のモパイルコー ドシステムは、 モバイルコー ドのソース コ一 ドを作成するソースコ一 ド作成端末と、 ソースコー ドの機能を検証 する鸱能検証サーバと、 モバイルコ一 ドを配布するモバイルコ一 ド配布 サーバと、 モバイルコー ドを実行するユーザ一端末と、 からなるモバイ O ルコー ドシステムであって、 Further, the mopile code system of the present invention includes a source code creation terminal for creating a source code of a mobile code, a function verification server for verifying the function of the source code, and a mobile code for distributing the mobile code. A mobile server consisting of a distribution server and a user terminal that executes mobile code O Record system,
前記ソースコー ド作成端末は、 モバイルコ一 ドのソースコ一 ドを作成 するソースコ一 ド作成手段と、 前記モバイルコー ドのソースコー ドを前 記機能検証サーバに送信するソースコー ド送信手段と、 を備え、 前記機能検証サーバは、 送信された前記モバイルコー ドのソースコ一 ドから当該モバイルコ一 ドの持つ機能を記述した機能仕様を作成し、 当 該モバイルコー ドが不正な処理を行う ものでないかを検証する機能検証 手段と、 前記機能検証手段が前記モバイルコー ドは不正な処理を行う も のではないと判断した場合に、 前記ソースコ一 ドから前記モバイルコ一 ドを作成するモバイルコ一 ド作成手段と、 前記配布サーバに対して、 前 記モバイルコ一 ド作成手段によって作成された、 モバイルコ一 ドの登録 を要求する登録要求手段と、 を備え、  The source code creation terminal includes: a source code creation unit that creates a source code of a mobile code; and a source code transmission unit that sends the source code of the mobile code to the function verification server. The function verification server creates a function specification describing the function of the mobile code from the transmitted source code of the mobile code, and verifies whether the mobile code does not perform an illegal process. Function verification means; mobile code creation means for creating the mobile code from the source code when the function verification means determines that the mobile code does not perform an illegal process; A registration requesting the distribution server to register the mobile code created by the mobile code creation method described above. Recording request means, and
前記モバイルコ一 ド配布サーバは、 前記登録を要求された前記モ-バイ ルコー ドを格納し、 保管するモパイルコー ド保管手段と、 前記ユーザ一 端末から配送を要求された、 前記モバイルコー ド保管手段が保管してい る前記モバイルコ一 ドを前記ユーザ一端末に送信するモバイルコー ド送 信手段と、 を備え、  The mobile code distribution server includes: a mobile code storage unit that stores and stores the mobile code requested to be registered; and a mobile code storage unit that is requested to deliver from the user terminal. Mobile code transmission means for transmitting the stored mobile code to the user terminal.
前記ユーザ一端末は、 前記モパイルコー ド配布サーバに対して、 モバ ィルコ一 ドの配送を要求する配送要求送信手段と、 配送されたモパイル コー ドに付加されている電子的な署名を検証する署名検証手段と、 前記 署名検証手段が署名の検証に成功した場合、 前記検証サーバの機能検査 手段が作成した前記璣能仕樣を取得し、 当該璣能仕様によって前記モバ ィルコ一 ドの持つ機能を確認し、 当該モバイルコ一 ドの実行を許可する か否かを判断する機能確認手段と、 前記機能確認手段が前記モバイルコ 一 ドの実行を許可すると判断した場合に、 前記モハ'ィルコ一 ドを実行す るモバイルコ一 ド実行手段と、 を備えている。 さらに、 本発明のモバイルコー ドシステムでは、 前記機能確認手段は. 前記璣能仕様と同じ機能仕様が、 ユーザ一端末に保管されている機能仕 様管理ファイルに登録されているか、 または、 前記機能仕様をユーザー に提示し、 ユーザ一が当該機能を持つモバイルコ一 ドの実行を許可する と判断した場合に、 当該モパイルコー ドの実行を許可すると判断する。 したがって、 本発明では、 モパイルコー ドをダウンロー ドしたユーザ —端末は、 当該モパイルコー ドを実行する前に、 当該モパイルコー ドの 持つ機能を記述した機能仕様を確認する処理を行う。 そして、 前記機能 仕様が、 予め実行を許可されたものであるか、 または、 ユーザーが当該 機能仕様を持つモバイルコ一 ドの実行を許可すると判断した場合にのみ- 前記モバイルコ一 ドが実行されるようにしている。 The user terminal includes: a delivery request transmission unit for requesting delivery of the mobile code to the mobile code distribution server; and a signature verification unit for verifying an electronic signature attached to the delivered mobile code. Means, and if the signature verification means succeeds in verifying the signature, the function specification created by the function inspection means of the verification server is obtained, and the function of the mobile code is confirmed by the function specification. And a function checking means for determining whether to permit execution of the mobile code, and executing the mohair code when the function checking means determines that the execution of the mobile code is permitted. Mobile code execution means. Further, in the mobile code system according to the present invention, the function confirmation means may include: a function specification same as the function specification is registered in a function specification management file stored in one user terminal; The specifications are presented to the user, and if the user decides to permit the execution of the mobile code having the function, it decides to permit the execution of the corresponding mobile code. Therefore, in the present invention, the user-terminal that has downloaded the mopile code performs a process of confirming the function specification describing the functions of the mopile code before executing the mopile code. The mobile code is executed only when the function specification is permitted to be executed in advance, or when the user determines that the execution of the mobile code having the function specification is permitted. I have to.
このため、 本発明によれば、 モパイルコー ドが持っている機能に基づ いて、 当該モバイルコー ドを実行するか否かを決定することができ-る。 なお、 本発明はモバイルコー ドに限るものではなく、 ユーザ一端末の 記憶装置に格納されているような、 一般のプログラムコ一 ドを実行する 場合にも適用可能である。 図面の簡単な説明  Therefore, according to the present invention, it is possible to determine whether or not to execute the mobile code based on the function of the mobile code. The present invention is not limited to the mobile code, but can be applied to a case where a general program code such as stored in a storage device of one user terminal is executed. BRIEF DESCRIPTION OF THE FIGURES
第 1図は、 本発明の一実施形態が適用されたモバイルコー ド配布シス テムの機器概略構成、 及びハー ドウェア構成を示す図であり、 第 2図は、 本発明の一実施形態が適用されたシステムにおいて、 モバイルコー ドの 機能検証依頼処理に関係した、 作成端末および検証サーバの機能プロッ ク構成を示す図であり、 第 3図は、 本発明の一実施形態が適用されたシ ステ厶において、 モバイルコー ドの機能検証処理および登録処理に関係 する、 検証サーバおよび配布サーバの機能プロ ック ½成を示す図であり、 第 4図は、 本発明の一実施形態が適用されたシステムにおいて、 モバイ ルコー ドの実行処理に関係する、 配布サーバおよびユーザ一端末の機能 ブロック構成を示す図であり、 第 5図は、 第 3図において、 検証サーバが 作成する璣能仕様の一例を示す図であり、 第 6図は、 第 3図において、 検 証サーバが検証者に対して表示する機能仕様確認画面の画面の一例であ り、 第 7図は、 第 3図において、 検証サーバが検証者に対して表示する機 能仕様編集画面の画面の一例であり、 第 8図は、 第 4図において、 ユーザ —端末がユーザーに対して表示する実行確認画面の一例であり、 第 9図 は、 第 4図に示す機能仕様管理ファィルに格納されている情報の一例を 説明するための図であり、 第 10図は、 本発明の一実施形態が適用された システムにおいて、 モバイルコー ドの機能検証依頼処理に関係する、 作 成端末の動作を説明するためのフロー図であり、 第 11図は、 本発明の一 実施形態が適用されたシステムにおいて、 モバイルコ一 ドの機能検証依 頼処理に関係する、 検証サーバの動作を説明するためのフロー図で-あり、 第 12図は、 本発明の一実施形態が適用されたシステムにおいて、 モバイ ルコー ドの機能検証処理に関係する、 検証サーバの動作を説明するため のフロー図であり、 第 13図は、 本発明の一実施形態が適用されたシステ ムにおいて、 モバイルコー ドの登録に関係する、 配布サーバの動作を説 明するためのフロー図であり、 第 14図は、 本発明の一実施形態が適用さ れたシステムにおいて、 モバイルコー ドの実行に関係する、 配布サーバ の動作を説明するためのフロー図であり、 第 15図は、 本発明の一実施形 態が適用されたシステムにおいて、 モバイルコー ドの実行に関係する、 ユーザー端末の動作を説明するためのフロー図であり、 第 16図は、 本発 明の他の実施形態が適用されたシステムにおいて、 モバイルコー ドの実 行に関係する、 検証サ一ハ'、 配布サーバおよびユーザー端末の機能プロ ック構成を示す図であり、 17図は、 本発明の他の実施形態が適用され たシステムにおいて、 モバイルコ一 ドの実行に関係する、 ユーザ一端末 の動作を説明するためのフロー図であり、 第 18図は、 本発明の他の実施 形態が適用されたシステムにおいて、 モバイルコ一 ドの実行に関係する . 検証サーバの動作を説明するためのフロー図であり、 第 19図は、 従来の モバイルコ一 ドにおけるセキュリティ機能を説明するためのフロー図で あり、 第 20図は、 第 4図において、 ユーザ一端末がユーザ一に対して表 示する実行確認画面の一例である。 発明を実施するための最良の形態 FIG. 1 is a diagram showing a device schematic configuration and a hardware configuration of a mobile code distribution system to which an embodiment of the present invention is applied, and FIG. 2 is a diagram to which an embodiment of the present invention is applied. FIG. 3 is a diagram showing a functional block configuration of a creation terminal and a verification server related to a mobile code function verification request process in a system according to the present invention. FIG. 3 shows a system to which an embodiment of the present invention is applied. FIG. 4 is a diagram showing a functional block configuration of a verification server and a distribution server related to a mobile code function verification process and a registration process in FIG. 4. FIG. 4 is a system to which an embodiment of the present invention is applied. In, Mobi FIG. 5 is a diagram showing a functional block configuration of a distribution server and a user terminal related to a record execution process, and FIG. 5 is a diagram showing an example of functional specifications created by a verification server in FIG. FIG. 6 is an example of a functional specification confirmation screen displayed by the verification server to the verifier in FIG. 3, and FIG. 7 is a diagram in FIG. FIG. 8 is an example of an execution confirmation screen displayed by the user—terminal to the user in FIG. 4, and FIG. 9 is an example of a function specification editing screen displayed in FIG. FIG. 4 is a diagram for explaining an example of information stored in a functional specification management file shown in FIG. 4. FIG. 10 shows a mobile code function verification request in a system to which an embodiment of the present invention is applied. Creation end related to processing FIG. 11 is a flow chart for explaining the operation of the mobile server. FIG. 11 illustrates the operation of the verification server related to the function verification request processing of the mobile code in the system to which the embodiment of the present invention is applied. FIG. 12 is a flowchart for explaining the operation of a verification server related to a mobile code function verification process in a system to which an embodiment of the present invention is applied. FIG. 13 is a flowchart for explaining the operation of the distribution server related to the registration of the mobile code in the system to which one embodiment of the present invention is applied. FIG. 15 is a flowchart for explaining the operation of the distribution server related to the execution of the mobile code in the system to which one embodiment of the present invention is applied; and FIG. 15 is a diagram to which one embodiment of the present invention is applied. FIG. 16 is a flowchart for explaining the operation of the user terminal related to the execution of the mobile code in the system according to the embodiment of the present invention. FIG. 17 is a diagram showing a functional block configuration of a verification server, a distribution server, and a user terminal related to the execution of a mobile terminal. FIG. 17 shows a mobile core in a system to which another embodiment of the present invention is applied. One user terminal involved in the execution of FIG. 18 is a flow chart for explaining the operation of the verification server. FIG. 18 is a flow chart for explaining the operation of the verification server in the system to which another embodiment of the present invention is applied. FIG. 19 is a flowchart for explaining a security function in a conventional mobile code, and FIG. 20 is an execution diagram in which a user terminal displays to a user in FIG. It is an example of a confirmation screen. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 図面を用いて、 本発明の実施形態について説明する。 なお、 こ れにより本発明が限定されるものではない。  Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the present invention is not limited to this.
第 1図は、 本発明の一実施形態が適用されたモバイルコー ドシステム の機器概略構成、 及びハー ドウェア構成を示す図である。  FIG. 1 is a diagram showing a device schematic configuration and a hardware configuration of a mobile code system to which an embodiment of the present invention is applied.
本実施形態のシステムは、 第 1図に示すように、 モパイルコー ドのソ ースコー ドを作成する、 ソースコー ド作成端末 110 (以下、 単に作成端末 110とも称する)と、 ソースコー ドの機能を検証し、 当該ソースコー ドか らモパイルコー ドを作成する、 機能検証サーバ 120 (以下、 単に検証サー パ' 120とも称する)と、 モパイルコー ドを登録し、 配布する、 モバイルコ ー ド配布サーバ 130(以下、 単に配布サーバ 130とも称する)と、 モパイル コー ドを実行する、 ユーザー端末 140と、 が、 それぞれ、 コンピュータ 上に構成されて、 LANなどの通信網 100を介して、 互いに接続されて構成 されている。  As shown in FIG. 1, the system according to the present embodiment verifies the functions of a source code creation terminal 110 (hereinafter, also simply referred to as creation terminal 110) for creating a source code of a mopile code, and a function of the source code. A function verification server 120 (hereinafter, also simply referred to as “verification server 120”) that creates a mopile code from the source code, and a mobile code distribution server 130 (hereinafter, simply a distribution server) that registers and distributes the mopile code. And a user terminal 140 that executes a mopile code are respectively configured on a computer, and are connected to each other via a communication network 100 such as a LAN.
なお、 第 1図において複数の、 作成端末 1 10、 検証サーバ 120、 配布サ —バ 130、 またはユーザー端末 140が接続されていてもよい。  In FIG. 1, a plurality of creating terminals 110, verification servers 120, distribution servers 130, or user terminals 140 may be connected.
前記作成端末 110、 検証サーバ 120、 配布サーバ 130、 とユーザ一端末 U0を構成するコンピュータは、 第 1図に示すよう に、 通信網イ ンタフエ —スと、 表示装置と、 入力装置と、 記憶装置と、 中央処理装 ifi (CPU )と、 一時記憶装置(メモリ)とが、 バスによつて互いに接続されて構成されて いる。 通信網イ ンタ一フヱ一ス 111、 121、 131、 141は、 通信網 100を介 したデータの送受信を行うためのィ ン夕フェース装置である。 表示装置 112、 122、 132、 142は、 上記各端末、 サーバを使用する使用者へのメ ッ セージなどを表示するために用いられるものであり、 CRTや液晶ディス プレイなどで構成される。 入力装置 113、 123、 133、 143は、 前記使用者 がデータや命令などを入力するために用いられるものであり、 キーボー ドゃマウスなどで構成される。 記憶装置 114、 124、 134、 144は、 プログ ラムゃデータなど種々の情報を永続的に記憶するために用いられるもの であり、 ハー ドディ スクやフロ ッ ピ一ディスクなどで構成される。 As shown in FIG. 1, the computer that constitutes the creation terminal 110, the verification server 120, the distribution server 130, and the user terminal U0 includes a communication network interface, a display device, an input device, and a storage device. And the central processing unit ifi (CPU), Temporary storage devices (memory) are connected to each other by a bus. The communication network interfaces 111, 121, 131, and 141 are interface devices for transmitting and receiving data via the communication network 100. The display devices 112, 122, 132, and 142 are used to display messages and the like to users who use the above terminals and servers, and include a CRT, a liquid crystal display, and the like. The input devices 113, 123, 133, and 143 are used by the user to input data, instructions, and the like, and include a keyboard and a mouse. The storage devices 114, 124, 134, 144 are used to permanently store various information such as program data, and are constituted by a hard disk, a floppy disk, and the like.
CPU115、 125、 135、 145は、 各部を統括的に制御したり、 様々な演算処 理を行ったりする。 メモリ 116、 126、 136、 146には、 オペレーティ ング システム(以下、 単に OSとも称する) 116a、 126a, 136a, 146aや、 CPUが 上記各端末、 サーバの機能を実現するために必要なプログラム、 データ などが格納される。  The CPUs 115, 125, 135, and 145 control the respective units in an integrated manner and perform various arithmetic processing. The memories 116, 126, 136, and 146 store operating systems (hereinafter, also simply referred to as OS) 116a, 126a, 136a, and 146a, and programs and data necessary for the CPU to realize the functions of the terminals and servers. Is stored.
ここで、 0S116aは、 ユーザ一端末 110全体の制御を行うために、 ファ ィル管理やプロセス管理、 あるいはデバイス管理といった機能を実現す るためのプログラムである。  Here, 0S116a is a program for implementing functions such as file management, process management, or device management in order to control the entire user terminal 110.
コー ド作成プログラム 116bは、 前記作成端末 110の使用者(以下、 単に 1'乍成者とも称する)の指示にしたがって、 モパイルコー ド 146cのソース コー ド(以下、 単にソースコー ドとも称する)を作成し、 記憶装置 114に 格钠するためのプログラムである。 検証依頼プログラム 116cは、 前記作 成者の指示にしたがって、 記憶装置 114に格納されている、 前記ソース コー ドを検証サーバ 120に送信するためのプログラムである。  The code creation program 116b creates a source code (hereinafter, also simply referred to as a source code) of the mopile code 146c in accordance with an instruction of a user of the creation terminal 110 (hereinafter, also simply referred to as 1 '). This is a program for storing in the storage device 114. The verification request program 116c is a program for transmitting the source code stored in the storage device 114 to the verification server 120 according to the instruction of the creator.
コ一 ド検証プログラム 126bは、 作成端末 110から前記ソースコ一 ドを 受信し、 当該ソースコー ドの機能を検証し、 当該ソースコー ドから、 モ パイルコー ド 146cや、 その機能仕様を作成し、 それらを前記配布サーバ 130に登録するためのプログラムである。 The code verification program 126b receives the source code from the creation terminal 110, verifies the function of the source code, and, based on the source code, This is a program for creating the pile code 146c and its functional specifications and registering them in the distribution server 130.
コー ド配布プログラム 1 36 bは、 検証サーバ 1 20からモバイルコ一 ド U6cを受信した場合に、 前記モバイルコ一 ド 146cを記憶装置 134に格納 し、 また、 ユーザ一端末 140から Browserプログラム 146bによるアクセス があった場合に、 記憶装置 1 34に格納されているモバイルコー ド 146cを、 必要に応じてマルチメディアデ一夕などを添付して、 送信するプログラ ムである。  When receiving the mobile code U6c from the verification server 120, the code distribution program 136b stores the mobile code 146c in the storage device 134, and also allows access from the user terminal 140 by the browser program 146b. This is a program for transmitting the mobile code 146c stored in the storage device 134 with the multimedia data and the like attached thereto as necessary.
また、 Browserプログラム 146bは、 ユーザー端末 140が配布サーバ 1 30 と通信し、 配布データ、 すなわちモパイルコー ド 146cと必要に応じて添 付される種々のデータ(たとえば、 音声、 画像、 動画などのマルチメデ ィアデ一夕を含む HTMLフアイノレ)からなるデータ、 をダウン口一 ドし、 モバイルコ一 ド 146cの機能を確認し、 当該モバイルコー ド 146cを実-行す るためのプログラムである。 なお、 これらの添付される種々のデ一夕は、 Browserプログラム 146bが当該モバイルコー ド 146cを実行する際に必要 とされるものである。  In addition, the browser program 146b communicates with the distribution server 130 when the user terminal 140 communicates with the distribution data, that is, the mobile data 146c and various data attached as needed (for example, multimedia data such as audio, images, and moving images). This is a program to download data consisting of HTML files including HTML data, confirm the functions of the mobile code 146c, and execute the mobile code 146c. Note that these attached various data are required when the browser program 146b executes the mobile code 146c.
モバイルコ一 ド 146cは、 ユーザ一端末 140の各種リ ソースにアクセス を行い、 計算処理を行うプログラムである。  The mobile code 146c is a program that accesses various resources of the user terminal 140 and performs calculation processing.
なお、 本実施形態では、 モパイルコー ド 146cには、 当該モバイルコ一 ド 146cの実行コー ド以外に、 当該モパイルコー ド 146cの機能仕様、 前記 検証者の署名(本実施形態では署名を検証するために必要なデータをま とめて署名と記述する)や、 モバイルコ一 ド自身が使用するデータゃフ ァィルが含まれており、 モバイルコ一 ド 146c自体の完全性の確認(改ざ んされているかどうかの確認)や機能の確認に利用可能である。  In the present embodiment, in addition to the execution code of the mobile code 146c, the function specification of the mopile code 146c and the signature of the verifier (in this embodiment, necessary for verifying the signature) Data and files used by the mobile code itself, and checks the integrity of the mobile code 146c itself (confirms whether it has been tampered with). ) And function confirmation.
次に、 本実施形態における各プログラムの機能プロ ッ ク構成とその動 作について説明する。 以 Tの説明において、 各機能ブロックは、 上記 CPUが OSを介して、 あるいは直接に、 プログラムを実行することによつ て、 実現されるものである。 Next, a functional block configuration and operation of each program in the present embodiment will be described. In the following description, each functional block This is realized by the CPU executing a program via the OS or directly.
ただし、 前記作成者が作成端末 110で前記ソースコー ドを作成する場 合の、 機能ブロック構成、 および動作については、 従来のモバイルコ一 ドシステムにおいて前記ソースコ一 ドを作成する場合と同じであり、 そ の詳細な説明は省略する。 なお、 前記作成者が作成した前記ソースコー ドは、 記憶装置 114のソースコ一 ドファイル 202に格納される。  However, when the creator creates the source code on the creating terminal 110, the functional block configuration and operation are the same as when the source code is created in the conventional mobile code system. The detailed description of is omitted. The source code created by the creator is stored in the source code file 202 of the storage device 114.
まず、 作成端末 110が、 モバイルコー ド 146cの機能検証を、 検証サ一 バ 120に依頼する場合の、 作成端末 1 10および検証サーバ 120の機能プロ ック構成、 および動作について、 第 2図、 第 10図、 第 11図を参照して説 明する。  First, the functional block configuration and operation of the creating terminal 110 and the verification server 120 when the creating terminal 110 requests the verification server 120 to perform the function verification of the mobile code 146c are shown in FIG. This will be described with reference to FIGS. 10 and 11.
第 2図は、 作成端末 110が、 モパイルコー ド 146cの機能検証を、 検証サ ーバ 120に依頼する場合の、 作成端末 110および検証サーバ 120の機能ブ ロック構成を示す図である。 まず、 作成端末 1 10の機能ブロック構成に ついて説明する。  FIG. 2 is a diagram showing a functional block configuration of the creation terminal 110 and the verification server 120 when the creation terminal 110 requests the verification server 120 for function verification of the mopile code 146c. First, the functional block configuration of the creation terminal 110 will be described.
作成端末 1 10は、 第 2図に示すように、 入力装置 113を介して、 前記作 成者の指示を受け付ける入力部 204と、 前記入力部 204に入力されたデ一 夕などを、 表示装置 1 12に表示させる表示部 203と、 前記入力装置 1 13に 入力された前記作成者の指示にしたがい、 検証サ一ノ 120に対して、 通 信網 100を介して、 記憶装置 114のソースコー ドフ ァイル 202に格納され た、 前記ソースコー ドと当該ソースコー ドが実行時に使用する、 データ またはフ ァイル、 例えば、 音声、 画像、 動画データなどを送信する、 ソ ースコー ド送信処理部 201と、 を有する。 なお、 これらの実行時に使用 されるデ一夕またはファイルは、 上述の配布データにモバイルコ一 ドに 添付されるデ一夕ゃファィルとは異なり、 当該モバイルコー ドがその実 行時に必要とするものである。 次に、 検証サーバ 120の機能プロック構成について説明する。 As shown in FIG. 2, the creation terminal 110 includes an input unit 204 that receives an instruction from the creator via an input device 113, and a display device and the like that are input to the input unit 204. In accordance with the creator's instruction input to the input device 113, the display 203 displayed on the display device 112 and the verification code 120 are transmitted via the communication network 100 to the source codestore of the storage device 114. And a source code transmission processing unit 201 for transmitting data or a file, for example, voice, image, or moving image data, which is used when the source code is executed, stored in the file 202. Note that the data or files used at the time of execution of these are different from the data files attached to the mobile code in the distribution data described above and are required by the mobile code at the time of execution. is there. Next, a function block configuration of the verification server 120 will be described.
検証サーバ 120は、 第 2図に示すように、 作成端末 1 10から前記ソース コー ドを受信したという情報などを表示装置 122に表示させる表示部 213 と、 前記作成端末 110から前記ソースコ一 ドを受信するソースコー ド受 信処理部 211と、 を有する。  As shown in FIG. 2, the verification server 120 displays, on the display device 122, information indicating that the source code has been received from the creation terminal 110, and the like, and displays the source code from the creation terminal 110. And a source code reception processing unit 211 for reception.
次に、 作成端末 110の動作について説明する。  Next, the operation of the creation terminal 110 will be described.
第 10図は、 作成端末 1 10が、 モバイルコー ド 146cの機能検証を、 検証 サ一ノ 120に依頼する場合の、 作成端末 110の動作フ口一を示した図であ る。  FIG. 10 is a diagram illustrating an operation flow of the creation terminal 110 when the creation terminal 110 requests the function verification of the mobile code 146c to the verification server 120.
まず、 前記作成者が入力装置 113に前記ソースコー ドの格納場所と名 前、 および前記検証サーバ 120の位置と名前を入力する(ステツプ 1001 )。 次に、 ソースコー ド送信処理部 201は、 ステップ 1002において、 指定さ れた前記ソースコ一 ドを前記ソ一スコ一 ドフアイル 202から取り出し、 当該ソ一スコ一 ドとソースコ一 ドが実行時に使用するデータゃフアイル を含む機能検証依頼 203を作成し、 当該機能検証依頼 203を、 前記作成者 が指示した前記検証サーバ 120に送信する。  First, the creator inputs the storage location and name of the source code and the location and name of the verification server 120 into the input device 113 (step 1001). Next, in step 1002, the source code transmission processing unit 201 extracts the specified source code from the source code file 202, and executes the source code and the data used by the source code at the time of execution. A function verification request 203 including a file is created, and the function verification request 203 is transmitted to the verification server 120 specified by the creator.
次に、 検証サーバ 120の動作について説明する。  Next, the operation of the verification server 120 will be described.
第 11図は、 作成端末 110が、 前記ソースコー ドの機能検証を、 検証サ —バ 120に依頼する場合の、 検証サーバ 120の動作フローを示した図であ る。  FIG. 11 is a diagram showing an operation flow of the verification server 120 when the creation terminal 110 requests the verification server 120 to perform the function verification of the source code.
まず、 ステップ 1101において、 前記ソースコー ド受信処理部 21 1が、 前記作成端末 110から前記機能検証依頼 203を待ち受ける。 前記 能険証 依頼 203を受信すると、 前記ソースコー ド受信処理部 21 1は、 当該機能検 証依頼 203から取り出した、 前記ソースコー ドをソースコー ドファイル 212に格納し(ステップ 1103 )、 前記作成端末 110から前記ソースコー ドを 受信したという情報を、 前記表示装置 122に衷示する(ステツプ 1104 ;。 その後、 ステップ 1101に遷移し、 再び、 前記作成端末 110から前記機能 検証依頼 203を待ち受ける。 First, in step 1101, the source code reception processing unit 211 waits for the function verification request 203 from the creating terminal 110. Upon receiving the function certificate request 203, the source code reception processing section 211 stores the source code extracted from the function verification request 203 in the source code file 212 (step 1103), and Information indicating that the source code has been received from the display device 122 (step 1104). After that, the process transits to Step 1101 and again waits for the function verification request 203 from the creating terminal 110.
次に、 検証サーバ' 120が、 前記ソースコー ドの機能検証、 モバイルコ - ド 146cの作成と、 当該モバイルコ一 ド 146cの配布サーバ 130への登録 を行う場合の、 検証サーバ 120および配布サーノく 130の機能ブロック構成 および動作について説明する。  Next, when the verification server 120 performs the function verification of the source code, creates the mobile code 146c, and registers the mobile code 146c in the distribution server 130, the verification server 120 and the distribution server 130 perform The functional block configuration and operation will be described.
第 3図は、 検証サーバ 120でソースコー ドの機能を検証し、 当該ソース コ一 ドから作成したモバイルコー ド 146cを配布サーバ 130に登録する場 合の、 検証サーバ 120および配布サーバ 130の機能プロック構成を示した 図である。 ここで、 検証サーバ 120の各機能ブロ ックは、 検証サーバ 120 の CPU125がメモリ 126に格納された各プログラムを OSを介して実行する ことで実現される。 また、 配布サーバ' 130の各機能ブロックは、 配布サ —バ 130の CPU135がメモリ 136に格納された各プログラムを OSを介して実 行することで実現される。  FIG. 3 is a functional block diagram of the verification server 120 and the distribution server 130 when the function of the source code is verified by the verification server 120 and the mobile code 146c created from the source code is registered in the distribution server 130. FIG. 3 is a diagram showing a configuration. Here, each functional block of the verification server 120 is realized by the CPU 125 of the verification server 120 executing each program stored in the memory 126 via the OS. Each functional block of the distribution server 130 is realized by the CPU 135 of the distribution server 130 executing each program stored in the memory 136 via the OS.
まず、 検証サーバ 120の機能ブロック構成について説明する。  First, a functional block configuration of the verification server 120 will be described.
検証サーバ 120は、 第 3図に示すように、 前記検証サーバ' 120の使用者 (以下、 単に検証者とも称する)の指示を受け付ける入力部 123と、 前記 入力部 123に入力されたデータなどを表示する表示装置 122と、 前記入力 部 123から入力された、 前記検証者の指示にしたがって、 前記記憶装置 124に格納された前記ソースコー ドの機能を検証する、 機能検証処理部 301と、 前記ソースコー ドからモバイルコ一 ド 146cを作成するモパイル コー ド作成処理部 302と、 前記モバイルコー ド 146cの登録を要求するた め、 登録要求 305を配布サーバ 130に送信する、 登録要求送信処理部 303 と、 を有している。 なお、 前記登録要求 305には、 前記モパイルコー ド ί乍成処理部 302が作成した、 モパイルコー ド 146cとモバイルコー ドを格 納する場所を指定する情報が含まれている。 次に、 配布サーバ 130の機能プロック構成について説明する。 As shown in FIG. 3, the verification server 120 includes an input unit 123 that receives an instruction from a user of the verification server 120 (hereinafter, also simply referred to as a verifier), and data and the like input to the input unit 123. A display device 122 to be displayed; a function verification processing unit 301 for verifying the function of the source code stored in the storage device 124 in accordance with the verifier's instruction input from the input unit 123; A mobile code creation processing unit 302 that creates a mobile code 146c from the code, a registration request transmission processing unit 303 that sends a registration request 305 to the distribution server 130 to request registration of the mobile code 146c, have. The registration request 305 includes information for designating a location for storing the mobile code 146c and the mobile code created by the mobile code generation processing unit 302. Next, the function block configuration of the distribution server 130 will be described.
配布サーバ 130は、 第 3図に示すよう に、 前記配布サーバ 130の使用者 (以下、 単に配布者とも称する)の指示を受け付ける入力部 133と、 前記 入力部 133に入力されたデータなどを表示する表示部 132と、 前記検証サ —バ 120から前記登録要求 305を受信し、 当該登録要求 305に含まれるモ バイルコー ド 146cを、 前記記憶装置 134に格納する、 登録要求受信処理 部 31 1と、 を有している。  As shown in FIG. 3, the distribution server 130 displays an input unit 133 for receiving an instruction of a user of the distribution server 130 (hereinafter, also simply referred to as a distributor), and data and the like input to the input unit 133. A registration request reception processing unit 311 that receives the registration request 305 from the verification server 120 and stores the mobile code 146c included in the registration request 305 in the storage device 134. , have.
次に、 検証サーバ 120の動作について説明する。  Next, the operation of the verification server 120 will be described.
第 12図は、 検証サーバ 120でソースコー ドの機能を検証し、 当該ソ一 スコ一 ドから作成したモバイルコ一 ド 146cを配布サーバ 130に登録する 場合の、 検証サーバ 120の動作フ口一を示した図である。  FIG. 12 shows an operation flow of the verification server 120 when the function of the source code is verified by the verification server 120 and the mobile code 146c created from the source code is registered in the distribution server 130. FIG.
まず、 前記検証者が、 機能を検証する前記ソースコー ドの格納場所と 名前を入力部 123に入力する(ステップ 1201 )と、 機能検証処理部 301-は、 前記ソースコー ドフアイル 212から指定された前記ソースコ一 ドを 索 し、 当該ソースコー ドからモパイルコー ド 146cの持つ機能を記述した機 能仕様 500を作成する〔ステップ 1202 )。 次に、 機能仕様確認画面 600を前 記表示装置 122に表示し(ステップ 1203 )、 ステップ 1204に遷移し、 前記 検証者の指示を待ち受ける。  First, when the verifier inputs a storage location and a name of the source code for verifying a function to the input unit 123 (step 1201), the function verification processing unit 301-specifies the source code specified from the source code file 212. Then, a function specification 500 describing the functions of the mopile code 146c is created from the source code (step 1202). Next, the function specification confirmation screen 600 is displayed on the display device 122 (step 1203), and the process proceeds to step 1204 to wait for the verifier's instruction.
第 5図は、 前記機能検証処理部 301が作成する前記機能仕様 500の一例 を示した図である。 この例では、 前記ソースコー ドが、 「ノ etcZ passwdj という フアイルに読み込み(501 )や書き込み (' 504)を行ったり、 「Z bin / rm」 というプログラムを実行したりする(503 )などの情報が記 述されている。  FIG. 5 is a diagram showing an example of the function specification 500 created by the function verification processing unit 301. In this example, the source code reads (501) and writes ('504) a file called “etcZ passwdj”, and executes information (503) that executes a program called “Z bin / rm”. It has been described.
また、 第 6図は、 前記 能検証処理部 301が前記表示装置 122に表示す る、 前記機能仕様確認画面 600の画面の一例である。 前記検証者は、 ソ 一スコ一 ド表示領域 601に表示された前記ソースコ一 ドと、 践能仕成衷 示領域 602に表示された前記璣能仕様 500とを比較、 確認し、 前記モバイ ルコー ド 146cを作成するか否かを選択する。 例えば、 前記検証者は、 前 記表示装置 122に表示された前記機能仕様 500を確認し、 当該モバイルコ 一 ド 146cが有害な動作を行う ものであると判断した場合には、 前記検証 者は、 キャンセル(拒否)ボタン 604を押すなどによって、 前記モバイル コー ド 146cの作成を拒否することができる。 有害な動作とは例えば、 本 来の動作には関係のないプログラムを起動している、 ユーザ一端末から データを読み込んでサーバに転送しているなどの動作である。 なお、 作 成とは、 ソースコー ドから実行コー ドを作成(コンパイル)し、 機能仕様 と実行コー ドと実行時に使用されるデータゃフアイルを一つにまとめてFIG. 6 is an example of the function specification confirmation screen 600 displayed on the display device 122 by the function verification processing unit 301. The verifier compares the source code displayed in the source code display area 601 with a technical specification A comparison is made with the function specification 500 displayed in the display area 602, and the function specification 500 is checked, and whether or not to create the mobile code 146c is selected. For example, the verifier checks the function specification 500 displayed on the display device 122 and determines that the mobile code 146c performs a harmful operation. The creation of the mobile code 146c can be rejected by pressing a cancel (reject) button 604 or the like. The harmful operation is, for example, the operation of running a program unrelated to the original operation or the operation of reading data from one user terminal and transferring it to the server. The creation is to create (compile) the execution code from the source code, and to combine the functional specifications, the execution code, and the data file used at the time of execution into one.
(アーカイブして)、 さらに署名を付加するという処理を行うことを指す c ここで、 前記検証者が前記モバイルコ一 ド 146cの作成を拒否するとい う指示を行った場合には、 ステップ 1209において、 前記ソースコ一 -ドと、 前記機能仕様 500とを破棄し、 処理を終了する。 なお、 前記検証者が前 記モパイルコー ド 146cの作成を拒否した場合に、 前記作成者に対して作 成が拒否された旨をその理由と共に通知してもよい。 これによつて、 前 記作成者は当該モバイルコー ド 146cの修正すべき箇所を知ることができ るという効果がある。 (Archive and), where c pointing to processes that perform that further adds a signature, if the verifier issues an instruction would leave refuse the creation of the Mobairuko one de 146c, in step 1209, The source code and the function specification 500 are discarded, and the process ends. When the verifier refuses to create the above-described mopile code 146c, the verifier may be notified to the effect that the creation has been rejected, together with the reason. This has the effect that the creator can know the location of the mobile code 146c to be modified.
一方、 前記検証者が、 作成ボタン 603を押すなどによって、 前記モバ ィルコー ド 146cの作成を選択した場合には、 ステップ 1205に遷移する。 また、 ステップ 1204で、 前記検証者が前記機能仕様 500を編集するこ とも可能である。 前記檢証者が編集ボタン 605を押すことによって、 機 能仕様 500の編集を選択した場合には、 ステップ 1210に遷移し、 前記機 能検証処理部 301は、 機能仕様編集画面 700を前記表示装置 122に表示し、 前記検証者からの指示を待ち受ける(ステップ^ U )。  On the other hand, when the verifier selects the creation of the mobile code 146c by pressing the create button 603 or the like, the process proceeds to step 1205. Also, in step 1204, the verifier can edit the functional specification 500. When the inspector selects the editing of the function specification 500 by pressing the edit button 605, the process proceeds to step 1210, and the function verification processing unit 301 displays the function specification editing screen 700 on the display device. 122 and waits for an instruction from the verifier (step ^ U).
第 7図は、 前記璣能検証処理部 301が前記表示装 S 122に表示する、 前 記機能仕様編集画面了 00の画面の一例である。 前記検証者は、 この画面 を使って、 前記機能仕様 500の編集を行う。 FIG. 7 shows that the function verification processing unit 301 displays the information on the display device S122. It is an example of the screen of the function specification editing screen end 00. The verifier edits the functional specification 500 using this screen.
ここで、 更新ボタ ン 702を押すなどによって、 編集結果を前記機能仕 様 500に反映することを選択した場合には、 前記機能検証処理部 301は、 編集結果を反映した機能仕様 500を新たに作成し(ステップ 1212 )、 ステ ップ 1204に戻る。  If the user selects to reflect the edited result to the function specification 500 by pressing the update button 702 or the like, the function verification processing unit 301 newly adds the function specification 500 reflecting the edited result. Create (step 1212) and return to step 1204.
一方、 キャンセルボタ ン了 03を押すなどによって、 編集結果を前記機 能仕様 500に反映しないことを選択した場合には、 そのまま、 ステップ 1204に戻る。  On the other hand, if the user selects not to reflect the edited result in the function specification 500 by pressing the cancel button 03 or the like, the process returns to step 1204 as it is.
ステップ 1205では、 前記機能仕様 500と、 検証サーバが作成した前記 モバイルコー ド 146cを特定するためのモバイルコー ド識別子と、 の組を 機能仕様登録ファイル 304に格納し、 前記モバイルコ一 ド作成処理部 302 に処理を移す。  In step 1205, a set of the functional specification 500 and a mobile code identifier for identifying the mobile code 146c created by the verification server is stored in a functional specification registration file 304, and the mobile code creation processing unit Move on to 302.
前記モパイルコー ド作成処理部 302は、 ステップ 1206で、 実行コー ド と、 検証者の署名とを生成し、 モバイルコ一 ド 146cを作成する。  In step 1206, the mopile code creation processing unit 302 creates the execution code and the signature of the verifier, and creates the mobile code 146c.
次に、 ステップ 1207で、 前記検証者が、 前記モバイルコー ド 146cを登 録する配布サーバ 130の名前とその中の格納場所を入力すると、 前記登 録要求送信処理部 303は、 前記モバイルコー ド 146cと、 その格納場所な どを含んだ登録要求 305を作成し、 指定された配布サーバ 130に、 前記登 録要求 305を送信し(ステップ 1208 )、 処理を終了する。 なお、 前記モバ ィルコ一 ド 146cを前記配布サーバ 130に登録した場合に、 前記作成者に 対してその旨を通知してもよい。 これにより、 前記作成者は前記モバイ ルコ一 ド 146cが確かに ί乍成されたことを知るこ とができるという効果が ある。  Next, in Step 1207, when the verifier inputs the name of the distribution server 130 that registers the mobile code 146c and the storage location therein, the registration request transmission processing unit 303 A registration request 305 including 146c and its storage location is created, and the registration request 305 is transmitted to the designated distribution server 130 (step 1208), and the process ends. When the mobile code 146c is registered in the distribution server 130, the creator may be notified to that effect. This has the effect that the creator can know that the mobile code 146c has been successfully created.
次に、 配布サ一ハ' 1 30の動作について説明する。  Next, the operation of the distribution server '130 will be described.
第 13図は、 検証サーバ 120でソースコー ドの機能を検証し、 当該ソー スコー ドから作成した当該モバイルコ一 ド 146cを配布サーバ 130に登録 する場合の、 配布サーバ 130の動作フローを示した図である。 FIG. 13 shows that the function of the source code is verified by the verification server 120, and the source FIG. 9 is a diagram showing an operation flow of the distribution server 130 when the mobile code 146c created from the code is registered in the distribution server 130.
まず、 ステップ 1301において、 前記登録要求受信処理部 31 1が、 前記 検証サーバ 120から前記登録要求 305を待ち受ける。 前記登録要求 305を 受信する(ステップ 1302 )と、 前記登録要求受信処理部 311は、 前記登録 要求 305に含まれるモバイルコ一 ド 146cを、 指定された格納場所に格納 し(ステツプ 1303 )、 前記検証サーバ 120から前記モバイルコ一 ド 146cを 受信したという情報を、 前記表示部 132に表示する(ステップ 1304 )。 そ の後、 ステップ 1301に遷移し、 再び、 前記検証サーバ 120から前記登録 要求 305を待ち受ける。  First, in step 1301, the registration request reception processing unit 311 waits for the registration request 305 from the verification server 120. Upon receiving the registration request 305 (Step 1302), the registration request reception processing unit 311 stores the mobile code 146c included in the registration request 305 in a designated storage location (Step 1303), and performs the verification. Information indicating that the mobile code 146c has been received from the server 120 is displayed on the display unit 132 (step 1304). After that, the processing transits to Step 1301 and waits for the registration request 305 from the verification server 120 again.
次に、 ユーザー端末 140が、 配布サーバ 130からモパイルコー ド 146cを 含む上記配布データを受け取り、 当該モバイルコー ド 146cを実行する際 の、 ユーザー端末 140および配布サーバ 130の機能プロック構成およ-び動 作について説明する。  Next, when the user terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c, the function block configuration and operation of the user terminal 140 and the distribution server 130 are performed. The work will be described.
第 4図は、 ユーザ一端末 140が、 配布サ一ノ 130からモバイルコー ド 146cを含む上記配市データを受け取る際の、 ユーザー端末 140および配 布サーバ 130の機能ブロック構成を示す図である。 ここで、 ユーザー端 末 140の各機能ブロックは、 ユーザ一端末 140の CPU145がメモリ 146に格 納された各プログラムを OSを介して実行するこ とで実現される。 また、 配布サーバ 130の各機能ブロ ックは、 配布サーバ 130の CPU135がメモ リ 136に格納された各プログラムを OSを介して実行することで実現される。 まず、 ユーザー端末 140の機能プロック構成について説明する。  FIG. 4 is a diagram showing a functional block configuration of the user terminal 140 and the distribution server 130 when the user terminal 140 receives the above-mentioned distribution data including the mobile code 146c from the distribution server 130. Here, each functional block of the user terminal 140 is realized by the CPU 145 of the user terminal 140 executing each program stored in the memory 146 via the OS. Each functional block of the distribution server 130 is realized by the CPU 135 of the distribution server 130 executing each program stored in the memory 136 via the OS. First, the function block configuration of the user terminal 140 will be described.
ユーザー端末 140は、 第 4図に示すよう に、 前記ユーザ一端末 140の使 用者(以下、 単にユーザーとも称する)の指示を受け付ける入力部 143と、 記入力部 143に入力されたデータや、 配布サーバ 130から送られてきた データなどを表示する表示部 142と、 前記入力部 143に入力された前記ュ 一ザ一の指示にしたがい、 配布サーバ 1 30に対してモバイルコ一 ド 146c の配送要求 41 7を送信する、 要求送信処理部 41 1と、 前記配布サーバ 1 30 からモバイルコー ド 146cを受信するモバイルコ一 ド受信処理部 412と、 前記モバイルコー ド 146cに付加された署名を検証する署名検証処理部 4 1 3と、 前記モバイルコー ド 146cの機能を確認する機能確認処理部 414と 前記モバイルコ一 ド 146cを実行するモバイルコ一 ド実行処理部 415と、 を有する。 As shown in FIG. 4, the user terminal 140 includes an input unit 143 that receives an instruction of a user of the user terminal 140 (hereinafter, also simply referred to as a user), data input to the input unit 143, A display unit 142 for displaying data and the like sent from the distribution server 130, and the queue input to the input unit 143. A request transmission processing unit 411 that transmits a delivery request 417 of the mobile code 146c to the distribution server 130 according to the instruction of the user, and a mobile communication unit that receives the mobile code 146c from the distribution server 130. A mobile phone reception processing unit 412; a signature verification processing unit 413 for verifying a signature added to the mobile code 146c; a function verification processing unit 414 for verifying the function of the mobile code 146c; and the mobile code And a mobile code execution processing unit 415 for executing 146c.
次に、 配布サーバ 1 30の機能プロ ック構成について説明する。  Next, the functional block configuration of the distribution server 130 will be described.
配布サーバ 130は、 第 4図に示すよう に、 ユーザー端末 140から前記配 送要求 417を受け付ける要求受信処理部 40 1と、 当該配送要求 4 17にした カ^、、 モバイルコ一 ド 146cを含む上記配布データを前記ユーザー端末 140に送信するモバイルコ一 ド送信処理部 402と、 を有する。  As shown in FIG. 4, the distribution server 130 includes a request reception processing unit 401 that receives the distribution request 417 from the user terminal 140, a card that makes the distribution request 417, and a mobile code 146c. And a mobile code transmission processing unit 402 for transmitting distribution data to the user terminal 140.
次に、 ユーザー端末 140の動作について説明する。  Next, the operation of the user terminal 140 will be described.
第 14図は、 ユーザ一端末 140が、 配布サーバ 1 30からモバイルコ一 ド 146cを含む上記配布データを受け取り、 当該モバイルコー ド 146cを実行 する際の、 ユーザー端末 140の動作フローを示した図である。  FIG. 14 is a diagram illustrating an operation flow of the user terminal 140 when the user terminal 140 receives the distribution data including the mobile code 146c from the distribution server 130 and executes the mobile code 146c. is there.
まず、 前記モバイルコ一 ド 146cの名前や格納場所を示す情報(フアイ ル名ゃディ レク トリ名など)を用いて、 前記配布サーバ 130に置かれてい るモバイルコー ド 146cなどのダウンロー ドが指示される(ステツプ 1401 ) と、 要求送信処理部 4 1 1は、 前記配布サーバ 130に、 前記モパイルコー ド 146cの配送要求 41 7を送信する(ステツプ 1402 )。 前記モバイルコ一 ド 146cの名前や格納場所を示す情報としては、 例えば、 本実施形態のよう に、 Browserプログラムを利用してデータを受信する場合には、 配布デ —夕の名前や格納場所を示す情報として、 配布サーバ 1 30のァ ドレスと ファイル名とを連結した、 いわゆる Un i form Resource  First, download of the mobile code 146c or the like placed on the distribution server 130 is instructed using information indicating the name and storage location of the mobile code 146c (file name / directory name, etc.). (Step 1401), the request transmission processing unit 4111 transmits the distribution request 417 of the mopile code 146c to the distribution server 130 (Step 1402). As the information indicating the name and storage location of the mobile code 146c, for example, when data is received using the Browser program as in the present embodiment, the distribution data indicates the name and storage location of the evening. As information, the so-called Uniform Resource that links the address of the distribution server 130 and the file name
し oca tors C URし s ) ^"用 ヽる 0 次に、 ステップ 1403において、 前記モパイルコー ド受信処理部 412が、 前記配布サーバ' 130からの配付データを待ち受け、 前記配布サーバ 130か ら、 前記モパイルコー ド 146cなどを受け取ると、 前記署名検証処理部 413に処理を移す。 ステップ 1404において、 前記署名検証処理部 413は、 前記モパイルコー ド 146cに付加されている、 前記検証者の署名を検証す る上記ダウンロー ドの指示方法として、 Oca tors C UR s) ^ "for 用 る0 Next, in step 1403, when the mopile code reception processing unit 412 waits for distribution data from the distribution server '130 and receives the mopile code 146c or the like from the distribution server 130, the signature verification processing unit 413 Transfer processing to In step 1404, the signature verification processing unit 413 includes, as the download instruction method for verifying the verifier's signature attached to the mopile code 146c,
( 1 ) 前記ユーザが URLを明示的に指定する  (1) The user explicitly specifies the URL
( 2 ) 閲覧中の HTMLフアイルにモバイルコ一 ドの URLが指定されていて、. Browserプログラム 146bが自動的にダウンロー ド指示を出す  (2) The URL of the mobile code is specified in the HTML file being viewed, and the Browser program 146b automatically issues a download instruction.
がある。 また、 There is. Also,
(3) 配布サーバ 130が PUSH技術を用いて、 モパイルコー ド 146cを送付 してく る場合もある  (3) The distribution server 130 may send the mopile code 146c using PUSH technology
力、'、 このとき、 ステップ 1401、 1402は省略される。 At this time, steps 1401 and 1402 are omitted.
ここで、 前記モバイルコー ド 146cの完全性(前記検証サーバ 120が当該 モバイルコー ド 146cを作成した時点から当該モバイルコ一 ド 146cに対し て改ざんがなされていない)が確認できなかった場合や、 前記検証者を 信頼することができないと判断した場合には、 その旨を表示部 142に表 示した後(ステップ 1412 )、 ステップ 1413に移行し、 処理を終了する。 な お、 検証者を信頼することができるか否かを判断する方法については、 従来の署名付きコー ドにおいて、 その署名者を信頼できるか否かを判断 する方法と同じであり、 詳細な説明は省略する。  Here, if the integrity of the mobile code 146c has not been confirmed (the mobile code 146c has not been tampered with since the verification server 120 created the mobile code 146c), If it is determined that the verifier cannot be trusted, the fact is displayed on the display unit 142 (Step 1412), and the process proceeds to Step 1413 to end the process. Note that the method of determining whether the verifier can be trusted is the same as the method of determining whether or not the signer can be trusted in conventional signed code. Is omitted.
一方、 ステップ 1405において、 前記モパイルコー ド 146cの完全性が確 認され、 かつ、 前記検証者を信頼することができると判断した場合には、 前記機能確認処理部 414に処理を移す。 前記機能確認処理部 414は、 前記 モバイルコー ド 146cから、 当該モパイルコー ド I46cの機能仕 500を取 り出し(ステツプ 1406 )、 記憶装置 144の機能仕様管理ファィル 416に記録 された、 第 9図に示すようなテーブルに同じ機能仕様 500が登録されてい るか否かを確認する(ステツプ 1407)。 On the other hand, if it is determined in step 1405 that the integrity of the mopile code 146c is confirmed and that the verifier can be trusted, the process is transferred to the function confirmation processing unit 414. The function confirmation processing unit 414 extracts the function specification 500 of the mopile code I46c from the mobile code 146c (step 1406) and records it in the function specification management file 416 of the storage device 144. Then, it is confirmed whether the same functional specification 500 is registered in the table as shown in FIG. 9 (step 1407).
なお、 機能仕様管理ファイル 416は、 機能仕様 500が、 その実行が許可 される度に順次登録された、 あるいは、 信頼できる、 第 3者やシステム の管理者によって、 あらかじめ配布された、 実行が許可された実績のあ る(すなわち安全な)機能仕様を格納したファイルである。 第 9図は、 安 全な機能仕様 500が、 順番に番号が付けられて前記機能仕様管理ファィ ノレ 416に登録されている例を示している。  The functional specification management file 416 is registered in the functional specification 500 sequentially each time its execution is permitted, or distributed in advance by a trusted third party or a system administrator. This is a file that stores proven (ie secure) functional specifications. FIG. 9 shows an example in which safe function specifications 500 are sequentially numbered and registered in the function specification management file 416.
ここで、 前記機能仕様管理フアイル 416に同じ機能仕様 500が登録され ている場合には、 ステップ 1411に移行し、 前記モバイルコー ド実行処理 部 415に処理を移す。  If the same function specification 500 is registered in the function specification management file 416, the process proceeds to step 1411 and the process is transferred to the mobile code execution processing unit 415.
一方、 同じ機能仕様 500が前記機能仕様管理フアイル 416に登録されて いなかった場合には、 ステップ 1408で、 表示部 142に、 実行確認画面 800 を表示し、 当該モバイルコ一 ド 146cを実行するか否かの指示を前記ユー ザ一に求める。  On the other hand, if the same function specification 500 has not been registered in the function specification management file 416, in step 1408, an execution confirmation screen 800 is displayed on the display unit 142, and the execution of the mobile code 146c is performed. The user is instructed whether or not to do so.
第 8図は、 前記実行確認画面 800の一例である。 この例では、 現在実行 しょう としているモバイルコ一 ド 146c力く 「/etc/passwd」 というファ ィルからデータを読み込んだり(811) 、 読み込んだデータを  FIG. 8 is an example of the execution confirmation screen 800. In this example, the mobile code 146c that is about to be executed is read from the file “/ etc / passwd” (811), and the read data is read.
www. foo. co. jpという コンピュー夕に転送する(813)などの情報が表示さ れま ! る第 20図は、 前記実行確認画面 800の他の一例である。 この例で は、 現在実行しょう としているモバイルコ一 ド 146cが 「ダ etc/ FIG. 20 shows another example of the execution confirmation screen 800, in which information such as (813) to be transferred to a computer called www.foo.co.jp is displayed. In this example, the mobile code 146c that is currently trying to execute is "da etc /
passwd」 という ファイルに読み込み(2011)や書き込み(2014)を行ったり、 「/binZrm」 というプログラムを実行(2015)したりするなどの情報が 表示されている。 Information such as reading (2011) and writing (2014) to a file called "passwd" and executing (2015) a program called "/ binZrm" is displayed.
いずれの場合も、 前記ユーザ一は、 画面に表示された情報により、 現 在実行しょう としている前記モバイルコー ド 146cの機能を確認し、 当該 モバイルコ一 ド 146cの実行を許可するか否かを選択する。 In any case, the user confirms the function of the mobile code 146c that is currently about to be executed based on the information displayed on the screen, and Select whether to permit execution of mobile code 146c.
ここで、 前記ユーザーが、 実行ボタ ン 820を押すなど、 入力部 142から. 前記モバイルコー ド 146cを実行するという指示を入力した場合には、 前 記機能確認処理部 414は、 前記機能仕様管理ファイル 416に、 前記モバイ ルコー ド 146cの機能仕様 500を新規に追加し(ステップ 1410 )、 ステップ 141 1に移行して、 前記モバイルコー ド実行処理部 415に処理を移行する。 一方、 前記ユーザーが拒否ボタン 830を押すなど、 入力部 142から、 前 記モバイルコー ド 146cの実行を認めないという指示を入力した場合には. ステツプ 14 13に移行する。  Here, when the user inputs an instruction to execute the mobile code 146c, for example, by pressing an execution button 820, the function confirmation processing unit 414 performs the function specification management. The function specification 500 of the mobile code 146c is newly added to the file 416 (step 1410), and the process proceeds to step 1411, where the process is transferred to the mobile code execution processing unit 415. On the other hand, if the user inputs an instruction not to permit execution of the mobile code 146c from the input unit 142, such as pressing the reject button 830, the process proceeds to step 1413.
ステップ 141 1では、 モバイルコー ド実行処理部 414が前記モバイルコ ー ド 146cを実行する。 なお、 本実施例におけるモパイルコー ド 146cの実 行とは、 当該モバイルコー ドに含まれる実行コ一 ドの実行を意味する。 次に、 配布サーバ 130の動作について説明する。  In step 1411, the mobile code execution processing unit 414 executes the mobile code 146c. Note that execution of the mopile code 146c in the present embodiment means execution of an execution code included in the mobile code. Next, the operation of the distribution server 130 will be described.
第 15図は、 ユーザ一端末 140が、 配布サーバ 130からモパイルコー ド 146cを含む上記配布データを受け取り、 当該モバイルコー ド 146cを実行 する際の、 配布サーバ 130の動作フローを示した図である。  FIG. 15 is a diagram showing an operation flow of the distribution server 130 when the one user terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c.
まず、 ステップ 1501で、 前記要求受信処理部 401が、 前記ユーザー端 末 140から配送要求 417を待ち受け、 前記ユーザー端末 140から配送要求 417を受信すると、 前記モパイルコー ド送信処理部 402に処理を移す。 前 記モバイルコー ド送信処理部 402は、 当該配送要求 417に応じた前記モバ ィルコ一 ド 146cを、 必要に応じてマルチメディアファイルなどを添付し て、 前記ユーザー端末 140に送信する(ステップ 1503 )。 その後、 ステツ プ 1501に戻って、 再び、 前記ユーザー端末 140から配送要求 41了を待ち受 ける。  First, in step 1501, the request reception processing unit 401 waits for a delivery request 417 from the user terminal 140, and upon receiving the delivery request 417 from the user terminal 140, shifts the processing to the mopil code transmission processing unit 402. The mobile code transmission processing unit 402 transmits the mobile code 146c corresponding to the delivery request 417 to the user terminal 140 with a multimedia file or the like attached as necessary (step 1503). . Thereafter, the process returns to step 1501 and waits for the end of the delivery request 41 from the user terminal 140 again.
以上述べたように、 本実施例では、 モパイルコー ド 146cには、 検証サ ' 120によつて作成された、 当該モバイルコー ド 146cの待っ^能を記 述した機能仕様 500が含まれている。 ユーザ一端末 140が、 配布サーバ 130からモバイルコ一 ド 146cを受信した場合、 前記モバイルコー ド 146c を実行する前に、 当該モバイルコ一 ド 146cから取り出した前記機能仕様 500を、 それが実行許可されたものでない場合でも、 前記ユーザーに提 示し、 当該モパイルコー ド 146cを実行するか否かを選択させる。 このた め、 前記ユーザー端末 140は、 モバイルコー ド 146cの持つ機能に基づい て、 当該モバイルコー ド 146cを実行するか否かを決定することができる ( 次に、 本発明の他の実施形態として、 機能仕様 500を検証サーバ 120で 集中管理する実施形態について説明する。 As described above, in the present embodiment, the waiting function of the mobile code 146c created by the verification server 120 is described in the mopile code 146c. The functional specification 500 described above is included. When the user terminal 140 receives the mobile code 146c from the distribution server 130, the execution of the function specification 500 extracted from the mobile code 146c is permitted before executing the mobile code 146c. Even if it is not the case, it is presented to the user and made to select whether or not to execute the mopil code 146c. Therefore, the user terminal 140 can determine whether or not to execute the mobile code 146c based on the function of the mobile code 146c ( Next, as another embodiment of the present invention, An embodiment in which the functional specification 500 is centrally managed by the verification server 120 will be described.
本実施形態では、 モパイルコー ド 146cには、 当該モバイルコー ド 146c の実行コー ド以外に、 当該モバイルコー ド 146cを他と区別するためのモ バイルコー ド識別子や、 前記検証者の署名(本実施形態でも署名を検証 するために必要なすべてのデータをまとめて署名と記述する)や、 モバ ィルコ一 ド自身が使用するデータゃフアイルが含まれており、 モパイル コ一 ド U6c自体の完全性の確認に利用可能である。  In the present embodiment, in addition to the execution code of the mobile code 146c, the mobile code 146c includes a mobile code identifier for distinguishing the mobile code 146c from the others, and a signature of the verifier (this embodiment). However, all the data required to verify the signature are collectively described as a signature) and the data file used by the mobile code itself is included, and the integrity of the mobile code U6c itself is confirmed. Available to
なお、 機能仕様 500を検証サーバ 120で集中管理する実施形態のシステ 厶の機器概略構成、 およびハー ドゥヱァ構成は、 前述の、 モバイルコ一 ド 146cに機能仕様 500が含まれる実施形態と同じであり、 その詳細な説 明は省略する。  The device schematic configuration and the hardware configuration of the system in which the functional specification 500 is centrally managed by the verification server 120 are the same as the above-described embodiment in which the mobile code 146c includes the functional specification 500. Detailed explanations are omitted.
同様に、 前記作成者が作成端末 1 10で前記ソースコー ドを作成する場 合の、 前記作成端末 1 1 0の璣能ブロック構成、 および動作については、 従来のモバイルコー ドシステムと同じであり、 その詳細な説明は省略す る。  Similarly, when the creator creates the source code on the creating terminal 110, the function block configuration and operation of the creating terminal 110 are the same as those of the conventional mobile code system, Detailed description is omitted.
同様に、 作成端末 1 1 0が、 モパイルコー ド 146cの 能検証を、 検証サ —パ' 120に依頼する場合の、 前記作成端末 1 10、 および前記 証サーバ 120の機能ブロッ ク構成、 および動作については、 前述の、 モバイルコ 一ド i46cに璣能仕様 500が含まれる実施形態と同じであり、 その詳細な 説明は省略する。 Similarly, when the creating terminal 110 requests the verification server 120 for the function verification of the mopile code 146c, the function block configuration and operation of the creating terminal 110 and the certification server 120 will be described. Is the mobile co This is the same as the embodiment in which the function specification 500 is included in one node i46c, and a detailed description thereof will be omitted.
また、 検証サ く 120でモバイルコー ド 146cの璣能検証を行い、 配布 サーバ 130に登録する場合の、 前記検証サーバ 120、 および前記配布サー バ 130の機能ブロ ック構成、 および動作については、 第 12図のステップ 1206においてモバイルコ一 ド 146cを作成する際に、 璣能仕様 500の代わ りに当該機能仕様 500と対応づけて作成したモバイルコー ド識別子を用 いる以外は、 前述の、 モパイルコー ド 146cに機能仕様 500が含まれる実 施形態と同じであり、 その詳細な説明は省略する。  The function block configuration and operation of the verification server 120 and the distribution server 130 when the function verification of the mobile code 146c is performed by the verification server 120 and registered in the distribution server 130 are as follows. When the mobile code 146c is created in step 1206 in FIG. 12, the mobile code identifier described above is used except that the mobile code identifier created in association with the functional specification 500 is used instead of the functional specification 500. This is the same as the embodiment in which the function specification 500 is included in 146c, and a detailed description thereof will be omitted.
まず、 本実施例において、 ユーザ一端末 140が、 配布サ く 130からモ バイルコー ド 146cを含む上記配布データを受け取り、 当該モバイルコ一 ド 146cを実行する際の、 検証サーバ 120、 ユーザー端末 140、 および配布 サーバ 130の機能プロック構成および動作について説明する。  First, in this embodiment, the user server 140 receives the distribution data including the mobile code 146c from the distribution server 130, executes the mobile code 146c, and executes the verification server 120, the user terminal 140, and The function block configuration and operation of the distribution server 130 will be described.
第 16図は、 本実施例において、 ユーザー端末 140が、 配布サーバ 130か らモバイルコー ド 146cを含む上記配布データを受け取り、 当該モパイル コー ド 146cを実行する際の、 検証サーバ 120、 配布サーバ 130、 およびュ —ザ一端末 140の機能プロック構成を示した図である。  FIG. 16 shows the verification server 120 and the distribution server 130 when the user terminal 140 receives the distribution data including the mobile code 146c from the distribution server 130 and executes the mopile code 146c in the present embodiment. FIG. 3 is a diagram showing a functional block configuration of a user terminal 140.
検証サ一 120は、 第 16図に示すように、 ユーザー端末 140から機能仕 様要求 418を受信し、 当該ユーザー端末 140に要求された璣能仕様 500を 送信する、 機能仕様送信処理部 1621を有している。  As shown in FIG. 16, the verification server 120 receives the function specification request 418 from the user terminal 140 and transmits the requested function specification 500 to the user terminal 140. Have.
なお、 第 16図において、 ユーザー端末 140、 および配布サーバ 130の機 能ブロック構成は、 第 4図に示したものと同じであり、 その詳細な説明 は省略する。 ただし、 本実施例では、 ユーザ一端末 140の機能確認処理 部 414は、 前記検証サーバ 120に機能仕様要求 4 18を送信し、 前記検証サ —バ 120から機能仕様 500を受信するという処理も行う。  Note that, in FIG. 16, the functional block configurations of the user terminal 140 and the distribution server 130 are the same as those shown in FIG. 4, and a detailed description thereof will be omitted. However, in the present embodiment, the function confirmation processing unit 414 of the user terminal 140 also performs processing of transmitting a function specification request 418 to the verification server 120 and receiving a function specification 500 from the verification server 120. .
次に、 ユーザー端末 140の勋作について説明する。 第 Π図は、 ユーザ一端末 140が、 配布サーバ 130からモパイルコー ド 146cを含む上記配布データを受け取り、 当該モバイルコ一 ド 146cを実行 する際の、 ユーザ一端末 140の動作フローを示した図である。 Next, the operation of the user terminal 140 will be described. FIG. 5 is a diagram showing an operation flow of the user-one terminal 140 when the user-one terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c. .
この図において、 ステツプ 1401からステツプ 1405とステツプ 1407から ステップ 1412までは第 14図と同じであり、 説明を省略する。  In this figure, steps 1401 to 1405 and steps 1407 to 1412 are the same as those in FIG. 14, and a description thereof will be omitted.
ステツプ 1405の判断結果により、 前記機能確認処理部 414に処理が移 ると、  According to the result of the determination in step 1405, the process proceeds to the function confirmation processing unit 414,
前記機能確認処理部 414は、 前記モパイルコー ド 146cから、 モバイルコ — ド識別子を取り出し、 当該モパイルコー ド識別子を含む、 機能仕様要 求 418を前記配布サーバ 120に送信する(ステップ 1701 )。 ステップ 1702で、 前記配布サーバ 120から前記モバイルコ一 ド識別子に対応する機能仕様 500を受信すると、 あらかじめ記憶装置 144の機能仕様管理ファイル 416 に記憶された、 第 9図に示したようなテーブルに同じ機能仕様 500が-登録 されているか否かを確認する(ステツプ 1407)。 The function confirmation processing unit 414 extracts the mobile code identifier from the mopile code 146c, and transmits a function specification request 418 including the mopile code identifier to the distribution server 120 (step 1701). In step 1702, when the function specification 500 corresponding to the mobile code identifier is received from the distribution server 120, the same as the table shown in FIG. 9 previously stored in the function specification management file 416 of the storage device 144. Check whether function specification 500 is registered (step 1407).
以下のステップの動作は、 第 14図と同じなので、 説明を省略する。 次に、 検証サーバ 120の動作について説明する。  The operations in the following steps are the same as those in FIG. Next, the operation of the verification server 120 will be described.
第 18図は、 ユーザ一端末 140が、 配布サーバ 130からモパイルコー ド 146cを含む上記配布データを受け取り、 当該モバイルコ一 ド 146cを実行 する際の、 前記検証サ一ノぐ 120の動作フローを示した図である。  FIG. 18 shows an operation flow of the verification server 120 when the user terminal 140 receives the distribution data including the mopile code 146c from the distribution server 130 and executes the mobile code 146c. FIG.
まず、 仕様送信処理部 1621は、 ステップ 1801で、 前記ユーザ一端末 140から前記機能仕様要求 418を待ち受ける。 前記機能仕様要求 418を受 信した場合には、 前記機能仕様要求 418に含まれているモバイルコ一 ド 識別子を取り出し(ステップ 1803 )、 餞能仕様登録ファイル 304から、 当 該モバイルコ一 ド識別子に対応する機能仕様 500を検索する(ステツブ 1804 )。 前記機能仕 ¾500を、 前記ユーザ一端末 140に送信し(ステップ 1805 )、 ステップ 180 Uこ戻り、 再度、 前記ユーザ一端末 140から前記機能 仕様要求 418を待ち受ける。 First, in step 1801, the specification transmission processing unit 1621 waits for the function specification request 418 from the user terminal 140. When the function specification request 418 is received, the mobile code identifier included in the function specification request 418 is extracted (step 1803), and the mobile code identifier corresponding to the mobile code identifier is extracted from the bonus specification registration file 304. The function specification 500 to be searched is searched (step 1804). The function specification 500 is transmitted to the user terminal 140 (step 1805), and the process returns to step 180U. Wait for specification request 418.
なお、 配布サーバ 130の動作については、 前述の、 モバイルコ一 ド 146cに機能仕様 500が含まれる実施形態と同じであり、 その詳細な説明 は省略する。  The operation of the distribution server 130 is the same as that in the above-described embodiment in which the mobile code 146c includes the functional specification 500, and a detailed description thereof will be omitted.
以上述べたように、 本実施例では、 検証サーバ 120が、 ソースコー ド の機能を検証した際に作成した、 機能仕様 500と前記モバイルコー ド 146cを一意に特定するためのモバイルコ一 ド識別子との組を管理してい る。 かつ、 モバイルコー ド 146cには、 前記モバイルコー ド識別子が含ま れており、 ユーザ一端末 140が、 配布サーバ 130からモパイルコー ド 146c を受信した場合、 まず、 モパイルコー ド 146cから取り出したモバイルコ - ド識別子を検証サーバ 120に送信する。 モバイルコ一 ド識別子を受信 した検証サーバ 120では、 モバイルコ一 ド識別子に対応する機能仕様 500 を検索し、 前記ユーザー端末 140に返信する。 前記機能仕様 500を受ィ言し た前記ユーザ一端末 140は、 当該機能仕様 500が許可済みの機能仕様でな ければ、 それを前記ユーザ一に提示し、 当該モパイルコー ド 146cを実行 するか否かを選択させる。 このため、 前記ユーザ一端末 140は、 モバイ ルコ一 ド 146cの持つ機能に基づいて、 当該モバイルコ一 ド 146cを実行す るか否かを決定することができる。  As described above, in the present embodiment, the verification server 120 creates the function specification 500 and the mobile code identifier for uniquely identifying the mobile code 146c created when verifying the function of the source code. The group is managed. The mobile code 146c includes the mobile code identifier. When the user terminal 140 receives the mobile code 146c from the distribution server 130, first, the mobile code identifier extracted from the mobile code 146c is used. Is transmitted to the verification server 120. Upon receiving the mobile code identifier, the verification server 120 searches for the functional specification 500 corresponding to the mobile code identifier, and returns it to the user terminal 140. The user terminal 140 that has received the function specification 500 presents the function specification 500 to the user if the function specification 500 is not a permitted function specification, and determines whether or not to execute the mopile code 146c. Or let me choose. Therefore, the user terminal 140 can determine whether or not to execute the mobile code 146c based on the function of the mobile code 146c.
なお、 以上の各実施例において、 各プログラムが行う、 種々の「要 求」 、 「依頼」 を含む通信は、 周知のプログラム(あるいは、 モジュール、 プロセス)間の通信技術 (たとえば、 " ソケッ 卜" が知られている) を 使用するこ とで実現できるものである。  In each of the embodiments described above, communication including various “requests” and “requests” performed by each program is performed by a communication technology (eg, “socket”) between well-known programs (or modules and processes). Is known).
また、 各プログラムが行う送受信は、 各計算機ハー ドウェアの OSと、 通信網ィ ン夕フェースと、 通信網を介して行われるものである。  The transmission and reception performed by each program are performed via the OS of each computer hardware, the communication network interface, and the communication network.
また、 各表示装 Eへの表示や入力装 aからの入力は、 それぞれ、 表示 部や入力部のプログラムが、 OSを介して、 あるいは、 直接に行う もので ある。 The display on each display unit E and the input from the input unit a are performed by the programs of the display unit and the input unit via the OS or directly. is there.
なお、 本発明は、 上記の実施形態に限定されるものではなく、 その要 旨の範囲内で様々な変形が可能である。  Note that the present invention is not limited to the above embodiment, and various modifications can be made within the scope of the gist.
たとえば、 上記の実施形態では、 検証サーバ 120と、 配布サーバ 130と. は異なる計算機ハー ドウエア上に構成しているが、 本発明はこれに限定 されない。 すなわち、 検証サーバ 120と、 配布サーバ 130と、 を同じ計算 機ハー ドウヱァ上に構成してもよい。 同様に、 作成端末 110と、 検証サ —バ 120と、 を同じ計算機ハー ドゥヱァ上に構成してもよい。 同様に、 作成端末 1 10と、 配布サーバ 130と、 を同じ計算機ハー ドウェア上に構成 してもよい。 さらには、 作成端末 1 10と、 検証サーバ 120と、 配布サーバ 130と、 を同じ計算機ハー ドウェア上に構成してもよい。 これらの場合、 各サーバ、 端末の機能を実現するプログラムは、 同じ計算機ハ一 ドゥエ ァ上で、 OSにより互いに独立したプログラム(プロセス)として、 そ-の動 作が管理されることになる。  For example, in the above embodiment, the verification server 120 and the distribution server 130 are configured on different computer hardware, but the present invention is not limited to this. That is, the verification server 120 and the distribution server 130 may be configured on the same computer hardware. Similarly, the creation terminal 110 and the verification server 120 may be configured on the same computer hardware. Similarly, the creation terminal 110 and the distribution server 130 may be configured on the same computer hardware. Further, the creation terminal 110, the verification server 120, and the distribution server 130 may be configured on the same computer hardware. In these cases, the programs that realize the functions of each server and terminal are managed as independent programs (processes) by the OS on the same computer hardware, and their operations are managed.
また、 検証サーバ 120は、 作成した前記モパイルコー ド 146cを作成端 末 110に送信し、 作成端末 1 10が配布サーバ 130に登録するようにしても よい。 このようにすることで、 作成者はモバイルコー ド 146cを登録する 配布サ一ノく 130を選択することができる。  Further, the verification server 120 may transmit the created mopile code 146c to the creating terminal 110, and the creating terminal 110 may register the created molypile code 146c in the distribution server 130. In this way, the creator can select the distribution server 130 for registering the mobile code 146c.
また、 作成端末 110は、 前記ソースコー ドを配布サーバ 130に登録し、 配布サーバ 130が、 検証サーバ 120にモパイルコー ド 146cの機能検証を依 頼するようにしてもよい。 このようにすることで、 配布者は自らが信頼 する検証者に璣能検証を依頼することができる。  Further, the creation terminal 110 may register the source code in the distribution server 130, and the distribution server 130 may request the verification server 120 to verify the function of the mopile code 146c. In this way, the distributor can request a verifier trusted by himself to perform the function verification.
また、 前記作成端末 1 10において、 作成者が前記機能仕様 500を作成し、 前記ソースコー ドと共に当該璣能仕様 500を、 換証サーバ 120に送信する ようにしてもよい。 このようにするこ とで、 検証者は、 前記機能仕様 500が不正な動作をするものでないことと、 前記ソースコー ドが当該機 能仕様 500の通りに実装されたものであることと、 を確認することによ つて、 モバイルコー ド 146cが不正な動作を行う ものでないことを保証す ることができる。 検証者サーバ 120に機能仕様 500を作成する機能は不要 となる。 In the creation terminal 110, the creator may create the function specification 500, and transmit the function specification 500 to the certification server 120 together with the source code. By doing so, the verifier can confirm that the functional specification 500 does not operate illegally and that the source code is By confirming that the mobile code 146c is implemented as per the performance specification 500 and that the mobile code 146c does not perform an illegal operation, it can be guaranteed. The function of creating the functional specification 500 in the verifier server 120 becomes unnecessary.
また、 検証者に機能を確認させる前に、 不正な処理を行うモバイルコ — ド 146cの機能仕様 500の特徴を、 リス トにまとめ、 検証サーバ 120の記 憶装置 124に保存しておいてもよい。 そして検証対象となっているソ一 スコ一 ドから作成する機能仕様 500が、 前記リス 卜に該当する特徴を持 つか否かを確認することによつて、 当該モバイルコー ド 146cが不正な処 理を行うか否かを確認する処理を組み込んでもよい。 このようにするこ とで、 既知の不正処理手法を用いた、 前記リス 卜に該当するモバイルコ - ド 146cについては、 検証者が機能検証を行う手間を省く ことができる ので、 効率がよくなる。  Before the verifier checks the function, the features of the function specification 500 of the mobile code 146c that performs the illegal processing may be put into a list and stored in the storage device 124 of the verification server 120. . Then, by confirming whether the functional specification 500 created from the source code to be verified has the features corresponding to the list, the mobile code 146c is processed illegally. A process for confirming whether or not to perform may be incorporated. By doing so, the mobile code 146c corresponding to the above list using the known fraudulent processing method can save the verifier's trouble of performing function verification, thereby improving the efficiency.
また、 前記作成端末 1 10は、 検証サーバ 120に対し、 前記モバイルコー ド 146cの実行コー ドと機能仕様を送信するようにしてもよい。 この場合- 第 12図においてステップ 1202が不要となる。 またステップ 1201の 「ソ一 スコ一 ド指定」 「実行コ一 ド指定」 に、 ステップ 1209の 「ソースコー ド破棄」 力 「実行コ一 ド破棄」 に変更される。 さらに、 ステツプ 1206に おいて、 ソースコ一 ドから実行コ一 ドをコンパイルする機能を不要とす ることができる。  Further, the creation terminal 110 may transmit the execution code and the function specification of the mobile code 146c to the verification server 120. In this case, Step 1202 is unnecessary in FIG. Also, the “source code designation” and “execution code designation” of step 1201 are changed to the “source code discard” force “execution code discard” of step 1209. Further, the function of compiling the execution code from the source code in step 1206 can be eliminated.
また、 上記の実施形態では、 作成端末 1 10と、 検証サーバ 120と、 配布 サ一ノ 130と、 ユーザ一端末 140と、 の間で、 通信網 100を介してやり取 りされる情報の機密性や完全性の確保について特別な手段を用いていな いが、 本発明は、 様々な暗号手段や認証手段を併用することを妨げるも のではない。 通信網 1 00を流れる情報に対して、 暗号手段や認証手段を 適用することにより、 システム全体の安全性をさらに高めることができ る。 Also, in the above embodiment, the confidentiality of information exchanged between the creating terminal 110, the verification server 120, the distribution server 130, and the user terminal 140 via the communication network 100, Although no special means is used to ensure integrity, the present invention does not prevent the use of various encryption means and authentication means. By applying encryption means and authentication means to the information flowing through the communication network 100, the security of the entire system can be further improved. You.
また、 上記の実施形態では、 前記ユーザーが実行を許可したモパイル コ一 ド 146cは、 他のプログラムを自由に起動するなど、 ユーザ一端末 1 10のあらゆる リ ソースを使用することができると仮定している。 しか し、 たとえば、 モパイルコー ド 146cが他のプログラムに各種サービスを 要求する場合には、 Browserプログラム 146b、 または OS146aが、 璣能'仕 様 500を前記他のプログラムに渡すようにし、 前記機能仕様 500を渡され たプログラムは、 モバイルコ一 ド 146cからの要求を実行するか否かを、 当該機能仕様 500に基づいて判断するようにしてもよい。  Further, in the above embodiment, it is assumed that the mopile code 146c permitted to execute by the user can use any resources of the user terminal 110, such as freely starting other programs. ing. However, for example, when the mopil code 146c requests various services from another program, the Browser program 146b or the OS 146a passes the function specification 500 to the other program, and the function specification 500 The program passed may determine whether or not to execute the request from the mobile code 146c based on the function specification 500.
また、 上記の実施形態では、 作成端末 110と検証サーバ 120との間のデ 一夕のやり取りは、 通信網 100を介して行うようにしているが、 本発明 はこれに限定されない。 作成端末 110で作成した前記ソースコ一 ドをフ ロッ ピーディスクなどの記憶媒体に記録し、 前記検証者に渡すよう-にし てもよい。 同様に、 検証サーバ 120と配布サーバ 130との間のデータのや り取り も、 モバイルコー ド 146cを記憶媒体に記録し、 前記配布者に渡す ようにしてもよい。 産業上の利用可能性  In the above embodiment, the data exchange between the creation terminal 110 and the verification server 120 is performed via the communication network 100, but the present invention is not limited to this. The source code created by the creating terminal 110 may be recorded on a storage medium such as a floppy disk and delivered to the verifier. Similarly, when exchanging data between the verification server 120 and the distribution server 130, the mobile code 146c may be recorded on a storage medium and passed to the distributor. Industrial applicability
以上説明したように、 本発明によれば、 モバイルコ一 ドが持っている 機能に基づいて、 当該モバイルコ一 ドを実行するか否かを決定すること ができるのでより安全である。  As described above, according to the present invention, whether or not to execute the mobile code can be determined based on the function of the mobile code, so that the present invention is more secure.

Claims

請求の範囲  The scope of the claims
1 .  1.
モバイルコ一 ドの実行方法であって、  A mobile code execution method,
モバイルコ一 ドを取得する、 モバイルコー ド取得ステツプと、 前記取得した前記モバイルコ一 ドに付加されている署名を検証する、 署名検証ステップと、  Obtaining a mobile code; a mobile code obtaining step; verifying a signature attached to the obtained mobile code; a signature verification step;
前記署名検証ステップによって、 当該モバイルコ一 ドの署名の検証に 成功した場合に、 当該モバイルコー ドの持つ機能を記述した機能仕様を 取得する機能仕様取得ステップと、  A function specification obtaining step of obtaining a function specification describing a function of the mobile code when the signature of the mobile code is successfully verified by the signature verification step;
前記取得した前記機能仕様によって、 前記モバイルコ一 ドの持つ機能 を確認し、 当該モパイルコー ドの実行を許可するか否かを判断する、 機 能確認ステップと、  A function confirmation step of confirming a function of the mobile code based on the acquired function specification, and determining whether to permit execution of the mopile code;
前記機能確認ステツプによって、 前記モバイルコ一 ドの実行が許可-され た場合に、 前記モバイルコー ドを実行するモバイルコ一 ド実行ステップ こ A mobile code execution step for executing the mobile code when the execution of the mobile code is permitted by the function confirmation step;
を備えたモバイルコ一 ドの実行方法。 2 .  How to execute a mobile code with 2.
請求項 1記載のモバイルコー ドの実行方法であって、  A method for executing a mobile code according to claim 1, wherein
前記機能確認ステップは、 前記機能仕様をユーザ一に提示し、 前記ュ 一ザ一が当該機能仕様を持つモバイルコー ドの実行を許可すると判断し た場合に、 前記モバイルコー ドの実行を許可すると判断するものである こと  In the function checking step, the function specification is presented to a user, and if the user determines that the execution of the mobile code having the function specification is permitted, the execution of the mobile code is permitted. To judge
を特徴とするモバイルコー ドの実行方法。  A mobile code execution method characterized by the following.
3 . 請求項 1 または 2記載のモバイルコ一 ドの実行方法であって、 前記機能確認ステップは、 前記機能仕様が、 実行を許可する機能仕様 を格納した、 钹能仕様管理ファイルに登録されている場合に、 前記モバ ィルコ一 ドの実行を許可すると判断するステップを含むこと 3. 3. The method for executing a mobile code according to claim 1, wherein the function checking step is performed when the function specification is registered in a function specification management file storing function specifications permitted to be executed. Determining that the execution of the mobile code is permitted.
を特徴とするモバイルコ一 ドの実行方法。  A mobile code execution method characterized by the following.
4 . Four .
請求項 3記載のモバイルコー ドの実行方法であって、  A method for executing a mobile code according to claim 3, wherein
前記機能確認ステツプは、 前記モバイルコー ドの実行を許可すると判 断した場合に、 前記機能仕様管理ファィルに前記機能仕様を追加するも のであること  The function check step is to add the function specification to the function specification management file when it is determined that the execution of the mobile code is permitted.
を特徴とするモバイルコ一 ドの実行方法。 α .  A mobile code execution method characterized by the following. α.
請求項 1 ないし 4いずれか一に記載のモバイルコー ドの実行方法であ つて、  A method for executing a mobile code according to any one of claims 1 to 4, wherein
前記モバイルコー ドは、 当該モバイルコー ドの実行コ一 ドと、 前記署 名と、 前記機能仕様と、 を含み、  The mobile code includes an execution code of the mobile code, the signature, and the functional specification,
前記機能仕様取得ステツプは、 前記モバイルコー ドから前記機能仕様 を取り出すステップをさらに含むこと  The function specification obtaining step further includes a step of retrieving the function specification from the mobile code.
を特徴とするモバイルコ一 ドの実行方法。  A mobile code execution method characterized by the following.
6 . 6.
請求項 1 ないし 4いずれか一に記載のモバイルコー ドの実行方法であ つて、  A method for executing a mobile code according to any one of claims 1 to 4, wherein
前記モパイルコー ドは、 当該モバイルコ一 ドの実行コ一 ドと、 前記署 名と、 当該モバイルコー ドを識別する、 モパイルコー ド識別子と、 を含 み、 The mopile code includes an execution code of the mobile code and the signature Name and a mobile code identifier that identifies the mobile code,
前記機能仕様取得ステップは、 前記モバイルコー ド識別子に対応する 機能仕様を、 機能仕様登録ファイルから取得すること  The function specification obtaining step includes obtaining a function specification corresponding to the mobile code identifier from a function specification registration file.
を特徴とするモパイルコー ドの実行方法。  A method for executing a mopile code.
7 . 7.
請求項 6記載のモバイルコー ドの実行方法であって、  A method for executing a mobile code according to claim 6, wherein:
前記機能仕様登録ファイルは、 信頼できる第三者機関が、 前記モバイ ルコー ド識別子と当該モバイルコー ド識別子に対応する前記機能仕様と を組として保管するものであって、  The functional specification registration file is a file that is stored by a trusted third party as a set of the mobile code identifier and the functional specification corresponding to the mobile code identifier,
前記機能仕様取得ステップは、 前記信頼できる第三者機関から、 前記 モバイルコ一 ド識別子に対応する機能仕様を取得すること  The function specification obtaining step includes obtaining a function specification corresponding to the mobile code identifier from the trusted third party.
を特徴とするモバイルコ一 ドの実行方法。  A mobile code execution method characterized by the following.
8 . 8.
請求項 5ないし 7いずれか一に記載のモバイルコー ドの実行方法であ つて、  A method for executing a mobile code according to any one of claims 5 to 7, wherein
前記機能仕様は、 信頼できる第三者機関が作成したものであり、 前記署名は前記信頼できる第三者機関の署名であること  The functional specification is created by a trusted third party, and the signature is a signature of the trusted third party.
を特徴とするモバイルコー ドの実行方法。  A mobile code execution method characterized by the following.
9 . 9.
モバイルコ一 ドのソ一スコ一 ドを作成する、 ソースコ一 ド ί乍成端末と、 ソースコー ドの機能を検証する、 機能検証サーバと、 モパイルコー ドを 配布する、 モパイルコー ド配布サーバと、 モパイルコー ドを実行する、 ユーザ一端末と、 からなるモバイルコ一 ドシステムであって、 前記ソ一スコ一 ド作成端末は、 A mobile code source code, a source code, a terminal, and a function verification server that verifies the functions of the source code, a function verification server, a mopile code distribution server, and a mopile code distribution server. Execute, A mobile code system comprising: a user terminal; and the source code creation terminal,
モバイルコ一 ドのソースコ一 ドを作成するソースコ一 ド作成手段と、 前記モバイルコ一 ドのソースコ一 ドを前記機能検証サーバに送信する ソースコー ド送信手段と、  Source code creation means for creating a source code of a mobile code; source code sending means for sending the source code of the mobile code to the function verification server;
を備え、  With
前記機能検証サーバは、  The function verification server,
送信された前記モバイルコ一 ドのソースコ一 ドから当該モバイルコ一 ドの持つ機能を記述した機能仕様を作成し、 当該モバイルコ一 ドが不正 な処理を行う ものでないかを検証する機能検証手段と、  Function verification means for creating a function specification describing the function of the mobile code from the transmitted source code of the mobile code, and verifying whether the mobile code performs an illegal process;
前記機能検証手段が前記モバイルコー ドは不正な処理を行う ものでは ないと判断した場合に、 前記ソースコ一 ドから前記モバイルコー ドを作 成するモバイルコー ド作成手段と、  Mobile code creation means for creating the mobile code from the source code when the function verification means determines that the mobile code does not perform an illegal process;
前記配布サーバに対して、 前記モバイルコ一 ド作成手段によって作成 された、 モパイルコー ドの登録を要求する登録要求手段と、  Registration requesting means for requesting the distribution server to register the mopile code created by the mobile code creating means;
を備え、  With
前記モバイルコ一 ド配布サーバは、  The mobile code distribution server comprises:
前記登録を要求された前記モバイルコ一 ドを格納し、 保管するモバイ ルコー ド保管手段と、  Mobile code storage means for storing and storing the mobile code requested for registration,
前記ユーザ一端末から配送を要求された、 前記モバイルコー ド保管手 段が保管している前記モバイルコ一 ドを前記ユーザー端末に送信するモ バイルコ一 ド送信手段と、  Mobile code transmission means for transmitting, to the user terminal, the mobile code stored in the mobile code storage unit requested to be delivered from the user terminal,
を備え、  With
前記ユーザ一端末は、  The one user terminal,
前記モバイルコー ド配布サーバに対して、 モパイルコー ドの配送を要 求する配送要求送信手段と、 配送されたモバイルコ一 ドに付加されている電子的な署名を検証する 署名検証手段と、 Delivery request transmitting means for requesting the mobile code distribution server to deliver a mopile code; Signature verification means for verifying an electronic signature attached to the delivered mobile code;
前記署名検証手段が署名の検証に成功した場合、 前記検証サーバの機 能検査手段が作成した前記機能仕様を取得し、 当該機能仕様によって前 記モバイルコ一 ドの持つ機能を確認し、 当該モバイルコー ドの実行を許 可するか否かを判断する機能確認手段と、  When the signature verification unit succeeds in verifying the signature, the function specification created by the function verification unit of the verification server is obtained, the function of the mobile code is confirmed by the function specification, and the mobile code is checked. Function checking means for determining whether or not execution of the code is permitted;
前記機能確認手段が前記モバイルコー ドの実行を許可すると判断した 場合に、 前記モバイルコ一 ドを実行するモバイルコ一 ド実行手段と、 を備えていることを特徴とするモバイルコー ドシステム。  A mobile code system comprising: a mobile code execution unit that executes the mobile code when the function checking unit determines that the execution of the mobile code is permitted.
1 0 . Ten .
請求項 9記載のモバイルコー ドシステムであって、  The mobile code system according to claim 9, wherein:
前記機能確認手段は、 前記機能仕様をユーザーに提示し、 前記ュ-—ザ 一が当該機能仕様を持つモバイルコー ドの実行を許可すると判断した場 合に、 前記モバイルコ一 ドの実行を許可すると判断すること  The function confirmation means presents the function specification to a user, and when the user determines that the execution of the mobile code having the function specification is permitted, the user confirms that the execution of the mobile code is permitted. To judge
を特徴とするモバイルコ一 ドシステム。  Mobile code system characterized by the following.
1 1 . 1 1.
請求項 9または 1 0記載のモバイルコ一 ドシステムであって、 前記機能確認手段は、 前記機能仕様が、 実行を許可する機能仕様を格 納した、 機能仕様管理ファイルに予め登録されている場合に、 前記モバ ィルコ一 ドの実行を許可すると判断する手段を備えること  10. The mobile code system according to claim 9 or 10, wherein the function confirmation unit is configured to store the function specification permitted to be executed and to register the function specification in advance in a function specification management file. Means for determining that execution of the mobile code is permitted
を特徴とするモバイルコー ドシステム。  Mobile code system characterized by:
1 2 1 2
【;冃求項 1 1記載のモバイルコ一 ドシステムであ L 前記機能確認手段は、 前記モバイルコー ドの実行を許可すると判断し た場合に、 前記機能仕様管理ファイルに前記機能仕様を追加する手段を 備えること [; 冃 The mobile code system described in claim 11 The function checking means includes means for adding the function specification to the function specification management file when it is determined that the execution of the mobile code is permitted.
を特徴とするモバイルコ一 ドシステム。  Mobile code system characterized by the following.
1 3 . 13 .
請求項 9ないし 1 2いずれか一に記載のモバイルコ一 ドシステムであ つて、  The mobile code system according to any one of claims 9 to 12, wherein
前記モバイルコー ドは、 当該モバイルコー ドの実行コ一 ドと、 前記署 名と、 前記機能仕様と、 を含み、  The mobile code includes an execution code of the mobile code, the signature, and the functional specification,
前記機能確認手段は、 前記モバイルコー ドから前記機能仕様を取得す る手段を備えること  The function checking means includes means for acquiring the function specifications from the mobile code.
を特徴とするモバイルコ一 ドシステム。 1 4 .  Mobile code system characterized by the following. 14 .
請求項 9ないし 1 2いずれか一に記載のモバイルコ一 ドシステムであ つて、  The mobile code system according to any one of claims 9 to 12, wherein
前記モバイルコ一 ドは、 当該モバイルコ一 ドの実行コ一 ドと、 前記署 名と、 当該モパイルコー ドを識別する、 モパイルコー ド識別子と、 を含 み、  The mobile code includes an execution code of the mobile code, the signature, and a mopile code identifier for identifying the mopile code,
前記機能確認手段は、 前記モバイルコー ド識別子に対応する機能仕様 を、 機能仕様登録ファイルから取得する手段を備えること  The function confirmation means includes means for acquiring a function specification corresponding to the mobile code identifier from a function specification registration file.
を特徴とするモバイルコ一 ドシステム。 1 5 .  Mobile code system characterized by the following. 1 5.
請求項 1 4記战のモバイルコ一 ドシステムであって、 前記機能仕様を取得する手段は、 前記機能検証サーバに前記モパイル コー ド識別子を送信する手段を備え、 15. The mobile code system according to claim 14, wherein: The means for acquiring the function specification includes means for transmitting the Mopile code identifier to the function verification server,
前記機能検証サーバは、  The function verification server,
前記機能仕様登録フアイルとして、 モバイルコー ド識別子と当該モバ ィルコ一 ド識別子に対応する前記機能仕様との組を保管する機能仕様保 管手段と、  Function specification storage means for storing a set of a mobile code identifier and the function specification corresponding to the mobile code identifier as the function specification registration file;
前記ユーザー端末から受信したモバイルコー ド識別子に対応する機能 仕様を前記機能仕様登録フアイルから検索する手段と、  Means for searching the function specification registration file for a function specification corresponding to the mobile code identifier received from the user terminal;
検索した機能仕様を前記ユーザー端末に送信する機能仕様送信手段と、 を備えること  Function specification transmitting means for transmitting the searched function specification to the user terminal.
を特徴とするモバイルコ一 ドシステム。 1 6 .  Mobile code system characterized by the following. 1 6.
請求項 1 3ないし 1 5いずれか一に記載のモパイルコー ドシステムで あっ 、  The mopile code system according to any one of claims 13 to 15,
前記署名は前記機能検証サーバが生成し、 付加すること  The signature is generated and added by the function verification server.
を特徴とするモバイルコ一 ドシステム。  Mobile code system characterized by the following.
PCT/JP1999/000084 1999-01-13 1999-01-13 Method and system for executing mobile code WO2000042498A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU18896/99A AU1889699A (en) 1999-01-13 1999-01-13 Method and system for executing mobile code
PCT/JP1999/000084 WO2000042498A1 (en) 1999-01-13 1999-01-13 Method and system for executing mobile code
JP2000594008A JP3873624B2 (en) 1999-01-13 1999-01-13 Mobile code execution method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/000084 WO2000042498A1 (en) 1999-01-13 1999-01-13 Method and system for executing mobile code

Publications (1)

Publication Number Publication Date
WO2000042498A1 true WO2000042498A1 (en) 2000-07-20

Family

ID=14234701

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/000084 WO2000042498A1 (en) 1999-01-13 1999-01-13 Method and system for executing mobile code

Country Status (3)

Country Link
JP (1) JP3873624B2 (en)
AU (1) AU1889699A (en)
WO (1) WO2000042498A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002093361A1 (en) * 2001-05-14 2002-11-21 Ntt Docomo, Inc. System for managing program stored in storage block of mobile terminal
WO2003058411A1 (en) * 2002-01-08 2003-07-17 Ntt Docomo, Inc. Content delivery method and content delivery system
JP2005222341A (en) * 2004-02-05 2005-08-18 Trend Micro Inc Securement of security by program analysis on information instrument and transmission path
US7269445B2 (en) 2001-01-31 2007-09-11 Ntt Docomo Inc. Method and apparatus for delivering program to storage module of mobile terminal
US7558963B2 (en) 2003-03-31 2009-07-07 Ntt Docomo, Inc. Communication device and program
US7587592B2 (en) 2002-04-03 2009-09-08 Ntt Docomo, Inc. Distribution method, distribution system, and terminal device
JP2010092376A (en) * 2008-10-10 2010-04-22 Softbank Mobile Corp Information processing apparatus, information processing method, and information processing program
US8001615B2 (en) * 2003-11-04 2011-08-16 Nagravision S.A. Method for managing the security of applications with a security module
JP2012008732A (en) * 2010-06-23 2012-01-12 Kddi Corp Installation control device and program
JP2016535547A (en) * 2013-09-12 2016-11-10 ザ・ボーイング・カンパニーThe Boeing Company Method for authenticating operations performed on a subject computing device
KR101839607B1 (en) * 2011-08-02 2018-03-22 주식회사 케이티 User terminal and service server for processing security of the user terminal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231068A (en) * 1995-10-26 1997-09-05 Sun Microsyst Inc System and method for protecting use of dynamically linked and executable module
JPH1069382A (en) * 1995-12-08 1998-03-10 Sun Microsyst Inc System and method for generating reliable, architecture-specified, and compiled version of architecture neutral program
JPH1083310A (en) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> Program code distributing method and its system
JPH1091427A (en) * 1996-06-11 1998-04-10 Internatl Business Mach Corp <Ibm> Method and system for guaranteeing safety in using contents with signature
JPH10254783A (en) * 1997-01-09 1998-09-25 Sun Microsyst Inc Method and device for controlling access of software to system resource

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231068A (en) * 1995-10-26 1997-09-05 Sun Microsyst Inc System and method for protecting use of dynamically linked and executable module
JPH1069382A (en) * 1995-12-08 1998-03-10 Sun Microsyst Inc System and method for generating reliable, architecture-specified, and compiled version of architecture neutral program
JPH1083310A (en) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> Program code distributing method and its system
JPH1091427A (en) * 1996-06-11 1998-04-10 Internatl Business Mach Corp <Ibm> Method and system for guaranteeing safety in using contents with signature
JPH10254783A (en) * 1997-01-09 1998-09-25 Sun Microsyst Inc Method and device for controlling access of software to system resource

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DAI 1 KAI INTERNET TECHNOLOGY WORKSHOP ROMBUNSHUU (WIT'98).: "Java no code shomei model in kansuru giron.", HISASHI KOJIMA, HIROSHI MARUYAMA., August 1998 (1998-08-01), pages 123 - 132, XP002931280 *
GEKKAN JAVA WORLD: "JDKI. 2 no. security kikou o mini tsukeru.", SHIGERU TAGO, vol. 2, no. 11, November 1998 (1998-11-01), pages 54 - 65, XP002931279 *
GONG LI, ET. AL.: "Signing, sealing, and Guarding Java Objects.", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1419, 1998, pages 206 - 216, XP002931278 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269445B2 (en) 2001-01-31 2007-09-11 Ntt Docomo Inc. Method and apparatus for delivering program to storage module of mobile terminal
US7706786B2 (en) 2001-05-14 2010-04-27 Ntt Docomo, Inc. System for managing program applications storable in a mobile terminal
US8166291B2 (en) 2001-05-14 2012-04-24 Ntt Docomo, Inc. System for managing program applications storable in a mobile terminal
EP1391810A1 (en) * 2001-05-14 2004-02-25 NTT DoCoMo, Inc. System for managing program stored in storage block of mobile terminal
AU2002308966B2 (en) * 2001-05-14 2004-05-06 Ntt Docomo, Inc. System for Managing Program Applications Storable in a Mobile Terminal
US8140846B2 (en) 2001-05-14 2012-03-20 Ntt Docomo, Inc. System for managing program applications storable in a mobile terminal
WO2002093361A1 (en) * 2001-05-14 2002-11-21 Ntt Docomo, Inc. System for managing program stored in storage block of mobile terminal
EP1391810A4 (en) * 2001-05-14 2008-04-16 Ntt Docomo Inc System for managing program stored in storage block of mobile terminal
US7379731B2 (en) 2001-05-14 2008-05-27 Ntt Docomo Inc. System for managing program applications storable in a mobile terminal
US8010095B2 (en) 2001-05-14 2011-08-30 Ntt Docomo, Inc. System for managing program applications storable in a mobile terminal
EP2261796A3 (en) * 2001-05-14 2011-02-23 NTT DoCoMo, Inc. System for managing program stored in storage block of mobile terminal
US7742756B2 (en) 2001-05-14 2010-06-22 Ntt Docomo, Inc. System for managing program applications storable in a mobile terminal
US8015616B2 (en) 2002-01-08 2011-09-06 Ntt Docomo, Inc. Contents transmission method and contents transmission system
WO2003058411A1 (en) * 2002-01-08 2003-07-17 Ntt Docomo, Inc. Content delivery method and content delivery system
US8281391B2 (en) 2002-01-08 2012-10-02 Ntt Docomo, Inc. Contents transmission method and contents transmission system
US7530114B2 (en) 2002-01-08 2009-05-05 Ntt Docomo, Inc. Content delivery method and content delivery system
CN1300653C (en) * 2002-01-08 2007-02-14 株式会社Ntt都科摩 Content delivery method and content delivery system
US7587592B2 (en) 2002-04-03 2009-09-08 Ntt Docomo, Inc. Distribution method, distribution system, and terminal device
US7558963B2 (en) 2003-03-31 2009-07-07 Ntt Docomo, Inc. Communication device and program
US8001615B2 (en) * 2003-11-04 2011-08-16 Nagravision S.A. Method for managing the security of applications with a security module
JP2005222341A (en) * 2004-02-05 2005-08-18 Trend Micro Inc Securement of security by program analysis on information instrument and transmission path
US8490183B2 (en) 2004-02-05 2013-07-16 Trend Micro Incorporated Security ensuring by program analysis on information device and transmission path
JP2010092376A (en) * 2008-10-10 2010-04-22 Softbank Mobile Corp Information processing apparatus, information processing method, and information processing program
JP2012008732A (en) * 2010-06-23 2012-01-12 Kddi Corp Installation control device and program
KR101839607B1 (en) * 2011-08-02 2018-03-22 주식회사 케이티 User terminal and service server for processing security of the user terminal
JP2016535547A (en) * 2013-09-12 2016-11-10 ザ・ボーイング・カンパニーThe Boeing Company Method for authenticating operations performed on a subject computing device

Also Published As

Publication number Publication date
AU1889699A (en) 2000-08-01
JP3873624B2 (en) 2007-01-24

Similar Documents

Publication Publication Date Title
JP4301482B2 (en) Server, information processing apparatus, access control system and method thereof
US20170195368A1 (en) Uniform modular framework for a host computer system
KR100955172B1 (en) System for digital content access control
JP4847701B2 (en) Obtaining digital content signed rights labels (SRLs) using flexible rights templates in a rights management system
JP4738791B2 (en) Service providing system, service providing apparatus, service providing method, service providing program, and recording medium
US7500099B1 (en) Method for mitigating web-based “one-click” attacks
US9038154B2 (en) Token Registration
US8417964B2 (en) Software module management device and program
US8060464B2 (en) Data-centric distributed computing
JP2008015936A (en) Service system and service system control method
KR20030022802A (en) Content providing method, content providing server, and client terminal in a content providing infrastructure
JP2006031175A (en) Information processing system, information processor and program
JP2006344156A (en) Personal information distribution management system, personal information distribution management method, personal information providing program and personal information using program
US7594274B2 (en) Method of authenticating an application for personal digital assistant using a unique ID based on a personal computer and system using thereof
JP4055393B2 (en) Data processing apparatus and method and program thereof
WO2000042498A1 (en) Method and system for executing mobile code
KR20020003861A (en) Registering device and method, information processing device and method, providing device and method, and program storage medium
CN101167290A (en) System and method for integrity certification and verification
US6681233B1 (en) Data circulation between servers and clients
JP2004038486A (en) Device for permitting publication, device for demanding publication, distribution device, and device and method for executing application
JP7445017B2 (en) Mobile application forgery/alteration detection method using user identifier and signature collection, computer program, computer readable recording medium, and computer device
JP2002117167A (en) Method and device for managing copyright
JPH11215120A (en) Communication equipment
JP4686999B2 (en) Simple authentication system, portable terminal having simple authentication function, and simple authentication method
JP2005157571A (en) Information processor, apparatus, information processing system, authentication program, and recording medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA IL JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 594008

Kind code of ref document: A

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase