KR20230105554A - User's register and login method for cloud-based artificial intelligence system - Google Patents

User's register and login method for cloud-based artificial intelligence system Download PDF

Info

Publication number
KR20230105554A
KR20230105554A KR1020220001088A KR20220001088A KR20230105554A KR 20230105554 A KR20230105554 A KR 20230105554A KR 1020220001088 A KR1020220001088 A KR 1020220001088A KR 20220001088 A KR20220001088 A KR 20220001088A KR 20230105554 A KR20230105554 A KR 20230105554A
Authority
KR
South Korea
Prior art keywords
user
management module
hash value
cred
information
Prior art date
Application number
KR1020220001088A
Other languages
Korean (ko)
Other versions
KR102633218B1 (en
Inventor
이상곤
엘리자베스 나타니아 위탄도
Original Assignee
동서대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동서대학교 산학협력단 filed Critical 동서대학교 산학협력단
Priority to KR1020220001088A priority Critical patent/KR102633218B1/en
Publication of KR20230105554A publication Critical patent/KR20230105554A/en
Application granted granted Critical
Publication of KR102633218B1 publication Critical patent/KR102633218B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 digital signatures

Abstract

본 발명은 사용자가 클라우드 플랫폼에 등록하는 제 100단계 및 상기 사용자가 상기 클라우드 플랫폼에 로그인하는 제 200단계를 포함하고, 상기 제 100단계는 상기 사용자가 해시값 H1을 준비하는 제 101단계, 상기 사용자가 사용자의 블록체인 주소 Addr_u 및 상기 해시값 H1을 포함하는 등록요청정보 Tx1을 제1 스마트계약에 전송하는 제 102단계, 상기 제1 스마트계약이 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 블록체인에 기록하는 제 103단계, 상기 제1 스마트계약이 관리모듈 및 상기 블록체인의 모든 노드에 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 전송하는 제 104단계, 상기 관리모듈이 상기 제1 스마트계약으로부터 전송받은 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 로컬 데이터베이스에 저장하는 제 105단계, 상기 사용자가 디지털서명 S1 및 암호화 정보 R2를 계산하는 제 106단계, 상기 관리모듈이 암호화 정보 R'2에 대한 검증 프로세스를 수행하는 제 107단계, 상기 암호화 정보 R'2에 대한 검증 프로세스 완료 시, 상기 관리모듈이 사용자 할당정보 U_rl을 설정하여, R'1 및 상기 사용자 할당정보 U_rl을 상기 로컬 데이터베이스에 저장하는 제 108단계, 상기 관리모듈이 상기 R'1 및 사용자 할당정보 U_rl로부터 사용자증명서 U_cred를 준비하는 제 109단계, 상기 관리모듈이 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서U_cred를 포함하는 트랜잭션정보 Tx2를 상기 제1 스마트계약에 전송하는 제 110단계, 상기 제1 스마트계약이 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 상기 블록체인에 저장하고, 상기 관리모듈 및 블록체인의 모든 노드에게 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 브로드캐스팅하는 제 111단계, 상기 사용자가 상기 제1 스마트계약에 의해 브로드캐스팅된 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 로컬 저장소에 저장하는 제 112단계, 상기 관리모듈이 상기 사용자증명서 U_cred, 사용자 할당정보 U_rl 및 디지털서명 Su을 포함하는 응답 메시지를 생성하는 제 113단계 및 상기 사용자가 상기 관리모듈로부터 전송받은 상기 응답 메시지를 검증하는 제 114단계를 포함하는 것을 특징으로 한다.The present invention includes a 100th step in which a user registers in a cloud platform and a 200th step in which the user logs in to the cloud platform, wherein the 100th step is a 101st step in which the user prepares hash value H1, Step 102 of sending registration request information Tx1 including the user's blockchain address Addr_u and the hash value H1 to the first smart contract, wherein the first smart contract transmits the user's blockchain address Addr_u and the hash value H'1 Step 103 of recording in the blockchain, step 104 of the first smart contract transmitting the user's blockchain address Addr_u and hash value H'1 to the management module and all nodes of the blockchain, the management module Step 105 of storing the user's blockchain address Addr_u and hash value H'1 transmitted from the first smart contract in a local database, step 106 of calculating the digital signature S1 and encryption information R2 by the user, the management Step 107, in which the module performs a verification process on the encryption information R'2, upon completion of the verification process on the encryption information R'2, the management module sets user assignment information U_rl, and R'1 and the user assignment Step 108 of storing information U_rl in the local database, step 109 of the management module preparing a user certificate U_cred from R'1 and user assignment information U_rl, the management module preparing the user's block chain address Addr_u and the user Step 110 of transmitting transaction information Tx2 including the certificate U_cred to the first smart contract, wherein the first smart contract stores the user's block chain address Addr_u and the user certificate U'_cred in the block chain, and the management Step 111 of broadcasting the user's blockchain address Addr_u and the user certificate U'_cred to all nodes of the module and blockchain, wherein the user broadcasts the user's blockchain address Addr_u and Step 112 of storing the user certificate U'_cred in a local storage, step 113 of generating a response message including the user certificate U_cred, user assignment information U_rl, and digital signature Su by the management module; It is characterized in that it comprises a step 114 of verifying the response message transmitted from.

Description

클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법{User's register and login method for cloud-based artificial intelligence system}User's register and login method for cloud-based artificial intelligence system}

본 발명은 사용자의 등록 및 로그인 방법에 관한 것으로, 더욱 자세하게는 클라우드 기반의 인공지능 시스템에서 블록체인 및 스마트계약을 이용하여, 데이터의 무결성을 강화하고, 보안성을 향상시킬 수 있는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법에 관한 것이다.The present invention relates to a user's registration and login method, and more particularly, to a cloud-based artificial intelligence system that can strengthen data integrity and improve security by using blockchain and smart contracts in a cloud-based artificial intelligence system. It relates to a user registration and login method for an intelligent system.

인공지능(인공지능, Artificial Intelligence)은 1956년에 도입된 이후, 발전을 거듭하고 있다. 인공지능 알파고는 2016년에 세계 바둑 챔피언을 5번 연속으로 이겼다. 그리고, 구글은 2018년에 아리조나주 피닉스사에서 분사한 웨이모사의 자율주행 택시 서비스를 출시했다. 그리고, 인공지능은 국가 안보, 금융, 의료, 형사 사법, 교통, 스마트 도시와 같은 다른 분야도 변화시킬 수 있다.Since artificial intelligence (AI) was introduced in 1956, it has continued to develop. In 2016, AI AlphaGo beat the world Go champion five times in a row. In 2018, Google launched a self-driving taxi service from Waymo, which was spun off from Phoenix, Arizona. And AI could also transform other fields, such as national security, finance, healthcare, criminal justice, transportation, and smart cities.

그러나, 인공지능은 자율주행차에 대한 공격 등의 적대적인 사례에 적용될 수 있다. 예를 들어, 인공지능은 소수의 픽셀이 변경된 정지신호 이미지를 오분류하여, 자동차 사고를 유발할 수 있다. 그리고, 중앙 서버에서 인공지능에 의해 제어되는 다수의 로봇에 대한 공격은 대규모의 치명적인 장애를 유발할 수 있다. 따라서, 인공지능 시스템을 개발 시, 인공지능 시스템의 보안에 더 많은 노력을 기울여야 한다.However, AI can be applied in adversarial cases, such as attacks on self-driving cars. For example, artificial intelligence could misclassify a stop sign image with a small number of pixels altered, causing a car accident. In addition, attacks on multiple robots controlled by artificial intelligence in a central server can cause large-scale catastrophic failures. Therefore, when developing an artificial intelligence system, more effort should be put into the security of the artificial intelligence system.

최근 들어, 학습데이터를 이용하여, 기계학습 모델을 학습시킬 수 있는 클라우드 기반의 인공지능 시스템이 적극적으로 도입되고 있다. Recently, a cloud-based artificial intelligence system capable of learning a machine learning model using learning data has been actively introduced.

그러나, 기존의 클라우드 기반의 인공지능 시스템에서는 데이터의 무결성(Data Integrity) 및 개인정보의 보호에 취약하다는 문제점이 있었다. However, existing cloud-based artificial intelligence systems have a problem in that they are vulnerable to data integrity and protection of personal information.

또한, 기존의 클라우드 기반의 인공지능 시스템에서는 클라우드 컴퓨팅(Cloud Computing)의 취약성으로 인해 인공지능 서비스의 보안에 악영향을 미치고, 잠재적으로 데이터를 손상시킬 수 있다는 문제점이 있었다.In addition, existing cloud-based artificial intelligence systems have a problem in that they can adversely affect the security of artificial intelligence services and potentially damage data due to vulnerabilities of cloud computing.

KRKR 10-1914416 10-1914416 B1B1

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 블록체인 및 스마트 계약을 기반으로 하는 아키텍처를 통합하여, 클라우드 기반의 인공지능 시스템의 머신러닝 파이프라인에 대한 무결성을 강화한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법을 제공하는데 있다.The present invention has been devised to solve the above problems, and an object of the present invention is to integrate an architecture based on blockchain and smart contracts to strengthen the integrity of the machine learning pipeline of a cloud-based artificial intelligence system. It is to provide a user registration and login method for a cloud-based artificial intelligence system.

또한, 본 발명의 목적은 공격자가 실제 사용자를 사칭하여 클라우드 기반의 인공지능 시스템에 침입하는 것을 사전에 방지할 수 있는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법을 제공하는데 있다.Another object of the present invention is to provide a user registration and login method for a cloud-based artificial intelligence system that can prevent an attacker from infiltrating the cloud-based artificial intelligence system by impersonating a real user.

또한, 본 발명의 목적은 데이터의 무결성을 추적하고, 데이터 조작을 방지할 수 있는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법을 제공하는데 있다.Another object of the present invention is to provide a user registration and login method for a cloud-based artificial intelligence system capable of tracking data integrity and preventing data manipulation.

상기와 같은 기술적인 문제점을 해결하기 위하여, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 사용자가 클라우드 플랫폼에 등록하는 제 100단계 및 상기 사용자가 상기 클라우드 플랫폼에 로그인하는 제 200단계를 포함하고, 상기 제 100단계는 상기 사용자가 해시값 H1을 준비하는 제 101단계, 상기 사용자가 사용자의 블록체인 주소 Addr_u 및 상기 해시값 H1을 포함하는 등록요청정보 Tx1을 제1 스마트계약에 전송하는 제 102단계, 상기 제1 스마트계약이 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 블록체인에 기록하는 제 103단계, 상기 제1 스마트계약이 관리모듈 및 상기 블록체인의 모든 노드에 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 전송하는 제 104단계, 상기 관리모듈이 상기 제1 스마트계약으로부터 전송받은 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 로컬 데이터베이스에 저장하는 제 105단계, 상기 사용자가 디지털서명 S1 및 암호화 정보 R2를 계산하는 제 106단계, 상기 관리모듈이 암호화 정보 R'2에 대한 검증 프로세스를 수행하는 제 107단계, 상기 암호화 정보 R'2에 대한 검증 프로세스 완료 시, 상기 관리모듈이 사용자 할당정보 U_rl을 설정하여, R'1 및 상기 사용자 할당정보 U_rl을 상기 로컬 데이터베이스에 저장하는 제 108단계, 상기 관리모듈이 상기 R'1 및 사용자 할당정보 U_rl로부터 사용자증명서 U_cred를 준비하는 제 109단계, 상기 관리모듈이 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서U_cred를 포함하는 트랜잭션정보 Tx2를 상기 제1 스마트계약에 전송하는 제 110단계, 상기 제1 스마트계약이 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 상기 블록체인에 저장하고, 상기 관리모듈 및 블록체인의 모든 노드에게 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 브로드캐스팅하는 제 111단계, 상기 사용자가 상기 제1 스마트계약에 의해 브로드캐스팅된 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 로컬 저장소에 저장하는 제 112단계, 상기 관리모듈이 상기 사용자증명서 U_cred, 사용자 할당정보 U_rl 및 디지털서명 Su을 포함하는 응답 메시지를 생성하는 제 113단계 및 상기 사용자가 상기 관리모듈로부터 전송받은 상기 응답 메시지를 검증하는 제 114단계를 포함하고, 상기 해시값 H'1는 상기 사용자에 의해 생성된 상기 해시값 H1을 상기 제1 스마트계약이 전송받은 경우, 상기 해시값 H1과 구별하기 위해 상기 해시값 H1 대신에 사용되는 정보이고, 상기 암호화 정보 R'2는 상기 사용자에 의해 생성된 상기 암호화 정보 R2를 상기 관리모듈이 전송받은 경우, 상기 암호화 정보 R2와 구별하기 위해 상기 암호화 정보 R2 대신에 사용되는 정보이고, 상기 사용자증명서 U'_cred는 상기 관리모듈에 의해 생성된 상기 사용자증명서 U_cred를 상기 제1 스마트계약이 전송받은 경우, 상기 사용자증명서 U_cred와 구별하기 위해 상기 사용자증명서 U_cred 대신에 사용되는 정보인 것을 특징으로 한다.In order to solve the above technical problems, a user registration and login method for a cloud-based artificial intelligence system according to the present invention includes the 100th step of registering a user in a cloud platform and the user logging in to the cloud platform. A 200th step is included, wherein the 100th step is a 101st step in which the user prepares the hash value H1, and the user transmits the registration request information Tx1 including the user's blockchain address Addr_u and the hash value H1 to the first smart device. Step 102 of transmitting to the contract, step 103 of the first smart contract recording the user's block chain address Addr_u and hash value H'1 in the block chain, step 103 of the first smart contract managing the management module and the block chain Step 104 of transmitting the user's blockchain address Addr_u and hash value H'1 to all nodes, wherein the management module transfers the user's blockchain address Addr_u and hash value H'1 transmitted from the first smart contract to the local Step 105 of storing in a database, Step 106 of calculating the digital signature S1 and encryption information R2 by the user, Step 107 of performing a verification process on the encryption information R'2 by the management module, Step 107 of the encryption information R' 2, the management module sets the user assignment information U_rl and stores R'1 and the user assignment information U_rl in the local database, wherein the management module sets the user assignment information U_rl Step 109 of preparing user certificate U_cred from allocation information U_rl, step 110 of the management module transmitting transaction information Tx2 including the user's blockchain address Addr_u and user certificate U_cred to the first smart contract, 1 The smart contract stores the user's block chain address Addr_u and user credential U'_cred in the block chain, and broadcasts the user's block chain address Addr_u and user credential U'_cred to the management module and all nodes in the block chain. Step 111 casting, the user storing the user's blockchain address Addr_u and user credential U'_cred broadcasted by the first smart contract in a local storage step 112, the management module stores the user credential U_cred , a step 113 of generating a response message including user allocation information U_rl and a digital signature Su, and a step 114 of verifying the response message received by the user from the management module, wherein the hash value H'1 is When the first smart contract receives the hash value H1 generated by the user, it is information used instead of the hash value H1 to distinguish it from the hash value H1, and the encryption information R'2 is provided to the user. When the management module receives the encryption information R2 generated by the management module, it is information used instead of the encryption information R2 to distinguish it from the encryption information R2, and the user certificate U'_cred is the information generated by the management module. When the first smart contract receives the user credential U_cred, it is characterized in that it is information used instead of the user credential U_cred to distinguish it from the user credential U_cred.

또한, 상기 제 101단계는 상기 사용자가 (수학식) R1=Addr_u||name||H(pass)||email||t을 이용하여, R1을 준비하는 제 101-1단계 및 상기 사용자가 (수학식) H1=H(R1)를 이용하여, 상기 R1의 해시값 H1을 준비하는 제 101-2단계를 포함하고, 상기 name은 사용자의 이름이고, 상기 pass는 사용자의 비밀번호이고, 상기 H(pass)는 상기 사용자의 비밀번호 pass의 해시값이고, 상기 email은 사용자의 이메일 주소이고, 상기 t는 현재의 타임스탬프인 것을 특징으로 한다.Further, the step 101 is the step 101-1 in which the user prepares R1 using (Equation Equation) R1=Addr_u||name||H(pass)||email||t and the user ( A 101-2 step of preparing a hash value H1 of R1 using Equation) H1 = H(R1), wherein the name is the user's name, the pass is the user's password, and the H ( pass) is the hash value of the user's password pass, the email is the user's email address, and t is the current timestamp.

또한, 상기 제 106단계는 상기 사용자가 (수학식) S1=Sign_SK_u(H1)으로 상기 사용자의 비밀키 SK_u를 이용하여, 상기 해시값 H1에 대한 상기 디지털서명 S1을 생성하는 제 106-1단계 및 상기 사용자가 (수학식) R2=E_PK_idma(R1||S1)으로 상기 관리모듈의 공개키 PK_idma를 이용하여, 상기 R1 및 디지털서명 S1를 연접한 정보를 암호화한 상기 암호화 정보 R2를 계산하는 제 106-2단계를 포함하는 것을 특징으로 한다.In addition, the step 106 is a step 106-1 in which the user generates the digital signature S1 for the hash value H1 using the user's private key SK_u as (Equation Equation) S1 = Sign_SK_u (H1) and 106, in which the user calculates the encrypted information R2 by encrypting the information concatenated with the R1 and the digital signature S1 using the public key PK_idma of the management module as (Equation Equation) R2 = E_PK_idma (R1||S1) - It is characterized in that it includes step 2.

또한, 상기 제 107단계는 상기 관리모듈이 (수학식) D_SK_idma(R'2) → R'1||S'1에서 상기 관리모듈의 비밀키 SK_idma로 상기 암호화 정보 R'2를 복호화하여, 상기 R'1 및 디지털서명 S'1을 획득하는 제 107-1단계, 상기 관리모듈이 (수학식) H""1=H(R'1)을 이용하여, 상기 R'1의 해시값 H""1을 계산하는 제 107-2단계, 상기 관리모듈이 상기 제 107-2단계에서 계산된 상기 해시값 H""1 및 상기 제1 스마트계약에 의해 브로드캐스팅된 상기 해시값 H'1을 비교하여, 상기 해시값 H""1 및 H'1의 일치 여부를 확인하는 제 107-3단계, 상기 관리모듈이 상기 해시값 H""1 및 H'1이 일치 시, 상기 암호화 정보 R'2에 대한 검증 프로세스를 지속하고, 상기 해시값 H""1 및 H'1이 불일치 시, 상기 암호화 정보 R'2에 대한 검증 프로세스를 중단하는 제 107-4단계 및 상기 관리모듈이 (수학식) PKVer_Addr_u(S'1,H""1) → True or False을 이용하여, 상기 PKVer_Addr_u 함수에 상기 디지털서명 S'1 및 해시값 H""1을 입력하는 제 107-5단계:를 포함하고, 상기 PKVer_Addr_u(S'1,H""1)은 상기 사용자의 블록체인의 주소 Addr_u가 상기 디지털서명 S'1으로 상기 해시값 H""1에 서명했는지 검증하는 함수인 것을 특징으로 한다.In step 107, the management module decrypts the encrypted information R'2 with the private key SK_idma of the management module in (Equation) D_SK_idma(R'2) → R'1||S'1, Step 107-1 of acquiring R'1 and the digital signature S'1, the management module uses (Equation Equation) H""1=H(R'1), the hash value H" of R'1 In step 107-2 of calculating "1, the management module compares the hash value H""1 calculated in step 107-2 with the hash value H'1 broadcast by the first smart contract. In step 107-3, the management module checks whether the hash values H""1 and H'1 match. When the hash values H""1 and H'1 match, the encryption information R'2 107-4 step of continuing the verification process for , and stopping the verification process for the encryption information R'2 when the hash values H""1 and H'1 do not match, and the management module (Equation Equation) Step 107-5 of inputting the digital signature S'1 and the hash value H""1 to the PKVer_Addr_u function using PKVer_Addr_u(S'1,H""1) → True or False; PKVer_Addr_u(S'1,H""1) is a function that verifies whether the user's blockchain address Addr_u signed the hash value H""1 with the digital signature S'1.

또한, 상기 제 109단계는 상기 관리모듈이 (수학식) R3=R'1||U_rl을 이용하여, 상기 R'1 및 상기 사용자 할당정보 U_rl을 연접한 상기 R3을 계산하는 제 109-1단계, 상기 관리모듈이 (수학식) U_cred=H(R3)을 이용하여, 상기 R3의 해시값인 상기 사용자 증명서 U_cred를 계산하는 제 109-2단계 및 상기 관리모듈이 상기 사용자 증명서 U_cred를 상기 로컬 데이터베이스에 저장하는 제 109-3단계를 포함하는 것을 특징으로 한다.In addition, step 109 is a step 109-1 in which the management module calculates R3 by concatenating R'1 and the user assignment information U_rl using R3=R'1||U_rl (Equation Equation). , a 109-2 step in which the management module calculates the user certificate U_cred, which is the hash value of R3, using (Equation Equation) U_cred = H(R3), and the management module calculates the user certificate U_cred in the local database It is characterized in that it includes a 109-3 step of storing in.

또한, 상기 제 113단계는 상기 관리모듈이 (수학식) Su=Sign_SK_idma(U_cred||H(U_rl))으로 상기 관리모듈의 비밀키 SK_idma를 이용하여, 상기 U_cred||H(U_rl)에 대한 상기 디지털서명 Su을 생성하는 제 113-1단계 및 상기 관리모듈이 상기 사용자증명서 U_cred, 사용자 할당정보 U_rl 및 디지털서명 Su을 포함하는 상기 응답 메시지를 상기 사용자에게 각각 전송하는 제 113-2단계를 포함하는 것을 특징으로 한다.In addition, in step 113, the management module uses (Equation Equation) Su=Sign_SK_idma (U_cred||H(U_rl)) and the secret key SK_idma of the management module, a step 113-1 of generating a digital signature Su and a step 113-2 of the management module transmitting the response message including the user certificate U_cred, user allocation information U_rl, and digital signature Su to the user, respectively. characterized by

또한, 상기 제 114단계는 상기 사용자가 상기 관리모듈로부터 사용자증명서 U""_cred, 사용자 할당정보 U'_rl 및 디지털서명 S'u를 전송받는 제 114-1단계, 상기 사용자가 상기 관리모듈로부터 전송받은 상기 사용자증명서 U""_cred 및 상기 제1 스마트계약으로부터 전송받은 상기 사용자증명서 U'_cred를 비교하는 제 114-2단계, 상기 사용자가 상기 사용자증명서 U""_cred 및 U'_cred가 일치 시, 상기 응답 메시지에 대한 검증 프로세스를 지속하고, 상기 사용자증명서 U""_cred 및 U'_cred가 불일치 시, 상기 응답 메시지에 대한 검증 프로세스를 중단하는 제 114-3단계, 상기 사용자가 (수학식) PKVer_PK_idma(S'u,U""_cred||H(U'_rl)) → True or False을 이용하여, 상기 디지털서명 S'u를 검증하는 제 114-4단계 및 상기 사용자가 상기 제 114-4단계의 출력값이 참이면, 상기 디지털서명 S'u에 대한 검증 프로세스를 종료하는 제 114-5단계를 포함하고, 상기 디지털서명 S'u는 (수학식) Sign_SK_idma(U_cred||H(U_rl))'으로, 상기 관리모듈의 비밀키 SK_idma를 이용하여 상기 (U_cred||H(U_rl))'에 대해 생성된 디지털서명이고, 상기 PKVer_PK_idma(S'u,U""_cred||H(U'_rl))는 상기 관리모듈의 공개키 PK_idma가 상기 디지털서명 S'u로 U""_cred||H(U'_rl)에 서명했는지 검증하는 함수이고, 상기 사용자증명서 U""_cred는 상기 관리모듈에 의해 생성된 상기 사용자증명서 U_cred를 상기 사용자가 전송받은 경우, 상기 사용자증명서 U_cred와 구별하기 위해 상기 사용자증명서 U_cred 대신에 사용되는 정보이고, 상기 사용자 할당정보 U'_rl는 상기 관리모듈에 의해 생성된 상기 사용자 할당정보 U_rl을 상기 사용자가 전송받은 경우, 상기 사용자 할당정보 U_rl과 구별하기 위해 상기 사용자 할당정보 U_rl 대신에 사용되는 정보이고, 상기 디지털서명 S'u는 상기 관리모듈에 의해 생성된 상기 디지털서명 Su를 상기 사용자가 전송받은 경우, 상기 디지털서명 Su와 구별하기 위해 상기 디지털서명 Su 대신에 사용되는 정보인 것을 특징으로 한다.In addition, step 114 is a step 114-1 in which the user receives user certificate U""_cred, user assignment information U'_rl, and digital signature S'u from the management module, and the user transmits the information from the management module. Step 114-2 of comparing the received user certificate U""_cred and the user certificate U'_cred transmitted from the first smart contract, if the user's user certificate U""_cred and U'_cred match, Continue the verification process for the response message, and if the user certificates U""_cred and U'_cred do not match, step 114-3 of stopping the verification process for the response message, the user (Equation Equation) PKVer_PK_idma (S'u,U""_cred||H(U'_rl)) → Step 114-4 of verifying the digital signature S'u using True or False, and the user performing step 114-4 If the output value of is true, a step 114-5 of terminating the verification process for the digital signature S'u, wherein the digital signature S'u is (Equation) Sign_SK_idma(U_cred||H(U_rl))' , which is a digital signature generated for (U_cred||H(U_rl))' using the private key SK_idma of the management module, and the PKVer_PK_idma(S'u,U""_cred||H(U'_rl) ) is a function that verifies whether the public key PK_idma of the management module has signed U""_cred||H(U'_rl) with the digital signature S'u, and the user certificate U""_cred is determined by the management module. When the user receives the generated user certificate U_cred, it is information used instead of the user certificate U_cred to distinguish it from the user certificate U_cred, and the user assignment information U'_rl is the user certificate generated by the management module. When the user receives allocation information U_rl, information used instead of the user allocation information U_rl to distinguish from the user allocation information U_rl, and the digital signature S'u is the digital signature Su generated by the management module. is information used instead of the digital signature Su to distinguish it from the digital signature Su when the user receives it.

또한, 상기 제 200단계는 상기 사용자가 로그인을 위해 해시값 H2를 준비하는 제 201단계, 상기 사용자가 상기 사용자의 블록체인 주소 Addr_u 및 상기 해시값 H2를 포함하는 트랜잭션정보 Tx3을 상기 제1 스마트계약에 전송하는 제 202단계, 상기 제1 스마트계약이 상기 사용자의 블록체인의 주소 Addr_u 및 해시값 H'2를 상기 블록체인에 기록하고, 상기 관리모듈 및 블록체인의 모든 노드에게 상기 사용자의 블록체인의 주소 Addr_u 및 해시값 H'2를 브로드캐스팅하는 제 203단계, 상기 관리모듈이 상기 제1 스마트계약으로부터 전송받은 상기 사용자의 블록체인의 주소 Addr_u 및 해시값 H'2를 상기 로컬 데이터베이스에 저장하는 제 204단계, 상기 사용자가 디지털 서명 S2 및 암호화 정보 R5를 계산하는 제 205단계, 상기 사용자가 상기 관리모듈에 상기 암호화 정보 R5를 전송하여, 상기 관리모듈을 통해 상기 클라우드 플랫폼에 로그인을 요청하는 제 206단계, 상기 관리모듈이 암호화 정보 R'5에 대한 검증 프로세스를 수행하는 제 207단계, 상기 암호화 정보 R'5에 대한 검증 프로세스 완료 시, 상기 관리모듈이 '로그인 성공'이라는 알림메시지 Msg를 출력하는 제 208단계, 상기 관리모듈이 상기 사용자가 상기 클라우드 플랫폼에 로그인했다는 것을 공지하기 위해 상기 알림메시지 Msg, 해시값 Hm 및 디지털서명 Se를 상기 사용자에게 전송하는 제 209단계 및 상기 사용자가 디지털서명 S'e를 검증하는 제 210단계를 포함하고, 상기 해시값 H'2는 상기 사용자에 의해 생성된 상기 해시값 H2를 상기 제1 스마트계약이 전송받은 경우, 상기 해시값 H2와 구별하기 위해 상기 해시값 H2 대신에 사용되는 정보이고, 상기 암호화 정보 R'5는 상기 사용자에 의해 생성된 상기 암호화 정보 R5를 상기 관리모듈이 전송받은 경우, 상기 암호화 정보 R5와 구별하기 위해 상기 암호화 정보 R5 대신에 사용되는 정보이고, 상기 디지털서명 S'e는 상기 관리모듈에 의해 생성된 상기 디지털서명 Se를 상기 사용자가 전송받은 경우, 상기 디지털서명 Se와 구별하기 위해 상기 디지털서명 Se 대신에 사용되는 정보인 것을 특징으로 한다.In addition, the step 200 is a step 201 in which the user prepares the hash value H2 for login, and the user transmits the transaction information Tx3 including the user's blockchain address Addr_u and the hash value H2 to the first smart contract. Step 202, the first smart contract records the user's blockchain address Addr_u and hash value H'2 in the blockchain, and sends the management module and all nodes of the blockchain to the user's blockchain Step 203 of broadcasting the address Addr_u and the hash value H'2 of, wherein the management module stores the address Addr_u and the hash value H'2 of the user's blockchain received from the first smart contract in the local database Step 204, wherein the user calculates the digital signature S2 and encryption information R5; Step 205, wherein the user transmits the encryption information R5 to the management module and requests log-in to the cloud platform through the management module; In step 206, the management module performs a verification process on the encryption information R'5. In step 207, upon completion of the verification process on the encryption information R'5, the management module outputs a notification message Msg indicating 'login succeeded'. Step 208, wherein the management module transmits the notification message Msg, hash value Hm, and digital signature Se to the user to notify that the user has logged in to the cloud platform; In a step 210 of verifying 'e', the hash value H'2 is used to distinguish the hash value H2 from the hash value H2 when the first smart contract receives the hash value H2 generated by the user. Information used instead of the value H2, and the encryption information R'5 is used instead of the encryption information R5 to distinguish it from the encryption information R5 when the management module receives the encryption information R5 generated by the user. information, and the digital signature S'e is information used instead of the digital signature Se to distinguish it from the digital signature Se when the user receives the digital signature Se generated by the management module. to be

또한, 상기 제 201단계는 상기 사용자가 (수학식) pwd=H(pass)를 이용하여, 상기 사용자의 비밀번호 pass의 해시값인 상기 pwd를 준비하는 제 201-1단계 및 상기 사용자가 (수학식) R4=email||pwd||U_cred||t를 이용하여, 상기 R4를 준비하는 제 201-2단계 및 상기 사용자가 (수학식) H2=H(R4)를 이용하여, 상기 R4의 해시값 H2를 준비하는 제 201-3단계를 포함하고, 상기 pass는 사용자의 비밀번호이고, 상기 email은 사용자의 이메일 주소이고, 상기 U_cred는 사용자증명서이고, 상기 t는 현재의 타임스탬프이고, 상기 R4는 상기 사용자의 이메일주소 email, 사용자의 비밀번호 pwd, 사용자증명서 U_cred 및 현재의 타임스탬프 t를 연접한 정보인 것을 특징으로 한다.In addition, the step 201 is a step 201-1 in which the user prepares the pwd, which is the hash value of the password pass of the user, using (Equation) pwd = H (pass) and the user (Equation) ) R4=email||pwd||U_cred||t using the 201-2nd step of preparing the R4 and the user using (Equation) H2=H(R4), the hash value of the R4 A step 201-3 of preparing H2, wherein the pass is a user's password, the email is a user's e-mail address, the U_cred is a user certificate, t is a current timestamp, and R4 is the user's e-mail address. It is characterized in that it is information concatenated with the user's e-mail address e-mail, the user's password pwd, the user certificate U_cred, and the current timestamp t.

또한, 상기 제 205단계는 상기 사용자가 (수학식) S2=Sign_SK_u(H2)로 상기 사용자의 비밀키 SK_u를 이용하여, 상기 해시값 H2에 대한 상기 디지털서명 S2을 생성하는 제 205-1단계 및 상기 사용자가 (수학식) R5=E_PK_idma(R4||S2)로 상기 관리모듈의 공개키 PK_idma를 이용하여, 상기 R4 및 디지털서명 S2를 연접한 정보를 암호화한 상기 R5를 계산하는 제 205-2단계를 포함하는 것을 특징으로 한다.In addition, in step 205, the user generates the digital signature S2 for the hash value H2 by using the user's private key SK_u as (Equation Equation) S2 = Sign_SK_u (H2), and 205-2, in which the user calculates the R5 by encrypting the information concatenated with the R4 and the digital signature S2 using the public key PK_idma of the management module as R5 = E_PK_idma (R4||S2) It is characterized by including steps.

또한, 상기 제 207단계는 상기 관리모듈이 (수학식) D_SK_idma(R'5) → R'4||S'2에서 관리모듈의 비밀키 SK_idma로 상기 암호화 정보 R'5를 복호화하여, R'4 및 디지털서명 S'2를 획득하는 제 207-1단계, 상기 관리모듈이 상기 로컬 데이터베이스에 대한 사용자정보의 등록 여부를 체크하는 제 207-2단계, 상기 관리모듈은 상기 사용자로부터 전송받은 사용자정보 및 상기 로컬 데이터베이스에 저장된 사용자정보를 비교하여, 일치 여부를 확인하는 제 207-3단계, 상기 제 207-2단계 및 207-3단계가 모두 참이면, 상기 관리모듈이 상기 암호화 정보 R'5에 대한 검증 프로세스를 지속하는 제 207-4단계, 상기 관리모듈이 상기 로컬 데이터베이스에서 상기 사용자 할당정보 U_rl을 확인하는 제 207-5단계, 상기 사용자가 접근 권한을 갖고 있는 경우, 상기 관리모듈이 (수학식) H""2=H(R'4)를 이용하여, 상기 R'4의 해시값 H""2를 계산하는 제 207-6단계, 상기 관리모듈이 상기 관리모듈에 의해 계산된 상기 해시값 H""2 및 상기 제1 스마트계약에 의해 브로드캐스팅된 상기 해시값 H'2를 비교하여, 상기 해시값 H""2 및 H'2의 일치 여부를 확인하는 제 207-7단계, 상기 관리모듈이 상기 해시값 H""2 및 H'2가 일치 시, 상기 암호화 정보 R'5에 대한 검증 프로세스를 지속하고, 상기 해시값 H""2 및 H'2이 불일치 시, 상기 암호화 정보 R'5에 대한 검증 프로세스를 중단하는 제 207-8단계 및 상기 관리모듈이 (수학식) PKVer_Addr_u(S'2,H""2) → True or False을 이용하여, PKVer_Addr_u 함수에 상기 디지털서명 S'2, 해시값 H""2를 입력하는 제 207-9단계를 포함하고, 상기 사용자정보는 상기 사용자의 이메일주소 email, 사용자의 비밀번호 pass 및 사용자증명서 U_cred를 포함하는 정보이고, 상기 PKVer_Addr_u(S'2,H""2)는 상기 사용자의 블록체인의 주소 Addr_u가 상기 디지털서명 S'2로 상기 해시값 H""2에 서명했는지 검증하는 함수인 것을 특징으로 한다.Further, in step 207, the management module decrypts the encrypted information R'5 with the private key SK_idma of the management module in (Equation) D_SK_idma(R'5) → R'4||S'2, Step 207-1 of acquiring 4 and the digital signature S'2, step 207-2 of checking whether user information is registered in the local database by the management module, the user information received from the user by the management module and if steps 207-3, 207-2, and 207-3 of comparing user information stored in the local database and confirming whether they match are true, the management module determines whether the user information R'5 matches the user information stored in the local database. Step 207-4 of continuing the verification process for the information, step 207-5 of the management module checking the user assignment information U_rl in the local database, if the user has access authority, the management module (math Equation) Step 207-6 of calculating the hash value H""2 of R'4 by using H""2 = H(R'4), wherein the management module calculates the hash value calculated by the management module Step 207-7 of comparing the value H""2 and the hash value H'2 broadcast by the first smart contract to determine whether the hash value H""2 and H'2 match, the When the hash values H""2 and H'2 match, the management module continues the verification process for the encryption information R'5, and when the hash values H""2 and H'2 do not match, the encryption information Step 207-8 of stopping the verification process for R'5 and the management module uses (mathematical expression) PKVer_Addr_u(S'2,H""2) → True or False to determine the digital signature S in the PKVer_Addr_u function '2, a step 207-9 of inputting hash value H""2, wherein the user information is information including the user's email address email, the user's password pass, and the user certificate U_cred, and the PKVer_Addr_u (S '2,H""2) is a function that verifies whether the user's blockchain address Addr_u signed the hash value H""2 with the digital signature S'2.

