KR102633218B1 - 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
KR102633218B1
KR102633218B1 KR1020220001088A KR20220001088A KR102633218B1 KR 102633218 B1 KR102633218 B1 KR 102633218B1 KR 1020220001088 A KR1020220001088 A KR 1020220001088A KR 20220001088 A KR20220001088 A KR 20220001088A KR 102633218 B1 KR102633218 B1 KR 102633218B1
Authority
KR
South Korea
Prior art keywords
computer system
management module
hash value
cred
digital signature
Prior art date
Application number
KR1020220001088A
Other languages
Korean (ko)
Other versions
KR20230105554A (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

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 the computer system registers with the cloud platform and a 200th step in which the computer system logs in to the cloud platform, and the 100th step includes a 101st step in which the computer system prepares a hash value H1. , Step 102, where the computer system transmits registration request information Tx1 including the blockchain address of the computer system Addr_u and the hash value H1 to the first smart contract, the first smart contract transmits the blockchain address Addr_u of the computer system and step 103 of recording the hash value H'1 in the blockchain, in which the first smart contract transmits the blockchain address Addr_u and the hash value H'1 of the computer system to the management module and all nodes of the blockchain. Step 104, the management module stores the blockchain address Addr_u and hash value H'1 of the computer system received from the first smart contract in a local database. Step 105, the computer system stores the digital signature S1 and encryption information R2. A 106th step of calculating , a 107th step of the management module performing a verification process for the encryption information R'2, and upon completion of the verification process for the encryption information R'2, the management module generates computer system allocation information U_rl. Step 108 of setting and storing R'1 and the computer system allocation information U_rl in the local database; Step 109 of the management module preparing a computer system certificate U_cred from R'1 and the computer system allocation information U_rl; Step 110, where the management module transmits transaction information Tx2 including the blockchain address Addr_u of the computer system and the computer system certificate U_cred to the first smart contract, and the first smart contract transmits transaction information Tx2 including the blockchain address Addr_u of the computer system to the first smart contract. And step 111, the computer stores the computer system certificate U'_cred in the blockchain and broadcasts the blockchain address Addr_u and the computer system certificate U'_cred of the computer system to the management module and all nodes of the blockchain. In step 112, the system stores the blockchain address Addr_u and the computer system certificate U'_cred of the computer system broadcast by the first smart contract in local storage, and the management module allocates the computer system certificate U_cred and the computer system. A 113th step of generating a response message including information U_rl and a digital signature Su, and a 114th step of the computer system verifying the response message received from the management module.

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 method for registering and logging in to a computer system, and more specifically, to a cloud-based artificial intelligence system that uses blockchain and smart contracts to strengthen data integrity and improve security. This relates to methods for registering and logging in computer systems for artificial intelligence systems.

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

그러나, 인공지능은 자율주행차에 대한 공격 등의 적대적인 사례에 적용될 수 있다. 예를 들어, 인공지능은 소수의 픽셀이 변경된 정지신호 이미지를 오분류하여, 자동차 사고를 유발할 수 있다. 그리고, 중앙 서버에서 인공지능에 의해 제어되는 다수의 로봇에 대한 공격은 대규모의 치명적인 장애를 유발할 수 있다. 따라서, 인공지능 시스템을 개발 시, 인공지능 시스템의 보안에 더 많은 노력을 기울여야 한다.However, artificial intelligence 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 few pixels changed, causing a car accident. And, attacks on multiple robots controlled by artificial intelligence on a central server can cause large-scale fatal failures. Therefore, when developing an artificial intelligence system, more effort should be put into the security of the artificial intelligence system.

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

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

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

KRKR 10-1914416 10-1914416 B1B1

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

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

또한, 본 발명의 목적은 데이터의 무결성을 추적하고, 데이터 조작을 방지할 수 있는 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법을 제공하는데 있다.Additionally, the purpose of the present invention is to provide a method for registering and logging in to a computer system for a cloud-based artificial intelligence system that can track the integrity of data and prevent 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, the registration and login method of a computer system for a cloud-based artificial intelligence system according to the present invention includes a 100th step of registering the computer system to the cloud platform and the computer system registering to the cloud platform. A 200th step of logging in, wherein the 100th step is a 101st step where the computer system prepares a hash value H1, and the computer system sends a registration request including a blockchain address Addr_u of the computer system and the hash value H1. Step 102 of transmitting information Tx1 to the first smart contract, Step 103 of the first smart contract recording the blockchain address Addr_u and hash value H'1 of the computer system in the blockchain, the first smart contract Step 104, transmitting the blockchain address Addr_u and the hash value H'1 of the computer system to the management module and all nodes of the blockchain, the blockchain address of the computer system received by the management module from the first smart contract Step 105 of storing Addr_u and the hash value H'1 in a local database; Step 106 of the computer system calculating the digital signature S1 and encryption information R2; and the management module performing a verification process on the encryption information R'2. Step 107, upon completion of the verification process for the encryption information R'2, the management module sets computer system allocation information U_rl and stores R'1 and the computer system allocation information U_rl in the local database. Step 109, wherein the management module prepares a computer system certificate U_cred from the R'1 and computer system allocation information U_rl, wherein the management module prepares transaction information including a blockchain address Addr_u and a computer system certificate U_cred of the computer system. Step 110 of transmitting Tx2 to the first smart contract, the first smart contract stores the blockchain address Addr_u and the computer system certificate U'_cred of the computer system in the blockchain, and the management module and the blockchain Step 111, broadcasting the blockchain address Addr_u and the computer system certificate U'_cred of the computer system to all nodes, the computer system broadcasting the blockchain address Addr_u and the computer system certificate U'_cred by the first smart contract. Step 112 of storing the system certificate U'_cred in local storage; step 113 of the management module generating a response message including the computer system certificate U_cred, computer system allocation information U_rl, and digital signature Su; and the computer system A 114th step of verifying the response message transmitted from the management module, wherein the hash value H'1 is the hash value when the first smart contract receives the hash value H1 generated by the computer system. It is information used in place of the hash value H1 to distinguish it from the value H1, and the encryption information R'2 is distinguished from the encryption information R2 when the management module receives the encryption information R2 generated by the computer system. This is information used instead of the encryption information R2, and the computer system certificate U'_cred is the computer system certificate U_cred when the first smart contract receives the computer system certificate U_cred generated by the management module. It is characterized as information used in place of the computer system certificate U_cred for differentiation.

또한, 상기 제 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는 현재의 타임스탬프인 것을 특징으로 한다.In addition, step 101 is step 101-1 in which the computer system prepares R1 using (mathematical formula) R1=Addr_u||name||H(pass)||email||t and the computer system It includes a step 101-2 of preparing a hash value H1 of the R1 using this (mathematical formula) H1=H(R1), where the name is the name of the computer system, and the pass is the password of the computer system. , wherein H(pass) is a hash value of the password pass of the computer system, the email is an email address of the computer system, and the 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, step 106 is step 106-1 in which the computer system generates the digital signature S1 for the hash value H1 using the secret key SK_u of the computer system with (mathematical formula) S1 = Sign_SK_u(H1). Step and the computer system calculates the encryption information R2 by encrypting the information concatenating the R1 and the digital signature S1 using the public key PK_idma of the management module as (mathematical formula) R2=E_PK_idma(R1||S1). It is characterized in that it includes the 106-2 step.

또한, 상기 제 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 addition, in step 107, the management module decrypts the encryption information R'2 with the secret key SK_idma of the management module in (mathematical formula) D_SK_idma(R'2) → R'1||S'1, Step 107-1 of acquiring R'1 and digital signature S'1, the management module uses (mathematical formula) H""1=H(R'1) to obtain 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 and the hash value H'1 broadcast by the first smart contract. Thus, in step 107-3 of checking whether the hash values H""1 and H'1 match, the management module generates the encryption information R'2 when the hash values H""1 and H'1 match. Step 107-4 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) Step 107-5 of inputting the digital signature S'1 and the hash value H""1 into the PKVer_Addr_u function using PKVer_Addr_u(S'1,H""1) → True or False, and PKVer_Addr_u(S'1,H""1) is characterized as a function that verifies whether the address Addr_u of the blockchain of the computer system 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, the 109th step is the 109-1 in which the management module calculates the R3 by concatenating the R'1 and the computer system allocation information U_rl using (mathematical formula) R3=R'1||U_rl. Step 109-2, where the management module calculates the computer system certificate U_cred, which is a hash value of R3, using (mathematical formula) U_cred=H(R3), and the management module calculates the computer system certificate U_cred It is characterized in that it includes a step 109-3 of storing in the local database.

또한, 상기 제 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 the secret key SK_idma of the management module as (mathematical formula) Su=Sign_SK_idma(U_cred||H(U_rl)) to signify the U_cred||H(U_rl). Step 113-1 of generating a digital signature Su and step 113-2 of the management module transmitting the response message including the computer system certificate U_cred, computer system allocation information U_rl, and digital signature Su to the computer system, respectively. It is characterized by including.

또한, 상기 제 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, the 114th step is a 114-1 step in which the computer system receives the computer system certificate U""_cred, computer system allocation information U'_rl, and digital signature S'u from the management module. Step 114-2 of comparing the computer system certificate U""_cred transmitted from the management module and the computer system certificate U'_cred transmitted from the first smart contract, where the computer system receives the computer system certificate U""_cred and step 114-3 of continuing the verification process for the response message when U'_cred matches, and stopping the verification process for the response message when the computer system certificate U""_cred and U'_cred do not match. , Step 114-4 in which the computer system verifies the digital signature S'u using (mathematical formula) PKVer_PK_idma(S'u,U""_cred||H(U'_rl)) → True or False. And if the output value of step 114-4 is true, the computer system includes a step 114-5 of terminating the verification process for the digital signature S'u, and the digital signature S'u is (equation) Sign_SK_idma(U_cred||H(U_rl))', which is a digital signature generated for the (U_cred||H(U_rl))' using the secret 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 signed U""_cred||H(U'_rl) with the digital signature S'u, and the computer The system certificate U""_cred is information used in place of the computer system certificate U_cred to distinguish it from the computer system certificate U_cred when the computer system receives the computer system certificate U_cred generated by the management module, Computer system allocation information U'_rl is used instead of the computer system allocation information U_rl to distinguish it from the computer system allocation information U_rl when the computer system receives the computer system allocation information U_rl generated by the management module. Information, 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 computer system receives the digital signature Su generated by the management module. Do it as

또한, 상기 제 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 200th step is the 201st step in which the computer system prepares a hash value H2 for login, and the computer system prepares the transaction information Tx3 including the blockchain address Addr_u of the computer system and the hash value H2. 1 Step 202 of transmitting to a smart contract, the first smart contract records the address Addr_u and the hash value H'2 of the blockchain of the computer system in the blockchain, and sends the information to the management module and all nodes of the blockchain. In step 203, broadcasting the address Addr_u and the hash value H'2 of the blockchain of the computer system, the management module broadcasts the address Addr_u and the hash value H'2 of the blockchain of the computer system received from the first smart contract. Step 204 of storing in the local database, step 205 of the computer system calculating the digital signature S2 and encryption information R5, the computer system transmitting the encryption information R5 to the management module, and sending the encryption information R5 to the management module. Step 206 of requesting login to the cloud platform, step 207 of the management module performing a verification process for the encryption information R'5, and upon completion of the verification process for the encryption information R'5, the management module performs 'login' Step 208 of outputting the notification message Msg of 'success', wherein the management module transmits the notification message Msg, the hash value Hm, and the digital signature Se to the computer system to notify that the computer system has logged in to the cloud platform. Step 209 and step 210 where the computer system verifies the digital signature S'e, and the hash value H'2 is the hash value H2 generated by the computer system received by the first smart contract. In this case, it is information used instead of the hash value H2 to distinguish it from the hash value H2, and the encryption information R'5 is the encryption information R'5 when the management module receives the encryption information R5 generated by the computer system. It is information used in place of the encryption information R5 to distinguish it from the information R5, and the digital signature S'e is distinguished from the digital signature Se when the computer system receives the digital signature Se generated by the management module. It is characterized in that it is information used in place of the digital signature Se to do this.

또한, 상기 제 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 201st step is a 201-1 step in which the computer system prepares the pwd, which is a hash value of the password pass of the computer system, using (mathematical formula) pwd=H(pass), and the computer system prepares the pwd, which is a hash value of the password pass of the computer system. Step 201-2 of preparing the R4 using (mathematical expression) R4=email||pwd||U_cred||t and the computer system using (mathematical expression) H2=H(R4) It includes a step 201-3 of preparing a hash value H2 of R4, where the pass is a password of the computer system, the email is an email address of the computer system, the U_cred is a computer system certificate, and the t is the current time. It is a stamp, and the R4 is characterized in that it is information that concatenates the email address of the computer system email, the password pwd of the computer system, the computer system 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, step 205 is step 205-1 in which the computer system generates the digital signature S2 for the hash value H2 using the secret key SK_u of the computer system with (mathematical formula) S2 = Sign_SK_u(H2). Step and the computer system calculates the R5 by encrypting information concatenating the R4 and the digital signature S2 using the public key PK_idma of the management module with (mathematical formula) R5=E_PK_idma(R4||S2) It is characterized by including step 205-2.

또한, 상기 제 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에 서명했는지 검증하는 함수인 것을 특징으로 한다.In addition, in step 207, the management module decrypts the encryption information R'5 with the secret key SK_idma of the management module in (mathematical formula) D_SK_idma(R'5) → R'4||S'2, and generates R' 4 and step 207-1 of obtaining the digital signature S'2, step 207-2 of the management module checking whether computer system information is registered in the local database, and the management module receives the information received from the computer system. Step 207-3, which compares the computer system information and the computer system information stored in the local database to check whether they match, and if steps 207-2 and 207-3 are all true, the management module generates the encryption information. Step 207-4 of continuing the verification process for R'5, step 207-5 of the management module checking the computer system allocation information U_rl in the local database, if the computer system has access authority, In step 207-6, the management module calculates the hash value H""2 of the R'4 using (mathematical formula) H""2=H(R'4), where the management module calculates the hash value H""2 of the R'4. A system that checks whether the hash values H""2 and H'2 match by comparing the hash value H""2 calculated by and the hash value H'2 broadcast by the first smart contract. Step 207-7, when the hash values H""2 and H'2 match, the management module continues the verification process for the encryption information R'5, and the hash values H""2 and H'2 are If there is a mismatch, step 207-8 stops the verification process for the encryption information R'5 and the management module verifies PKVer_Addr_u using (mathematical formula) PKVer_Addr_u(S'2,H""2) → True or False. Step 207-9 of inputting the digital signature S'2 and the hash value H""2 into a function, and the computer system information includes an email address of the computer system, a password of the computer system pass, and a computer system certificate U_cred. It is information containing, and the PKVer_Addr_u(S'2,H""2) is a function that verifies whether the address Addr_u of the blockchain of the computer system signed the hash value H""2 with the digital signature S'2. It is characterized by

또한, 상기 209단계는 상기 관리모듈이 (수학식) Hm=H(Msg)를 이용하여, 상기 알림메시지 Msg의 해시값 Hm을 준비하는 제 209-1단계 및 상기 관리모듈이 (수학식) Se=Sign_SK_idma(Hm)으로 상기 관리모듈의 비밀키 SK_idma를 이용하여, 상기 해시값 Hm에 대한 상기 디지털서명 Se을 생성하는 제 209-2단계를 포함하는 것을 특징으로 한다.In addition, step 209 is a step 209-1 in which the management module prepares a hash value Hm of the notification message Msg using (mathematical expression) Hm=H(Msg), and the management module prepares a hash value Hm of the notification message Msg using (mathematical expression) Se =Sign_SK_idma(Hm), comprising 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 대신에 사용되는 정보인 것을 특징으로 한다.In addition, in step 210, the computer system inputs the digital signature S'e and the hash value H'm into the PKVer_PK_idma function using (mathematical formula) PKVer_PK_idma(S'e,H'm) → True or False. It includes step 210-1, wherein 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 characterized in that when the computer system receives the hash value Hm generated by the management module, it is information used instead of the hash value Hm to distinguish it from the hash value Hm. .

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

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

또한, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법은 무결성을 추적하고, 데이터 조작을 방지할 수 있는 효과가 있다.In addition, the method of registering and logging in to a computer system for a cloud-based artificial intelligence system according to the present invention is effective in 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 단계에 대한 순서도이다.
Figure 1 is a configuration diagram of a cloud-based artificial intelligence system according to the present invention.
Figure 2 is a flowchart of a computer system 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 computer system shown in FIG. 2 to the cloud platform.
FIG. 4 is a flow chart for steps S108 to S114 in the step of registering the computer system shown in FIG. 2 to the cloud platform.
FIG. 5 is a flowchart of step S101 in which the computer system shown in FIG. 3 prepares hash value H1.
FIG. 6 is a flow chart for step S106 in which the computer system shown in FIG. 3 calculates S1 and R2.
FIG. 7 is a flow chart for step S107 in which the computer system 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, 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 computer system shown in FIG. 4 verifies the response message.
FIG. 11 is a flowchart of steps S201 to S205 in step S200 in which the computer system shown in FIG. 2 logs into the cloud platform.
FIG. 12 is a flow chart for steps S206 to S210 in step S200 in which the computer system shown in FIG. 2 logs into the cloud platform.
FIG. 13 is a flowchart of step S201 in which the computer system shown in FIG. 11 prepares hash value H2.
FIG. 14 is a flow chart for step S205 in which the computer system shown in FIG. 11 calculates S2 and R5.
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 computer system.
FIG. 17 is a flowchart of step S210 in which the computer system shown in FIG. 12 verifies the digital signature S'e.

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

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

먼저, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법에서 사용되는 표기법에 대해 설명하기로 한다. First, the notation used in the computer system 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 creates 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 x's blockchain address Addr_x signed data N with digital signature M. At this time, PKVer_Addr_x(M,N) outputs true if Addrx, the blockchain address of x, signed data N with digital signature M; otherwise, it outputs false.

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

그리고, D_SK_x(Y)는 x의 비밀키 SK_x를 이용하여, 데이터 Y를 비대칭으로 복호화(Decryption)하는 함수이다.And, D_SK_x(Y) is a function that asymmetrically decrypts data Y using x's secret key SK_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 x's secret key SK_x.

도 1은 본 발명에 의한 클라우드 기반의 인공지능 시스템의 구성도이다.Figure 1 is a configuration 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 comprised of a computer system, a smart contract, and a cloud platform.

먼저, 컴퓨터 시스템은 클라이언트 측에서 인공지능 서비스를 사용하기 위해, 클라우드 플랫폼에게 클라우드의 API를 호출한다.First, the computer system calls the cloud's API to the cloud platform to use artificial intelligence services on the client side.

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

그리고, 스마트계약은 블록체인 네트워크에 상주하며, 컴퓨터 시스템 및 클라우드 플랫폼이 상호 신뢰할 수 있도록 신뢰 가능한 서비스 레벨 계약으로서의 역할을 담당한다.Additionally, smart contracts reside in the blockchain network and serve as a trustworthy service level contract so that computer systems and cloud platforms can trust each other.

그리고, 클라우드 플랫폼은 컴퓨터 시스템에게 다수의 서비스를 공급한다. And, the cloud platform provides multiple services to computer systems.

도 1을 참조하면, 클라우드 플랫폼은 관리모듈, API 게이트웨이, 무결성모듈, 로깅/모니터링부 및 저장 관리부를 포함하여 구성된다. Referring to Figure 1, the cloud platform is comprised of 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 registration and login process of the computer system. At this time, each computer system is given the role of limiting its own activities and preventing arbitrary actions.

또한, 관리모듈은 컴퓨터 시스템에게 컴퓨터 시스템증명서(U_cred, User Credential)를 제공한다. 이때, 컴퓨터 시스템증명서는 컴퓨터 시스템을 인증하기 위한 토큰으로 이용된다. 컴퓨터 시스템은 클라우드 플랫폼에 로그인 시, 컴퓨터 시스템 인증을 위해 상기 컴퓨터 시스템증명서를 이용할 수 있다.Additionally, the management module provides a computer system certificate (U_cred, User Credential) to the computer system. At this time, the computer system certificate is used as a token to authenticate the computer system. The computer system can use the computer system certificate for computer system authentication when logging into the cloud platform.

또한, 관리모듈은 스마트계약과 협력하여, 관리모듈 및 스마트계약 간에 송수신되는 정보를 검증한다.Additionally, 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 게이트웨이는 컴퓨터 시스템이 클라우드 서비스를 이용하기 전에, 컴퓨터 시스템에게 토큰을 제공한다. Additionally, the API (Application Programming Interface) gateway processes API requests from computer systems that wish to use cloud services. Additionally, the API gateway provides a token to the computer system before the computer system uses the cloud service.

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

그리고, 무결성모듈(IM, Integrity Module)은 블록체인을 이용하여 학습 모델 및 학습 데이터의 무결성을 유지하는 역할을 한다.Additionally, the Integrity Module (IM) uses blockchain to maintain the integrity of the learning model and learning data.

따라서, 컴퓨터 시스템 및 클라우드 플랫폼은 각각 스마트계약에 대한 학습 데이터의 무결성을 확인할 수 있다.Therefore, the computer system and the cloud platform can each verify the integrity of the training data for the smart contract.

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

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

한편, 본 발명에 의한 클라우드 기반의 인공지능 시스템은 컴퓨터 시스템이 데이터를 저장할 수 있는 로컬 저장소 및 관리모듈이 데이터를 저장할 수 있는 로컬 데이터베이스를 더 포함하여 구성된다. Meanwhile, the cloud-based artificial intelligence system according to the present invention further includes a local storage where the computer system can store data and a local database where the management module can store data.

다음으로, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법에 대해 설명하기로 한다. Next, methods for registering and logging in to a computer system for a cloud-based artificial intelligence system according to the present invention will be described.

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

도 2를 참조하면, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법은 컴퓨터 시스템이 클라우드 플랫폼에 등록하는 단계(S100) 및 컴퓨터 시스템이 클라우드 플랫폼에 로그인하는 단계(S200) 단계를 포함하여 구성된다.Referring to Figure 2, the method of registering and logging in to a computer system for a cloud-based artificial intelligence system according to the present invention includes the steps of registering the computer system to the cloud platform (S100) and logging in the computer system to the cloud platform (S200). ) It is composed of steps.

먼저, 컴퓨터 시스템이 클라우드 플랫폼에 등록하는 단계(S100)에 대해 설명하기로 한다.First, the step (S100) in which the computer system registers with the cloud platform will be described.

도 3은 도 2에 도시된 컴퓨터 시스템이 클라우드 플랫폼에 등록하는 단계에서 S101~S107 단계에 대한 순서도이고, 도 4는 도 2에 도시된 컴퓨터 시스템이 클라우드 플랫폼에 등록하는 단계에서 S108~S114 단계에 대한 순서도이다.FIG. 3 is a flow chart for steps S101 to S107 in the step of registering the computer system shown in FIG. 2 to the cloud platform, and FIG. 4 is a flowchart of steps S108 to S114 in the step to register the computer system shown in FIG. 2 to the cloud platform. This is the flow chart.

도 3 및 도 4를 참조하면, 컴퓨터 시스템은 상기 컴퓨터 시스템에 대해 해시값 H1을 준비한다.(S101)Referring to FIGS. 3 and 4, the computer system prepares a hash value H1 for the computer system (S101).

도 5는 도 3에 도시된 컴퓨터 시스템이 해시값 H1을 준비하는 S101 단계에 대한 순서도이다.FIG. 5 is a flowchart of step S101 in which the computer system shown in FIG. 3 prepares hash value H1.

도 5를 참조하면, 컴퓨터 시스템은 (수학식) R1=Addr_u||name||H(pass)||email||t을 이용하여, R1을 준비한다.(S101-1)Referring to Figure 5, the computer system prepares R1 using (mathematical formula) R1=Addr_u||name||H(pass)||email||t (S101-1)

여기서, Addr_u는 컴퓨터 시스템의 블록체인 주소이고, name은 컴퓨터 시스템의 이름이고, pass는 컴퓨터 시스템의 비밀번호이고, H(pass)는 pass의 해시값이고, email은 컴퓨터 시스템의 이메일 주소이고, t는 현재의 타임스탬프(Timestamp)이다.Here, Addr_u is the blockchain address of the computer system, name is the name of the computer system, pass is the password of the computer system, H(pass) is the hash value of pass, email is the email address of the computer system, and t is the email address of the computer system. This is the current timestamp.

그리고, R1은 컴퓨터 시스템의 블록체인 주소 Addr_u, 컴퓨터 시스템의 이름 name, H(pass), 컴퓨터 시스템의 이메일 주소 email 및 현재의 타임스탬프 t를 연접한 정보이다.And, R1 is information that concatenates the computer system's blockchain address Addr_u, the computer system's name name, H (pass), the computer system's email address email, and the current timestamp t.

그 이후, 컴퓨터 시스템은 (수학식) H1=H(R1)을 이용하여, R1의 해시값 H1을 계산한다.(S101-2)After that, the computer system calculates the hash value H1 of R1 using (mathematical formula) H1=H(R1). (S101-2)

그 이후, 컴퓨터 시스템은 상기 컴퓨터 시스템의 블록체인 주소 Addr_u 및 해시값 H1을 포함하는 등록요청정보 Tx1을 제1 스마트계약에 전송한다.(S102) Afterwards, the computer system transmits registration request information Tx1, including the computer system'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 computer system'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 computer system.

그 이후, 제1 스마트계약은 관리모듈 및 블록체인의 모든 노드에게 컴퓨터 시스템의 블록체인 주소 Addr_u 및 해시값 H'1을 전송한다.(S104)After that, the first smart contract transmits the computer system'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, every node in the blockchain includes a computer system. Meanwhile, the reason why the first smart contract transmits the computer system's blockchain address Addr_u and hash value H'1 to the computer system is that the computer system's blockchain address Addr_u and hash value H'1 have been successfully stored in the blockchain. This is to notify the computer system.

그 이후, 관리모듈은 제1 스마트계약으로부터 전송받은 컴퓨터 시스템의 블록체인 주소 Addr_u 및 해시값 H'1을 로컬 데이터베이스에 저장한다.(S105)Afterwards, the management module stores the blockchain address Addr_u and hash value H'1 of the computer system received from the first smart contract in the local database (S105).

그 이후, 컴퓨터 시스템은 디지털서명 S1 및 암호화 정보 R2를 계산한다.(S106)Afterwards, the computer system calculates the digital signature S1 and encryption information R2 (S106).

도 6은 도 3에 도시된 컴퓨터 시스템이 S1 및 R2를 계산하는 S106 단계에 대한 순서도이다.FIG. 6 is a flow chart for step S106 in which the computer system shown in FIG. 3 calculates S1 and R2.

도 6을 참조하면, 컴퓨터 시스템은 (수학식) S1=Sign_SK_u(H1)으로 컴퓨터 시스템의 비밀키 SK_u를 이용하여, 해시값 H1에 대한 디지털서명 S1을 생성한다.(S106-1)Referring to FIG. 6, the computer system generates a digital signature S1 for the hash value H1 using the secret key SK_u of the computer system with (mathematical formula) S1 = Sign_SK_u(H1) (S106-1).

그 이후, 컴퓨터 시스템은 (수학식) R2=E_PK_idma(R1||S1)으로 관리모듈의 공개키 PK_idma를 이용하여, R1 및 디지털서명 S1을 연접한 정보를 암호화하여, 암호화 정보 R2를 계산한다.(S106-2)Afterwards, the computer system encrypts the information concatenated between R1 and the digital signature S1 using the public key PK_idma of the management module using the equation (mathematical formula) R2=E_PK_idma(R1||S1) to calculate the encryption 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 computer system.

도 7은 도 3에 도시된 컴퓨터 시스템이 암호화 정보 R'2에 대한 검증 프로세스를 수행하는 S107 단계에 대한 순서도이다. FIG. 7 is a flowchart of step S107 in which the computer system 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 encryption information R'2 using the secret key SK_idma of the management module in (mathematical formula) D_SK_idma(R'2) → R'1||S'1, and generates R'1 and acquire digital signature S'1. (S107-1)

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

그 이후, 관리모듈은 (수학식) 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 (mathematical formula) H"1=H(R'1). (S107-2)

그 이후, 관리모듈은 S107-2 단계에서 계산된 해시값 H"1 및 제1 스마트계약에 의해 브로드캐스팅된 해시값 H'1을 비교한다.(S107-3)Afterwards, 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 Stop the verification process for encryption information R'2. (S107-4)

그 이후, 관리모듈은 서명을 검증하기 위해 (수학식) PKVer_Addr_u(S'1,H"1) → True or False을 이용하여, PKVer_Addr_u 함수에 디지털서명 S'1, 해시값 H"1을 입력한다.(S107-5) Afterwards, the management module uses (mathematical formula) PKVer_Addr_u(S'1,H"1) → True or False to verify the signature, and inputs the digital signature S'1 and hash value H"1 into the PKVer_Addr_u function. .(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 blockchain address Addr_u of the computer system signed the hash value H"1 with the 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 matches the sender of the registration request information Tx1 for the first smart contract. Additionally, step S107-5 is used to prevent attackers from impersonating the computer system.

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

이때, 컴퓨터 시스템 할당정보 U_rl은 컴퓨터 시스템의 역할, 범위 및 접근정보를 포함하여 구성된다. 그리고, 컴퓨터 시스템 할당정보 U_rl은 컴퓨터 시스템이 클라우드 플랫폼에서 임의로 행동하는 것을 방지하기 위한 컴퓨터 시스템의 권한을 의미한다.At this time, the computer system allocation information U_rl is composed of the role, scope, and access information of the computer system. And, the computer system allocation information U_rl refers to the authority of the computer system to prevent the computer system from acting arbitrarily on the cloud platform.

그 이후, 관리모듈은 R'1 및 컴퓨터 시스템 할당정보 U_rl로부터 컴퓨터 시스템증명서 U_cred를 준비한다.(S109)Afterwards, the management module prepares a computer system certificate U_cred from R'1 and computer system allocation 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 (mathematical formula) R3=R'1||U_rl (S109-1)

여기서, R'1||U_rl는 R'1 및 컴퓨터 시스템 할당정보 U_rl을 연접한 정보이다.Here, R'1||U_rl is information that concatenates R'1 and computer system 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 (mathematical formula) U_cred=H(R3). (S109-2)

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

그 이후, 관리모듈은 컴퓨터 시스템의 블록체인 주소 Addr_u 및 컴퓨터 시스템 할당정보 U_cred를 포함하는 트랜잭션정보 Tx2를 제1 스마트계약에 전송한다.(S110)Afterwards, the management module transmits transaction information Tx2, including the computer system's blockchain address Addr_u and computer system 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 blockchain address Addr_u and the computer system certificate U'_cred received from the management module in the blockchain, and sends the blockchain address Addr_u and the computer system certificate to the management module and all nodes of the blockchain. Broadcast the certificate U'_cred (S111)

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

그 이후, 컴퓨터 시스템은 제1 스마트계약에 의해 브로드캐스팅된 컴퓨터 시스템의 블록체인 주소 Addr_u 및 컴퓨터 시스템증명서 U'_cred를 로컬 저장소에 저장한다.(S112)Afterwards, the computer system stores the blockchain address Addr_u and the computer system certificate U'_cred of the computer system broadcast by the first smart contract in local storage (S112).

그리고, 관리모듈은 제1 스마트계약에 의해 브로드캐스팅된 컴퓨터 시스템의 블록체인 주소 Addr_u 및 컴퓨터 시스템증명서 U'_cred를 전송받게 된다. 이것은 컴퓨터 시스템증명서 U_cred가 블록체인에 성공적으로 저장되었다는 것을 의미한다.And, the management module receives the blockchain address Addr_u and the computer system certificate U'_cred of the computer system broadcast by the first smart contract. This means that the computer system certificate U_cred has been successfully stored in the blockchain.

그 이후, 관리모듈은 컴퓨터 시스템증명서 U_cred, 컴퓨터 시스템 할당정보 U_rl 및 디지털서명 Su을 포함하는 응답 메시지를 생성한다.(S113)Afterwards, the management module generates a response message containing the computer system certificate U_cred, computer system 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 Figure 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 with (mathematical formula) 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 that concatenates the hash value of the computer system certificate U_cred and the computer system allocation information U_rl.

그 이후, 관리모듈은 컴퓨터 시스템증명서 U_cred, 컴퓨터 시스템 할당정보 U_rl 및 디지털서명 Su을 포함하는 응답 메시지를 컴퓨터 시스템에게 각각 전송한다.(S113-2)Afterwards, the management module transmits a response message containing the computer system certificate U_cred, computer system allocation information U_rl, and digital signature Su to the computer system, respectively (S113-2).

그 이후, 컴퓨터 시스템은 관리모듈로부터 전송받은 응답 메시지를 검증한다.(S114)Afterwards, the computer system verifies the response message received from the management module (S114).

도 10은 도 4에 도시된 컴퓨터 시스템이 응답메시지를 검증하는 S114 단계에 대한 순서도이다. FIG. 10 is a flowchart of step S114 in which the computer system shown in FIG. 4 verifies the response message.

도 10을 참조하면, 먼저, 컴퓨터 시스템은 관리모듈로부터 컴퓨터 시스템증명서 U"_cred, 컴퓨터 시스템 할당정보 U'_rl 및 디지털서명 S'u를 전송받게 된다.(S114-1)Referring to Figure 10, first, the computer system receives the computer system certificate U"_cred, computer system allocation information U'_rl, and digital signature S'u from the management module (S114-1).

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

그리고, 컴퓨터 시스템 할당정보 U'_rl는 관리모듈에 의해 생성된 컴퓨터 시스템 할당정보 U_rl을 컴퓨터 시스템이 전송받은 경우, 컴퓨터 시스템 할당정보 U_rl과 구별하기 위해 컴퓨터 시스템 할당정보 U_rl 대신에 사용되는 정보이다.In addition, the computer system allocation information U'_rl is information used instead of the computer system allocation information U_rl to distinguish it from the computer system allocation information U_rl when the computer system receives the computer system allocation 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 computer system receives the digital signature Su created by the management module.

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

그 이후, 컴퓨터 시스템은 컴퓨터 시스템 증명서 U"_cred 및 U'_cred가 일치 시, 응답 메시지에 대한 검증 프로세스를 지속하고, 컴퓨터 시스템 증명서 U"_cred 및 U'_cred가 불일치 시, 응답 메시지에 대한 검증 프로세스를 중단한다.(S114-3)Afterwards, the computer system continues the verification process for the response message when the computer system certificates U"_cred and U'_cred match, and the verification process for the response message when the computer system certificates U"_cred and U'_cred do not match. Stop (S114-3)

그 이후, 컴퓨터 시스템은 (수학식) PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) → True or False을 이용하여, 디지털서명 S'u를 검증한다.(S114-4)After that, the computer system verifies the digital signature S'u using (mathematical formula) 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 (mathematical formula) 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 the public key PK_idma of the management module signed U"_cred||H(U'_rl) with S'u. .

그 이후, 컴퓨터 시스템은 S114-4 단계의 출력값이 참이면, 디지털서명 S'u에 대한 검증을 종료한다.(S114-5)Afterwards, if the output value of step S114-4 is true, the computer system ends 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 known that the actual sender of the computer system certificate U"_cred is the management module.

따라서, 컴퓨터 시스템은 제1 스마트계약으로부터 전송받은 컴퓨터 시스템증명서 U'_cred를 이용할 수 있다. 또한, 컴퓨터 시스템은 컴퓨터 시스템증명서 U'_cred를 이용하여 클라우드 플랫폼에 로그인할 수 있다.Therefore, the computer system can use the computer system certificate U'_cred received from the first smart contract. Additionally, the computer system can log into the cloud platform using the computer system certificate U'_cred.

컴퓨터 시스템은 클라우드 플랫폼에 등록한 이후, 로컬 저장소에 저장된 컴퓨터 시스템증명서 U_cred를 소유할 수 있다. 따라서, 컴퓨터 시스템은 클라우드 플랫폼에 로그인 시, 컴퓨터 시스템증명서 U_cred를 이용할 수 있다.After the computer system registers on the cloud platform, it can own the computer system certificate U_cred stored in local storage. Therefore, the computer system can use the computer system certificate U_cred when logging into the cloud platform.

다음으로, 컴퓨터 시스템이 클라우드 플랫폼에 로그인하는 단계(S200)에 대해 설명하기로 한다.Next, the step (S200) of logging in the computer system to the cloud platform will be described.

도 11은 도 2에 도시된 컴퓨터 시스템이 클라우드 플랫폼에 로그인하는 S200단계에서 S201~S205 단계에 대한 순서도이고, 도 12는 도 2에 도시된 컴퓨터 시스템이 클라우드 플랫폼에 로그인하는 S200단계에서 S206~S210 단계에 대한 순서도이다.FIG. 11 is a flowchart of steps S201 to S205 in step S200 when the computer system shown in FIG. 2 logs into the cloud platform, and FIG. 12 is a flowchart of steps S206 to S210 in step S200 where the computer system shown in FIG. 2 logs in to the cloud platform. This is a flowchart of the steps.

도 11 및 도12를 참조하면, 컴퓨터 시스템은 로그인을 위해 해시값 H2를 준비한다.(S201)Referring to FIGS. 11 and 12, the computer system prepares hash value H2 for login (S201).

도 13은 도 11에 도시된 컴퓨터 시스템이 해시값 H2를 준비하는 S201 단계에 대한 순서도이다.FIG. 13 is a flowchart of step S201 in which the computer system shown in FIG. 11 prepares hash value H2.

도 13을 참조하면, 컴퓨터 시스템은 (수학식) pwd=H(pass)을 이용하여, pass의 해시값인 pwd를 준비한다.(S201-1)Referring to FIG. 13, the computer system prepares pwd, which is the hash value of pass, using (mathematical formula) pwd=H(pass) (S201-1).

여기서, pass는 컴퓨터 시스템의 비밀번호이고, pwd는 컴퓨터 시스템의 비밀번호 pass의 해시값이다. Here, pass is the computer system password, and pwd is the hash value of the computer system password pass.

그 이후, 컴퓨터 시스템은 (수학식) R4=email||pwd||U_cred||t을 이용하여, R4를 준비한다.(S201-2)After that, the computer system prepares R4 using (mathematical formula) R4=email||pwd||U_cred||t (S201-2)

여기서, email은 컴퓨터 시스템의 이메일 주소이고, U_cred는 컴퓨터 시스템증명서이고, t는 현재의 타임스탬프이다. 그리고, R4는 컴퓨터 시스템의 이메일 주소 email, 컴퓨터 시스템의 비밀번호의 해시값 pwd, 컴퓨터 시스템증명서 U_cred 및 현재의 타임스탬프 t를 연접한 정보이다. Here, email is the email address of the computer system, U_cred is the computer system certificate, and t is the current timestamp. And, R4 is information that concatenates the computer system's email address email, the computer system's password hash value pwd, the computer system certificate U_cred, and the current timestamp t.

그 이후, 컴퓨터 시스템은 (수학식) H2=H(R4)을 이용하여, R4의 해시값 H2를 준비한다.(S201-3)After that, the computer system prepares the hash value H2 of R4 using (mathematical formula) H2=H(R4). (S201-3)

그 이후, 컴퓨터 시스템은 컴퓨터 시스템의 블록체인 주소 Addr_u 및 해시값 H2를 포함하는 트랜잭션정보 Tx3을 제1 스마트계약에 전송한다.(S202)Afterwards, the computer system transmits transaction information Tx3, including the computer system's blockchain address Addr_u and the 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 computer system's blockchain address Addr_u and hash value H'2 on the blockchain. And, the first smart contract broadcasts the computer system'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 computer system.

그 이후, 관리모듈은 제1 스마트계약으로부터 전송받은 컴퓨터 시스템의 블록체인 주소 Addr_u 및 해시값 H'2를 로컬 데이터베이스에 저장한다.(S204)Afterwards, the management module stores the blockchain address Addr_u and hash value H'2 of the computer system received from the first smart contract in the local database (S204).

여기서, 블록체인의 모든 노드에는 컴퓨터 시스템이 포함된다. 한편, 제1 스마트계약이 컴퓨터 시스템에게 컴퓨터 시스템의 블록체인 주소 Addr_u 및 해시값 H'2를 전송하는 이유는 컴퓨터 시스템의 블록체인 주소 Addr_u 및 해시값 H'2이 블록체인에 성공적으로 저장되었다는 사실을 컴퓨터 시스템에게 공지하기 위한 것이다.Here, every node in the blockchain includes a computer system. Meanwhile, the reason why the first smart contract transmits the computer system's blockchain address Addr_u and hash value H'2 to the computer system is that the computer system's blockchain address Addr_u and hash value H'2 have been successfully stored in the blockchain. It is intended to notify the computer system.

그 이후, 컴퓨터 시스템은 디지털 서명 S2 및 암호화 정보 R5를 계산한다.(S205)Afterwards, the computer system calculates the digital signature S2 and encryption information R5 (S205).

도 14는 도 11에 도시된 컴퓨터 시스템이 S2 및 R5를 계산하는 S205 단계에 대한 순서도이다. FIG. 14 is a flow chart for step S205 in which the computer system shown in FIG. 11 calculates S2 and R5.

도 14를 참조하면, 컴퓨터 시스템은 (수학식) S2=Sign_SK_u(H2)으로 컴퓨터 시스템의 비밀키 SK_u를 이용하여, 해시값 H2에 대한 디지털서명 S2를 생성한다.(S205-1)Referring to FIG. 14, the computer system generates a digital signature S2 for the hash value H2 using the secret key SK_u of the computer system with (mathematical formula) S2 = Sign_SK_u(H2) (S205-1).

그 이후, 컴퓨터 시스템은 (수학식) R5=E_PK_idma(R4||S2)으로 관리모듈의 공개키 PK_idma를 이용하여, R4 및 디지털서명 S2를 연접한 정보를 암호화하여, 암호화 정보 R5를 계산한다.(S205-2)Afterwards, the computer system uses the public key PK_idma of the management module as (mathematical formula) R5=E_PK_idma(R4||S2) to encrypt the information concatenated with R4 and the digital signature S2, and calculates the encryption information R5. (S205-2)

그 이후, 컴퓨터 시스템은 관리모듈에 암호화 정보 R5를 전송하여, 관리모듈을 통해 클라우드 플랫폼에 로그인을 요청한다.(S206)Afterwards, the computer system transmits encryption information R5 to the management module and requests login to the cloud platform through the management module (S206).

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

여기서, 암호화 정보 R'5는 컴퓨터 시스템에 의해 생성된 암호화 정보 R5를 관리모듈이 전송받은 경우, 상기 암호화 정보 R5와 구별하기 위해 암호화 정보 R5 대신에 사용되는 암호화 정보이다.Here, the encryption information R'5 is encryption 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 computer system.

도 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 the encryption information R'5 using the secret key SK_idma of the management module in D_SK_idma(R'5) → R'4||S'2, and generates R'4 and digital signature S. 'Acquire 2. (S207-1)

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

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

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

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

여기서, 컴퓨터 시스템정보는 컴퓨터 시스템의 이메일 주소 email, 컴퓨터 시스템의 비밀번호 pass 및 컴퓨터 시스템증명서 U_cred를 포함하는 정보이다.Here, the computer system information is information including the computer system's email address email, the computer system's password pass, and the computer system certificate U_cred.

그 이후, 관리모듈은 컴퓨터 시스템로부터 전송받은 컴퓨터 시스템정보 및 로컬 데이터베이스에 저장된 컴퓨터 시스템정보를 비교하여, 일치 여부를 확인한다.(S207-3)Afterwards, the management module compares the computer system information received from the computer system and the computer system information stored in the local database to check whether they match (S207-3).

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

그 이후, 관리모듈은 로컬 데이터베이스에서 컴퓨터 시스템 할당정보 U_rl을 확인한다.(S207-5)Afterwards, the management module checks the computer system allocation information U_rl in the local database (S207-5).

컴퓨터 시스템이 접근 권한을 갖고 있는 경우, 관리모듈은 (수학식) H"2=H(R'4)을 이용하여 R'4의 해시값 H"2를 계산한다.(S207-6)If the computer system has access rights, the management module calculates the hash value H"2 of R'4 using (mathematical formula) 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 to determine whether the hash values 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)Afterwards, to verify the signature, the management module uses (mathematical formula) PKVer_Addr_u(S'2,H"2) → True or False and inputs the digital signature S'2 and hash value H"2 into the PKVer_Addr_u function. (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 computer system'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 transaction information Tx3 for the first smart contract match. Additionally, step S207-9 is used to prevent an attacker from impersonating a computer system.

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

그 이후, 관리모듈은 컴퓨터 시스템이 클라우드 플랫폼에 성공적으로 로그인했다는 것을 공지하기 위해 알림메시지 Msg, 해시값 Hm 및 디지털서명 Se를 컴퓨터 시스템에게 전송한다.(S209)Afterwards, the management module transmits a notification message Msg, a hash value Hm, and a digital signature Se to the computer system to notify that the computer system 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 computer system.

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

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

그 이후, 컴퓨터 시스템은 디지털서명 S'e를 검증한다.(S210)Afterwards, the computer system 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 it from the digital signature Se when the computer system receives the digital signature Se generated by the management module.

도 17은 도 12에 도시된 컴퓨터 시스템이 디지털서명 S'e를 검증하는 S210 단계에 대한 순서도이다.FIG. 17 is a flowchart of step S210 in which the computer system shown in FIG. 12 verifies the digital signature S'e.

도 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 computer system inputs the digital signature S'e and hash value H'm into the PKVer_PK_idma function using (mathematical formula) PKVer_PK_idma(S'e,H'm) → True or False. ( S210-1)

여기서, 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 signed the hash value H'm with the digital signature S'e.

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

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

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

또한, 본 발명에 의한 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법은 무결성을 추적하고, 데이터 조작을 방지할 수 있는 효과가 있다.In addition, the method of registering and logging in to a computer system for a cloud-based artificial intelligence system according to the present invention is effective in tracking integrity and preventing data manipulation.

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

