EP4107905A1 - Method and device for controlling access to a function of an application registered in a blockchain - Google Patents

Method and device for controlling access to a function of an application registered in a blockchain

Info

Publication number
EP4107905A1
EP4107905A1 EP21710027.0A EP21710027A EP4107905A1 EP 4107905 A1 EP4107905 A1 EP 4107905A1 EP 21710027 A EP21710027 A EP 21710027A EP 4107905 A1 EP4107905 A1 EP 4107905A1
Authority
EP
European Patent Office
Prior art keywords
function
terminal
identifier
request
execution
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.)
Pending
Application number
EP21710027.0A
Other languages
German (de)
French (fr)
Inventor
Emmanuel Bertin
Julien HATIN
Baptiste HEMERY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
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 Orange SA filed Critical Orange SA
Publication of EP4107905A1 publication Critical patent/EP4107905A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • Title Method and device for controlling access to a function of an application registered in a blockchain.
  • the invention relates to the general field of telecommunications networks, and more specifically to blockchain technology.
  • each decentralized application present within the blockchain is composed of a binary code and an interface exposing methods that can be called, for example by a third party or by other applications.
  • a DApps also has a private data area that it will be able to modify depending on the processing carried out.
  • the business model of such a blockchain is essentially focused on the act of deploying the application. You have to "pay" to deploy the application, that is, pay the people who validate the application and create the block associated with validation at the blockchain level. In addition, people who want to use the application, for example by sending a request to complete a particular task, must also pay for each use according to a predetermined algorithm.
  • the invention improves on the state of the art and proposes a method for controlling access to a function of an application implemented by a device for controlling access to a function of an application, this control device. being registered in a chain of blocks, the method being characterized in that it comprises:
  • a step of sending a response to the access request comprising at least one parameter for accessing said at least one first function and at least one second identifier of at least one second function registered in said chain of blocks , said at least one second identifier being associated with said at least one parameter.
  • the invention proposes to use a blockchain to manage access to an application registered in a blockchain and more specifically to its function (s).
  • the present request is presented in the context of a "blockchain” in English “blockchain” but the expression “block chain” is to be understood as covering any type of DLT (in English Distributed Ledger Technology) capable of hosting decentralized applications known under the name of DApp (Decentralized Applications in English) of which the blockchains themselves constitute a particular element.
  • blockchain technology is a technology for storing and transmitting information without a control organ.
  • it is a distributed database whose information sent by users and internal links to the base are verified and grouped at regular time intervals in blocks, the whole being secured by cryptography, and thus forming chain.
  • a blockchain is a distributed database that maintains a list of records protected against tampering or modification by storage nodes; it is therefore a distributed and secure register of all transactions carried out since the start of the system.
  • Blockchains are characterized in particular in that their content cannot be modified or deleted: information that is published (that is, recorded or saved) in a blockchain remains forever.
  • the invention offers a new mechanism in which, when a request for access to a function of an application registered in a blockchain is sent by a user terminal, the device executing the method access control system then sends back a response with an access parameter associated with the function, such as for example a tariff option and an identifier of a second function, such as a payment function associated with the option.
  • an access parameter associated with the function such as for example a tariff option and an identifier of a second function, such as a payment function associated with the option.
  • this embodiment makes it possible to specify to a user the conditions of access and use of a function registered in a chain of blocks.
  • function is meant a portion of computer code representing a computer subroutine, which performs a particular task or calculation.
  • the function identifier is for example the name given by the programmer when creating it or the signature of the function including parameters.
  • a terminal identifier is understood to mean a sequence of characters that uniquely identifies the terminal such as a MAC address, an IP address, a serial number (eg an IMEI) or a cryptographic key.
  • the identifier of the terminal can also be an identifier of the user entered by the latter via a user interface of the terminal such as a graphical or voice interface, and making it possible to uniquely identify the user of the terminal.
  • the identifier can for example be an e-mail address, an identity card number, a subscriber number, etc.
  • a method as described above is characterized in that the sending step is followed by a first step of publishing in said chain of blocks, said identifier of said first terminal , at least one datum associated with the receiving step and at least one datum associated with the sending step.
  • This publication in the blockchain is carried out to store and share information related to the reception and transmission stages such as the date and time of reception and transmission of requests, elements received or sent such as for example the identifier of the terminal, or the result of processing carried out by the device.
  • a method as described above is characterized in that the emission step is followed:
  • this embodiment allows the user to execute the second function such as for example a payment function allowing the use of the first function.
  • a blockchain post is also performed to store and share the result of performing the second function.
  • the information published can for example be the status of a payment, information related to the request for execution of the second function such as the identifier of the terminal and / or of the user or any other information associated with the. execution of the second function.
  • a method as described above is characterized in that the second publication step is followed by a second step for sending a response to the request.
  • execution comprising at least one piece of data associated with the result of the execution of said at least one second function.
  • this embodiment allows the user to have information on the execution of the second function and its result.
  • the second function is a payment function
  • the user will thus have, for example, information on the status of the payment (accepted, refused or pending) or its transaction number.
  • a method as described above is characterized in that the second publication step is followed:
  • a third step of sending a response to the authorization request comprising at least one second parameter for accessing said at least one first function, said access parameter being a function of the result of the execution of said at least one second function obtained via the data of said payment publication;
  • this embodiment makes it possible to verify that the user does indeed have the right to access the first function.
  • the application will then verify that the second function has been executed by the user's terminal and that the result conforms to what is expected. For example, the application will check that a payment has been made by the user (execution of the second function) and that the payment has been validated (compliant result) before giving access to the first function.
  • Method for controlling the execution of a function of an application implemented by a device for controlling the execution of a function of an application, this control device being registered in a chain of blocks, the method being characterized in that it comprises:
  • this embodiment allows, when a first execution request to a first function of an application registered in a blockchain is sent by a user terminal, to return a response with an identifier of a second function such as for example a function which will make it possible to give additional information to the user on the first function.
  • a method of controlling the execution of a function of an application as described above is characterized in that the sending step is followed by a first step of publication in the blockchain of said identifier of said terminal, at least one datum associated with the receiving step and at least one datum associated with the sending step.
  • This blockchain posting is performed following the issue step of the fulfillment request response to store and share information related to the receive and issue steps such as date and time. time of reception and transmission of requests, of elements received or sent such as for example the identifier of the terminal, or the result of a processing carried out by the device
  • a method of controlling the execution of a function of an application as described above is characterized in that the emission step is followed:
  • this embodiment makes it possible, when a second request for execution of a first function of an application registered in a chain of blocks is sent by a user terminal, to issue a request for authorization of use. and to obtain in return an access parameter to the first function for the user terminal. The execution of the function then depends on the access parameter.
  • a publication in the blockchain is also carried out to store and share information related to the stages of reception, transmission and execution such as the date and time of reception and transmission of requests, elements received or sent as for example the access parameter, or the result of a processing carried out by the device.
  • a method of controlling the execution of a function of an application as described above is characterized in that the second publication step is followed by a third step sending a response to the second execution request comprising at least one piece of data associated with the result of the execution of said at least one first function.
  • this embodiment allows the user to have information on the execution of the first function and its result.
  • the invention also relates to a device for controlling access to a function of an application, said control device being registered in a chain of blocks and comprising:
  • a module for sending a response to the access request comprising at least one parameter for accessing said at least one first function and at least one second identifier at least one second function registered in said chain of blocks, said at least one second identifier being associated with said at least one parameter;
  • a device for controlling access to a function of an application as described above is characterized in that it further comprises:
  • a second module for receiving an execution request, coming from at least a second terminal, of said at least one second function, said execution request comprising at least said identifier of said first terminal;
  • a device for controlling access to a function of an application as described above is characterized in that it further comprises:
  • a third module for receiving a request for authorization of use by said first terminal of said at least one first function, said request coming from said application and comprising at least said identifier of said first terminal and at least said first identifier of said at least one first function;
  • a third module for sending a response to the authorization request comprising at least one second parameter for accessing said at least one first function, said access parameter being a function of the result of the execution of said at least one first function. at least one second function obtained in the data of said payment publication; a third module for publishing, in the blockchain, said at least one second access parameter and said identifier of said first terminal.
  • the invention also relates to a device for controlling the execution of a function of an application, said control device being registered in a chain of blocks and comprising:
  • a device for controlling the execution of a function of an application as described above is characterized in that it further comprises:
  • a second module for receiving a second execution request, coming from said terminal, of said at least one first function, said second execution request comprising at least said first identifier of said at least one first function and at least said identifier of said terminal;
  • a second module for transmitting an execution authorization request, for said terminal, of said at least one first function, said authorization request comprising at least said identifier of said terminal and at least said first identifier of said terminal. said at least one first function;
  • a third module for receiving a response to the authorization request comprising at least one parameter for accessing said at least one first function for said terminal;
  • module can correspond both to a software component and to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subroutines or more generally. to any element of a program capable of implementing a function or a set of functions as described for the modules concerned.
  • a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).
  • the invention also relates to a computer program comprising instructions for implementing one or other of the methods defined above according to any one of the particular embodiments described above, when said program is executed. by a processor.
  • the method can be implemented in various ways, in particular in wired form or in software form.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other. desirable shape.
  • the invention also relates to a recording medium or information medium readable by a computer, and comprising instructions of a computer program as mentioned above.
  • the aforementioned recording media can be any entity or device capable of storing the program.
  • the medium can comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a hard disk.
  • the recording media can correspond to a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means.
  • the programs according to the invention can in particular be downloaded from an Internet type network.
  • the recording media can correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • Figure 1 shows the hardware architecture of an access control device to a function according to a particular embodiment
  • Figure 2 shows the hardware architecture of a device for controlling the execution of a function according to a particular embodiment
  • FIG. 3 represents in the form of a flowchart the main steps of a method of controlling access to a function and the main steps of a method of controlling the execution of a function in accordance with the modes of operation. realization of the invention.
  • FIG. 1 represents the hardware architecture of a DCA access control device to a function in accordance with the invention.
  • this device has the hardware architecture of a computer. It notably comprises a processor PROC1, a random access memory MV1, a read only memory MEM1 and a non-volatile flash memory MF1.
  • the read only memory constitutes a recording medium in accordance with the invention, readable by the processor PROC1 and on which is recorded here a computer program PG1 in accordance with the invention, this program comprising instructions for implementing the steps of the process. method of controlling access to a function as described above, when the program is executed by the processor PROC1.
  • the code instructions of the computer program PG1 are for example loaded into a memory before being executed by the processor PROC1.
  • the processor PROC1 of the processing unit UT1 notably implements the steps of the method of controlling access to a function according to any one of the particular embodiments described in relation to FIG. 3, according to the instructions of the program d computer PG1.
  • the DCA device also comprises communication modules COM 11 and COM 12 configured to establish communications with for example an IP network and / or circuit.
  • the communication module COM11 is used to receive requests for access to a first function coming from a terminal and the module COM 12 to send a response comprising access parameters and an identifier of a second function associated with the first function.
  • the DCA device further comprises an OBT1 module capable of publishing in the block chain data related to the reception and transmission steps of the access control method to a function.
  • the modules COM11 and COM12 can be one and the same communication module (COM1).
  • the module COM1 is also able to receive requests for execution of the second function and the module OBT1 is able to publish in the block chain data related to the step of receiving d 'an execution request and its execution.
  • the second function can be executed by the DCA device and its processor PROC1 or via a dedicated module (not shown here).
  • the module COM1 can also be used to send a response to the execution request with data concerning the result of the execution of the second function.
  • the module COM1 can also receive authorization request requests concerning the use of the first function and send a response comprising a second access parameter according to a publication. obtained from the blockchain via the OBT1 module.
  • the module OBT1 can also publish in the block chain data such as the second parameter, an identifier of the terminal or any other data relating to the data received and sent by the module COM1.
  • the requests received and sent by the DCA device are handled by the module COM1.
  • the DCA device can include several communication modules allowing the reception and / or transmission of requests.
  • the OBT1 module manages all the publications made at the blockchain level.
  • the DCA device can include several publication modules allowing the publication and / or the obtaining of the publications at the blockchain level.
  • FIG. 2 shows the hardware architecture of a DCE control device for the execution of a function according to the invention.
  • this device has the hardware architecture of a computer. It comprises in particular a processor PROC2, a random access memory MV2, a read only memory MEM2 and a non-volatile flash memory MF2.
  • the read only memory constitutes a recording medium in accordance with the invention, readable by the processor PROC2 and on which is recorded here a computer program PG2 in accordance with the invention, this program comprising instructions for implementing the steps of the method of controlling the execution of a function as described above, when the program is executed by the processor PROC2.
  • the code instructions of the computer program PG2 are for example loaded into a memory before being executed by the processor PROC2.
  • the processor PROC2 of the processing unit UT2 notably implements the steps of the method for controlling the execution of a function according to any one of the particular embodiments described in relation to FIG. 3, according to the instructions of the computer program PG2.
  • the DCE device also comprises communication modules COM21 and COM22 configured to establish communications with for example an IP network and / or circuit.
  • the communication module COM21 is used to receive requests for execution of a first function from a terminal and the module COM22 to send a response comprising an identifier of a second function registered in a chain of blocks. Note that the response can also include network parameters.
  • the DCE device further comprises an OBT2 module capable of publishing in the block chain data related to the reception and transmission steps of the method for controlling the execution of a function.
  • the modules COM21 and COM22 can be one and the same communication module (COM2).
  • the module COM2 is also able to send a request for authorization to use the first function by the terminal and to receive a response comprising an access parameter to the first function.
  • the OBT2 module can also be used to publish in the blockchain data related to the step of sending the request for authorization of use and to its execution according to an access parameter received in response to the request for authorization of use.
  • the first function can be executed by the DCE device and its processor PROC2 or via a dedicated module (not shown here).
  • the module COM2 can also send, to the terminal, a response to the execution request, the response possibly including data associated with the result of the execution of the first function.
  • the OBT2 module can also publish in the blockchain data such as the result of the execution of the first function, an identifier of the terminal or any other data relating to the data received and sent by the module COM2.
  • the requests received and sent by the DCE device are handled by the module COM2.
  • the DCE device can include several communication modules allowing the reception and / or transmission of requests.
  • the OBT2 module manages all the publications made at the blockchain level.
  • the DCE device can include several publication modules allowing publication and / or obtaining of publications at the blockchain level.
  • FIG. 3 consists of a TRM terminal such as for example a mobile terminal or a computer capable of sending and receiving requests to and from a block chain and DCE and DCA devices registered in a block chain and capable of executing decentralized functions or DApps in the sense of blockchain technology. These applications are in the form of executable code.
  • the DCE device executes a DApps comprising a function F1
  • the DCA device executes a DApps comprising the functions F2 and F3.
  • the TRM terminal sends a request for execution of the function F1 of the DApps to the DCE device.
  • the request comprises for example the identifier of the sending terminal and the identifier of the function F1.
  • the request can also include other data such as tokens, cryptographic keys allowing for example the DCE device to authenticate the TRM terminal or a user identifier that he has previously entered at the level of the TRM terminal via for example a dedicated user interface such as a voice or graphic interface.
  • a dedicated user interface such as a voice or graphic interface.
  • the DCE device On receipt of the request (El 1), the DCE device will process the request and generate a response comprising an identifier of a second function F2. The DCE device will then send this response (El 2) to the TRM terminal. Concretely, the DCE device realizes a redirection to an F2 function of a DApps executed by the DCA device.
  • the DCE device can also publish in the block chain information related to the reception and transmission steps such as the date and time of reception and transmission of requests, elements received or sent such as for example the identifier. of the terminal, or the result of processing carried out by the device.
  • the TRM terminal will generate a request for execution of the function F2 intended for the DCA device.
  • the request is sent to step E20 with for example the same data as the first request sent by the terminal TRM to step E10.
  • the request is then received, in step E21, by the DCA device that will perform the F2 function.
  • the result of the function F2 is for example a list of data pairs of which the first data of each pair is an identifier or a character string indicating a tariff option (ID PA) associated with the execution of the function F1 and the second data, an identifier of a third function (ID F3) associated with the tariff option.
  • ID PA tariff option
  • ID F3 a third function associated with the tariff option
  • the DCA device can also publish in the block chain information related to the reception and transmission steps such as the date and time of reception and transmission of requests, elements received or sent such as for example the identifier. of the terminal, the execution information of the function F2, or the result of the function F2.
  • This publication is called a "tariff publication”.
  • the DCA device may not need to perform function F2. This is the case, for example, if the list is static, that is to say that the tariff options remain unchanged for a fairly long period of time (ex: 1 week, 1 month, 1 year, etc.).
  • a tariff option can be associated with the execution of a function, for example Fl, or with several functions (Fil,
  • a tariff option may depend on the identifier of the terminal. This is the case, for example, when a price for the execution of the function Fl is negotiated by a company for its employees.
  • a tariff option may be associated with a validity period.
  • the user of the TRM terminal will then choose a tariff option from the list according to his needs.
  • the tariff option chosen will make it possible to specify the framework for executing the function Fl for the TRM terminal and its user.
  • the pricing options can for example determine:
  • a subscription that is to say unlimited use of the function F1 for a determined period.
  • a price based on a data external to the block chain such as an energy cost or data sent by an Oracle.
  • an Oracle is a service authorized to enter data into the blockchain at the request of a user.
  • the cost of use may for example vary depending on the duration of the time slot or depending on its start time.
  • the user can, for example, pay less for a time slot starting at night.
  • This makes it possible to encourage users of the Fl function to request its execution for a given period to take into account the load on the server.
  • it is possible to smooth the executions over time and therefore optimize the hardware architectures (memory, processors, etc.) of the servers.
  • the terminal will send a request to execute the F3 function to the DCA device.
  • Function F3 is for example a payment function associated with the chosen tariff option.
  • the DCA device will then execute (E25) the function F3 and proceed to payment using the payment parameters (PAY PARA) received previously.
  • the device can verify that the payment has indeed taken place thanks to the payment parameters (PAY PARA) received previously.
  • These settings can be banking information, proof of purchase information, or blockchain user account information to make or certify a payment.
  • the payment process can be done outside or inside the blockchain. In the event that payment is made outside of the blockchain, the DCA device will, for example, obtain proof of purchase from a third party to determine whether the payment has been made.
  • the payment process can correspond to a sequestration of an amount in anticipation of the execution of the function F1 by the user terminal. The amount is then released at the time of execution of the function Fl with the consequence of making the payment.
  • the DCA device can send a response (E26) to the TRM terminal comprising the result of the payment or its acceptance (PAY RESULT).
  • the result is for example a status concerning the act of payment (payment made or refused or pending) or any other data relating to the act of payment (date, status, transaction number, financial institution, etc.).
  • the DCA device can obtain from the block chain, via the data of the so-called tariff publication, the date on which the DCA device sent the tariff options of the F1 function to the TRM terminal. (E22).
  • the DCA device can verify that the offer is still valid before executing the function F3. This verification is conventionally carried out by comparing the date of receipt of the request E25 with that of the request E22 to which the period of validity is added. If the date of the request E25 is earlier then the tariff option is still valid and the DCA device can execute the function F3. Otherwise, an error message is sent to the TRM terminal, for example during step E26.
  • the DCA device can also publish in the blockchain information related to the reception (E25) and transmission (E26) steps such as the date and time of reception and transmission of requests, elements received or sent. such as for example the identifier of the terminal, the execution information of the function F3, or the result of the function F3.
  • This publication is called a “payment publication”.
  • step E30 the TRM terminal sends the request for execution of function F1 a second time to the DCE device.
  • the request can be enriched with respect to that sent in step E10 with additional data such as a payment transaction number or a counter value.
  • the DCE device On receipt of the request by the DCE device (E31), the latter will check whether this request for execution of the function F1 by the terminal TRM is not the first. For this, the DCE device can consult its history of received and transmitted requests in order to determine whether the request in question is the first. The device can also be based on parameters of the request such as the payment transaction number or the value of the counter. In the case of a counter value, it is the TRM terminal which will increment it during a new transmission of the request for execution of the function F1.
  • the DCE device goes to step E32 to issue a request for authorization to use the function F1 by the terminal TRM to the DCA device.
  • This request comprises for example the identifier of the terminal TRM (ID TRM) and the identifier of the function F1 (ID Fl).
  • the DCA device will then obtain, for example from a private memory, the status of the payment (result of execution of function F3 or proof of purchase) and deduce therefrom an access parameter to function F1 (PARAC) for the terminal TRM.
  • the access parameter can also be a function of other data such as the date or time if the tariff offer chosen by the user is a function of a time slot but also of a value of a counter indicating the number of executions already carried out of function F1 if the tariff offer chosen by the user is a function of a number of executions.
  • the DCA device can get the status of the payment from the blockchain. Obtaining this status can be done via the data of the so-called payment publication and the retrieval of a dedicated parameter or by retrieving the information concerning the execution of the payment function.
  • the PARAC parameter can for example be a Boolean which indicates, when it is for example set to 1 that the TRM terminal has the authorization to execute the Fl function.
  • the PARAC parameter can be a character string or any other set of data making it possible to provide a status on the authorization to execute the function F1 by the terminal TRM.
  • the PARAC parameter can for example be a boolean / character string pair in which the boolean gives information on the authorization to execute the function F1 by the terminal TRM and the character string represents a label such as a code error in the event that the authorization is refused.
  • step E34 the DCA device will return a response to the DCE device comprising the access parameter PARAC, the identifier of the TRM terminal (ID TRM) and the identifier of the function Fl (ID Fl).
  • the DCA device can also publish in the blockchain information related to the reception (E33) and transmission (E34) steps such as the date and time of reception and transmission of requests, elements received or sent.
  • the blockchain information related to the reception (E33) and transmission (E34) steps such as the date and time of reception and transmission of requests, elements received or sent.
  • the identifier of the terminal such as for example the identifier of the terminal, the access parameter PARAC, or the result of a processing carried out by the device.
  • the DCE device When the DCE device receives the response (E35), it will test (E37) the PARAC parameter. If the PARAC parameter indicates that the execution of the function F1 by the terminal TRM is not authorized, then the device DCE sends the parameter PARAC to the terminal TRM. The TRM terminal thus has the information that execution is not possible and the reason why execution cannot be carried out. Conversely, if the PARAC parameter indicates that the execution of the function F1 by the terminal TRM is authorized, then the device will execute the function F1 (E38) and send the result of the execution to the terminal TRM (E39).
  • the DCE device can also publish in the blockchain information related to the reception (E31 and E35) and transmission (E32, E36, E39) steps such as the date and time of reception and transmission of requests. , elements received or sent such as for example the identifier of the terminal, the access parameter PARAC, the execution information of the function F1 or the result of the execution of the function F1.
  • the function F1 can be executed outside the blockchain.
  • the DCE device will send the execution request to an external server via a dedicated blockchain interface.
  • the DCE and DCA devices can be one and the same computer machine executing several DApps implementing the functions F1, F2 and F3.
  • a request is sent from the DCE device to the DCA device comprising a parameter indicating that the execution of the function Fi has failed, the identifier of the terminal TRM and the identifier of the function Fl.
  • the DCA device can then perform by example a partial or total reimbursement of the sum previously paid in step E25.
  • the user can, via his TRM terminal and before step E10, consult a directory of functions in order to choose the function F1 to be executed.
  • the directory can for example be represented at the terminal level in the form of a list of functions or a table of functions with for example a description, the name of the developer and a note for each function, the note being for example the result of an average of the scores given by the users weighted by the availability rate of the function.
  • the directory can for example be retrieved in response to a request sent by the TRM terminal to a DApps registered in a blockchain.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention relates to a method for controlling access to a function of an application implemented by a device for controlling access to a function of an application, this control device being registered to a blockchain, the method being characterised in that it comprises: - a step of receiving, from a first terminal, a first request to access at least one first function of the application, the application being registered in the blockchain, the request comprising at least one first identifier of the at least one first function and at least one identifier of the first terminal; - a step of transmitting a response to the access request comprising at least one parameter for accessing the at least one first function and at least one second identifier of at least one second function registered in the blockchain, the at least one second identifier being associated with the at least one parameter.

Description

DESCRIPTION DESCRIPTION
Titre : Procédé et dispositif de contrôle d’accès à une fonction d’une application inscrite dans une chaîne de blocs. Title: Method and device for controlling access to a function of an application registered in a blockchain.
1. Domaine de l'invention 1. Field of the invention
L’invention se rapporte au domaine général des réseaux de télécommunications, et plus précisément à la technologie des chaînes de blocs (en anglais « blockchain »). The invention relates to the general field of telecommunications networks, and more specifically to blockchain technology.
2. Art Antérieur 2. Prior Art
De façon traditionnelle, les chaînes de blocs gèrent des crypto-monnaies (monnaie émise de pair à pair sans intervention d’une banque centrale). On peut citer par exemple la monnaie électronique décentralisée Bitcoin créée en 2009. Cependant, de nouveaux types de chaînes de blocs ont émergé proposant un champ d’applications plus large. C’est par exemple le cas d’Ethereum qui permet l’enregistrement d’applications décentralisées appelées DApps (Decentralized Applications en anglais). Concrètement, chaque application décentralisée présente au sein de la chaîne de blocs est composée d’un code binaire et d’une interface exposant des méthodes pouvant être appelées, par exemple par un tiers ou par d’autres applications. Une DApps dispose également d’une zone de données privée qu’elle va pouvoir modifier en fonction des traitements effectués. Traditionally, blockchains manage cryptocurrencies (money issued peer to peer without central bank intervention). One can cite for example the decentralized electronic money Bitcoin created in 2009. However, new types of blockchains have emerged offering a wider field of applications. This is for example the case of Ethereum which allows the registration of decentralized applications called DApps (Decentralized Applications). Concretely, each decentralized application present within the blockchain is composed of a binary code and an interface exposing methods that can be called, for example by a third party or by other applications. A DApps also has a private data area that it will be able to modify depending on the processing carried out.
Le modèle économique d’une telle chaîne de blocs est essentiellement axé sur l’acte de déploiement de l’application. Il faut « payer » pour déployer l’application, c’est-à-dire rétribuer les personnes qui valident l’application et qui créent le bloc associé à la validation au niveau de la chaîne de blocs. De plus, les personnes qui souhaitent utiliser l’application, par exemple via l’envoi d’une demande de réalisation d’une tâche particulière, doivent également payer à chaque utilisation en fonction d’un algorithme prédéterminé. The business model of such a blockchain is essentially focused on the act of deploying the application. You have to "pay" to deploy the application, that is, pay the people who validate the application and create the block associated with validation at the blockchain level. In addition, people who want to use the application, for example by sending a request to complete a particular task, must also pay for each use according to a predetermined algorithm.
Force est de constater qu’il n’est actuellement pas possible, lorsqu’un tiers souhaite utiliser une application décentralisée, d’adapter et de personnaliser la rétribution du fournisseur de l’application en fonction de son utilisation. En effet, ces méthodes de rémunération restent très simples et ne permettent pas à un fournisseur d’établir des règles d’utilisation de ses applications décentralisées avec des coûts associés. 3. Exposé de l'invention It is clear that it is currently not possible, when a third party wishes to use a decentralized application, to adapt and personalize the remuneration of the supplier of the application according to its use. Indeed, these remuneration methods remain very simple and do not allow a supplier to establish rules for the use of its decentralized applications with associated costs. 3. Disclosure of the invention
L’invention vient améliorer l’état de la technique et propose un procédé de contrôle d’accès à une fonction d’une application mis en œuvre par un dispositif de contrôle d’accès à une fonction d’une application, ce dispositif de contrôle étant inscrit à une chaîne de blocs, le procédé étant caractérisé en ce qu’il comprend : The invention improves on the state of the art and proposes a method for controlling access to a function of an application implemented by a device for controlling access to a function of an application, this control device. being registered in a chain of blocks, the method being characterized in that it comprises:
- une étape de réception, en provenance d’un premier terminal, d’une première requête d’accès à au moins une première fonction de l’application, ladite application étant inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction et au moins un identifiant dudit premier terminal ;a step of receiving, from a first terminal, a first request for access to at least a first function of the application, said application being registered in said chain of blocks, said request comprising at least a first identifier of said at least one first function and at least one identifier of said first terminal;
- une étape d’émission d’une réponse à la requête d’accès comprenant au moins un paramètre d’accès à ladite au moins une première fonction et au moins un second identifiant d’au moins une seconde fonction inscrite dans ladite chaîne de blocs, ledit au moins un second identifiant étant associé audit au moins un paramètre. a step of sending a response to the access request comprising at least one parameter for accessing said at least one first function and at least one second identifier of at least one second function registered in said chain of blocks , said at least one second identifier being associated with said at least one parameter.
Ainsi, l’invention propose d’utiliser une chaîne de blocs pour gérer l’accès à une application inscrite dans une chaîne de blocs et plus précisément à sa ou ses fonctions. La présente demande est présentée dans le contexte d’une « chaîne de blocs » en anglais « blockchain » mais l’expression « chaîne de blocs » est à comprendre comme couvrant tout type de DLT (en anglais Distributed Ledger Technology) apte à héberger des applications décentralisées connues sous le nom de DApp (Decentralized Applications en anglais) dont les chaînes de blocs à proprement parler constituent un élément particulier. Thus, the invention proposes to use a blockchain to manage access to an application registered in a blockchain and more specifically to its function (s). The present request is presented in the context of a "blockchain" in English "blockchain" but the expression "block chain" is to be understood as covering any type of DLT (in English Distributed Ledger Technology) capable of hosting decentralized applications known under the name of DApp (Decentralized Applications in English) of which the blockchains themselves constitute a particular element.
Comme indiqué dans le document (https://fr.wikipedia.org/wiki/Blockchain), on rappelle que la technologie des chaînes de blocs est une technologie de stockage et de transmission d'informations sans organe de contrôle. Techniquement, il s'agit d'une base de données distribuée dont les informations envoyées par les utilisateurs et les liens internes à la base sont vérifiés et groupés à intervalles de temps réguliers en blocs, l'ensemble étant sécurisé par cryptographie, et formant ainsi une chaîne. Par extension, une chaîne de blocs est une base de données distribuée qui gère une liste d'enregistrements protégés contre la falsification ou la modification par les nœuds de stockage ; c'est donc un registre distribué et sécurisé de toutes les transactions effectuées depuis le démarrage du système. Les chaînes de blocs sont notamment caractérisées en ce que leurs contenus ne peuvent pas être modifiés ou supprimés : une information publiée (c’est-à-dire enregistrée ou sauvegardée) dans une chaîne de blocs le reste pour toujours. As indicated in the document (https://fr.wikipedia.org/wiki/Blockchain), it is recalled that blockchain technology is a technology for storing and transmitting information without a control organ. Technically, it is a distributed database whose information sent by users and internal links to the base are verified and grouped at regular time intervals in blocks, the whole being secured by cryptography, and thus forming chain. By extension, a blockchain is a distributed database that maintains a list of records protected against tampering or modification by storage nodes; it is therefore a distributed and secure register of all transactions carried out since the start of the system. Blockchains are characterized in particular in that their content cannot be modified or deleted: information that is published (that is, recorded or saved) in a blockchain remains forever.
D’un point de vue pratique, l’invention offre un nouveau mécanisme dans lequel, lorsqu’une requête d’accès à une fonction d’une application inscrite dans une chaîne de blocs est envoyée par un terminal utilisateur, le dispositif exécutant le procédé de contrôle d’accès renvoie alors une réponse avec un paramètre d’accès associé à la fonction, comme par exemple une option tarifaire et un identifiant d’une deuxième fonction, telle qu’une fonction de paiement associée à l’option. From a practical point of view, the invention offers a new mechanism in which, when a request for access to a function of an application registered in a blockchain is sent by a user terminal, the device executing the method access control system then sends back a response with an access parameter associated with the function, such as for example a tariff option and an identifier of a second function, such as a payment function associated with the option.
Avantageusement, ce mode de réalisation permet de préciser à un utilisateur les conditions d’accès et d’utilisation d’une fonction inscrite dans une chaîne de blocs. Advantageously, this embodiment makes it possible to specify to a user the conditions of access and use of a function registered in a chain of blocks.
On entend par fonction une portion de code informatique représentant un sous-programme informatique, qui effectue une tâche ou un calcul particulier. L’identifiant de la fonction est par exemple le nom donné par le programmeur lors de sa création ou la signature de la fonction incluant des paramètres. By function is meant a portion of computer code representing a computer subroutine, which performs a particular task or calculation. The function identifier is for example the name given by the programmer when creating it or the signature of the function including parameters.
On entend par identifiant d’un terminal, une suite de caractères qui permet d’identifier de manière unique le terminal tel qu’une adresse MAC, une adresse IP, un numéro de série (ex : un IMEI) ou une clé cryptographique. Alternativement, l’identifiant du terminal peut également être un identifiant de l’utilisateur renseigné par celui-ci via une interface utilisateur du terminal telle qu’une interface graphique ou vocale, et permettant d’identifier de manière unique l’utilisateur du terminal. L’identifiant peut par exemple être une adresse de messagerie, un numéro de carte d’identité, un numéro d’abonné, etc. A terminal identifier is understood to mean a sequence of characters that uniquely identifies the terminal such as a MAC address, an IP address, a serial number (eg an IMEI) or a cryptographic key. Alternatively, the identifier of the terminal can also be an identifier of the user entered by the latter via a user interface of the terminal such as a graphical or voice interface, and making it possible to uniquely identify the user of the terminal. The identifier can for example be an e-mail address, an identity card number, a subscriber number, etc.
Selon un mode de réalisation particulier de l’invention, un procédé tel que décrit ci-dessus est caractérisé en ce que l’étape d’émission est suivie d’une première étape de publication dans ladite chaîne de blocs, dudit identifiant dudit premier terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. Cette publication dans la chaîne de blocs est réalisée pour stocker et partager des informations liées aux étapes de réception et d’émission telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple l’identifiant du terminal, ou encore le résultat d’un traitement réalisé par le dispositif. Selon un mode de réalisation particulier de l’invention, un procédé tel que décrit ci-dessus est caractérisé en ce que l’étape d’émission est suivie : According to a particular embodiment of the invention, a method as described above is characterized in that the sending step is followed by a first step of publishing in said chain of blocks, said identifier of said first terminal , at least one datum associated with the receiving step and at least one datum associated with the sending step. This publication in the blockchain is carried out to store and share information related to the reception and transmission stages such as the date and time of reception and transmission of requests, elements received or sent such as for example the identifier of the terminal, or the result of processing carried out by the device. According to a particular embodiment of the invention, a method as described above is characterized in that the emission step is followed:
- d’une deuxième étape de réception, en provenance d’au moins un second terminal, d’une requête d’exécution de ladite au moins une seconde fonction, ladite requête d’exécution comprenant au moins ledit identifiant dudit premier terminal ; - a second step of receiving, from at least one second terminal, a request to execute said at least one second function, said execution request comprising at least said identifier of said first terminal;
- d’une étape d’exécution de ladite au moins une seconde fonction ; - a step of performing said at least one second function;
- d’une deuxième étape de publication dans la chaîne de blocs, dite publication de paiement, dudit identifiant dudit premier terminal, d’au moins une donnée associée à ladite deuxième étape de réception et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une seconde fonction. - a second step of publication in the blockchain, called payment publication, of said identifier of said first terminal, at least one datum associated with said second receiving step and at least one datum associated with the result of the 'execution of said at least one second function.
Avantageusement, ce mode de réalisation permet à l’utilisateur d’exécuter la deuxième fonction comme par exemple une fonction de paiement permettant l’utilisation de la première fonction. Une publication dans la chaîne de blocs est également réalisée pour stocker et partager le résultat de l’exécution de la deuxième fonction. Les informations publiées peuvent par exemple être le statut d’un paiement, des informations liées à la requête d’exécution de la seconde fonction telles que l’identifiant du terminal et/ou de l’utilisateur ou bien toute autre information associée à l’exécution de la seconde fonction. Advantageously, this embodiment allows the user to execute the second function such as for example a payment function allowing the use of the first function. A blockchain post is also performed to store and share the result of performing the second function. The information published can for example be the status of a payment, information related to the request for execution of the second function such as the identifier of the terminal and / or of the user or any other information associated with the. execution of the second function.
Selon une première variante de ce mode particulier de réalisation de l’invention, un procédé tel que décrit ci-dessus est caractérisé en ce que la deuxième étape de publication est suivie d’une deuxième étape d’émission d’une réponse à la requête d’exécution comportant au moins une donnée associée au résultat de l’exécution de ladite au moins une seconde fonction. According to a first variant of this particular embodiment of the invention, a method as described above is characterized in that the second publication step is followed by a second step for sending a response to the request. execution comprising at least one piece of data associated with the result of the execution of said at least one second function.
Avantageusement, ce mode de réalisation permet à l’utilisateur d’avoir de l’information sur l’exécution de la seconde fonction et son résultat. Dans le cas où la deuxième fonction est une fonction de paiement, l’utilisateur aura ainsi par exemple l’information sur le statut du paiement (accepté, refusé ou en attente) ou son numéro de transaction. Selon une deuxième variante de ce mode particulier de réalisation de l’invention, un procédé tel que décrit ci-dessus est caractérisé en ce que la deuxième étape de publication est suivie :Advantageously, this embodiment allows the user to have information on the execution of the second function and its result. In the case where the second function is a payment function, the user will thus have, for example, information on the status of the payment (accepted, refused or pending) or its transaction number. According to a second variant of this particular embodiment of the invention, a method as described above is characterized in that the second publication step is followed:
- d’une troisième étape de réception, en provenance de ladite application, d’une requête d’autorisation d’utilisation par ledit premier terminal de ladite au moins une première fonction, ladite requête d’autorisation comprenant au moins ledit identifiant dudit premier terminal et au moins ledit premier identifiant de ladite au moins une première fonction ;a third step of receiving, from said application, a request for authorization of use by said first terminal of said at least one first function, said authorization request comprising at least said identifier of said first terminal and at least said first identifier of said at least one first function;
- d’une étape d’obtention depuis ladite chaîne de blocs, en fonction dudit identifiant dudit premier terminal, des données publiées via ladite publication de paiement ; - a step of obtaining from said blockchain, based on said identifier of said first terminal, data published via said payment publication;
- d’une troisième étape d’émission d’une réponse à la requête d’autorisation comprenant au moins un second paramètre d’accès à ladite au moins une première fonction, ledit paramètre d’accès étant fonction du résultat de l’exécution de ladite au moins une seconde fonction obtenu via les données de ladite publication de paiement ; a third step of sending a response to the authorization request comprising at least one second parameter for accessing said at least one first function, said access parameter being a function of the result of the execution of said at least one second function obtained via the data of said payment publication;
- d’une troisième étape de publication, dans la chaîne de blocs, dudit au moins un second paramètre d’accès et de l’identifiant dudit premier terminal. - a third step of publishing, in the blockchain, said at least one second access parameter and the identifier of said first terminal.
Avantageusement, ce mode de réalisation permet de vérifier que l’utilisateur a bien le droit d’accéder à la première fonction. L’application va alors vérifier que la deuxième fonction a bien été exécutée par le terminal de l’utilisateur et que le résultat est bien conforme à ce qui est attendu. Par exemple, l’application va vérifier qu’un paiement a bien été effectué par l’utilisateur (exécution de la deuxième fonction) et que le paiement a été validé (résultat conforme) avant de donner l’accès à la première fonction. Advantageously, this embodiment makes it possible to verify that the user does indeed have the right to access the first function. The application will then verify that the second function has been executed by the user's terminal and that the result conforms to what is expected. For example, the application will check that a payment has been made by the user (execution of the second function) and that the payment has been validated (compliant result) before giving access to the first function.
Procédé de contrôle de l’exécution d’une fonction d’une application mis en œuvre par un dispositif de contrôle de l’exécution d’une fonction d’une application, ce dispositif de contrôle étant inscrit à une chaîne de blocs, le procédé étant caractérisé en ce qu’il comprend : Method for controlling the execution of a function of an application implemented by a device for controlling the execution of a function of an application, this control device being registered in a chain of blocks, the method being characterized in that it comprises:
- une étape de réception, en provenance d’un terminal, d’une première requête d’exécution d’au moins une première fonction d’une application inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction et au moins un identifiant dudit terminal ; a step of receiving, from a terminal, a first request for executing at least a first function of an application registered in said chain of blocks, said request comprising at least a first identifier of said at least one at least one first function and at least one identifier of said terminal;
- une étape d’émission d’une réponse à la requête d’exécution comprenant au moins un second identifiant d’au moins une seconde fonction inscrite dans ladite chaîne de blocs. Avantageusement, ce mode de réalisation permet, lorsqu’une première requête d’exécution à une première fonction d’une application inscrite dans une chaîne de blocs est envoyée par un terminal utilisateur, de renvoyer une réponse avec un identifiant d’une seconde fonction comme par exemple une fonction qui va permettre de donner de l’information complémentaire à l’utilisateur sur la première fonction. a step of sending a response to the execution request comprising at least one second identifier of at least one second function registered in said chain of blocks. Advantageously, this embodiment allows, when a first execution request to a first function of an application registered in a blockchain is sent by a user terminal, to return a response with an identifier of a second function such as for example a function which will make it possible to give additional information to the user on the first function.
Selon un mode de réalisation particulier de l’invention, un procédé de contrôle de l’exécution d’une fonction d’une application tel que décrit ci-dessus est caractérisé en ce que l’étape d’émission est suivie d’une première étape de publication dans la chaîne de blocs, dudit identifiant dudit terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. According to a particular embodiment of the invention, a method of controlling the execution of a function of an application as described above is characterized in that the sending step is followed by a first step of publication in the blockchain of said identifier of said terminal, at least one datum associated with the receiving step and at least one datum associated with the sending step.
Cette publication dans la chaîne de blocs est réalisée à la suite de l’étape d’émission de la réponse à la requête d’exécution pour stocker et partager des informations liées aux étapes de réception et d’émission telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple l’identifiant du terminal, ou encore le résultat d’un traitement réalisé par le dispositif This blockchain posting is performed following the issue step of the fulfillment request response to store and share information related to the receive and issue steps such as date and time. time of reception and transmission of requests, of elements received or sent such as for example the identifier of the terminal, or the result of a processing carried out by the device
Selon un mode de réalisation particulier de l’invention, un procédé de contrôle de l’exécution d’une fonction d’une application tel que décrit ci-dessus est caractérisé en ce que l’étape d’émission est suivie : According to a particular embodiment of the invention, a method of controlling the execution of a function of an application as described above is characterized in that the emission step is followed:
- d’une deuxième étape de réception, en provenance dudit terminal, d’une deuxième requête d’exécution de ladite au moins une première fonction, ladite deuxième requête d’exécution comprenant au moins ledit premier identifiant de ladite au moins une première fonction et au moins ledit identifiant dudit terminal ; a second step of receiving, from said terminal, a second request for execution of said at least one first function, said second request for execution comprising at least said first identifier of said at least one first function and at least said identifier of said terminal;
- d’une deuxième étape d’émission, d’une requête d’autorisation d’exécution, pour ledit terminal, de ladite au moins une première fonction, ladite requête d’autorisation comprenant au moins ledit identifiant dudit terminal et au moins ledit premier identifiant de ladite au moins une première fonction ; a second step of sending, of an execution authorization request, for said terminal, of said at least one first function, said authorization request comprising at least said identifier of said terminal and at least said first identifier of said at least one first function;
- d’une troisième étape de réception d’une réponse à la requête d’autorisation comprenant au moins un paramètre d’accès à ladite au moins une première fonction pour ledit terminal ;- a third step of receiving a response to the authorization request comprising at least one access parameter to said at least one first function for said terminal;
- d’une étape d’exécution de ladite au moins une première fonction en fonction dudit au moins un paramètre d’accès reçu ; - d’une deuxième étape de publication dans la chaîne de blocs, dudit au moins un paramètre d’accès, dudit identifiant dudit terminal et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une première fonction. a step of executing said at least one first function as a function of said at least one access parameter received; a second step of publishing in the blockchain said at least one access parameter, said identifier of said terminal and at least one piece of data associated with the result of the execution of said at least one first function.
Avantageusement, ce mode de réalisation permet, lorsqu’une deuxième requête d’exécution à une première fonction d’une application inscrite dans une chaîne de blocs est envoyée par un terminal utilisateur, d’émettre une requête de demande d’autorisation d’utilisation et d’obtenir en retour un paramètre d’accès à la première fonction pour le terminal utilisateur. L’exécution de la fonction est alors fonction du paramètre d’accès. Advantageously, this embodiment makes it possible, when a second request for execution of a first function of an application registered in a chain of blocks is sent by a user terminal, to issue a request for authorization of use. and to obtain in return an access parameter to the first function for the user terminal. The execution of the function then depends on the access parameter.
Une publication dans la chaîne de blocs est également réalisée pour stocker et partager des informations liées aux étapes de réception, d’émission et d’exécution telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple le paramètre d’accès, ou encore le résultat d’un traitement réalisé par le dispositif. A publication in the blockchain is also carried out to store and share information related to the stages of reception, transmission and execution such as the date and time of reception and transmission of requests, elements received or sent as for example the access parameter, or the result of a processing carried out by the device.
Selon un mode de réalisation particulier de l’invention, un procédé de contrôle de l’exécution d’une fonction d’une application tel que décrit ci-dessus est caractérisé en ce que la deuxième étape de publication est suivie d’une troisième étape d’émission d’une réponse à la deuxième requête d’exécution comprenant au moins une donnée associée au résultat de l’exécution de ladite au moins une première fonction. According to a particular embodiment of the invention, a method of controlling the execution of a function of an application as described above is characterized in that the second publication step is followed by a third step sending a response to the second execution request comprising at least one piece of data associated with the result of the execution of said at least one first function.
Avantageusement, ce mode de réalisation permet à l’utilisateur d’avoir de l’information sur l’exécution de la première fonction et de son résultat. Advantageously, this embodiment allows the user to have information on the execution of the first function and its result.
L’invention concerne également un dispositif de contrôle d’accès à une fonction d’une application, ledit dispositif de contrôle étant inscrit à une chaîne de blocs et comprenant :The invention also relates to a device for controlling access to a function of an application, said control device being registered in a chain of blocks and comprising:
- un module de réception d’une première requête d’accès, en provenance d’un premier terminal, à au moins une première fonction de l’application, ladite application étant inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction et au moins un identifiant dudit premier terminal ;a module for receiving a first access request, coming from a first terminal, to at least a first function of the application, said application being registered in said chain of blocks, said request comprising at least a first identifier of said at least one first function and at least one identifier of said first terminal;
- un module d’émission d’une réponse à la requête d’accès comprenant au moins un paramètre d’accès à ladite au moins une première fonction et au moins un second identifiant d’au moins une seconde fonction inscrite dans ladite chaîne de blocs, ledit au moins un second identifiant étant associé audit au moins un paramètre ; a module for sending a response to the access request comprising at least one parameter for accessing said at least one first function and at least one second identifier at least one second function registered in said chain of blocks, said at least one second identifier being associated with said at least one parameter;
- un module de publication dans ladite chaîne de blocs, dudit identifiant dudit premier terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. - a module for publishing in said blockchain, said identifier of said first terminal, at least one piece of data associated with the receiving step and at least one piece of data associated with the sending step.
Selon un mode de réalisation particulier de l’invention, un dispositif de contrôle d’accès à une fonction d’une application tel que décrit ci-dessus est caractérisé en ce qu’il comporte en outre : According to a particular embodiment of the invention, a device for controlling access to a function of an application as described above is characterized in that it further comprises:
- un deuxième module de réception d’une requête d’exécution, en provenance d’au moins un second terminal, de ladite au moins une seconde fonction, ladite requête d’exécution comprenant au moins ledit identifiant dudit premier terminal ; - a second module for receiving an execution request, coming from at least a second terminal, of said at least one second function, said execution request comprising at least said identifier of said first terminal;
- un module d’exécution de ladite au moins une seconde fonction ; - a module for executing said at least one second function;
- un deuxième module de publication dans la chaîne de blocs, d’une publication dite de paiement, dudit identifiant dudit premier terminal, d’au moins une donnée associée à ladite deuxième étape de réception et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une seconde fonction. a second module for publishing in the blockchain, a so-called payment publication, said identifier of said first terminal, at least one piece of data associated with said second receiving step and at least one piece of data associated with the result of performing said at least one second function.
Selon un mode de réalisation particulier de l’invention, un dispositif de contrôle d’accès à une fonction d’une application tel que décrit ci-dessus est caractérisé en ce qu’il comporte en outre : According to a particular embodiment of the invention, a device for controlling access to a function of an application as described above is characterized in that it further comprises:
- un troisième module de réception, d’une requête d’autorisation d’utilisation par ledit premier terminal de ladite au moins une première fonction, ladite requête étant en provenance de ladite application et comprenant au moins ledit identifiant dudit premier terminal et au moins ledit premier identifiant de ladite au moins une première fonction ;a third module for receiving a request for authorization of use by said first terminal of said at least one first function, said request coming from said application and comprising at least said identifier of said first terminal and at least said first identifier of said at least one first function;
- un module d’obtention depuis ladite chaîne de blocs, en fonction dudit identifiant dudit premier terminal, des données publiées via ladite publication de paiement ; - a module for obtaining from said blockchain, as a function of said identifier of said first terminal, data published via said payment publication;
- un troisième module d’émission d’une réponse à la requête d’autorisation comprenant au moins un second paramètre d’accès à ladite au moins une première fonction, ledit paramètre d’accès étant fonction du résultat de l’exécution de ladite au moins une seconde fonction obtenu dans les données de ladite publication de paiement ; - un troisième module de publication, dans la chaîne de blocs, dudit au moins un second paramètre d’accès et dudit identifiant dudit premier terminal. a third module for sending a response to the authorization request comprising at least one second parameter for accessing said at least one first function, said access parameter being a function of the result of the execution of said at least one first function. at least one second function obtained in the data of said payment publication; a third module for publishing, in the blockchain, said at least one second access parameter and said identifier of said first terminal.
L’invention concerne également un dispositif de contrôle de l’exécution d’une fonction d’une application, ledit dispositif de contrôle étant inscrit à une chaîne de blocs et comprenant : The invention also relates to a device for controlling the execution of a function of an application, said control device being registered in a chain of blocks and comprising:
- un module de réception d’une première requête d’exécution, en provenance d’un terminal, d’au moins une première fonction d’une application inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction et au moins un identifiant dudit terminal ; a module for receiving a first execution request, coming from a terminal, of at least a first function of an application registered in said chain of blocks, said request comprising at least a first identifier of said at least one at least one first function and at least one identifier of said terminal;
- un module d’émission d’une réponse à la requête d’exécution comprenant au moins un second identifiant d’au moins une seconde fonction inscrite dans ladite chaîne de blocs ;- a module for sending a response to the execution request comprising at least a second identifier of at least a second function registered in said chain of blocks;
- un module de publication, dans une chaîne de blocs, dudit identifiant dudit terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. - a module for publishing, in a chain of blocks, said identifier of said terminal, at least one piece of data associated with the reception step and at least one piece of data associated with the sending step.
Selon un mode de réalisation particulier de l’invention, un dispositif de contrôle de l’exécution d’une fonction d’une application tel que décrit ci-dessus est caractérisé en ce qu’il comporte en outre : According to a particular embodiment of the invention, a device for controlling the execution of a function of an application as described above is characterized in that it further comprises:
- un deuxième module de réception d’une deuxième requête d’exécution, en provenance dudit terminal, de ladite au moins une première fonction, ladite deuxième requête d’exécution comprenant au moins ledit premier identifiant de ladite au moins une première fonction et au moins ledit identifiant dudit terminal ; a second module for receiving a second execution request, coming from said terminal, of said at least one first function, said second execution request comprising at least said first identifier of said at least one first function and at least said identifier of said terminal;
- un deuxième module d’émission, d’une requête d’autorisation d’exécution, pour ledit terminal, de ladite au moins une première fonction, ladite requête d’autorisation comprenant au moins ledit identifiant dudit terminal et au moins ledit premier identifiant de ladite au moins une première fonction ; a second module for transmitting an execution authorization request, for said terminal, of said at least one first function, said authorization request comprising at least said identifier of said terminal and at least said first identifier of said terminal. said at least one first function;
- un troisième module de réception d’une réponse à la requête d’autorisation comprenant au moins un paramètre d’accès à ladite au moins une première fonction pour ledit terminal ;- a third module for receiving a response to the authorization request comprising at least one parameter for accessing said at least one first function for said terminal;
- un module d’exécution de ladite au moins une première fonction en fonction dudit au moins un paramètre d’accès reçu ; - un deuxième module de publication dans la chaîne de blocs, dudit au moins un paramètre d’accès, dudit identifiant dudit terminal et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une première fonction. a module for executing said at least one first function as a function of said at least one access parameter received; a second module for publishing in the blockchain said at least one access parameter, said identifier of said terminal and at least one piece of data associated with the result of the execution of said at least one first function.
Le terme module peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.). The term module can correspond both to a software component and to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subroutines or more generally. to any element of a program capable of implementing a function or a set of functions as described for the modules concerned. Likewise, a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).
L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en œuvre de l’un ou l’autre des procédés définis ci-dessus selon l’un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. Le procédé peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. The invention also relates to a computer program comprising instructions for implementing one or other of the methods defined above according to any one of the particular embodiments described above, when said program is executed. by a processor. The method can be implemented in various ways, in particular in wired form or in software form. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other. desirable shape.
L’invention vise aussi un support d’enregistrement ou support d’informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci- dessus. Les supports d’enregistrement mentionnés ci-avant peuvent être n’importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu’une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D’autre part, les supports d’enregistrement peuvent correspondre à un support transmissible tel qu’un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d’autres moyens. Les programmes selon l’invention peuvent être en particulier téléchargés sur un réseau de type Internet. Alternativement, les supports d’enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l’exécution du procédé en question. The invention also relates to a recording medium or information medium readable by a computer, and comprising instructions of a computer program as mentioned above. The aforementioned recording media can be any entity or device capable of storing the program. For example, the medium can comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a hard disk. On the other hand, the recording media can correspond to a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. The programs according to the invention can in particular be downloaded from an Internet type network. Alternatively, the recording media can correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
Ces dispositifs de contrôle d’accès à une fonction d’une application, de contrôle de l’exécution d’une fonction d’une application et ces programmes d’ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec les procédés de contrôle d’accès à une fonction d’une application et de contrôle de l’exécution d’une fonction d’une application. These devices for controlling access to a function of an application, for controlling the execution of a function of an application and these computer programs have characteristics and advantages similar to those described above in relation to the methods. for controlling access to a function of an application and for controlling the execution of a function of an application.
4. Liste des figures 4. List of figures
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : Other characteristics and advantages of the invention will emerge more clearly on reading the following description of particular embodiments, given by way of simple illustrative and non-limiting examples, and the accompanying drawings, among which:
[Fig 1] La figure 1 représente l’architecture matérielle d’un dispositif de contrôle d’accès à une fonction selon un mode particulier de réalisation ; [Fig 1] Figure 1 shows the hardware architecture of an access control device to a function according to a particular embodiment;
[Fig 2] La figure 2 représente l’architecture matérielle d’un dispositif de contrôle de l’exécution d’une fonction selon un mode particulier de réalisation ; [Fig 2] Figure 2 shows the hardware architecture of a device for controlling the execution of a function according to a particular embodiment;
[Fig 3] La figure 3 représente sous forme d’organigramme les principales étapes d’un procédé de contrôle d’accès à une fonction et les principales étapes d’un procédé de contrôle de l’exécution d’une fonction conformes aux modes de réalisation de l’invention. [Fig 3] FIG. 3 represents in the form of a flowchart the main steps of a method of controlling access to a function and the main steps of a method of controlling the execution of a function in accordance with the modes of operation. realization of the invention.
5. Description d'un mode de réalisation de l'invention 5. Description of an embodiment of the invention
La figure 1 représente l’architecture matérielle d’un dispositif de contrôle d’accès DCA à une fonction conforme à l’invention. Dans le mode de réalisation décrit ici, ce dispositif a l’architecture matérielle d’un ordinateur. Il comprend notamment un processeur PROC1, une mémoire vive MV1, une mémoire morte MEM1 et une mémoire flash non volatile MF1. De tels moyens sont connus en soi et ne sont pas décrits plus en détail ici. La mémoire morte constitue un support d’enregistrement conforme à Finvention, lisible par le processeur PROC1 et sur lequel est enregistré ici un programme d’ordinateur PG1 conforme à Finvention, ce programme comportant des instructions pour mettre en œuvre les étapes du procédé de contrôle d’accès à une fonction tel que décrit précédemment, lorsque le programme est exécuté par le processeur PROC1. FIG. 1 represents the hardware architecture of a DCA access control device to a function in accordance with the invention. In the embodiment described here, this device has the hardware architecture of a computer. It notably comprises a processor PROC1, a random access memory MV1, a read only memory MEM1 and a non-volatile flash memory MF1. Such means are known per se and are not described in more detail here. The read only memory constitutes a recording medium in accordance with the invention, readable by the processor PROC1 and on which is recorded here a computer program PG1 in accordance with the invention, this program comprising instructions for implementing the steps of the process. method of controlling access to a function as described above, when the program is executed by the processor PROC1.
A l'initialisation, les instructions de code du programme d'ordinateur PG1 sont par exemple chargées dans une mémoire avant d’être exécutées par le processeur PROC1. Le processeur PROC1 de l'unité de traitement UT1 met notamment en œuvre les étapes du procédé de contrôle d’accès à une fonction selon l’un quelconque des modes particuliers de réalisation décrits en relation avec la figure 3, selon les instructions du programme d’ordinateur PG1.On initialization, the code instructions of the computer program PG1 are for example loaded into a memory before being executed by the processor PROC1. The processor PROC1 of the processing unit UT1 notably implements the steps of the method of controlling access to a function according to any one of the particular embodiments described in relation to FIG. 3, according to the instructions of the program d computer PG1.
Le dispositif DCA comprend également des modules de communication COM 11 et COM 12 configuré pour établir des communications avec par exemple un réseau IP et/ou circuit. Le module de communication COM11 est utilisé pour recevoir des requêtes d’accès à une première fonction en provenance d’un terminal et le module COM 12 pour émettre une réponse comprenant des paramètres d’accès et un identifiant d’une deuxième fonction associés à la première fonction. Le dispositif DCA comprend de plus un module OBT1 apte à publier dans la chaîne de blocs des données liées aux étapes de réception et d’émission du procédé de contrôle d’accès à une fonction. The DCA device also comprises communication modules COM 11 and COM 12 configured to establish communications with for example an IP network and / or circuit. The communication module COM11 is used to receive requests for access to a first function coming from a terminal and the module COM 12 to send a response comprising access parameters and an identifier of a second function associated with the first function. The DCA device further comprises an OBT1 module capable of publishing in the block chain data related to the reception and transmission steps of the access control method to a function.
Selon un mode particulier de réalisation de l’invention, les modules COM11 et COM12 peuvent être un seul et même module (COM1) de communication. According to a particular embodiment of the invention, the modules COM11 and COM12 can be one and the same communication module (COM1).
Selon un mode particulier de réalisation de l’invention, le module COM1 est également apte à recevoir des requêtes d’exécution de la deuxième fonction et le module OBT1 apte à publier dans la chaîne de blocs des données liées à l’étape de réception d’une requête d’exécution et à son exécution. La deuxième fonction pouvant être exécutée par le dispositif DCA et son processeur PROC1 ou via un module dédié (non représenté ici). According to a particular embodiment of the invention, the module COM1 is also able to receive requests for execution of the second function and the module OBT1 is able to publish in the block chain data related to the step of receiving d 'an execution request and its execution. The second function can be executed by the DCA device and its processor PROC1 or via a dedicated module (not shown here).
Selon un mode particulier de réalisation de l’invention, le module COM1 peut aussi être utilisé pour émettre une réponse à la requête d’exécution avec des données concernant le résultat de l’exécution de la deuxième fonction. According to a particular embodiment of the invention, the module COM1 can also be used to send a response to the execution request with data concerning the result of the execution of the second function.
Selon un mode particulier de réalisation de l’invention, le module COM1 peut de plus recevoir des requêtes de demande d’autorisation concernant l’utilisation de la première fonction et émettre une réponse comprenant un deuxième paramètre d’accès en fonction d’une publication obtenue depuis la chaîne de blocs via le module OBT1. Le module OBT1 peut de plus publier dans la chaîne de blocs des données telles que le second paramètre, un identifiant du terminal ou toute autre donnée relative aux données reçues et émises par le module COM1. A noter que dans le mode de réalisation décrit ci-dessus, les requêtes reçues et émises par le dispositif DCA sont prises en charge par le module COM1. Alternativement le dispositif DCA peut comprendre plusieurs modules de communication permettant la réception et/ou l’émission des requêtes. According to a particular embodiment of the invention, the module COM1 can also receive authorization request requests concerning the use of the first function and send a response comprising a second access parameter according to a publication. obtained from the blockchain via the OBT1 module. The module OBT1 can also publish in the block chain data such as the second parameter, an identifier of the terminal or any other data relating to the data received and sent by the module COM1. Note that in the embodiment described above, the requests received and sent by the DCA device are handled by the module COM1. Alternatively, the DCA device can include several communication modules allowing the reception and / or transmission of requests.
De même, dans le mode de réalisation décrit ci-dessus, le module OBT1 gère l’ensemble des publications réalisées au niveau de la chaîne de blocs. Alternativement, le dispositif DCA peut comprendre plusieurs modules de publication permettant la publication et/ou l’obtention des publications au niveau de la chaîne de blocs. Likewise, in the embodiment described above, the OBT1 module manages all the publications made at the blockchain level. Alternatively, the DCA device can include several publication modules allowing the publication and / or the obtaining of the publications at the blockchain level.
La figure 2 représente l’architecture matérielle d’un dispositif de contrôle DCE de l’exécution d’une fonction conforme à l’invention. Dans le mode de réalisation décrit ici, ce dispositif a l’architecture matérielle d’un ordinateur. Il comprend notamment un processeur PROC2, une mémoire vive MV2, une mémoire morte MEM2 et une mémoire flash non volatile MF2. De tels moyens sont connus en soi et ne sont pas décrits plus en détail ici. La mémoire morte constitue un support d’enregistrement conforme à l’invention, lisible par le processeur PROC2 et sur lequel est enregistré ici un programme d’ordinateur PG2 conforme à l’invention, ce programme comportant des instructions pour mettre en œuvre les étapes du procédé de contrôle de l’exécution d’une fonction tel que décrit précédemment, lorsque le programme est exécuté par le processeur PROC2. Figure 2 shows the hardware architecture of a DCE control device for the execution of a function according to the invention. In the embodiment described here, this device has the hardware architecture of a computer. It comprises in particular a processor PROC2, a random access memory MV2, a read only memory MEM2 and a non-volatile flash memory MF2. Such means are known per se and are not described in more detail here. The read only memory constitutes a recording medium in accordance with the invention, readable by the processor PROC2 and on which is recorded here a computer program PG2 in accordance with the invention, this program comprising instructions for implementing the steps of the method of controlling the execution of a function as described above, when the program is executed by the processor PROC2.
A l'initialisation, les instructions de code du programme d'ordinateur PG2 sont par exemple chargées dans une mémoire avant d’être exécutées par le processeur PROC2. Le processeur PROC2 de l'unité de traitement UT2 met notamment en œuvre les étapes du procédé de contrôle de l’exécution d’une fonction selon l’un quelconque des modes particuliers de réalisation décrits en relation avec la figure 3, selon les instructions du programme d'ordinateur PG2. On initialization, the code instructions of the computer program PG2 are for example loaded into a memory before being executed by the processor PROC2. The processor PROC2 of the processing unit UT2 notably implements the steps of the method for controlling the execution of a function according to any one of the particular embodiments described in relation to FIG. 3, according to the instructions of the computer program PG2.
Le dispositif DCE comprend également des modules de communication COM21 et COM22 configuré pour établir des communications avec par exemple un réseau IP et/ou circuit. Le module de communication COM21 est utilisé pour recevoir des requêtes d’exécution d’une première fonction en provenance d’un terminal et le module COM22 émettre une réponse comprenant un identifiant d’une deuxième fonction inscrite dans une chaîne de blocs. A noter que la réponse peut également comprendre des paramètres réseaux. Le dispositif DCE comprend de plus un module OBT2 apte à publier dans la chaîne de blocs des données liées aux étapes de réception et d’émission du procédé de contrôle de l’exécution d’une fonction. The DCE device also comprises communication modules COM21 and COM22 configured to establish communications with for example an IP network and / or circuit. The communication module COM21 is used to receive requests for execution of a first function from a terminal and the module COM22 to send a response comprising an identifier of a second function registered in a chain of blocks. Note that the response can also include network parameters. The DCE device further comprises an OBT2 module capable of publishing in the block chain data related to the reception and transmission steps of the method for controlling the execution of a function.
Selon un mode particulier de réalisation de l’invention, les modules COM21 et COM22 peuvent être un seul et même module (COM2) de communication. According to a particular embodiment of the invention, the modules COM21 and COM22 can be one and the same communication module (COM2).
Selon un mode particulier de réalisation de l’invention, le module COM2 est également apte à émettre une requête d’autorisation d’utilisation de la première fonction par le terminal et à recevoir une réponse comprenant un paramètre d’accès à la première fonction. Le module OBT2 peut aussi être utilisé pour publier dans la chaîne de blocs des données liées à l’étape d’envoi de la requête d’autorisation d’utilisation et à son exécution en fonction d’un paramètre d’accès reçu en réponse à la requête d’autorisation d’utilisation. La première fonction pouvant être exécutée par le dispositif DCE et son processeur PROC2 ou via un module dédié (non représenté ici). According to a particular embodiment of the invention, the module COM2 is also able to send a request for authorization to use the first function by the terminal and to receive a response comprising an access parameter to the first function. The OBT2 module can also be used to publish in the blockchain data related to the step of sending the request for authorization of use and to its execution according to an access parameter received in response to the request for authorization of use. The first function can be executed by the DCE device and its processor PROC2 or via a dedicated module (not shown here).
Selon un mode particulier de réalisation de l’invention, le module COM2 peut également émettre, à destination du terminal, une réponse à la requête d’exécution, la réponse pouvant comprendre une donnée associée au résultat de l’exécution de la première fonction. Le module OBT2 peut de plus publier dans la chaîne de blocs des données telles que le résultat de l’exécution de la première fonction, un identifiant du terminal ou toute autre donnée relative aux données reçues et émises par le module COM2. According to a particular embodiment of the invention, the module COM2 can also send, to the terminal, a response to the execution request, the response possibly including data associated with the result of the execution of the first function. The OBT2 module can also publish in the blockchain data such as the result of the execution of the first function, an identifier of the terminal or any other data relating to the data received and sent by the module COM2.
A noter que dans le mode de réalisation décrit ci-dessus, les requêtes reçues et émises par le dispositif DCE sont prises en charge par le module COM2. Alternativement le dispositif DCE peut comprendre plusieurs modules de communication permettant la réception et/ou l’émission des requêtes. Note that in the embodiment described above, the requests received and sent by the DCE device are handled by the module COM2. Alternatively, the DCE device can include several communication modules allowing the reception and / or transmission of requests.
De même, dans le mode de réalisation décrit ci-dessus, le module OBT2 gère l’ensemble des publications réalisées au niveau de la chaîne de blocs. Alternativement, le dispositif DCE peut comprendre plusieurs modules de publication permettant la publication et/ou l’obtention des publications au niveau de la chaîne de blocs. Likewise, in the embodiment described above, the OBT2 module manages all the publications made at the blockchain level. Alternatively, the DCE device can include several publication modules allowing publication and / or obtaining of publications at the blockchain level.
En référence à la figure 3, nous allons maintenant décrire : les principales étapes E21, E22, E25, E26, E33 et E34 d’un procédé de contrôle d’accès à une fonction d’une application ; les principales étapes Eli, E12, E31, E32, E35, E37, E38 et E39 d’un procédé de contrôle de l’exécution d’une fonction d’une application. With reference to FIG. 3, we will now describe: the main steps E21, E22, E25, E26, E33 and E34 of a method for controlling access to a function of an application; the main steps Eli, E12, E31, E32, E35, E37, E38 and E39 of a method for controlling the execution of a function of an application.
La figure 3 est constitué d’un terminal TRM comme par exemple un terminal mobile ou un ordinateur apte à émettre et recevoir des requêtes vers et depuis une chaîne de blocs et des dispositifs DCE et DCA inscrits à une chaîne de blocs et aptes à exécuter des fonctions décentralisées ou DApps au sens de la technologie des chaînes de blocs. Ces applications se présentent sous la forme d’un code exécutable. Dans le cas décrit à l’appui de la figure 3 le dispositif DCE exécute une DApps comprenant une fonction Fl et le dispositif DCA exécute une DApps comprenant les fonctions F2 et F3. FIG. 3 consists of a TRM terminal such as for example a mobile terminal or a computer capable of sending and receiving requests to and from a block chain and DCE and DCA devices registered in a block chain and capable of executing decentralized functions or DApps in the sense of blockchain technology. These applications are in the form of executable code. In the case described in support of Figure 3, the DCE device executes a DApps comprising a function F1 and the DCA device executes a DApps comprising the functions F2 and F3.
Au cours d’une première étape E10, le terminal TRM envoie une requête d’exécution de la fonction Fl de la DApps au dispositif DCE. La requête comprend par exemple l’identifiant du terminal émetteur et l’identifiant de la fonction Fl. La requête peut aussi comprendre d’autres données comme des jetons, des clés cryptographiques permettant par exemple au dispositif DCE d’authentifier le terminal TRM ou un identifiant de l’utilisateur qu’il a préalablement renseigné au niveau du terminal TRM via par exemple une interface utilisateur dédiée telle qu’une interface vocale ou graphique. Bien évidement il est supposé que le terminal TRM et son utilisateur sont déjà connus et enregistrés au sein de la chaîne de blocs. During a first step E10, the TRM terminal sends a request for execution of the function F1 of the DApps to the DCE device. The request comprises for example the identifier of the sending terminal and the identifier of the function F1. The request can also include other data such as tokens, cryptographic keys allowing for example the DCE device to authenticate the TRM terminal or a user identifier that he has previously entered at the level of the TRM terminal via for example a dedicated user interface such as a voice or graphic interface. Obviously, it is assumed that the TRM terminal and its user are already known and registered within the blockchain.
A la réception de la requête (El 1) le dispositif DCE va traiter la demande et générer une réponse comprenant un identifiant d’une seconde fonction F2. Le dispositif DCE va ensuite envoyer cette réponse (El 2) au terminal TRM. Concrètement, le dispositif DCE réalise une redirection vers une fonction F2 d’une DApps exécutée par le dispositif DCA. Le dispositif DCE peut également publier dans la chaîne de blocs des informations liées aux étapes de réception et d’émission telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple l’identifiant du terminal, ou encore le résultat d’un traitement réalisé par le dispositif. On receipt of the request (El 1), the DCE device will process the request and generate a response comprising an identifier of a second function F2. The DCE device will then send this response (El 2) to the TRM terminal. Concretely, the DCE device realizes a redirection to an F2 function of a DApps executed by the DCA device. The DCE device can also publish in the block chain information related to the reception and transmission steps such as the date and time of reception and transmission of requests, elements received or sent such as for example the identifier. of the terminal, or the result of processing carried out by the device.
Une fois la réponse (El 3) à sa première requête reçue, le terminal TRM va générer une requête d’exécution de la fonction F2 à destination du dispositif DCA. La requête est envoyée à l’étape E20 avec par exemple les mêmes données que la première requête envoyée par le terminal TRM à l’étape E10. La requête est alors reçue, à l’étape E21, par le dispositif DCA qui va exécuter la fonction F2. Le résultat de la fonction F2 est par exemple une liste de couples de données dont la première donnée de chaque couple est un identifiant ou une chaîne de caractère indiquant une option tarifaire (ID PA) associé à l’exécution de la fonction Fl et la deuxième donnée, un identifiant d’une troisième fonction (ID F3) associée à l’option tarifaire. Le résultat de l’exécution de la fonction F2 est ensuite envoyé par le dispositif DCA (E22) puis reçu par le terminal TRM à l’étape E23. Once the response (El 3) to its first request has been received, the TRM terminal will generate a request for execution of the function F2 intended for the DCA device. The request is sent to step E20 with for example the same data as the first request sent by the terminal TRM to step E10. The request is then received, in step E21, by the DCA device that will perform the F2 function. The result of the function F2 is for example a list of data pairs of which the first data of each pair is an identifier or a character string indicating a tariff option (ID PA) associated with the execution of the function F1 and the second data, an identifier of a third function (ID F3) associated with the tariff option. The result of the execution of the function F2 is then sent by the DCA device (E22) and then received by the terminal TRM in step E23.
Le dispositif DCA peut également publier dans la chaîne de blocs des informations liées aux étapes de réception et d’émission telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple l’identifiant du terminal, les informations d’exécution de la fonction F2, ou encore le résultat de la fonction F2. Cette publication est appelée « publication tarifaire ». The DCA device can also publish in the block chain information related to the reception and transmission steps such as the date and time of reception and transmission of requests, elements received or sent such as for example the identifier. of the terminal, the execution information of the function F2, or the result of the function F2. This publication is called a "tariff publication".
Alternativement, à l’étape E21, le dispositif DCA peut ne pas avoir besoin d’exécuter la fonction F2. C’est par exemple le cas si la liste est statique, c’est-à-dire que les options tarifaires restent inchangées pendant un laps de temps assez long (ex : 1 semaine, 1 mois, 1 an, etc.). Alternatively, in step E21, the DCA device may not need to perform function F2. This is the case, for example, if the list is static, that is to say that the tariff options remain unchanged for a fairly long period of time (ex: 1 week, 1 month, 1 year, etc.).
Selon un mode particulier de réalisation de l’invention, une option tarifaire peut être associée à l’exécution d’une fonction, par exemple Fl, ou à plusieurs fonctions (Fil,According to a particular embodiment of the invention, a tariff option can be associated with the execution of a function, for example Fl, or with several functions (Fil,
F12,..., Fin). F12, ..., End).
Selon un mode particulier de réalisation de l’invention, une option tarifaire peut être fonction de l’identifiant du terminal. C’est par exemple le cas lorsqu’un prix à l’exécution de la fonction Fl est négocié par une entreprise pour ses salariés. According to a particular embodiment of the invention, a tariff option may depend on the identifier of the terminal. This is the case, for example, when a price for the execution of the function Fl is negotiated by a company for its employees.
Selon un mode particulier de réalisation de l’invention, une option tarifaire peut être associée à un délai de validité. According to a particular embodiment of the invention, a tariff option may be associated with a validity period.
L’utilisateur du terminal TRM va ensuite choisir une option tarifaire dans la liste en fonction de ses besoins. L’option tarifaire choisie va permettre de préciser le cadre d’exécution de la fonction Fl pour le terminal TRM et son utilisateur. Les options tarifaires peuvent par exemple déterminer : The user of the TRM terminal will then choose a tariff option from the list according to his needs. The tariff option chosen will make it possible to specify the framework for executing the function Fl for the TRM terminal and its user. The pricing options can for example determine:
- un prix en fonction d’un quota d’exécution de la fonction Fl ; - a price according to an execution quota for the function Fl;
- un prix en fonction d’une plage horaire pendant laquelle il est possible d’exécuter la fonction Fl ; - a price according to a time slot during which it is possible to perform the function Fl;
- un abonnement c’est-à-dire une utilisation illimitée de la fonction Fl pour une durée déterminée. - un prix en fonction d’une donnée extérieur à la chaîne de bloc telle qu’un coût énergétique ou des données émises par un Oracle. On rappelle qu’un Oracle est un service autorisé à entrer une donnée dans la chaîne de blocs à la demande d’un utilisateur. a subscription, that is to say unlimited use of the function F1 for a determined period. - a price based on a data external to the block chain such as an energy cost or data sent by an Oracle. Remember that an Oracle is a service authorized to enter data into the blockchain at the request of a user.
Dans le cas d’une plage horaire, le coût d’utilisation peut par exemple varier en fonction de la durée de la plage horaire ou en fonction de son heure de début. L’utilisateur peut par exemple payer moins cher pour une plage horaire débutant la nuit. Cela permet d’inciter les utilisateurs de la fonction Fl à demander son exécution pendant une période donnée pour tenir compte de la charge du serveur. Ainsi, il est possible de lisser dans le temps les exécutions et par conséquent d’optimiser les architectures matérielles (mémoire, processeurs, etc.) des serveurs. In the case of a time slot, the cost of use may for example vary depending on the duration of the time slot or depending on its start time. The user can, for example, pay less for a time slot starting at night. This makes it possible to encourage users of the Fl function to request its execution for a given period to take into account the load on the server. Thus, it is possible to smooth the executions over time and therefore optimize the hardware architectures (memory, processors, etc.) of the servers.
Une fois l’option choisie par l’utilisateur (E24), le terminal va envoyer une requête d’exécution de la fonction F3 au dispositif DCA. La Fonction F3 est par exemple une fonction de paiement associée à l’option tarifaire choisie. Le dispositif DCA va alors exécuter (E25) la fonction F3 et procéder au paiement grâce aux paramètres de paiement (PAY PARA) reçus précédemment. Alternativement, dans le cas où le paiement est fait à priori, le dispositif peut vérifier que le paiement a bien eu lieu grâce aux paramètres de paiement (PAY PARA) reçus précédemment. Ces paramètres peuvent être des informations bancaires, des informations liées à une preuve d’achat ou des informations liées au compte de l’utilisateur de la chaîne de blocs permettant d’effectuer ou d’attester un paiement. Le processus de paiement peut être réalisé en dehors de la chaîne de blocs ou bien en son sein. Dans le cas où le paiement est fait en dehors de la chaîne de blocs, le dispositif DCA va par exemple obtenir une preuve d’achat auprès d’un tiers pour déterminer si le paiement a bien été réalisé. Once the option has been chosen by the user (E24), the terminal will send a request to execute the F3 function to the DCA device. Function F3 is for example a payment function associated with the chosen tariff option. The DCA device will then execute (E25) the function F3 and proceed to payment using the payment parameters (PAY PARA) received previously. Alternatively, in the case where the payment is made a priori, the device can verify that the payment has indeed taken place thanks to the payment parameters (PAY PARA) received previously. These settings can be banking information, proof of purchase information, or blockchain user account information to make or certify a payment. The payment process can be done outside or inside the blockchain. In the event that payment is made outside of the blockchain, the DCA device will, for example, obtain proof of purchase from a third party to determine whether the payment has been made.
Alternativement, le processus de paiement peut correspondre à une mise sous séquestre d’une somme en prévision de l’exécution de la fonction Fl par le terminal utilisateur. La somme est alors débloquée au moment de l’exécution de la fonction Fl avec pour conséquence la réalisation du paiement. Alternatively, the payment process can correspond to a sequestration of an amount in anticipation of the execution of the function F1 by the user terminal. The amount is then released at the time of execution of the function Fl with the consequence of making the payment.
Selon un mode particulier de réalisation de l’invention, le dispositif DCA peut envoyer une réponse (E26) au terminal TRM comprenant le résultat du paiement ou son acceptation (PAY RESULT). Le résultat est par exemple un statut concernant l’acte de paiement (paiement effectué ou refusé ou en attente) ou bien toute autre donnée relative à l’acte de paiement (date, statut, numéro de transaction, établissement financier, etc.). Selon un mode particulier de réalisation de l’invention, le dispositif DCA peut obtenir depuis la chaîne de blocs, via les données de la publication dite tarifaire, la date à laquelle le dispositif DCA a envoyé au terminal TRM les options tarifaires de la fonction Fl (E22). Ainsi, dans le cas où l’option tarifaire choisie par le terminal TRM est associée à une durée de validité (par exemple 2 jours), le dispositif DCA peut vérifier que l’offre est toujours valide avant d’exécuter la fonction F3. Cette vérification est classiquement effectuée en comparant la date de réception de la requête E25 avec celle de la requête E22 à laquelle on ajoute la durée de validité. Si la date de la requête E25 est antérieure alors l’option tarifaire est toujours valide et le dispositif DCA peut exécuter la fonction F3. Dans le cas contraire un message d’erreur est envoyé au terminal TRM, par exemple lors de l’étape E26. According to a particular embodiment of the invention, the DCA device can send a response (E26) to the TRM terminal comprising the result of the payment or its acceptance (PAY RESULT). The result is for example a status concerning the act of payment (payment made or refused or pending) or any other data relating to the act of payment (date, status, transaction number, financial institution, etc.). According to a particular embodiment of the invention, the DCA device can obtain from the block chain, via the data of the so-called tariff publication, the date on which the DCA device sent the tariff options of the F1 function to the TRM terminal. (E22). Thus, in the case where the tariff option chosen by the TRM terminal is associated with a period of validity (for example 2 days), the DCA device can verify that the offer is still valid before executing the function F3. This verification is conventionally carried out by comparing the date of receipt of the request E25 with that of the request E22 to which the period of validity is added. If the date of the request E25 is earlier then the tariff option is still valid and the DCA device can execute the function F3. Otherwise, an error message is sent to the TRM terminal, for example during step E26.
Le dispositif DCA peut également publier dans la chaîne de blocs des informations liées aux étapes de réception (E25) et d’émission (E26) telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple l’identifiant du terminal, les informations d’exécution de la fonction F3, ou encore le résultat de la fonction F3. Cette publication est appelée « publication de paiement ». The DCA device can also publish in the blockchain information related to the reception (E25) and transmission (E26) steps such as the date and time of reception and transmission of requests, elements received or sent. such as for example the identifier of the terminal, the execution information of the function F3, or the result of the function F3. This publication is called a “payment publication”.
A l’étape E30 le terminal TRM émet une deuxième fois la requête de demande d’exécution de la fonction Fl à destination du dispositif DCE. La requête peut être enrichie par rapport à celle émise à l’étape E10 de données supplémentaires telles qu’un numéro de transaction de paiement ou une valeur de compteur. A la réception de la requête par le dispositif DCE (E31), celui-ci va vérifier si cette requête de demande d’exécution de la fonction Fl par le terminal TRM n’est pas la première. Pour cela le dispositif DCE peut consulter son historique de requêtes reçues et émises afin de déterminer si la requête en question est la première. Le dispositif peut aussi se baser sur des paramètres de la requête tels que le numéro de transaction de paiement ou la valeur du compteur. Dans le cas d’une valeur de compteur, c’est le terminal TRM qui va venir l’incrémenter lors d’une nouvelle émission de la requête de demande d’exécution de la fonction Fl. In step E30, the TRM terminal sends the request for execution of function F1 a second time to the DCE device. The request can be enriched with respect to that sent in step E10 with additional data such as a payment transaction number or a counter value. On receipt of the request by the DCE device (E31), the latter will check whether this request for execution of the function F1 by the terminal TRM is not the first. For this, the DCE device can consult its history of received and transmitted requests in order to determine whether the request in question is the first. The device can also be based on parameters of the request such as the payment transaction number or the value of the counter. In the case of a counter value, it is the TRM terminal which will increment it during a new transmission of the request for execution of the function F1.
Dans le cas où la requête ne serait pas la première, le dispositif DCE va à l’étape E32 émettre une demande d’autorisation d’utilisation de la fonction Fl par le terminal TRM à destination du dispositif DCA. Cette requête comprend par exemple l’identifiant du terminal TRM (ID TRM) et l’identifiant de la fonction Fl (ID Fl). Le dispositif DCA va alors obtenir, par exemple depuis une mémoire privée, le statut du paiement (résultat de l’exécution de la fonction F3 ou une preuve d’achat) et en déduire un paramètre d’accès à la fonction Fl (PARAC) pour le terminal TRM. If the request is not the first, the DCE device goes to step E32 to issue a request for authorization to use the function F1 by the terminal TRM to the DCA device. This request comprises for example the identifier of the terminal TRM (ID TRM) and the identifier of the function F1 (ID Fl). The DCA device will then obtain, for example from a private memory, the status of the payment (result of execution of function F3 or proof of purchase) and deduce therefrom an access parameter to function F1 (PARAC) for the terminal TRM.
Le paramètre d’accès peut également être fonction d’autres données telles que la date ou l’heure si l’offre tarifaire choisie par l’utilisateur est fonction d’une plage horaire mais aussi d’une valeur d’un compteur indiquant le nombre d’exécutions déjà effectuées de la fonction Fl si l’offre tarifaire choisie par l’utilisateur est fonction d’un nombre d’exécutions. Alternativement, le dispositif DCA peut obtenir le statut du paiement depuis la chaîne de blocs. L’obtention de ce statut peut se faire via les données de la publication dite de paiement et la récupération d’un paramètre dédié ou bien en reprenant les informations concernant l’exécution de la fonction de paiement. The access parameter can also be a function of other data such as the date or time if the tariff offer chosen by the user is a function of a time slot but also of a value of a counter indicating the number of executions already carried out of function F1 if the tariff offer chosen by the user is a function of a number of executions. Alternatively, the DCA device can get the status of the payment from the blockchain. Obtaining this status can be done via the data of the so-called payment publication and the retrieval of a dedicated parameter or by retrieving the information concerning the execution of the payment function.
Le paramètre PARAC peut par exemple être un booléen qui indique, lorsqu’il est par exemple positionné à 1 que le terminal TRM a l’autorisation d’exécuter la fonction Fl. Alternativement, le paramètre PARAC peut être une chaîne de caractère ou tout autre ensemble de données permettant de fournir un statut sur l’autorisation d’exécuter la fonction Fl par le terminal TRM. Ainsi le paramètre PARAC peut par exemple être un couple booléen/chaîne de caractère dans lequel le booléen donne l’information sur l’autorisation d’exécuter la fonction Fl par le terminal TRM et la chaîne de caractère représente un libellé tel qu’un code d’erreur dans le cas où l’autorisation serait refusée. The PARAC parameter can for example be a Boolean which indicates, when it is for example set to 1 that the TRM terminal has the authorization to execute the Fl function. Alternatively, the PARAC parameter can be a character string or any other set of data making it possible to provide a status on the authorization to execute the function F1 by the terminal TRM. Thus the PARAC parameter can for example be a boolean / character string pair in which the boolean gives information on the authorization to execute the function F1 by the terminal TRM and the character string represents a label such as a code error in the event that the authorization is refused.
A l’étape E34, le dispositif DCA va retourner une réponse au dispositif DCE comprenant le paramètre d’accès PARAC, l’identifiant du terminal TRM (ID TRM) et l’identifiant de la fonction Fl (ID Fl). In step E34, the DCA device will return a response to the DCE device comprising the access parameter PARAC, the identifier of the TRM terminal (ID TRM) and the identifier of the function Fl (ID Fl).
Le dispositif DCA peut également publier dans la chaîne de blocs des informations liées aux étapes de réception (E33) et d’émission (E34) telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple l’identifiant du terminal, le paramètre d’accès PARAC, ou encore le résultat d’un traitement réalisé par le dispositif. The DCA device can also publish in the blockchain information related to the reception (E33) and transmission (E34) steps such as the date and time of reception and transmission of requests, elements received or sent. such as for example the identifier of the terminal, the access parameter PARAC, or the result of a processing carried out by the device.
Lorsque le dispositif DCE reçoit la réponse (E35), celui-ci va tester (E37) le paramètre PARAC. Si le paramètre PARAC indique que l’exécution de la fonction Fl par le terminal TRM n’est pas autorisée, alors le dispositif DCE envoie le paramètre PARAC au terminal TRM. Le terminal TRM a ainsi l’information que l’exécution n’est pas possible et la raison pour laquelle l’exécution ne peut pas être réalisée. Inversement, si le paramètre PARAC indique que l’exécution de la fonction Fl par le terminal TRM est autorisée, alors le dispositif va exécuter la fonction Fl (E38) et envoyer le résultat de l’exécution au terminal TRM (E39). When the DCE device receives the response (E35), it will test (E37) the PARAC parameter. If the PARAC parameter indicates that the execution of the function F1 by the terminal TRM is not authorized, then the device DCE sends the parameter PARAC to the terminal TRM. The TRM terminal thus has the information that execution is not possible and the reason why execution cannot be carried out. Conversely, if the PARAC parameter indicates that the execution of the function F1 by the terminal TRM is authorized, then the device will execute the function F1 (E38) and send the result of the execution to the terminal TRM (E39).
Le dispositif DCE peut également publier dans la chaîne de blocs des informations liées aux étapes de réception (E31 et E35) et d’émission (E32, E36, E39) telles que la date et l’heure de réception et d’émission des requêtes, des éléments reçus ou envoyés comme par exemple l’identifiant du terminal, le paramètre d’accès PARAC, les informations d’exécution de la fonction Fl ou encore le résultat de l’exécution de la fonction Fl. The DCE device can also publish in the blockchain information related to the reception (E31 and E35) and transmission (E32, E36, E39) steps such as the date and time of reception and transmission of requests. , elements received or sent such as for example the identifier of the terminal, the access parameter PARAC, the execution information of the function F1 or the result of the execution of the function F1.
Selon un mode particulier de réalisation de l’invention, la fonction Fl peut être exécutée en dehors de la chaîne de blocs. Dans ce cas le dispositif DCE va envoyer la demande d’exécution à un serveur externe via une interface dédiée de la chaîne de blocs. According to a particular embodiment of the invention, the function F1 can be executed outside the blockchain. In this case the DCE device will send the execution request to an external server via a dedicated blockchain interface.
Selon un mode particulier de réalisation de l’invention, les dispositifs DCE et DCA peuvent être une seule et même machine informatique exécutant plusieurs DApps mettant en œuvre les fonctions Fl, F2 et F3. According to a particular embodiment of the invention, the DCE and DCA devices can be one and the same computer machine executing several DApps implementing the functions F1, F2 and F3.
Selon un mode particulier de réalisation de l’invention (non décrit ici), si l’exécution de la fonction Fl échoue, par exemple suite à une indisponibilité (problème de mémoire, problème de charge du serveur/ordinateur, ou autre), alors une requête est émise depuis le dispositif DCE à destination du dispositif DCA comprenant un paramètre indiquant que l’exécution de la fonction Fi a échoué, l’identifiant du terminal TRM et l’identifiant de la fonction Fl. Le dispositif DCA pourra alors effectuer par exemple un remboursement partiel ou total de la somme précédemment payée à l’étape E25. According to a particular embodiment of the invention (not described here), if the execution of the function Fl fails, for example following an unavailability (memory problem, server / computer load problem, or other), then a request is sent from the DCE device to the DCA device comprising a parameter indicating that the execution of the function Fi has failed, the identifier of the terminal TRM and the identifier of the function Fl. The DCA device can then perform by example a partial or total reimbursement of the sum previously paid in step E25.
Selon un mode particulier de réalisation de l’invention, l’utilisateur peut, via son terminal TRM et avant l’étape E10, consulter un annuaire de fonctions afin de choisir la fonction Fl à exécuter. L’annuaire peut par exemple être représenté au niveau du terminal sous forme d’une liste de fonctions ou d’un tableau de fonctions avec par exemple une description, le nom du développeur et une note pour chaque fonction, la note étant par exemple le résultat d’une moyenne des notes données par les utilisateurs pondérée par le taux de disponibilité de la fonction. L’annuaire peut par exemple être récupéré en réponse suite à une requête envoyée par le terminal TRM à destination d’une DApps inscrite dans une chaîne de blocs. According to a particular embodiment of the invention, the user can, via his TRM terminal and before step E10, consult a directory of functions in order to choose the function F1 to be executed. The directory can for example be represented at the terminal level in the form of a list of functions or a table of functions with for example a description, the name of the developer and a note for each function, the note being for example the result of an average of the scores given by the users weighted by the availability rate of the function. The directory can for example be retrieved in response to a request sent by the TRM terminal to a DApps registered in a blockchain.
Il va de soi que le mode de réalisation qui a été décrit ci-dessus a été donné à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l’homme de l’art sans pour autant sortir du cadre de l’invention. It goes without saying that the embodiment which has been described above has been given purely as an indication and in no way limiting, and that many modifications can be easily made by those skilled in the art without departing from the scope. of the invention.

