KR20200015266A - 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법 - Google Patents

블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20200015266A
KR20200015266A KR1020180090879A KR20180090879A KR20200015266A KR 20200015266 A KR20200015266 A KR 20200015266A KR 1020180090879 A KR1020180090879 A KR 1020180090879A KR 20180090879 A KR20180090879 A KR 20180090879A KR 20200015266 A KR20200015266 A KR 20200015266A
Authority
KR
South Korea
Prior art keywords
test
context
node
blockchain network
question
Prior art date
Application number
KR1020180090879A
Other languages
English (en)
Other versions
KR102088218B1 (ko
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 KR1020180090879A priority Critical patent/KR102088218B1/ko
Publication of KR20200015266A publication Critical patent/KR20200015266A/ko
Application granted granted Critical
Publication of KR102088218B1 publication Critical patent/KR102088218B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • 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/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Educational Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법에 관한 것이다. 상기 온라인 시험 관리 방법은, 상기 시스템 관리자 노드는 문제 출제자 노드에게 과목 식별정보 컨텍스트 및 출제자 컨텍스트를 부여하고, 시험 응시자 노드에게 과목 식별정보 컨텍스트 및 응시자 컨텍스트를 부여하는 단계; 상기 문제 출제자 노드는 시험 문제를 문제 출제자의 개인키로 서명하고, 서명된 시험 문제를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화시켜 블록체인 네트워크에 기록하는 단계; 상기 시험 응시자 노드는 블록체인 네트워크에 기록된 시험 문제를 판독하고, 상기 시험 문제를 상기 응시자 컨텍스와 과목 식별정보 컨텍스트를 이용하여 복호화시켜 열람하고, 상기 시험 문제에 대한 답안을 작성하고, 상기 답안은 시험 응시자 노드의 개인키로 서명하고, 상기 서명된 답안을 상기 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 암호화시켜 블록체인 네트워크에 기록하는 단계;를 구비한다.

Description

블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법{Online examination management system and method thereof }
본 발명은 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에 관한 것으로서, 더욱 구체적으로는 시스템 관리자, 문제 출제자 및 시험 응시자의 노드들로 블록체인 네트워크를 구성하고, 각 노드마다 서로 다른 권한을 부여하고, 권한있는 노드만이 문제를 출제하여 블록체인 네트워크에 기록하거나 시험에 응시하여 답안을 블록체인 네트워크에 기록하고 블록체인 네트워크에 기록된 채점 결과를 조회할 수 있도록 하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 그 방법에 관한 것이다.
한국공개특허공보 제1999-0035370호에는 인터넷상에서 온라인으로 자격인증관련 시험 서비스를 제공하는 방법이 개시되어 있다. 상기 선행발명은 인터넷을 통하여 상기 수험자가 자신의 컴퓨터를 이용하여 본 발명의 서버에 접속하였을 때, 상기 수험자 컴퓨터로 인증 시험의 절차를 안내하고, 상기 절차 안내에 따라 상기 수험자가 제공한 수험자 정보를 데이터베이스에 등록하고, 상기 온라인 시험에 필요한 수험번호 및 시험기간을 제공한다. 이후, 상기 시험기간에 맞추어 상기 수험자가 시험응시를 요청할 때, 상기 데이터베이스로부터 문제지를 추출하여 상기 수험자의 컴퓨터로 제공하며, 상기 수험자 컴퓨터에서 작성된 상기 문제지에 대한 답안이 제공될 때, 상기 답안을 채점하여 채점 결과를 상기 데이터베이스에 등록함과 동시에 상기 수험자의 컴퓨터로 제공하는 단계를 포함하는 것을 특징으로 한다. 상기 선행발명에 따르면 시험장에서 시험지를 이용하여 시험을 치르지 않고도 자신의 컴퓨터를 통하여 자격인증시험에 응시하고 그 결과를 통보받을 수 있게 되는 이점이 있다.
그러나 상기 온라인 자격인증 시험 서비스는 편의성에만 집중하였을 뿐 시험의 신뢰성 확보에 대해서는 어떠한 해결수단을 제시하지 않았다. 즉 제3자가 온라인 테스트에 응시할 수 있다는 단점이 있고, 문제 출제자가 별도로 서버에 시험 문제를 업로드하는 과정은 오프라인으로 진행되는 문제점이 있다.
한편, 기존의 온라인 시험 응시 및 관리 시스템은 중앙 서버형 저장 및 관리방식으로 서버의 단일 장애점(Single Point of Failure)이나 물리적 문제가 발생할 시 해당 시스템을 유지할 수 없게 된다. 또한 특정 시험 관계자나 공격자가 시험 내용이나 결과를 위ㆍ변조하고 그 내역을 삭제하는 등의 부정행위를 저지를 수 있다. 이러한 행위를 막기 위해서 복수의 서버를 운영한다 하더라도 비용의 낭비가 발생한다.
한국공개특허공보 제 10-2018-0047358호 한국등록특허공보 제 10-1761562호
전술한 문제점을 해결하기 위한 본 발명의 목적은 블록체인 네트워크를 기반으로 하여, 보안성, 신뢰성, 개인정보 보호가 가능하고 데이터 위변조를 원천적으로 방지할 수 있는 온라인 시험 관리 시스템 및 방법을 제공하는 것이다.
전술한 기술적 과제를 달성하기 위한 본 발명의 제1 특징에 따른 온라인 시험 관리 시스템은, 시스템 관리자 노드, 문제 출제자 노드 및 시험 응시자 노드들로 구성되는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에 관한 것으로서, 상기 시스템 관리자 노드는, 사용자 인터페이스 모듈을 통해 사용자 식별 정보를 입력받고 공개키와 개인키를 부여하고 상기 사용자를 블록체인 네트워크에 문제 출제자 노드 또는 시험 응시자 노드로 참여시키도록 구성된 노드 관리 모듈; 블록체인 네트워크에 참여한 문제 출제자 노드에게 과목 식별정보 컨텍스트 및 출제자 컨텍스트를 부여하고, 블록체인 네트워크에 참여한 시험 응시자 노드에게 과목 식별정보 컨텍스트 및 응시자 컨텍스트를 부여하는 접근 권한 부여 모듈; 시험 시작 시간이 되면, 블록체인 네트워크에 기록된 과목 번호에 해당하는 최신 버전의 시험 문제를 열람하고, 상기 열람한 시험 문제에 대한 접근 권한 이진트리를 수정하여 블록체인 네트워크에 기록하는 시험 시작 모듈; 및 블록체인 네트워크에 기록된 정답을 포함하는 함수 형태의 스마트 컨트랙트를 호출하고 시험 응시자에 의해 기록된 답안을 스마트 컨트랙트의 함수의 입력으로 제공하고, 입력에 따른 스마트 컨트랙트의 함수의 결과를 채점 결과로서 블록체인 네트워크에 기록하는 채점 모듈;을 구비한다.
전술한 제1 특징에 따른 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에 있어서, 상기 시험 시작 모듈은, 상기 열람한 시험 문제에 대한 접근 권한 이진트리를 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 수정하여 블록체인 네트워크에 기록하여, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 갖는 시험 응시자들이 상기 시험 문제를 열람하여 복호화할 수 있도록 하고 시험에 응시할 수 있도록 하는 것이 바람직하다.
전술한 제1 특징에 따른 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에 있어서, 상기 문제 출제자 노드는, 상기 시스템 관리 노드로부터 출제자 컨텍스트와 과목 식별정보 컨텍스트를 부여받는 출제자 권한 부여 모듈; 문제 출제자가 생성한 시험 문제를 개인키로 서명하고, 서명된 시험 문제를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 시험 문제 등록 모듈; 시험 문제에 대한 정답을 포함하는 함수 형태의 스마트 컨트랙트를 생성하고, 상기 스마트 컨트랙트를 문제 출제자의 개인키로 서명하고, 서명된 스마트 컨트랙트를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 채점용 함수 등록 모듈; 을 구비한다.
전술한 제1 특징에 따른 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에 있어서, 상기 시험 응시자 노드는, 상기 시스템 관리자 노드로부터 응시자 컨텍스트와 과목 식별정보 컨텍스트를 부여받는 응시자 권한 부여 모듈; 블록체인 네트워크에 기록된 시험 문제를 열람하고, 상기 시험 문제를 상기 응시자 컨텍스와 과목 식별정보 컨텍스트를 이용하여 복호화시키고, 상기 시험 문제에 대한 답안을 작성하고, 상기 답안은 시험 응시자 노드의 개인키로 서명하고, 상기 서명된 답안을 상기 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 암호화시켜 블록체인 네트워크에 기록하는 시험 응시 모듈; 및 응시자 컨텍스트와 응시자 식별정보 컨텍스트를 이용하여 상기 블록체인 네트워크에 기록된 채점 결과를 복호화하여 채점 결과를 출력하는 결과 조회 모듈;을 구비한다.
전술한 제1 특징에 따른 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에 있어서, 상기 온라인 시험 관리 시스템을 구성하는 노드들 중 하나는 권위 노드로서 설정되며, 상기 온라인 시험 관리 시스템을 구성하는 노드들이 블록체인 네트워크에 트랜잭션을 전파하면, 상기 권위 노드는 트랜잭션들을 종합하여 블록으로 생성하여 블록체인 네트워크에 전파하고, 상기 권위 노드가 전파한 블록을 수신한 노드들은 상기 수신한 블록 내 트랜잭션에 변경 사항이 없음을 확인하고 자신의 블록체인에 기록하는 것이 바람직하다.
본 발명의 제2 특징에 따른 온라인 시험 관리 방법은, 시스템 관리자 노드, 문제 출제자 노드 및 시험 응시자 노드들로 구성되는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에서의 온라인 시험 관리 방법에 관한 것으로서, (a) 상기 시스템 관리자 노드는 문제 출제자 노드 및 시험 응시자 노드들에게 개인키와 공개키를 부여하고, 블록체인 네트워크의 노드로 참여시키는 단계; (b) 상기 시스템 관리자 노드는 블록체인 네트워크에 참여한 문제 출제자 노드에게 과목 식별정보 컨텍스트 및 출제자 컨텍스트를 부여하고, 블록체인 네트워크에 참여한 시험 응시자 노드에게 과목 식별정보 컨텍스트 및 응시자 컨텍스트를 부여하는 단계; (c) 상기 문제 출제자 노드는 시험 문제를 문제 출제자의 개인키로 서명하고, 서명된 시험 문제를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 단계; (d) 상기 시험 응시자 노드는 블록체인 네트워크에 기록된 시험 문제를 판독하고, 상기 시험 문제를 상기 응시자 컨텍스와 과목 식별정보 컨텍스트를 이용하여 복호화시켜 열람하고, 상기 시험 문제에 대한 답안을 작성하고, 상기 답안은 시험 응시자 노드의 개인키로 서명하고, 상기 서명된 답안을 상기 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 암호화시켜 블록체인 네트워크에 기록하는 단계;를 구비한다.
전술한 제2 특징에 따른 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법은, (e) 상기 시스템 관리자 노드가, 시험 시작 시간이 되면, 블록체인 네트워크에 기록된 과목 번호에 해당하는 최신 버전의 시험 문제를 열람하고, 상기 열람한 시험 문제에 대한 접근 권한 이진트리를 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 수정하여 블록체인 네트워크에 기록하는 단계;를 더 구비하여, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 갖는 시험 응시자들이 상기 시험 문제를 열람하여 복호화할 수 있도록 하고 시험에 응시할 수 있도록 하는 것이 바람직하다.
전술한 제2 특징에 따른 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법은, (f) 상기 문제 출제자 노드가, 시험 문제에 대한 정답을 포함하는 함수 형태의 스마트 컨트랙트를 생성하고, 상기 스마트 컨트랙트를 문제 출제자의 개인키로 서명하고, 서명된 스마트 컨트랙트를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 단계; 및 (g) 상기 시스템 관리자 노드가, 블록체인 네트워크에 기록된 정답을 포함하는 함수 형태의 스마트 컨트랙트를 호출하고, 시험 응시자에 의해 기록된 답안을 스마트 컨트랙트의 함수의 입력으로 제공하고, 입력에 따른 스마트 컨트랙트의 함수의 결과를 채점 결과로서 블록체인 네트워크에 기록하는 단계; 및 (h) 상기 시험 응시자 노드가, 상기 블록체인 네트워크에 기록된 채점 결과를 판독하고, 응시자 컨텍스트와 응시자 식별정보 컨텍스트를 이용하여 상기 채점 결과를 복호화하여 열람하는 단계; 를 더 구비하는 것이 바람직하다.
전술한 제2 특징에 따른 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법은, (i) 상기 블록체인 네트워크를 구성하는 노드들 중 하나를 권위 노드로 설정하고, 상기 온라인 시험 관리 시스템을 구성하는 노드들이 블록체인 네트워크에 트랜잭션을 전파하면, 상기 권위 노드가 트랜잭션들을 종합하여 블록으로 생성하여 블록체인 네트워크에 전파하고, 상기 권위 노드가 전파한 블록을 수신한 노드들이 상기 수신한 블록 내 트랜잭션에 변경사항이 없음을 확인하고 자신의 블록체인에 기록하는 단계;를 더 구비하는 것이 바람직하다.
본 발명에 따른 온라인 시험 관리 시스템은 시스템 관리자, 시험문제를 출제하는 출제자, 시험을 치루는 응시자의 노드들로 블록체인 네트워크를 구성하고 각 노드마다 접근 권한을 달리 부여함으로써, 각 노드들은 블록체인 네트워크에서 보안성 및 신뢰성, 개인정보 보호를 보장받게 된다.
또한, 본 발명에 따른 온라인 시험 관리 시스템의 시스템 관리자 노드는 사용자 컨텍스트에 따라 Access tree를 생성하여 정보를 암호화하고 해당 Access tree에 대해 접근권한이 있는 노드만 복호화가 가능하도록 한 CP-ABE 알고리즘을 이용하여, 다른 노드들의 트랜잭션 생성 및 조회 권한을 제한하거나 관리한다. CP-ABE 알고리즘에 의해 암호화된 자료들은 해당 컨텍스트가 없으면 복호화가 불가능하므로 해당 자료에 대한 열람 및 수정이 불가능하다.
또한, 본 발명에 따른 온라인 시험 관리 시스템에서는, 모든 데이터가 블록체인에 기록됨에 따라, 모든 데이터는 블록체인의 인증, 부인 방지, 데이터 무결성 성질에 의해 악의적인 공격자의 데이터 위ㆍ변조가 원천적으로 방지됨을 보장받는다.
또한, 본 발명은 블록체인 기술을 활용하여 온라인 시험 응시 및 관리 시스템에서 CP-ABE 암호화 알고리즘을 사용한 각 노드의 컨텍스트(속성)에 따른 블록체인 내 데이터의 접근권한을 부여함으로써 보안성과 사용자별 권한설정에 편리성을 부여할 수 있고 블록체인에 저장되는 모든 데이터는 기록, 수정시 모든 노드가 알 수 있고 내역이 남기 때문에 신뢰성 및 데이터 무결성을 보장할 수 있게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 온라인 시험 관리 시스템(1)을 전체적으로 도시한 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 온라인 시험 관리 시스템에 있어서, 각 사용자가 GUI에 ID와 Password를 입력하여 블록체인 네트워크에 연결되고 시스템 관리자 노드가 문제 출제자에게 컨텍스트를 부여하여 출제자가 시험문제를 CP-ABE 암호화 하여 블록체인 네트워크에 기록하며, 시험 응시자 노드는 응시자 컨텍스트를 통해 시험에 응시하고 블록체인 네트워크에 기록한 뒤 그 결과를 조회하는 모습을 개념적으로 도시한 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드의 구성을 도시한 블록도이다.
도 4는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 문제 출제자 노드의 구성을 도시한 블록도이다.
도 5는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 응시자 노드의 구성을 도시한 블록도이다.
도 6은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 문제 출제자 노드에 의해 블록체인 네트워크에 시험 문제를 등록하는 과정을 도시한 흐름도이다.
도 7은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 문제 출제자 노드에 의해 블록체인 네트워크에 기록하는 시험 문제의 암호화에 사용되는 접근 권한 이진트리이다.
도 8은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 응시자 노드에 의해 블록체인 네트워크에 등록된 시험 문제를 열람하고 응시하는 과정을 도시한 흐름도이다.
도 9는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 시작시에 시스템 관리자 노드에 의해 갱신된 시험 문제에 대한 접근 권한 이진트리이다.
도 10은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 응시자 노드가 블록체인 네트워크에 기록하는 답안의 암호화에 사용되는 접근 권한 이진트리이다.
도 11은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드에 의해 채점된 채점 결과를 시험 응시자 노드가 조회하는 과정을 도시한 흐름도이다.
도 12는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드가 권위 노드로서 인정받고 트랜잭션을 종합하여 블록으로 생성하는 과정(Proof of Authority) 과정을 도시한 흐름도이다.
본 발명은 먼저 시스템 관리자가 제네시스 블록을 통해 블록체인 네트워크를 생성하고 다른 사용자는 GUI를 통해 ID, Password등의 개인정보를 입력하고 블록체인 네트워크에 참여한다. 이후, 시스템 관리자 노드는 문제 출제자에게 “출제자” 컨텍스트를 부여하여 문제를 작성하여 블록체인 네트워크에 기록할 수 있는 권한을 준다. 문제 출제자 노드는 시험 문제를 작성한 뒤 사용자의 컨텍스트를 기반으로 한 이진 트리구조의 권한 제어 방법인 CP-ABE 암호화 알고리즘을 사용하여 자신이 담당하는 과목 식별 정보 컨텍스트와 출제자 컨텍스트를 가진 사용자만이 해당 기록을 열람ㆍ수정할 수 있는 권한을 갖게 한다. 이때 해당 컨텍스트를 가지지 않은 노드는 해당 기록을 받을 수는 있지만 복호화가 불가능하여 내용을 확인할 수 없게 된다. 시험을 치루는 시험 응시자 노드들은 시스템 관리자 노드로부터 자신이 시험을 치룰 과목식별 정보 컨텍스트와 응시자 컨텍스트를 부여받는다. 시험시간이 되면, 시스템 관리자 노드는 해당 시험문제의 열람권한에 응시자 컨텍스트를 추가한다. 시험 응시자 노드들은 GUI를 통해 시험을 치루고 과목 식별정보 컨텍스트 및 응시자 컨텍스트로 이루어진 접근 권한 이진트리로 상기 답안을 CP-ABE 암호화를 한 후 블록체인 네트워크에 기록한다.
문제 출제자 노드는 답안을 함수화하여 문제에 대한 답을 입력으로 받는 스마트 컨트랙트를 작성한다. 스마트 컨트랙트는 블록체인 내에 함수형태로 기록하여 입력값에 대한 출력값을 받을 수 있게 된다. 상기 시스템 관리자노드는 시험 응시자 노드가 기록한 답안을 입력값으로 하여 스마트 컨트랙트의 함수를 호출함으로써 채점이 이루어지고 채점 결과를 응시자 식별정보 컨텍스트와 응시자 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화하여 블록체인 네트워크에 기록하고, 시험 응시자 노드가 시험결과를 조회할 수 있도록 한다.
한편, 본 발명에 따른 시스템에 있어서, 사용자가 생성하는 모든 트랜잭션은 블록체인 네트워크에 전파되고 모든 노드가 이 정보를 공유한다. 이때 트랜잭션을 블록으로 생성하기 위하여 권위 증명(Proof of Authority)방식을 사용한다. 권위 증명 방식은 다수의 사용자에게 인증을 받은 특정 노드가 블록 생성 권한을 가지는 것으로서, 본 발명에 따른 시스템에서는 시스템 관리자 노드가 블록 생성 권한을 가지도록 한다. 본 발명에서 사용하는 블록체인 네트워크는 시험에 관련된 관계자만 참여하는 비공개 블록체인 네트워크로써 PoA방식을 사용함으로써 불필요한 컴퓨팅 파워의 낭비를 줄이고 블록 생성시간을 좀 더 단축할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 온라인 시험 관리 시스템에 대하여 구체적으로 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 온라인 시험 관리 시스템(1)을 전체적으로 도시한 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 온라인 시험 관리 시스템에 있어서, 각 사용자가 GUI에 ID와 Password를 입력하여 블록체인 네트워크에 연결되고 시스템 관리자 노드가 문제 출제자에게 컨텍스트를 부여하여 출제자가 시험문제를 CP-ABE 암호화 하여 블록체인 네트워크에 기록하며, 시험 응시자 노드는 응시자 컨텍스트를 통해 시험에 응시하고 블록체인 네트워크에 기록한 뒤 그 결과를 조회하는 모습을 개념적으로 도시한 도면이다.
도 1 및 도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 온라인 시험 관리 시스템(1)은 시스템 관리자 노드(10), 다수 개의 문제 출제자 노드(20) 및 다수 개의 시험 응시자 노드들(30)이 블록체인 네트워크의 노드들을 구성하여 이루어진다.
먼저, 본 발명에 따른 온라인 시험 관리 시스템은 CP-ABE(Ciphertext Policy-Attribute Based Encryption) 알고리즘을 이용하여 데이터를 암호화시키게 된다. CP-ABE 알고리즘은 신뢰된 서버없이 접근 권한 메카니즘을 구현시킨 방법으로서, 접근 권한을 부여받은 사용자가 데이터에 접근할 수 있도록 하기 위하여 각 데이터들은 각 사용자에게 사전에 부여된 접근 권한에 따라 속성 기반 암호화 및 복호화를 수행하게 된다.
각 사용자는 시스템 관리자 노드에 접속하여 자신의 식별 정보(ID) 및 패스워드(PW)를 입력하여 블록체인 네트워크에 연결되며, 시스템 관리자 노드는 각 문제 출제자 노드에게 출제자 컨텍스트 및 과목 식별정보 컨텍스트를 부여하고, 시험 응시자 노드에게 응시자 컨텍스트 및 과목 식별정보 컨텍스트를 부여하게 된다.
본 발명에 따른 문제 출제자 노드 및 시험 응시자 노드들은 시스템 관리자 노드로부터 컨텍스트에 따른 접근 권한을 달리 부여받게 된다. 부여받은 접근 권한에 따라, 문제 출제자 노드들은 시험 문제를 작성한 후, 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화시켜 블록체인 네트워크에 기록하고, 채점을 위한 정답을 포함하는 함수 형태의 스마트 컨트랙트를 생성한 후 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록하게 된다. 본 발명에 따른 시스템에서 트랜잭션을 블록체인 네트워크에 기록하는 과정에 대한 구체적인 설명은 도 12를 참조하여 후술한다.
한편, 시험 시간이 시작되면, 시스템 관리자 노드는 최신 버전의 시험 문제를 열람하고, 상기 시험 문제에 대한 접근 권한 이진트리를 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 수정하여 블록체인 네트워크에 기록한다. 이로 인해, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 갖는 시험 응시자 노드들이 해당 시험 문제에 접근하여 복호화시켜 열람할 수 있게 된다.
시험 응시자 노드들은 응시자 컨텍스트와 과목 식별정보 컨텍스트를 이용하여 블록체인 네트워크에 기록된 시험 문제를 복호화시켜 열람하고, 답안을 작성하고, 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 상기 작성된 답안을 CP-ABE 암호화시켜 블록체인 네트워크에 기록하게 된다.
시스템 관리자 노드는 채점을 위한 정답을 포함하는 스마트 컨트랙트의 함수에 시험 응시자 노드들이 기록한 답안을 입력으로 제공하고, 스마트 컨트랙트의 함수를 호출하여 실행시키면 채점 결과를 출력하게 된다. 상기 채점 결과는 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시킨 후 블록체인 네트워크에 기록하게 되고, 각 시험 응시자 노드들은 자신의 응시자 컨텍스트와 응시자 식별정보 컨텍스트를 이용하여 블록체인 네트워크에 기록된 채점 결과를 열람할 수 있게 된다.
전술한 과정에서의 모든 트랜잭션은 생성하는 노드의 개인키와 결합하여 서명되고 접근 권한 이진트리를 이용하여 CP-ABE 암호화된 후 블록체인 네트워크에 전파되며 시스템 관리자 노드들에 의해 트랜잭션의 유효성(서명 검증)을 검증받고, 일정 주기 동안 트랜잭션을 모아 권위 노드에 의해 권위 증명(Proof of Authority)이라는 합의 과정을 통해 블록으로 구성하고 다시 네트워크에 전파하게 된다. 이후, 자신이 갖고있는 n개의 블록을 포함한 블록체인의 n+1번째 블록으로 연결된다. 따라서, 블록체인에 기록되는 모든 트랜잭션 및 데이터는 무결성을 보장받고 블록체인 내 모든 노드들은 이 기록들을 공유한다. 또한 악의적인 공격자에 의한 데이터 위/변조가 원천적으로 방지됨을 보장받게 된다.
이하, 본 발명에 따른 온라인 시험 관리 시스템을 구성하는 각 노드들에 대한 구성 및 동작에 대하여 구체적으로 설명한다.
도 3은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드의 구성을 도시한 블록도이다.
도 3을 참조하면, 시스템 관리자 노드(10)는 노드 관리 모듈(100), 접근 권한 부여 모듈(110), 시험 시작 모듈(120), 채점 모듈(130) 및 블록체인(140)을 구비하여 온라인 시험 관리 시스템의 관리자로서의 역할을 한다. 한편, 본 발명에 따른 시스템에 있어서, 시스템 관리자 노드는 모든 블록체인의 데이터에 대한 접근 권한을 가지게 된다.
또한, 본 발명에 따른 시스템 관리자 노드는 권위 노드로서 설정되며, 상기 권위 노드는 일정 주기 동안 블록체인 네트워크에 전파되는 트랜잭션들을 종합하여 권위 증명(Proof of Authority)이라는 합의 과정을 통해 블록으로 구성하고 네트워크에 전파하게 된다. 이후, 블록체인 네트워크를 구성하는 모든 노드들은 상기 권위 노드로부터 전파된 블록을 자신이 갖고 있는 n개의 블록을 포함하는 블록체인의 n+1번째의 블록으로 연결하여 저장하게 된다.
상기 노드 관리 모듈(100)은 사용자가 쉽게 접속할 수 있도록 하는 GUI와 같은 사용자 인터페이스 환경을 제공하고, GUI 를 통해 사용자가 식별 정보(ID)와 암호(Password)를 입력하면, 사용자 단말기로 공개키와 개인키를 생성하여 부여하고 해당 사용자 단말기는 블록체인 네트워크에 하나의 노드로 참여시키게 된다. 이러한 과정을 통해 블록체인 네트워크의 노드로 등록된 각 사용자들은 시험문제 출제, 시험 응시 등의 서비스를 제공받을 수 있게 된다.
상기 접근 권한 부여 모듈(110)은 문제 출제자 노드에게는 출제자 컨텍스트 및 과목 식별정보 컨텍스트를 부여하고, 시험 응시자 노드에게는 응시자 컨텍스트 및 과목 식별정보 컨텍스트를 부여한다. 이에 따라, 문제 출제자 노드는 시험 문제를 생성한 후 자신의 출제자 컨텍스트 및 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 생성하고, 시험 문제를 자신의 개인키로 서명하고 상기 생성된 접근 권한 이진트리를 이용하여 CP-ABE 암호화시키게 된다. 한편, 시험 응시자 노드는 자신의 응시자 컨텍스트 및 과목 식별정보 컨텍스트를 이용하여 시험 문제를 열람하고, 답안을 작성한 후 답안을 응시자의 개인키로 서명한 후 응시자 컨텍스트 및 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화시키게 된다.
상기 시험 시작 모듈(120)은, 시스템 관리자 노드가, 시험 시간이 되면, 블록체인 네트워크에 기록된 시험 문제를 열람하고, 응시자 노드들이 접근할 수 있도록 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 상기 열람된 시험 문제에 대하여 CP-ABE 암호화시킨 후, 블록체인 네트워크에 기록한다. 이에 따라, 각 시험 응시자 노드들은 응시자 컨텍스트와 과목 식별정보 컨텍스트를 이용하여 시험 문제를 복호화시키고 시험 문제를 열람하며, 이에 따라 답안을 작성하고 암호화시켜 블록체인 네트워크에 기록하게 된다.
상기 채점 모듈(130)은 응시자 노드들이 블록체인 네트워크에 기록한 답안을 열람하고, 문제 출제자 노드들이 블록체인 네트워크에 기록한 함수 형태의 스마트 컨트랙트를 호출하고, 상기 응시자 노드의 답안을 상기 함수 형태의 스마트 컨트랙트의 입력으로 제공하고, 상기 스마트 컨트랙트로부터 채점 결과를 제공받게 되며, 상기 채점 결과는 응시자 식별 정보와 응시자 컨텍스트로 이루어진 접근 권한 이진트리로 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다.
이하, 도 4를 참조하여 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에서의 문제 출제자 노드의 구성 및 동작에 대하여 구체적으로 설명한다. 도 4는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 문제 출제자 노드의 구성을 도시한 블록도이다.
도 4를 참조하면, 문제 출제자 노드(20)는 출제자 권한 부여 모듈(210), 시험 문제 등록 모듈(220), 채점용 함수 등록 모듈(230) 및 블록체인(240)을 구비하여, 시험 문제 및 채점을 위한 정답을 컨텍스트를 이용하여 CP-ABE 암호화시켜 블록체인 네트워크에 기록하게 된다. 상기 문제 출제자 노드는 시스템 관리자 노드의 GUI 에 접속하여 식별 정보와 암호를 입력하여 공개키와 개인키를 부여받고 블록체인 네트워크의 노드로서 참여하게 된다.
상기 출제자 권한 부여 모듈(210)은 상기 시스템 관리자 노드의 접근 권한 부여 모듈에 접속하여, 출제자 컨텍스트와 과목 식별정보 컨텍스트를 부여받게 된다.
상기 시험 문제 등록 모듈(220)은, 문제 출제자가 시험 문제를 생성하고 상기 시험 문제를 문제 출제자의 개인키로 서명하고, 서명된 시험 문제를 출제자 컨텍스트 및 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다.
상기 채점용 함수 등록 모듈(230)은, 시험 문제에 대한 정답을 포함하는 함수 형태의 스마트 컨트랙트를 생성하고, 상기 스마트 컨트랙트를 문제 출제자의 개인키로 서명하고, 서명된 스마트 컨트랙트를 출제자 컨텍스트 및 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다.
이하, 도 5를 참조하여 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에서의 시험 응시자 노드의 구성 및 동작에 대하여 구체적으로 설명한다. 도 5는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 응시자 노드의 구성을 도시한 블록도이다.
도 5를 참조하면, 시험 응시자 노드(30)는 응시자 권한 부여 모듈(310), 시험 응시 모듈(320), 결과 조회 모듈(330) 및 블록체인(340)을 구비하여, 답안을 컨텍스트를 이용하여 CP-ABE 암호화시켜 블록체인 네트워크에 기록하고 블록체인 네트워크에 기록된 채점 결과를 조회할 수 있다. 상기 시험 응시자 노드는 시스템 관리자 노드의 GUI 에 접속하여 식별 정보와 암호를 입력하여 공개키와 개인키를 부여받고 블록체인 네트워크의 노드로서 참여하게 된다.
상기 응시자 권한 부여 모듈(310)은 상기 시스템 관리자 노드의 접근 권한 부여 모듈에 접속하여, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 부여받게 된다.
상기 시험 응시 모듈(320)은, 시험 응시자 노드들은 블록체인 네트워크의 시험 문제를 응시자 컨텍스트와 과목 식별정보 컨텍스트를 이용하여 복호화시킨 후 열람하게 되며, 열람된 시험 문제에 대한 답안을 작성한 후, 답안을 시험 응시자 노드의 개인키로 서명하고, 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 생성하고, 상기 서명된 답안을 상기 생성한 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다.
상기 결과 조회 모듈(330)은, 시험 응시자 노드가 자신의 응시자 컨텍스트와 응시자 식별정보 컨텍스트를 이용하여 상기 블록체인 네트워크에 기록된 채점 결과를 복호화하여 채점 결과를 조회할 수 있게 된다.
이하, 첨부된 도면을 참조하여 전술한 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템의 각 기능들을 구체적으로 설명한다.
도 6은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 문제 출제자 노드에 의해 블록체인 네트워크에 시험 문제를 등록하는 과정을 도시한 흐름도이다. 도 7은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 문제 출제자 노드에 의해 블록체인 네트워크에 시험 문제를 등록시에 사용되는 접근 권한 이진트리이다.
도 6을 참조하면, 문제 출제자 노드는 시스템 관리자 노드의 GUI를 통해 식별 정보 및 패스워드를 설정하고, 개인키 및 공개키를 부여받고 블록체인 네트워크에 가입한다(단계 600). 이에 따라 시스템 관리자 노드는 문제 출제자를 확인하고, 과목 식별정보 컨텍스트와 출제자 컨텍스트를 부여한다(단계 610). 다음, 문제 출제자 노드는 시험 문제를 작성하고 시험 문제를 자신의 개인키로 서명하고, 과목 식별정보 컨텍스트와 출제자 컨텍스트로 이루어진 접근 권한 이진트리를 생성하고, 상기 서명된 시험 문제를 상기 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다(단계 620).
여기서, 도 7을 참조하면, 접근 권한 이진트리는 과목 식별정보 컨텍스트와 출제자 컨텍스트로 이루어지며, 시스템 관리자 컨텍스트도 포함할 수 있게 된다. 따라서, 상기 접근 권한 이진트리를 통해, 문제 출제자 컨텍스트와 과목 식별정보 컨텍스트를 구비하거나 시스템 관리자 컨텍스트를 구비하는 경우 해당 시험 문제는 복호화될 수 있게 된다.
다음, 블록체인 네트워크에 기록된 시험 문제에 수정 사항이 있는 경우(단계 630), 접근 권한에 맞는 컨텍스트들을 가진 문제 출제자 노드인지 여부를 확인하고(단계 640), 이에 부합되면 단계 620으로 되돌아가서 암호화된 시험 문제를 재작성한 후 동일한 과정을 반복하게 된다.
만약, 접근 권한에 맞는 컨텍스트들을 가진 문제 출제자 노드가 아닌 경우에는 시험 문제의 복호화가 불가능하고 그 결과 수정이 불가능하게 된다(단계 650).
전술한 과정을 통해, 본 발명에 따른 온라인 시험 관리 시스템의 시스템 관리자 노드와 문제 출제자 노드에 의해 블록체인 네트워크에 시험 문제를 등록하게 된다.
이하, 도 8 내지 도 10을 참조하여, 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 응시자 노드가 온라인 시험에 응시하는 과정을 구체적으로 설명한다.
도 8은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 응시자 노드에 의해 블록체인 네트워크에 등록된 시험 문제를 열람하고 응시하는 과정을 도시한 흐름도이다. 도 9는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 시작시에 시스템 관리자 노드에 의해 갱신된 시험 문제에 대한 접근 권한 이진트리이다. 도 10은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시험 응시자 노드가 답안 암호화에 사용하는 접근 권한 이진트리이다.
도 8을 참조하면, 시험 응시자 노드는 시스템 관리자 노드의 GUI를 통해 식별 정보 및 패스워드를 설정하고, 개인키 및 공개키를 부여받고 블록체인 네트워크에 가입한다(단계 800). 이에 따라 시스템 관리자 노드는 시험 응시자를 확인하고, 과목 식별정보 컨텍스트와 응시자 컨텍스트를 부여한다(단계 810).
다음, 시험 시작 시간이 되면, 시스템 관리자 노드는 블록체인 네트워크에 기록된 최신 버전의 시험 문제를 열람한다(단계 820). 다음, 시스템 관리자 노드는, 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 생성하고, 상기 생성된 접근 권한 이진트리를 이용하여 상기 열람된 시험 문제를 CP-ABE 암호화시켜 갱신한 후 블록체인 네트워크에 기록한다(단계 830). 이와 같이, 시스템 관리자 노드가 시험 문제에 대한 접근 권한을 갱신시킴으로써, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 갖는 시험 응시자 노드들은 해당 시험 문제를 복호화시켜 열람할 수 있게 된다.
여기서, 도 9를 참조하면, 접근 권한 이진트리는 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어지며, 시스템 관리자 컨텍스트도 포함할 수 있게 된다. 따라서, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 구비하거나 시스템 관리자 컨텍스트를 구비하는 경우, 해당 시험 문제는 복호화될 수 있게 된다.
다음, 시험 응시자 노드가 시험 문제를 열람하고(단계 840), 시험 응시자 노드가 응시자 컨텍스트와 과목 식별정보 컨텍스트로 시험 문제를 복호화시키게 된다(단계 850). 만약 시험 응시자가 접근 권한에 맞는 컨텍스트가 없는 경우 시험 문제를 복호화시킬 수 없게 되고, 그 결과 시험에 응시할 수 없게 된다(단계 870).
다음, 시험 응시자 노드가 접근 권한에 맞는 컨텍스트, 즉 응시자 컨텍스트와 과목 식별정보 컨텍스트를 갖고 있는 경우, 시험 문제를 복호화시키고 시험에 응시하여 답안을 작성하게 되며, 작성된 답안은 자신의 개인키로 서명하고, 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 생성하고, 상기 서명된 답안을 상기 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다(단계 860).
여기서, 도 10을 참조하면, 접근 권한 이진트리는 응시자 컨텍스트와 응시자 식별정보(ID)로 이루어지며, 시스템 관리자 컨텍스트도 포함할 수 있게 된다. 따라서, 상기 접근 권한 이진트리를 통해, 응시자 컨텍스트와 응시자 식별 정보를 구비하거나 시스템 관리자 컨텍스트를 구비하는 경우 해당 시험 문제에 대한 답안을 열람하거나 향후 채점 결과를 조회할 수 있게 된다.
이하, 도 11을 참조하여, 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드가 답안을 채점하고 시험 응시자 노드가 자신의 답안에 대한 채점 결과를 조회하는 과정을 구체적으로 설명한다.
도 11은 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드에 의해 채점된 채점 결과를 시험 응시자 노드가 조회하는 과정을 도시한 흐름도이다.
도 11을 참조하면, 문제 출제자 노드는 시험 문제에 대한 정답을 포함하는 함수 형태의 스마트 컨트랙트를 생성하고, 상기 스마트 컨트랙트를 문제 출제자의 개인키로 서명하고, 서명된 스마트 컨트랙트를 출제자 컨텍스트 및 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다(단계 900).
다음, 시험 종료후, 시스템 관리자 노드는 시험 응시자가 등록한 답안을 열람한다(단계 910). 다음, 시스템 관리자 노드는 상기 스마트 컨트랙트의 함수를 호출하고, 상기 열람한 시험 응시자의 답안을 입력으로 제공한다(단계 920). 상기 스마트 컨트랙트의 함수는 입력된 답안에 따른 채점 결과를 출력하게 되고, 시스템 관리자 노드는 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 생성하고, 상기 출력된 채점 결과를 서명한 후 상기 접근 권한 이진트리를 이용하여 CP-ABE 암호화시킨 후 블록체인 네트워크에 기록한다(단계 930).
다음, 시험 응시자 노드는 응시자 컨텍스트와 응시자 식별정보 컨텍스트를 이용하여 채점 결과를 열람한다(단계 940). 상기 컨텍스트들이 채점 결과에 등록된 접근 권한 이진트리에 부합되면, 채점 결과를 복호화시켜 시험 응시자는 자신의 성적을 조회할 수 있게 되며(단계 960), 그렇지 아니한 경우 암호화된 트랜잭션을 복호화할 수 없게 되어 성적을 조회할 수 없게 된다(단계 970).
이하, 도 12를 참조하여, 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드가 권위 노드로서 인정받고 트랜잭션을 종합하여 블록으로 생성하는 과정(Proof of Authority)을 설명한다.
도 12는 본 발명의 바람직한 실시예에 따른 온라인 시험 관리 시스템에 있어서, 시스템 관리자 노드가 권위 노드로서 인정받고 트랜잭션을 종합하여 블록으로 생성하는 과정(Proof of Authority) 과정을 도시한 흐름도이다.
도 12를 참조하면, 먼저 시스템 관리자 노드가 다른 시스템 관리자 노드에 의해 권위 노드로서 승인받게 되고 이를 블록체인 네트워크에 전파한다(단계 700).
이후, 블록체인 네트워크를 구성하는 다른 노드가 블록체인 네트워크에 트랜잭션을 전파하게 되면(단계 710), 권위노드로 인정받은 시스템 관리자 노드가 트랜잭션을 종합하고 블록으로 생성하여 블록체인 네트워크에 전파한다(단계 720). 블록을 수신한 다른 노드들은 전파받은 블록을 검증하고(단계730), 검증 과정에서, 전파받은 블록이 인정받은 권위노드가 생성한 블록인지 여부를 확인하고(단계 740), 해당 블록 내 트랜잭션에 변경사항이 없는지를 확인하게 된다(단계 750). 인정받지 않은 권위노드가 생성한 블록은 무시하게 되고 자신이 생성한 트랜잭션에 오류나 수정사항이 생겼다면 블록 승인 요청을 거절하고 이를 블록체인 네트워크에 전파하여 다른 노드들에게 알린다. 위 2가지 사항에 문제점이 없다면 해당 블록은 다른 노드들로부터 인정받게 되고 이전 블록과 이어져 블록체인 네트워크를 구성하게 된다(단계 760).
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
1 : 온라인 시험 관리 시스템
10 : 시스템 관리자 노드
100 : 노드 관리 모듈
110 : 접근 권한 부여 모듈
120 : 시험 시작 모듈
130 : 채점 모듈
140, 240, 340 : 블록체인
20 : 출제자 노드
210 : 출제자 권한 부여 모듈
220 : 시험 문제 등록 모듈
230 : 채점용 함수 등록 모듈
30 : 시험 응시자 노드
310 : 응시자 권한 부여 모듈
320 : 시험 응시 모듈
330 : 결과 조회 모듈

Claims (10)

  1. 시스템 관리자 노드, 문제 출제자 노드 및 시험 응시자 노드들로 구성되는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에 있어서,
    상기 시스템 관리자 노드는,
    사용자 인터페이스 모듈을 통해 사용자 식별 정보를 입력받고 공개키와 개인키를 부여하고 상기 사용자를 블록체인 네트워크에 문제 출제자 노드 또는 시험 응시자 노드로 참여시키도록 구성된 노드 관리 모듈;
    블록체인 네트워크에 참여한 문제 출제자 노드에게 과목 식별정보 컨텍스트 및 출제자 컨텍스트를 부여하고, 블록체인 네트워크에 참여한 시험 응시자 노드에게 과목 식별정보 컨텍스트 및 응시자 컨텍스트를 부여하는 접근 권한 부여 모듈;
    시험 시작 시간이 되면, 블록체인 네트워크에 기록된 과목 번호에 해당하는 최신 버전의 시험 문제를 열람하고, 상기 열람한 시험 문제에 대한 접근 권한 이진트리를 수정하여 블록체인 네트워크에 기록하는 시험 시작 모듈; 및
    블록체인 네트워크에 기록된 정답을 포함하는 함수 형태의 스마트 컨트랙트를 호출하고 시험 응시자에 의해 기록된 답안을 스마트 컨트랙트의 함수의 입력으로 제공하고, 입력에 따른 스마트 컨트랙트의 함수의 결과를 채점 결과로서 블록체인 네트워크에 기록하는 채점 모듈;
    를 구비하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템.
  2. 제1항에 있어서, 상기 시험 시작 모듈은,
    상기 열람한 시험 문제에 대한 접근 권한 이진트리를 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 수정하여 블록체인 네트워크에 기록하여, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 갖는 시험 응시자들이 상기 시험 문제를 열람하여 복호화할 수 있도록 하고 시험에 응시할 수 있도록 하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템.
  3. 제1항에 있어서, 상기 문제 출제자 노드는,
    상기 시스템 관리 노드로부터 출제자 컨텍스트와 과목 식별정보 컨텍스트를 부여받는 출제자 권한 부여 모듈;
    문제 출제자가 생성한 시험 문제를 개인키로 서명하고, 서명된 시험 문제를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 시험 문제 등록 모듈;
    시험 문제에 대한 정답을 포함하는 함수 형태의 스마트 컨트랙트를 생성하고, 상기 스마트 컨트랙트를 문제 출제자의 개인키로 서명하고, 서명된 스마트 컨트랙트를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 채점용 함수 등록 모듈;
    을 구비하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템.
  4. 제1항에 있어서, 상기 시험 응시자 노드는,
    상기 시스템 관리자 노드로부터 응시자 컨텍스트와 과목 식별정보 컨텍스트를 부여받는 응시자 권한 부여 모듈;
    블록체인 네트워크에 기록된 시험 문제를 판독하고, 상기 시험 문제를 상기 응시자 컨텍스와 과목 식별정보 컨텍스트를 이용하여 복호화시켜 열람하고, 상기 시험 문제에 대한 답안을 작성하고, 상기 답안은 시험 응시자 노드의 개인키로 서명하고, 상기 서명된 답안을 상기 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 암호화시켜 블록체인 네트워크에 기록하는 시험 응시 모듈;
    응시자 컨텍스트와 응시자 식별정보 컨텍스트를 이용하여 상기 블록체인 네트워크에 기록된 채점 결과를 복호화하여 채점 결과를 출력하는 결과 조회 모듈;
    을 구비하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템.
  5. 제1항에 있어서, 상기 온라인 시험 관리 시스템을 구성하는 노드들 중 하나는 권위 노드로서 설정되며,
    상기 온라인 시험 관리 시스템을 구성하는 노드들이 블록체인 네트워크에 트랜잭션을 전파하면,
    상기 권위 노드는 트랜잭션들을 종합하여 블록으로 생성하여 블록체인 네트워크에 전파하고,
    상기 권위 노드가 전파한 블록을 수신한 노드들은 상기 수신한 블록 내 트랜잭션에 변경 사항이 없음을 확인하고 자신의 블록체인에 기록하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템.
  6. 시스템 관리자 노드, 문제 출제자 노드 및 시험 응시자 노드들로 구성되는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템에서의 온라인 시험 관리 방법에 있어서,
    (a) 상기 시스템 관리자 노드는 문제 출제자 노드 및 시험 응시자 노드들에게 개인키와 공개키를 부여하고, 블록체인 네트워크의 노드로 참여시키는 단계;
    (b) 상기 시스템 관리자 노드는 블록체인 네트워크에 참여한 문제 출제자 노드에게 과목 식별정보 컨텍스트 및 출제자 컨텍스트를 부여하고, 블록체인 네트워크에 참여한 시험 응시자 노드에게 과목 식별정보 컨텍스트 및 응시자 컨텍스트를 부여하는 단계;
    (c) 상기 문제 출제자 노드는 시험 문제를 문제 출제자의 개인키로 서명하고, 서명된 시험 문제를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 단계;
    (d) 상기 시험 응시자 노드는 블록체인 네트워크에 기록된 시험 문제를 판독하고, 상기 시험 문제를 상기 응시자 컨텍스와 과목 식별정보 컨텍스트를 이용하여 복호화시켜 열람하고, 상기 시험 문제에 대한 답안을 작성하고, 상기 답안은 시험 응시자 노드의 개인키로 서명하고, 상기 서명된 답안을 상기 응시자 컨텍스트와 응시자 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 암호화시켜 블록체인 네트워크에 기록하는 단계;
    를 구비하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법.
  7. 제6항에 있어서, 상기 온라인 시험 관리 방법은,
    (e) 상기 시스템 관리자 노드가, 시험 시작 시간이 되면, 블록체인 네트워크에 기록된 과목 번호에 해당하는 최신 버전의 시험 문제를 열람하고, 상기 열람한 시험 문제에 대한 접근 권한 이진트리를 응시자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리로 수정하여 블록체인 네트워크에 기록하는 단계;
    를 더 구비하여, 응시자 컨텍스트와 과목 식별정보 컨텍스트를 갖는 시험 응시자들이 상기 시험 문제를 열람하여 복호화할 수 있도록 하고 시험에 응시할 수 있도록 하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법.
  8. 제6항에 있어서, 상기 온라인 시험 관리 방법은,
    (f) 상기 문제 출제자 노드가, 시험 문제에 대한 정답을 포함하는 함수 형태의 스마트 컨트랙트를 생성하고, 상기 스마트 컨트랙트를 문제 출제자의 개인키로 서명하고, 서명된 스마트 컨트랙트를 출제자 컨텍스트와 과목 식별정보 컨텍스트로 이루어진 접근 권한 이진트리를 이용하여 암호화시켜 블록체인 네트워크에 기록하는 단계; 및
    (g) 상기 시스템 관리자 노드가, 블록체인 네트워크에 기록된 정답을 포함하는 함수 형태의 스마트 컨트랙트를 호출하고, 시험 응시자에 의해 기록된 답안을 스마트 컨트랙트의 함수의 입력으로 제공하고, 입력에 따른 스마트 컨트랙트의 함수의 결과를 채점 결과로서 블록체인 네트워크에 기록하는 단계;
    를 더 구비하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법.
  9. 제8항에 있어서, 상기 온라인 시험 관리 방법은,
    (h) 상기 시험 응시자 노드가, 상기 블록체인 네트워크에 기록된 채점 결과를 판독하고, 응시자 컨텍스트와 응시자 식별정보 컨텍스트를 이용하여 상기 채점 결과를 복호화하여 열람하는 단계; 를 더 구비하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법.
  10. 제6항에 있어서, 상기 온라인 시험 관리 방법은,
    (i) 상기 블록체인 네트워크를 구성하는 노드들 중 하나를 권위 노드로 설정하고, 상기 온라인 시험 관리 시스템을 구성하는 노드들이 블록체인 네트워크에 트랜잭션을 전파하면, 상기 권위 노드가 트랜잭션들을 종합하여 블록으로 생성하여 블록체인 네트워크에 전파하고,
    상기 권위 노드가 전파한 블록을 수신한 노드들이 상기 수신한 블록 내 트랜잭션에 변경사항이 없음을 확인하고 자신의 블록체인에 기록하는 단계;
    를 더 구비하는 것을 특징으로 하는 블록체인 네트워크를 기반으로 한 온라인 시험 관리 방법.

KR1020180090879A 2018-08-03 2018-08-03 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법 KR102088218B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180090879A KR102088218B1 (ko) 2018-08-03 2018-08-03 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180090879A KR102088218B1 (ko) 2018-08-03 2018-08-03 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20200015266A true KR20200015266A (ko) 2020-02-12
KR102088218B1 KR102088218B1 (ko) 2020-03-16

Family

ID=69569662

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180090879A KR102088218B1 (ko) 2018-08-03 2018-08-03 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102088218B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112700092A (zh) * 2020-12-21 2021-04-23 布比(北京)网络技术有限公司 一种基于区块链对考试成绩进行评定的方法及系统
CN112637278B (zh) * 2020-12-09 2021-10-08 云南财经大学 基于区块链和属性基加密的数据共享方法、系统及计算机可读存储介质
KR20220008064A (ko) * 2020-07-13 2022-01-20 주식회사 윈솔텍 블록체인 기술을 이용한 학점교류시스템 및 방법
KR20220041676A (ko) * 2020-09-25 2022-04-01 (주)인프라케이 퍼미션드 블록체인 네트워크를 이용하여 온라인 시험 부정행위를 방지하는 방법 및 이를 이용한 온라인 시험 서버
WO2022143123A1 (zh) * 2020-12-30 2022-07-07 广东德诚科教有限公司 一种基于区块链的信息存储系统、方法及服务器
CN116566745A (zh) * 2023-07-11 2023-08-08 国网湖北省电力有限公司武汉供电公司 一种基于区块链的数据共享与监测系统及方法
KR102602432B1 (ko) 2022-07-28 2023-11-14 변원섭 온라인시험 부정행위 트랙킹 시스템
KR20240007404A (ko) * 2022-07-08 2024-01-16 주식회사 한국이러닝교육원 자격취득 관리서버 및 이를 포함하는 블록체인을 이용한 자격취득 인증시스템
KR102650399B1 (ko) 2023-11-09 2024-03-25 변원섭 수험자 인식에 기초한 온라인시험 시스템
CN117972645A (zh) * 2024-03-28 2024-05-03 潍坊市平安消防工程有限公司 消防设施操作员实操网上考试系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010169765A (ja) * 2009-01-20 2010-08-05 Ici:Kk 日本語会話能力評価システム及び日本語会話能力評価方法
KR20110108752A (ko) * 2010-03-29 2011-10-06 (주)비에스지파트너스 시험 문제 관리를 위한 관리 서버 및 그의 동작 방법 그리고 시험 문제 출제 시스템
KR101761562B1 (ko) 2016-08-29 2017-07-26 정철웅 온라인 시험 방법 및 장치
KR20180014534A (ko) * 2016-08-01 2018-02-09 서강대학교산학협력단 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
KR20180047358A (ko) 2016-10-31 2018-05-10 주식회사 조인트리 온라인 원스탑 시험 평가 관리 시스템 및 이를 이용한 시험 평가 관리 방법
KR101882805B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010169765A (ja) * 2009-01-20 2010-08-05 Ici:Kk 日本語会話能力評価システム及び日本語会話能力評価方法
KR20110108752A (ko) * 2010-03-29 2011-10-06 (주)비에스지파트너스 시험 문제 관리를 위한 관리 서버 및 그의 동작 방법 그리고 시험 문제 출제 시스템
KR20180014534A (ko) * 2016-08-01 2018-02-09 서강대학교산학협력단 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
KR101761562B1 (ko) 2016-08-29 2017-07-26 정철웅 온라인 시험 방법 및 장치
KR20180047358A (ko) 2016-10-31 2018-05-10 주식회사 조인트리 온라인 원스탑 시험 평가 관리 시스템 및 이를 이용한 시험 평가 관리 방법
KR101882805B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220008064A (ko) * 2020-07-13 2022-01-20 주식회사 윈솔텍 블록체인 기술을 이용한 학점교류시스템 및 방법
KR20220041676A (ko) * 2020-09-25 2022-04-01 (주)인프라케이 퍼미션드 블록체인 네트워크를 이용하여 온라인 시험 부정행위를 방지하는 방법 및 이를 이용한 온라인 시험 서버
CN112637278B (zh) * 2020-12-09 2021-10-08 云南财经大学 基于区块链和属性基加密的数据共享方法、系统及计算机可读存储介质
CN112700092A (zh) * 2020-12-21 2021-04-23 布比(北京)网络技术有限公司 一种基于区块链对考试成绩进行评定的方法及系统
WO2022143123A1 (zh) * 2020-12-30 2022-07-07 广东德诚科教有限公司 一种基于区块链的信息存储系统、方法及服务器
KR20240007404A (ko) * 2022-07-08 2024-01-16 주식회사 한국이러닝교육원 자격취득 관리서버 및 이를 포함하는 블록체인을 이용한 자격취득 인증시스템
KR102602432B1 (ko) 2022-07-28 2023-11-14 변원섭 온라인시험 부정행위 트랙킹 시스템
CN116566745A (zh) * 2023-07-11 2023-08-08 国网湖北省电力有限公司武汉供电公司 一种基于区块链的数据共享与监测系统及方法
CN116566745B (zh) * 2023-07-11 2023-10-13 国网湖北省电力有限公司武汉供电公司 一种基于区块链的数据共享与监测系统及方法
KR102650399B1 (ko) 2023-11-09 2024-03-25 변원섭 수험자 인식에 기초한 온라인시험 시스템
CN117972645A (zh) * 2024-03-28 2024-05-03 潍坊市平安消防工程有限公司 消防设施操作员实操网上考试系统及方法

Also Published As

Publication number Publication date
KR102088218B1 (ko) 2020-03-16

Similar Documents

Publication Publication Date Title
KR102088218B1 (ko) 블록체인 네트워크를 기반으로 한 온라인 시험 관리 시스템 및 방법
US10979418B2 (en) Template-based distributed certificate issuance in a multi-tenant environment
US10007803B2 (en) Searching over encrypted keywords in a database
US11128604B2 (en) Anonymous communication system and method for subscribing to said communication system
Hsu et al. Design of an e-diploma system based on consortium blockchain and facial recognition
JPWO2019082442A1 (ja) データ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラム
Marella et al. Document Verification using Blockchain for Trusted CV Information.
Shakan et al. Verification of university student and graduate data using blockchain technology
JP7462903B2 (ja) 利用者端末、認証者端末、登録者端末、管理システムおよびプログラム
Zhu et al. Secure Online Examination with Biometric Authentication and Blockchain‐Based Framework
Radha et al. Verifiable badging system for scientific data reproducibility
Singh et al. A digital asset inheritance model to convey online persona posthumously
Kareem et al. Verification Process of Academic Certificates Using Blockchain Technology.
Jonas et al. Privacy-preserving record grouping and consent management based on a public-private key signature scheme: theoretical analysis and feasibility study
Deng et al. Towards a cross‐context identity management framework in e‐health
JP4521514B2 (ja) 医療情報流通システム及びその情報アクセス制御方法、コンピュータプログラム
CN113779637B (zh) 一种属性数据处理方法、装置、设备以及介质
KR20200085204A (ko) 증명 가능한 전자투표시스템
CN110647756B (zh) 基于区块链和cp-abe的在线考试管理系统及其应用方法
Sethia et al. Academic certificate validation using blockchain technology
Rakeei et al. Secure internet exams despite coercion
Tanner et al. Technology review of blockchain data privacy solutions
GB2596941A (en) Systems and processes for management of digital or physical assets via distributed ledger
CN113489669A (zh) 一种用户数据保护的方法及装置
Heredia et al. Decentralizing certificates issuance through Blockchain

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right