WO2019225474A1 - サービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラム - Google Patents
サービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラム Download PDFInfo
- Publication number
- WO2019225474A1 WO2019225474A1 PCT/JP2019/019516 JP2019019516W WO2019225474A1 WO 2019225474 A1 WO2019225474 A1 WO 2019225474A1 JP 2019019516 W JP2019019516 W JP 2019019516W WO 2019225474 A1 WO2019225474 A1 WO 2019225474A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- api
- providing server
- service providing
- processing
- mashup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Definitions
- the present invention provides a service providing system, a service providing server, a service providing method, and a service providing for receiving and processing a mashup API processing request that specifies a plurality of APIs and API processing order from an application execution device that executes the application. Regarding the program.
- the component providing server performs a part of application processing is widespread.
- the component providing server is also called an enabler, and provides a specific function to at least one application.
- an application transmits an API processing request specifying a required argument (parameter) to a service providing server that accommodates a plurality of component providing servers.
- the service providing server transmits the necessary argument transmitted from the application to the component providing server that executes the API according to the transmitted processing request, receives the processing result from the component providing server, and returns it to the application.
- APIs may be processed according to one processing request of the application.
- the API that is mashed up in this way is called a mashup API.
- the type and order of APIs to be executed are defined in advance between the application developer and the service providing server.
- Patent Document 1 discloses a process in a case where an application calls a single API instead of a mashup API.
- Patent Document 1 when concealing a plurality of mashup APIs for API processing, the method described in Patent Document 1 may not be used.
- an output item of an API processed first may become an input item of an API processed later. If the output items of each API are uniformly encrypted, the mashup API may not be processed properly.
- an object of the present invention is to provide a service providing system, a service providing server, a service providing method, and a service providing program for appropriately concealing a plurality of mashup APIs for API processing.
- a first feature of the present invention is a service for receiving and processing a processing request of a mashup API that specifies a plurality of APIs and processing order of APIs from an application execution device that executes the application.
- the provision system receives a mashup API processing request from an application execution apparatus, and causes a component providing server to execute a plurality of APIs specified by the mashup API in a processing order.
- a component providing server that receives an API processing request from the service providing server, processes the API, and returns a processing response to the service providing server is provided.
- the service providing server includes an encryption target API specifying unit that receives an instruction to encrypt the mashup API, and a plurality of APIs specified by the mashup API and the processing order of the APIs.
- the output item referred to by the API is designated as non-encrypted, and the output item referenced by the subsequent API generates the encryption target item data designated as the encryption target, and the encryption target item notified to the component providing server
- the processing unit receives a mashup API processing request from the notification unit and the application execution device, causes the component providing server to execute a plurality of APIs specified by the mashup API in the processing order, and based on the processing response from the component providing server , AP that creates and sends a process response to be sent to the application execution device It comprises a processing unit.
- the component providing server receives an encryption target item acquisition unit that acquires encryption target item data from the service providing server, receives an API processing request from the service providing server, processes the API, and outputs the processed API output items,
- An API processing unit is provided that encrypts an output item specified as an encryption target in the encryption target item data, generates a processing response, and returns the processing response to the service providing server.
- the service providing server further includes an encryption key obtaining unit that obtains encryption key data for generating encrypted data that can be decrypted by the application execution device, and an encryption key providing unit that provides the encryption key data to the component providing server.
- the API processing unit may encrypt the output item designated as the encryption target with the encryption key data.
- a second feature of the present invention is that a service providing server used in a service providing system that receives and processes a plurality of APIs and processing requests of APIs that specify the processing order of APIs from an application execution device that executes the application.
- the service providing system receives a mashup API processing request from the application execution apparatus, and causes the component providing server to execute a plurality of APIs specified by the mashup API in the processing order.
- a providing server and a component providing server that receives an API processing request from the service providing server, processes the API, and returns a processing response to the service providing server.
- the service providing server includes an encryption target API specifying unit that receives an instruction to encrypt the mashup API, and a plurality of APIs specified by the mashup API and the processing order of the APIs.
- the output item referred to by the API is designated as non-encrypted, and the output item referenced by the subsequent API generates the encryption target item data designated as the encryption target, and the encryption target item notified to the component providing server
- the processing unit receives a mashup API processing request from the notification unit and the application execution device, causes the component providing server to execute a plurality of APIs specified by the mashup API in the processing order, and based on the processing response from the component providing server , AP that creates and sends a process response to be sent to the application execution device It comprises a processing unit.
- a third feature of the present invention is a service providing method used in a service providing system for receiving and processing a mashup API processing request that specifies a plurality of APIs and API processing order from an application execution device that executes the application.
- the service providing system receives a processing request for the mashup API from the application execution device, and provides a plurality of APIs specified by the mashup API in the processing order, as described later.
- a service providing server to be executed by the server, and a component providing server that receives an API processing request from the service providing server, processes the API, and returns a processing response to the service providing server.
- the service providing server receives an instruction to encrypt the mashup API, and the service providing server outputs a plurality of APIs specified by the mashup API and the processing order of the APIs.
- the output item referred to by the subsequent API is designated as non-encryption target
- the output item referenced by the subsequent API is generated as encryption target item data designated as the encryption target
- the component providing server acquires the encryption target item data from the service providing server, and the service providing server receives the mashup API processing request from the application execution device and is identified by the mashup API.
- the component providing server receives the API processing request from the service providing server, processes the API, and among the processed API output items, the output item specified as the encryption target in the encryption target item data
- a process response is generated by encrypting the process response, a process response is returned to the service providing server, and the service response server creates a process response to be transmitted to the application execution device based on the process response from the component providing server. The step of transmitting.
- the fourth feature of the present invention relates to a service providing program for causing a computer to function as the service providing server described in the second feature of the present invention.
- a service providing system a service providing server, a service providing method, and a service providing program that appropriately conceal a plurality of mashup APIs for API processing.
- FIG. 1 It is a system configuration figure of an application providing system concerning an embodiment of the invention. It is a sequence diagram explaining the service provision method in the application provision system which concerns on embodiment of this invention.
- an application developer is an example of a screen for designating a mashup API used in an application and the presence / absence of encryption. It is a figure explaining an example of the presence or absence of the encryption of the output item by each API which comprises mashup API in the service provision system which concerns on embodiment of this invention. It is a figure explaining the specification of the mashup API used in the example shown in FIG.
- Application providing system 9 With reference to FIG. 1, an application providing system 9 in which the service providing server 1 according to the embodiment of the present invention is used will be described.
- the application providing system 9 includes a service providing system 5 including the service providing server 1, a first application execution device 6a, a second application execution device 6b, and an application developer terminal 7.
- the service providing system 5, the first application execution device 6a, the second application execution device 6b, and the application developer terminal 7 are connected to be communicable with each other via a communication network 8 such as the Internet.
- the application execution device 6 when the first application execution device 6a and the second application execution device 6b are not distinguished, the application execution device 6 may be simply described. Although two application execution apparatuses 6 are illustrated in FIG. 1, the application providing system 9 may include one or more application execution apparatuses 6.
- the application execution device 6 is a terminal that requests an API process including a mashup API from the service providing system 5 and executes an application that receives the processing result.
- the processing result of the application execution device 6 may be provided to another terminal (not shown).
- the application developer terminal 7 is a terminal used by a developer who develops an application to be executed by the application execution device 6.
- the application developer terminal 7 determines the definition of the mashup API with the service providing system 5 when developing an application to be executed by the application execution device 6.
- the application developer terminal 7 acquires an identifier (APL key or APL_ID) for identifying an application using the API by the service providing system 5 from the service providing system 5.
- an identifier for identifying the application is set.
- the service providing system 5 receives and processes mashup API processing requests specifying the processing order of a plurality of APIs from the application execution device 6 that executes the application.
- the service providing system 5 includes a service providing server 1, a first component providing server 2 a, a second component providing server 2 b, and a service providing manager terminal 3.
- the service providing server 1, the first component providing server 2a, the second component providing server 2b, and the service providing administrator terminal 3 are connected to each other via a communication network 4 such as a LAN (Local Area Network).
- a communication network 4 such as a LAN (Local Area Network).
- FIG. 1 shows two component providing servers 2, but in the embodiment of the present invention, it is sufficient that the service providing system 5 can execute a plurality of APIs constituting one mashup API. Does not matter.
- the service providing server 1 receives a processing request from the application execution device 6 and causes the component providing server 2 accommodated in the service providing server 1 to execute a predetermined API process according to the processing request.
- the service providing server 1 returns the processing result by the component providing server 2 to the application execution device 6.
- the service providing server 1 according to the embodiment of the present invention receives a processing request for a mashup API from the application execution device 6, and a plurality of APIs specified by the mashup API are processed in this processing order in the component providing server 2 To run.
- the service providing server 1 further creates an API according to the API scenario used in the application according to instructions from the service providing manager terminal 3 and the application developer terminal 7, and defines an identifier (API key) of the mashup API.
- the service providing server 1 pays out to the application developer terminal 7 an APL key for the service providing server 1 to identify the application.
- the service providing server 1 outputs the output items to be encrypted and the encryption of the output items of each component providing server 2 for the mashup API executed by the application prior to the execution of the application. The key is notified to each component providing server 2.
- the component providing server 2 receives the API processing request from the service providing server 1, processes the API, and returns a processing response to the service providing server 1.
- the component providing server 2 encrypts output items designated in advance by the service providing server 1 when transmitting the processing result to the service providing server 1.
- the component providing server 2 may execute a plurality of APIs with one server.
- the service provision manager terminal 3 is a manager terminal that manages the service provision system 5.
- the service providing manager terminal 3 prepares a scenario describing the combination of APIs executed by the component providing server 2 and the processing order in the mashup API, and causes the service providing server 1 to read the scenario.
- a service providing method in the service providing system 5 shown in FIG. 1 will be described with reference to FIG.
- the process shown in FIG. 2 shows a process related to a predetermined application (A application).
- Steps S1 to S8 are preprocessing performed before the application execution device 6 executes this application.
- Steps S11 to S16 are processes when the application execution device 6 executes this application.
- step S1 the service providing manager terminal 3 causes the service providing server 1 to read the scenario.
- the mashup API data specifying the API and the processing order of the API are specified.
- an identifier (mashup API key) of the mashup API is specified.
- step S2 the service providing server 1 analyzes the API and API calling order according to the scenario transmitted in step S1, and defines a mashup API.
- step S3 the application developer terminal 7 designates the API used in the application and the API for encrypting the output among the API used in the application to the service providing server 1.
- the service providing server 1 displays the developer portal screen shown in FIG. 3 on the application developer terminal 7.
- the developer portal screen allows the application developer to specify the type of mashup API used in the A application and whether to encrypt the output of the mashup API.
- the A application specifies that each mashup API of apiMashupA and apiMashupC is used, that the output of apiMashupA is encrypted, and that the output of apiMashupC is not encrypted.
- the service providing server 1 holds the content specified in step S3. Although only the mashup API is described in the example shown in FIG. 3, a single API that is not mashed up may also be displayed.
- step S4 the application developer terminal 7 transmits to the service providing server 1 an encryption key that can be decrypted by the application designated in step S3.
- the service providing server 1 stores an application identifier and an encryption key in association with each other. Further, in step S5, the service providing server 1 pays out an APL key for the service providing server 1 to identify the application designated in step S3, and transmits it to the application developer terminal 7.
- step S6 the service providing server 1 generates the encryption target API data 12 and the encryption target item data E according to the designation in step S3 for the identifier of the mashup API used in the application.
- the encryption target API data 12 includes an identifier (mashup API key) of a mashup API that requires encryption among mashup APIs handled by the service providing server 1 and an identifier (APL key) of an application that calls the API.
- the encryption target item data E is data for specifying an output item to be encrypted in the API processing result in the component providing server 2 that executes each API constituting the mashup API.
- the encryption target item data E is generated for each component providing server 2.
- step S7 and step S8 the service providing server 1 transmits the encryption key received in step S4 and the encryption target item data E generated in step S6 to each component providing server 2.
- step S11 the application execution device 6 transmits a mashup API processing request to the service providing server 1 during application execution.
- This processing request includes an identifier of the mashup API (mashup API key) and an identifier of this application (APL key). Further, it is assumed that the mashup API requested here is an encryption target.
- the service providing server 1 When the service providing server 1 receives the processing request from the application execution device 6, the service providing server 1 causes the component providing server 2 to execute each API constituting the mashup API specified by the mashup API key. When the APIs are executed in order of the first component providing server 2a and the second component providing server 2b, the service providing server 1 requests the first component providing server 2a to process the mashup API. And a processing response is received in step S13. In step S14, the service providing server 1 transmits a processing request to the second component providing server 2b, and receives a processing response in step S15.
- the processing response is composed of a plurality of output items.
- output items that are input for subsequent processing are output in plain text
- output items that are not input for subsequent processing are output after being encrypted with the encryption key received in step S4.
- the first component providing server 2a does not encrypt the output items included in the processing request transmitted in step S14.
- the first component providing server 2a processes the output items not included in the processing request transmitted in step S14 by encrypting them. Include in response.
- the second component providing server 2b that executes the last API encrypts each output item of the API and includes it in the processing response.
- the service providing server 1 transmits a processing response to the processing request received in step S11 in step S16 based on the processing response received in steps S13 and S15.
- Each output item included in this processing response is encrypted by the component providing server 2.
- the service providing system 5 generates a process response appropriately encrypted for each output item even when executing a plurality of APIs in the mashup API, and sends the response to the application execution device 6. Can return.
- the arguments of the mashup API of the API key “apiMashupA” are the items of key_a and key_b, and the return values are the items of attr_a, attr_b, attr_c, and attr_d.
- the application execution device 6 sets values of value_a and value_b in key_a and key_b, respectively, and requests execution of the mashup API.
- This mashup API is composed of three APIs as shown in FIGS.
- the API of (1) is “GET / api / v1 / enabler1APIa”
- the API of (2) is “POST / api / v1 / enabler1APIb”
- the API of (3) is “POST / api / v1 / enabler2APIa ”.
- apiMashupA executes APIs in the order of (1), (2), and (3).
- the APIs (1) and (2) are APIs provided by the first component providing server 2a
- the API (3) is an API provided by the second component providing server 2b.
- API is a GET function. There is no value set as an argument of the API of (1).
- the value value_c of attr_c and the value value_d of attr_d are set as the return value of the API of (1).
- (2) API is a POST function.
- the value value_a of key_a and the value value_c of key_c are set.
- the value_a of key_a is an argument of apiMashupAPI.
- the value_c of key_c is the value value_c of attr_c of the return value of the API of (1).
- the value value_a ′ of attr_a and the value value_c ′ of attr_c are set as the return value of the API of (2).
- API is a POST function.
- the key_a value value_a ′, the key_b value value_b, and the key_d value value_d are set as arguments of the API of (3).
- the value_a ′ of key_a is the value value_a ′ of attr_a that is the return value of (2).
- the value_b of key_b is an argument of apiMashupAPI.
- the value_d of key_d is the value value_d of attr_d that is the return value of the API of (1).
- the value value_a ′′ of attr_a, the value value_b ′ of attr_b, and the value value_d ′ of attr_d are set as the return value of the API of (3).
- the return values of the mashup API of the API key “apiMashupA” are items of attr_a, attr_b, attr_c, and attr_d, as shown in FIG.
- the service providing server 1 sets values value_a ′′, value_b ′, value_c ′, and value_d ′ in the respective items of attr_a, attr_b, attr_c, and attr_d as a result of the processing of the APIs (1) to (3).
- the service providing server 1 excludes output items referred to in the subsequent API from among the output items of each API and the subsequent API.
- the output items referred to in are to be encrypted.
- an underlined value indicates that encryption is performed, and an underlined value indicates that encryption is not performed.
- the API of (2) Since the return value value_a ′ of the API of (2) is an argument of the API of the subsequent (3), the API of (2) outputs the plaintext without encrypting the value_a ′. Since the return value value_c ′ of (2) API is not used in the subsequent API, the API of (2) encrypts and outputs value_c ′.
- the API return values value_a ′′, value_b ′, and value_d ′ in (3) are not used in subsequent APIs without a subsequent API, the APIs in (3) are value_a ′′, value_b ′, and value_d ′. Are encrypted and output.
- FIG. 6 and FIG. 7 show an example of a data sequence diagram in the data example shown in FIG.
- an underlined value indicates that encryption is performed
- an underlined value indicates that encryption is not performed.
- step S51 the application execution device 6 transmits data D1.
- This data D1 is for requesting execution of the mashup API of the API key “apiMashupA” as shown in the request line.
- the value value_a is set in the argument key_a
- the value value_b is set in the argument key_b. Is set.
- an APL key (APL_ID) for identifying the application that is the transmission source of this mashup API is set.
- An APL key (APL_ID) is set in each response header of each data transmitted and received by the service providing server 1.
- the service providing server 1 When the service providing server 1 receives the data D1, the service providing server 1 causes each component providing server 2 to perform processing according to the mashup API of the API key “apiMashupA”.
- step S52 the service providing server 1 transmits data D2 for requesting processing of GET / api / v1 / enabler1APIa to the first component providing server 2a.
- data D2 there is no value set as an argument.
- the first component providing server 2a performs the processing of GET / api / v1 / enabler1APIa according to the data D2, and returns the result data D3 to the service providing server 1 in step S53.
- a value value_c of attr_c is set as a return value
- a value value_d of attr_d is set. Since the return values value_c and value_d are input to the subsequent API, none of them is encrypted.
- step S54 the service providing server 1 transmits data D4 requesting processing of POST IV / api / v1 / enabler1APIb to the first component providing server 2a.
- data D4 a value value_a of key_a and a value value_c of key_c are set.
- the first component providing server 2a performs the processing of POST / api / v1 / enabler1APIb according to the data D4, and returns the result data D5 to the service providing server 1 in step S55.
- the value value_a ′ of attr_a and the value value_c ′ of attr_c are set as return values.
- value_a ′ is not encrypted because it is used in the subsequent API, but value_c ′ is encrypted because it is not used in the subsequent API.
- step S56 the service providing server 1 transmits data D6 requesting processing of POST IV / api / v1 / enabler2APIa to the second component providing server 2b.
- data D6 key_a value value_a ′, key_b value value_b, and key_d value value_d are set.
- the second component providing server 2b performs processing of POST IV / api / v1 / enabler2APIa according to the data D6, and returns the result data D7 to the service providing server 1 in step S57.
- the value value_a ′′ of attr_a, the value value_b ′ of attr_b, and the value value_d ′ of attr_d are set as return values.
- value_a ′′, value_b ′, and value_d ′ are encrypted because they are not used in the subsequent API.
- the service providing server 1 transmits data D8 to the application execution device 6 in step S58.
- items of attr_a value value_a ′′, attr_b value value_b ′, attr_c value value_c ′ and attr_d value value_d ′ are set as return values. Further, each value_a ′′, value_b ′, value_c ′ and value_d ′ are encrypted.
- the service providing server 1 With reference to FIG. 8, the service providing server 1 according to the embodiment of the present invention will be described. As described with reference to FIGS. 4 to 7, the service providing server 1 has a function for controlling each component providing server 2 to encrypt a given output item, as described with reference to FIGS. 4 to 7.
- the service providing server 1 is a general computer including a storage device 10, a processing device 30, and a communication control device 50.
- the functions shown in FIG. 8 are realized by a general computer executing the service providing program.
- the storage device 10 is a ROM (Read Only Memory), a RAM (Random Access memory), a hard disk or the like, and stores various data such as input data, output data, and intermediate data for the processing device 30 to execute processing.
- the processing device 30 is a CPU (Central Processing Unit) and executes processing in the service providing server 1 by reading and writing data stored in the storage device 10 and inputting and outputting data to and from the communication control device 50. To do.
- the communication control device 50 is an interface for connecting to the component providing server 2, the service providing manager terminal 3, the application execution device 6, the application developer terminal 7, and the like.
- the storage device 10 stores encryption key data P, API definition data 11, encryption target API data 12, and encryption target item data E.
- the encryption key data P is encryption key data for generating encryption data that can be decrypted by the application execution device 6.
- the encryption key data P is an encryption key paired with the secret key of the application execution device 6 in the case of public key encryption, and the same encryption key as the encryption key of the application execution device 6 in the case of common key encryption.
- the encryption key data P may be any data as long as it generates encrypted data that can be decrypted by the application execution device 6.
- the API definition data 11 is data used by the service providing server 1 to process the mashup API. For example, it includes information such as an identifier of an API processed by the mashup API, an argument, a return value, an identifier of the component providing server 2 that accommodates the API, and a processing order.
- the encryption target API data 12 is data indicating whether or not to encrypt an application identifier and a mashup API called by the application. As illustrated in FIG. 9, the encryption target API data 12 is data in which a mashup API identifier, a mashup API name, an application identifier, an encryption flag, a scenario, and the like are associated with each other. For the mashup API identifier and application identifier whose encryption flag is set to True, when the mashup API is called from the application, the service providing server 1 encrypts the output items of the mashup API. The returned data is set and returned to the application execution device 6.
- the encryption target item data E in accordance with the processing order of a plurality of APIs and APIs specified by the mashup API, among the output items of each API, the output item referred to in the subsequent API is designated as not subject to encryption, and the subsequent The output item referred to by the API is data specified as an encryption target.
- the encryption target item data E is generated for each component providing server 2 and designates whether or not the output items of the API executed by the component providing server 2 are to be encrypted.
- the encryption target item data E is set so that each output item of the mashup API called from the application is encrypted and returned to the application.
- the encryption target item data E is, for example, data shown in FIG. 10, and associates an application identifier, a mashup API identifier, an API, and output item encryption.
- FIG. 10A shows encryption target item data Ea for the first component providing server 2a
- FIG. 10B shows encryption target item data Eb for the second component providing server 2b.
- the output items attr_c and attr_d are both encrypted. Indicates that the data will be output without conversion.
- the second line indicates that when the mashup API identifier apiMashupA is called from the application identifier APL_A and enablerAPIb is executed, the output item attr_a is output without being encrypted, and attr_c is output after being encrypted.
- the encryption target item data E may be data described in the JSON format as shown in FIG. 11, for example.
- FIG. 11A shows encryption target item data Ea for the first component providing server 2a
- FIG. 11B shows encryption target item data Eb for the second component providing server 2b.
- the encryption target item data E is generated in a data format that can be read by the component providing server 2.
- the processing device 30 includes an encryption key processing unit 31, a scenario processing unit 34, and an API processing unit 38.
- the encryption key processing unit 31 includes an encryption key obtaining unit 32 and an encryption key providing unit 33.
- the encryption key acquisition unit 32 acquires, from the application developer terminal 7, encryption key data P that generates encrypted data that can be decrypted by the application execution device 6.
- the acquired encryption key data P is stored in the storage device 10.
- the encryption key providing unit 33 provides the encryption key data P to the component providing server 2.
- the encryption key providing unit 33 provides the encryption key data P to at least the component providing server 2 that executes the API that requires encryption.
- the scenario processing unit 34 includes a scenario analysis unit 35, an encryption target API designation unit 36, and an encryption target item notification unit 37.
- the scenario analysis unit 35 analyzes the scenario input from the service providing manager terminal 3 and generates the API definition data 11.
- the encryption target API specifying unit 36 receives an instruction to encrypt the mashup API from the application developer terminal 7. For example, the encryption target API specifying unit 36 displays the screen shown in FIG. 3 on the application developer terminal 7 and receives an API used in the mashup API and an instruction on whether or not to output the output item of the API. . The encryption target API specifying unit 36 generates the encryption target API data 12 according to the instruction from the application developer terminal 7 and stores it in the storage device 10.
- the encryption target item notification unit 37 designates an output item referred to in the subsequent API among the output items of each API as out of encryption target in accordance with the processing order of the APIs and APIs specified by the mashup API, An output item referred to in the subsequent API generates encryption target item data E designated as an encryption target.
- the encryption target item notification unit 37 further notifies the component providing server 2 of the generated encryption target item data E.
- the encryption target item notification unit 37 causes each component providing server 2 to process a plurality of APIs specified by the mashup API in a predetermined order.
- the output item to be encrypted is designated by the above, and the encryption target item data E is generated.
- the API processing unit 38 receives a mashup API processing request from the application execution device 6 and causes the component providing server 2 to execute a plurality of APIs specified by the mashup API in a predetermined processing order. A processing response to be transmitted to the application execution device 6 is created and transmitted based on the processing response from.
- the API processing unit 38 refers to the API definition data 11 and specifies information such as the component providing server that accommodates the API, the processing order, and arguments.
- the API processing unit 38 Since the output items included in the processing response of the encryption target mashup API are each encrypted by the component providing server 2, the API processing unit 38 outputs the processing response including the encrypted output item to the application execution device 6. Can be sent to.
- the component providing server 2 is a general computer that includes a storage device 110, a processing device 120, and a communication control device 130.
- the functions shown in FIG. 12 are realized by a general computer executing the component providing program.
- the storage device 110 is a ROM (Read Only Memory), a RAM (Random Access memory), a hard disk or the like, and stores various data such as input data, output data, and intermediate data for the processing device 120 to execute processing.
- the processing device 120 is a CPU (Central Processing Unit) and executes processing in the service providing server 1 by reading / writing data stored in the storage device 110 and inputting / outputting data to / from the communication control device 130. To do.
- the communication control device 130 is an interface for connecting to the service providing server 1 or the like.
- Storage device 110 stores encryption target item data E and encryption key data P.
- the encryption target item data E and the encryption key data P are data provided from the service providing server 1 and are as described with reference to FIG.
- the processing device 120 includes an encryption target item acquisition unit 121, an encryption key acquisition unit 122, and an API processing unit 123.
- the encryption target item acquisition unit 121 acquires the encryption target item data E from the service providing server 1 and stores it in the storage device 110.
- the encryption target item data E specifies the output items that need to be encrypted among the output items of the API for the API processed by the component providing server 2, the mashup API and the application associated with the API. .
- the encryption key acquisition unit 122 acquires the encryption key data P from the service providing server 1 and stores it in the storage device 110.
- the encryption key data P is prepared for each application associated with the API processed by the component providing server 2.
- the API processing unit 123 receives an API processing request from the service providing server 1, processes the API, generates a processing response, and returns the processing response to the service providing server 1.
- the API processing unit 123 includes an encryption processing unit 124.
- the encryption processing unit 124 encrypts, with the encryption key data P, the output item designated as the encryption target in the encryption target item data E among the output items of the API processed by the API processing unit 123.
- the API processing unit 123 encrypts the data of the item specified as the encryption target in the encryption target item data E, and generates a processing response without encrypting the data of the other items.
- the service providing system 5 it is possible to appropriately encrypt the output of a mashup API associated with a plurality of APIs and conceal it. Since the mashup API can be appropriately encrypted, the application can call the mashup API that needs to be concealed, and the number of API calls can be reduced.
- the service providing server described in the embodiment of the present invention may be configured on a single piece of hardware as shown in FIG. 8, or may be configured on a plurality of pieces of hardware according to the functions and the number of processes. May be.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
サービス提供サーバ1は、マッシュアップAPIについて暗号化するとの指示を受信する暗号対象API指定部36と、暗号対象項目データEを生成して、部品提供サーバ2に通知する暗号対象項目通知部37と、アプリケーション実行装置6からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを所定の処理順序で、部品提供サーバ2に実行させるAPI処理部38を備える、部品提供サーバ2は、サービス提供サーバ1からAPIの処理リクエストを受信して、APIを処理し、処理したAPIの出力項目のうち、暗号対象項目データEで暗号化対象として指定された出力項目を暗号化して処理レスポンスを生成するAPI処理部123を備える。
Description
本発明は、アプリケーションを実行するアプリケーション実行装置から、複数のAPIとAPIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理するサービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラムに関する。
一般的に、アプリケーションの処理の一部を、部品提供サーバが担うシステムが普及している。部品提供サーバは、イネーブラとも呼ばれ、少なくとも一つのアプリケーションに、特定の機能を提供する。
このようなシステムにおいて、アプリケーションは、複数の部品提供サーバを収容するサービス提供サーバに、必要な引数(パラメータ)を指定したAPIの処理リクエストを送信する。サービス提供サーバは、送信された処理リクエストに従って、APIを実行する部品提供サーバに、アプリケーションから送信された必要な引数を送信し、その処理結果を、部品提供サーバから受信して、アプリケーションに返す。
またアプリケーションの一つの処理リクエストに従って、複数のAPIを処理する場合もある。このようにマッシュアップされたAPIは、マッシュアップAPIと称される。マッシュアップAPIは、実行されるAPIの種類および順序などが、予めアプリケーション開発者とサービス提供サーバとの間で定義される。
またアプリケーションが送信または受信するデータの秘匿化が必要になる場合がある。例えば特許文献1に記載のシステムにおいて、アプリケーションは、予め指定された暗号化キーを用いてAPIのパラメータを暗号化して部品提供サーバに送信する。さらに部品提供サーバは、予め指定された暗号化キーを用いて処理結果を暗号化して、アプリケーションに送信する。なお特許文献1は、マッシュアップAPIではなく、アプリケーションが、単一のAPIを呼び出す場合の処理を開示する。
しかしながら、複数のAPI処理するマッシュアップAPIについて秘匿化するに際し、特許文献1に記載の方法を用いることができない場合がある。
例えば、マッシュアップAPIにおいて複数のAPIを所定の処理順序で実行するに際し、先に処理されるAPIの出力項目が、後に処理されるAPIの入力項目となる場合がある。各APIの出力項目を一律に暗号化すると、マッシュアップAPIを適切に処理できない場合がある。
従って本発明の目的は、複数のAPI処理するマッシュアップAPIについて適切に秘匿化するサービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラムを提供することである。
上記課題を解決するために、本発明の第1の特徴は、アプリケーションを実行するアプリケーション実行装置から、複数のAPIとAPIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理するサービス提供システムに関する。本発明の第1の特徴に係るサービス提供システムは、アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
サービス提供サーバからAPIの処理リクエストを受信して、APIを処理し、サービス提供サーバに処理レスポンスを返す部品提供サーバを備える。サービス提供サーバは、マッシュアップAPIについて暗号化するとの指示を受信する暗号対象API指定部と、マッシュアップAPIが特定する複数のAPIとAPIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、部品提供サーバに通知する暗号対象項目通知部と、アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを処理順序で、部品提供サーバに実行させ、部品提供サーバからの処理レスポンスに基づいて、アプリケーション実行装置に送信する処理レスポンスを作成して送信するAPI処理部を備える。部品提供サーバは、サービス提供サーバから暗号対象項目データを取得する暗号対象項目取得部と、サービス提供サーバからAPIの処理リクエストを受信して、APIを処理し、処理したAPIの出力項目のうち、暗号対象項目データで暗号化対象として指定された出力項目を暗号化して処理レスポンスを生成して、サービス提供サーバに処理レスポンスを返すAPI処理部を備える。
サービス提供サーバは、アプリケーション実行装置が復号可能な暗号データを生成する暗号鍵データを取得する暗号鍵取得部と、暗号鍵データを部品提供サーバに提供する暗号鍵提供部をさらに備え、部品提供サーバのAPI処理部は、暗号鍵データで、暗号化対象として指定された出力項目を暗号化しても良い。
本発明の第2の特徴は、アプリケーションを実行するアプリケーション実行装置から、複数のAPIとAPIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供サーバに関する。本発明の第2の特徴においてサービス提供システムは、アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、サービス提供サーバからAPIの処理リクエストを受信して、APIを処理し、サービス提供サーバに処理レスポンスを返す部品提供サーバを備える。サービス提供サーバは、マッシュアップAPIについて暗号化するとの指示を受信する暗号対象API指定部と、マッシュアップAPIが特定する複数のAPIとAPIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、部品提供サーバに通知する暗号対象項目通知部と、アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを処理順序で、部品提供サーバに実行させ、部品提供サーバからの処理レスポンスに基づいて、アプリケーション実行装置に送信する処理レスポンスを作成して送信するAPI処理部を備える。
本発明の第3の特徴は、アプリケーションを実行するアプリケーション実行装置から、複数のAPIとAPIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供方法に関する。本発明の第3の特徴に係るサービス提供方法においてサービス提供システムは、アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、サービス提供サーバからAPIの処理リクエストを受信して、APIを処理し、サービス提供サーバに処理レスポンスを返す部品提供サーバを備える。サービス提供方法は、サービス提供サーバが、マッシュアップAPIについて暗号化するとの指示を受信するステップと、サービス提供サーバが、マッシュアップAPIが特定する複数のAPIとAPIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、部品提供サーバに通知するステップと、部品提供サーバが、サービス提供サーバから暗号対象項目データを取得するステップと、サービス提供サーバが、アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを処理順序で、部品提供サーバに実行させるステップと、部品提供サーバが、サービス提供サーバからAPIの処理リクエストを受信して、APIを処理し、処理したAPIの出力項目のうち、暗号対象項目データで暗号化対象として指定された出力項目を暗号化して処理レスポンスを生成して、サービス提供サーバに処理レスポンスを返すステップと、サービス提供サーバが、部品提供サーバからの処理レスポンスに基づいて、アプリケーション実行装置に送信する処理レスポンスを作成して送信するステップを備える。
本発明の第4の特徴は、コンピュータに、本発明の第2の特徴に記載のサービス提供サーバとして機能させるためのサービス提供プログラムに関する。
本発明によれば、複数のAPI処理するマッシュアップAPIについて適切に秘匿化するサービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラムを提供することができる。
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
(アプリケーション提供システム)
図1を参照して、本発明の実施の形態に係るサービス提供サーバ1が用いられるアプリケーション提供システム9を説明する。
図1を参照して、本発明の実施の形態に係るサービス提供サーバ1が用いられるアプリケーション提供システム9を説明する。
アプリケーション提供システム9は、サービス提供サーバ1を備えるサービス提供システム5、第1のアプリケーション実行装置6a、第2のアプリケーション実行装置6bおよびアプリ開発者端末7を備える。サービス提供システム5、第1のアプリケーション実行装置6a、第2のアプリケーション実行装置6bおよびアプリ開発者端末7は、インターネット等の通信ネットワーク8により相互に通信可能に接続される。
本発明の実施の形態において第1のアプリケーション実行装置6aおよび第2のアプリケーション実行装置6bを区別しない場合、単にアプリケーション実行装置6と記載する場合がある。図1には2つのアプリケーション実行装置6を記載するが、アプリケーション提供システム9は、1つ以上のアプリケーション実行装置6を備えれば良い。
アプリケーション実行装置6は、マッシュアップAPIを含むAPIの処理をサービス提供システム5にリクエストして、その処理結果を受信するアプリケーションを実行する端末である。アプリケーション実行装置6の処理結果は、さらに他の端末(図示せず)に提供される場合もある。
アプリ開発者端末7は、アプリケーション実行装置6で実行されるアプリケーションを開発する開発者が用いる端末である。アプリ開発者端末7は、アプリケーション実行装置6に実行させるアプリケーションの開発時に、マッシュアップAPIの定義を、サービス提供システム5との間で決定する。その際、アプリ開発者端末7は、サービス提供システム5がこれらのAPIを用いるアプリケーションを識別するための識別子(APLキーまたはAPL_ID)を、サービス提供システム5から取得する。アプリケーションがAPIをサービス提供システム5に送信する際、アプリケーションを識別するための識別子が設定される。
サービス提供システム5は、アプリケーションを実行するアプリケーション実行装置6から、複数のAPIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理する。サービス提供システム5は、サービス提供サーバ1、第1の部品提供サーバ2a、第2の部品提供サーバ2bおよびサービス提供管理者端末3を備える。サービス提供サーバ1、第1の部品提供サーバ2a、第2の部品提供サーバ2bおよびサービス提供管理者端末3は、LAN(Local Area Network)などの通信ネットワーク4により相互に通信可能に接続される。
本発明の実施の形態において第1の部品提供サーバ2aおよび第2の部品提供サーバ2bを区別しない場合、単に部品提供サーバ2と記載する場合がある。図1には2つの部品提供サーバ2を記載するが、本発明の実施の形態において、サービス提供システム5が一つのマッシュアップAPIを構成する複数のAPIを実行できればよく、部品提供サーバ2の数は問わない。
サービス提供サーバ1は、アプリケーション実行装置6から処理リクエストを受信し、処理リクエストに従って、サービス提供サーバ1が収容する部品提供サーバ2に、所定のAPIの処理を実行させる。サービス提供サーバ1は、部品提供サーバ2による処理結果を、アプリケーション実行装置6に返す。本発明の実施の形態に係るサービス提供サーバ1は特に、アプリケーション実行装置6からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIをこの処理順序で、部品提供サーバ2に実行させる。
サービス提供サーバ1はさらに、サービス提供管理者端末3およびアプリ開発者端末7からの指示に従って、アプリケーションで用いるAPIシナリオに従って、APIを作成し、マッシュアップAPIの識別子(APIキー)を定義する。サービス提供サーバ1は、アプリ開発者端末7に、サービス提供サーバ1がアプリケーションを識別するためのAPLキーを払い出す。また本発明の実施の形態においてサービス提供サーバ1は、アプリケーションの実行に先だって、アプリケーションで実行されるマッシュアップAPIについて、各部品提供サーバ2の出力項目のうち、暗号化すべき出力項目とその暗号化キーを、各部品提供サーバ2に通知する。
部品提供サーバ2は、サービス提供サーバ1からAPIの処理リクエストを受信して、APIを処理し、サービス提供サーバ1に処理レスポンスを返す。本発明の実施の形態において部品提供サーバ2は、処理結果をサービス提供サーバ1に送信する際、予めサービス提供サーバ1によって指定された出力項目を暗号化する。部品提供サーバ2は、1つのサーバで複数のAPIを実行しても良い。
サービス提供管理者端末3は、サービス提供システム5を管理する管理者の端末である。サービス提供管理者端末3は、マッシュアップAPIにおいて部品提供サーバ2が実行するAPIの組み合わせおよび処理順序等を記載したシナリオを準備し、サービス提供サーバ1に読み込ませる。
図2を参照して、図1に示すサービス提供システム5におけるサービス提供方法を説明する。図2に示す処理は、所定のアプリケーション(Aアプリ)に関する処理を示す。ステップS1ないしステップS8は、アプリケーション実行装置6がこのアプリケーションを実行する前に行う前処理である。ステップS11ないしステップS16は、アプリケーション実行装置6がこのアプリケーションを実行する際の処理である。
まずステップS1においてサービス提供管理者端末3は、シナリオをサービス提供サーバ1に読み込ませる。このシナリオは、マッシュアップAPIについて、APIを特定するデータと、そのAPIの処理順序を指定する。またシナリオにおいて、マッシュアップAPIの識別子(マッシュアップAPIキー)が特定される。
ステップS2においてサービス提供サーバ1は、ステップS1で送信されたシナリオに従って、APIとAPIの呼出順序を解析し、マッシュアップAPIを定義する。
ステップS3においてアプリ開発者端末7は、サービス提供サーバ1に対して、アプリケーションで用いるAPIと、アプリケーションで用いるAPIのうち出力を暗号化するAPIを指定する。例えばサービス提供サーバ1は、アプリ開発者端末7に図3に示す開発者ポータル画面を表示する。開発者ポータル画面は、アプリ開発者に、Aアプリにおいて用いるマッシュアップAPIの種別と、そのマッシュアップAPIの出力を暗号するか否かを指定させる。図3に示す例では、Aアプリでは、apiMashupAと、apiMashupCの各マッシュアップAPIを使うことと、apiMashupAの出力を暗号化し、apiMashupCの出力を暗号化しないことが指定されている。サービス提供サーバ1は、ステップS3で指定された内容を保持する。なお図3に示す例では、マッシュアップAPIのみ記載しているが、マッシュアップされていない単一のAPIも表示しても良い。
ステップS4においてアプリ開発者端末7は、ステップS3で指定されたアプリケーションで復号可能な暗号鍵を、サービス提供サーバ1に送信する。サービス提供サーバ1は、アプリケーションの識別子と、暗号鍵を対応づけて保持する。さらにステップS5においてサービス提供サーバ1は、ステップS3で指定されたアプリケーションをサービス提供サーバ1が識別するためのAPLキーを払い出し、アプリ開発者端末7に送信する。
ステップS6においてサービス提供サーバ1は、アプリケーションで用いられるマッシュアップAPIの識別子について、ステップS3における指定に従って、暗号対象APIデータ12と、暗号対象項目データEを生成する。暗号対象APIデータ12は、サービス提供サーバ1が扱うマッシュアップAPIのうち、暗号化が必要となるマッシュアップAPIの識別子(マッシュアップAPIキー)と、そのAPIを呼び出すアプリケーションの識別子(APLキー)を対応づけるデータである。暗号対象項目データEは、マッシュアップAPIを構成する各APIを実行する部品提供サーバ2において、APIの処理結果において、暗号化するべき出力項目を特定するデータである。暗号対象項目データEは、部品提供サーバ2毎に生成される。
ステップS7およびステップS8においてサービス提供サーバ1は、ステップS4で受信した暗号鍵と、ステップS6で生成した暗号対象項目データEを、各部品提供サーバ2に送信する。
ステップS11においてアプリケーション実行装置6は、アプリケーション実行中に、マッシュアップAPIの処理リクエストをサービス提供サーバ1に送信する。この処理リクエストには、マッシュアップAPIの識別子(マッシュアップAPIキー)と、このアプリケーションの識別子(APLキー)を含む。またここでリクエストされるマッシュアップAPIは、暗号化対象であるとする。
サービス提供サーバ1は、アプリケーション実行装置6から処理リクエストを受信すると、マッシュアップAPIキーで特定されるマッシュアップAPIを構成する各APIを、部品提供サーバ2に実行させる。マッシュアップAPIを、第1の部品提供サーバ2aおよび第2の部品提供サーバ2bの順で、それぞれAPIを実行させる場合、ステップS12においてサービス提供サーバ1は、第1の部品提供サーバ2aに処理リクエストを送信して、ステップS13において処理レスポンスを受信する。ステップS14においてサービス提供サーバ1は、第2の部品提供サーバ2bに処理リクエストを送信して、ステップS15において処理レスポンスを受信する。
本発明の実施の形態において処理レスポンスは、複数の出力項目により構成される。複数の出力項目のうち、後続の処理の入力になる出力項目については平文で出力され、後続の処理の入力にならない出力項目については、ステップS4で受信した暗号鍵で暗号化されて出力される。例えばステップS13でサービス提供サーバ1が受信する処理レスポンスを構成する出力項目のうち、ステップS14で送信する処理リクエストに含まれる出力項目について、第1の部品提供サーバ2aは、暗号化せずに平文で処理レスポンスに含ませる。一方、ステップS13でサービス提供サーバ1が受信する処理レスポンスを構成する出力項目のうち、ステップS14で送信する処理リクエストに含まれない出力項目について、第1の部品提供サーバ2aは、暗号化して処理レスポンスに含ませる。また、最後のAPIを実行する第2の部品提供サーバ2bは、APIの各出力項目を暗号化して処理レスポンスに含ませる。
サービス提供サーバ1は、ステップS13およびステップS15で受信した処理レスポンスに基づいて、ステップS16において、ステップS11で受信した処理リクエストに対する処理レスポンスを送信する。この処理レスポンスに含まれる各出力項目は、部品提供サーバ2によって暗号化される。
このように本発明の実施の形態に係るサービス提供システム5は、マッシュアップAPIにおいて複数のAPIを実行する場合でも、各出力項目について適切に暗号化した処理レスポンスを生成し、アプリケーション実行装置6に返すことができる。
図4ないし図7を参照して、サービス提供サーバ1と部品提供サーバ2とのデータ送受信を詳述する。ここでは、所定のアプリケーションで呼び出された、暗号化対象のマッシュアップAPI(APIキー:”apiMashupA”)について説明する。
APIキー”apiMashupA”のマッシュアップAPIの引数は、図4に示すように、key_aおよびkey_bの各項目であり、返り値は、attr_a、attr_b、attr_cおよびattr_dの各項目である。アプリケーション実行装置6は、key_aおよびkey_bには、それぞれvalue_aおよびvalue_bの値を設定して、マッシュアップAPIの実行をリクエストする。
このマッシュアップAPIは、図4および図5に示すように、3つのAPIにより構成される。(1)のAPIは、”GET /api/v1/enabler1APIa”で、(2)のAPIは、”POST /api/v1/enabler1APIb”で、(3)のAPIは、”POST /api/v1/enabler2APIa”である。apiMashupAは、(1)、(2)および(3)の順にAPIを実行する。(1)および(2)のAPIは、第1の部品提供サーバ2aが提供するAPIで、(3)のAPIは、第2の部品提供サーバ2bが提供するAPIである。
まず、APIキー”apiMashupA”のマッシュアップAPIについて、引数key_aに値value_aが設定され、引数key_bに値value_bが設定されてリクエストされた場合に、各APIが処理する場合を説明する。
(1)のAPIは、GET関数である。(1)のAPIの引数として設定される値はない。第1の部品提供サーバ2aが(1)のAPIを実行すると、(1)のAPIの返り値として、attr_cの値value_cと、attr_dの値value_dが設定される。
(2)のAPIは、POST関数である。(2)のAPIの引数として、key_aの値value_aと、key_cの値value_cが設定される。key_aの値value_aは、apiMashupAPIの引数である。key_cの値value_cは、(1)のAPIの返り値のattr_cの値value_cである。第1の部品提供サーバ2aが(2)のAPIを実行すると、(2)のAPIの返り値として、attr_aの値value_a’と、attr_cの値value_c’が設定される。
(3)のAPIは、POST関数である。(3)のAPIの引数として、key_aの値value_a’と、key_bの値value_bと、key_dの値value_dが設定される。key_aの値value_a’は、(2)の返り値であるattr_aの値value_a’である。key_bの値value_bは、apiMashupAPIの引数である。key_dの値value_dは、(1)のAPIの返り値であるattr_dの値value_dである。第2の部品提供サーバ2bが(3)のAPIを実行すると、(3)のAPIの返り値として、attr_aの値value_a’’、 attr_bの値value_b’およびattr_dの値value_d’が設定される。
APIキー”apiMashupA”のマッシュアップAPIの返り値は、図4に示すように、attr_a、attr_b、attr_cおよびattr_dの各項目である。サービス提供サーバ1は、(1)ないし(3)の各APIの処理の結果、attr_a、attr_b、attr_cおよびattr_dの各項目に、それぞれ値value_a’’、value_b’、value_c’およびvalue_d’を設定して、アプリケーション実行装置6に返す。
このようなマッシュアップAPIについて本発明の実施の形態に係るサービス提供サーバ1は、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外とするとともに、後続のAPIで参照される出力項目は暗号化対象とする。なお、図4等において、下線が付された値は、暗号化されていることを示し、下線が付されていない値は、暗号化されていないことを示す。
図4に示す例において、(1)のAPIの返り値value_cは、後続の(2)のAPIの引数となるので、(1)のAPIは、value_cを暗号化しないで平文のまま出力する。同様に(1)のAPIの返り値value_dは、後続の(3)のAPIの引数となるので、(1)のAPIは、value_dを暗号化しないで平文のまま出力する。
(2)のAPIの返り値value_a’は、後続の(3)のAPIの引数となるので、(2)のAPIは、value_a’を暗号化しないで平文のまま出力する。(2)のAPIの返り値value_c’は、後続のAPIで用いられないので、(2)のAPIは、value_c’を暗号化して出力する。
(3)のAPIの返り値value_a’’、value_b’およびvalue_d’はそれぞれ、後続のAPIがなく後続のAPIで用いられないので、(3)のAPIは、value_a’’、value_b’およびvalue_d’をそれぞれ暗号化して出力する。
図6および図7を参照して、図4に示すデータ例におけるデータのシーケンス図の一例を示す。図6および図7において、下線が付された値は、暗号化されていることを示し、下線が付されていない値は、暗号化されていないことを示す。
まずステップS51においてアプリケーション実行装置6は、データD1を送信する。このデータD1は、リクエストラインに示すように、APIキー”apiMashupA”のマッシュアップAPIの実行をリクエストするもので、ボディに示すように、引数key_aに値value_aが設定され、引数key_bに値value_bが設定される。またデータD1のリクエストヘッダには、このマッシュアップAPIの送信元のアプリケーションを識別するAPLキー(APL_ID)が設定される。なおサービス提供サーバ1が送受信する各データの各レスポンスヘッダにおいて、APLキー(APL_ID)が設定される。
サービス提供サーバ1は、データD1を受信すると、APIキー”apiMashupA”のマッシュアップAPIに従って、各部品提供サーバ2に処理をさせる。
まずステップS52においてサービス提供サーバ1は、GET /api/v1/enabler1APIaの処理を要求するデータD2を、第1の部品提供サーバ2aに送信する。データD2において、引数として設定される値はない。
第1の部品提供サーバ2aは、データD2に従ってGET /api/v1/enabler1APIaの処理を行い、ステップS53においてその結果のデータD3をサービス提供サーバ1に返す。データD3において、返り値として、attr_cの値value_cが設定され、attr_dの値value_dが設定される。この返り値の値value_cおよびvalue_dは、後続のAPIの入力になるためいずれも暗号化されない。
ステップS54においてサービス提供サーバ1は、POST /api/v1/enabler1APIbの処理を要求するデータD4を、第1の部品提供サーバ2aに送信する。データD4において、key_aの値value_aと、key_cの値value_cが設定される。
第1の部品提供サーバ2aは、データD4に従ってPOST /api/v1/enabler1APIbの処理を行い、ステップS55においてその結果のデータD5をサービス提供サーバ1に返す。データD5において、返り値として、attr_aの値value_a’およびattr_cの値value_c’が設定される。ここでvalue_a’は、後続のAPIで用いられるので暗号化されないが、value_c’は、後続のAPIで用いられないので暗号化される。
ステップS56においてサービス提供サーバ1は、POST /api/v1/enabler2APIaの処理を要求するデータD6を、第2の部品提供サーバ2bに送信する。データD6において、key_aの値value_a’と、key_bの値value_bと、key_dの値value_dが設定される。
第2の部品提供サーバ2bは、データD6に従ってPOST /api/v1/enabler2APIaの処理を行い、ステップS57においてその結果のデータD7をサービス提供サーバ1に返す。データD7において、返り値として、attr_aの値value_a’’、 attr_bの値value_b’およびattr_dの値value_d’が設定される。ここでvalue_a’’、value_b’およびvalue_d’は、後続のAPIで用いられないので暗号化される。
サービス提供サーバ1が、ステップS52ないしステップS57において、マッシュアップAPIを実行した結果、ステップS58においてデータD8をアプリケーション実行装置6に送信する。データD8において、返り値としてattr_aの値value_a’’、attr_bの値value_b’、attr_cの値value_c’およびattr_dの値value_d’の各項目が設定される。また各value_a’’、value_b’、value_c’およびvalue_d’は、それぞれ暗号化される。
(サービス提供サーバ)
図8を参照して、本発明の実施の形態に係るサービス提供サーバ1を説明する。サービス提供サーバ1は、一般的な機能とともに、図4ないし図7を参照して説明したように、各部品提供サーバ2が所与の出力項目を暗号化できるように制御する機能を実装する。
図8を参照して、本発明の実施の形態に係るサービス提供サーバ1を説明する。サービス提供サーバ1は、一般的な機能とともに、図4ないし図7を参照して説明したように、各部品提供サーバ2が所与の出力項目を暗号化できるように制御する機能を実装する。
サービス提供サーバ1は、記憶装置10、処理装置30および通信制御装置50を備える一般的なコンピュータである。一般的なコンピュータがサービス提供プログラムを実行することにより、図8に示す機能を実現する。
記憶装置10は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置30が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置30は、CPU(Central Processing Unit)であって、記憶装置10に記憶されたデータを読み書きしたり、通信制御装置50とデータを入出力したりして、サービス提供サーバ1における処理を実行する。通信制御装置50は、部品提供サーバ2、サービス提供管理者端末3、アプリケーション実行装置6およびアプリ開発者端末7等と接続するためのインタフェースである。
記憶装置10は、暗号鍵データP、API定義データ11、暗号対象APIデータ12および暗号対象項目データEを記憶する。
暗号鍵データPは、アプリケーション実行装置6が復号可能な暗号データを生成するための暗号鍵のデータである。暗号鍵データPは、公開鍵暗号の場合、アプリケーション実行装置6が有する秘密鍵とペアの暗号鍵であり、共通鍵暗号の場合、アプリケーション実行装置6が有する暗号鍵と同じ暗号鍵である。暗号鍵データPは、アプリケーション実行装置6が復号可能な暗号データを生成するものであれば、どのようなものでも良い。
API定義データ11は、サービス提供サーバ1が、マッシュアップAPIを処理するために用いられるデータである。例えば、マッシュアップAPIで処理されるAPIの識別子、引数、戻り値、そのAPIを収容する部品提供サーバ2の識別子等の情報、処理順序等を含む。
暗号対象APIデータ12は、アプリケーションの識別子と、そのアプリケーションが呼び出すマッシュアップAPIについて、暗号化するか否かを示すデータである。暗号対象APIデータ12は、図9に示すように、マッシュアップAPI識別子、マッシュアップAPI名、アプリ識別子、暗号化フラグおよびシナリオ等を対応づけたデータである。暗号化フラグがTrueに設定されたマッシュアップAPI識別子およびアプリ識別子について、そのアプリから、そのマッシュアップAPIが呼び出された際に、サービス提供サーバ1は、そのマッシュアップAPIの出力項目について暗号化されたデータを設定してアプリケーション実行装置6に返す。
暗号対象項目データEは、マッシュアップAPIが特定する複数のAPIとAPIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定するデータである。暗号対象項目データEは、部品提供サーバ2毎に生成され、その部品提供サーバ2が実行するAPIの出力項目について、暗号化するか否かを指定する。暗号化対象項目データEは、アプリケーションから呼び出されるマッシュアップAPIの各出力項目が暗号化されてアプリケーションに返されるように設定される。
暗号対象項目データEは、例えば図10に示すデータであって、アプリ識別子、マッシュアップAPI識別子、APIおよび出力項目の暗号化を対応づける。図10(a)は、第1の部品提供サーバ2a向けの暗号対象項目データEaであって、図10(b)は、第2の部品提供サーバ2b向けの暗号対象項目データEbである。
第1の部品提供サーバ2a向けの暗号対象項目データEaの1行目は、アプリ識別子APL_Aから、マッシュアップAPI識別子apiMashupAが呼び出され、enablerAPIaを実行した際、その出力項目のattr_cおよびattr_dはともに暗号化せずに出力することを示す。2行目は、アプリ識別子APL_Aから、マッシュアップAPI識別子apiMashupAが呼び出され、enablerAPIbを実行した際、その出力項目のattr_aは暗号化せずに出力し、attr_cは暗号化して出力することを示す。一つのマッシュアップAPIにおいて、同一のAPIが複数回呼び出される場合、さらに、呼び出される回数を指定するカラムを設けて、回数ごとに出力項目の暗号化の要否を指定しても良い。
暗号対象項目データEは、例えば図11に示すようにJSON形式で記載されたデータであっても良い。図11(a)は、第1の部品提供サーバ2a向けの暗号対象項目データEaであって、図11(b)は、第2の部品提供サーバ2b向けの暗号対象項目データEbである。暗号対象項目データEは、部品提供サーバ2が読み取り可能なデータ形式で生成される。
処理装置30は、暗号鍵処理部31、シナリオ処理部34、API処理部38を備える。
暗号鍵処理部31は、暗号鍵取得部32と暗号鍵提供部33を備える。暗号鍵取得部32は、アプリ開発者端末7から、アプリケーション実行装置6が復号可能な暗号データを生成する暗号鍵データPを取得する。取得した暗号鍵データPは、記憶装置10に記憶される。暗号鍵提供部33は、暗号鍵データPを部品提供サーバ2に提供する。暗号鍵提供部33は、少なくとも、暗号化が必要なAPIを実行する部品提供サーバ2に、暗号鍵データPを提供する。
シナリオ処理部34は、シナリオ解析部35、暗号対象API指定部36および暗号対象項目通知部37を備える。
シナリオ解析部35は、サービス提供管理者端末3から入力されたシナリオを解析して、API定義データ11を生成する。
暗号対象API指定部36は、アプリ開発者端末7からマッシュアップAPIについて暗号化するとの指示を受信する。暗号対象API指定部36は、例えば図3に示す画面をアプリ開発者端末7に表示して、マッシュアップAPIで用いるAPIと、そのAPIの出力項目を暗号化するか否かの指示を受信する。暗号対象API指定部36は、アプリ開発者端末7からの指示に従って、暗号対象APIデータ12を生成し、記憶装置10に記憶する。
暗号対象項目通知部37は、マッシュアップAPIが特定する複数のAPIとAPIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定する暗号対象項目データEを生成する。暗号対象項目通知部37はさらに、生成した暗号対象項目データEを、部品提供サーバ2に通知する。暗号対象項目通知部37は、図4等を参照して説明したように、マッシュアップAPIで特定される複数のAPIを所定の順序で各部品提供サーバ2に処理させる際、各部品提供サーバ2で暗号化する出力項目を指定して、暗号対象項目データEを生成する。
API処理部38は、アプリケーション実行装置6からマッシュアップAPIの処理リクエストを受信し、マッシュアップAPIで特定される複数のAPIを所定の処理順序で、部品提供サーバ2に実行させ、部品提供サーバ2からの処理レスポンスに基づいて、アプリケーション実行装置6に送信する処理レスポンスを作成して送信する。API処理部38は、マッシュアップAPIのAPIを部品提供サーバ2に実行させる際、API定義データ11を参照して、そのAPIを収容する部品提供サーバ、処理順序、引数等の情報を特定する。
暗号対象のマッシュアップAPIの処理レスポンスに含まれる出力項目は、それぞれ部品提供サーバ2によって暗号化されるので、API処理部38は、暗号化された出力項目を含む処理レスポンスを、アプリケーション実行装置6に送信することができる。
(部品提供サーバ)
部品提供サーバ2は、記憶装置110、処理装置120および通信制御装置130を備える一般的なコンピュータである。一般的なコンピュータが部品提供プログラムを実行することにより、図12に示す機能を実現する。
部品提供サーバ2は、記憶装置110、処理装置120および通信制御装置130を備える一般的なコンピュータである。一般的なコンピュータが部品提供プログラムを実行することにより、図12に示す機能を実現する。
記憶装置110は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置120が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置120は、CPU(Central Processing Unit)であって、記憶装置110に記憶されたデータを読み書きしたり、通信制御装置130とデータを入出力したりして、サービス提供サーバ1における処理を実行する。通信制御装置130は、サービス提供サーバ1等と接続するためのインタフェースである。
記憶装置110は、暗号対象項目データEおよび暗号鍵データPを記憶する。暗号対象項目データEおよび暗号鍵データPは、サービス提供サーバ1から提供されるデータであって、図8等を参照して説明した通りである。
処理装置120は、暗号対象項目取得部121、暗号鍵取得部122およびAPI処理部123を備える。
暗号対象項目取得部121は、サービス提供サーバ1から暗号対象項目データEを取得して、記憶装置110に記憶する。暗号対象項目データEは、部品提供サーバ2が処理するAPI、このAPIに紐付くマッシュアップAPIおよびアプリケーションに対して、APIの出力項目のうち、暗号化の必要な出力項目を特定するものである。
暗号鍵取得部122は、サービス提供サーバ1から暗号鍵データPを取得して、記憶装置110に記憶する。暗号鍵データPは、部品提供サーバ2が処理するAPIに紐付くアプリケーション毎に用意される。
API処理部123は、サービス提供サーバ1からAPIの処理リクエストを受信して、APIを処理し、処理レスポンスを生成して、サービス提供サーバ1に処理レスポンスを返す。
本発明の実施の形態においてAPI処理部123は、暗号化処理部124を備える。暗号化処理部124は、API処理部123が処理したAPIの出力項目のうち、暗号対象項目データEで暗号化対象として指定された出力項目を、暗号鍵データPで暗号化する。API処理部123は、暗号対象項目データEで暗号化対象として指定された項目のデータを暗号化し、それ以外の項目のデータを暗号化することなく平文のままで、処理レスポンスを生成する。
このような本発明の実施の形態に係るサービス提供システム5によれば、複数のAPIを紐づけたマッシュアップAPIについても、その出力を適切に暗号化して、秘匿化することが可能になる。またマッシュアップAPIについて適切に暗号化することが可能であるので、アプリケーションから、秘匿化が必要なマッシュアップAPIを呼び出すことが可能になり、APIの呼出回数を削減することができる。
(その他の実施の形態)
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
例えば、本発明の実施の形態に記載したサービス提供サーバは、図8に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な請求の範囲に係る発明特定事項によってのみ定められるものである。
1 サービス提供サーバ
2 部品提供サーバ
3 サービス提供管理者端末
4、8 通信ネットワーク
5 サービス提供システム
6 アプリケーション実行装置
7 アプリ開発者端末
9 アプリケーション提供システム
10、110 記憶装置
11 API定義データ
12 暗号対象APIデータ
30、120 処理装置
31 暗号鍵処理部
32、122 暗号鍵取得部
33 暗号鍵提供部
34 シナリオ処理部
35 シナリオ解析部
36 暗号対象API指定部
37 暗号対象項目通知部
38 API処理部
50、130 通信制御装置
121 暗号対象項目取得部
124 暗号化処理部
E 暗号対象項目データ
P 暗号鍵データ
2 部品提供サーバ
3 サービス提供管理者端末
4、8 通信ネットワーク
5 サービス提供システム
6 アプリケーション実行装置
7 アプリ開発者端末
9 アプリケーション提供システム
10、110 記憶装置
11 API定義データ
12 暗号対象APIデータ
30、120 処理装置
31 暗号鍵処理部
32、122 暗号鍵取得部
33 暗号鍵提供部
34 シナリオ処理部
35 シナリオ解析部
36 暗号対象API指定部
37 暗号対象項目通知部
38 API処理部
50、130 通信制御装置
121 暗号対象項目取得部
124 暗号化処理部
E 暗号対象項目データ
P 暗号鍵データ
Claims (5)
- アプリケーションを実行するアプリケーション実行装置から、複数のAPIと前記APIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理するサービス提供システムであって、
前記アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、前記マッシュアップAPIで特定される複数のAPIを前記処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
前記サービス提供サーバからAPIの処理リクエストを受信して、前記APIを処理し、前記サービス提供サーバに処理レスポンスを返す部品提供サーバを備え、
前記サービス提供サーバは、
前記マッシュアップAPIについて暗号化するとの指示を受信する暗号対象API指定部と、
前記マッシュアップAPIが特定する複数のAPIと前記APIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、前記部品提供サーバに通知する暗号対象項目通知部と、
前記アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、前記マッシュアップAPIで特定される複数のAPIを前記処理順序で、前記部品提供サーバに実行させ、前記部品提供サーバからの処理レスポンスに基づいて、前記アプリケーション実行装置に送信する処理レスポンスを作成して送信するAPI処理部を備え、
前記部品提供サーバは、
前記サービス提供サーバから暗号対象項目データを取得する暗号対象項目取得部と、
前記サービス提供サーバからAPIの処理リクエストを受信して、前記APIを処理し、処理した前記APIの出力項目のうち、前記暗号対象項目データで暗号化対象として指定された出力項目を暗号化して前記処理レスポンスを生成して、前記サービス提供サーバに前記処理レスポンスを返すAPI処理部を備える
ことを特徴とするサービス提供システム。 - 前記サービス提供サーバは、
前記アプリケーション実行装置が復号可能な暗号データを生成する暗号鍵データを取得する暗号鍵取得部と、
前記暗号鍵データを前記部品提供サーバに提供する暗号鍵提供部
をさらに備え、
前記部品提供サーバのAPI処理部は、前記暗号鍵データで、暗号化対象として指定された出力項目を暗号化する
ことを特徴とする請求項1に記載のサービス提供システム。 - アプリケーションを実行するアプリケーション実行装置から、複数のAPIと前記APIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供サーバであって、
前記サービス提供システムは、
前記アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、前記マッシュアップAPIで特定される複数のAPIを前記処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
前記サービス提供サーバからAPIの処理リクエストを受信して、前記APIを処理し、前記サービス提供サーバに処理レスポンスを返す部品提供サーバを備え、
前記サービス提供サーバは、
前記マッシュアップAPIについて暗号化するとの指示を受信する暗号対象API指定部と、
前記マッシュアップAPIが特定する複数のAPIと前記APIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、前記部品提供サーバに通知する暗号対象項目通知部と、
前記アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、前記マッシュアップAPIで特定される複数のAPIを前記処理順序で、前記部品提供サーバに実行させ、前記部品提供サーバからの処理レスポンスに基づいて、前記アプリケーション実行装置に送信する処理レスポンスを作成して送信するAPI処理部を備える
ことを特徴とするサービス提供サーバ。 - アプリケーションを実行するアプリケーション実行装置から、複数のAPIと前記APIの処理順序を特定するマッシュアップAPIの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供方法であって、
前記サービス提供システムは、
前記アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、前記マッシュアップAPIで特定される複数のAPIを前記処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
前記サービス提供サーバからAPIの処理リクエストを受信して、前記APIを処理し、前記サービス提供サーバに処理レスポンスを返す部品提供サーバを備え、
前記サービス提供方法は、
前記サービス提供サーバが、前記マッシュアップAPIについて暗号化するとの指示を受信するステップと、
前記サービス提供サーバが、前記マッシュアップAPIが特定する複数のAPIと前記APIの処理順序に従って、各APIの出力項目のうち、後続のAPIで参照される出力項目は暗号化対象外として指定し、後続のAPIで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、前記部品提供サーバに通知するステップと、
前記部品提供サーバが、前記サービス提供サーバから暗号対象項目データを取得するステップと、
前記サービス提供サーバが、前記アプリケーション実行装置からマッシュアップAPIの処理リクエストを受信し、前記マッシュアップAPIで特定される複数のAPIを前記処理順序で、前記部品提供サーバに実行させるステップと、
前記部品提供サーバが、前記サービス提供サーバからAPIの処理リクエストを受信して、前記APIを処理し、処理した前記APIの出力項目のうち、前記暗号対象項目データで暗号化対象として指定された出力項目を暗号化して前記処理レスポンスを生成して、前記サービス提供サーバに前記処理レスポンスを返すステップと、
前記サービス提供サーバが、前記部品提供サーバからの処理レスポンスに基づいて、前記アプリケーション実行装置に送信する処理レスポンスを作成して送信するステップ
を備えることを特徴とするサービス提供方法。 - コンピュータを、請求項3に記載のサービス提供サーバとして機能させるためのサービス提供プログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018-096765 | 2018-05-21 | ||
| JP2018096765A JP2019204986A (ja) | 2018-05-21 | 2018-05-21 | サービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019225474A1 true WO2019225474A1 (ja) | 2019-11-28 |
Family
ID=68616676
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/019516 Ceased WO2019225474A1 (ja) | 2018-05-21 | 2019-05-16 | サービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2019204986A (ja) |
| WO (1) | WO2019225474A1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7403306B2 (ja) * | 2019-12-16 | 2023-12-22 | 株式会社日立製作所 | サーバ、データ処理方法、計算機システム及び計算機 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011211382A (ja) * | 2010-03-29 | 2011-10-20 | Hitachi Ltd | 暗号化装置、復号化装置、および経路探索システム |
| JP2013145506A (ja) * | 2012-01-16 | 2013-07-25 | Canon Inc | 権限委譲システム、アクセス管理サービスシステム、および権限委譲システムを制御する制御方法 |
-
2018
- 2018-05-21 JP JP2018096765A patent/JP2019204986A/ja active Pending
-
2019
- 2019-05-16 WO PCT/JP2019/019516 patent/WO2019225474A1/ja not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011211382A (ja) * | 2010-03-29 | 2011-10-20 | Hitachi Ltd | 暗号化装置、復号化装置、および経路探索システム |
| JP2013145506A (ja) * | 2012-01-16 | 2013-07-25 | Canon Inc | 権限委譲システム、アクセス管理サービスシステム、および権限委譲システムを制御する制御方法 |
Non-Patent Citations (1)
| Title |
|---|
| ATSUSHI NAKATSUGAWA: "Things to be aware of when mashing up multiple services, item of ''making data loosely coupled", NTT DEVELOPER, 17 March 2017 (2017-03-17), XP055657093, Retrieved from the Internet <URL:https://developer.ntt.com/ja/blog/d2b60d5d-963e-4f98-b695-96e744c4e361> [retrieved on 20190704] * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019204986A (ja) | 2019-11-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210073059A1 (en) | Method and system for managing and executing serverless functions in a messaging service | |
| US20210157938A1 (en) | Methods, media, apparatuses and computing devices of user data authorization based on blockchain | |
| CN108681662B (zh) | 一种安装程序的方法及装置 | |
| CN109067528B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
| US8650280B2 (en) | Monitoring distributed task execution using a chained text messaging system | |
| US9218173B2 (en) | System, method, and computer program product for collaboratively installing a computer application | |
| US11303729B2 (en) | Virtual workspace experience visualization and optimization | |
| CN112954050B (zh) | 分布式管理方法及装置、管理设备和计算机存储介质 | |
| US12254192B2 (en) | File encryption layer | |
| US20220405389A1 (en) | Image steganography detection | |
| US11716354B2 (en) | Determination of compliance with security technical implementation guide standards | |
| CN110377440A (zh) | 信息处理方法和装置 | |
| CN115238310A (zh) | 一种数据加密、解密方法、装置、设备及存储介质 | |
| CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
| CN111767550B (zh) | 数据存储方法和装置 | |
| US11838248B2 (en) | Managing and executing serverless function command sets in a messaging service | |
| WO2021088659A1 (zh) | 电子签章载入方法和装置 | |
| US12524283B2 (en) | Cryptographic agility through link layer abstraction | |
| WO2019225474A1 (ja) | サービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラム | |
| CN109218339B (zh) | 请求处理方法和装置 | |
| JP6666511B1 (ja) | 暗号通貨を避難するための装置、方法及びそのためのプログラム | |
| US12457195B2 (en) | Homomorphic encryption for web application firewall processing | |
| US12242593B1 (en) | Testing for unchanged passwords in IoT devices | |
| WO2021042715A1 (zh) | 用于开发智能合约的系统、方法和装置 | |
| CN113626848A (zh) | 样本数据生成方法、装置、电子设备及计算机可读介质 |
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: 19807595 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19807595 Country of ref document: EP Kind code of ref document: A1 |