Claims

REVENDICATIONS
1. Procédé de contrôle d’accès à une fonction d’une application mis en œuvre par un dispositif de contrôle d’accès à une fonction d’une application, ce dispositif de contrôle étant inscrit à une chaîne de blocs, le procédé étant caractérisé en ce qu’il comprend : 1. A method of controlling access to a function of an application implemented by a device for controlling access to a function of an application, this control device being registered in a chain of blocks, the method being characterized. in that it includes:
- une étape de réception (E21), en provenance d’un premier terminal, d’une première requête d’accès à au moins une première fonction (Fl) de l’application, ladite application étant inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction (ID Fl) et au moins un identifiant dudit premier terminal (ID TRM) ; - a receiving step (E21), from a first terminal, of a first access request to at least a first function (F1) of the application, said application being registered in said chain of blocks, said request comprising at least a first identifier of said at least one first function (ID F1) and at least one identifier of said first terminal (ID TRM);
- une étape d’émission (E22) d’une réponse à la requête d’accès comprenant au moins un paramètre d’accès (ID PA) à ladite au moins une première fonction et au moins un second identifiant d’au moins une seconde fonction (ID F3) inscrite dans ladite chaîne de blocs, ledit au moins un second identifiant étant associé audit au moins un paramètre. - a step of sending (E22) a response to the access request comprising at least one access parameter (ID PA) to said at least one first function and at least one second identifier of at least one second function (ID F3) registered in said chain of blocks, said at least one second identifier being associated with said at least one parameter.
2. Procédé de contrôle d’accès selon la revendication 1, dans lequel l’étape d’émission est suivie d’une première étape de publication dans ladite chaîne de blocs, dudit identifiant dudit premier terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. 2. The access control method according to claim 1, wherein the issuing step is followed by a first step of publishing in said blockchain, said identifier of said first terminal, at least one piece of data associated with the receiving step and at least one piece of data associated with the sending step.
3. Procédé de contrôle d’accès selon la revendication 1, dans lequel l’étape d’émission est suivie : 3. Access control method according to claim 1, wherein the issuance step is followed:
- d’une deuxième étape de réception, en provenance d’au moins un second terminal, d’une requête d’exécution de ladite au moins une seconde fonction, ladite requête d’exécution comprenant au moins ledit identifiant dudit premier terminal ; - a second step of receiving, from at least one second terminal, a request to execute said at least one second function, said execution request comprising at least said identifier of said first terminal;
- d’une étape d’exécution de ladite au moins une seconde fonction ; - a step of performing said at least one second function;
- d’une deuxième étape de publication dans la chaîne de blocs, dite publication de paiement, dudit identifiant dudit premier terminal, d’au moins une donnée associée à ladite deuxième étape de réception et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une seconde fonction. - a second step of publication in the blockchain, called payment publication, of said identifier of said first terminal, at least one datum associated with said second receiving step and at least one datum associated with the result of the 'execution of said at least one second function.
4. Procédé de contrôle d’accès selon la revendication 3, dans lequel la deuxième étape de publication est suivie d’une deuxième étape d’émission d’une réponse à la requête d’exécution comportant au moins une donnée associée au résultat de l’exécution de ladite au moins une seconde fonction. 4. The access control method according to claim 3, wherein the second publication step is followed by a second step of issuing a response to the execution request comprising at least one item of data associated with the result of the process. execution of said at least one second function.
5. Procédé de contrôle d’accès selon la revendication 3, dans lequel la deuxième étape de publication est suivie : 5. Access control method according to claim 3, wherein the second publication step is followed:
- d’une troisième étape de réception, en provenance de ladite application, d’une requête d’autorisation d’utilisation par ledit premier terminal de ladite au moins une première fonction, ladite requête d’autorisation comprenant au moins ledit identifiant dudit premier terminal et au moins ledit premier identifiant de ladite au moins une première fonction ; a third step of receiving, from said application, a request for authorization of use by said first terminal of said at least one first function, said authorization request comprising at least said identifier of said first terminal and at least said first identifier of said at least one first function;
- d’une étape d’obtention depuis ladite chaîne de blocs, en fonction dudit identifiant dudit premier terminal, des données publiées via ladite publication de paiement ;- a step of obtaining from said blockchain, based on said identifier of said first terminal, data published via said payment publication;
- d’une troisième étape d’émission d’une réponse à la requête d’autorisation comprenant au moins un second paramètre d’accès à ladite au moins une première fonction, ledit paramètre d’accès étant fonction du résultat de l’exécution de ladite au moins une seconde fonction obtenu via les données de ladite publication de paiement ; a third step of sending a response to the authorization request comprising at least one second parameter for accessing said at least one first function, said access parameter being a function of the result of the execution of said at least one second function obtained via the data of said payment publication;
- d’une troisième étape de publication, dans la chaîne de blocs, dudit au moins un second paramètre d’accès et de l’identifiant dudit premier terminal. - a third step of publishing, in the blockchain, said at least one second access parameter and the identifier of said first terminal.
6. Procédé de contrôle de l’exécution d’une fonction d’une application mis en œuvre par un dispositif de contrôle de l’exécution d’une fonction d’une application, ce dispositif de contrôle étant inscrit à une chaîne de blocs, le procédé étant caractérisé en ce qu’il comprend : 6. A method of controlling the execution of a function of an application implemented by a device for controlling the execution of a function of an application, this control device being registered in a chain of blocks, the method being characterized in that it comprises:
- une étape de réception (Eli), en provenance d’un terminal, d’une première requête d’exécution d’au moins une première fonction d’une application (Fl) inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction (ID Fl) et au moins un identifiant dudit terminal (ID TRM) ; a step of receiving (Eli), coming from a terminal, a first request for executing at least a first function of an application (Fl) registered in said chain of blocks, said request comprising at least a first identifier of said at least one first function (ID F1) and at least one identifier of said terminal (ID TRM);
- une étape d’émission d’une réponse à la requête d’exécution comprenant au moins un second identifiant d’au moins une seconde fonction (ID F2) inscrite dans ladite chaîne de blocs. - a step of issuing a response to the execution request comprising at least a second identifier of at least a second function (ID F2) registered in said chain of blocks.
7. Procédé de contrôle de l’exécution selon la revendication 6, dans lequel l’étape d’émission est suivie d’une première étape de publication dans la chaîne de blocs, dudit identifiant dudit terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. 7. A method of controlling the execution according to claim 6, wherein the sending step is followed by a first step of publishing in the blockchain, said identifier of said terminal, at least one piece of data associated with the reception step and at least one piece of data associated with the transmission step.
8. Procédé de contrôle de l’exécution selon la revendication 6, dans lequel l’étape d’émission est suivie : 8. A method of controlling the execution according to claim 6, wherein the issuance step is followed:
- d’une deuxième étape de réception, en provenance dudit terminal, d’une deuxième requête d’exécution de ladite au moins une première fonction, ladite deuxième requête d’exécution comprenant au moins ledit premier identifiant de ladite au moins une première fonction et au moins ledit identifiant dudit terminal ; a second step of receiving, from said terminal, a second request for execution of said at least one first function, said second request for execution comprising at least said first identifier of said at least one first function and at least said identifier of said terminal;
- d’une deuxième étape d’émission, d’une requête d’autorisation d’exécution, pour ledit terminal, de ladite au moins une première fonction, ladite requête d’autorisation comprenant au moins ledit identifiant dudit terminal et au moins ledit premier identifiant de ladite au moins une première fonction ; a second step of sending, of an execution authorization request, for said terminal, of said at least one first function, said authorization request comprising at least said identifier of said terminal and at least said first identifier of said at least one first function;
- d’une troisième étape de réception d’une réponse à la requête d’autorisation comprenant au moins un paramètre d’accès à ladite au moins une première fonction pour ledit terminal ; - a third step of receiving a response to the authorization request comprising at least one access parameter to said at least one first function for said terminal;
- d’une étape d’exécution de ladite au moins une première fonction en fonction dudit au moins un paramètre d’accès reçu ; - a step of executing said at least one first function as a function of said at least one access parameter received;
- d’une deuxième étape de publication dans la chaîne de blocs, dudit au moins un paramètre d’accès, dudit identifiant dudit terminal et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une première fonction. - a second step of publishing in the blockchain, said at least one access parameter, said identifier of said terminal and at least one piece of data associated with the result of the execution of said at least one first function.
9. Procédé de contrôle de l’exécution selon la revendication 8, dans lequel la deuxième étape de publication est suivie d’une troisième étape d’émission d’une réponse à la deuxième requête d’exécution comprenant au moins une donnée associée au résultat de l’exécution de ladite au moins une première fonction. 9. A method of controlling the execution according to claim 8, in which the second publication step is followed by a third step of sending a response to the second execution request comprising at least one piece of data associated with the result. of the execution of said at least a first function.
10. Dispositif de contrôle d’accès à une fonction d’une application, ledit dispositif de contrôle étant inscrit à une chaîne de blocs et comprenant : 10. Access control device to an application function, said control device being registered in a blockchain and comprising:
- un module de réception (COM11) d’une première requête d’accès, en provenance d’un premier terminal, à au moins une première fonction de l’application, ladite application étant inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction et au moins un identifiant dudit premier terminal ; a module for receiving (COM11) a first access request, coming from a first terminal, to at least a first function of the application, said application being registered in said chain of blocks, said request comprising at least at least one first identifier of said at least one first function and at least one identifier of said first terminal;
- un module d’émission (COM12) d’une réponse à la requête d’accès comprenant au moins un paramètre d’accès à ladite au moins une première fonction et au moins un second identifiant d’au moins une seconde fonction inscrite dans ladite chaîne de blocs, ledit au moins un second identifiant étant associé audit au moins un paramètre ; - un module de publication (OBT1) dans ladite chaîne de blocs, dudit identifiant dudit premier terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. a module (COM12) for sending a response to the access request comprising at least one parameter for accessing said at least one first function and at least one second identifier of at least one second function registered in said chain of blocks, said at least one second identifier being associated with said at least one parameter; a module for publishing (OBT1) in said chain of blocks, said identifier of said first terminal, at least one datum associated with the receiving step and at least one datum associated with the sending step.
11. Dispositif de contrôle d’accès selon la revendication 10 caractérisé en ce qu’il comporte en outre : 11. Access control device according to claim 10 characterized in that it further comprises:
- un deuxième module de réception d’une requête d’exécution, en provenance d’au moins un second terminal, de ladite au moins une seconde fonction, ladite requête d’exécution comprenant au moins ledit identifiant dudit premier terminal ; - a second module for receiving an execution request, coming from at least a second terminal, of said at least one second function, said execution request comprising at least said identifier of said first terminal;
- un module d’exécution de ladite au moins une seconde fonction ; - a module for executing said at least one second function;
- un deuxième module de publication dans la chaîne de blocs, d’une publication dite de paiement, dudit identifiant dudit premier terminal, d’au moins une donnée associée à ladite deuxième étape de réception et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une seconde fonction. a second module for publishing in the blockchain, a so-called payment publication, said identifier of said first terminal, at least one piece of data associated with said second receiving step and at least one piece of data associated with the result of performing said at least one second function.
12. Dispositif de contrôle d’accès selon la revendication 11 caractérisé en ce qu’il comporte en outre : 12. Access control device according to claim 11 characterized in that it further comprises:
- un troisième module de réception, d’une requête d’autorisation d’utilisation par ledit premier terminal de ladite au moins une première fonction, ladite requête étant en provenance de ladite application et comprenant au moins ledit identifiant dudit premier terminal et au moins ledit premier identifiant de ladite au moins une première fonction ; a third module for receiving a request for authorization of use by said first terminal of said at least one first function, said request coming from said application and comprising at least said identifier of said first terminal and at least said first identifier of said at least one first function;
- un module d’obtention depuis ladite chaîne de blocs, en fonction dudit identifiant dudit premier terminal, des données publiées via ladite publication de paiement ;- a module for obtaining from said blockchain, as a function of said identifier of said first terminal, data published via said payment publication;
- un troisième module d’émission d’une réponse à la requête d’autorisation comprenant au moins un second paramètre d’accès à ladite au moins une première fonction, ledit paramètre d’accès étant fonction du résultat de l’exécution de ladite au moins une seconde fonction obtenu dans les données de ladite publication de paiement ; a third module for sending a response to the authorization request comprising at least one second parameter for accessing said at least one first function, said access parameter being a function of the result of the execution of said at least one first function. at least one second function obtained in the data of said payment publication;
- un troisième module de publication, dans la chaîne de blocs, dudit au moins un second paramètre d’accès et dudit identifiant dudit premier terminal. - a third module for publishing, in the blockchain, said at least one second access parameter and said identifier of said first terminal.
13. Dispositif de contrôle de l’exécution d’une fonction d’une application, ledit dispositif de contrôle étant inscrit à une chaîne de blocs et comprenant : 13. Device for controlling the execution of an application function, said control device being registered in a blockchain and comprising:
- un module de réception (COM21) d’une première requête d’exécution, en provenance d’un terminal, d’au moins une première fonction d’une application inscrite dans ladite chaîne de blocs, ladite requête comprenant au moins un premier identifiant de ladite au moins une première fonction et au moins un identifiant dudit terminal ; - a module for receiving (COM21) a first execution request, coming from a terminal, of at least a first function of an application registered in said chain of blocks, said request comprising at least a first identifier of said at least one first function and at least one identifier of said terminal;
- un module d’émission (COM22) d’une réponse à la requête d’exécution comprenant au moins un second identifiant d’au moins une seconde fonction inscrite dans ladite chaîne de blocs ; - a module for sending (COM22) a response to the execution request comprising at least a second identifier of at least a second function registered in said chain of blocks;
- un module de publication (OBT2), dans une chaîne de blocs, dudit identifiant dudit terminal, d’au moins une donnée associée à l’étape de réception et d’au moins une donnée associée à l’étape d’émission. - a publication module (OBT2), in a chain of blocks, of said identifier of said terminal, of at least one data item associated with the reception step and at least one item of data associated with the transmission step.
14. Dispositif de contrôle de l’exécution d’une fonction selon la revendication 13 caractérisé en ce qu’il comporte en outre : 14. Device for controlling the execution of a function according to claim 13, characterized in that it further comprises:
- un deuxième module de réception d’une deuxième requête d’exécution, en provenance dudit terminal, de ladite au moins une première fonction, ladite deuxième requête d’exécution comprenant au moins ledit premier identifiant de ladite au moins une première fonction et au moins ledit identifiant dudit terminal ; a second module for receiving a second execution request, coming from said terminal, of said at least one first function, said second execution request comprising at least said first identifier of said at least one first function and at least said identifier of said terminal;
- un deuxième module d’émission, d’une requête d’autorisation d’exécution, pour ledit terminal, de ladite au moins une première fonction, ladite requête d’autorisation comprenant au moins ledit identifiant dudit terminal et au moins ledit premier identifiant de ladite au moins une première fonction ; a second module for transmitting an execution authorization request, for said terminal, of said at least one first function, said authorization request comprising at least said identifier of said terminal and at least said first identifier of said terminal. said at least one first function;
- un troisième module de réception d’une réponse à la requête d’autorisation comprenant au moins un paramètre d’accès à ladite au moins une première fonction pour ledit terminal ; - a third module for receiving a response to the authorization request comprising at least one parameter for accessing said at least one first function for said terminal;
- un module d’exécution de ladite au moins une première fonction en fonction dudit au moins un paramètre d’accès reçu ; - a module for executing said at least one first function as a function of said at least one received access parameter;
- un deuxième module de publication dans la chaîne de blocs, dudit au moins un paramètre d’accès, dudit identifiant dudit terminal et d’au moins une donnée associée au résultat de l’exécution de ladite au moins une première fonction. - a second blockchain publication module, said at least one access parameter, said identifier of said terminal and at least one piece of data associated with the result of the execution of said at least one first function.
15. Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de contrôle d’accès à une fonction et du procédé de contrôle de l’exécution d’une fonction selon l’une quelconque des revendications 1 à 5, 6 à 9, lorsque ledit programme est exécuté par un processeur. 15. A computer program comprising instructions for implementing the method for controlling access to a function and the method for controlling the execution of a function according to any one of claims 1 to 5, 6 to 9, when said program is executed by a processor.
EP21710027.0A 2020-02-19 2021-02-17 Method and device for controlling access to a function of an application registered in a blockchain Pending EP4107905A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2001661A FR3107417A1 (en) 2020-02-19 2020-02-19 Method and device for controlling access to a function of an application registered in a blockchain.
PCT/FR2021/050276 WO2021165612A1 (en) 2020-02-19 2021-02-17 Method and device for controlling access to a function of an application registered in a blockchain