100: 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법100: Method of registering and logging in to a computer system for a cloud-based artificial intelligence system

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, where the computer system registers with the cloud platform; and
In step 200, the computer system logs into the cloud platform;
The 100th step is
Step 101, the computer system prepares a hash value H1;
Step 102, where the computer system transmits registration request information Tx1 including the blockchain address Addr_u of the computer system and the hash value H1 to the first smart contract;
Step 103, where the first smart contract records the blockchain address Addr_u and the hash value H'1 of the computer system in the blockchain;
Step 104, where the first smart contract transmits the blockchain address Addr_u and the hash value H'1 of the computer system to the management module and all nodes of the blockchain;
Step 105, where the management module stores the blockchain address Addr_u and the hash value H'1 of the computer system received from the first smart contract in a local database;
Step 106, where the computer system calculates digital signature S1 and encryption information R2;
Step 107, wherein the management module performs a verification process for encryption information R'2;
Step 108, upon completion of the verification process for the encryption information R'2, the management module sets computer system allocation information U_rl and stores R'1 and the computer system allocation information U_rl in the local database;
Step 109, wherein the management module prepares a computer system certificate U_cred from the R'1 and computer system allocation information U_rl;
Step 110, wherein the management module transmits transaction information Tx2 including the blockchain address Addr_u of the computer system and the computer system certificate U_cred to the first smart contract;
The first smart contract stores the blockchain address Addr_u and the computer system certificate U'_cred of the computer system in the blockchain, and sends the blockchain address Addr_u and the computer system certificate to the management module and all nodes of the blockchain. Step 111, broadcasting certificate U'_cred;
Step 112, wherein the computer system stores the blockchain address Addr_u and the computer system certificate U'_cred of the computer system broadcast by the first smart contract in local storage;
Step 113, wherein the management module generates a response message including the computer system certificate U_cred, computer system allocation information U_rl, and digital signature Su; and
Including a step 114 in which the computer system verifies the response message received 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 computer system,
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 computer system,
The computer system certificate U'_cred is information used instead of the computer system certificate U_cred to distinguish it from the computer system certificate U_cred when the first smart contract receives the computer system certificate U_cred generated by the management module. Method for registering and logging in to a computer system for a cloud-based artificial intelligence system, characterized in that:
제 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 clause 1,
The 101st step is
Step 101-1 in which the computer system prepares R1 using (mathematical formula) R1=Addr_u||name||H(pass)||email||t; and
A step 101-2 in which the computer system prepares a hash value H1 of R1 using the equation H1=H(R1),
The name is the name of the computer system, the pass is the password of the computer system, the H (pass) is a hash value of the password pass of the computer system, the email is the email address of the computer system, and the t is the current password. A computer system registration and login method for a cloud-based artificial intelligence system characterized by a timestamp.
제 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 clause 1,
The 106th step is
Step 106-1 in which the computer system generates the digital signature S1 for the hash value H1 using the secret key SK_u of the computer system with (mathematical formula) S1=Sign_SK_u(H1); and
The computer system calculates the encryption information R2 by encrypting the information concatenated between the R1 and the digital signature S1 using the public key PK_idma of the management module as (mathematical formula) R2=E_PK_idma(R1||S1). A computer system registration and login method for a cloud-based artificial intelligence system, comprising step 106-2.
제 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 clause 1,
The 107th step is
The management module decrypts the encryption information R'2 with the secret key SK_idma of the management module in (mathematical formula) D_SK_idma(R'2) → R'1||S'1, and generates the R'1 and digital signature S. 'Step 107-1 to obtain 1;
Step 107-2 in which the management module calculates the hash value H"1 of R'1 using (mathematical formula) H"1=H(R'1);
The management module compares the hash value H"1 calculated in step 107-2 and the hash value H'1 broadcast by the first smart contract, and generates the hash values H"1 and H'1. Step 107-3 to check whether there is a 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, which suspends the verification process for 2; and
Step 107-5 in which the management module inputs the digital signature S'1 and the hash value H"1 into the PKVer_Addr_u function using (mathematical formula) PKVer_Addr_u(S'1,H"1) → True or False. Contains :,
The PKVer_Addr_u(S'1,H"1) is a cloud-based artificial intelligence, characterized in that it is a function that verifies whether the address Addr_u of the blockchain of the computer system signed the hash value H"1 with the digital signature S'1. Methods for registering and logging in computer systems to intelligent systems.
제 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 clause 1,
The 109th step is
Step 109-1 in which the management module calculates the R3 by concatenating the R'1 and the computer system allocation information U_rl using (mathematical formula) R3=R'1||U_rl;
Step 109-2 in which the management module calculates the computer system certificate U_cred, which is a hash value of the R3, using (mathematical formula) U_cred=H(R3); and
Step 109-3, wherein the management module stores the computer system certificate U_cred in the local database. A computer system 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 clause 1,
The 113th step 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 with (mathematical formula) Su=Sign_SK_idma(U_cred||H(U_rl)). 113-Step 1; and
A cloud-based artificial intelligence system comprising a step 113-2, wherein the management module transmits the response message including the computer system certificate U_cred, computer system allocation information U_rl, and digital signature Su to the computer system, respectively. Methods for registering and logging in computer systems to intelligent systems.
제 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 clause 1,
The 114th step is
Step 114-1, in which the computer system receives a computer system certificate U"_cred, computer system allocation information U'_rl, and digital signature S'u from the management module;
Step 114-2 in which the computer system compares the computer system certificate U"_cred received from the management module with the computer system certificate U'_cred received from the first smart contract;
If the computer system certificate U"_cred and U'_cred match, the computer system continues the verification process for the response message, and if the computer system certificate U"_cred and U'_cred do not match, the computer system continues the verification process for the response message. Step 114-3, stopping the verification process;
Step 114-4 in which the computer system verifies the digital signature S'u using (mathematical formula) PKVer_PK_idma(S'u,U"_cred||H(U'_rl)) → True or False; and
A step 114-5 in which the computer system terminates the verification process for the digital signature S'u if the output value of step 114-4 is true,
The digital signature S'u is (mathematical formula) Sign_SK_idma(U_cred||H(U_rl))', a digital signature generated for (U_cred||H(U_rl))' using the secret key SK_idma of the management module. It 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. It is a function that does,
The computer system certificate U"_cred is information used instead of the computer system certificate U_cred to distinguish it from the computer system certificate U_cred when the computer system receives the computer system certificate U_cred generated by the management module,
The computer system allocation information U'_rl is used instead of the computer system allocation information U_rl to distinguish it from the computer system allocation information U_rl when the computer system receives the computer system allocation information U_rl generated by the management module. This is information,
The digital signature S'u is information used instead of the digital signature Su to distinguish it from the digital signature Su when the computer system receives the digital signature Su generated by the management module. How to register and log in to a computer system for an artificial intelligence-based system.
제 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 clause 1,
The 200th step is
Step 201, the computer system prepares a hash value H2 for login;
Step 202, wherein the computer system transmits transaction information Tx3 including the blockchain address Addr_u of the computer system and the hash value H2 to the first smart contract;
The first smart contract records the address Addr_u and the hash value H'2 of the blockchain of the computer system in the blockchain, and sends the address Addr_u and the hash of the blockchain of the computer system to the management module and all nodes of the blockchain. Step 203: broadcasting the value H'2;
Step 204, where the management module stores the address Addr_u and the hash value H'2 of the blockchain of the computer system received from the first smart contract in the local database;
Step 205, the computer system calculates a digital signature S2 and encryption information R5;
Step 206, where the computer system transmits the encryption information R5 to the management module and requests login to the cloud platform through the management module;
Step 207, wherein the management module performs a verification process for 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, wherein the management module transmits the notification message Msg, the hash value Hm, and the digital signature Se to the computer system to notify that the computer system has logged in to the cloud platform; and
Including a step 210 in which the computer system verifies 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 computer system,
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 computer system,
The digital signature S'e is information used instead of the digital signature Se to distinguish it from the digital signature Se when the computer system receives the digital signature Se generated by the management module. How to register and log in to a computer system for an artificial intelligence-based system.
제 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 clause 8,
The 201st step is
Step 201-1 in which the computer system prepares the pwd, which is a hash value of the password pass of the computer system, using (mathematical formula) pwd=H(pass); and
Step 201-2 in which the computer system prepares R4 using (mathematical formula) R4=email||pwd||U_cred||t; and
Including a step 201-3 in which the computer system prepares a hash value H2 of the R4 using the equation H2=H(R4),
The pass is the password of the computer system, the email is the email address of the computer system, the U_cred is the computer system certificate, the t is the current timestamp, and the R4 is the email address of the computer system, email, the email address of the computer system. A computer system registration and login method for a cloud-based artificial intelligence system, characterized in that the information is a concatenation of password pwd, computer system certificate U_cred, and 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 clause 8,
The 205th step is
Step 205-1 in which the computer system generates the digital signature S2 for the hash value H2 using the secret key SK_u of the computer system with (mathematical formula) S2=Sign_SK_u(H2); and
205- where the computer system calculates the R5 by encrypting information concatenating the R4 and the digital signature S2 using the public key PK_idma of the management module as (mathematical formula) R5=E_PK_idma(R4||S2) A computer system registration and login method for a cloud-based artificial intelligence system comprising: step 2;
제 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 clause 8,
The 207th step is
The management module decrypts the encryption information R'5 with the secret key SK_idma of the management module in (mathematical formula) D_SK_idma(R'5) → R'4||S'2, and generates R'4 and digital signature S'2. Step 207-1 to obtain;
Step 207-2 in which the management module checks whether computer system information is registered in the local database;
Step 207-3, wherein the management module compares computer system information received from the computer system and computer system information stored in the local database to check whether they match;
If both steps 207-2 and 207-3 are true, step 207-4 in which the management module continues the verification process for the encryption information R'5;
Step 207-5 in which the management module checks the computer system allocation information U_rl in the local database;
If the computer system has access rights, the management module calculates the hash value H"2 of R'4 using (mathematical formula) H"2=H(R'4). step;
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 values H"2 and H'2 match. Step 207-7 to check whether;
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 suspending the verification process for '5; and
Step 207-9, where the management module inputs the digital signature S'2 and the hash value H"2 into the PKVer_Addr_u function using (mathematical formula) PKVer_Addr_u(S'2,H"2) → True or False; Including,
The computer system information includes the computer system's email address email, the computer system's password pass, and the computer system certificate U_cred,
The PKVer_Addr_u(S'2,H"2) is a cloud-based artificial intelligence, characterized in that it is a function that verifies whether the address Addr_u of the blockchain of the computer system signed the hash value H"2 with the digital signature S'2. Methods for registering and logging in computer systems to intelligent systems.
제 8항에 있어서,
상기 209단계는
상기 관리모듈이 (수학식) Hm=H(Msg)를 이용하여, 상기 알림메시지 Msg의 해시값 Hm을 준비하는 제 209-1단계; 및
상기 관리모듈이 (수학식) Se=Sign_SK_idma(Hm)으로 상기 관리모듈의 비밀키 SK_idma를 이용하여, 상기 해시값 Hm에 대한 상기 디지털서명 Se을 생성하는 제 209-2단계;를 포함하는 것을 특징으로 하는 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법.
According to clause 8,
Step 209 above is
Step 209-1 in which the management module prepares a hash value Hm of the notification message Msg using (mathematical formula) Hm=H(Msg); and
A 209-2 step in which the management module generates the digital signature Se for the hash value Hm using the secret key SK_idma of the management module with (mathematical formula) Se = Sign_SK_idma(Hm). Method for registering and logging in to a computer system 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 clause 8,
The 210th step is
Step 210-1, where the computer system inputs the digital signature S'e and the hash value H'm into the PKVer_PK_idma function using (mathematical formula) PKVer_PK_idma(S'e, H'm) → True or False; Including,
The PKVer_PK_idma(S'e,H'm) is a function that verifies whether the public key PK_idma of the management module signed the hash value H'm with the digital signature S'e,
The hash value H'm is information used instead of the hash value Hm to distinguish it from the hash value Hm when the computer system receives the hash value Hm generated by the management module. How to register and log in to a computer system for an artificial intelligence-based system.
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 KR20230105554A (en) 2023-07-11
KR102633218B1 true 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)

Family Cites Families (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
KR102183582B1 (en) * 2018-11-29 2020-11-26 동서대학교 산학협력단 Block Chain Solution Providing System to Ensure Data Integrity of Private Data-set, and Process Method thereof
KR102472471B1 (en) * 2020-01-10 2022-11-29 동서대학교 산학협력단 Blockchain-based access control method for the internet of thing device
KR102416561B1 (en) * 2020-01-10 2022-07-01 동서대학교 산학협력단 Blockchain-based authenticaton and revocation method for the internet of things gateway

Also Published As

Publication number Publication date
KR20230105554A (en) 2023-07-11

Similar Documents

Publication Publication Date Title
JP7121459B2 (en) Blockchain authentication via hard/soft token verification
Fakroon et al. Secure remote anonymous user authentication scheme for smart home environment
US20200244658A1 (en) Method and System for Associating a Unique Device Identifier with a Potential Security Threat
Yavari et al. An improved blockchain-based authentication protocol for IoT network management
US9838205B2 (en) Network authentication method for secure electronic transactions
CN100592678C (en) Key management for network elements
US11336641B2 (en) Security enhanced technique of authentication protocol based on trusted execution environment
US10856146B2 (en) Electronic device verification
Jan et al. A verifiably secure ECC based authentication scheme for securing IoD using FANET
US20210167963A1 (en) Decentralised Authentication
Dua et al. Replay attack prevention in Kerberos authentication protocol using triple password
EP4231680A1 (en) Identity authentication system, method and apparatus, device, and computer readable storage medium
Wazid et al. BUAKA-CS: Blockchain-enabled user authentication and key agreement scheme for crowdsourcing system
CN112436940A (en) Internet of things equipment trusted boot management method based on zero-knowledge proof
Sadasivam et al. A novel authentication service for hadoop in cloud environment
Chen et al. Enhanced authentication protocol for the Internet of Things environment
Sani et al. SPrivAD: A secure and privacy-preserving mutually dependent authentication and data access scheme for smart communities
Jiang Advanced secure user authentication framework for cloud computing
Vangala et al. Blockchain-Based Robust Data Security Scheme in IoT-Enabled Smart Home.
CN113872986B (en) Power distribution terminal authentication method and device and computer equipment
KR102633218B1 (en) User's register and login method for cloud-based artificial intelligence system
CN115473655A (en) Terminal authentication method, device and storage medium for access network
Roy et al. Blockchain-Based Efficient Access Control with Handover Policy in IoV-Enabled Intelligent Transportation System
Paliwal et al. Dynamic private Modulus based password conditional privacy preserving authentication and key-agreement protocol for VANET
CN114679284A (en) Trusted remote attestation system, storage method, verification method and storage medium thereof

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