또한, 상기 209단계는 상기 관리모듈이 (수학식) Hm=H(Msg)를 이용하여, 상기 알림메시지 Msg의 해시값 Hm을 준비하는 제 209-1단계 및 상기 관리모듈이 (수학식) Se=Sign_SK_idma(Hm)으로 상기 관리모듈의 비밀키 SK_idma를 이용하여, 상기 해시값 Hm에 대한 상기 디지털서명 Se을 생성하는 제 209-2단계를 포함하는 것을 특징으로 한다.Further, the step 209 is a step 209-1 in which the management module prepares the hash value Hm of the notification message Msg using (mathematical expression) Hm=H(Msg) and the management module (mathematical expression) Se =Sign_SK_idma(Hm), and a step 209-2 of generating the digital signature Se for the hash value Hm using the secret key SK_idma of the management module.

또한, 상기 제 210단계는 상기 사용자가 (수학식) PKVer_PK_idma(S'e,H'm) → True or False을 이용하여, PKVer_PK_idma 함수에 상기 디지털서명 S'e 및 해시값 H'm을 입력하는 제 210-1단계를 포함하고, 상기 PKVer_PK_idma(S'e,H'm)는 상기 관리모듈의 공개키 PK_idma가 상기 디지털서명 S'e로 상기 해시값 H'm에 서명했는지 검증하는 함수이고, 상기 해시값 H'm은 상기 관리모듈에 의해 생성된 상기 해시값 Hm를 상기 사용자가 전송받은 경우, 상기 해시값 Hm과 구별하기 위해 상기 해시값 Hm 대신에 사용되는 정보인 것을 특징으로 한다.Further, in step 210, the user inputs the digital signature S'e and hash value H'm to the PKVer_PK_idma function using (mathematical expression) PKVer_PK_idma (S'e, H'm) → True or False. Step 210-1 is included, wherein the PKVer_PK_idma(S'e,H'm) is a function verifying whether the public key PK_idma of the management module has signed the hash value H'm with the digital signature S'e; The hash value H'm may be information used instead of the hash value Hm to distinguish the hash value Hm from the hash value Hm when the user receives the hash value Hm generated by the management module.