Publications (1)

Publication Number Publication Date
EP4107905A1 true EP4107905A1 (en) 2022-12-28

Family

ID=72470405

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21710027.0A Pending EP4107905A1 (en) 2020-02-19 2021-02-17 Method and device for controlling access to a function of an application registered in a blockchain

Country Status (4)

Country Link
US (1) US20230177214A1 (en)
EP (1) EP4107905A1 (en)
FR (1) FR3107417A1 (en)
WO (1) WO2021165612A1 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544708B2 (en) * 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
US10693716B2 (en) * 2018-05-29 2020-06-23 At&T Mobility Ii Llc Blockchain based device management
US20200020440A1 (en) * 2018-07-12 2020-01-16 Appley Health, Inc. Computer-assist method using distributed ledger technology for operating and managing an enterprise
US11348097B2 (en) * 2018-08-06 2022-05-31 Inveniam Capital Partners, Inc. Digital contracts in blockchain environments
SG11202102264QA (en) * 2018-09-11 2021-04-29 Visa Int Service Ass System, method, and computer program product for fraud management with a shared hash map
BR112021008819A2 (en) * 2018-11-13 2021-08-17 Banqu, Inc. managing permissions to access user data in a distributed ledger trust network
MX2019004667A (en) * 2018-11-27 2019-08-21 Alibaba Group Holding Ltd Function-as-a-service (faas) platform in blockchain networks.
US11263315B2 (en) * 2018-12-03 2022-03-01 Ebay Inc. System level function based access control for smart contract execution on a blockchain
US11030297B2 (en) * 2019-01-04 2021-06-08 Comcast Cable Communications, Llc Systems and methods for device and user authorization

Also Published As

Publication number Publication date
FR3107417A1 (en) 2021-08-20
US20230177214A1 (en) 2023-06-08
WO2021165612A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
EP3113099B1 (en) Payment container, creation method, processing method, devices and programs therefor
WO2018154082A1 (en) System and method for processing a banking transaction
EP1299838A1 (en) System and method for managing micropayment transactions, corresponding client terminal and trader equipment
EP1164529A1 (en) System and method for issuing electronic coupons
FR3062499A1 (en) METHOD FOR REDUCING THE SIZE OF A BLOCKED CHAIN TYPE DATABASE, DEVICE AND PROGRAM THEREOF
EP1314143A1 (en) Online transaction information backup method and device
WO2021165612A1 (en) Method and device for controlling access to a function of an application registered in a blockchain
EP3485451B1 (en) Method for processing at least one piece of payment means data, payment terminal and corresponding computer program
CA2999731A1 (en) Treatment process for data by a payment terminal, corresponding payment terminal and program
EP3926566A1 (en) Validation of a transaction relative to an offer of goods or a service to a user
WO2020128240A1 (en) Processing of an electronic ticket service
WO2022269179A1 (en) Blockchain payment method and device
CA3143068A1 (en) Service application system for payment terminals
FR3093225A1 (en) A method of managing a user's access to a voice service, device, system and corresponding programs
EP2080160A1 (en) Payment method and system by means of a mobile telephone
US7110965B1 (en) Method and system for data repository
EP4099249A1 (en) Method and device for transmitting an identifier of a user during an electronic payment made by the user
FR2881006A1 (en) Communication system for electronic lottery game system, has data management server opening account related to actuation code in ticket, when code is received, and transmitting data associated to code, to telephone only if code is valid
WO2002005226A1 (en) Micropayment transaction management method, client devices, trader and financial intermediary
FR2962830A1 (en) SERVER, TERMINAL AND SECURE TRANSACTION METHOD
FR3140184A1 (en) Method and device for allocating an NFT
WO2023001846A1 (en) Method for transaction between an organisation and an establishment on a blockchain
WO2021053300A1 (en) Method for transmitting a complementary information relating to a financial transaction
FR3143143A1 (en) Method of connecting to a personal account on an online service using a blockchain
WO2003098433A2 (en) Systems and methods for selectively controlling and recording effective use of programmes such as software packages on computer stations

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220824

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE