WO2007145222A1 - コマンド実行プログラム及びコマンド実行方法 - Google Patents

コマンド実行プログラム及びコマンド実行方法 Download PDF

Info

Publication number
WO2007145222A1
WO2007145222A1 PCT/JP2007/061839 JP2007061839W WO2007145222A1 WO 2007145222 A1 WO2007145222 A1 WO 2007145222A1 JP 2007061839 W JP2007061839 W JP 2007061839W WO 2007145222 A1 WO2007145222 A1 WO 2007145222A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
identifier
content
domain
providing system
Prior art date
Application number
PCT/JP2007/061839
Other languages
English (en)
French (fr)
Inventor
Takeshi Fujita
Tsutomu Kawachi
Keiichi Ogawa
Original Assignee
Visionarts, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visionarts, Inc. filed Critical Visionarts, Inc.
Priority to JP2008521221A priority Critical patent/JP4893740B2/ja
Priority to US12/304,205 priority patent/US8732189B2/en
Publication of WO2007145222A1 publication Critical patent/WO2007145222A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application

Definitions

  • the present invention relates to a program for executing a command, and more particularly to a command execution program or the like capable of restricting command execution by a domain to which a command call source content belongs.
  • an information providing system provides various application programs.
  • application programs include file management programs that copy, move, and delete files, and text editors that edit text files.
  • the present invention improves the inconveniences of the powerful conventional example, in particular, restricts the execution of a predetermined command called from the content, and leaks data, functions, etc. between application programs. The problem is to prevent it.
  • the invention according to claim 1 is a command execution program used in an information providing system including a storage unit, a communication unit, and a processing unit.
  • a command identifier for identifying a command for the information providing system and a domain identifier for identifying a domain are stored in association with each other.
  • the command execution program sends (a) a command execution request and a command identifier of the command and a domain identifier of a domain to which the content calling the command belongs to the processing means from the external terminal device.
  • the invention according to claim 2 corresponds to the received command identifier when the domain identifier received in step c above and the domain identifier read in step b are not the same.
  • the invention described in claim 3 is a command execution program used in an information providing system including a storage unit, a communication unit, and a processing unit. Then, a combination of a command identifier for identifying a command for the information providing system and a domain identifier for identifying a domain for executing the command and the entity of the command are stored in the storage means in association with each other.
  • the command execution program sends, to the processing means, ( a ) a command execution request, a command identifier of the command, and a domain identifier of a domain to which the content that called the command belongs from an external terminal device. Receiving through the means; (b) reading out the substance of the command associated with the combination of the received command identifier and the received domain identifier; and (c) reading out the command. And executing a command based on the entity.
  • the invention according to claim 4 is information including a terminal device and a plurality of aliases of its own domain.
  • This is a content execution method used in a computer system in which a providing system is connected to a communication network.
  • the information providing system has a storage means for storing the content identifier for identifying the content and the domain identifier for identifying the alias in association with each other.
  • the processing means of the terminal device executes (a) a step of transmitting the content identifier of the content to the information providing system together with the content execution request. And (b) receiving a content identifier of the content from the terminal device together with the content execution request, and (c) a domain identifier associated with the received content identifier.
  • the domain identifier for identifying the alias stored in association with the content identifier for identifying the content is provided by the terminal device through the communication network.
  • the command corresponding to the command identifier is executed according to the combination of the command identifier and the domain identifier, execution of a predetermined command called from the content can be restricted. Moreover, since the address of the content is generated based on the content identifier and the domain identifier, it is possible to prevent leakage of each data, function, etc. between application programs.
  • FIG. 1 is a block diagram showing the overall configuration of the computer system of the present embodiment. End It is connected to the terminal device 10, the information providing system 20, and the Internet 30 as a power communication network. Here, it does not matter whether the connection between the terminal device 10 and the Internet 30 is wired or wireless.
  • FIG. 2 is a configuration diagram of the terminal device 10.
  • CPU 12 as processing means
  • RAM 13, ROM 14 and HDD 19 Hard Disk Drive
  • keyboard 16 and mouse 17 as input means
  • display 18 as display means
  • NIC 15 communication means (Network Interface Card) Force Connected to bus 11.
  • the HDD 19 stores a web browser program and the like.
  • the CPU of the terminal device 10 can execute and display the content provided by the information providing system 20 by executing a web browser program.
  • Examples of the terminal device 10 include a PC (Personal Computer), a PDA (Personal Digital Assistance), and a mobile phone having an Internet connection function. In this embodiment, a PC is used.
  • FIG. 3 is a configuration diagram of the information providing system 20.
  • CPU 22 as processing means
  • RAM 23, ROM 24, and HDD 26 Hard Disk Drive
  • NIC25 Network Interface Card
  • the HDD 26 stores a command execution program, a command information file, a permission information file, and the like.
  • the CPU of the information providing system 20 can execute a predetermined command by executing a command execution program.
  • the information providing system 20 includes a plurality of aliases of its own domain by DNS (Domain Name System).
  • the URL Uniform Resource Loca tor
  • the URL is expressed by three aliases “http: ZZdomainl”, “http: // domain2j” and “http: // domain3”. Is done.
  • a general web server is adopted as the information providing system 20.
  • FIG. 4 is a structural diagram of the command information file.
  • a combination of a command identifier for identifying a command to the information providing system 20 and a domain identifier for identifying a domain in which the command is executed is associated with the entity of the command.
  • a command name corresponds to the command identifier
  • a domain name corresponds to the domain identifier, for example.
  • the command substance corresponds to, for example, the contents of command execution.
  • the combination of the command identifier “cmd001 (ls)” and the domain identifier “domainl” and the command entity “ls / root” are stored in association with each other.
  • the CPU of the information providing system 20 can read the command entity associated with the combination of the command identifier and the domain identifier, and execute the command based on the command entity! /,
  • FIG. 5 is a structural diagram of the permission information file.
  • a combination of a content identifier U that identifies the content and a domain identifier that identifies the domain that executes the content and a permission identifier that identifies the access right to the content are associated with each other.
  • the permission identifier for example, a permission used in a UNIX (registered trademark) system is applicable.
  • a combination of a content identifier “content001” and a domain identifier “dom ainl” and a permission identifier “pl (rw—)” are stored in association with each other.
  • the CPU of the information providing system 20 reads the permission identifier associated with the combination of the content identifier and the domain identifier, and reads the permission information file, and based on the read permission identifier, the content identifier corresponding to the content identifier is read. You can now specify access rights.
  • FIG. 6 is a flowchart of the terminal device 10 and the information providing system 20.
  • the CPU of the terminal device 10 uses the keyboard to specify the application name “content002” as the content identifier of the content and the domain identifier “domain2” of the execution destination of the content together with the execution request of the application program as the content. Accept.
  • the CPU of the terminal device 10 receives the received content execution request, the content identifier “content002”, the execution destination domain identifier “domain2”, and the content request source domain identifier “domainl”.
  • the information is transmitted to the providing system 20 (S10).
  • the domain identifier of the request source is transmitted by the “HTTP-REFERER” variable.
  • the CPU of the information providing system 20 sends a content execution request, a content identifier “cont ent002”, an execution destination domain identifier “domain2”, and a content request source domain identifier “domainl” to the terminal device. Receive from 10. Then, the CPU of the information providing system 20 transmits the permission identifier “p3 (r—x)” associated with the combination of the received content identifier “content002” and the received request source domain identifier “domainl” to the permission information. The file power is also read (S12).
  • CPU of the information providing system 20 read when permission identifier "p3 (rx)" is intended to allow the execution, the received content identifier "C Ontent002" and received execution destination domain identifier "do Based on main2j, the content address “http: // domain2 / content002j is generated (S14). Then, the CPU of the information providing system 20 transmits the generated address to the terminal device 10 (S16).
  • the CPU of the terminal device 10 receives the address "http: // domain2 / content002j.” Then, the CPU of the terminal device 10 is inline as a frame including the received address "http: ZZdomain2Zcontent 002" as a reference destination. A frame is generated (S18). Subsequently, the terminal device transmits the address “http: // domain2 / content002j” and the domain identifier “domainl” of the content request source to the information providing system 20 along with the content acquisition request by the inline frame ( S20). Here, the domain identifier of the request source is transmitted by the “HTTP- REFERER” variable.
  • the CPU of the information providing system 20 receives the address “http: // domain2 / content002j” and the domain identifier “domainl” of the request source together with the content acquisition request. Then, the CPU of the information providing system 20 generates content corresponding to the received address in accordance with the received domain identifier of the request source (S22). For example, when the domain identifier of the request source does not permit execution of the content corresponding to the address, the content to be redirected to another domain may be generated. Subsequently, the CPU of the information providing system 20 transmits the generated content to the terminal device 10 (S24).
  • the content generated in S22 may be static content stored in advance in the HDD of the information providing system 20! /.
  • the CPU of the terminal device 10 receives the generated content and acquires the content ( S26) 0 Then, the CPU of the terminal device 10 executes the application program as the acquired content (S28). Next, the CPU of the terminal device 10 receives the command identifier “cmd003” from the keyboard together with the command execution request. Subsequently, the CPU of the terminal device 10 transmits the received command execution request, the command identifier “cmd003”, and the command request source domain identifier “domain2” to the information providing system 20 (S30). Here, the domain identifier of the request source is transmitted by an “HTTP-REFERER” variable.
  • the CPU of the information providing system 20 receives the command execution request, the command identifier “cmd003”, and the domain identifier “domain2” of the command request source. Then, the CPU of the information providing system 20 stores the command entity “send (only 100 timesZhour)” associated with the combination of the received command identifier “cmd003” and the received request source domain identifier “domain2” in the command information file. The force is also read (S32). Subsequently, the CPU of the information providing system 20 executes the command based on the read command entity (S34).
  • the execution content can be changed according to the domain. For example, even for the same command name “ls”, the default value of the Is command parameter is changed to “ls / root J,“ ls / root / webapi ”according to the combination of the command name and domain name. can do.
  • the command name is “read”, depending on the combination of command name and domain name, “read all” (read all), “read first 10 li nesj (read the first 10 lines), etc.
  • the mail send command can be limited to 100 messages per hour, or the command name “read” can be set to “list”. You can also execute a command corresponding to the “command”. Furthermore, it is possible to prevent leakage of each data function between application programs.
  • FIG. 12 shows the structure of the command information file.
  • the command information file includes a command identifier for identifying a command for the information providing system 20 and a domain identifier for identifying a domain permitted to execute a command corresponding to the command identifier.
  • the command identifier corresponds to a command name
  • the domain identifier corresponds to, for example, a domain name.
  • the command name “cmd001” as the command identifier and the domain name “domainl” are stored in association with each other.
  • the CPU of the information providing system 20 can identify the domain that can execute the command corresponding to the command identifier by reading the domain identifier associated with the command identifier.
  • the CPU of the information providing system 20 reads the domain identifier associated with the command identifier received from the terminal device 10 as a command information file, and the read domain identifier is the execution destination received from the terminal device 10. If it is the same as the domain identifier, the command corresponding to the received command identifier is executed. Here, when the read domain identifier is not the same as the domain identifier of the execution destination received from the terminal device 10, a command corresponding to the received command identifier may be executed.
  • the information providing system 20 stores a content information file in the HDD.
  • FIG. 13 shows the structure of the content information file.
  • a content identifier for identifying the content and an execution destination domain identifier for executing the content are stored in association with each other.
  • the content identifier corresponds to, for example, the application name of the application program
  • the domain identifier corresponds to, for example, the domain name.
  • the content identifier “content001” is stored in association with the execution destination domain identifier “domain 1”.
  • the CPU of the information providing system 20 can read the domain identifier of the execution destination associated with the content identifier and specify the domain identifier of the execution destination of the content.
  • the CPU of the information providing system 20 When the CPU of the information providing system 20 does not receive the domain identifier of the content execution destination from the terminal device 10 in S10, the CPU identifies the domain identifier associated with the received content identifier. Read it out and use it as the domain identifier of the execution destination.
  • an inline frame is generated in S18, and in the inline frame, the content corresponding to the received address is acquired. You may make it acquire the said content.
  • the callback function is defined so that the page transition is made based on the data obtained by XMLHttpRequest for the pre-defined page.
  • FIG. 7 is a flowchart of the terminal device 10 and the information providing system 20 in the process of displaying the desktop screen as the first content.
  • the CPU of the terminal device 10 receives, for example, rhttp: //domainl/login.htm "from the keyboard as a predetermined URL corresponding to the information providing system 20. Then, the CPU of the terminal device 10 transmits a login screen browsing request to the information providing system 20 based on the received URL (S50).
  • the CPU of the information providing system 20 receives a login screen browsing request from the terminal device 10. Then, the CPU of the information providing system 20 reads an HTML (HyperText Markup Language) file of the login screen from the HDD, and transmits the read HTML file of the login screen to the terminal device 10 (S55).
  • HTML HyperText Markup Language
  • the CPU of the terminal device 10 receives the HTML file of the login screen from the information providing system 20. Then, the CPU of the terminal device 10 displays the login screen on the display through the web browser based on the received HTML file of the login screen (S60). Subsequently, the CPU of the terminal device 10 accepts the user ID and password as a user identifier for identifying the user, and the keyboard power through the login screen. Further, the CPU of the terminal device 10 transmits the received user ID and password to the information providing system 20 (S65). The CPU of the information providing system 20 receives the user ID and password from the information providing system 20.
  • the CPU of the information providing system 20 authenticates the user by confirming the combination power of the received user ID and password stored in a predetermined user information file (S70).
  • the predetermined user information file is stored in the HDD in advance.
  • the CPU of the information providing system 20 performs the following process on the assumption that the user authentication has been successful when the combination power of the received user ID and password is stored in a predetermined user information file.
  • the CPU of the information providing system 20 creates a first session ID (S75).
  • a first session ID for example, “999” is created as the first session ID.
  • the session ID is created as a value that cannot be predicted by a third party by combining a random number and a hash value, etc. Force For convenience of explanation, a value that can be predicted by a third party as described above is used. And
  • the CPU of the information providing system 20 creates an HTML file of the desktop screen as the first content including the first session ID “999” and stores it in the HDD. (S 80).
  • the first session ID “999” is stored as the value of the hidden field “SID” on the desktop screen.
  • the URL of the desktop screen is, for example, “http: ZZdomainlZdesktop.htm”.
  • the CPU of the information providing system 20 extracts the domain identifier "domainl” of the domain to which the desktop screen belongs from the URL of the desktop screen. Subsequently, the CPU of the information providing system 20 associates the created first session ID “999” with the domain identifier “domainl” of the domain to which the extracted desktop screen belongs and stores it in the RAM (S85). Then, the CPU of the information providing system 20 transmits the created HTML file of the desktop screen to the terminal device 10 (S90).
  • the CPU of the terminal device 10 receives the HTML file of the desktop screen from the information providing system 20.
  • the CPU of the terminal device 10 displays the desktop screen on the display through the web browser based on the received HTML file of the desktop screen (S95).
  • FIG. 10 is a configuration diagram illustrating an example of a desktop screen.
  • the desktop screen has an icon 31 for starting an application program.
  • the icon 31 is a predetermined content identifier and a predetermined execution destination domain identifier. It is stored in an HTML file on the desktop screen in association with a separate child.
  • the CPU of the terminal device 10 reads the content identifier associated with the icon 31 and the domain identifier of the execution destination also by reading the HTML file power and provides information. Send to system 20.
  • FIG. 8 and FIG. 9 are flowcharts of the terminal device 10 and the information providing system 20 in the process of displaying the application screen as the second content.
  • the CPU of the terminal device 10 receives, for example, a content execution request, a content identifier "content002" associated with the icon 31 and an execution destination when the icon 31 on the desktop screen is clicked with the mouse.
  • the domain identifier “domain2” and the first session ID “999” are read from the HTML file on the desktop screen and transmitted to the information providing system 20 (S100).
  • the CPU of the information providing system 20 receives the content identifier “content002”, the execution destination domain identifier “domain2”, and the first session ID “999” from the terminal device 10. Then, the CPU of the information providing system 20 authenticates the session by confirming that the received session ID is stored in the RAM (S105). Subsequently, when the received session ID is stored in the RAM, the CPU of the information providing system 20 performs the following processing assuming that the session has been successfully authenticated.
  • the CPU of the information providing system 20 reads the domain identifier "domainl” associated with the received session ID "999" from the RAM card (S110).
  • the CPU of the information providing system 20 also reads the permission information file power of the permission identifier “p3 (r—x)” associated with the combination of the received content identifier “content002” and the read domain identifier “domainl”. (S115).
  • CPU of the information providing system 20 read when permission identifier "p3 (rx)" is intended to allow the execution, the received content identifier "C Ontent002” and received execution destination domain identifier "do Based on main2j, the content address “http: // domain2 / content002j is generated (S120). Then, the CPU of the information providing system 20 transmits the generated address to the terminal device 10 (S125).
  • the CPU of the terminal device 10 receives the address "http: // domain2 / content002j" . Then, the CPU of the terminal device 10 generates an inline frame as a frame including the received address “http: ZZdomain2Zcontent 002” as a reference destination (SI 30). Subsequently, the terminal device transmits the address “http: // domain2 / content002j” and the first session ID “999” to the information providing system 20 along with the content acquisition request by the inline frame (S135). ).
  • the CPU of the information providing system 20 receives the address “http: / Zdomain2Zcontent002” and the first session ID “999” together with the content acquisition request.
  • the CPU of the information providing system 20 authenticates the session by confirming whether the received session ID is stored in the RAM! (S140). Subsequently, when the received session ID is stored in the RAM, the CPU of the information providing system 20 performs the following process assuming that the session has been successfully authenticated.
  • the CPU of the information providing system 20 also reads the domain identifier “domainl” associated with the received session ID “999”, and also the RAM power (S145).
  • the CPU of the information providing system 20 receives the second session. 10 Create “111” 150).
  • the CPU of the information providing system 20 generates content corresponding to the received address according to the read domain identifier, and stores the second session ID in the content (S155).
  • the CPU of the information providing system 20 associates the second session ID “111” with the domain identifier “dom ain2” of the content and stores it in the RAM (SI 60).
  • the CPU of the information providing system 20 transmits the generated content to the terminal device 10 (S165).
  • the content generated in S155 may be static content stored in advance in the HDD of the information providing system 20! /.
  • a method of passing a session ID to newly generated content there are a method of passing as a GET or POST parameter, a method of using a cookie, etc.
  • a method of passing as a GET parameter is adopted. ing. If another content in the execution domain already exists and the content has a session ID, the newly generated content in the execution domain already exists! / Domain of Since the session ID included in the content can be freely read and used, there is no need to generate and pass the second session ID.
  • FIG. 11 is a configuration diagram showing an example of a desktop screen that displays the application screen as the execution result in an inline frame.
  • the application screen includes an application program GUI (Graphical User Interface).
  • the CPU of the terminal device 10 receives the command identifier “cmd001” from the keyboard together with a command execution request. Subsequently, CPU of the terminal device 10, and the execution request of the received command, the command identifier "C Md001", sends a second session ID "111" to the information providing system 20 (S180).
  • the CPU of the information providing system 20 receives the command execution request, the command identifier “cmd001”, and the second session ID “111”.
  • the CPU of the information providing system 20 authenticates the session by confirming whether the received session ID is stored in the RAM (S185). Subsequently, when the received session ID is stored in the RAM, the CPU of the information providing system 20 performs the following process on the assumption that the session has been successfully authenticated.
  • the CPU of the information providing system 20 also reads out the RAM power of the domain identifier “domain2” associated with the received session ID “111” (S190). Then, the CPU of the information providing system 20 also reads out the command information file power “ls / root / webapij” associated with the combination of the received command identifier “cmd001” and the read domain identifier “do main2j” (S195 Subsequently, the CPU of the information providing system 20 executes the command based on the read command entity (S200).
  • the processing content is changed by switching the domain to which the content displayed in the caller frame belongs, or Data leakage between application programs can be prevented.
  • the operation can be different between the case of executing as the content of “domainl” and the case of executing as the content of “domain 2”.
  • the authority setting for changing the processing at this time is limited to the execution of a command other than reading to be activated, for example, depending on the domain, or to the component, for example, the execution of the component depending on the domain. It is possible to set such as limiting or not, and it is possible to store in a predetermined setting file whether or not to allow powerful setting. (Other embodiments)
  • the domain to which the desktop screen used by user A belongs is “main.visionarts.com”. Also, depending on the DNS zone file settings, the three domains “subdomainl.vis It is assumed that “didts.com”, “subdomain2.visionarts.com”, and “subdomain3.visionarts.com” are prepared in advance.
  • the permission identifier associated with the combination of the content identifier and the domain identifier “main.visionarts.com” can be “read”, “write”, and “execute”. Therefore, editing of the content information file, command information file, permission information file, etc. is permitted in the domain corresponding to the domain identifier “main. Visionarts. Com”.
  • the domain used as a subdomain of “visionarts. Com” is a domain other than “visionarts. Com mj”, which is called “xxx. Or. Jp” or “yyy. Jp”.
  • GUI application domain manager
  • User A may change the application program “apll” from the application domain manager to one that can be executed from “subdomainl.visionarts.com” when it is determined that the application is reliable after being used for a while. it can. That is, the CPU of the information providing system 20 also receives “apll” as a content identifier and “subdomainl.visionarts.com” as a domain identifier through an application domain manager (GUI). Then, the CPU of the information providing system 20 associates “apll” as the received content identifier with “subdomainl.visionarts.com” as the domain identifier and stores them in the content information file. Alternatively, User A updates the domain information file through the app domain manager (GUI) and sends “subdomain3 The commands that can be executed at “visionarts.com” may be changed.
  • GUI application domain manager
  • domain aliases assigned to one information provision system may be prepared as many as the number of authorities to be set separately.
  • execution of the command or application program is restricted depending on the domain to which the content belongs, and the configuration is performed.
  • the display of the number may be controlled.
  • you may be able to set execution rights for each domain corresponding to the content extension.
  • FIG. 1 is a block diagram showing an overall configuration of a computer system according to the present embodiment.
  • FIG. 2 is a block diagram of a terminal.
  • FIG. 3 is a configuration diagram of an information providing system.
  • FIG. 4 A structure diagram of a command information file.
  • FIG. 5 A structure diagram of a permission information file.
  • FIG. 6 is a flowchart of the terminal device and the information providing system in the first embodiment.
  • FIG. 7 is a flowchart of the terminal device and the information providing system in the process of displaying the desktop screen as the first content.
  • FIG. 8 is a flowchart of the terminal device and the information providing system in the process of displaying an application screen as second content.
  • FIG. 9 is a continuation of the flowchart of FIG.
  • FIG. 10 is a block diagram showing an example of a desktop screen.
  • FIG. 11 is a configuration diagram showing an example of a desktop screen that displays an application screen in an inline frame.
  • FIG. 12 is a structure diagram of a command information file.
  • FIG. 13 is a structure diagram of a content information file. Explanation of symbols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 コンテンツから呼び出される所定のコマンドの実行を制限すること。 【解決手段】 情報提供システムの処理手段は、コマンド実行要求と共に、コマンド識別子と、要求元のドメイン識別子とを、外部の端末装置から受信し(S30)、受信したコマンド識別子及び受信したドメイン識別子の組合せに関連付けられたコマンドの実体を記憶手段から読み出し(S32)、当該読み出したコマンドの実体に基づいてコマンドを実行する(S34)。

Description

明 細 書
コマンド実行プログラム及びコマンド実行方法
技術分野
[0001] 本発明は、コマンドを実行するプログラムに係り、特に、コマンドの呼出し元のコンテ ンッが属するドメインによって、コマンドの実行を制限することができるコマンド実行プ ログラム等に関する。 背景技術
[0002] 従来、情報提供システムは、様々なアプリケーションプログラムを提供して 、る。ァ プリケーシヨンプログラムとしては、例えば、ファイルをコピー、移動、削除等するフアイ ル管理プログラム、テキストファイルを編集するテキストエディタ等が該当する。
[0003] しかし、上記従来例においては、アプリケーションプログラムを実行する場合に、当 該アプリケーションプログラムのコンテンツから呼び出される所定のコマンドの実行を 制限することができなかった。例えば、ファイル管理プログラムのコンテンツにおいて 、ファイルを削除するコマンドの実行を制限することができな力つた。
[0004] また、従来、同一の情報提供システムが提供する複数のアプリケーションプログラム を、端末装置のウェブブラウザのフレーム内で実行する場合、そのアプリケーションプ ログラムは同一のドメインで実行されて!、た。
[0005] しかし、上記従来例においては、アプリケーションプログラム間で相互にデータを取 得することが可能であり、アプリケーションプログラム間でそれぞれのデータや関数等 の漏洩を防止することができなかった。
[0006] これらに関して記述された先行技術文献を出願人は知らな!/、。
発明の開示
発明が解決しょうとする課題
[0007] 本発明は、力かる従来例の有する不都合を改善し、特に、コンテンツから呼び出さ れる所定のコマンドの実行を制限すること、及びアプリケーションプログラム間でそれ ぞれのデータや関数等の漏洩を防止することを課題とする。
課題を解決するための手段 [0008] 上記課題を解決するため、本発明では次のような構成を採っている。
[0009] 請求項 1記載の発明は、記憶手段、通信手段及び処理手段を備えた情報提供シス テムに用いられるコマンド実行プログラムである。そして、上記記憶手段に、上記情報 提供システムに対するコマンドを識別するコマンド識別子と、ドメインを識別するドメイ ン識別子とを関連付けて記憶する。上記コマンド実行プログラムは、上記処理手段に 、(a)コマンドの実行要求と共に、当該コマンドのコマンド識別子と、当該コマンドを呼 び出したコンテンツが属するドメインのドメイン識別子とを、外部の端末装置から上記 通信手段を介して受信するステップと、 (b)上記受信したコマンド識別子に関連付け られたドメイン識別子を上記記憶手段カゝら読み出すステップと、(c)上記 aステップで 受信したドメイン識別子と、上記 bステップで読み出したドメイン識別子とが同一である 場合に、上記受信したコマンド識別子に対応するコマンドを実行するステップと、を実 行させる。
[0010] 請求項 2記載の発明は、上記 cステップ力 上記 aステップで受信したドメイン識別 子と、上記 bステップで読み出したドメイン識別子とが同一でない場合に、上記受信し たコマンド識別子に対応するコマンドを実行するステップであることを特徴とした請求 項 1記載のコマンド実行プログラムである。
[0011] 請求項 3記載の発明は、記憶手段、通信手段及び処理手段を備えた情報提供シス テムに用いられるコマンド実行プログラムである。そして、上記記憶手段に、上記情報 提供システムに対するコマンドを識別するコマンド識別子及び当該コマンドを実行す るドメインを識別するドメイン識別子の組合せと、当該コマンドの実体とを関連付けて 記憶する。上記コマンド実行プログラムは、上記処理手段に、(a)コマンドの実行要 求と共に、当該コマンドのコマンド識別子と、当該コマンドを呼び出したコンテンツが 属するドメインのドメイン識別子とを、外部の端末装置から上記通信手段を介して受 信するステップと、 (b)上記受信したコマンド識別子及び上記受信したドメイン識別子 の組合せに関連付けられたコマンドの実体を上記記憶手段力 読み出すステップと 、(c)上記読み出したコマンドの実体に基づいてコマンドを実行するステップと、を実 行させる。
[0012] 請求項 4記載の発明は、端末装置と、自身のドメインのエイリアスを複数備えた情報 提供システムとが通信ネットワークに接続されたコンピュータシステムで用いられるコ ンテンッの実行方法である。そして、上記情報提供システム力 コンテンツを識別す るコンテンツ識別子と、上記エイリアスを識別するドメイン識別子とを関連付けて記憶 するための記憶手段を備える。また、上記端末装置の処理手段が、(a)コンテンツの 実行要求と共に、当該コンテンツのコンテンツ識別子を情報提供システムに送信する ステップを実行する。そして、上記情報提供システムの処理手段が、(b)コンテンツの 実行要求と共に、当該コンテンツのコンテンツ識別子を上記端末装置から受信する ステップと、(c)上記受信したコンテンツ識別子に関連付けられたドメイン識別子を上 記記憶手段から読み出すステップと、 (d)上記受信したコンテンツ識別子及び上記 読み出したドメイン識別子に基づいて、コンテンツのアドレスを生成するステップと、( e)上記生成したコンテンツのアドレスを上記端末装置に送信するステップと、を実行 する。続いて、上記端末装置の処理手段が、(f)上記生成したコンテンツのアドレスを 上記情報提供システム力 受信するステップと、 (g)当該受信したアドレスのドメイン で、当該アドレスに対応するコンテンツを取得するステップと、 (h)当該取得したコン テンッを実行するステップと、を実行する。
[0013] 請求項 5記載の発明は、上記記憶手段において、上記コンテンツを識別するコンテ ンッ識別子に関連付けて記憶する上記エイリアスを識別するドメイン識別子は、上記 通信ネットワークを通じて上記端末装置力 提供されるものであることを特徴とした請 求項 4記載のコンテンツの実行方法である。
発明の効果
[0014] コマンド識別子及びドメイン識別子の組合せに応じて、コマンド識別子に対応する コマンドを実行するので、コンテンツから呼び出される所定のコマンドの実行を制限 することができる。また、コンテンツ識別子及びドメイン識別子に基づいて、コンテンツ のアドレスを生成するので、アプリケーションプログラム間でそれぞれのデータや関数 等の漏洩を防止することができる。
発明を実施するための最良の形態
[0015] 以下、図面を参照しながら、本発明の実施形態について説明する。
[0016] 図 1は、本実施形態のコンピュータシステムの全体構成を示すブロック図である。端 末装置 10と、情報提供システム 20と力 通信ネットワークとしてのインターネット 30に 接続されている。ここで、端末装置 10とインターネット 30との接続は有線であるか無 線であるかを問わない。
[0017] 図 2は、端末装置 10の構成図である。
[0018] 処理手段としての CPU12、記憶手段としての RAM13、 ROM14、及び HDD19 ( Hard Disk Drive)、入力手段としてのキーボード 16及びマウス 17、表示手段とし てのディスプレイ 18並びに通信手段としての NIC15 (Network Interface Card) 力 バス 11に接続されている。 HDD19には、ウェブブラウザのプログラム等が記憶さ れている。端末装置 10の CPUは、ウェブブラウザのプログラムを実行することにより、 情報提供システム 20が提供するコンテンツを実行して表示することができるようにな つている。端末装置 10としては、例えば、 PC (Personal Computer)、 PDA (Pers onal Digital Assistance)、インターネット接続機能を有する携帯電話等が該当 するが、本実施形態では PCを採用している。
[0019] 図 3は、情報提供システム 20の構成図である。
[0020] 処理手段としての CPU22、記憶手段としての RAM23、 ROM24、及び HDD26 ( Hard Disk Drive)並びに通信手段としての NIC25 (Network Interface Car d)力 バス 21に接続されている。 HDD26には、コマンド実行プログラム、コマンド情 報ファイル、パーミッション情報ファイル等が記憶されている。情報提供システム 20の CPUは、コマンド実行プログラムを実行することにより、所定のコマンドを実行すること ができるようになつている。また、当該情報提供システム 20は、 DNS (Domain Na me System)により、自身のドメインのエイリアスを複数備えている。本実施形態で は、当該情報提供システム 20のアドレスとしての URL (Uniform Resource Loca tor)は、「http: ZZdomainl」、「http: //domain2j及び「http: //domain3 」という 3つのエイリアスで表現される。さらに、本実施形態では、情報提供システム 20 として、一般的なウェブサーバを採用している。
[0021] 図 4は、コマンド情報ファイルの構造図である。当該コマンド情報ファイルには、情 報提供システム 20に対するコマンドを識別するコマンド識別子及びコマンドを実行す るドメインを識別するドメイン識別子の組合せと、当該コマンドの実体とが関連付けて 格納されている。コマンド識別子としては、例えば、コマンド名等が該当し、ドメイン識 別子としては、例えば、ドメイン名等が該当する。さらに、コマンドの実体としては、例 えば、コマンドの実行内容等が該当する。図 4の第二レコードでは、コマンド識別子「 cmd001 (ls)」及びドメイン識別子「domainl」の組合せと、コマンドの実体「ls /ro ot」とが関連付けて格納されている。ここで、情報提供システム 20の CPUは、コマン ド識別子及びドメイン識別子の組合せに関連付けられたコマンドの実体を読み出し て、当該コマンドの実体に基づ 、てコマンドを実行できるようになって!/、る。
[0022] 図 5は、パーミッション情報ファイルの構造図である。当該パーミッション情報フアイ ノレには、コンテンツを識另 Uするコンテンツ識另 U子及び当該コンテンツを実行するドメイ ンを識別するドメイン識別子の組合せと、当該コンテンツに対するアクセス権を識別 するパーミッション識別子とが関連付けて格納されている。パーミッション識別子とし ては、例えば、 UNIX (登録商標)システムで利用されるパーミッション等が該当する。 図 5の第一レコードでは、コンテンツ識別子「content001」及びドメイン識別子「dom ainl」の組合せと、パーミッション識別子「pl (rw—)」が関連付けて格納されている。 ここで、情報提供システム 20の CPUは、コンテンツ識別子及びドメイン識別子の組合 せに関連付けられたパーミッション識別子をパーミッション情報ファイル力 読み出し て、当該読み出したパーミッション識別子に基づいて当該コンテンツ識別子に対応す るコンテンツのアクセス権を特定することができるようになって 、る。
[0023] 次に、本実施形態のコンピュータシステムの動作について説明する。
(実施形態 1)
[0024] 図 6は、端末装置 10及び情報提供システム 20のフローチャートである。
[0025] 端末装置 10の CPUは、コンテンツとしてのアプリケーションプログラムの実行要求と 共に、当該コンテンツのコンテンツ識別子としてのアプリケーション名「content002」 と、当該コンテンツの実行先のドメイン識別子「domain2」とをキーボードから受け付 ける。続いて、端末装置 10の CPUは、受け付けたコンテンツの実行要求と、コンテン ッ識別子「content002」と、実行先のドメイン識別子「domain2」と、コンテンツの要 求元のドメイン識別子「domainl」とを情報提供システム 20に送信する(S10)。ここ で、要求元のドメイン識別子は、「HTTP— REFERER」変数により送信される。 [0026] 情報提供システム 20の CPUは、コンテンツの実行要求と、コンテンツ識別子「cont ent002」、実行先のドメイン識別子「domain2」と、コンテンツの要求元のドメイン識 別子「domainl」とを端末装置 10から受信する。そして、情報提供システム 20の CP Uは、受信したコンテンツ識別子「content002」及び受信した要求元のドメイン識別 子「domainl」の組合せに関連付けられたパーミッション識別子「p3 (r— x)」をパーミ ッシヨン情報ファイル力も読み出す(S12)。続いて、情報提供システム 20の CPUは、 読み出したパーミッション識別子「p3 (r-x)」が実行を許可するものである場合に、 受信したコンテンツ識別子「Content002」及び受信した実行先のドメイン識別子「do main2jに基づ 、て、コンテンツのアドレス「http: //domain2/content002jを 生成する(S14)。そして、情報提供システム 20の CPUは、生成したアドレスを端末 装置 10に送信する(S16)。
[0027] 端末装置 10の CPUは、アドレス「http: //domain2/content002jを受信する 。そして、端末装置 10の CPUは、受信したアドレス「http : ZZdomain2Zcontent 002」を参照先として含むフレームとしてのインラインフレームを生成する(S18)。続 いて、端末装置は、当該インラインフレームにより、コンテンツの取得要求と共に、アド レス「http: //domain2/content002jと、コンテンツの要求元のドメイン識別子「 domainl」とを情報提供システム 20に送信する(S20)。ここで、要求元のドメイン識 別子は、「HTTP— REFERER」変数により送信される。
[0028] 情報提供システム 20の CPUは、コンテンツの取得要求と共に、アドレス「http: / /domain2/content002jと、要求元のドメイン識別子「domainl」とを受信する。 そして、情報提供システム 20の CPUは、受信した要求元のドメイン識別子に応じて、 受信したアドレスに対応するコンテンツを生成する(S 22)。例えば、要求元のドメイン 識別子が、アドレスに対応するコンテンツの実行を許可していない場合には、別のド メインにリダイレクトするコンテンツを生成してもよい。続いて、情報提供システム 20の CPUは、生成したコンテンツを端末装置 10に送信する(S24)。ここで、 S22におい て生成されたコンテンツは、予め情報提供システム 20の HDDに格納されている静的 なコンテンツであってもよ!/、。
[0029] 端末装置 10の CPUは、生成したコンテンツを受信し、当該コンテンツを取得する( S26) 0そして、端末装置 10の CPUは、取得したコンテンツとしてのアプリケーション プログラムを実行する(S28)。次に、端末装置 10の CPUは、コマンドの実行要求と 共に、コマンド識別子「cmd003」をキーボードから受け付ける。続いて、端末装置 10 の CPUは、受け付けたコマンドの実行要求と、コマンド識別子「cmd003」と、コマン ドの要求元のドメイン識別子「domain2」とを情報提供システム 20に送信する(S30) 。ここで、要求元のドメイン識別子は、「HTTP— REFERER」変数により送信される。
[0030] 情報提供システム 20の CPUは、コマンドの実行要求と、コマンド識別子「cmd003 」と、コマンドの要求元のドメイン識別子「domain2」とを受信する。そして、情報提供 システム 20の CPUは、受信したコマンド識別子「cmd003」及び受信した要求元のド メイン識別子「domain2」の組合せに関連付けられたコマンドの実体「send (only 100 timesZhour)」をコマンド情報ファイル力も読み出す(S32)。続いて、情報提 供システム 20の CPUは、読み出したコマンドの実体に基づいてコマンドを実行する( S34)。
[0031] これによると、同じコマンド名であっても、ドメインに応じてその実行内容を変更する ことができる。例えば、同じコマンド名「ls」であっても、コマンド名及びドメイン名の組 合せに応じて、「ls /root J , 「ls /root/webapi」のように Isコマンドのパラメータ のデフォルト値を変更することができる。同様に、コマンド名「read」であっても、コマン ド名及びドメイン名の組合せに応じて、「read all」(全部読む)、「read first 10 li nesj (最初の 10行を読む)のように読み出す範囲を変更することができる。また、コマ ンド名及びドメイン名の組合せに応じて、メール送信コマンドに、 1時間に 100通まで といった制限をつけたり、コマンド名「read」に対して「list」コマンドに相当するコマン ドを実行したりすることもできる。さらに、アプリケーションプログラム間でそれぞれのデ ータゃ関数等の漏洩を防止することができる。
(実施形態 1の変形 1)
[0032] 図 4のコマンド情報ファイルの代わりに、図 12のコマンド情報ファイルを採用してもよ い。図 12は、コマンド情報ファイルの構造図である。当該コマンド情報ファイルには、 情報提供システム 20に対するコマンドを識別するコマンド識別子と、当該コマンド識 別子に対応するコマンドを実行することが許可されたドメインを識別するドメイン識別 子とが関連付けて格納されている。コマンド識別子としては、例えば、コマンド名等が 該当し、ドメイン識別子としては、例えば、ドメイン名等が該当する。図 4の第一レコー ドでは、コマンド識別子としてのコマンド名「cmd001」と、ドメイン名「domainl」とが 関連付けて格納されている。情報提供システム 20の CPUは、コマンド識別子に関連 付けられたドメイン識別子を読み出すことにより、コマンド識別子に対応するコマンド を実行することが可能なドメインを特定することができるようになって 、る。
[0033] 情報提供システム 20の CPUは、端末装置 10から受信したコマンド識別子に関連 付けられたドメイン識別子をコマンド情報ファイル力 読み出し、当該読み出したドメ イン識別子が、端末装置 10から受信した実行先のドメイン識別子と同一の場合に受 信したコマンド識別子に対応するコマンドを実行する。ここで、当該読み出したドメイ ン識別子が、端末装置 10から受信した実行先のドメイン識別子と同一でない場合に 受信したコマンド識別子に対応するコマンドを実行するようにしてもよい。
(実施形態 1の変形 2)
[0034] 本実施形態では、実施形態 1の構成のほかに、情報提供システム 20が、 HDDにコ ンテンッ情報ファイルを記憶している。図 13は、コンテンツ情報ファイルの構造図で ある。当該コンテンツ情報ファイルには、コンテンツを識別するコンテンツ識別子と、 当該コンテンツを実行する実行先のドメイン識別子とが関連付けて記憶されている。 コンテンツ識別子としては、例えば、アプリケーションプログラムのアプリケーション名 等が該当し、ドメイン識別子としては、例えば、ドメイン名が該当する。図 13の第一レ コードでは、コンテンツ識別子「content001」が、実行先のドメイン識別子「 domain 1」と関連付けて記憶されている。ここで、情報提供システム 20の CPUは、コンテンツ 識別子に関連付けられた実行先のドメイン識別子を読み出して、コンテンツの実行先 のドメイン識別子を特定することができるようになって 、る。
[0035] 情報提供システム 20の CPUは、 S10においてコンテンツの実行先のドメイン識別 子を端末装置 10から受信しな力つた場合に、受信したコンテンツ識別子に関連付け られたドメイン識別子を当該コンテンツ情報ファイルカゝら読み出して実行先のドメイン 識別子として使用する。
(実施形態 1の変形 3) [0036] 実施形態 1においては、 S18においてインラインフレームを生成し、当該インライン フレームにおいて、受信したアドレスに対応するコンテンツを取得している力 インラ インフレームを生成せずにコンテンツの要求元のページに当該コンテンツを取得する ようにしてもよい。
[0037] また、予め用意されたインラインフレームにおいて、所定のコールバック関数を定義 しておき、コンテンッの要求元のページから当該コールバック関数を指定して XMLH ttpRequestを行うことにより、上記予め用意されたインラインフレームに、受信したァ ドレスに対応するコンテンツを取得してもよい。ここで、上記コールバック関数は、予 め定義されたページを XMLHttpRequestで得たデータに基づいてページ遷移さ せるように定義される。
(実施形態 2)
[0038] 図 7は、第一のコンテンツとしてのデスクトップ画面を表示する処理における、端末 装置 10及び情報提供システム 20のフローチャートである。
[0039] 端末装置 10の CPUは、情報提供システム 20に対応する所定の URLとして、例え ば、 rhttp: //domainl/login. htm」をキーボードから受付ける。そして、端末装 置 10の CPUは、当該受付けた URLに基づいて、ログイン画面の閲覧要求を情報提 供システム 20に送信する(S50)。
[0040] 情報提供システム 20の CPUは、ログイン画面の閲覧要求を端末装置 10から受信 する。そして、情報提供システム 20の CPUは、ログイン画面の HTML (HyperText Markup Language)ファイルを HDDから読み出して、当該読み出したログイン画 面の HTMLファイルを端末装置 10に送信する(S 55)。
[0041] 端末装置 10の CPUは、ログイン画面の HTMLファイルを情報提供システム 20から 受信する。そして、端末装置 10の CPUは、当該受信したログイン画面の HTMLファ ィルに基づいて、ウェブブラウザを通じて、ログイン画面をディスプレイに表示する(S 60)。続いて、端末装置 10の CPUは、ユーザを識別するユーザ識別子として、ユー ザ ID及びパスワードを、ログイン画面を通じて、キーボード力も受付ける。また、端末 装置 10の CPUは、当該受付けたユーザ ID及びパスワードを情報提供システム 20に 送信する(S65)。 [0042] 情報提供システム 20の CPUは、ユーザ ID及びパスワードを情報提供システム 20 から受信する。そして、情報提供システム 20の CPUは、受信したユーザ ID及びパス ワードの組合せ力 所定のユーザ情報ファイルに格納されて!、る力確認することによ つて、ユーザの認証を行う(S70)。ここで、所定のユーザ情報ファイルは、予め HDD に記憶されている。続いて、情報提供システム 20の CPUは、受信したユーザ ID及び パスワードの組合せ力 所定のユーザ情報ファイルに格納されている場合には、ユー ザの認証が成功したものとして以下の処理を行う。
[0043] 情報提供システム 20の CPUは、第一のセッション IDを作成する(S75)。本実施形 態では、第一のセッション IDとして、例えば、「999」を作成する。ここで、セッション ID は、乱数とハッシュ値等とを組み合わせて第三者に予測不可能な値として作成する 力 説明の便宜上、上記のように第三者に予測可能な値を用いているものとする。
[0044] 次に、情報提供システム 20の CPUは、第一のセッション ID「999」を含む第一のコ ンテンッとしてのデスクトップ画面の HTMLファイルを作成して HDDに記憶する。 (S 80)。ここで、本実施形態では、第一のセッション ID「999」は、デスクトップ画面の隠 しフィールド「SID」の値として保存されている。また、デスクトップ画面の URLは、例 えば、「http : ZZdomainlZdesktop. htm」であるとする。
[0045] 情報提供システム 20の CPUは、デスクトップ画面の URLからデスクトップ画面が属 するドメインのドメイン識別子「domainl」を抽出する。続いて、情報提供システム 20 の CPUは、作成した第一のセッション ID「999」と、抽出したデスクトップ画面が属す るドメインのドメイン識別子「domainl」とを関連付けて RAMに記憶する(S85)。そし て、情報提供システム 20の CPUは、作成したデスクトップ画面の HTMLファイルを 端末装置 10に送信する(S90)。
[0046] 端末装置 10の CPUは、デスクトップ画面の HTMLファイルを、情報提供システム 2 0から受信する。そして、端末装置 10の CPUは、当該受信したデスクトップ画面の H TMLファイルに基づいて、ウェブブラウザを通じて、デスクトップ画面をディスプレイ に表示する(S95)。図 10は、デスクトップ画面の一例を示す構成図である。当該デス クトップ画面は、アプリケーションプログラムを起動するためのアイコン 31を備えてい る。ここで、アイコン 31は、所定のコンテンツ識別子、及び所定の実行先のドメイン識 別子と関連付けてデスクトップ画面の HTMLファイルに格納されている。そして、端 末装置 10の CPUは、マウスによりアイコン 31がクリックされたことを契機として、当該 アイコン 31に関連付けられたコンテンツ識別子と、実行先のドメイン識別子とを HTM Lファイル力も読み出して、情報提供システム 20に送信するようになっている。
[0047] 図 8及び図 9は、第二のコンテンツとしてのアプリケーション画面を表示する処理に おける、端末装置 10及び情報提供システム 20のフローチャートである。
[0048] 端末装置 10の CPUは、マウスによりデスクトップ画面のアイコン 31がクリックされた ことを契機として、例えば、コンテンツ実行要求と、当該アイコン 31に関連付けられた コンテンツ識別子「content002」と、実行先のドメイン識別子「domain2」と、第一の セッション ID「999」とを、デスクトップ画面の HTMLファイルから読み出して情報提 供システム 20に送信する(S100)。
[0049] 情報提供システム 20の CPUは、コンテンツ識別子「content002」と、実行先のドメ イン識別子「domain2」と、第一のセッション ID「999」とを端末装置 10から受信する 。そして、情報提供システム 20の CPUは、受信したセッション IDが RAMに記憶され ている力確認することによって、セッションの認証を行う(S105)。続いて、情報提供 システム 20の CPUは、受信したセッション IDが RAMに記憶されている場合には、セ ッシヨンの認証が成功したものとして以下の処理を行う。
[0050] 情報提供システム 20の CPUは、受信したセッション ID「999」に関連付けられたドメ イン識別子「domainl」を RAMカゝら読み出す (S110)。そして、情報提供システム 2 0の CPUは、受信したコンテンツ識別子「content002」及び読み出したドメイン識別 子「domainl」の組合せに関連付けられたパーミッション識別子「p3 (r— x)」をパーミ ッシヨン情報ファイル力も読み出す(S115)。続いて、情報提供システム 20の CPUは 、読み出したパーミッション識別子「p3 (r-x)」が実行を許可するものである場合に、 受信したコンテンツ識別子「Content002」及び受信した実行先のドメイン識別子「do main2jに基づ 、て、コンテンツのアドレス「http: //domain2/content002jを 生成する(S120)。そして、情報提供システム 20の CPUは、生成したアドレスを端末 装置 10に送信する(S125)。
[0051] 端末装置 10の CPUは、アドレス「http: //domain2/content002jを受信する 。そして、端末装置 10の CPUは、受信したアドレス「http : ZZdomain2Zcontent 002」を参照先として含むフレームとしてのインラインフレームを生成する(SI 30)。続 いて、端末装置は、当該インラインフレームにより、コンテンツの取得要求と共に、アド レス「http: //domain2/content002jと、第一のセッション ID「999」とを情報提 供システム 20に送信する(S135)。
[0052] 情報提供システム 20の CPUは、コンテンツの取得要求と共に、アドレス「http: / Zdomain2Zcontent002」と、第一のセッション ID「999」とを受信する。そして、情 報提供システム 20の CPUは、受信したセッション IDが RAMに記憶されて!、るか確 認すること〖こよって、セッションの認証を行う(S 140)。続いて、情報提供システム 20 の CPUは、受信したセッション IDが RAMに記憶されている場合には、セッションの 認証が成功したものとして以下の処理を行う。
[0053] 情報提供システム 20の CPUは、受信したセッション ID「999」に関連付けられたドメ イン識別子「domainl」を RAM力も読み出す (S145)。そして、情報提供システム 2 0の CPUは、読み出したドメイン識別子「domainl」が受信したアドレス「http: //ά omain2/content002jのドメインでの実行を許可するものである場合に、第二のセ ッシヨン 10「111」を作成する 150)。続いて、情報提供システム 20の CPUは、読 み出したドメイン識別子に応じて、受信したアドレスに対応するコンテンッを生成し、 当該コンテンツに第二のセッション IDを格納する(S155)。そして、情報提供システ ム 20の CPUは、第二のセッション ID「111」と当該コンテンツのドメイン識別子「dom ain2」とを関連付けて RAMに記憶する(SI 60)。続いて、情報提供システム 20の C PUは、生成したコンテンツを端末装置 10に送信する(S 165)。ここで、 S155におい て生成されたコンテンツは、予め情報提供システム 20の HDDに格納されている静的 なコンテンツであってもよ!/、。
[0054] また、新しく生成したコンテンツにセッション IDを渡す方法として、 GET又は POST のパラメータとして渡す方法、 Cookieを利用する方法などがある力 本実施形態で は、 GETのパラメータとして渡す方法を採用している。また、実行先のドメインの別の コンテンツがすでに存在し、そのコンテンツがセッション IDを持っている場合は、新し く生成した実行先のドメインのコンテンツは、すでに存在して!/、る実行先のドメインの コンテンツに含まれるセッション IDを自由に読み出して利用することができるので、第 二のセッション IDを生成して渡す処理は不要となる。
[0055] 端末装置 10の CPUは、生成したコンテンツを受信し、当該コンテンツを取得する( S170)。そして、端末装置 10の CPUは、取得したコンテンツとしてのアプリケーショ ンプログラムを実行する(S 175)。図 11は、当該実行結果としてのアプリケーション画 面をインラインフレームに表示するデスクトップ画面の一例を示す構成図である。ここ で、アプリケーション画面は、アプリケーションプログラムの GUI (Graphical User I nterface)を備えて 、る。
[0056] 次に、端末装置 10の CPUは、例えば、コマンドの実行要求と共に、コマンド識別子 「cmd001」をキーボードから受け付ける。続いて、端末装置 10の CPUは、受け付け たコマンドの実行要求と、コマンド識別子「Cmd001」と、第二のセッション ID「111」と を情報提供システム 20に送信する(S180)。
[0057] 情報提供システム 20の CPUは、コマンドの実行要求と、コマンド識別子「cmd001 」と、第二のセッション ID「111」とを受信する。そして、情報提供システム 20の CPU は、受信したセッション IDが RAMに記憶されているか確認することによって、セッショ ンの認証を行う(S185)。続いて、情報提供システム 20の CPUは、受信したセッショ ン IDが RAMに記憶されている場合には、セッションの認証が成功したものとして以 下の処理を行う。
[0058] 情報提供システム 20の CPUは、受信したセッション ID「111」に関連付けられたドメ イン識別子「domain2」を RAM力も読み出す(S190)。そして、情報提供システム 2 0の CPUは、受信したコマンド識別子「cmd001」及び読み出したドメイン識別子「do main2jの組合せに関連付けられたコマンドの実体「ls /root/webapijをコマン ド情報ファイル力も読み出す (S195)。続いて、情報提供システム 20の CPUは、読 み出したコマンドの実体に基づ 、てコマンドを実行する(S200)。
[0059] ここで、コンテンツとしてのアプリケーションプログラム毎に異なる権限を定義したセ ッシヨン IDを発行することにより、コンテンツとしてのアプリケーションプログラムから呼 び出される所定のコマンドの実行を制限する従来技術と比較する。
[0060] 従来技術では、ウェブブラウザで実行される複数のコンテンツとしてのアプリケーシ ヨンプログラムで、所定の機能を実現する場合、それらのコンテンツが同一のフレーム 内、又は別フレームであっても同一のドメインに属する場合、相互にお互いのデータ にアクセスすることができる。クロスドメインのセキュリティーの制限がないためである。 そのため、一方のコンテンツから他方のコンテンツのセッション IDを読み取ることによ り、本来、割り当てられた以上の権限のセッション IDを不正に取得することができる。
[0061] また、他の従来技術においては、(1)同一のフレーム内でアプリケーションプロダラ ムのコンテンツを複数実行する方法と、(2)別フレームを内部で開き、フレーム毎にァ プリケーシヨンプログラムのコンテンツを実行する方法とがある。別フレームを内部で 開く場合には、フレーム毎のアプリケーションプログラムのコンテンツは当然同一のド メインすなわち同一の情報提供システムに属する。一般的には、(2)の方法は、各フ レーム間でデータを連携するコードが複雑になるため、(1)の方法が採用されている
[0062] 上記従来例においては、アプリケーションプログラムとシステムの権限分離が困難と なり、第三者の作成したアプリケーションプログラムによりシステムのデータ等が取得 される可能性がある。
[0063] 一方、本発明によると、同一のコンテンツ、コンポーネント又はアプリケーションプロ グラムを呼び出す場合であっても、呼び出し元のフレームに表示されるコンテンツが 属するドメインを切り替えることにより、処理内容を変える、或いはアプリケーションプ ログラム間でのデータ漏洩を防ぐといったことができるようになる。例えば、同一のテ キストェデイタであっても、「domainl」のコンテンツとして実行する場合と、「domain 2」のコンテンツとして実行する場合とで動作が異なるようにすることができる。
[0064] このときの処理を変えるための権限設定は、コンテンツに対して、ドメインによって、 例えば起動する読み取り以外のコマンドの実行を制限したり、コンポーネントに対して 、ドメインによって、例えば、コンポーネントの実行を制限したりする等の設定が可能 であり、力かる設定を許可するか否かを所定の設定ファイルに記憶することができる。 (その他の実施形態)
[0065] ユーザ Aの使用するデスクトップ画面が属するドメインを「main. visionarts. com」 とする。また、 DNSのゾーンファイルの設定により、 3つのドメイン「subdomainl. vis ionarts. com」、「subdomain2. visionarts. com」及び「subdomain3. visionart s. com」が予め用意されているとする。本実施形態では、パーミッション情報ファイル において、コンテンツ識別子及びドメイン識別子「main. visionarts. com」の組合せ に関連付けられたパーミッション識別子は、「読み込み」「書き込み」「実行」が可能と なっている。したがって、ドメイン識別子「main. visionarts. com」に対応するドメイ ンにおいて、コンテンツ情報ファイル、コマンド情報ファイル及びパーミッション情報フ アイル等の編集が許可される。もちろん、ここではすべて「visionarts. com」のサブド メインとし 力 使つドメインには、「xxx. or. jp」、「yyy. jp」と ヽつた「visionarts. co mjとは別のドメインを指定してもよ!/、。
[0066] ユーザ Aは、他者が作成したアプリケーションプログラム「apll」の試用版をダウン口 ードし、所定のアプリドメインマネージャー(GUI)から、それを「subdomain3. vision arts. com」から実行するように変更することができる。すなわち、情報提供システム 2 0の CPUは、アプリドメインマネージャー(GUI)を通じて、コンテンツ識別子としての「 apll」と、ドメイン識別子としての「subdomain3. visionarts. com」を端末装置 10か ら受信する。そして、情報提供システム 20の CPUは、受信したコンテンツ識別子とし ての「apll」と、ドメイン識別子としての「subdomain3. visionarts. com」とを関連付 けてコンテンツ情報ファイルに格納する。ここで、ユーザ Aは、必要に応じてドメイン情 報ファイルを更新し、「subdomain3. visionarts. com」で実行できるコマンドを変更 してちよい。
[0067] ユーザ Aは、しばらく使用してみて信頼できるアプリケーションだと判断した場合に、 アプリドメインマネージャから、アプリケーションプログラム「apll」を、「subdomainl. visionarts. com」から実行できるものと変更することができる。すなわち、情報提供 システム 20の CPUは、アプリドメインマネージャー(GUI)を通じて、コンテンツ識別 子としての「apll」と、ドメイン識別子としての「subdomainl. visionarts. com」を端 末装置 10力も受信する。そして、情報提供システム 20の CPUは、受信したコンテン ッ識別子としての「apll」と、ドメイン識別子としての「subdomainl. visionarts. co m」とを関連付けてコンテンツ情報ファイルに格納する。あるいは、ユーザ Aは、アプリ ドメインマネージャー(GUI)を通じて、ドメイン情報ファイルを更新し、「subdomain3 . visionarts. com」で実行できるコマンドを変更してもよい。
[0068] これによると、同一コンテンツを起動する場合であっても、起動するドメインに応じて コンテンツのパーミッションを変更することができる。
[0069] ここで、本発明は、上記実施形態に限られない。例えば、一つの情報提供システム に割り当てるドメインのエイリアスは、分離設定したい権限の数だけ用意してもよい。 また、コンテンツとしてのドキュメントが当該コンテンツを表示する所定のコマンドゃァ プリケーシヨンプログラムと関連付けられている場合において、当該コンテンツの属す るドメインに応じて当該コマンドやアプリケーションプログラムの実行を制限して、コン テンッの表示を制御してもよい。さらに、コンテンツの拡張子に対応する各ドメイン毎 での実行権限を設定できるようにしてもょ 、。
図面の簡単な説明
[0070] [図 1]本実施形態のコンピュータシステムの全体構成を示すブロック図である。
[図 2]端末の構成図である。
[図 3]情報提供システムの構成図である。
[図 4]コマンド情報ファイルの構造図である。
[図 5]パーミッション情報ファイルの構造図である。
[図 6]第一の実施形態における、端末装置及び情報提供システムのフローチャートで ある。
[図 7]第一のコンテンツとしてのデスクトップ画面を表示する処理における、端末装置 及び情報提供システムのフローチャートである。
[図 8]第二のコンテンツとしてのアプリケーション画面を表示する処理における、端末 装置及び情報提供システムのフローチャートである。
[図 9]図 8のフローチャートの続きである。
[図 10]デスクトップ画面の一例を示す構成図である。
[図 11]アプリケーション画面をインラインフレームに表示するデスクトップ画面の一例 を示す構成図である。
[図 12]コマンド情報ファイルの構造図である。
[図 13]コンテンツ情報ファイルの構造図である。 符号の説明
〇 端末装置
11 ノ ス
12 CPU (処理手段)
13 RAM (記憶手段)
14 ROM (記憶手段)
15 NIC (通信手段)
16 キーボード (入力手段)
17 マウス (入力手段)
18 ディスプレイ(表示手段)
19 HDD (記憶手段)
20 情報提供システム
21 ノ ス
22 CPU (処理手段)
23 RAM (記憶手段)
24 ROM (記憶手段)
25 NIC (通信手段)
26 HDD (記憶手段)
30 インターネット(通信ネットワーク)
31 アプリケーションプログラムを起動するためのアイコン

Claims

請求の範囲
[1] 記憶手段、通信手段及び処理手段を備えた情報提供システムに用いられるコマン ド実行プログラムであって、
前記記憶手段に、
前記情報提供システムに対するコマンドを識別するコマンド識別子と、ドメインを識 別するドメイン識別子とを関連付けて記憶すると共に、
前記処理手段に、
(a)コマンドの実行要求と共に、当該コマンドのコマンド識別子と、当該コマンドを呼 び出したコンテンツが属するドメインのドメイン識別子とを、外部の端末装置から前記 通信手段を介して受信するステップと、
(b)前記受信したコマンド識別子に関連付けられたドメイン識別子を前記記憶手段か ら読み出すステップと、
(c)前記 aステップで受信したドメイン識別子と、前記 bステップで読み出したドメイン 識別子とが同一である場合に、前記受信したコマンド識別子に対応するコマンドを実 行するステップと、
を実行させることを特徴としたコマンド実行プログラム。
[2] 前記 cステップ力 前記 aステップで受信したドメイン識別子と、前記 bステップで読 み出したドメイン識別子とが同一でない場合に、前記受信したコマンド識別子に対応 するコマンドを実行するステップであることを特徴とした請求項 1記載のコマンド実行 プログラム。
[3] 記憶手段、通信手段及び処理手段を備えた情報提供システムに用いられるコマン ド実行プログラムであって、
前記記憶手段に、
前記情報提供システムに対するコマンドを識別するコマンド識別子及び当該コマン ドを実行するドメインを識別するドメイン識別子の組合せと、当該コマンドの実体とを 関連付けて記憶すると共に、
前記処理手段に、
(a)コマンドの実行要求と共に、当該コマンドのコマンド識別子と、当該コマンドを呼 び出したコンテンツが属するドメインのドメイン識別子とを、外部の端末装置から前記 通信手段を介して受信するステップと、
(b)前記受信したコマンド識別子及び前記受信したドメイン識別子の組合せに関連 付けられたコマンドの実体を前記記憶手段力 読み出すステップと、
(C)前記読み出したコマンドの実体に基づいてコマンドを実行するステップと、 を実行させることを特徴としたコマンド実行プログラム。
端末装置と、自身のドメインのエイリアスを複数備えた情報提供システムとが通信ネ ットワークに接続されたコンピュータシステムで用いられるコンテンツの実行方法であ つて、
前記情報提供システムが、
コンテンツを識別するコンテンツ識別子と、前記エイリアスを識別するドメイン識別子 とを関連付けて記憶するための記憶手段を備え、
前記端末装置の処理手段が、
(a)コンテンツの実行要求と共に、当該コンテンツのコンテンツ識別子を情報提供シ ステムに送信するステップを実行し、
前記情報提供システムの処理手段が、
(b)コンテンツの実行要求と共に、当該コンテンツのコンテンツ識別子を前記端末装 置力 受信するステップと、
(c)前記受信したコンテンツ識別子に関連付けられたドメイン識別子を前記記憶手段 から読み出すステップと、
(d)前記受信したコンテンツ識別子及び前記読み出したドメイン識別子に基づ 、て、 コンテンツのアドレスを生成するステップと、
(e)前記生成したコンテンツのアドレスを前記端末装置に送信するステップと、を実行 し、
前記端末装置の処理手段が、
(f)前記生成したコンテンツのアドレスを前記情報提供システム力 受信するステップ と、
(g)当該受信したアドレスのドメインで、当該アドレスに対応するコンテンツを取得す るステップと、
(h)当該取得したコンテンッを実行するステップと、
を実行することを特徴としたコンテンツの実行方法。
前記記憶手段にぉ 、て、前記コンテンツを識別するコンテンツ識別子に関連付け て記憶する前記エイリアスを識別するドメイン識別子は、前記通信ネットワークを通じ て前記端末装置力 提供されるものであることを特徴とした請求項 4記載のコンテン ッの実行方法。
PCT/JP2007/061839 2006-06-12 2007-06-12 コマンド実行プログラム及びコマンド実行方法 WO2007145222A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008521221A JP4893740B2 (ja) 2006-06-12 2007-06-12 コマンド実行プログラム及びコマンド実行方法
US12/304,205 US8732189B2 (en) 2006-06-12 2007-06-12 Command execution program and command execution method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006162932 2006-06-12
JP2006-162932 2006-06-12

Publications (1)

Publication Number Publication Date
WO2007145222A1 true WO2007145222A1 (ja) 2007-12-21

Family

ID=38831737

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/061839 WO2007145222A1 (ja) 2006-06-12 2007-06-12 コマンド実行プログラム及びコマンド実行方法

Country Status (3)

Country Link
US (1) US8732189B2 (ja)
JP (1) JP4893740B2 (ja)
WO (1) WO2007145222A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115115688A (zh) * 2022-05-31 2022-09-27 荣耀终端有限公司 一种图像处理方法及电子设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501399B2 (en) * 2011-02-04 2016-11-22 Kabushiki Kaisha Toshiba Memory system capable of controlling wireless communication function
JP5372049B2 (ja) 2011-02-04 2013-12-18 株式会社東芝 メモリシステム
US10009288B2 (en) 2015-12-30 2018-06-26 Go Daddy Operating Company, LLC Registrant defined prerequisites for registering a tertiary domain
US10129210B2 (en) * 2015-12-30 2018-11-13 Go Daddy Operating Company, LLC Registrant defined limitations on a control panel for a registered tertiary domain
US10387854B2 (en) 2015-12-30 2019-08-20 Go Daddy Operating Company, LLC Registering a tertiary domain with revenue sharing
KR102509821B1 (ko) 2017-09-18 2023-03-14 삼성전자주식회사 Oos 문장을 생성하는 방법 및 이를 수행하는 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175471A (ja) * 1997-12-15 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> Url書き換え方法と装置およびurl書き換えプログラムを記録した媒体
JP2005531975A (ja) * 2002-06-29 2005-10-20 サムスン エレクトロニクス カンパニー リミテッド インタラクティブモードでのフォーカシング方法、その装置及び情報貯蔵媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04288655A (ja) * 1991-03-18 1992-10-13 Fuji Xerox Co Ltd ユーザインタフェース・システム
US6381602B1 (en) * 1999-01-26 2002-04-30 Microsoft Corporation Enforcing access control on resources at a location other than the source location
JP2003085140A (ja) * 2001-09-13 2003-03-20 Yokogawa Electric Corp クライアント認証方法
JP2003242119A (ja) 2002-02-20 2003-08-29 Pfu Ltd ユーザ認証サーバおよびその制御プログラム
US7130951B1 (en) * 2002-04-18 2006-10-31 Advanced Micro Devices, Inc. Method for selectively disabling interrupts on a secure execution mode-capable processor
JP4564756B2 (ja) * 2002-04-18 2010-10-20 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド セキュア実行モードで動作し得るプロセッサを含むコンピュータシステムの初期化方法
US7620630B2 (en) * 2003-11-12 2009-11-17 Oliver Lloyd Pty Ltd Directory system
US10417298B2 (en) * 2004-12-02 2019-09-17 Insignio Technologies, Inc. Personalized content processing and delivery system and media
US7668830B2 (en) * 2004-11-29 2010-02-23 Nokia Corporation Access rights
JP3845106B2 (ja) * 2005-03-14 2006-11-15 株式会社エヌ・ティ・ティ・ドコモ 携帯端末、及び、認証方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175471A (ja) * 1997-12-15 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> Url書き換え方法と装置およびurl書き換えプログラムを記録した媒体
JP2005531975A (ja) * 2002-06-29 2005-10-20 サムスン エレクトロニクス カンパニー リミテッド インタラクティブモードでのフォーカシング方法、その装置及び情報貯蔵媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115115688A (zh) * 2022-05-31 2022-09-27 荣耀终端有限公司 一种图像处理方法及电子设备

Also Published As

Publication number Publication date
US20110213794A1 (en) 2011-09-01
US8732189B2 (en) 2014-05-20
JP4893740B2 (ja) 2012-03-07
JPWO2007145222A1 (ja) 2009-11-05

Similar Documents

Publication Publication Date Title
US9418218B2 (en) Dynamic rendering of a document object model
US11272030B2 (en) Dynamic runtime interface for device management
CA2753545C (en) Authenticating an auxiliary device from a portable electronic device
JP2000508153A (ja) ネットワーク・コンピュータに関する汎用のユーザ認証方法
US20030065951A1 (en) Information providing server, terminal apparatus, control method therefor, and information providing system
US20090077468A1 (en) Method of switching internet personas based on url
JP5404030B2 (ja) 電子ファイル送信方法
EP2642718B1 (en) Dynamic rendering of a document object model
JP4893740B2 (ja) コマンド実行プログラム及びコマンド実行方法
JP2008527475A (ja) 複数のコンフィギュレーションを有する装置内におけるコンフィギュレーションの使用法
JP2002334056A (ja) ログイン代行システム及びログイン代行方法
EP1855178B1 (en) A method and apparatus for assigning access control levels in providing access to networked content files
WO2010136317A1 (fr) Procédé de navigation sur le réseau internet, support d&#39;enregistrement, serveur d&#39;accès et poste d&#39;utilisateur pour la mise en oeuvre de ce procédé
US20160036840A1 (en) Information processing apparatus and program
KR101934148B1 (ko) 정보 처리 단말 및 브라우저 스토리지 관리 방법
JP4675921B2 (ja) 情報処理システム及びコンピュータプログラム
Cisco Sample SESM Web Applications
JP4415594B2 (ja) サーバ装置、サーバ装置用プログラムおよびサーバ装置の情報処理方法
JP5840180B2 (ja) 電子ファイル送信方法
JP2004112499A (ja) セキュアな社内ネットワークを拡張するためのサーバ及び方法
JP2002116972A (ja) 情報閲覧方法及びシステム並びに情報閲覧用プログラムを記憶した記憶媒体
JP2012027660A (ja) セキュリティを強化するプログラム、処理方法、ユーザ端末
KR20070089970A (ko) 다중 구성들을 구비한 장치에서 구성들의 사용
KR20030012285A (ko) 사용자 단말기용 웹브라우저와 그 구동방법 및 웹브라우징서비스 시스템
JP2011048703A (ja) 電子機器の動作設定方法、および電子機器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07745126

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008521221

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07745126

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12304205

Country of ref document: US