WO2018151427A1 - 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 - Google Patents
스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 Download PDFInfo
- Publication number
- WO2018151427A1 WO2018151427A1 PCT/KR2018/000914 KR2018000914W WO2018151427A1 WO 2018151427 A1 WO2018151427 A1 WO 2018151427A1 KR 2018000914 W KR2018000914 W KR 2018000914W WO 2018151427 A1 WO2018151427 A1 WO 2018151427A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- certificate
- authentication
- server
- application
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 involving a third party or a trusted authority
- H04L9/3213—Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present invention uses a smart contract and a blockchain database to log in through a public key infrastructure (PKI) -based authentication for a user's login request to use a service provided by a service providing server. It relates to a method for acting, a service providing server and an authentication server to perform the same.
- PKI public key infrastructure
- OAuth 2.0 is a service for subscribing to a user's personal account, which is a standardized authentication method in web, mobile, and desktop applications, and an open protocol for secure authentication. Since there was no standard of authentication method before OAuth was used, the combination of ID and password, which is the existing basic authentication, was used, which was weak in security. In the case of non-basic authentication, each application identified the user according to their own company's method, including Google's AuthSub, AOL's OpenAuth, Yahoo's BBAuth, and Amazon's Web Services API. OAuth is an authentication standard that standardizes these different authentication methods. With OAuth, applications that share this authentication do not need separate authentication. This makes it possible to integrate and use multiple applications. OAuth 2.0 is the latest version of OAuth. This OAuth 2.0 method is outlined as follows.
- an authentication request for login is transmitted to the service providing server from a user terminal which is a terminal of the user according to the user's operation.
- the service providing server receiving the authentication request transmits the login information to the authentication server, and the authentication server verifies the login information and returns the authorization information to the service providing server when the verification is successfully completed.
- the service providing server transmits predetermined approval delivery information to the user terminal, and the user terminal receiving the received information transmits the information requesting an access token to the authentication server, thereby accessing issued by the authentication server. Obtain a token. Then, the user terminal may request a resource related to the service from the service providing server with the access token, and thus the login agent procedure is completed.
- the service providing server may request a verification request for the access token to the authentication server to confirm whether the access token obtained from the user terminal is valid, and in response, the authentication server may return the user's attribute information.
- the present inventor is not limited to the conventional OAuth 2.0 protocol, but by using a blockchain-based technology, the security is more enhanced than the conventional OAuth 2.0 protocol, and a method capable of substituting authentication of individuals or servers of various structures. I would like to propose.
- the present invention is to provide a method and a server for enhancing the security and usability of the conventional OAuth described above, the object of the present invention is to provide a technical method that can replace the existing method at a low cost while strong security and usability. There is.
- the present invention provides a method of ultimately preventing forgery by referring to certificate-related information recorded in a private / public blockchain database of virtual currency and recording information on the authentication result in such a blockchain database. It aims to do it.
- the present invention aims to increase security by verifying not only a certificate for a user individual using multiple signatures but also a certificate of a service providing server that is a target of a service request.
- an object of the present invention is to provide a temporary ID, so that a service can be provided even for a user who does not have a user ID.
- Another object of the present invention is to ensure the integrity (integrity) of the database by performing verification on the relevant information using the transaction recorded in the blockchain database as described above.
- Still another object of the present invention is to provide a system for providing a login agent service based on a blockchain having a means for performing authentication for an individual or a server having various structures.
- a public key infrastructure (PKI) -based authentication for the user's login request to use the service provided by the service providing server using a smart contract and blockchain database
- PKI public key infrastructure
- a method for performing a login is provided, wherein the smart contract is source code that can be executed on a plurality of computing devices, including an authentication server or other device linked to the authentication server, compiled into executable bytecode, and upon execution of the smart contract. Is configured to perform a predetermined procedure when a specific condition is satisfied, and the integrity of the execution result value that is a result of the execution is verified by consensus on the execution result values calculated from the plurality of computing devices.
- the information may be obtained by (i) a public key PubA generated by the public key infrastructure (PKI) based encryption scheme, and (ii) a hash value of identification information for identifying a subject of the certificate.
- the identification information hash value IdhashA, and (iii) a byte code BC (SC (VcertA)) that is the result of the compilation of a smart contract SC (VcertA) corresponding to the validity condition VcertA of the certificate, and the service providing server
- the server certificate which is a certificate of and the application certificate which is a certificate of the authentication application executed by the user terminal are the smart contract based certificate, and the method includes: (a) a server certificate registration transaction, which is information of the server certificate or a processed value thereof; An application certificate registration transaction, which is information of the application certificate or a processed value thereof, is transmitted to the blockchain database.
- the authentication application in a state in which the state S (SC (VcertA)), which is recorded and is an execution parameter of the smart contract SC (VcertA) of the server certificate and the application certificate, is registered in a state database SDB.
- SC state S
- the authentication request information which is information for requesting the proxy for login
- the authentication request response information that is the result of the service providing server determining whether the login is possible.
- Delivering to the service providing application (b) after the authentication redirection request of the service providing application is transmitted to the authentication application, if the server challenge request information including the variable authentication value generated by the authentication server is obtained from the authentication application, The service providing server transmits server challenge request response information corresponding to the server challenge request information to the authentication application, thereby causing the authentication server to refer to the blockchain database and the state database with the server certificate and the application certificate. Assisting in determining whether is valid; And (c) an authentication result message including whether the server certificate and the application certificate are valid is obtained from the authentication server, and the authentication result message is an authentication success message indicating that the server certificate and the application certificate are valid. And handling, by the service providing server, the login by passing a predetermined access token to the service providing application to enable the service providing application to use the service through the access token. do.
- public key infrastructure (PKI) based authentication is performed on a user's login request for using a service provided by a service providing server using a smart contract and a blockchain database.
- a method for performing a login is provided, wherein the smart contract is source code that can be executed on a plurality of computing devices, including an authentication server or other device linked to the authentication server, compiled into executable bytecode, and upon execution of the smart contract. Is configured to perform a predetermined procedure when a specific condition is satisfied, and the integrity of the execution result value that is a result of the execution is verified by consensus on the execution result values calculated from the plurality of computing devices.
- the information of the certificate is a result of hashing (i) a public key PubA generated by the public key infrastructure (PKI) based encryption scheme, and (ii) identification information for identifying a subject of the certificate.
- PKI public key infrastructure
- An application certificate which is a certificate of a second application to be executed, is the smart contract-based certificate
- the method includes (a) an application certificate registration transaction, which is information of the application certificate or a processed value thereof, is recorded in the blockchain database,
- the state S (SC (VcertA)) which is an execution parameter of the smart contract SC (VcertA) of the application certificate is (state database)
- the first receiving the authentication redirection request authentication redirection request
- the service providing server forwarding the challenge initiation request information including the public key of the application certificate to the authentication server; ;
- public key infrastructure (PKI) based authentication is performed on a user's login request for using a service provided by a service providing server using a smart contract and a blockchain database.
- PKI public key infrastructure
- a method for subscribing to a login through the smart contract is source code that can be executed on a plurality of computing devices, including an authentication server or other device linked to the authentication server, compiled into executable bytecode, and the execution Is configured to perform a predetermined procedure if a specific condition is satisfied at a time, and the integrity of an execution result value that is a result of the execution is determined by consensus of the execution result values calculated from the plurality of computing devices.
- the information of the certificate is a result of hashing (i) a public key PubA generated by the public key infrastructure (PKI) based encryption scheme, and (ii) identification information for identifying a subject of the certificate.
- Identification information hash value IdhashA, and (iii) byte code BC (SC (VcertA)) which is the result of compilation of smart contract SC (VcertA) corresponding to the valid condition VcertA of the certificate
- An application certificate which is a certificate of a second application to be executed, is the smart contract-based certificate, and the method includes (a) an application certificate registration transaction, which is information of the application certificate or a processed value thereof, is recorded in the blockchain database,
- the state S (SC (VcertA)) which is an execution parameter of the smart contract SC (VcertA) of the application certificate is
- the state database is registered in the SDB, and receives an authentication redirection request, which is information for requesting to substitute the login through the second application from the first application executed
- the service providing server forwarding the challenge initiation request information including the user identification information to the authentication server; (b) when the challenge initiation request response information including the variable authentication value generated by the authentication server is obtained in response to the challenge initiation request information, the service providing server receives the application challenge request information including the variable authentication value. Delivering to the second application to enable the second application to generate a value signed by the variable authentication value with a private key of the application certificate; (c) when the application challenge request response information including a value signed with the private key of the application certificate is obtained, the service providing server transmits the application challenge request response information to the authentication server, thereby authenticating the authentication.
- public key infrastructure (PKI) based authentication of a user's login request to use a service provided by a service providing server using a smart contract and a blockchain database is provided.
- the smart contract is a source code that can be executed on a plurality of computing devices including an authentication server or other device linked to the authentication server compiled into executable byte code, If a specific condition is satisfied at the time of execution, it is configured to perform a predetermined procedure, and the integrity of the execution result value that is the result of the execution is based on a consensus on the execution result values calculated from the plurality of computing devices.
- the information of the certificate is a result of hashing (i) a public key PubA generated by the public key infrastructure (PKI) based encryption scheme, and (ii) identification information for identifying a subject of the certificate.
- PKI public key infrastructure
- An application certificate which is a certificate of a second application to be executed, is the smart contract-based certificate
- the method includes (a) an application certificate registration transaction, which is information of the application certificate or a processed value thereof, is recorded in the blockchain database,
- the state S (SC (VcertA)) which is an execution parameter of the smart contract SC (VcertA) of the application certificate is
- a state database is registered in the SDB, and receives an authentication redirection request, which is information for requesting to substitute a login through the second application from a first application executed by the user terminal.
- the authentication server starts the challenge. Generating a variable authentication value in response to the request information; (b) the authentication server forwarding the challenge initiation request response information including the generated variable authentication value to the service providing server, causing the service providing server to send the application challenge request information including the variable authentication value. Supporting the second application to generate a value signed by the second certificate with the private key of the application certificate; (c) when the application challenge request response information including a value signed with the private key of the application certificate is obtained, the authentication server determines the application challenge request response information, the blockchain database, and the state database.
- the authentication server forwards an authentication result message including whether the application certificate is valid to the service providing server and the second application, causing the service providing server to send the authentication result message to the application certificate.
- said temporary application passed from said second application to said first application and supporting said temporary application to said second application if the authentication success message indicates that is valid; Processing the login by supporting the service via an ID and (ii) an access token included in the authentication success message.
- public key infrastructure (PKI) based authentication is performed on a user's login request for using a service provided by a service providing server using a smart contract and a blockchain database.
- the service providing server for performing a method for performing a login through is provided, in which the smart contract is compiled into executable byte code and includes a plurality of devices including an authentication server or another device linked to the authentication server.
- Source code that can be executed on a computing device, and configured to perform a predetermined procedure if a specific condition is satisfied at the time of execution, and the integrity of the execution result value as a result of the execution is calculated from the plurality of computing devices.
- the information on the smart contract-based certificate may include (i) a public key PubA generated by the public key infrastructure (PKI) -based encryption method, and (ii) identifying a subject of the certificate.
- the identification information hash value IdhashA which is a result of hashing the identification information to be used, and (iii) the byte code BC (SC (SC)
- SC SC
- a server certificate registration transaction that is a processed value or information of the application certificate or a processed value
- An application certificate registration transaction is recorded in the blockchain database, and the state S (SC (VcertA)), which is an execution parameter of the smart contract SC (VcertA) of the server certificate and the application certificate, is a state database SDB.
- SC smart contract
- a communication unit which obtains authentication request information, which is information for requesting the substitution of the login through the authentication application, from the service providing application executed by the user terminal in a state registered in the; And (i) when the authentication request information is obtained, transferring authentication request response information, which is a result of determining whether the login is possible, to the service providing application, (ii) an authentication redirection request of the service providing application ( After the authentication redirection request is delivered to the authentication application, if server challenge request information including a variable authentication value generated by the authentication server is obtained from the authentication application, a server challenge request response corresponding to the server challenge request information is obtained.
- the service providing application Passing the information to the authentication application to enable the authentication server to determine whether the server certificate and the application certificate are valid with reference to the blockchain database and the state database, and (iii) the An authentication result message including whether the server certificate and the application certificate are valid is obtained from an authentication server, and if the authentication result message is an authentication success message indicating that the server certificate and the application certificate are valid, the service providing application And a processor that performs a process of processing the login by passing a predetermined access token to enable the service providing application to use the service through the access token.
- public key infrastructure (PKI) based authentication is performed on a user's login request for using a service provided by a service providing server using a smart contract and a blockchain database.
- an authentication server for performing a method for performing a login through the server, wherein the smart contract is compiled into an executable byte code and comprises a plurality of computing devices including an authentication server or another device linked to the authentication server.
- Source code that can be executed on a computer, and is configured to perform a predetermined procedure if a specific condition is satisfied at the time of execution, and the integrity of the execution result value as a result of the execution is calculated from the plurality of computing devices.
- the information on the smart contract-based certificate may include (i) a public key PubA generated by the public key infrastructure (PKI) -based encryption method, and (ii) an identification for identifying a subject of the certificate.
- Identification code hash value IdhashA which is a result of hashing information
- SC (VcertA) Byte code BC (SC (VcertA)) which is the result of compilation of smart contract SC (VcertA) corresponding to the valid condition VcertA of the certificate.
- the server certificate which is a certificate of the service providing server, and an application certificate, which is a certificate of an authentication application executed by a user terminal, is a smart contract-based certificate, and the authentication server includes the information of the server certificate or the same.
- a server certificate registration transaction that is a value or information of the application certificate or an application certificate that is a processed value.
- a registration transaction is recorded in the blockchain database, and the state S (SC (VcertA)), which is an execution parameter of the smart contract SC (VcertA) of the server certificate and the application certificate, is registered in the state database SDB.
- SC smart contract
- the challenge initiation request information is obtained from the authentication application executed by the user terminal in response to an authentication redirection request corresponding to the authentication request information, which is information for requesting the substitution of the login through the authentication application.
- a communication unit And (i) when the challenge initiation request information is obtained, generating a variable authentication value corresponding to the challenge initiation request information, and transferring the challenge initiation request response information including the variable authentication value to the authentication application, thereby authenticating the authentication.
- the server is referred to by referring to the response request information, the blockchain database, and the state database.
- the service providing server supports the transfer of a predetermined access token to the service providing application executed by the user terminal, thereby causing the service providing application to perform the And a processor that performs the process of processing the login by supporting the service through an access token.
- public key infrastructure (PKI) based authentication is performed on a user's login request for using a service provided by a service providing server using a smart contract and a blockchain database.
- the service providing server for performing a method for performing a login through is provided, in which the smart contract is compiled into executable byte code and includes a plurality of devices including an authentication server or another device linked to the authentication server.
- Source code that can be executed on a computing device, and configured to perform a predetermined procedure if a specific condition is satisfied at the time of execution, and the integrity of the execution result value as a result of the execution is calculated from the plurality of computing devices.
- the information on the smart contract-based certificate may include (i) a public key PubA generated by the public key infrastructure (PKI) -based encryption method, and (ii) identifying a subject of the certificate.
- the identification information hash value IdhashA which is a result of hashing the identification information to be used, and (iii) the byte code BC (SC (SC)
- SC Application certificate, which is a certificate of a second application executed by a user terminal, is a smart contract-based certificate
- the authentication server includes an application certificate registration transaction, which is information of the application certificate or a processed value thereof.
- S S (SC (VcertA)
- SDB SDB
- the second application When the challenge initiation request response information including the authentication value is obtained, the second application sends the variable authentication value to the second application by passing the application challenge request information including the variable authentication value to the second application. a process for generating a value signed with a private key; and (iii) if application challenge request response information including a value signed with a private key of the application certificate is obtained, the application challenge request response information.
- the certificate by forwarding it to the authentication server A process for assisting the user to determine whether the application certificate is valid with reference to the blockchain database and the state database, and (iv) an authentication result message including whether the application certificate is valid from the authentication server; And if the authentication result message is an authentication success message indicating that the application certificate is valid, passing a temporary ID to the second application, causing the first application to send the first application from the second application. And a processor that performs the process of processing the login by supporting the use of the service through (i) the temporary ID and (ii) an access token included in the authentication success message passed to an application. .
- public key infrastructure (PKI) based authentication is performed on a user's login request for using a service provided by a service providing server using a smart contract and a blockchain database.
- an authentication server for performing a method for performing a login through the server, wherein the smart contract is compiled into an executable byte code and comprises a plurality of computing devices including an authentication server or another device linked to the authentication server.
- Source code that can be executed on a computer, and is configured to perform a predetermined procedure if a specific condition is satisfied at the time of execution, and the integrity of the execution result value as a result of the execution is calculated from the plurality of computing devices.
- the information on the smart contract-based certificate may include (i) a public key PubA generated by the public key infrastructure (PKI) -based encryption method, and (ii) an identification for identifying a subject of the certificate.
- Identification code hash value IdhashA which is a result of hashing information
- SC (VcertA) Byte code BC (SC (VcertA)) which is the result of compilation of smart contract SC (VcertA) corresponding to the valid condition VcertA of the certificate.
- the application certificate which is a certificate of a second application executed by a user terminal, is a smart contract-based certificate
- the authentication server includes an application certificate registration transaction, which is information of the application certificate or a processed value thereof, in the blockchain.
- SC smart contract
- a communication unit for obtaining request information And (i) when the challenge initiation request information is obtained, generating a variable authentication value in response to the challenge initiation request information, and (ii) generating the challenge initiation request response information including the generated variable authentication value.
- a processor that performs the process of processing the login by supporting the use of the service through (i) the temporary ID and (ii) an access token included in the authentication success message passed to the first application It includes.
- the forgery of the certificate-related information is essentially prevented, thereby ensuring the reliability.
- FIG. 1 is a conceptual diagram schematically illustrating an exemplary configuration of a service providing server, an authentication server, and a user terminal for performing a method for substituting login according to the first to third embodiments of the present invention.
- FIG. 2 is a sequence diagram exemplarily illustrating a method for performing login through multiple signatures using a server certificate and an application certificate according to the first to third embodiments of the present invention.
- FIG. 3 is a sequence diagram exemplarily illustrating a method for substituting login using multiple information in the absence of a user ID according to the first to third embodiments of the present invention.
- 4 and 5 are conceptual views schematically illustrating a process in which transactions are recorded in a predetermined database according to the second embodiment of the present invention.
- 6 and 7 exemplarily illustrate a smart contract (source code) for limiting the number of times of use of a certificate to initNumber and 10 according to the third embodiment of the present invention.
- database refers to a system of data, that is, a set of integrated managed information and a system for managing the same, and includes at least some of a general relational database, a MongoDB database, and a blockchain database.
- a general relational database a MongoDB database
- a blockchain database a blockchain database of virtual currency is described, but a person skilled in the art may understand that other types of databases may be modified.
- public blockchain database refers to utilizing all computing devices on a virtual currency system that manages a public blockchain, a blockchain that is widely used in the public as a blockchain of virtual currency, as a database.
- private blockchain database in the present specification refers to a so-called, privately configured private block that is directly managed by an authentication server according to the present invention, which uses a blockchain of virtual currency but is not a public blockchain used for the public. Refers to a database using a chain.
- the virtual currency refers to a digital currency circulated by a transaction based on an electronic wallet with blockchain technology, and in the virtual currency, bitcoin, light coin, dark coin, name coin, ceramic coin, ripple, etc. There is this.
- the "smart contract” is code that can be compiled into executable bytecode and executed on at least one computing device, and is configured to perform a predetermined procedure if a specific condition is satisfied at the time of execution, and the result of the execution Integrity of the execution result refers to a concept characterized in that it is verified by consensus on the execution result calculated from the at least one computing device.
- the present invention encompasses all possible combinations of the embodiments indicated herein. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.
- the first embodiment of the present invention is an embodiment in which an unspent transaction output (UTXO) of virtual currency is used, and an individual transaction related to the UTXO is recorded in a predetermined blockchain database.
- UTXO unspent transaction output
- the second embodiment of the present invention uses a UTXO of virtual currency to record an individual transaction related to the UTXO in a first blockchain database, and then generate a representative hash value generated from the transactions recorded in the first blockchain database.
- a UTXO of virtual currency to record an individual transaction related to the UTXO in a first blockchain database, and then generate a representative hash value generated from the transactions recorded in the first blockchain database.
- the third embodiment of the present invention uses a state database (SDB) for managing state information on a certificate that varies by smart contract, and records a transaction in a predetermined blockchain database.
- SDB state database
- the change in state is an embodiment that is configured by writing to a state database.
- the second blockchain database is a blockchain that is indirectly recorded through the first blockchain database for data integrity. It's a database.
- FIG. 1 is a conceptual diagram schematically illustrating an exemplary configuration of a service providing server, an authentication server, and a user terminal for performing a method for signing in according to the present invention.
- an authentication server, a service providing server, and a user terminal are typically a computing device 100 (eg, a computer processor, memory, storage, input and output devices, other conventional devices).
- a device that may include components of a computing device; an electronic communication device such as a router, a switch, etc .; an electronic information storage system such as a network attached storage (NAS) and a storage area network (SAN), computer software (ie, computing device) It may be to carry out the method according to the invention using a combination of instructions to cause it to function in a particular way, such a computing device 100 comprising a communication unit 110, a processor 120, It can communicate indirectly or directly with each other.
- NAS network attached storage
- SAN storage area network
- the communication unit 110 of the computing device may transmit and receive a request and a response with another computing device to which the computing device is linked.
- the request and response may be made by the same TCP session, but are not limited thereto.
- it may be transmitted and received as a UDP datagram.
- the processor 120 of the computing device may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, a data bus, and the like.
- the operating system may further include a software configuration of an application performing a specific purpose.
- FIG. 2 is a sequence diagram exemplarily illustrating a method for performing login through multiple signatures using a server certificate and an application certificate (hereinafter, referred to as a “multi-signed login proxy method”) according to the present invention.
- authentication request information which is information for requesting substitute agent login through an authentication application executed by a user terminal used by a user, includes the user terminal.
- the service providing server delivers the authentication request response information, which is a result of determining whether the agent can perform the login (S215) (S215). , S215).
- the authentication request information may include authentication type information (auth type), which is information defining a type of authentication.
- this authentication type information may be used to select the type of authentication requested according to the severity of the service, such as whether to use a service such as a simple inquiry or an important service such as payment when the user wants to use the service. Corresponds to the parameter that makes it possible.
- the authentication request information may include authentication application identification information for identifying the authentication application
- the service providing server that obtains the authentication application identification information may include (i) a service provided by the service providing server. Based on information such as whether or not the proxy for login through the authentication application is allowed, and (ii) if the service permits the login through the authentication application, whether the proxy is allowed for the user. It is possible to determine whether the substitution of the login is possible, the result can be returned as authentication request response information.
- the authentication request information may further include at least one of information for identifying the user terminal and information for identifying the service providing application, in order to determine whether a proxy for login may be allowed for the user.
- information for identifying the user terminal and information for identifying the service providing application, in order to determine whether a proxy for login may be allowed for the user.
- the service providing server can allow a proxy to log in through the authentication application.
- the authentication request response information includes at least one of the authentication application identification information, an authorization level, service providing server identification information capable of identifying a service providing server, and a referrer service key. can do.
- the approval level refers to the level, range and degree of the service that the user is provided from the service providing server by using the login agent of the present invention.
- the approval level is a value provided by the authentication server at each login agent.
- the authentication server determines the level equal to or lower than the access level, which is a value uniquely set for the service providing server.
- the access level is determined by the authentication server at the time of registration of the server certificate, which is the certificate of the service providing server, which will be described in detail later.
- reference service key is a value used to identify the identity of the session (session) in which the user is performed when the user uses the login agent method of the present invention, the service providing server The value provided by
- the step (S210, S215) is the information of the server certificate, which is the certificate of the service providing server or the server certificate registration transaction, which is a processed value, and the information of the application certificate, which is the certificate of the authentication application, or the same.
- the application certificate registration transaction, which is a value may be performed while being recorded in the blockchain database.
- the blockchain database may be a private blockchain database or a public blockchain database.
- the certificate that is, the server certificate and the application certificate generally means a certificate by a public key and a private key generated by the public key infrastructure (PKI) based encryption scheme.
- PKI public key infrastructure
- the information of the certificate that can be delivered to the authentication server in the registration phase of the certificate for registering the certificate is, for example, (i) a public key PubA generated by the public key infrastructure (PKI) based encryption scheme. It may include.
- the information of the certificate may further include (ii) an identification information hash value IdhashA which is a result of hashing identification information for identifying a subject of the certificate, and the information of the certificate may include (iii) the PKI-based encryption scheme.
- At least one of additional information such as a encryption type, (iv) a license key, and (v) a license level as information for specifying at least one of a type and a type of hash operation. May be further included.
- the license key is predetermined information that is negotiated in advance between the operator of the service providing server and the operator of the authentication server. Therefore, if the license key is different from the one negotiated in advance or the type of the license key does not conform to a predetermined standard, the information transmitted to the authentication server may be determined as traffic for cracking. Meanwhile, the operator side of the authentication server may change the corresponding license key to an unusable state when the contract relationship with the operator of the service providing server is terminated.
- the license level corresponds to the level, scope and degree of the service provided by the authentication server to the service providing server for the login agent, the license level is a value that can be predetermined by the above agreement.
- the information of the certificate may further include information generated in the registration phase of the certificate in response to the information of (i) to (v) obtained by the authentication server, which identifies the certificate.
- the information may be at least one of certificate identification information and an access level.
- the certificate identification information is server certificate identification information.
- the certificate identification information is application certificate identification information.
- This access level means the range and degree of a service that can be accessed through the certificate when the login agent service is provided through the certificate, and the license level is a unique value between the authentication server and the service providing server.
- the access level is assigned to the service providing server by the authentication server when the server certificate is issued, and is a value unique to the certificate.
- the access level may be determined by the authentication server to be equal to or lower than the license level.
- the identification information hash value IdhashA may be used by a corporation or an individual who is identification information of the user, for example, a service provider who is a user of a service providing server, an authentication application used in a user terminal, or a user who is a user of a second application. It may be a result of hashing information.
- the identification information may include, for example, at least one of a name (name), a date of establishment (date of birth), contact information, and an e-mail, but the present disclosure is not limited thereto.
- hash functions used for the hash operation are MD4 function, MD5 function, SHA-0 function, SHA-1 function, SHA-224 function, SHA-256 function, SHA-384 function, SHA-512 function and HAS-. 160 function may be included, but is not limited thereto. For example, Triple SHA256 would be possible.
- the integrity of the server certificate and the application certificate may be verified by referring to the server certificate registration transaction and the application certificate registration transaction recorded in the blockchain database. This will be described later in detail.
- the multi-signature login proxy method after the authentication redirection request (authentication redirection request) of the service providing application is transmitted to the authentication application (S220), the authentication server from the authentication application
- the service providing server delivers the server challenge request response information corresponding to the server challenge request information to the authentication application (S240).
- S245 to S250 by supporting the authentication server to determine whether a server certificate which is a certificate of the service providing server and an application certificate that is a certificate of the authentication application are valid (S220 to S250).
- the authentication redirection request may include service providing application identification information for identifying a service providing application, service type information for identifying a type of a provided service, the authentication level, and a service for identifying a service providing server. It may include at least one of the providing server identification information and the reference service key.
- variable authentication value is used to verify whether the server certificate and the application certificate is valid, and may be a one-time number, for example, a timestamp value, but is not limited thereto. For example, it may be a random random nonce, i.e. a random value, generated from any seed value.
- the method for generating the variable authentication value will not be described in more detail because it is unnecessary detail in understanding the present invention, as it is known or easily understood by those skilled in the art.
- the server challenge request information may further include at least one of a referrer auth key and the referrer service key.
- the referrer authentication key is used to identify which authentication application and challenge initiation request delivered by the service providing server in the user using the login agent method of the present invention, that is, to identify the authentication application and the service providing server.
- a value provided is a value provided by the authentication server.
- This referrer authentication key is a value included in the challenge initiation request response information transmitted from the authentication server to the authentication application, which will be described later.
- the server challenge request response information corresponding to the server challenge request information may further include at least one of the reference authentication key, service type information, authorization level, and service providing server identification information.
- the information transmitted and received between the subjects performing the method is encoded by using the public key of the receiving side. It is common to be.
- information to be transmitted can be obtained by decoding using the private key of the receiving side.
- the server challenge request information may include the variable authentication value encoded by the public key of the server certificate.
- the service providing server obtains the variable authentication value from the server challenge request information using the private key of the server certificate, and includes the value of signing the variable authentication value using the private key of the server certificate.
- the server challenge request response information may be delivered to the authentication application.
- the information to be transmitted will not necessarily be encoded using the public key of the receiving side.
- the well-known symmetric-key algorithm may be used.
- the multi-signature login agent method obtains an authentication result message including whether the server certificate and the application certificate are valid from the authentication server ( S260a, S260b), and if the authentication result message is an authentication success message indicating that the server certificate and the application certificate are valid, the service providing server transmits a predetermined access token to the service providing application ( S270) to process the login by supporting the service providing application to use the service through the access token (S260a, S260b and S270).
- the authentication result message may further include the application certificate identification information, and may further include at least one of the service providing application identification information and the service providing server identification information.
- the access token is predetermined information transmitted to the service providing server by a user terminal executing the service providing application to use the service, and may be an ASCII value or a binary value.
- This access token is a unique value for identifying a user using the service providing application and is a value that should be stored without being exposed. Therefore, it may be delivered according to a PKI-based encryption scheme.
- the access token may be a value that is invalidated when the issuing subject sets a predetermined validity period to exceed the validity period in the future.
- the access token may be an access token provided in an OAuth authentication scheme, in which case the access token may be a combination of alphanumeric characters and special characters.
- the access token provided in the OAuth authentication method may be in the form of “fb2e77d.47a0479900504cb3ab4a1f626d174d2d”, and a person of ordinary skill in the art may understand the access token used in the OAuth authentication method provided as an example.
- the multi-signature login agent method first, request to substitute the login through the authentication application executed by the user terminal
- the authentication server By generating a variable authentication value corresponding to the challenge initiation request information and transferring the challenge initiation request response information including the variable authentication value to the authentication application (S235), the authentication application is a certificate of the service providing server.
- the service providing server S245
- the challenge initiation request information may include at least one of application certificate identification information for identifying an application certificate, the service providing application identification information, and the reference service key.
- the challenge initiation request response information corresponding thereto may further include at least one of the referrer authentication key and the referrer service key.
- the referrer authentication key is used to identify which authentication application and challenge initiation request delivered by the service providing server in the user using the login agent method of the present invention, that is, the authentication application and the service provision. A value provided by the authentication server to identify the server.
- a multi-signature value which is a value obtained by signing the server challenge request response information using a private key of an application certificate which is a certificate of the authentication application. If the response request information including a is obtained from the authentication application, the authentication server further comprises the step of determining whether the server certificate and the application certificate is valid using the response request information (S250).
- the response request information may further include at least one of the reference authentication key, the service type information, the authorization level, and service providing server identification information.
- the authentication server verifies whether the server certificate and the application certificate are valid by verifying a signature of the multi-signature value using the public key of the server certificate and the public key of the application certificate. It can be characterized by.
- a predetermined hash value A can be obtained from the multi-signature value using the public key of the server certificate and the public key of the application certificate, and the predetermined hash value A and the variable authentication value can be obtained.
- the signature can be validated by comparing the result (B) obtained by applying the hash function. In such a comparison, the signature is invalid if the hash value and the result obtained by applying the predetermined hash function are different, and if the signature is the same, it is well known to a person skilled in the art. You will see how to validate digital signatures.
- the authentication server may support to manage or manage information regarding an access level to the service providing server, and the approval level may be referred to with reference to the access level.
- authorization level the authentication result message may include information regarding the authorization level, and whether or not the server certificate is valid may be determined with reference to the authorization level.
- the access level may include cracking history information related to whether the service providing server has been cracked, if any, how often and how often, or the function and performance of the security service that the service providing server can provide. Information and rating information determined based on the license level.
- this access level may be a value determined in the registration phase of the certificate, but is not limited thereto, and a person skilled in the art may understand that the access level may vary with time.
- the permission level determined according to the access level may correspond to information indicating the service use level, for example, when a service allowed to a user who uses the service through the service providing server is differentiated according to the service use level. have.
- the authorization level may be used as a basis for determining a valid time for using the service with one login.
- the operator of the authentication server can easily change the access level or the authorization level in the case that the login agent service needs to be restricted due to the service providing server being exposed to cracking.
- the authentication server sends an authentication result message including whether the server certificate is valid to at least one of the authentication application and the service providing server.
- the authentication result message is an authentication success message indicating that the server certificate is valid by forwarding (S260a and S260b)
- a predetermined access token is generated by the service providing server to a service providing application executed by the user terminal.
- To process the login S260a, S260b, and S270) by supporting the service providing application to use the service through the access token.
- step S260a is shown after step S260b, but the order may be reversed, and step S260a and step S260b may be performed simultaneously.
- the authentication server after the step (S250), the authentication server, the authentication result message or a value processed therein recorded in the blockchain database as an authentication result transaction Or supporting another device linked to the authentication server (not shown).
- the authentication result transaction By recording this authentication result transaction in the blockchain database, not only an administrator using an authentication server or a third party who has authority to access the blockchain database can verify the authenticity of the authentication result message, but also multiple authentication results. You can manage the statistical value of messages.
- the multi-signature login agent method (i) information of a specific server certificate recorded in the blockchain database, the authentication server, periodically or in response to an integrity verification request Or at least one of a specific server certificate enrollment transaction that is a fictitious value, (ii) a specific application certificate enrollment transaction that is a fictitious value of a specific application certificate or a fictitious value, and (iii) a specific authentication result transaction that is a specific authentication result message or a fictitious value. Verifying the integrity of the information of (i), (ii) and (iii) by referring to the information of (i), or supporting another device linked to the authentication server (not shown). Can be.
- FIG. 3 is a sequence diagram exemplarily illustrating a method for performing a login using multiple information in the absence of a user ID (hereinafter, “a temporary ID login proxy method”) according to the present invention.
- a temporary ID login proxy method a method for performing a login using multiple information in the absence of a user ID
- the temporary ID login proxy method may be configured to request a proxy for login through a second application executed by the user terminal from a first application executed by the user terminal.
- authentication redirection request which is information (S310)
- the service providing server receives the user. And transmitting the challenge start request information S330 including the identification information to the authentication server (S310 to S330).
- the user identification information is information for distinguishing the user from other users and may be anything uniquely determined for each user.
- the user identification information may be login information for using a service provided through the second application, or may be predetermined certificate information issued for the user.
- the steps S310 to S330 may include information on a server certificate, which is a certificate of the service providing server, or a server certificate registration transaction, which is a processed value thereof, and the second application.
- the information on the application certificate, which is a certificate of, or an application certificate registration transaction, which is a processed value thereof, may be performed while being recorded in the blockchain database.
- the temporary ID login proxy method when the challenge start request response information including the variable authentication value generated by the authentication server in response to the challenge start request information is obtained (S335)
- the service providing server transmits the application challenge request information (S340) including the variable authentication value to the second application, thereby causing the second application to transmit the variable authentication value to the certificate of the second application.
- the method may further include steps S335 and S340 for generating a value signed by a private key.
- the challenge initiation request information may further include a public key of a server certificate which is a certificate of the service providing server, and in this case, the challenge initiation request response information. May include the variable authentication value encoded by the public key of the server certificate. If so, in this example, the service providing server may obtain the variable authentication value from the challenge initiation request response information S335 using the private key of the server certificate in the steps S335 and S340.
- the application challenge request information including the signed value of the variable authentication value may be transmitted to the second application using the public key of the application certificate (S340).
- the temporary ID login proxy method includes an application including a value signed by a private key of the application certificate.
- the service providing server transmits the application challenge request response information to the authentication server (S350) so that the authentication server uses the application challenge request response information to the application certificate. It further includes steps (S345, S350) to assist in determining whether is valid.
- the application challenge request response information includes a value signed with the private key of the application certificate, whether the value signed using the public key of the application certificate held by the authentication server corresponds to the variable authentication value. Can be verified, thereby determining whether the application certificate is valid.
- the description will be replaced with the description of the method for validating the above-described signature.
- an authentication result message including whether the application certificate is valid is obtained from the authentication server, and the authentication result message is obtained. If the authentication success message indicating that the application certificate is valid, the service providing server transmits a temporary ID to the second application, which causes the first application to transmit from the second application to the first application. Processing the login by supporting the use of the service via (i) the temporary ID and (ii) an access token included in the authentication success message.
- the temporary ID may be determined by referring to the information on the access token and the authorization level included in the authentication success message.
- the temporary ID may be provided with information regarding a service usage level indicating a service available in accordance with the characteristics of the service provided by the service providing server.
- the service may be provided through the first application with the temporary ID. The user may use the service within a range determined according to the service use level.
- the temporary ID login proxy method is, first, by the user terminal from a first application executed by the user terminal.
- the challenge initiation request information including the user identification information is obtained from the service providing server (S320)
- the authentication server generates a variable authentication value in response to the challenge initiation request information (S310 to S330).
- Challenge challenge request response information including the generated variable authentication value;
- the service providing server S335 to allow the service providing server to deliver the application challenge request information including the variable authentication value to the second application (S340) to allow the second application to the variable authentication value.
- the authentication server may determine whether the application certificate is valid using the application challenge request response information (S345 and S350).
- the temporary ID login agent method according to the first embodiment includes the blockchain database as the authentication result transaction by the authentication server as the authentication result transaction. It may further include the step (not shown) for recording to or to record to other devices linked to the authentication server.
- the authentication server provides the service with an authentication result message including whether the application certificate is valid.
- Delivers to the server and the second application (S355a, S355b), causing the service providing server to provide a temporary ID when the authentication result message indicates that the application certificate is valid; (I) the temporary IDs (S360, S370a) and (ii) the access included in the authentication success message, which is passed to the first application from the second application and that causes the first application to pass to the application (S360).
- step S355a is shown as step S355b, but the order may be reversed, and step S355a and step S355b may be performed simultaneously. The same applies to steps 370a and S370b.
- the temporary ID login proxy method also, periodically or in response to the integrity verification request, the authentication server, (i) the information of the specific server certificate recorded in the blockchain database or processing the same At least one of a value of a specific server certificate enrollment transaction, (ii) information of a specific application certificate or a specific application certificate enrollment transaction that is a processed value, and (iii) a specific authentication result message or a specific authentication result transaction that is a processed value.
- the method may further include verifying the integrity of the information of (i), (ii), and (iii) or supporting another device linked to the authentication server (not shown).
- the steps S210 and S215 described above with respect to the first embodiment may include information on a server certificate which is a certificate of the service providing server in the multi-signature login agent method according to the second embodiment of the present invention.
- at least one neighbor hash value matching the first specific hash value which is a hash value of a server certificate registration transaction, which is a processed value wherein the neighbor hash value is: (i) a specific server certificate information or a processed value of the specific server certificate; A hash value of a registration transaction, (ii) a hash value of a specific application certificate enrollment transaction that is information of, or an instrumentation of, a particular application certificate; Is one of the hash values-a first representative hash value or a first representative hash value generated by hashing together A second representative hash value generated by hashing together an empty value and at least one neighboring hash value matching a second specific hash value that is a hash value of an application certificate registration transaction that is a certificate of an authentication application executed by
- the authentication server refers to the predetermined blockchain database in determining whether the server certificate and the application certificate are valid.
- the specific meaning is to determine whether the server certificate and the application certificate are valid using the server certificate registration transaction and the application certificate registration transaction obtained with reference to the predetermined blockchain database.
- This second embodiment of the present invention uses a UTXO of virtual currency to write an individual transaction related to the UTXO in a first blockchain database, and then, a representative hash generated from transactions recorded in the first blockchain database.
- the value in the second blockchain database it can be configured in an anchoring manner, which doubles the integrity of the recording.
- the predetermined blockchain database is the second blockchain database, and in step S210 , S215) is performed while the server certificate registration transaction and the application certificate registration transaction are further recorded in the first blockchain database.
- the authentication server displays the authentication result message or the processed value thereof.
- At least one neighbor hash value that matches a particular hash value wherein the neighbor hash value is (i) a hash value of a particular server certificate registration transaction that is information of, or a processed value of, a particular server certificate, (ii) information of a particular application certificate, or A hash value of a specific application certificate enrollment transaction, which is a processed value, and (iii) a specific authentication result message or Is one of hash values including a hash value of a specific authentication result transaction, which is a processed value-a representative hash value generated by hashing together or a value processed by the representative hash value is recorded in the second blockchain database, or Assisting other devices linked to the authentication server to record, and performing a process of acquiring a transaction ID, the representative hash value or a value obtained by processing the representative hash value, is position information recorded in the second blockchain database; It may further include (not shown).
- the aforementioned anchoring condition may include (i) a condition in which a predetermined number of specific hash values and neighboring hash values are obtained or generated, (ii) a condition that a predetermined time elapses, and (iii) in the first blockchain database. It may include at least one of a condition that the block is generated, (iv) a condition for the service characteristic.
- a particular hash value is denoted by input, and at least one neighboring hash value is represented by x1, x2,... , represented by xn, can be represented by the following equation.
- the authentication server may store and manage the specific hash value and the at least one neighbor hash value in a predetermined data structure.
- the data structure may vary, for example, may be a merkle tree structure.
- the calculation of the specific hash value and at least one neighbor hash value may be performed through the Merkle tree.
- the authentication server may support to generate or generate a merkle tree in which the specific hash value is assigned to a leaf node, and if at least one anchoring condition is satisfied, at least one matching the specific hash value Acquire the representative hash value or the processed value of the representative hash value generated by hashing the hash values assigned to one other leaf node together, and recording the obtained value in the second blockchain database or other device. Can help them record.
- the authentication server may record the hash value finally assigned to the root node of the Merkle tree as the representative hash value in the second blockchain database or allow other devices to record it. At this time, a value obtained by processing the representative hash value may be recorded. For example, the result of performing the hex operation may be registered in the representative hash value.
- the authentication server stores the particular hash value and the at least one neighboring hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure
- the first data structure and the second data structure may be connected in a chain form.
- the root value of the first data structure or the hash value of the root value is the first leaf of the second data structure. Can be assigned to a node.
- the Merkle tree is the first Merkle tree among at least one Merkle tree connected in a chain form
- the first leaf node of the Merkle tree has a hash value of a predetermined message data consisting of text, numbers, or symbols or the same.
- One value can be assigned.
- a hash value of an input message initially assigned by the authentication server may be assigned when generating the merkle tree.
- the authentication server calculates (i) a specific hash value and (ii) a hash value assigned to the h3 node which is a sibling node of the h2 node which is the third leaf node to which the specific hash value is assigned or causes another device to perform the operation. Can support calculations.
- the hash value for the operation value that is the result of the operation is assigned to the parent node (h23 node) of the h2 node and the h3 node.
- the authentication server may repeat the process by using the hash value assigned to the h23 node as the specific hash value. That is, the hash value assigned to the h23 node is designated as a specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node are calculated and assigned to the parent node (h0123) node of the h23 node and the h01 node. have.
- the authentication server since the h0123 node is the root node of the Merkle tree, the authentication server records the hash value assigned to the h0123 node or the processed value (hex (h ⁇ node_index ⁇ )) in the second blockchain database, or to another device. Can help you record.
- the authentication server is configured to: (i) the sibling of the node to which the particular hash value and (ii) the particular hash value are assigned. Hashing the hash value assigned to the node together or allowing other devices to hash the hash, assigning the hash value for the computed value that is the result of the operation to the parent node of the node or allowing another device to assign it, (x2) if the parent node is the root node of the Merkle tree, supports to record the hash value assigned to the parent node to the second blockchain database as the representative hash value or to allow other devices to record; (x3) If the parent node is not the root node of the Merkle tree, (x1) to (x3) may be repeated by using a hash value assigned to the parent node as the specific hash value. To do.
- the authentication server may generate the root value of the aforementioned Merkle tree on a predetermined time basis (the (ii) anchoring condition). In this case, when a predetermined time elapses, the authentication server may generate a Merkle tree using the input values up to that time, record the root value of the Merkle tree in the second blockchain database, or support another device to record. .
- a value may not be assigned to a sibling node of a node to which a specific hash value of the Merkle tree is assigned even after a predetermined time has elapsed.
- the authentication server allocates a predetermined hash value to the sibling node or causes another device to make a hash value.
- the allocation may be supported so that the root value of the Merkle tree is calculated in the above-described manner.
- the authentication server may duplicate the specific hash value and assign it to the sibling node or support another device to assign it.
- the service characteristic is a company type that is a management entity of the server involved in the record, cost information paid by the entities using the login agent service, time zone information on which the transaction is recorded, area information on the record, and the server involved in the record. It can be at least part of the information. However, it is not limited to what was described here.
- the authentication server determines that predetermined message data is allocated to the first leaf node and the second leaf node.
- the Merkle Tree may be generated or supported by another device, and the root value or the processed value of the Merkle Tree may be recorded in the second blockchain database or the other device may be recorded. In this case, for example, a leaf tree of two leaf nodes may be generated.
- the authentication server stores the specific hash value and the at least one neighboring hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure.
- the first data structure and the second data structure may be connected in a chain form.
- a root value of the first data structure or a hash value of the root value may be allocated to the first leaf node of the second data structure.
- FIG. 5 illustrates a Merkle tree generated as the second data structure according to the present invention.
- the present invention has an advantage of easily tracking even when data modulation occurs in the middle by connecting a plurality of data structures generated when a transaction occurs, thereby improving the integrity of the data.
- the certificate registration method in addition, periodically or in response to the integrity verification request, the authentication server, at least one transaction recorded in the first blockchain database-
- the transaction may include (i) a specific server certificate registration transaction, which is information of a specific server certificate or a processed value thereof, (ii) a specific application certificate registration transaction, which is information of a specific application certificate or a processed value thereof, and (iii) a specific authentication result message. Or a first representative hash value or the first representative hash value generated by hashing together at least one neighboring hash value that matches one of the transactions including a specific authentication result transaction that is a processed value.
- the processed value is recorded in the second blockchain database corresponding thereto. 2) verifying the integrity of the transaction by verifying whether the representative hash value or the second representative hash value matches a processed value or supporting another device interworking with the authentication server (not shown) It may further include.
- the first and second blockchain databases may be blockchain databases.
- the first blockchain database may be a private blockchain database
- the second blockchain database may be a public blockchain database.
- the present disclosure is not limited thereto, and a person skilled in the art may refer to the first blockchain database as a private blockchain database or a public blockchain database.
- the second blockchain database may be any one of a private blockchain database and a public blockchain database. You can understand that it can be one.
- steps S310 to S330 described above with respect to the first embodiment may be a certificate of a second application executed by a user terminal in the temporary ID login proxy method according to the second embodiment of the present invention.
- the neighbor hash value is (i) a specific application certificate or a processed value
- the hash value is stored in a predetermined blockchain database. Performed in the womb. On the other hand, whether the application certificate is valid or not is determined by the authentication server with reference to the predetermined blockchain database.
- the temporary ID login agent method includes (A) the authentication result message or a value processed by the authentication server as an authentication result transaction.
- the representative hash value or the processed value of the representative hash value is recorded in the second blockchain database or supported by another device linked to the authentication server, and the representative hash value or the representative hash value is processed.
- the method may further include performing a process of obtaining a transaction ID, which is position information recorded in the second blockchain database (not shown).
- the temporary ID login agent method according to the second embodiment essentially includes a specific server certificate registration transaction, which is information of a specific server certificate or a processed value, in a neighbor hash value. This may not be because server certificates are not necessarily used. Except for this difference, the contents described in the multi-signature login agent method according to the second embodiment may be applied to the temporary ID login agent method according to the second embodiment.
- the method according to the third embodiment is performed using a smart contract.
- the smart contract is source code that can be compiled on executable bytecode and executed on a plurality of computing devices including an authentication server or other devices linked to the authentication server. Configured to perform, the integrity of the execution result that is the result of the execution is verified by consensus on the execution result calculated from the plurality of computing devices.
- the information on the smart contract-based certificate includes (i) a public key PubA generated by the public key infrastructure (PKI) -based encryption scheme, and (ii) a smart contract SC corresponding to the valid condition VcertA of the certificate. Contains the byte code BC (SC (VcertA)), which is the result of (VcertA) being compiled.
- the information on the smart contract-based certificate may further include an identification information hash value IdhashA which is a result of hashing identification information for identifying a subject of the certificate.
- the information on the smart contract-based certificate may include encryption type, license key, and license level as information for specifying at least one of the type of the PKI-based encryption scheme and the type of the hash operation. At least one of additional information such as a license level may be further included.
- the information of the certificate includes the public key PubA corresponding to the subject of the certificate, the identification information hash value IdhashA which is a result of hashing the identification information for identifying the subject of the certificate, and the validity of the certificate.
- the authentication server or other device that obtains the condition VcertA (S205 and S210) generates a smart contract SC (VcertA) corresponding to the valid condition, compiles the smart contract, and as a result, the byte code BC (SC). (VcertA)).
- a server certificate which is a certificate of the service providing server and an application certificate which is a certificate of an authentication application executed by the user terminal may be the smart contract-based certificate.
- the steps S210 and S215 described above with respect to the first embodiment may include processing the information of the server certificate or the same in the multi-signature login agent method according to the third embodiment of the present invention.
- One value is a server certificate registration transaction or information of the application certificate or an application certificate registration transaction, which is a processed value, is recorded in the blockchain database, and is an execution parameter of the smart contract SC (VcertA) of the server certificate and the application certificate.
- the state S (SC (VcertA)) is performed in the state registered in the state database SDB.
- the S (SC (VcertA)) will be set to a predetermined initial state and recorded in the state database.
- the initial state means a state that is first given to the certificate in order to determine whether the validity condition is satisfied.
- the authentication server refers to a predetermined blockchain database and the state database in determining whether the server certificate and the application certificate are valid.
- the specific meaning thereof is (i) the server certificate registration transaction obtained with reference to the predetermined blockchain database, (ii) the application certificate registration transaction, (iii) the server certificate and the application obtained from the state database.
- the existing execution result of each smart contract and (iv) their new execution result is referred to to determine whether the server certificate and the application certificate are valid.
- the authentication server is further configured to store the server certificate registration transaction and the application certificate registration transaction, which were obtained at the time of registration of each of the server certificate registration transaction and the application certificate registration transaction, in the predetermined blockchain database.
- the valid condition VcertA of the certificate may include any condition based on information that can be obtained by the smart contract. Some examples include (i) information about the characteristics of the subject, (ii) weather information when using the certificate, (iii) date information when using the certificate, and (v) It may be a condition based on at least one of the information obtained as the acceptance of the use of the certificate, and (iv) information on the limit on the number of times of use of the certificate predetermined.
- the information on the characteristics of the user means, for example, information such as the gender, height, age, etc.
- All of the information of (i) to (iv) may be a plurality of computing devices for executing the smart contract. Can be obtained from a variety of sources.
- FIGS. 6 and 7 An example in which the smart contract is configured according to the valid condition VcertA is illustrated in FIGS. 6 and 7, wherein FIGS. 6 and 7 respectively limit the number of times of use of the certificate to initNumber and 10, respectively. Is a diagram illustrating the code).
- a source code of a smart contract in which the validity condition is a condition that the number of use of a certificate is limited to initNumber or 10 times.
- These smart contracts are intended to be executed by a number of computing devices (called “nodes") that are converted to bytecode and constitute a public blockchain database, each of which results in a consensus algorithm. By doing so, the execution result which occupies the most of the execution results can be verified as the true execution result.
- nodes computing devices
- the integrity of the execution result of a smart contract is verified by consensus on the execution result calculated from the nodes.
- Step S230 and S235 of the multi-signature login agent method according to the third embodiment of the present invention a method of determining whether the server certificate and the application certificate are valid will be described in detail.
- Steps S230 and S235 of the multi-signature login proxy method according to the third embodiment are performed by the authentication server using the public key of the server certificate and the public key of the application certificate as in the first embodiment. Verifying the signature of the signature value.
- step S230, S235 if the signature of the multi-signature value is verified to be valid, the authentication server, (i) the state S1 of the server certificate smart contract that is the smart contract included in the server certificate
- the state S1 of the server certificate smart contract that is the smart contract included in the server certificate
- the execution result of the server certificate smart contract is obtained, and the execution of the server certificate smart contract A process of determining whether the server certificate is valid with reference to a result value, and (ii) the application certificate smart contract using the state S2 of the application certificate smart contract that is the smart contract included in the application certificate as an execution parameter.
- Byte code BC2 The execution certificate of the application certificate smart contract by obtaining a value of the execution certificate of the application certificate smart contract by executing or by allowing other devices linked to the authentication server to execute, and whether the application certificate is valid with reference to the execution result value of the application certificate smart contract. And performing a process of determining (not shown).
- the byte code BC1 of the server certificate smart contract is executed using the state S1 of the server certificate smart contract as an execution parameter, and the server certificate is valid with reference to the execution result value of the server certificate smart contract.
- the meaning of determining whether or not to determine whether the remaining number of use of the certificate corresponding to the state immediately before the execution is an example of an execution parameter in which the integer counter of 0 or more is state S1.
- the multi-signature login agent method after step (S250), the authentication server, (i) the authentication result message or the value processed therein A process of recording to the blockchain database as an authentication result transaction or allowing other devices linked to the authentication server to record; and (ii) the state of the state database with reference to the execution result value obtained as a result of the execution.
- the method may further include updating and registering S (SC (VcertA)) as the new state S '(SC (VcertA)) in the state database or performing a process of supporting another device to register (not shown). .
- a method of registering a certificate according to the second embodiment of the present invention may include verifying the integrity of a specific server certificate registration transaction, a specific application certificate registration transaction, and a specific authentication result transaction as in the first embodiment.
- the authentication server periodically or in response to an integrity verification request, the authentication server verifies the integrity or executes the integrity of the execution result by referring to the execution result of the respective smart contract recorded in the state database.
- the method may further include supporting another device interworking with the server to verify.
- the above-described steps S310 to S330 regarding the temporary ID login proxy method of the first embodiment may include information on the application certificate or the same in the temporary ID login proxy method according to the third embodiment of the present invention.
- An application certificate registration transaction which is a processed value, is recorded in the blockchain database, and a state (S (SC (VcertA)), which is an execution parameter of the smart contract SC (VcertA) of the application certificate, is stored in a state database SDB.
- S S
- SC smart contract SC
- the method for determining whether the application certificate is valid is replaced with the description regarding the multi-signature login proxy method according to the third embodiment with respect to the smart contract-based decision method.
- the multi-signature login agent method according to the second embodiment may be implemented in combination with the multi-signature login agent method according to the third embodiment.
- the Merkle tree may be constructed from the hash values of the individual transactions recorded in the blockchain database (first blockchain database) of the third embodiment and the values recorded in the state database.
- the representative hash value of the Merkle tree may be recorded in the second blockchain database according to the second embodiment.
- the advantage of the technique described herein is that the forgery of authentication related information such as public key, hash value, etc. is virtually impossible, thereby ensuring the authenticity of the certificate, and verifying the authentication related transaction by using the blockchain database. By doing this, the integrity is guaranteed.
- the present invention can be achieved through a combination of software and hardware or by hardware alone.
- the objects contributing to the object of the technical solution or the prior art of the present invention may be embodied in the form of program instructions that can be executed by various computer components and recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the art.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.
- the hardware device may include a processor, such as a CPU or a GPU, coupled with a memory such as a ROM / RAM for storing program instructions and configured to execute instructions stored in the memory, and may exchange signals with an external device. It may include a communication unit. In addition, the hardware device may include a keyboard, a mouse, and other external input devices for receiving instructions written by developers.
- a processor such as a CPU or a GPU
- a memory such as a ROM / RAM for storing program instructions and configured to execute instructions stored in the memory, and may exchange signals with an external device. It may include a communication unit.
- the hardware device may include a keyboard, a mouse, and other external input devices for receiving instructions written by developers.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (33)
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,상기 서비스 제공 서버의 인증서인 서버 인증서 및 사용자 단말에 의하여 실행되는 인증 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 방법은,(a) 상기 서버 인증서의 정보 또는 이를 가공한 값인 서버 인증서 등록 트랜잭션 또는 상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 서버 인증서 및 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 인증 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 요청 정보가 상기 사용자 단말에 의하여 실행되는 서비스 제공 애플리케이션으로부터 획득되면, 상기 서비스 제공 서버가, 상기 로그인의 대행이 가능한지 여부를 판정한 결과인 인증 요청 응답 정보를 상기 서비스 제공 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원하는 단계;(b) 상기 서비스 제공 애플리케이션의 인증 리다이렉션 요청(authentication redirection request)이 상기 인증 애플리케이션에 전달된 후, 상기 인증 애플리케이션으로부터 상기 인증 서버에 의하여 생성된 가변 인증값을 포함하는 서버 챌린지 요청 정보가 획득되면, 상기 서비스 제공 서버가, 상기 서버 챌린지 요청 정보에 대응되는 서버 챌린지 요청 응답 정보를 상기 인증 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 인증 서버로 하여금 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 판정하도록 지원하는 단계; 및(c) 상기 인증 서버로부터 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 포함하는 인증 결과 메시지가 획득되고, 상기 인증 결과 메시지가 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효함을 나타내는 인증 성공 메시지라면, 상기 서비스 제공 서버가, 상기 서비스 제공 애플리케이션에 소정의 접근 토큰(access token)을 전달하거나 타 장치로 하여금 전달하도록 지원하여 상기 서비스 제공 애플리케이션으로 하여금 상기 접근 토큰을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 (b) 단계에서,상기 서버 챌린지 요청 정보는 상기 서버 인증서의 공개키(public key)에 의하여 인코딩된 상기 가변 인증값을 포함하며,상기 서비스 제공 서버는, 상기 서버 인증서의 개인키(private key)를 이용하여 상기 서버 챌린지 요청 정보로부터 상기 가변 인증값을 획득하고, 상기 서버 인증서의 개인키를 이용하여 상기 가변 인증값을 서명한 값을 포함하는 상기 서버 챌린지 요청 응답 정보를 상기 인증 애플리케이션에 전달하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 인증서의 유효 조건 VcertA은,(i) 상기 이용 주체의 특징에 관한 정보, (ii) 상기 인증서의 사용 시의 날씨 정보, (iii) 상기 인증서의 사용 시의 날짜 정보, (v) 특정 타인의 사용에 관한 승낙으로서 획득되는 정보, 및 (iv) 미리 정해진 상기 인증서의 사용 횟수 제한에 관한 정보 중 적어도 하나에 기초한 조건인 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 블록체인 데이터베이스는 프라이빗 블록체인 데이터베이스 또는 퍼블릭 블록체인 데이터베이스인 것을 특징으로 하는 방법.
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,상기 서비스 제공 서버의 인증서인 서버 인증서 및 사용자 단말에 의하여 실행되는 인증 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 방법은,(a) 상기 서버 인증서의 정보 또는 이를 가공한 값인 서버 인증서 등록 트랜잭션 또는 상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 서버 인증서 및 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 인증 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 요청 정보에 대응되는 인증 리다이렉션 요청(authentication redirection request)에 응하여 상기 사용자 단말에 의하여 실행되는 인증 애플리케이션으로부터 챌린지 개시 요청 정보가 획득되면, 상기 인증 서버가, 상기 챌린지 개시 요청 정보에 대응되는 가변 인증값을 생성하고, 상기 가변 인증값을 포함하는 챌린지 개시 요청 응답 정보를 상기 인증 애플리케이션으로 전달하거나 타 장치로 하여금 전달하도록 지원함으로써, 상기 인증 애플리케이션으로 하여금 상기 서버 인증서가 유효한지 여부를 판정하기 위한 서버 챌린지 요청 정보에 대응되는 서버 챌린지 요청 응답 정보를 상기 서비스 제공 서버로부터 획득하도록 지원하는 단계;(b) 상기 애플리케이션 인증서의 개인키(private key)를 이용하여 상기 서버 챌린지 요청 응답 정보를 서명한 값인 다중 서명값을 포함하는 응답 요청 정보가 상기 인증 애플리케이션으로부터 획득되면, 상기 인증 서버가, 상기 응답 요청 정보, 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 판정하거나 타 장치로 하여금 판정하도록 지원하는 단계; 및(c) 상기 인증 서버가, 상기 서버 인증서가 유효한지 여부를 포함하는 인증 결과 메시지를 상기 인증 애플리케이션 및 상기 서비스 제공 서버 중 적어도 하나에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 인증 결과 메시지가 상기 서버 인증서가 유효함을 나타내는 인증 성공 메시지인 경우에 상기 서비스 제공 서버로 하여금 상기 사용자 단말에 의하여 실행되는 서비스 제공 애플리케이션에 소정의 접근 토큰(access token)을 전달하도록 지원하여 상기 서비스 제공 애플리케이션으로 하여금 상기 접근 토큰을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 단계를 포함하는 방법.
- 제5항에 있어서,상기 인증 서버는, 상기 서비스 제공 서버에 대한 접근 수준(access level)에 관한 정보를 관리하거나 관리하도록 지원하고, 상기 접근 수준을 참조로 하여 승인 수준(authorization level)을 결정하며,상기 인증 결과 메시지는 상기 승인 수준에 관한 정보를 포함하되, 상기 서버 인증서가 유효한지 여부는 상기 승인 수준을 참조로 하여 판정되는 것을 특징으로 하는 방법.
- 제5항에 있어서,상기 (b) 단계는,(b1) 상기 인증 서버가, 상기 서버 인증서의 공개키 및 상기 애플리케이션 인증서의 공개키를 이용하여 상기 다중 서명값의 서명을 검증하는 단계; 및(b2) 상기 다중 서명값의 서명이 유효한 것으로 검증되면, 상기 인증 서버가, (i) 상기 서버 인증서에 포함된 상기 스마트 컨트랙트인 서버 인증서 스마트 컨트랙트의 상태 S1를 실행 파라미터로 하여 상기 서버 인증서 스마트 컨트랙트의 바이트 코드 BC1를 실행하거나 상기 인증 서버에 연동되는 타 장치로 하여금 실행하도록 지원함으로써 상기 서버 인증서 스마트 컨트랙트의 실행 결과값을 획득하고, 상기 서버 인증서 스마트 컨트랙트의 실행 결과값을 참조로 하여 상기 서버 인증서가 유효한지 여부를 판정하는 프로세스, 및 (ii) 상기 애플리케이션 인증서에 포함된 상기 스마트 컨트랙트인 애플리케이션 인증서 스마트 컨트랙트의 상태 S2를 실행 파라미터로 하여 상기 애플리케이션 인증서 스마트 컨트랙트의 바이트 코드 BC2를 실행하거나 상기 인증 서버에 연동되는 타 장치로 하여금 실행하도록 지원함으로써 상기 애플리케이션 인증서 스마트 컨트랙트의 실행 결과값을 획득하고, 상기 애플리케이션 인증서 스마트 컨트랙트의 실행 결과값을 참조로 하여 상기 애플리케이션 인증서가 유효한지 여부를 판정하는 프로세스를 수행하는 단계를 포함함으로써 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 판정하는 것을 특징으로 하는 방법.
- 제7항에 있어서,상기 (b) 단계 후에,(c0) 상기 인증 서버가, (i) 상기 인증 결과 메시지 또는 이를 가공한 값을 인증 결과 트랜잭션으로서 상기 블록체인 데이터베이스에 기록하거나 상기 인증 서버에 연동되는 타 장치로 하여금 기록하도록 지원하는 프로세스 및 (ii) 상기 실행의 결과로서 획득된 상기 실행 결과값을 새로운 상태 S’(SC(VcertA))로서 상태 데이터베이스에 등록하거나 등록하도록 지원하는 프로세스를 수행하는 단계를 더 포함하는 방법.
- 제5항에 있어서,(e) 주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 인증 서버가, 상기 블록체인 데이터베이스에 기록된 (i) 특정 서버 인증서의 정보 또는 이를 가공한 값인 특정 서버 인증서 등록 트랜잭션, (ii) 특정 애플리케이션 인증서의 정보 또는 이를 가공한 값인 특정 애플리케이션 인증서 등록 트랜잭션, 및 (iii) 특정 인증 결과 메시지 또는 이를 가공한 값인 특정 인증 결과 트랜잭션 중 적어도 하나의 정보를 참조함으로써 상기 (i), (ii), (iii)의 정보의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제5항에 있어서,(f) 주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 인증 서버가, 상기 상태 데이터베이스에 기록된 개별 스마트 컨트랙트의 실행 결과값을 참조함으로써 상기 실행 결과값의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,사용자 단말에 의하여 실행되는 제2 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 방법은,(a) 상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 사용자 단말에 의하여 실행되는 제1 애플리케이션으로부터 상기 제2 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 리다이렉션 요청(authentication redirection request)을 전달받은 상기 제2 애플리케이션으로부터 상기 사용자를 식별하기 위한 사용자 식별 정보를 포함하는 인증 요청 정보가 획득되면, 상기 서비스 제공 서버가, 상기 사용자 식별 정보를 포함하는 챌린지 개시 요청 정보를 상기 인증 서버에 전달하는 단계;(b) 상기 챌린지 개시 요청 정보에 응하여 상기 인증 서버에 의하여 생성된 가변 인증값을 포함하는 챌린지 개시 요청 응답 정보가 획득되면, 상기 서비스 제공 서버가, 상기 가변 인증값을 포함하는 애플리케이션 챌린지 요청 정보를 상기 제2 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 제2 애플리케이션으로 하여금 상기 가변 인증값을 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 생성하도록 지원하는 단계;(c) 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 포함하는 애플리케이션 챌린지 요청 응답 정보가 획득되면, 상기 서비스 제공 서버가, 상기 애플리케이션 챌린지 요청 응답 정보를 상기 인증 서버에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 인증 서버로 하여금 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 애플리케이션 인증서가 유효한지 여부를 판정하도록 지원하는 단계; 및(d) 상기 인증 서버로부터 상기 애플리케이션 인증서가 유효한지 여부를 포함하는 인증 결과 메시지가 획득되고, 상기 인증 결과 메시지가 상기 애플리케이션 인증서가 유효함을 나타내는 인증 성공 메시지라면, 상기 서비스 제공 서버가, 임시 ID(temporary ID)를 상기 제2 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원하여, 상기 제1 애플리케이션으로 하여금 상기 제2 애플리케이션으로부터 상기 제1 애플리케이션에 전달된 (i) 상기 임시 ID 및 (ii) 상기 인증 성공 메시지에 포함된 접근 토큰(access token)을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 단계를 포함하는 방법.
- 제11항에 있어서,상기 챌린지 개시 요청 정보는 상기 서비스 제공 서버의 인증서인 서버 인증서의 공개키를 더 포함하고,상기 서버 인증서는 스마트 컨트랙트 기반의 인증서이고,상기 챌린지 개시 요청 응답 정보는 상기 서버 인증서의 공개키에 의하여 인코딩된 상기 가변 인증값을 포함하며,상기 (b) 단계에서,상기 서비스 제공 서버는, 상기 서버 인증서의 개인키(private key)를 이용하여 상기 챌린지 개시 요청 응답 정보로부터 상기 가변 인증값을 획득하고, 상기 애플리케이션 인증서의 공개키를 이용하여 상기 가변 인증값을 서명한 값을 포함하는 상기 애플리케이션 챌린지 요청 정보를 상기 제2 애플리케이션에 전달하는 것을 특징으로 하는 방법.
- 제12항에 있어서,상기 (a) 단계는,상기 서버 인증서의 정보 또는 이를 가공한 값인 서버 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 추가로 기록되어 있는 상태에서 수행되는 것을 특징으로 하는 방법.
- 제11항에 있어서,상기 임시 ID는,상기 인증 성공 메시지에 포함된 접근 토큰(access token) 및 승인 수준에 관한 정보를 참조로 하여 결정되는 것을 특징으로 하는 방법.
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,사용자 단말에 의하여 실행되는 제2 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 방법은,(a) 상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 사용자 단말에 의하여 실행되는 제1 애플리케이션으로부터 상기 제2 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 리다이렉션 요청(authentication redirection request)을 전달받은 상기 제2 애플리케이션으로부터 상기 사용자를 식별하기 위한 사용자 식별 정보를 포함하는 인증 요청 정보를 획득한 상기 서비스 제공 서버로부터 상기 사용자 식별 정보를 포함하는 챌린지 개시 요청 정보가 획득되면, 상기 인증 서버가, 상기 챌린지 개시 요청 정보에 응하여 가변 인증값을 생성하거나 타 장치로 하여금 생성하도록 지원하는 단계;(b) 상기 인증 서버가, 생성된 상기 가변 인증값을 포함하는 챌린지 개시 요청 응답 정보를 상기 서비스 제공 서버에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 서비스 제공 서버로 하여금 상기 가변 인증값을 포함하는 애플리케이션 챌린지 요청 정보를 상기 제2 애플리케이션에 전달하도록 지원하여 상기 제2 애플리케이션으로 하여금 상기 가변 인증값을 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 생성하도록 지원하는 단계;(c) 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 포함하는 애플리케이션 챌린지 요청 응답 정보가 획득되면, 상기 인증 서버가, 상기 애플리케이션 챌린지 요청 응답 정보, 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 애플리케이션 인증서가 유효한지 여부를 판정하거나 타 장치로 하여금 판정하도록 지원하는 단계; 및(d) 상기 인증 서버가, 상기 애플리케이션 인증서가 유효한지 여부를 포함하는 인증 결과 메시지를 상기 서비스 제공 서버 및 상기 제2 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원하여, 상기 서비스 제공 서버로 하여금 상기 인증 결과 메시지가 상기 애플리케이션 인증서가 유효함을 나타내는 인증 성공 메시지인 경우에 임시 ID(temporary ID)를 상기 제2 애플리케이션에 전달하도록 지원하고 상기 제1 애플리케이션으로 하여금 상기 제2 애플리케이션으로부터 상기 제1 애플리케이션에 전달된 (i) 상기 임시 ID 및 (ii) 상기 인증 성공 메시지에 포함된 접근 토큰(access token)을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 단계를 포함하는 방법.
- 제15항에 있어서,상기 (c) 단계 후에,(d0) 상기 인증 서버가, (i) 상기 인증 결과 메시지 또는 이를 가공한 값을 인증 결과 트랜잭션으로서 상기 블록체인 데이터베이스에 기록하거나 상기 인증 서버에 연동되는 타 장치로 하여금 기록하도록 지원하는 프로세스 및 (ii) 상기 실행의 결과로서 획득된 상기 실행 결과값을 새로운 상태 S’(SC(VcertA))로서 상태 데이터베이스에 등록하거나 등록하도록 지원하는 프로세스를 수행하는 단계를 더 포함하는 방법.
- 제15항에 있어서,(e) 주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 인증 서버가, 상기 블록체인 데이터베이스에 기록된 (i) 특정 서버 인증서의 정보 또는 이를 가공한 값인 특정 서버 인증서 등록 트랜잭션, (ii) 특정 애플리케이션 인증서의 정보 또는 이를 가공한 값인 특정 애플리케이션 인증서 등록 트랜잭션, 및 (iii) 특정 인증 결과 메시지 또는 이를 가공한 값인 특정 인증 결과 트랜잭션 중 적어도 하나의 정보를 참조함으로써 상기 (i), (ii), (iii)의 정보의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제15항에 있어서,(f) 주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 인증 서버가, 상기 상태 데이터베이스에 기록된 개별 스마트 컨트랙트의 실행 결과값을 참조함으로써 상기 실행 결과값의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법을 수행하는 상기 서비스 제공 서버에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,상기 서비스 제공 서버의 인증서인 서버 인증서 및 사용자 단말에 의하여 실행되는 인증 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 서비스 제공 서버는,상기 서버 인증서의 정보 또는 이를 가공한 값인 서버 인증서 등록 트랜잭션 또는 상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 서버 인증서 및 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 인증 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 요청 정보를 상기 사용자 단말에 의하여 실행되는 서비스 제공 애플리케이션으로부터 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및(i) 상기 인증 요청 정보가 획득되면, 상기 로그인의 대행이 가능한지 여부를 판정한 결과인 인증 요청 응답 정보를 상기 서비스 제공 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원하는 프로세스, (ii) 상기 서비스 제공 애플리케이션의 인증 리다이렉션 요청(authentication redirection request)이 상기 인증 애플리케이션에 전달된 후, 상기 인증 애플리케이션으로부터 상기 인증 서버에 의하여 생성된 가변 인증값을 포함하는 서버 챌린지 요청 정보가 획득되면, 상기 서버 챌린지 요청 정보에 대응되는 서버 챌린지 요청 응답 정보를 상기 인증 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 인증 서버로 하여금 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 판정하도록 지원하는 프로세스, 및 (iii) 상기 인증 서버로부터 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 포함하는 인증 결과 메시지가 획득되고, 상기 인증 결과 메시지가 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효함을 나타내는 인증 성공 메시지라면, 상기 서비스 제공 애플리케이션에 소정의 접근 토큰(access token)을 전달하거나 타 장치로 하여금 전달하도록 지원하여 상기 서비스 제공 애플리케이션으로 하여금 상기 접근 토큰을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 프로세스를 수행하는 프로세서를 포함하는 서비스 제공 서버.
- 제19항에 있어서,상기 (ii) 프로세스에서,상기 서버 챌린지 요청 정보는 상기 서버 인증서의 공개키(public key)에 의하여 인코딩된 상기 가변 인증값을 포함하며,상기 프로세서는,상기 서버 인증서의 개인키(private key)를 이용하여 상기 서버 챌린지 요청 정보로부터 상기 가변 인증값을 획득하고, 상기 서버 인증서의 개인키를 이용하여 상기 가변 인증값을 서명한 값을 포함하는 상기 서버 챌린지 요청 응답 정보를 상기 인증 애플리케이션에 전달하는 것을 특징으로 하는 서비스 제공 서버.
- 제19항에 있어서,상기 인증서의 유효 조건 VcertA은,(i) 상기 이용 주체의 특징에 관한 정보, (ii) 상기 인증서의 사용 시의 날씨 정보, (iii) 상기 인증서의 사용 시의 날짜 정보, (v) 특정 타인의 사용에 관한 승낙으로서 획득되는 정보, 및 (iv) 미리 정해진 상기 인증서의 사용 횟수 제한에 관한 정보 중 적어도 하나에 기초한 조건인 것을 특징으로 하는 서비스 제공 서버.
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법을 수행하는 인증 서버에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,상기 서비스 제공 서버의 인증서인 서버 인증서 및 사용자 단말에 의하여 실행되는 인증 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 인증 서버는,상기 서버 인증서의 정보 또는 이를 가공한 값인 서버 인증서 등록 트랜잭션 또는 상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 서버 인증서 및 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 인증 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 요청 정보에 대응되는 인증 리다이렉션 요청(authentication redirection request)에 응하여 상기 사용자 단말에 의하여 실행되는 인증 애플리케이션으로부터 챌린지 개시 요청 정보를 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및(i) 상기 챌린지 개시 요청 정보가 획득되면, 상기 챌린지 개시 요청 정보에 대응되는 가변 인증값을 생성하거나 타 장치로 하여금 생성하도록 지원하고, 상기 가변 인증값을 포함하는 챌린지 개시 요청 응답 정보를 상기 인증 애플리케이션으로 전달하거나 타 장치로 하여금 전달하도록 지원함으로써, 상기 인증 애플리케이션으로 하여금 상기 서버 인증서가 유효한지 여부를 판정하기 위한 서버 챌린지 요청 정보에 대응되는 서버 챌린지 요청 응답 정보를 상기 서비스 제공 서버로부터 획득하도록 지원하는 프로세스, (ii) 상기 애플리케이션 인증서의 개인키(private key)를 이용하여 상기 서버 챌린지 요청 응답 정보를 서명한 값인 다중 서명값을 포함하는 응답 요청 정보가 상기 인증 애플리케이션으로부터 획득되면, 상기 응답 요청 정보, 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 판정하거나 타 장치로 하여금 판정하도록 지원하는 프로세스, 및 (iii) 상기 서버 인증서가 유효한지 여부를 포함하는 인증 결과 메시지를 상기 인증 애플리케이션 및 상기 서비스 제공 서버 중 적어도 하나에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 인증 결과 메시지가 상기 서버 인증서가 유효함을 나타내는 인증 성공 메시지인 경우에 상기 서비스 제공 서버로 하여금 상기 사용자 단말에 의하여 실행되는 서비스 제공 애플리케이션에 소정의 접근 토큰(access token)을 전달하도록 지원하여 상기 서비스 제공 애플리케이션으로 하여금 상기 접근 토큰을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 프로세스를 수행하는 프로세서를 포함하는 인증 서버.
- 제22항에 있어서,상기 프로세서는,상기 서비스 제공 서버에 대한 접근 수준(access level)에 관한 정보를 관리하거나 관리하도록 지원하고, 상기 접근 수준을 참조로 하여 승인 수준(authorization level)을 결정하며,상기 인증 결과 메시지는 상기 승인 수준에 관한 정보를 포함하되, 상기 서버 인증서가 유효한지 여부는 상기 승인 수준을 참조로 하여 판정되는 것을 특징으로 하는 인증 서버.
- 제22항에 있어서,상기 프로세서는,상기 (ii) 프로세스에서,상기 서버 인증서의 공개키 및 상기 애플리케이션 인증서의 공개키를 이용하여 상기 다중 서명값의 서명을 검증하고, 상기 다중 서명값의 서명이 유효한 것으로 검증되면, (ii-1) 상기 서버 인증서에 포함된 상기 스마트 컨트랙트인 서버 인증서 스마트 컨트랙트의 상태 S1를 실행 파라미터로 하여 상기 서버 인증서 스마트 컨트랙트의 바이트 코드 BC1를 실행하거나 상기 인증 서버에 연동되는 타 장치로 하여금 실행하도록 지원함으로써 상기 서버 인증서 스마트 컨트랙트의 실행 결과값을 획득하고, 상기 서버 인증서 스마트 컨트랙트의 실행 결과값을 참조로 하여 상기 서버 인증서가 유효한지 여부를 판정하는 프로세스, 및 (ii-2) 상기 애플리케이션 인증서에 포함된 상기 스마트 컨트랙트인 애플리케이션 인증서 스마트 컨트랙트의 상태 S2를 실행 파라미터로 하여 상기 애플리케이션 인증서 스마트 컨트랙트의 바이트 코드 BC2를 실행하거나 상기 인증 서버에 연동되는 타 장치로 하여금 실행하도록 지원함으로써 상기 애플리케이션 인증서 스마트 컨트랙트의 실행 결과값을 획득하고, 상기 애플리케이션 인증서 스마트 컨트랙트의 실행 결과값을 참조로 하여 상기 애플리케이션 인증서가 유효한지 여부를 판정하는 프로세스를 수행함으로써 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 판정하는 것을 특징으로 하는 인증 서버.
- 제24항에 있어서,상기 (ii) 프로세스 후에,상기 프로세서가,(iii0-a) 상기 인증 결과 메시지 또는 이를 가공한 값을 인증 결과 트랜잭션으로서 상기 블록체인 데이터베이스에 기록하거나 상기 인증 서버에 연동되는 타 장치로 하여금 기록하도록 지원하는 프로세스 및 (iii0-b) 상기 실행의 결과로서 획득된 상기 실행 결과값을 새로운 상태 S’(SC(VcertA))로서 상태 데이터베이스에 등록하거나 등록하도록 지원하는 프로세스를 수행하는 것을 특징으로 하는 인증 서버.
- 제22항에 있어서,주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 프로세서가, 상기 블록체인 데이터베이스에 기록된 (i) 특정 서버 인증서의 정보 또는 이를 가공한 값인 특정 서버 인증서 등록 트랜잭션, (ii) 특정 애플리케이션 인증서의 정보 또는 이를 가공한 값인 특정 애플리케이션 인증서 등록 트랜잭션, 및 (iii) 특정 인증 결과 메시지 또는 이를 가공한 값인 특정 인증 결과 트랜잭션 중 적어도 하나의 정보를 참조함으로써 상기 (i), (ii), (iii)의 정보의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 것을 특징으로 하는 인증 서버.
- 제22항에 있어서,주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 프로세서가, 상기 상태 데이터베이스에 기록된 개별 스마트 컨트랙트의 실행 결과값을 참조함으로써 상기 실행 결과값의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 것을 특징으로 하는 인증 서버.
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법을 수행하는 상기 서비스 제공 서버에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,사용자 단말에 의하여 실행되는 제2 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 인증 서버는,상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 사용자 단말에 의하여 실행되는 제1 애플리케이션으로부터 상기 제2 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 리다이렉션 요청(authentication redirection request)을 전달받은 상기 제2 애플리케이션으로부터 상기 사용자를 식별하기 위한 사용자 식별 정보를 포함하는 인증 요청 정보를 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및(i) 상기 인증 요청 정보가 획득되면, 상기 사용자 식별 정보를 포함하는 챌린지 개시 요청 정보를 상기 인증 서버에 전달하는 프로세스, (ii) 상기 챌린지 개시 요청 정보에 응하여 상기 인증 서버에 의하여 생성된 가변 인증값을 포함하는 챌린지 개시 요청 응답 정보가 획득되면, 상기 가변 인증값을 포함하는 애플리케이션 챌린지 요청 정보를 상기 제2 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원함으로써 상기 제2 애플리케이션으로 하여금 상기 가변 인증값을 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 생성하도록 지원하는 프로세스, (iii) 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 포함하는 애플리케이션 챌린지 요청 응답 정보가 획득되면, 상기 애플리케이션 챌린지 요청 응답 정보를 상기 인증 서버에 전달함으로써 상기 인증 서버로 하여금 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 애플리케이션 인증서가 유효한지 여부를 판정하도록 지원하는 프로세스, 및 (iv) 상기 인증 서버로부터 상기 애플리케이션 인증서가 유효한지 여부를 포함하는 인증 결과 메시지가 획득되고, 상기 인증 결과 메시지가 상기 애플리케이션 인증서가 유효함을 나타내는 인증 성공 메시지라면, 임시 ID(temporary ID)를 상기 제2 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원하여, 상기 제1 애플리케이션으로 하여금 상기 제2 애플리케이션으로부터 상기 제1 애플리케이션에 전달된 (i) 상기 임시 ID 및 (ii) 상기 인증 성공 메시지에 포함된 접근 토큰(access token)을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 프로세스를 수행하는 프로세서를 포함하는 서비스 제공 서버.
- 제28항에 있어서,상기 챌린지 개시 요청 정보는 상기 서비스 제공 서버의 인증서인 서버 인증서의 공개키를 더 포함하고,상기 서버 인증서는 스마트 컨트랙트 기반의 인증서이고,상기 챌린지 개시 요청 응답 정보는 상기 서버 인증서의 공개키에 의하여 인코딩된 상기 가변 인증값을 포함하며,상기 (ii) 프로세스에서,상기 프로세서는,상기 서버 인증서의 개인키(private key)를 이용하여 상기 챌린지 개시 요청 응답 정보로부터 상기 가변 인증값을 획득하고, 상기 애플리케이션 인증서의 공개키를 이용하여 상기 가변 인증값을 서명한 값을 포함하는 상기 애플리케이션 챌린지 요청 정보를 상기 제2 애플리케이션에 전달하는 것을 특징으로 하는 서비스 제공 서버.
- 스마트 컨트랙트(smart contract) 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법을 수행하는 인증 서버에 있어서,상기 스마트 컨트랙트는 실행 가능한 바이트 코드로 컴파일되어 인증 서버 또는 상기 인증 서버에 연동되는 타 장치를 포함하는 복수의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이고, 상기 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 상기 실행의 결과인 실행 결과값의 무결성(integrity)은 상기 복수의 컴퓨팅 장치로부터 산출된 상기 실행 결과값에 대한 합의(consensus)에 의하여 검증되는 것을 특징으로 하며,상기 스마트 컨트랙트 기반의 인증서의 정보는, (i) 상기 PKI(public key infrastructure) 기반 암호화 방식으로 생성된 공개키(public key) PubA, (ii) 상기 인증서의 이용 주체를 식별하기 위한 식별 정보를 해시 연산한 결과값인 식별 정보 해시값 IdhashA, 및 (iii) 상기 인증서의 유효 조건 VcertA에 대응되는 스마트 컨트랙트 SC(VcertA)가 컴파일(compile)된 결과인 바이트 코드 BC(SC(VcertA))를 포함하고,사용자 단말에 의하여 실행되는 제2 애플리케이션의 인증서인 애플리케이션 인증서는 상기 스마트 컨트랙트 기반의 인증서이며, 상기 인증 서버는,상기 애플리케이션 인증서의 정보 또는 이를 가공한 값인 애플리케이션 인증서 등록 트랜잭션이 상기 블록체인 데이터베이스에 기록되어 있고, 상기 애플리케이션 인증서의 상기 스마트 컨트랙트 SC(VcertA)의 실행 파라미터인 상태 (S(SC(VcertA))가 상태 데이터베이스(state database) SDB에 등록되어 있는 상태에서, 상기 사용자 단말에 의하여 실행되는 제1 애플리케이션으로부터 상기 제2 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 리다이렉션 요청(authentication redirection request)을 전달받은 상기 제2 애플리케이션으로부터 상기 사용자를 식별하기 위한 사용자 식별 정보를 포함하는 인증 요청 정보를 획득한 상기 서비스 제공 서버로부터 상기 사용자 식별 정보를 포함하는 챌린지 개시 요청 정보를 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및(i) 상기 챌린지 개시 요청 정보가 획득되면, 상기 챌린지 개시 요청 정보에 응하여 가변 인증값을 생성하거나 타 장치로 하여금 생성하도록 지원하는 프로세스, (ii) 생성된 상기 가변 인증값을 포함하는 챌린지 개시 요청 응답 정보를 상기 서비스 제공 서버에 전달함으로써 상기 서비스 제공 서버로 하여금 상기 가변 인증값을 포함하는 애플리케이션 챌린지 요청 정보를 상기 제2 애플리케이션에 전달하도록 지원하여 상기 제2 애플리케이션으로 하여금 상기 가변 인증값을 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 생성하도록 지원하는 프로세스, (iii) 상기 애플리케이션 인증서의 개인키(private key)로 서명한 값을 포함하는 애플리케이션 챌린지 요청 응답 정보가 획득되면, 상기 애플리케이션 챌린지 요청 응답 정보, 상기 블록체인 데이터베이스 및 상기 상태 데이터베이스를 참조로 하여 상기 애플리케이션 인증서가 유효한지 여부를 판정하거나 타 장치로 하여금 판정하도록 지원하는 프로세스, 및 (iv) 상기 애플리케이션 인증서가 유효한지 여부를 포함하는 인증 결과 메시지를 상기 서비스 제공 서버 및 상기 제2 애플리케이션에 전달하거나 타 장치로 하여금 전달하도록 지원하여, 상기 서비스 제공 서버로 하여금 상기 인증 결과 메시지가 상기 애플리케이션 인증서가 유효함을 나타내는 인증 성공 메시지인 경우에 임시 ID(temporary ID)를 상기 제2 애플리케이션에 전달하도록 지원하고 상기 제1 애플리케이션으로 하여금 상기 제2 애플리케이션으로부터 상기 제1 애플리케이션에 전달된 (i) 상기 임시 ID 및 (ii) 상기 인증 성공 메시지에 포함된 접근 토큰(access token)을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리하는 프로세스를 수행하는 프로세서를 포함하는 인증 서버.
- 제30항에 있어서,상기 (iii) 프로세스 후에,상기 프로세서가,(iv0-a) 상기 인증 결과 메시지 또는 이를 가공한 값을 인증 결과 트랜잭션으로서 상기 블록체인 데이터베이스에 기록하거나 상기 인증 서버에 연동되는 타 장치로 하여금 기록하도록 지원하는 프로세스 및 (iv0-b) 상기 실행의 결과로서 획득된 상기 실행 결과값을 새로운 상태 S’(SC(VcertA))로서 상태 데이터베이스에 등록하거나 등록하도록 지원하는 프로세스를 수행하는 것을 특징으로 하는 인증 서버.
- 제30항에 있어서,주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 프로세서가, 상기 블록체인 데이터베이스에 기록된 (i) 특정 서버 인증서의 정보 또는 이를 가공한 값인 특정 서버 인증서 등록 트랜잭션, (ii) 특정 애플리케이션 인증서의 정보 또는 이를 가공한 값인 특정 애플리케이션 인증서 등록 트랜잭션, 및 (iii) 특정 인증 결과 메시지 또는 이를 가공한 값인 특정 인증 결과 트랜잭션 중 적어도 하나의 정보를 참조함으로써 상기 (i), (ii), (iii)의 정보의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 것을 특징으로 하는 인증 서버.
- 제30항에 있어서,주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 프로세서가, 상기 상태 데이터베이스에 기록된 개별 스마트 컨트랙트의 실행 결과값을 참조함으로써 상기 실행 결과값의 무결성을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 것을 특징으로 하는 인증 서버.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880006778.XA CN110268678B (zh) | 2017-02-14 | 2018-01-19 | 基于pki的认证代理用户的登录方法及利用其的服务器 |
CA3053313A CA3053313C (en) | 2017-02-14 | 2018-01-19 | Method for superseding log-in of user through pki-based authentication by using smart contact and blockchain database, and server employing same |
US16/540,834 US10554421B2 (en) | 2017-02-14 | 2019-08-14 | Method for superseding log-in of user through PKI-based authentication by using smart contact and blockchain database, and server employing same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0019772 | 2017-02-14 | ||
KR1020170019772A KR101816653B1 (ko) | 2017-02-14 | 2017-02-14 | 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/540,834 Continuation US10554421B2 (en) | 2017-02-14 | 2019-08-14 | Method for superseding log-in of user through PKI-based authentication by using smart contact and blockchain database, and server employing same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018151427A1 true WO2018151427A1 (ko) | 2018-08-23 |
Family
ID=61525235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/000914 WO2018151427A1 (ko) | 2017-02-14 | 2018-01-19 | 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10554421B2 (ko) |
KR (1) | KR101816653B1 (ko) |
CN (1) | CN110268678B (ko) |
CA (1) | CA3053313C (ko) |
WO (1) | WO2018151427A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011996A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的应用授权方法及装置和电子设备 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8132238B2 (en) | 2008-05-13 | 2012-03-06 | Ebay Inc. | System and method for identity authentication for service access without use of stored credentials |
CN107257340B (zh) * | 2017-06-19 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 一种认证方法、基于区块链的认证数据处理方法及设备 |
US11336735B2 (en) | 2018-02-05 | 2022-05-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for managing service access authorization using smart contracts |
CN111684761A (zh) * | 2018-02-06 | 2020-09-18 | 瑞典爱立信有限公司 | 用于使用智能合约和区块链管理云服务的方法和装置 |
KR102424841B1 (ko) * | 2018-03-02 | 2022-07-26 | 주식회사 아이콘루프 | 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법 |
KR102216292B1 (ko) * | 2018-03-30 | 2021-02-18 | 주식회사 코인플러그 | 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버 |
KR102353808B1 (ko) * | 2018-03-30 | 2022-01-24 | 주식회사 코인플러그 | 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버 |
KR20190125683A (ko) | 2018-04-30 | 2019-11-07 | 김민규 | 블록체인을 기반으로 하는 계약 정보 또는 법률 정보의 위변조 검증 시스템 및 방법 |
KR102450411B1 (ko) * | 2018-05-09 | 2022-09-30 | 삼성에스디에스 주식회사 | 블록체인 기반 트랜잭션 처리 방법, 장치 및 그 시스템 |
CN108768664B (zh) * | 2018-06-06 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、***、存储介质和计算机设备 |
KR102111141B1 (ko) * | 2018-07-10 | 2020-05-15 | 강릉원주대학교산학협력단 | 블록체인을 기반으로 한 의료데이터 서비스 시스템 및 이를 이용한 의료데이터 서비스 방법 |
US10924289B2 (en) * | 2018-07-13 | 2021-02-16 | Visa International Service Association | Public-private key pair account login and key manager |
KR101941989B1 (ko) * | 2018-07-25 | 2019-01-24 | (주)엔터랩 | 블록체인을 이용한 과제매칭 방법, 장치 및 프로그램 |
KR102097995B1 (ko) * | 2018-08-17 | 2020-04-07 | 주식회사 트러스트디비 | 이중 지불 방지를 위한 전자 결제 시스템 및 그 결제 방법 |
KR102116373B1 (ko) | 2018-08-30 | 2020-06-03 | 에이치닥 테크놀로지 아게 | 가상기계를 이용한 스마트 컨트랙트 시스템 및 그 처리 방법 |
KR102195427B1 (ko) * | 2018-08-31 | 2020-12-28 | 주식회사 파이랩테크놀로지 | 블록체인을 앵커링 하는 장치 |
US11171783B2 (en) * | 2018-09-28 | 2021-11-09 | Infosys Limited | System and method for decentralized identity management, authentication and authorization of applications |
WO2020091103A1 (ko) * | 2018-10-30 | 2020-05-07 | (주)디지털골드익스체인지 | 블록체인 기반 암호 화폐의 거래 규칙 적용 방법, 그를 수행하기 위한 단말 장치 및 프로그램 |
US11240001B2 (en) * | 2018-11-06 | 2022-02-01 | International Business Machines Corporation | Selective access to asset transfer data |
US10958421B2 (en) * | 2018-11-20 | 2021-03-23 | International Business Machines Corporation | User access control in blockchain |
CN110020945B (zh) * | 2018-11-27 | 2020-10-30 | 创新先进技术有限公司 | 一种基于多个区块链网络的数据读取方法及*** |
EP3683756A1 (en) * | 2019-01-15 | 2020-07-22 | ABB Schweiz AG | Verifiable analytics platform with smart contracts |
KR101973629B1 (ko) * | 2019-02-14 | 2019-04-29 | 해치랩스 주식회사 | 블록체인 기반 서비스의 검증을 수행하는 시스템 |
KR101973632B1 (ko) * | 2019-02-14 | 2019-04-29 | 해치랩스 주식회사 | 블록체인 스마트 컨트랙트의 검증을 수행하는 시스템 |
KR101975213B1 (ko) * | 2019-02-14 | 2019-05-07 | 해치랩스 주식회사 | 블록체인 스마트 컨트랙트에 기반하여 수행된 거래의 무결성을 검증하는 시스템 |
KR102208704B1 (ko) | 2019-02-21 | 2021-01-28 | 주식회사 시그마체인 | Sql 쿼리에 해당하는 동작을 수행할 수 있는 블록체인 소프트웨어, 블록체인 시스템, 및 이의 동작 방법 |
KR102132118B1 (ko) * | 2019-03-21 | 2020-07-08 | 울산대학교 산학협력단 | 블록체인 기반 작업공간 제공 장치 및 방법 |
CN111066286B (zh) * | 2019-03-27 | 2023-02-28 | 创新先进技术有限公司 | 使用高可用性的可信执行环境检索区块链网络的公共数据 |
EP3673617B1 (en) | 2019-03-27 | 2021-11-17 | Advanced New Technologies Co., Ltd. | Retrieving public data for blockchain networks using trusted execution environments |
US11748687B2 (en) * | 2019-03-28 | 2023-09-05 | Ebay Inc. | Dynamically generating visualization data based on shipping events |
KR102274294B1 (ko) | 2019-03-29 | 2021-07-08 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 고 가용성의 신뢰 실행 환경을 사용하여 블록체인 네트워크에 대한 액세스 데이터를 리트리빙하는 방법 |
KR20200128250A (ko) | 2019-05-01 | 2020-11-12 | 김민규 | 블록체인 기반의 계약 플랫폼 서비스 제공 시스템 및 방법 |
KR102372649B1 (ko) * | 2019-07-26 | 2022-03-11 | 국제기구세계녹색기후기구 주식회사 | 국제기구 세계녹색기후기구 국제녹색인증 방법 |
CN110545273B (zh) * | 2019-08-29 | 2022-05-03 | 广东昭阳信息技术有限公司 | 一种基于区块链应用的资源分配方法及*** |
CN111786772B (zh) * | 2019-12-10 | 2024-05-07 | 北京铭泰恒通信息技术有限公司 | 一种基于区块链的确定的非确定性选择方法、***及存储介质 |
CN112532416A (zh) * | 2019-12-26 | 2021-03-19 | 数海信息技术有限公司 | 一种基于共识机制的安全态信息管理方法及*** |
CN111177171A (zh) * | 2019-12-31 | 2020-05-19 | 上海分布信息科技有限公司 | 基于区块链的业务数据认证与管理方法及*** |
CN111447066A (zh) * | 2020-02-19 | 2020-07-24 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的物联网平台 |
WO2021177493A1 (ko) * | 2020-03-06 | 2021-09-10 | 엘지전자 주식회사 | 블록체인 시스템 및 그 제어 방법 |
US11394717B2 (en) * | 2020-04-03 | 2022-07-19 | Kyndryl, Inc. | Digitally secure transactions over public networks |
CN111553710B (zh) * | 2020-04-08 | 2022-09-02 | 深圳壹账通智能科技有限公司 | 基于区块链的企业数据处理方法、装置、设备和存储介质 |
CN111524005B (zh) * | 2020-04-15 | 2023-08-08 | 四川赛康智能科技股份有限公司 | 一种基于区块链的handle标识***及数据处理方法 |
CN111555887B (zh) * | 2020-04-26 | 2023-08-15 | 布比(北京)网络技术有限公司 | 区块链证书兼容性处理方法、装置及计算机存储介质 |
US11431510B1 (en) * | 2020-04-30 | 2022-08-30 | Wells Fargo Bank, N.A. | Code-sign white listing (CSWL) |
CN111666325B (zh) * | 2020-05-18 | 2024-04-19 | 国网浙江省电力有限公司 | 一种跨链接口调用的有效性验证方法 |
KR20230046291A (ko) * | 2020-06-10 | 2023-04-05 | 시커런시 인크 | 연맹 권한 및 계층적 키 관리를 위한 방법, 장치 및 컴퓨터 판독 가능 매체 |
CN112417514B (zh) * | 2020-10-30 | 2024-04-05 | 迅鳐成都科技有限公司 | 基于电子合约的多方数据协作方法、***及存储介质 |
FR3117718B1 (fr) * | 2020-12-14 | 2024-06-14 | Commissariat Energie Atomique | Méthode de divulgation sélective de données via une chaine de blocs |
CN113114638A (zh) * | 2021-03-26 | 2021-07-13 | 湖南和信安华区块链科技有限公司 | 联盟链的访问和验证方法及*** |
CN113378240B (zh) * | 2021-06-23 | 2023-03-28 | 浪潮云信息技术股份公司 | 一种基于区块链的同步调用用户身份认证方法 |
US20230004970A1 (en) * | 2021-06-30 | 2023-01-05 | Artema Labs, Inc | Distributed Ledgers with Ledger Entries Containing Redactable Payloads |
US20240154952A1 (en) * | 2022-03-01 | 2024-05-09 | Capital One Services, Llc | Method for global identity verification |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060123470A (ko) * | 2004-01-09 | 2006-12-01 | 코아스트리트 리미티드 | OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials) |
KR101085631B1 (ko) * | 2003-06-27 | 2011-11-22 | 마이크로소프트 코포레이션 | 서명된 부트 파일 전송 방법 |
KR20140110540A (ko) * | 2013-03-08 | 2014-09-17 | 에스케이플래닛 주식회사 | 어플리케이션 간의 신뢰관계 획득 방법, 이를 위한 시스템 및 장치 |
KR101628004B1 (ko) * | 2016-03-02 | 2016-06-08 | (주)케이스마텍 | 신뢰된 실행 환경 기반의 사용자 단말을 이용한 사용자 간편 인증 서비스 방법 및 시스템 |
KR101661933B1 (ko) * | 2015-12-16 | 2016-10-05 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10225245B2 (en) * | 2014-11-18 | 2019-03-05 | Auth0, Inc. | Identity infrastructure as a service |
CN106022775A (zh) * | 2016-05-13 | 2016-10-12 | 邓迪 | 基于区块链的文件签名方法及*** |
CN106357612B (zh) * | 2016-08-25 | 2019-07-16 | 江苏通付盾科技有限公司 | 基于公有区块链的认证记录审查方法及装置 |
US10373158B1 (en) * | 2018-02-12 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for modifying a supply of stable value digital asset tokens |
-
2017
- 2017-02-14 KR KR1020170019772A patent/KR101816653B1/ko active IP Right Grant
-
2018
- 2018-01-19 CA CA3053313A patent/CA3053313C/en active Active
- 2018-01-19 CN CN201880006778.XA patent/CN110268678B/zh active Active
- 2018-01-19 WO PCT/KR2018/000914 patent/WO2018151427A1/ko active Application Filing
-
2019
- 2019-08-14 US US16/540,834 patent/US10554421B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101085631B1 (ko) * | 2003-06-27 | 2011-11-22 | 마이크로소프트 코포레이션 | 서명된 부트 파일 전송 방법 |
KR20060123470A (ko) * | 2004-01-09 | 2006-12-01 | 코아스트리트 리미티드 | OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials) |
KR20140110540A (ko) * | 2013-03-08 | 2014-09-17 | 에스케이플래닛 주식회사 | 어플리케이션 간의 신뢰관계 획득 방법, 이를 위한 시스템 및 장치 |
KR101661933B1 (ko) * | 2015-12-16 | 2016-10-05 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법 |
KR101628004B1 (ko) * | 2016-03-02 | 2016-06-08 | (주)케이스마텍 | 신뢰된 실행 환경 기반의 사용자 단말을 이용한 사용자 간편 인증 서비스 방법 및 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011996A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的应用授权方法及装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US10554421B2 (en) | 2020-02-04 |
KR101816653B1 (ko) | 2018-02-21 |
CA3053313A1 (en) | 2018-08-23 |
US20190372786A1 (en) | 2019-12-05 |
CA3053313C (en) | 2022-02-15 |
CN110268678B (zh) | 2022-06-07 |
CN110268678A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018151427A1 (ko) | 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 | |
WO2018151425A1 (ko) | Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 | |
WO2018155822A1 (ko) | 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버 | |
WO2018131886A1 (ko) | Utxo 기반 프로토콜을 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버 | |
WO2018151426A1 (ko) | Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 | |
US11621829B2 (en) | Domain name blockchain user addresses | |
WO2018070848A1 (ko) | 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버 | |
WO2018194350A1 (ko) | Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 | |
CN108259438B (zh) | 一种基于区块链技术的认证的方法和装置 | |
WO2018030707A1 (ko) | 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버 | |
WO2018194351A1 (ko) | Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 | |
WO2018124857A1 (ko) | 블록체인 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버 | |
WO2018194379A1 (ko) | 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버 | |
WO2021169107A1 (zh) | 一种网络身份保护方法、装置及电子设备和存储介质 | |
WO2020189926A1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
WO2020189927A1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
US11729175B2 (en) | Blockchain folding | |
WO2022246193A1 (en) | Lifecycle administration of domain name blockchain addresses | |
JP2023503607A (ja) | 自動デジタル証明書検証のための方法およびデバイス | |
WO2020141782A1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
TWM595792U (zh) | 跨平台授權存取資源的授權存取系統 | |
WO2019125041A1 (ko) | 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템 | |
WO2020141783A1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
CN112311779A (zh) | 应用于区块链***的数据访问控制方法及装置 | |
JP2022528711A (ja) | 分散台帳に関連付けられた宛先アドレッシング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18754825 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 3053313 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 15-11-2019) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18754825 Country of ref document: EP Kind code of ref document: A1 |