본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 블록체인 및 스마트 계약을 기반으로 하는 아키텍처를 통합하여, 클라우드 기반의 인공지능 시스템의 머신러닝 파이프라인에 대한 무결성을 강화할 수 있는 효과가 있다.The user's registration and login method for a cloud-based artificial intelligence system according to the present invention integrates architecture based on blockchain and smart contracts, thereby strengthening the integrity of the machine learning pipeline of the cloud-based artificial intelligence system. There is an effect.

또한, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 공격자가 실제 사용자를 사칭하여 클라우드 기반의 인공지능 시스템에 침입하는 것을 사전에 방지할 수 있는 효과가 있다.In addition, the user registration and login method for the cloud-based artificial intelligence system according to the present invention has an effect of preventing an attacker from impersonating a real user and infiltrating the cloud-based artificial intelligence system in advance.

또한, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 무결성을 추적하고, 데이터 조작을 방지할 수 있는 효과가 있다.In addition, the user's registration and login method for the cloud-based artificial intelligence system according to the present invention has an effect of tracking integrity and preventing data manipulation.

도 1은 본 발명에 의한 클라우드 기반의 인공지능 시스템의 구성도이다.
도 2는 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법의 순서도이다.
도 3은 도 2에 도시된 사용자가 클라우드 플랫폼에 등록하는 단계에서 S101~S107 단계에 대한 순서도이다.
도 4는 도 2에 도시된 사용자가 클라우드 플랫폼에 등록하는 단계에서 S108~S114 단계에 대한 순서도이다.
도 5는 도 3에 도시된 사용자가 해시값 H1을 준비하는 S101 단계에 대한 순서도이다.
도 6은 도 3에 도시된 사용자가 S1 및 R2를 계산하는 S106 단계에 대한 순서도이다.
도 7은 도 3에 도시된 사용자가 R'2에 대한 검증 프로세스를 수행하는 S107 단계에 대한 순서도이다.
도 8은 도 4에 도시된 관리모듈이 R'1,U_rl로부터 U_cred를 준비하는 S109 단계에 대한 순서도이다.
도 9는 도 4에 도시된 관리모듈이 U_cred, U_rl 및 Su가 포함된 응답메시지를 생성하는 S113 단계에 대한 순서도이다.
도 10은 도 4에 도시된 사용자가 응답메시지를 검증하는 S114 단계에 대한 순서도이다.
도 11은 도 2에 도시된 사용자가 클라우드 플랫폼에 로그인하는 S200단계에서 S201~S205 단계에 대한 순서도이다.
도 12는 도 2에 도시된 사용자가 클라우드 플랫폼에 로그인하는 S200단계에서 S206~S210 단계에 대한 순서도이다.
도 13은 도 11에 도시된 사용자가 해시값 H2를 준비하는 S201 단계에 대한 순서도이다.
도 14는 도 11에 도시된 사용자가 S2 및 R5를 계산하는 S205 단계에 대한 순서도이다.
도 15는 도 12에 도시된 관리모듈이 R'5에 대한 검증 프로세스를 수행하는 S207 단계에 대한 순서도이다.
도 16은 도 12에 도시된 관리모듈이 Msg, Hm, Se를 사용자에게 전송하는 S209 단계에 대한 순서도이다.
도 17은 도 12에 도시된 사용자가 디지털서명 S'e를 검증하는 S210 단계에 대한 순서도이다.
1 is a block diagram of a cloud-based artificial intelligence system according to the present invention.
2 is a flowchart of a user registration and login method for a cloud-based artificial intelligence system according to the present invention.
FIG. 3 is a flowchart of steps S101 to S107 in the step of registering the user to the cloud platform shown in FIG. 2 .
FIG. 4 is a flowchart of steps S108 to S114 in the step of registering the user to the cloud platform shown in FIG. 2 .
FIG. 5 is a flowchart of step S101 in which the user of FIG. 3 prepares hash value H1.
FIG. 6 is a flowchart of step S106 in which the user calculates S1 and R2 shown in FIG. 3 .
FIG. 7 is a flowchart of step S107 in which the user shown in FIG. 3 performs a verification process for R'2.
FIG. 8 is a flowchart of step S109 in which the management module shown in FIG. 4 prepares U_cred from R'1 and U_rl.
FIG. 9 is a flowchart of step S113 in which the management module shown in FIG. 4 generates a response message including U_cred, U_rl, and Su.
FIG. 10 is a flowchart of step S114 in which the user verifies the response message shown in FIG. 4 .
FIG. 11 is a flowchart of steps S201 to S205 in step S200 in which the user of FIG. 2 logs in to the cloud platform.
FIG. 12 is a flowchart of steps S206 to S210 in step S200 in which the user of FIG. 2 logs in to the cloud platform.
FIG. 13 is a flowchart of step S201 in which the user of FIG. 11 prepares hash value H2.
FIG. 14 is a flowchart of step S205 in which the user calculates S2 and R5 shown in FIG. 11 .
FIG. 15 is a flowchart of step S207 in which the management module shown in FIG. 12 performs a verification process for R'5.
FIG. 16 is a flowchart of step S209 in which the management module shown in FIG. 12 transmits Msg, Hm, and Se to the user.
FIG. 17 is a flowchart of step S210 in which the user verifies the digital signature S'e shown in FIG. 12 .

이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings in order to describe in detail enough for those skilled in the art to easily implement the technical idea of the present invention.

그러나, 하기 실시예는 본 발명의 이해를 돕기 위한 일 예에 불과한 것으로 이에 의해 본 발명의 권리범위가 축소되거나 한정되는 것은 아니다. 또한, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.However, the following examples are merely examples to aid understanding of the present invention, and the scope of the present invention is not reduced or limited thereby. In addition, the present invention may be embodied in many different forms and is not limited to the embodiments described herein.

먼저, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법에서 사용되는 표기법에 대해 설명하기로 한다. First, the notation used in the user's registration and login method for the cloud-based artificial intelligence system according to the present invention will be described.

먼저, Addr_x는 x의 블록체인 주소이다. First, Addr_x is the blockchain address of x.

그리고, X||Y는 X와 Y의 연접(concatenation)이다.And, X||Y is the concatenation of X and Y.

그리고, SK_x, PK_x는 각각 x의 비밀키 및 공개키이다.And, SK_x and PK_x are the private key and public key of x, respectively.

그리고, Sign_SK_x(Y)는 x의 비밀키(SK_x)를 사용하여, Y에 대한 디지털서명을 생성하는 함수이다.And, Sign_SK_x(Y) is a function that generates a digital signature for Y using the secret key (SK_x) of x.

그리고, PKVer_Addr_x(M,N)은 x의 블록체인 주소 Addr_x가 디지털서명 M으로 데이터 N에 서명했는지 검증하는 함수이다. 이때, PKVer_Addr_x(M,N)은 x의 블록체인 주소 Addrx가 디지털서명 M으로 데이터 N에 서명한 경우, 참을 출력하고, 그렇지 않으면, 거짓을 출력한다.And, PKVer_Addr_x(M,N) is a function that verifies whether the block chain address Addr_x of x signed data N with digital signature M. At this time, PKVer_Addr_x(M,N) outputs true if the blockchain address Addrx of x signs data N with digital signature M, and outputs false otherwise.

그리고, E_PK_x(Y)는 x의 공개키 PK_x를 이용하여, 데이터 Y를 비대칭으로 암호화(Encryption)하는 함수이다.And, E_PK_x(Y) is a function that asymmetrically encrypts data Y using x's public key PK_x.

그리고, D_SK_x(Y)는 x의 비밀키 SK_x를 이용하여, 데이터 Y를 비대칭으로 복호화(Decryption)하는 함수이다.And, D_SK_x(Y) is a function that asymmetrically decrypts data Y using the secret key SK_x of x.

그리고, H(Y)는 데이터 Y의 해시값을 생성하는 함수이다.And, H(Y) is a function that generates a hash value of data Y.

그리고, SC_z는 모듈 z에 대한 스마트계약이다.And, SC_z is a smart contract for module z.

그리고, JWTVer(O, SK_x)는 x의 비밀키 SK_x를 이용하여, 접근토큰 O를 검증하는 함수이다.And, JWTVer(O, SK_x) is a function that verifies the access token O using the secret key SK_x of x.

도 1은 본 발명에 의한 클라우드 기반의 인공지능 시스템의 구성도이다.1 is a block diagram of a cloud-based artificial intelligence system according to the present invention.

도 1을 참조하면, 본 발명에 의한 클라우드 기반의 인공지능 시스템은 사용자, 스마트계약 및 클라우드 폴랫폼을 포함하여 구성된다.Referring to Figure 1, the cloud-based artificial intelligence system according to the present invention is composed of a user, a smart contract and a cloud platform.

먼저, 사용자는 클라이언트 측에서 인공지능 서비스를 사용하기 위해, 클라우드 플랫폼에게 클라우드의 API를 호출한다.First, the user calls the cloud API to the cloud platform to use the artificial intelligence service on the client side.

그리고, 사용자는 보안 환경에서 기계학습 데이터셋을 업로드하고, 클라우드 플랫폼 상에서 기계학습 시스템을 학습시킨다. And, the user uploads the machine learning dataset in a secure environment and trains the machine learning system on the cloud platform.

그리고, 스마트계약은 블록체인 네트워크에 상주하며, 사용자 및 클라우드 플랫폼이 상호 신뢰할 수 있도록 신뢰 가능한 서비스 레벨 계약으로서의 역할을 담당한다.And, the smart contract resides in the blockchain network and serves as a reliable service level contract so that users and cloud platforms can trust each other.

그리고, 클라우드 플랫폼은 사용자에게 다수의 서비스를 공급한다. And, the cloud platform provides a number of services to users.

도 1을 참조하면, 클라우드 플랫폼은 관리모듈, API 게이트웨이, 무결성모듈, 로깅/모니터링부 및 저장 관리부를 포함하여 구성된다. Referring to FIG. 1 , the cloud platform includes a management module, an API gateway, an integrity module, a logging/monitoring unit, and a storage management unit.

먼저, 관리모듈(IDMA Module, Identity Management and Access Control Module)은 사용자의 등록 및 로그인 프로세스를 관리한다. 이때, 각각의 사용자에게는 자신의 활동을 제한하고, 임의의 행동을 방지하는 역할이 주어진다.First, the management module (IDMA Module, Identity Management and Access Control Module) manages the user registration and login process. At this time, each user is given a role of limiting his or her activity and preventing any action.

또한, 관리모듈은 사용자에게 사용자증명서(U_cred, User Credential)를 제공한다. 이때, 사용자증명서는 사용자를 인증하기 위한 토큰으로 이용된다. 사용자는 클라우드 플랫폼에 로그인 시, 사용자 인증을 위해 상기 사용자증명서를 이용할 수 있다.In addition, the management module provides a user credential (U_cred, User Credential) to the user. At this time, the user certificate is used as a token for authenticating the user. The user may use the user certificate for user authentication when logging in to the cloud platform.

또한, 관리모듈은 스마트계약과 협력하여, 관리모듈 및 스마트계약 간에 송수신되는 정보를 검증한다.In addition, the management module cooperates with the smart contract to verify information transmitted and received between the management module and the smart contract.

그리고, API(Application Programming Interface) 게이트웨이는 클라우드 서비스를 이용하고자 하는 사용자의 API 요청을 처리한다. 또한, API 게이트웨이는 사용자가 클라우드 서비스를 이용하기 전에, 사용자에게 토큰을 제공한다. In addition, the API (Application Programming Interface) gateway processes the API request of the user who wants to use the cloud service. In addition, the API gateway provides a token to the user before the user uses the cloud service.

또한, API 게이트웨이는 스마트계약과 협력하여, API 토큰에 대한 사용자의 요청 및 상기 API 토큰 값을 기록한다. 사용자 및 클라우드 플랫폼 모두 스마트계약에 대한 토큰의 합법성을 확인할 수 있다.In addition, the API gateway cooperates with the smart contract to record the user's request for an API token and the value of the API token. Both users and cloud platforms can verify the legitimacy of tokens against smart contracts.

그리고, 무결성모듈(IM, Integrity Module)은 블록체인을 이용하여 학습 모델 및 학습 데이터의 무결성을 유지하는 역할을 한다.And, the integrity module (IM, Integrity Module) plays a role in maintaining the integrity of the learning model and learning data using the blockchain.

따라서, 사용자 및 클라우드 플랫폼은 각각 스마트계약에 대한 학습 데이터의 무결성을 확인할 수 있다.Therefore, users and cloud platforms can respectively check the integrity of learning data for smart contracts.

그리고, 로깅/모니터링부는 데이터의 흐름 및 사용자의 활동을 기록한다. 또한, 로깅/모니터링부는 클라우드 플랫폼을 모니터링하여, 악의적인 행동에 대해 경보음을 발생시킨다. And, the logging/monitoring unit records data flow and user activity. In addition, the logging/monitoring unit monitors the cloud platform and generates an alarm for malicious behavior.

그리고, 저장 관리부는 시스템의 백업 데이터 프로세스를 관리한다. 구체적으로, 저장 관리부는 백업 데이터에 대한 기밀성(Confidentiality)을 확보하기 위해 백업 데이터를 암호화하여 저장한다.And, the storage management unit manages the backup data process of the system. Specifically, the storage management unit encrypts and stores the backup data in order to secure confidentiality of the backup data.

한편, 본 발명에 의한 클라우드 기반의 인공지능 시스템은 사용자가 데이터를 저장할 수 있는 로컬 저장소 및 관리모듈이 데이터를 저장할 수 있는 로컬 데이터베이스를 더 포함하여 구성된다. On the other hand, the cloud-based artificial intelligence system according to the present invention is configured to further include a local database in which a user can store data and a local database in which a management module can store data.

다음으로, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법에 대해 설명하기로 한다. Next, a user registration and login method for the cloud-based artificial intelligence system according to the present invention will be described.

도 2는 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법의 순서도이다.2 is a flowchart of a user registration and login method for a cloud-based artificial intelligence system according to the present invention.

도 2를 참조하면, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 사용자가 클라우드 플랫폼에 등록하는 단계(S100) 및 사용자가 클라우드 플랫폼에 로그인하는 단계(S200) 단계를 포함하여 구성된다.Referring to FIG. 2 , a user registration and login method for a cloud-based artificial intelligence system according to the present invention includes steps in which a user registers in a cloud platform (S100) and a step in which a user logs in to a cloud platform (S200). composed of

먼저, 사용자가 클라우드 플랫폼에 등록하는 단계(S100)에 대해 설명하기로 한다.First, a step (S100) of a user registering in a cloud platform will be described.

도 3은 도 2에 도시된 사용자가 클라우드 플랫폼에 등록하는 단계에서 S101~S107 단계에 대한 순서도이고, 도 4는 도 2에 도시된 사용자가 클라우드 플랫폼에 등록하는 단계에서 S108~S114 단계에 대한 순서도이다.FIG. 3 is a flowchart of steps S101 to S107 in the step of registering the user to the cloud platform shown in FIG. 2, and FIG. 4 is a flowchart of steps S108 to S114 in the step of registering the user to the cloud platform shown in FIG. am.

도 3 및 도 4를 참조하면, 사용자는 상기 사용자에 대해 해시값 H1을 준비한다.(S101)Referring to FIGS. 3 and 4, a user prepares a hash value H1 for the user. (S101)

도 5는 도 3에 도시된 사용자가 해시값 H1을 준비하는 S101 단계에 대한 순서도이다.FIG. 5 is a flowchart of step S101 in which the user of FIG. 3 prepares hash value H1.

도 5를 참조하면, 사용자는 (수학식) R1=Addr_u||name||H(pass)||email||t을 이용하여, R1을 준비한다.(S101-1)Referring to FIG. 5, the user prepares R1 by using (Equation Equation) R1=Addr_u||name||H(pass)||email||t. (S101-1)

여기서, Addr_u는 사용자의 블록체인 주소이고, name은 사용자의 이름이고, pass는 사용자의 비밀번호이고, H(pass)는 pass의 해시값이고, email은 사용자의 이메일 주소이고, t는 현재의 타임스탬프(Timestamp)이다.where Addr_u is the user's blockchain address, name is the user's name, pass is the user's password, H(pass) is the hash value of the pass, email is the user's email address, and t is the current timestamp (Timestamp).

그리고, R1은 사용자의 블록체인 주소 Addr_u, 사용자의 이름 name, H(pass), 사용자의 이메일 주소 email 및 현재의 타임스탬프 t를 연접한 정보이다.And, R1 is information concatenated with the user's blockchain address Addr_u, the user's name name, H (pass), the user's email address email, and the current timestamp t.

그 이후, 사용자는 (수학식) H1=H(R1)을 이용하여, R1의 해시값 H1을 계산한다.(S101-2)After that, the user calculates the hash value H1 of R1 using (Equation Equation) H1=H(R1). (S101-2)

그 이후, 사용자는 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H1을 포함하는 등록요청정보 Tx1을 제1 스마트계약에 전송한다.(S102) After that, the user transmits the registration request information Tx1 including the user's blockchain address Addr_u and hash value H1 to the first smart contract. (S102)

여기서, 제1 스마트계약(SC_idma)은 관리모듈에 대한 스마트계약이다.Here, the first smart contract (SC_idma) is a smart contract for the management module.

그 이후, 제1 스마트계약은 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 블록체인에 기록한다.(S103)After that, the first smart contract records the user's blockchain address Addr_u and hash value H'1 in the blockchain. (S103)

여기서, 해시값 H'1는 사용자에 의해 생성된 해시값 H1을 제1 스마트계약이 전송받은 경우, 해시값 H1과 구별하기 위해 해시값 H1 대신에 사용되는 정보이다.Here, the hash value H'1 is information used instead of the hash value H1 to distinguish it from the hash value H1 when the first smart contract receives the hash value H1 generated by the user.

그 이후, 제1 스마트계약은 관리모듈 및 블록체인의 모든 노드에게 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 전송한다.(S104)After that, the first smart contract transmits the user's blockchain address Addr_u and hash value H'1 to the management module and all nodes of the blockchain. (S104)

여기서, 블록체인의 모든 노드에는 사용자가 포함된다. 한편, 제1 스마트계약이 사용자에게 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 전송하는 이유는 사용자의 블록체인 주소 Addr_u 및 해시값 H'1이 블록체인에 성공적으로 저장되었다는 사실을 사용자에게 공지하기 위한 것이다.Here, all nodes of the blockchain include users. Meanwhile, the reason why the first smart contract transmits the user's blockchain address Addr_u and hash value H'1 to the user is that the user's blockchain address Addr_u and hash value H'1 have been successfully stored in the blockchain. It is to inform.

그 이후, 관리모듈은 제1 스마트계약으로부터 전송받은 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 로컬 데이터베이스에 저장한다.(S105)After that, the management module stores the user's blockchain address Addr_u and hash value H'1 transmitted from the first smart contract in a local database. (S105)

그 이후, 사용자는 디지털서명 S1 및 암호화 정보 R2를 계산한다.(S106)After that, the user calculates the digital signature S1 and encryption information R2. (S106)

도 6은 도 3에 도시된 사용자가 S1 및 R2를 계산하는 S106 단계에 대한 순서도이다.FIG. 6 is a flowchart of step S106 in which the user calculates S1 and R2 shown in FIG. 3 .

도 6을 참조하면, 사용자는 (수학식) S1=Sign_SK_u(H1)으로 사용자의 비밀키 SK_u를 이용하여, 해시값 H1에 대한 디지털서명 S1을 생성한다.(S106-1)Referring to FIG. 6, the user generates a digital signature S1 for the hash value H1 using the user's private key SK_u as (Equation Equation) S1 = Sign_SK_u (H1). (S106-1)

그 이후, 사용자는 (수학식) R2=E_PK_idma(R1||S1)으로 관리모듈의 공개키 PK_idma를 이용하여, R1 및 디지털서명 S1을 연접한 정보를 암호화하여, 암호화 정보 R2를 계산한다.(S106-2)After that, the user encrypts the information concatenated with R1 and the digital signature S1 using the public key PK_idma of the management module as (Equation Equation) R2 = E_PK_idma (R1||S1), and calculates the encrypted information R2. ( S106-2)

그 이후, 관리모듈은 암호화 정보 R'2에 대한 검증 프로세스를 수행한다.(S107)After that, the management module performs a verification process for the encryption information R'2. (S107)

여기서, 암호화 정보 R'2는 사용자에 의해 생성된 암호화 정보 R2를 관리모듈이 전송받은 경우, 상기 암호화 정보 R2와 구별하기 위해 암호화 정보 R2 대신에 사용되는 정보이다.Here, the encryption information R′2 is information used instead of the encryption information R2 to distinguish it from the encryption information R2 when the management module receives the encryption information R2 generated by the user.

도 7은 도 3에 도시된 사용자가 암호화 정보 R'2에 대한 검증 프로세스를 수행하는 S107 단계에 대한 순서도이다. FIG. 7 is a flowchart of step S107 in which the user shown in FIG. 3 performs a verification process for encryption information R'2.

도 7을 참조하면, 관리모듈은 (수학식) D_SK_idma(R'2) → R'1||S'1에서 관리모듈의 비밀키 SK_idma를 이용하여 암호화 정보 R'2를 복호화하여, R'1 및 디지털서명 S'1을 획득한다.(S107-1)Referring to FIG. 7, the management module decrypts the encrypted information R'2 using the private key SK_idma of the management module in (Equation) D_SK_idma(R'2) → R'1||S'1, and R'1 and digital signature S'1 is acquired. (S107-1)

여기서, R'1은 관리모듈에 의해 생성된 정보로, 사용자에 의해 생성된 R1과 구별하기 위해 R1 대신에 사용되는 정보이다. 그리고, 디지털서명 S'1은 관리모듈에 의해 생성된 정보로, 사용자에 의해 생성된 디지털서명 S1과 구별하기 위해 디지털서명 S1 대신에 사용되는 정보이다.Here, R'1 is information generated by the management module and used instead of R1 to distinguish it from R1 generated by a user. Further, the digital signature S'1 is information generated by the management module and used instead of the digital signature S1 to distinguish it from the digital signature S1 generated by the user.

그 이후, 관리모듈은 (수학식) H"1=H(R'1)을 이용하여 R'1의 해시값 H"1을 계산한다.(S107-2)After that, the management module calculates the hash value H"1 of R'1 using (Equation Equation) H"1 = H(R'1). (S107-2)

그 이후, 관리모듈은 S107-2 단계에서 계산된 해시값 H"1 및 제1 스마트계약에 의해 브로드캐스팅된 해시값 H'1을 비교한다.(S107-3)After that, the management module compares the hash value H"1 calculated in step S107-2 and the hash value H'1 broadcast by the first smart contract. (S107-3)

해시값 H"1 및 H'1이 일치하는 경우, 관리모듈은 암호화 정보 R'2에 대한 검증 프로세스를 지속한다. 그러나, 해시값 H"1 및 H'1이 일치하지 않는 경우, 관리모듈은 암호화 정보 R'2에 대한 검증 프로세스를 중단한다.(S107-4)If the hash values H"1 and H'1 match, the management module continues the verification process for the encryption information R'2. However, if the hash values H"1 and H'1 do not match, the management module The verification process for the encryption information R'2 is stopped. (S107-4)

그 이후, 관리모듈은 서명을 검증하기 위해 (수학식) PKVer_Addr_u(S'1,H"1) → True or False을 이용하여, PKVer_Addr_u 함수에 디지털서명 S'1, 해시값 H"1을 입력한다.(S107-5) After that, the management module inputs the digital signature S'1 and hash value H"1 to the PKVer_Addr_u function by using (mathematical expression) PKVer_Addr_u(S'1,H"1) → True or False to verify the signature. .(S107-5)

여기서, PKVer_Addr_u(S'1,H"1)은 사용자의 블록체인 주소 Addr_u가 디지털서명 S'1으로 해시값 H"1에 서명했는지 검증하는 함수이다.Here, PKVer_Addr_u(S'1,H"1) is a function that verifies whether the user's blockchain address Addr_u signed hash value H"1 with digital signature S'1.

S107-5 단계는 관리모듈에 대한 암호화 정보 R'2의 발신자와 제1 스마트계약에 대한 등록요청정보 Tx1의 발신자가 일치한다는 것을 증명하기 위해 사용된다. 또한, S107-5 단계는 공격자가 사용자를 사칭하는 것을 방지하기 위해 이용된다. Step S107-5 is used to prove that the sender of the encryption information R'2 for the management module and the sender of the registration request information Tx1 for the first smart contract match. Also, step S107-5 is used to prevent an attacker from impersonating a user.

암호화 정보 R'2에 대한 검증 프로세스가 완료되면, 관리모듈은 사용자 할당정보 U_rl을 설정하여, R'1 및 사용자 할당정보 U_rl을 로컬 데이터베이스에 저장한다.(S108)When the verification process for encryption information R'2 is completed, the management module sets user assignment information U_rl and stores R'1 and user assignment information U_rl in a local database (S108).

이때, 사용자 할당정보 U_rl은 사용자의 역할, 범위 및 접근정보를 포함하여 구성된다. 그리고, 사용자 할당정보 U_rl은 사용자가 클라우드 플랫폼에서 임의로 행동하는 것을 방지하기 위한 사용자의 권한을 의미한다.At this time, the user assignment information U_rl is composed of the user's role, scope and access information. And, the user allocation information U_rl means the user's authority to prevent the user from acting arbitrarily in the cloud platform.

그 이후, 관리모듈은 R'1 및 사용자 할당정보 U_rl로부터 사용자증명서 U_cred를 준비한다.(S109)After that, the management module prepares the user certificate U_cred from R'1 and the user assignment information U_rl. (S109)

도 8은 도 4에 도시된 관리모듈이 R'1, U_rl로부터 U_cred를 준비하는 S109 단계에 대한 순서도이다. FIG. 8 is a flowchart of step S109 in which the management module shown in FIG. 4 prepares U_cred from R'1 and U_rl.

도 8을 참조하면, 관리모듈은 (수학식) R3=R'1||U_rl을 이용하여, R3을 계산한다.(S109-1)Referring to FIG. 8, the management module calculates R3 using (Equation Equation) R3=R'1||U_rl. (S109-1)

여기서, R'1||U_rl는 R'1 및 사용자 할당정보 U_rl을 연접한 정보이다.Here, R'1||U_rl is information obtained by concatenating R'1 and user allocation information U_rl.

그 이후, 관리모듈은 (수학식) U_cred=H(R3)을 이용하여, R3의 해시값 U_cred를 계산한다.(S109-2)After that, the management module calculates the hash value U_cred of R3 using (Equation Equation) U_cred = H(R3). (S109-2)

그 이후, 관리모듈은 사용자증명서 U_cred를 로컬 데이터베이스에 저장한다.(S109-3)After that, the management module stores the user certificate U_cred in the local database (S109-3).

그 이후, 관리모듈은 사용자의 블록체인 주소 Addr_u 및 사용자 할당정보 U_cred를 포함하는 트랜잭션정보 Tx2를 제1 스마트계약에 전송한다.(S110)After that, the management module transmits the transaction information Tx2 including the user's blockchain address Addr_u and the user allocation information U_cred to the first smart contract. (S110)

그 이후, 제1 스마트계약은 관리모듈로부터 전송받은 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 블록체인에 저장하고, 관리모듈 및 블록체인의 모든 노드에게 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 브로드캐스팅한다.(S111)After that, the first smart contract stores the block chain address Addr_u and user certificate U'_cred transmitted from the management module in the block chain, and sends the user's block chain address Addr_u and user certificate U' to the management module and all nodes of the block chain. _cred is broadcast. (S111)

여기서, 사용자증명서 U'_cred는 관리모듈에 의해 생성된 사용자증명서 U_cred를 제1 스마트계약이 전송받은 경우, 사용자증명서 U_cred와 구별하기 위해 사용자증명서 U_cred 대신에 사용되는 정보이다.Here, the user credential U'_cred is information used instead of the user credential U_cred to distinguish it from the user credential U_cred when the first smart contract receives the user credential U_cred generated by the management module.

그 이후, 사용자는 제1 스마트계약에 의해 브로드캐스팅된 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 로컬 저장소에 저장한다.(S112)After that, the user stores the user's blockchain address Addr_u and the user certificate U'_cred broadcasted by the first smart contract in the local storage. (S112)

그리고, 관리모듈은 제1 스마트계약에 의해 브로드캐스팅된 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 전송받게 된다. 이것은 사용자증명서 U_cred가 블록체인에 성공적으로 저장되었다는 것을 의미한다.Then, the management module receives the user's blockchain address Addr_u and the user certificate U'_cred broadcasted by the first smart contract. This means that the user credential U_cred has been successfully saved to the blockchain.

그 이후, 관리모듈은 사용자증명서 U_cred, 사용자 할당정보 U_rl 및 디지털서명 Su을 포함하는 응답 메시지를 생성한다.(S113)After that, the management module generates a response message including user certificate U_cred, user allocation information U_rl, and digital signature Su. (S113)

도 9는 도 4에 도시된 관리모듈이 U_cred, U_rl 및 Su가 포함된 응답메시지를 생성하는 S113 단계에 대한 순서도이다. FIG. 9 is a flowchart of step S113 in which the management module shown in FIG. 4 generates a response message including U_cred, U_rl, and Su.

도 9를 참조하면, 관리모듈은 (수학식) Su=Sign_SK_idma(U_cred||H(U_rl))으로 관리모듈의 비밀키 SK_idma를 이용하여, U_cred||H(U_rl)에 대한 디지털서명 Su을 생성한다.(S113-1)Referring to FIG. 9, the management module generates a digital signature Su for U_cred||H(U_rl) using the secret key SK_idma of the management module as (Equation) Su=Sign_SK_idma(U_cred||H(U_rl)) (S113-1)

여기서, U_cred||H(U_rl)은 사용자증명서 U_cred 및 사용자 할당정보 U_rl의 해시값을 연접한 정보이다.Here, U_cred||H(U_rl) is information obtained by concatenating the hash value of the user certificate U_cred and the user allocation information U_rl.

그 이후, 관리모듈은 사용자증명서 U_cred, 사용자 할당정보 U_rl 및 디지털서명 Su을 포함하는 응답 메시지를 사용자에게 각각 전송한다.(S113-2)After that, the management module transmits a response message including user certificate U_cred, user allocation information U_rl, and digital signature Su to the user respectively (S113-2).

그 이후, 사용자는 관리모듈로부터 전송받은 응답 메시지를 검증한다.(S114)After that, the user verifies the response message transmitted from the management module. (S114)

도 10은 도 4에 도시된 사용자가 응답메시지를 검증하는 S114 단계에 대한 순서도이다. FIG. 10 is a flowchart of step S114 in which the user verifies the response message shown in FIG. 4 .

도 10을 참조하면, 먼저, 사용자는 관리모듈로부터 사용자증명서 U"_cred, 사용자 할당정보 U'_rl 및 디지털서명 S'u를 전송받게 된다.(S114-1)Referring to FIG. 10, first, the user receives user certificate U"_cred, user assignment information U'_rl, and digital signature S'u from the management module. (S114-1)

여기서, 사용자증명서 U"_cred는 관리모듈에 의해 생성된 사용자증명서 U_cred를 사용자가 전송받은 경우, 사용자증명서 U_cred와 구별하기 위해 사용자증명서 U_cred 대신에 사용되는 정보이다. Here, the user credential U"_cred is information used instead of the user credential U_cred to distinguish it from the user credential U_cred when the user receives the user credential U_cred generated by the management module.

그리고, 사용자 할당정보 U'_rl는 관리모듈에 의해 생성된 사용자 할당정보 U_rl을 사용자가 전송받은 경우, 사용자 할당정보 U_rl과 구별하기 위해 사용자 할당정보 U_rl 대신에 사용되는 정보이다.Further, the user assignment information U'_rl is information used instead of the user assignment information U_rl to distinguish it from the user assignment information U_rl when the user receives the user assignment information U_rl generated by the management module.

그리고, 디지털서명 S'u는 관리모듈에 의해 생성된 디지털서명 Su를 사용자가 전송받은 경우, 디지털서명 Su와 구별하기 위해 디지털서명 Su 대신에 사용되는 정보이다.And, the digital signature S'u is information used instead of the digital signature Su to distinguish it from the digital signature Su when the user receives the digital signature Su generated by the management module.

그리고, 사용자는 관리모듈로부터 전송받은 사용자 증명서 U"_cred 및 제1 스마트계약으로부터 전송받은 사용자 증명서 U'_cred를 비교한다.(S114-2)Then, the user compares the user credential U"_cred transmitted from the management module and the user credential U'_cred transmitted from the first smart contract. (S114-2)

그 이후, 사용자는 사용자 증명서 U"_cred 및 U'_cred가 일치 시, 응답 메시지에 대한 검증 프로세스를 지속하고, 사용자 증명서 U"_cred 및 U'_cred가 불일치 시, 응답 메시지에 대한 검증 프로세스를 중단한다.(S114-3)After that, the user continues the verification process for the response message when the user credentials U"_cred and U'_cred match, and stops the verification process for the response message when the user credentials U"_cred and U'_cred do not match. .(S114-3)

그 이후, 사용자는 (수학식) PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) → True or False을 이용하여, 디지털서명 S'u를 검증한다.(S114-4)After that, the user verifies the digital signature S'u using (mathematical expression) PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) → True or False. (S114-4)

여기서, S'u는 (수학식) Sign_SK_idma(U_cred||H(U_rl))'으로, 관리모듈의 비밀키 SK_idma를 이용하여 (U_cred||H(U_rl))'에 대해 생성된 디지털서명이다.Here, S'u is (a mathematical expression) Sign_SK_idma(U_cred||H(U_rl))', which is a digital signature generated for (U_cred||H(U_rl))' using the secret key SK_idma of the management module.

그리고, PKVer_PK_idma(S'u,U"_cred||H(U'_rl))는 관리모듈의 공개키 PK_idma가 S'u로 U"_cred||H(U'_rl)에 서명했는지 검증하는 함수이다.And, PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) is a function that verifies whether public key PK_idma of the management module signed U"_cred||H(U'_rl) with S'u. .

그 이후, 사용자는 S114-4 단계의 출력값이 참이면, 디지털서명 S'u에 대한 검증을 종료한다.(S114-5)After that, if the output value of step S114-4 is true, the user ends the verification of the digital signature S'u. (S114-5)

S114-4 단계의 출력값이 참이면, 사용자증명서 U"_cred에 대한 실제 발신자는 관리모듈이라는 알 수 있다. If the output value of step S114-4 is true, it can be seen that the actual sender of the user certificate U"_cred is the management module.

따라서, 사용자는 제1 스마트계약으로부터 전송받은 사용자증명서 U'_cred를 이용할 수 있다. 또한, 사용자는 사용자증명서 U'_cred를 이용하여 클라우드 플랫폼에 로그인할 수 있다.Accordingly, the user can use the user certificate U'_cred transmitted from the first smart contract. In addition, the user can log in to the cloud platform using the user credential U'_cred.

사용자는 클라우드 플랫폼에 등록한 이후, 로컬 저장소에 저장된 사용자증명서 U_cred를 소유할 수 있다. 따라서, 사용자는 클라우드 플랫폼에 로그인 시, 사용자증명서 U_cred를 이용할 수 있다.After registering on the cloud platform, the user can own the user certificate U_cred stored in the local storage. Accordingly, the user can use the user certificate U_cred when logging in to the cloud platform.

다음으로, 사용자가 클라우드 플랫폼에 로그인하는 단계(S200)에 대해 설명하기로 한다.Next, a step (S200) of the user logging in to the cloud platform will be described.

도 11은 도 2에 도시된 사용자가 클라우드 플랫폼에 로그인하는 S200단계에서 S201~S205 단계에 대한 순서도이고, 도 12는 도 2에 도시된 사용자가 클라우드 플랫폼에 로그인하는 S200단계에서 S206~S210 단계에 대한 순서도이다.11 is a flowchart of steps S200 to S201 to S205 in which the user shown in FIG. 2 logs in to the cloud platform, and FIG. 12 is a flowchart of steps S200 to S206 to S210 in which the user shown in FIG. 2 logs in to the cloud platform. It is a flow chart for

도 11 및 도12를 참조하면, 사용자는 로그인을 위해 해시값 H2를 준비한다.(S201)11 and 12, the user prepares the hash value H2 for login. (S201)

도 13은 도 11에 도시된 사용자가 해시값 H2를 준비하는 S201 단계에 대한 순서도이다.FIG. 13 is a flowchart of step S201 in which the user of FIG. 11 prepares hash value H2.

도 13을 참조하면, 사용자는 (수학식) pwd=H(pass)을 이용하여, pass의 해시값인 pwd를 준비한다.(S201-1)Referring to FIG. 13, the user prepares pwd, which is the hash value of pass, using (mathematical expression) pwd=H(pass). (S201-1)

여기서, pass는 사용자의 비밀번호이고, pwd는 사용자의 비밀번호 pass의 해시값이다. Here, pass is the user's password, and pwd is the hash value of the user's password pass.

그 이후, 사용자는 (수학식) R4=email||pwd||U_cred||t을 이용하여, R4를 준비한다.(S201-2)After that, the user prepares R4 by using (mathematical expression) R4=email||pwd||U_cred||t. (S201-2)

여기서, email은 사용자의 이메일 주소이고, U_cred는 사용자증명서이고, t는 현재의 타임스탬프이다. 그리고, R4는 사용자의 이메일 주소 email, 사용자의 비밀번호의 해시값 pwd, 사용자증명서 U_cred 및 현재의 타임스탬프 t를 연접한 정보이다. Here, email is the user's email address, U_cred is the user credential, and t is the current timestamp. And, R4 is information concatenated with the user's e-mail address e-mail, the hash value pwd of the user's password, the user credential U_cred, and the current timestamp t.

그 이후, 사용자는 (수학식) H2=H(R4)을 이용하여, R4의 해시값 H2를 준비한다.(S201-3)After that, the user prepares the hash value H2 of R4 using (Equation Equation) H2=H(R4). (S201-3)

그 이후, 사용자는 사용자의 블록체인 주소 Addr_u 및 해시값 H2를 포함하는 트랜잭션정보 Tx3을 제1 스마트계약에 전송한다.(S202)After that, the user transmits the transaction information Tx3 including the user's blockchain address Addr_u and hash value H2 to the first smart contract. (S202)

그 이후, 제1 스마트계약은 사용자의 블록체인 주소 Addr_u 및 해시값 H'2를 블록체인에 기록한다. 그리고, 제1 스마트계약은 관리모듈 및 블록체인의 모든 노드에게 사용자의 블록체인 주소 Addr_u 및 해시값 H'2를 브로드캐스팅한다.(S203)After that, the first smart contract records the user's blockchain address Addr_u and hash value H'2 in the blockchain. And, the first smart contract broadcasts the user's blockchain address Addr_u and hash value H'2 to the management module and all nodes of the blockchain. (S203)

여기서, 해시값 H'2는 사용자에 의해 생성된 해시값 H2를 제1 스마트계약이 전송받은 경우, 상기 H2와 구별하기 위해 H2 대신에 사용되는 정보이다. Here, the hash value H'2 is information used instead of H2 to distinguish it from H2 when the first smart contract receives the hash value H2 generated by the user.

그 이후, 관리모듈은 제1 스마트계약으로부터 전송받은 사용자의 블록체인 주소 Addr_u 및 해시값 H'2를 로컬 데이터베이스에 저장한다.(S204)After that, the management module stores the user's blockchain address Addr_u and hash value H'2 transmitted from the first smart contract in a local database. (S204)

여기서, 블록체인의 모든 노드에는 사용자가 포함된다. 한편, 제1 스마트계약이 사용자에게 사용자의 블록체인 주소 Addr_u 및 해시값 H'2를 전송하는 이유는 사용자의 블록체인 주소 Addr_u 및 해시값 H'2이 블록체인에 성공적으로 저장되었다는 사실을 사용자에게 공지하기 위한 것이다.Here, all nodes of the blockchain include users. On the other hand, the reason why the first smart contract transmits the user's blockchain address Addr_u and hash value H'2 to the user is to inform the user that the user's blockchain address Addr_u and hash value H'2 have been successfully stored in the blockchain. It is to inform.

그 이후, 사용자는 디지털 서명 S2 및 암호화 정보 R5를 계산한다.(S205)After that, the user calculates the digital signature S2 and encryption information R5. (S205)

도 14는 도 11에 도시된 사용자가 S2 및 R5를 계산하는 S205 단계에 대한 순서도이다. FIG. 14 is a flowchart of step S205 in which the user calculates S2 and R5 shown in FIG. 11 .

도 14를 참조하면, 사용자는 (수학식) S2=Sign_SK_u(H2)으로 사용자의 비밀키 SK_u를 이용하여, 해시값 H2에 대한 디지털서명 S2를 생성한다.(S205-1)Referring to FIG. 14, the user generates a digital signature S2 for the hash value H2 using the user's private key SK_u as (Equation Equation) S2 = Sign_SK_u (H2). (S205-1)

그 이후, 사용자는 (수학식) R5=E_PK_idma(R4||S2)으로 관리모듈의 공개키 PK_idma를 이용하여, R4 및 디지털서명 S2를 연접한 정보를 암호화하여, 암호화 정보 R5를 계산한다.(S205-2)After that, the user encrypts the information concatenated with R4 and the digital signature S2 using the public key PK_idma of the management module as (Equation Equation) R5 = E_PK_idma (R4||S2), and calculates the encrypted information R5. ( S205-2)

그 이후, 사용자는 관리모듈에 암호화 정보 R5를 전송하여, 관리모듈을 통해 클라우드 플랫폼에 로그인을 요청한다.(S206)After that, the user transmits encryption information R5 to the management module and requests log-in to the cloud platform through the management module (S206).

그 이후, 관리모듈은 암호화 정보 R'5에 대한 검증 프로세스를 시작한다.(S207)After that, the management module starts a verification process for the encryption information R'5. (S207)

여기서, 암호화 정보 R'5는 사용자에 의해 생성된 암호화 정보 R5를 관리모듈이 전송받은 경우, 상기 암호화 정보 R5와 구별하기 위해 암호화 정보 R5 대신에 사용되는 암호화 정보이다.Here, the encryption information R'5 is encryption information used instead of encryption information R5 to distinguish it from the encryption information R5 when the management module receives the encryption information R5 generated by the user.

도 15는 도 12에 도시된 관리모듈이 암호화 정보 R'5에 대한 검증 프로세스를 수행하는 S207 단계에 대한 순서도이다. FIG. 15 is a flowchart of step S207 in which the management module shown in FIG. 12 performs a verification process for encryption information R'5.

도 15를 참조하면, 관리모듈은 D_SK_idma(R'5) → R'4||S'2에서 관리모듈의 비밀키 SK_idma를 이용하여 암호화 정보 R'5를 복호화하여, R'4 및 디지털서명 S'2를 획득한다.(S207-1)Referring to FIG. 15, the management module decrypts encrypted information R'5 using the secret key SK_idma of the management module in D_SK_idma(R'5) → R'4||S'2, and R'4 and digital signature S' '2 is acquired. (S207-1)

여기서, R'4는 관리모듈에 의해 생성된 정보로, 사용자에 의해 생성된 R4와 구별하기 위해 R4 대신에 사용되는 정보이다. Here, R'4 is information generated by the management module and used instead of R4 to distinguish it from R4 generated by a user.

그리고, 디지털서명 S'2는 관리모듈에 의해 생성된 정보로, 사용자에 의해 생성된 디지털서명 S2와 구별하기 위해 디지털서명 S2 대신에 사용되는 정보이다.Further, the digital signature S'2 is information generated by the management module and used instead of the digital signature S2 to distinguish it from the digital signature S2 generated by the user.

그 이후, 관리모듈은 다음 2개의 조건을 체크한다.After that, the management module checks the following two conditions.

먼저, 관리모듈은 로컬 데이터베이스에 대한 사용자정보의 등록 여부를 체크한다.(S207-2)First, the management module checks whether user information is registered in the local database (S207-2).

여기서, 사용자정보는 사용자의 이메일 주소 email, 사용자의 비밀번호 pass 및 사용자증명서 U_cred를 포함하는 정보이다.Here, the user information is information including the user's e-mail address e-mail, the user's password pass, and the user credential U_cred.

그 이후, 관리모듈은 사용자로부터 전송받은 사용자정보 및 로컬 데이터베이스에 저장된 사용자정보를 비교하여, 일치 여부를 확인한다.(S207-3)After that, the management module compares the user information transmitted from the user with the user information stored in the local database and checks whether they match (S207-3).

상기 2개의 조건 중 하나가 거짓이면, 관리모듈은 사용자의 로그인 요청을 거절한다. 그러나, 상기 2개의 조건 모두 참이면, 관리모듈은 암호화 정보 R'5에 대한 검증 프로세스를 지속한다.(S207-4)If one of the above two conditions is false, the management module rejects the user's login request. However, if both of the above two conditions are true, the management module continues the verification process for the encrypted information R'5. (S207-4)

그 이후, 관리모듈은 로컬 데이터베이스에서 사용자 할당정보 U_rl을 확인한다.(S207-5)After that, the management module checks the user assignment information U_rl in the local database. (S207-5)

사용자가 접근 권한을 갖고 있는 경우, 관리모듈은 (수학식) H"2=H(R'4)을 이용하여 R'4의 해시값 H"2를 계산한다.(S207-6)If the user has access rights, the management module calculates the hash value H"2 of R'4 using (Equation Equation) H"2 = H(R'4). (S207-6)

그 이후, 관리모듈은 상기 관리모듈에 의해 계산된 해시값 H"2 및 제1 스마트계약에 의해 브로드캐스팅된 해시값 H'2를 비교하여, 상기 해시값 H"2 및 H'2의 일치 여부를 확인한다.(S207-7)After that, the management module compares the hash value H"2 calculated by the management module and the hash value H'2 broadcast by the first smart contract, and determines whether the hash value H"2 and H'2 match. Check. (S207-7)

해시값 H"2 및 H'2가 일치하는 경우, 관리모듈은 암호화 정보 R'5에 대한 검증 프로세스를 지속한다. 해시값 H"2 및 H'2이 일치하지 않는 경우, 관리모듈은 암호화 정보 R'5에 대한 검증 프로세스를 중단한다.(S207-8)If the hash values H"2 and H'2 match, the management module continues the verification process for the encryption information R'5. If the hash values H"2 and H'2 do not match, the management module continues the verification process for the encryption information R'5. Stop the verification process for R'5. (S207-8)

그 이후, 관리모듈은 서명을 검증하기 위해, (수학식) PKVer_Addr_u(S'2,H"2) → True or False을 이용하여, PKVer_Addr_u 함수에 디지털서명 S'2, 해시값 H"2를 입력한다.(S207-9)After that, the management module inputs the digital signature S'2 and hash value H"2 to the PKVer_Addr_u function by using (mathematical expression) PKVer_Addr_u (S'2,H"2) → True or False to verify the signature. Do (S207-9)

여기서, PKVer_Addr_u(S'2,H"2)는 사용자의 블록체인 주소 Addr_u가 디지털서명 S'2로 해시값 H"2에 서명했는지 검증하는 함수이다.Here, PKVer_Addr_u(S'2,H"2) is a function that verifies whether the user's blockchain address Addr_u signed the hash value H"2 with the digital signature S'2.

상기 S207-9 단계는 관리모듈에 대한 R'5의 발신자와 제1 스마트계약에 대한 트랜잭션정보 Tx3의 발신자가 일치한다는 것을 증명하기 위해 사용된다. 또한, 상기 S207-9 단계는 공격자가 사용자를 사칭하는 것을 방지하기 위해 이용된다. Step S207-9 is used to prove that the sender of R'5 for the management module and the sender of the transaction information Tx3 for the first smart contract match. In addition, the step S207-9 is used to prevent an attacker from impersonating a user.

암호화 정보 R'5에 대한 검증 프로세스가 완료되면, 관리모듈은 '로그인 성공'이라는 알림메시지 Msg를 출력한다.(S208)When the verification process for the encryption information R'5 is completed, the management module outputs a notification message Msg of 'login successful' (S208).

그 이후, 관리모듈은 사용자가 클라우드 플랫폼에 성공적으로 로그인했다는 것을 공지하기 위해 알림메시지 Msg, 해시값 Hm 및 디지털서명 Se를 사용자에게 전송한다.(S209)After that, the management module transmits the notification message Msg, the hash value Hm, and the digital signature Se to the user to notify that the user has successfully logged in to the cloud platform (S209).

도 16은 도 12에 도시된 관리모듈이 Msg, Hm, Se를 사용자에게 전송하는 S209 단계에 대한 순서도이다.FIG. 16 is a flowchart of step S209 in which the management module shown in FIG. 12 transmits Msg, Hm, and Se to the user.

도 16을 참조하면, 관리모듈은 (수학식) Hm=H(Msg)을 이용하여, 알림메시지 Msg의 해시값 Hm을 준비한다.(S209-1)Referring to FIG. 16, the management module prepares the hash value Hm of the notification message Msg using (Equation Equation) Hm=H(Msg). (S209-1)

그 이후, 관리모듈은 (수학식) Se=Sign_SK_idma(Hm)으로 관리모듈의 비밀키 SK_idma를 이용하여, 해시값 Hm에 대한 디지털서명 Se을 생성한다.(S209-2)Thereafter, the management module generates a digital signature Se for the hash value Hm using the secret key SK_idma of the management module as (Equation Equation) Se=Sign_SK_idma (Hm). (S209-2)

그 이후, 사용자는 디지털서명 S'e를 검증한다.(S210)After that, the user verifies the digital signature S'e. (S210)

여기서, 디지털서명 S'e는 관리모듈에 의해 생성된 디지털서명 Se를 사용자가 전송받은 경우, 상기 디지털서명 Se와 구별하기 위해 디지털서명 Se 대신에 사용되는 정보이다.Here, the digital signature S'e is information used instead of the digital signature Se to distinguish the digital signature Se generated by the management module from the digital signature Se when the user receives it.

도 17은 도 12에 도시된 사용자가 디지털서명 S'e를 검증하는 S210 단계에 대한 순서도이다.FIG. 17 is a flowchart of step S210 in which the user verifies the digital signature S'e shown in FIG. 12 .

도 17을 참조하면, 사용자는 (수학식) PKVer_PK_idma(S'e,H'm) → True or False를 이용하여, PKVer_PK_idma 함수에 디지털서명 S'e 및 해시값 H'm을 입력한다.(S210-1)Referring to FIG. 17, the user inputs the digital signature S'e and the hash value H'm to the PKVer_PK_idma function using (mathematical expression) PKVer_PK_idma (S'e, H'm) → True or False. (S210 -One)

여기서, PKVer_PK_idma(S'e,H'm)는 관리모듈의 공개키 PK_idma가 디지털서명 S'e로 해시값 H'm에 서명했는지 검증하는 함수이다. Here, PKVer_PK_idma(S'e,H'm) is a function that verifies whether the public key PK_idma of the management module has signed the hash value H'm with the digital signature S'e.

그리고, 해시값 H'm은 관리모듈에 의해 생성된 해시값 Hm를 사용자는 전송받은 경우, 해시값 Hm과 구별하기 위해 해시값 Hm 대신에 사용되는 정보이다.The hash value H'm is information used instead of the hash value Hm to distinguish the hash value Hm from the hash value Hm when the user receives the hash value Hm generated by the management module.

본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 블록체인 및 스마트 계약을 기반으로 하는 아키텍처를 통합하여, 클라우드 기반의 인공지능 시스템의 머신러닝 파이프라인에 대한 무결성을 강화할 수 있는 효과가 있다.The user's registration and login method for a cloud-based artificial intelligence system according to the present invention integrates architecture based on blockchain and smart contracts, thereby strengthening the integrity of the machine learning pipeline of the cloud-based artificial intelligence system. There is an effect.

또한, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 공격자가 실제 사용자를 사칭하여 클라우드 기반의 인공지능 시스템에 침입하는 것을 사전에 방지할 수 있는 효과가 있다.In addition, the user registration and login method for the cloud-based artificial intelligence system according to the present invention has an effect of preventing an attacker from impersonating a real user and infiltrating the cloud-based artificial intelligence system in advance.

또한, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법은 무결성을 추적하고, 데이터 조작을 방지할 수 있는 효과가 있다.In addition, the user's registration and login method for the cloud-based artificial intelligence system according to the present invention has an effect of tracking integrity and preventing data manipulation.

이상과 같이 본 발명은 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법을 제공하고자 하는 것을 주요한 기술적 사상으로 하고 있으며, 도면을 참고하여 상술한 실시예는 단지 하나의 실시예에 불과하고, 본 발명의 진정한 권리 범위는 특허 청구범위를 기준으로 하되, 다양하게 존재할 수 있는 균등한 실시예에도 미친다 할 것이다.As described above, the main technical idea of the present invention is to provide a user registration and login method for a cloud-based artificial intelligence system according to the present invention, and the above-described embodiment with reference to the drawings is only one embodiment. However, the true scope of the present invention will be based on the claims, but will also extend to equivalent embodiments that may exist in various ways.

Claims (13)

사용자가 클라우드 플랫폼에 등록하는 제 100단계; 및
상기 사용자가 상기 클라우드 플랫폼에 로그인하는 제 200단계;를 포함하고
상기 제 100단계는
상기 사용자가 해시값 H1을 준비하는 제 101단계;
상기 사용자가 사용자의 블록체인 주소 Addr_u 및 상기 해시값 H1을 포함하는 등록요청정보 Tx1을 제1 스마트계약에 전송하는 제 102단계;
상기 제1 스마트계약이 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 블록체인에 기록하는 제 103단계;
상기 제1 스마트계약이 관리모듈 및 상기 블록체인의 모든 노드에 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 전송하는 제 104단계;
상기 관리모듈이 상기 제1 스마트계약으로부터 전송받은 상기 사용자의 블록체인 주소 Addr_u 및 해시값 H'1을 로컬 데이터베이스에 저장하는 제 105단계;
상기 사용자가 디지털서명 S1 및 암호화 정보 R2를 계산하는 제 106단계;
상기 관리모듈이 암호화 정보 R'2에 대한 검증 프로세스를 수행하는 제 107단계;
상기 암호화 정보 R'2에 대한 검증 프로세스 완료 시, 상기 관리모듈이 사용자 할당정보 U_rl을 설정하여, R'1 및 상기 사용자 할당정보 U_rl을 상기 로컬 데이터베이스에 저장하는 제 108단계;
상기 관리모듈이 상기 R'1 및 사용자 할당정보 U_rl로부터 사용자증명서 U_cred를 준비하는 제 109단계;
상기 관리모듈이 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서U_cred를 포함하는 트랜잭션정보 Tx2를 상기 제1 스마트계약에 전송하는 제 110단계;
상기 제1 스마트계약이 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 상기 블록체인에 저장하고, 상기 관리모듈 및 블록체인의 모든 노드에게 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 브로드캐스팅하는 제 111단계;
상기 사용자가 상기 제1 스마트계약에 의해 브로드캐스팅된 상기 사용자의 블록체인 주소 Addr_u 및 사용자증명서 U'_cred를 로컬 저장소에 저장하는 제 112단계;
상기 관리모듈이 상기 사용자증명서 U_cred, 사용자 할당정보 U_rl 및 디지털서명 Su을 포함하는 응답 메시지를 생성하는 제 113단계; 및
상기 사용자가 상기 관리모듈로부터 전송받은 상기 응답 메시지를 검증하는 제 114단계;를 포함하고,
상기 해시값 H'1는 상기 사용자에 의해 생성된 상기 해시값 H1을 상기 제1 스마트계약이 전송받은 경우, 상기 해시값 H1과 구별하기 위해 상기 해시값 H1 대신에 사용되는 정보이고,
상기 암호화 정보 R'2는 상기 사용자에 의해 생성된 상기 암호화 정보 R2를 상기 관리모듈이 전송받은 경우, 상기 암호화 정보 R2와 구별하기 위해 상기 암호화 정보 R2 대신에 사용되는 정보이고,
상기 사용자증명서 U'_cred는 상기 관리모듈에 의해 생성된 상기 사용자증명서 U_cred를 상기 제1 스마트계약이 전송받은 경우, 상기 사용자증명서 U_cred와 구별하기 위해 상기 사용자증명서 U_cred 대신에 사용되는 정보인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
Step 100, in which a user registers with a cloud platform; and
A 200th step of the user logging in to the cloud platform; and
The 100th step is
Step 101, wherein the user prepares hash value H1;
Step 102 of the user transmitting registration request information Tx1 including the user's blockchain address Addr_u and the hash value H1 to a first smart contract;
Step 103, wherein the first smart contract records the user's blockchain address Addr_u and hash value H'1 in the blockchain;
Step 104 of the first smart contract transmitting the user's blockchain address Addr_u and hash value H'1 to a management module and all nodes of the blockchain;
Step 105 of the management module storing the user's blockchain address Addr_u and hash value H'1 received from the first smart contract in a local database;
Step 106, wherein the user calculates digital signature S1 and encryption information R2;
Step 107, wherein the management module performs a verification process on encryption information R'2;
Step 108, when the verification process for the encryption information R'2 is completed, the management module sets user assignment information U_rl and stores R'1 and the user assignment information U_rl in the local database;
Step 109, wherein the management module prepares a user certificate U_cred from the R'1 and user allocation information U_rl;
Step 110, wherein the management module transmits transaction information Tx2 including the user's blockchain address Addr_u and user certificate U_cred to the first smart contract;
The first smart contract stores the user's blockchain address Addr_u and user credential U'_cred in the blockchain, and sends the management module and all nodes of the blockchain to the user's blockchain address Addr_u and user credential U'_cred. Step 111 of broadcasting;
Step 112, by the user, storing the user's blockchain address Addr_u and the user certificate U'_cred broadcasted by the first smart contract in a local storage;
Step 113, wherein the management module generates a response message including the user certificate U_cred, user assignment information U_rl, and digital signature Su; and
A 114 step of verifying the response message received by the user from the management module;
The hash value H'1 is information used instead of the hash value H1 to distinguish it from the hash value H1 when the first smart contract receives the hash value H1 generated by the user,
The encryption information R'2 is information used instead of the encryption information R2 to distinguish it from the encryption information R2 when the management module receives the encryption information R2 generated by the user,
Characterized in that the user credential U'_cred is information used instead of the user credential U_cred to distinguish the user credential U_cred generated by the management module from the user credential U_cred when the first smart contract is transmitted. How users register and log in to the cloud-based artificial intelligence system.
제 1항에 있어서,
상기 제 101단계는
상기 사용자가 (수학식) R1=Addr_u||name||H(pass)||email||t을 이용하여, R1을 준비하는 제 101-1단계; 및
상기 사용자가 (수학식) H1=H(R1)를 이용하여, 상기 R1의 해시값 H1을 준비하는 제 101-2단계;를 포함하고,
상기 name은 사용자의 이름이고, 상기 pass는 사용자의 비밀번호이고, 상기 H(pass)는 상기 사용자의 비밀번호 pass의 해시값이고, 상기 email은 사용자의 이메일 주소이고, 상기 t는 현재의 타임스탬프인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 1,
Step 101 is
Step 101-1, wherein the user prepares R1 by using (Equation Equation) R1=Addr_u||name||H(pass)||email||t; and
A 101-2 step in which the user prepares the hash value H1 of R1 using (Equation Equation) H1 = H(R1);
The name is the user's name, the pass is the user's password, the H (pass) is the hash value of the user's password pass, the email is the user's email address, and the t is the current timestamp A user's registration and login method for a cloud-based artificial intelligence system characterized by
제 1항에 있어서,
상기 제 106단계는
상기 사용자가 (수학식) S1=Sign_SK_u(H1)으로 상기 사용자의 비밀키 SK_u를 이용하여, 상기 해시값 H1에 대한 상기 디지털서명 S1을 생성하는 제 106-1단계; 및
상기 사용자가 (수학식) R2=E_PK_idma(R1||S1)으로 상기 관리모듈의 공개키 PK_idma를 이용하여, 상기 R1 및 디지털서명 S1를 연접한 정보를 암호화한 상기 암호화 정보 R2를 계산하는 제 106-2단계;를 포함하는 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 1,
Step 106 is
a step 106-1 in which the user generates the digital signature S1 for the hash value H1 using the user's private key SK_u as (Equation Equation) S1 = Sign_SK_u (H1); and
106, in which the user calculates the encrypted information R2 by encrypting the information concatenated with the R1 and the digital signature S1 using the public key PK_idma of the management module as (Equation Equation) R2 = E_PK_idma (R1||S1) - Step 2; A user's registration and login method for a cloud-based artificial intelligence system comprising a.
제 1항에 있어서,
상기 제 107단계는
상기 관리모듈이 (수학식) D_SK_idma(R'2) → R'1||S'1에서 상기 관리모듈의 비밀키 SK_idma로 상기 암호화 정보 R'2를 복호화하여, 상기 R'1 및 디지털서명 S'1을 획득하는 제 107-1단계;
상기 관리모듈이 (수학식) H"1=H(R'1)을 이용하여, 상기 R'1의 해시값 H"1을 계산하는 제 107-2단계;
상기 관리모듈이 상기 제 107-2단계에서 계산된 상기 해시값 H"1 및 상기 제1 스마트계약에 의해 브로드캐스팅된 상기 해시값 H'1을 비교하여, 상기 해시값 H"1 및 H'1의 일치 여부를 확인하는 제 107-3단계;
상기 관리모듈이 상기 해시값 H"1 및 H'1이 일치 시, 상기 암호화 정보 R'2에 대한 검증 프로세스를 지속하고, 상기 해시값 H"1 및 H'1이 불일치 시, 상기 암호화 정보 R'2에 대한 검증 프로세스를 중단하는 제 107-4단계; 및
상기 관리모듈이 (수학식) PKVer_Addr_u(S'1,H"1) → True or False을 이용하여, 상기 PKVer_Addr_u 함수에 상기 디지털서명 S'1 및 해시값 H"1을 입력하는 제 107-5단계:를 포함하고,
상기 PKVer_Addr_u(S'1,H"1)은 상기 사용자의 블록체인의 주소 Addr_u가 상기 디지털서명 S'1으로 상기 해시값 H"1에 서명했는지 검증하는 함수인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 1,
The 107th step is
The management module decrypts the encrypted information R'2 with the private key SK_idma of the management module in (Equation) D_SK_idma(R'2) → R'1||S'1, and the R'1 and the digital signature S' Step 107-1 of acquiring '1';
a step 107-2 in which the management module calculates the hash value H"1 of R'1 using (Equation Equation) H"1 = H(R'1);
The management module compares the hash value H"1 calculated in step 107-2 with the hash value H'1 broadcast by the first smart contract, and the hash value H"1 and H'1 a 107-3 step of checking whether or not match;
When the hash values H"1 and H'1 match, the management module continues the verification process for the encryption information R'2, and when the hash values H"1 and H'1 do not match, the encryption information R Step 107-4 of stopping the verification process for '2'; and
Step 107-5 in which the management module inputs the digital signature S'1 and hash value H"1 to the PKVer_Addr_u function using (mathematical expression) PKVer_Addr_u(S'1,H"1) → True or False including:
The PKVer_Addr_u(S'1,H"1) is a function for verifying whether the user's blockchain address Addr_u signed the hash value H"1 with the digital signature S'1, cloud-based artificial intelligence, characterized in that How users register and log in to the system.
제 1항에 있어서,
상기 제 109단계는
상기 관리모듈이 (수학식) R3=R'1||U_rl을 이용하여, 상기 R'1 및 상기 사용자 할당정보 U_rl을 연접한 상기 R3을 계산하는 제 109-1단계;
상기 관리모듈이 (수학식) U_cred=H(R3)을 이용하여, 상기 R3의 해시값인 상기 사용자 증명서 U_cred를 계산하는 제 109-2단계; 및
상기 관리모듈이 상기 사용자 증명서 U_cred를 상기 로컬 데이터베이스에 저장하는 제 109-3단계;를 포함하는 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 1,
The 109th step is
a step 109-1 in which the management module calculates the R3 obtained by concatenating the R'1 and the user allocation information U_rl using (Equation Equation) R3=R'1||U_rl;
a step 109-2 in which the management module calculates the user certificate U_cred, which is the hash value of R3, using (Equation Equation) U_cred = H(R3); and
A 109-3 step of the management module storing the user certificate U_cred in the local database; a user registration and login method for a cloud-based artificial intelligence system, comprising:
제 1항에 있어서,
상기 제 113단계는
상기 관리모듈이 (수학식) Su=Sign_SK_idma(U_cred||H(U_rl))으로 상기 관리모듈의 비밀키 SK_idma를 이용하여, 상기 U_cred||H(U_rl)에 대한 상기 디지털서명 Su을 생성하는 제 113-1단계; 및
상기 관리모듈이 상기 사용자증명서 U_cred, 사용자 할당정보 U_rl 및 디지털서명 Su을 포함하는 상기 응답 메시지를 상기 사용자에게 각각 전송하는 제 113-2단계;를 포함하는 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 1,
Step 113 is
The management module generates the digital signature Su for the U_cred||H(U_rl) using the secret key SK_idma of the management module as (Equation Equation) Su=Sign_SK_idma (U_cred||H(U_rl)) Step 113-1; and
a step 113-2 in which the management module transmits the response message including the user certificate U_cred, the user allocation information U_rl, and the digital signature Su to the user, respectively; How to register and log in for users.
제 1항에 있어서,
상기 제 114단계는
상기 사용자가 상기 관리모듈로부터 사용자증명서 U"_cred, 사용자 할당정보 U'_rl 및 디지털서명 S'u를 전송받는 제 114-1단계;
상기 사용자가 상기 관리모듈로부터 전송받은 상기 사용자증명서 U"_cred 및 상기 제1 스마트계약으로부터 전송받은 상기 사용자증명서 U'_cred를 비교하는 제 114-2단계;
상기 사용자가 상기 사용자증명서 U"_cred 및 U'_cred가 일치 시, 상기 응답 메시지에 대한 검증 프로세스를 지속하고, 상기 사용자증명서 U"_cred 및 U'_cred가 불일치 시, 상기 응답 메시지에 대한 검증 프로세스를 중단하는 제 114-3단계;
상기 사용자가 (수학식) PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) → True or False을 이용하여, 상기 디지털서명 S'u를 검증하는 제 114-4단계; 및
상기 사용자가 상기 제 114-4단계의 출력값이 참이면, 상기 디지털서명 S'u에 대한 검증 프로세스를 종료하는 제 114-5단계;를 포함하고,
상기 디지털서명 S'u는 (수학식) Sign_SK_idma(U_cred||H(U_rl))'으로, 상기 관리모듈의 비밀키 SK_idma를 이용하여 상기 (U_cred||H(U_rl))'에 대해 생성된 디지털서명이고,
상기 PKVer_PK_idma(S'u,U"_cred||H(U'_rl))는 상기 관리모듈의 공개키 PK_idma가 상기 디지털서명 S'u로 U"_cred||H(U'_rl)에 서명했는지 검증하는 함수이고,
상기 사용자증명서 U"_cred는 상기 관리모듈에 의해 생성된 상기 사용자증명서 U_cred를 상기 사용자가 전송받은 경우, 상기 사용자증명서 U_cred와 구별하기 위해 상기 사용자증명서 U_cred 대신에 사용되는 정보이고,
상기 사용자 할당정보 U'_rl는 상기 관리모듈에 의해 생성된 상기 사용자 할당정보 U_rl을 상기 사용자가 전송받은 경우, 상기 사용자 할당정보 U_rl과 구별하기 위해 상기 사용자 할당정보 U_rl 대신에 사용되는 정보이고,
상기 디지털서명 S'u는 상기 관리모듈에 의해 생성된 상기 디지털서명 Su를 상기 사용자가 전송받은 경우, 상기 디지털서명 Su와 구별하기 위해 상기 디지털서명 Su 대신에 사용되는 정보인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 1,
The 114th step is
Step 114-1, wherein the user receives user certificate U"_cred, user assignment information U'_rl, and digital signature S'u from the management module;
114-2 step of the user comparing the user certificate U"_cred transmitted from the management module and the user certificate U'_cred transmitted from the first smart contract;
When the user certificates U"_cred and U'_cred match, the verification process for the response message continues, and when the user certificates U"_cred and U'_cred do not match, the verification process for the response message continues. Step 114-3 of stopping;
A step 114-4 in which the user verifies the digital signature S'u using (mathematical expression) PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) → True or False; and
Step 114-5 of the user, if the output value of step 114-4 is true, terminating the verification process for the digital signature S'u;
The digital signature S'u is (mathematical expression) Sign_SK_idma(U_cred||H(U_rl))', which is digitally generated for (U_cred||H(U_rl))' using the secret key SK_idma of the management module. is a signature,
The PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) verifies whether the public key PK_idma of the management module signed U"_cred||H(U'_rl) with the digital signature S'u. is a function that
The user certificate U"_cred is information used instead of the user certificate U_cred to distinguish it from the user certificate U_cred when the user receives the user certificate U_cred generated by the management module;
The user assignment information U'_rl is information used instead of the user assignment information U_rl to distinguish the user assignment information U_rl from the user assignment information U_rl when the user receives the user assignment information U_rl generated by the management module,
The cloud-based digital signature S'u is information used instead of the digital signature Su to distinguish the digital signature Su generated by the management module from the digital signature Su when the user receives the transmission. How to register and log in to the AI system of
제 1항에 있어서,
상기 제 200단계는
상기 사용자가 로그인을 위해 해시값 H2를 준비하는 제 201단계;
상기 사용자가 상기 사용자의 블록체인 주소 Addr_u 및 상기 해시값 H2를 포함하는 트랜잭션정보 Tx3을 상기 제1 스마트계약에 전송하는 제 202단계;
상기 제1 스마트계약이 상기 사용자의 블록체인의 주소 Addr_u 및 해시값 H'2를 상기 블록체인에 기록하고, 상기 관리모듈 및 블록체인의 모든 노드에게 상기 사용자의 블록체인의 주소 Addr_u 및 해시값 H'2를 브로드캐스팅하는 제 203단계;
상기 관리모듈이 상기 제1 스마트계약으로부터 전송받은 상기 사용자의 블록체인의 주소 Addr_u 및 해시값 H'2를 상기 로컬 데이터베이스에 저장하는 제 204단계;
상기 사용자가 디지털 서명 S2 및 암호화 정보 R5를 계산하는 제 205단계;
상기 사용자가 상기 관리모듈에 상기 암호화 정보 R5를 전송하여, 상기 관리모듈을 통해 상기 클라우드 플랫폼에 로그인을 요청하는 제 206단계;
상기 관리모듈이 암호화 정보 R'5에 대한 검증 프로세스를 수행하는 제 207단계;
상기 암호화 정보 R'5에 대한 검증 프로세스 완료 시, 상기 관리모듈이 '로그인 성공'이라는 알림메시지 Msg를 출력하는 제 208단계;
상기 관리모듈이 상기 사용자가 상기 클라우드 플랫폼에 로그인했다는 것을 공지하기 위해 상기 알림메시지 Msg, 해시값 Hm 및 디지털서명 Se를 상기 사용자에게 전송하는 제 209단계; 및
상기 사용자가 디지털서명 S'e를 검증하는 제 210단계;를 포함하고,
상기 해시값 H'2는 상기 사용자에 의해 생성된 상기 해시값 H2를 상기 제1 스마트계약이 전송받은 경우, 상기 해시값 H2와 구별하기 위해 상기 해시값 H2 대신에 사용되는 정보이고,
상기 암호화 정보 R'5는 상기 사용자에 의해 생성된 상기 암호화 정보 R5를 상기 관리모듈이 전송받은 경우, 상기 암호화 정보 R5와 구별하기 위해 상기 암호화 정보 R5 대신에 사용되는 정보이고,
상기 디지털서명 S'e는 상기 관리모듈에 의해 생성된 상기 디지털서명 Se를 상기 사용자가 전송받은 경우, 상기 디지털서명 Se와 구별하기 위해 상기 디지털서명 Se 대신에 사용되는 정보인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 1,
The 200th step is
Step 201, wherein the user prepares hash value H2 for login;
Step 202 of the user transmitting transaction information Tx3 including the user's blockchain address Addr_u and the hash value H2 to the first smart contract;
The first smart contract records the user's block chain address Addr_u and hash value H'2 in the block chain, and sends the management module and all nodes of the block chain the address Addr_u and hash value H of the user's block chain. Step 203 broadcasting '2;
Step 204 of the management module storing the user's block chain address Addr_u and hash value H'2 transmitted from the first smart contract in the local database;
Step 205, wherein the user calculates digital signature S2 and encryption information R5;
a step 206 in which the user transmits the encryption information R5 to the management module and requests log-in to the cloud platform through the management module;
Step 207, wherein the management module performs a verification process on encryption information R'5;
Step 208, when the verification process for the encryption information R'5 is completed, the management module outputs a notification message Msg indicating 'login successful';
Step 209, the management module transmits the notification message Msg, the hash value Hm, and the digital signature Se to the user to notify that the user has logged in to the cloud platform; and
Including; step 210 of the user verifying the digital signature S'e,
The hash value H'2 is information used instead of the hash value H2 to distinguish it from the hash value H2 when the first smart contract receives the hash value H2 generated by the user,
The encryption information R'5 is information used instead of the encryption information R5 to distinguish it from the encryption information R5 when the management module receives the encryption information R5 generated by the user,
The digital signature S'e is cloud-based information used instead of the digital signature Se to distinguish it from the digital signature Se when the user receives the digital signature Se generated by the management module. How to register and log in to the AI system of
제 8항에 있어서,
상기 제 201단계는
상기 사용자가 (수학식) pwd=H(pass)를 이용하여, 상기 사용자의 비밀번호 pass의 해시값인 상기 pwd를 준비하는 제 201-1단계; 및
상기 사용자가 (수학식) R4=email||pwd||U_cred||t를 이용하여, 상기 R4를 준비하는 제 201-2단계; 및
상기 사용자가 (수학식) H2=H(R4)를 이용하여, 상기 R4의 해시값 H2를 준비하는 제 201-3단계;를 포함하고,
상기 pass는 사용자의 비밀번호이고, 상기 email은 사용자의 이메일 주소이고, 상기 U_cred는 사용자증명서이고, 상기 t는 현재의 타임스탬프이고, 상기 R4는 상기 사용자의 이메일주소 email, 사용자의 비밀번호 pwd, 사용자증명서 U_cred 및 현재의 타임스탬프 t를 연접한 정보인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 8,
The 201st step is
a step 201-1 in which the user prepares the pwd, which is a hash value of the password pass of the user, by using (mathematical expression) pwd=H(pass); and
a step 201-2 in which the user prepares R4 by using (Equation Equation) R4=email||pwd||U_cred||t; and
A step 201-3 in which the user prepares the hash value H2 of R4 using (Equation Equation) H2 = H(R4);
The pass is the user's password, the email is the user's email address, the U_cred is the user credential, the t is the current timestamp, the R4 is the user's email address email, the user's password pwd, the user credential A user registration and login method for a cloud-based artificial intelligence system, characterized in that the information is concatenated with U_cred and the current timestamp t.
제 8항에 있어서,
상기 제 205단계는
상기 사용자가 (수학식) S2=Sign_SK_u(H2)로 상기 사용자의 비밀키 SK_u를 이용하여, 상기 해시값 H2에 대한 상기 디지털서명 S2을 생성하는 제 205-1단계; 및
상기 사용자가 (수학식) R5=E_PK_idma(R4||S2)로 상기 관리모듈의 공개키 PK_idma를 이용하여, 상기 R4 및 디지털서명 S2를 연접한 정보를 암호화한 상기 R5를 계산하는 제 205-2단계;를 포함하는 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 8,
Step 205 is
a step 205-1 in which the user generates the digital signature S2 for the hash value H2 using the user's private key SK_u as (Equation Equation) S2 = Sign_SK_u (H2); and
205-2, in which the user calculates the R5 by encrypting the information concatenated with the R4 and the digital signature S2 using the public key PK_idma of the management module as R5 = E_PK_idma (R4||S2) A user's registration and login method for a cloud-based artificial intelligence system comprising the steps;
제 8항에 있어서,
상기 제 207단계는
상기 관리모듈이 (수학식) D_SK_idma(R'5) → R'4||S'2에서 관리모듈의 비밀키 SK_idma로 상기 암호화 정보 R'5를 복호화하여, R'4 및 디지털서명 S'2를 획득하는 제 207-1단계;
상기 관리모듈이 상기 로컬 데이터베이스에 대한 사용자정보의 등록 여부를 체크하는 제 207-2단계;
상기 관리모듈은 상기 사용자로부터 전송받은 사용자정보 및 상기 로컬 데이터베이스에 저장된 사용자정보를 비교하여, 일치 여부를 확인하는 제 207-3단계;
상기 제 207-2단계 및 207-3단계가 모두 참이면, 상기 관리모듈이 상기 암호화 정보 R'5에 대한 검증 프로세스를 지속하는 제 207-4단계;
상기 관리모듈이 상기 로컬 데이터베이스에서 상기 사용자 할당정보 U_rl을 확인하는 제 207-5단계;
상기 사용자가 접근 권한을 갖고 있는 경우, 상기 관리모듈이 (수학식) H"2=H(R'4)를 이용하여, 상기 R'4의 해시값 H"2를 계산하는 제 207-6단계;
상기 관리모듈이 상기 관리모듈에 의해 계산된 상기 해시값 H"2 및 상기 제1 스마트계약에 의해 브로드캐스팅된 상기 해시값 H'2를 비교하여, 상기 해시값 H"2 및 H'2의 일치 여부를 확인하는 제 207-7단계;
상기 관리모듈이 상기 해시값 H"2 및 H'2가 일치 시, 상기 암호화 정보 R'5에 대한 검증 프로세스를 지속하고, 상기 해시값 H"2 및 H'2이 불일치 시, 상기 암호화 정보 R'5에 대한 검증 프로세스를 중단하는 제 207-8단계; 및
상기 관리모듈이 (수학식) PKVer_Addr_u(S'2,H"2) → True or False을 이용하여, PKVer_Addr_u 함수에 상기 디지털서명 S'2, 해시값 H"2를 입력하는 제 207-9단계;를 포함하고,
상기 사용자정보는 상기 사용자의 이메일주소 email, 사용자의 비밀번호 pass 및 사용자증명서 U_cred를 포함하는 정보이고,
상기 PKVer_Addr_u(S'2,H"2)는 상기 사용자의 블록체인의 주소 Addr_u가 상기 디지털서명 S'2로 상기 해시값 H"2에 서명했는지 검증하는 함수인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 8,
The 207th step is
The management module decrypts the encrypted information R'5 with the secret key SK_idma of the management module in (Equation) D_SK_idma(R'5) → R'4||S'2, and then R'4 and digital signature S'2 a 207-1st step of acquiring ;
a step 207-2 in which the management module checks whether user information is registered in the local database;
a step 207-3 in which the management module compares the user information received from the user with the user information stored in the local database and determines whether they match;
Step 207-4, if both steps 207-2 and 207-3 are true, the management module continues a verification process for the encryption information R'5;
a step 207-5 in which the management module checks the user allocation information U_rl in the local database;
Step 207-6, in which the management module calculates the hash value H"2 of R'4 using (Equation Equation) H"2 = H(R'4) if the user has access authority ;
The management module compares the hash value H"2 calculated by the management module and the hash value H'2 broadcast by the first smart contract, and the hash value H"2 and H'2 match. Step 207-7 of checking whether or not;
When the hash values H"2 and H'2 match, the management module continues the verification process for the encryption information R'5, and when the hash values H"2 and H'2 do not match, the encryption information R Step 207-8 of stopping the verification process for '5; and
Step 207-9 of the management module inputting the digital signature S'2 and the hash value H"2 to the PKVer_Addr_u function using (mathematical expression) PKVer_Addr_u(S'2,H"2) → True or False; including,
The user information is information including the user's email address email, the user's password pass, and the user certificate U_cred;
The PKVer_Addr_u(S'2,H"2) is a function for verifying whether the user's block chain address Addr_u signed the hash value H"2 with the digital signature S'2, cloud-based artificial intelligence, characterized in that How users register and log in to the system.
제 8항에 있어서,
상기 209단계는
상기 관리모듈이 (수학식) Hm=H(Msg)를 이용하여, 상기 알림메시지 Msg의 해시값 Hm을 준비하는 제 209-1단계; 및
상기 관리모듈이 (수학식) Se=Sign_SK_idma(Hm)으로 상기 관리모듈의 비밀키 SK_idma를 이용하여, 상기 해시값 Hm에 대한 상기 디지털서명 Se을 생성하는 제 209-2단계;를 포함하는 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 8,
Step 209 is
a step 209-1 in which the management module prepares a hash value Hm of the notification message Msg using (Equation Equation) Hm=H(Msg); and
and a step 209-2 in which the management module generates the digital signature Se for the hash value Hm using the private key SK_idma of the management module as (Equation Equation) Se=Sign_SK_idma(Hm). A user's registration and login method for a cloud-based artificial intelligence system.
제 8항에 있어서,
상기 제 210단계는
상기 사용자가 (수학식) PKVer_PK_idma(S'e,H'm) → True or False을 이용하여, PKVer_PK_idma 함수에 상기 디지털서명 S'e 및 해시값 H'm을 입력하는 제 210-1단계;를 포함하고,
상기 PKVer_PK_idma(S'e,H'm)는 상기 관리모듈의 공개키 PK_idma가 상기 디지털서명 S'e로 상기 해시값 H'm에 서명했는지 검증하는 함수이고,
상기 해시값 H'm은 상기 관리모듈에 의해 생성된 상기 해시값 Hm를 상기 사용자가 전송받은 경우, 상기 해시값 Hm과 구별하기 위해 상기 해시값 Hm 대신에 사용되는 정보인 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 사용자의 등록 및 로그인 방법.
According to claim 8,
Step 210 is
Step 210-1, in which the user inputs the digital signature S'e and hash value H'm to the PKVer_PK_idma function using (mathematical expression) PKVer_PK_idma (S'e, H'm) → True or False. include,
The PKVer_PK_idma(S'e,H'm) is a function that verifies whether the public key PK_idma of the management module has signed the hash value H'm with the digital signature S'e;
The hash value H'm is cloud-based information used instead of the hash value Hm to distinguish it from the hash value Hm when the user receives the hash value Hm generated by the management module. How to register and log in to the AI system of
KR1020220001088A 2022-01-04 2022-01-04 User's register and login method for cloud-based artificial intelligence system KR102633218B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220001088A KR102633218B1 (en) 2022-01-04 2022-01-04 User's register and login method for cloud-based artificial intelligence system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220001088A KR102633218B1 (en) 2022-01-04 2022-01-04 User's register and login method for cloud-based artificial intelligence system

Publications (2)

Publication Number Publication Date
KR20230105554A true KR20230105554A (en) 2023-07-11
KR102633218B1 KR102633218B1 (en) 2024-02-01

Family

ID=87159695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220001088A KR102633218B1 (en) 2022-01-04 2022-01-04 User's register and login method for cloud-based artificial intelligence system

Country Status (1)

Country Link
KR (1) KR102633218B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101914416B1 (en) 2018-05-15 2018-11-01 위철혁 System for providing security service based on cloud computing
KR20200071793A (en) * 2018-11-29 2020-06-22 동서대학교 산학협력단 Block Chain Solution Providing System to Ensure Data Integrity of Private Data-set, and Process Method thereof
KR20210090379A (en) * 2020-01-10 2021-07-20 동서대학교 산학협력단 Blockchain-based access control method for the internet of thing device
KR20210090372A (en) * 2020-01-10 2021-07-20 동서대학교 산학협력단 Blockchain-based authenticaton and revocation method for the internet of things gateway

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101914416B1 (en) 2018-05-15 2018-11-01 위철혁 System for providing security service based on cloud computing
KR20200071793A (en) * 2018-11-29 2020-06-22 동서대학교 산학협력단 Block Chain Solution Providing System to Ensure Data Integrity of Private Data-set, and Process Method thereof
KR20210090379A (en) * 2020-01-10 2021-07-20 동서대학교 산학협력단 Blockchain-based access control method for the internet of thing device
KR20210090372A (en) * 2020-01-10 2021-07-20 동서대학교 산학협력단 Blockchain-based authenticaton and revocation method for the internet of things gateway

Also Published As

Publication number Publication date
KR102633218B1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
CN110915183B (en) Block chain authentication via hard/soft token validation
CN108768988B (en) Block chain access control method, block chain access control equipment and computer readable storage medium
US9838205B2 (en) Network authentication method for secure electronic transactions
KR100675836B1 (en) Authentication method for a link protection in EPON
CN100592678C (en) Key management for network elements
KR100843081B1 (en) System and method for providing security
US20090240936A1 (en) System and method for storing client-side certificate credentials
KR20190114434A (en) Method for oauth service through blockchain, and terminal and server using the same
CN112436940B (en) Internet of things equipment trusted boot management method based on zero-knowledge proof
US10856146B2 (en) Electronic device verification
CN109687965A (en) The real name identification method of subscriber identity information in a kind of protection network
CN103490881A (en) Authentication service system, user authentication method, and authentication information processing method and system
Dua et al. Replay attack prevention in Kerberos authentication protocol using triple password
US20210167963A1 (en) Decentralised Authentication
KR20190114432A (en) Method for oauth service through blockchain, and terminal and server using the same
Jiang Advanced secure user authentication framework for cloud computing
CN115473655B (en) Terminal authentication method, device and storage medium for access network
CN113872986B (en) Power distribution terminal authentication method and device and computer equipment
Kwon et al. Certificate transparency with enhanced privacy
KR102633218B1 (en) User's register and login method for cloud-based artificial intelligence system
CN113169953B (en) Method and apparatus for authenticating a device or user
JP2001350652A (en) Operation log accumulating device and operation log accumulation control method
KR20230105557A (en) Token request and API call method for cloud-based artificial intelligence system
Kumari et al. Hacking resistance protocol for securing passwords using personal device
CN110225011B (en) Authentication method and device for user node and computer readable storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant