KR20210140804A - 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법 - Google Patents

블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법 Download PDF

Info

Publication number
KR20210140804A
KR20210140804A KR1020200058248A KR20200058248A KR20210140804A KR 20210140804 A KR20210140804 A KR 20210140804A KR 1020200058248 A KR1020200058248 A KR 1020200058248A KR 20200058248 A KR20200058248 A KR 20200058248A KR 20210140804 A KR20210140804 A KR 20210140804A
Authority
KR
South Korea
Prior art keywords
notification
user terminal
server
authentication
information
Prior art date
Application number
KR1020200058248A
Other languages
English (en)
Other versions
KR102368805B1 (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 KR1020200058248A priority Critical patent/KR102368805B1/ko
Publication of KR20210140804A publication Critical patent/KR20210140804A/ko
Application granted granted Critical
Publication of KR102368805B1 publication Critical patent/KR102368805B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • G06Q50/30
    • 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/50Business processes related to the communications industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • H04L51/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • H04L67/26
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 알림공지서버 및 알림공지방법에 관한 것이다.
본 발명에서는 알림공지내용을 제목, 내용 및 첨부이미지로 구성하고, 첨부임지를 등록할 때 진위 여부에 대한 인증을 수행하고, 시퀀셜 채널번호가 부여된 암호화된 통신 채널을 사용하는 알림공지서버 및 알림공지방법이 개시된다.
본 발명에 따른 알림공지서버 및 알림공지방법에 의하면, 개인정보를 사용할 때 동의를 구하고 동의에 따라 해당 개인정보를 제공한 개인에게 보상을 제공할 수 있게 되었다.

Description

블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법{NOTIFICATION SERVER USING BLOCKCHAIN-BASED MOBILE HACKING PREVENTION PROCESS AND NOTIFICATION METHOD USING THE SAME}
본 발명은 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법에 관한 것으로서, 보다 구체적으로는 제3자 인증서버를 이용하여 알림 공지를 전송하는 단말 및 수신하는 단말기를 인증하고, 나아가 일련번호가 부여된 세션키 통신 방식을 적용하여 뛰어난 보안성을 갖는 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법에 관한 것이다.
우편물의 종류 중 내용증명이라는 것이 있다. 내용증명은 발신인이 해당 문서를 수신인에게 발송한 바 있음을 제3자인 우체국에서 증명해 주는 우편이다. 내용증명 방식으로 우편물을 발송하기 위해서는 동일한 문서를 세 부 작성해서 우체국에 가져가면 한 부는 발신인에게 반환하고, 다른 한 부는 수신인에게 우편 송부하고, 나머지 한 부는 우체국에서 보관하는 방식이다. 이러한 내용증명 우편물 발송은 법적으로 송부한 사실을 입증할 수 있으므로 향후 법적 분쟁을 대비하기 위해 자주 이용하는 우편 발송 방식이다.
그런데 이러한 내용증명 우편 방식은 이용 절차가 불편하고 우편 요금이 비교적 고가이므로 일반인이 손쉽게 이용하기 어려운 점이 있다. 또한 내용증명 우편물의 경우 수신인을 주식회사 대표자로 지정하여 송부하였는데 해당 주식회사의 직원이 이를 수신하고 고의든 착오에 의한 것이든 이를 대표자에게 전달하지 않은 경우라도 법적으로는 대표이사에게 전달되었다고 본다. 이는 행정적 및 법률적 측면에서는 문제가 없다고 할 수 있으나 대표자 입장에서는 실질적으로 받지 못한 것이므로 억울한 입장에 놓여지게 된다.
한편, 실생활에서는 법적인 증명까지는 필요없으나 발신인이 수신인에게 문서 또는 메세지를 전달하고 수신인은 해당 문서 또는 메세지를 보았음을 확인해야 하는 일이 빈번히 발생한다. 한국에서는 주식회사 카카오에서 운영하는 일명 '카톡'을 이용하여 간단한 내용 또는 문서를 전달하고 수신인이 이를 수신하였음을 확인할 수 있는 표시를 제공하여 이용자에게 많은 호응을 얻고 있다. 그런데 카톡은 해킹에 취약하여 중요한 문서 및 메세지 전달하기에는 보안에 취약한 문제점을 지니고 있는 상태이다.
한국등록특허 제10-2042935호 (2019.11.04. 등록)
본 발명은 상기와 같은 문제점을 해결하고자 하는 것으로서, 보안을 유지하면서 발신인이 수신인에게 안전하게 문서를 송부할 수 있는 알림공지서버 및 알림공지방법을 제공하는 것을 목적으로 한다.
본 발명의 상기 목적은 제목, 내용 및 첨부이미지로 구성되는 알림공지문서를 작성한 후 발송하는 마스터 사용자단말과, 상기 알림공지문서를 수신하는 복수 개 패밀리 사용자단말과, 상기 마스터 사용자단말 및 상기 패밀리 사용자단말을 인증하는 인증서버 및 상기 마스터 사용자단말과 상기 패밀리 사용자단말 사이에서 상기 알림공지문서를 전달하는 알림공지서버로 구성되는 알림공지시스템에서, 상기 알림공지서버에서 상기 알림공지문서를 전송하는 방법에 있어서, 마스터 사용자단말로부터 상기 마스터 사용자단말의 고유정보, 패밀리 사용자 리스트 및 상기 알림공지문서를 전송받는 제1단계와, 제1단계에서 전송받은 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 구성하는 첨부이미지를 상기 인증서버로 전송하는 제2단계와, 인증서버로부터 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 인증받은 후 난수를 발생시켜 전달받는 제3단계와, 제3단계에서 전송받은 난수를 상기 마스터 사용자단말에 전송한 후, 상기 마스터 사용자단말로부터 상기 난수, 상기 마스터 사용자단말 고유정보, 상기 첨부이미지(이하, 이를 '(난수, 고유정보, 첨부)'라 함)를 해쉬하여 생성되는 해쉬값을 전달받는 제4단계와, 제4단계에서 전송받은 (난수, 고유정보, 첨부) 해쉬값을 다시 한 번 더 해쉬하여 상기 인증서버로 전송하는 제5단계 및 인증서버로부터 인증 결과를 수령하고, 인증된 경우 상기 마스터 사용자단말에 알림공지문서를 저장하는 제6단계를 포함하는 것을 특징으로 하는 알림공지서버에서 알림공지문서를 전송하는 방법에 의해서 달성 가능하다.
본 발명의 또 다른 목적은 제목, 내용 및 첨부이미지로 구성되는 알림공지문서를 작성한 후 발송하는 마스터 사용자단말과, 상기 알림공지문서를 수신하는 복수 개 패밀리 사용자단말과, 상기 마스터 사용자단말 및 상기 패밀리 사용자단말을 인증하는 인증서버 및 상기 마스터 사용자단말과 상기 패밀리 사용자단말 사이에서 상기 알림공지문서를 전달하는 알림공지서버로 구성되는 알림공지시스템에서, 상기 알림공지서버는 마스터 사용자단말로부터 상기 마스터 사용자단말의 고유정보, 패밀리 사용자 리스트 및 상기 알림공지문서를 전송받고, 전송받은 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 구성하는 첨부이미지를 상기 인증서버로 전송하고, 상기 인증서버로부터 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 인증받은 후 난수를 발생시켜 전달받고, 전송받은 상기 난수를 상기 마스터 사용자단말에 전송한 후, 상기 마스터 사용자단말로부터 상기 난수, 상기 마스터 사용자단말 고유정보, 상기 첨부이미지(이하, 이를 '(난수, 고유정보, 첨부)'라 함)를 해쉬하여 생성되는 해쉬값을 전달받고, 전송받은 (난수, 고유정보, 첨부) 해쉬값을 다시 한 번 더 해쉬하여 상기 인증서버로 전송하고, 상기 인증서버로부터 인증 결과를 수령하고, 인증된 경우 상기 마스터 사용자단말에 알림공지문서를 저장하는 것을 특징으로 하는 알림공지서버에 의해서 달성 가능하다.
마스터 단말이 패밀리 사용자 리스트를 생성할 수 있다. 먼저 각 패밀리 사용자단말이 개인정보를 입력받고(제b1단계), 제b1단계에서 입력된 패밀리 사용자단말의 개인정보를 개인정보데이터베이스로 저장하고(제b2단계), 마스터 사용자단말은 개인정보데이터베이스를 조회하여 복수 개 패밀리 사용자단말의 개인정보를 획득한다(제b3단계). 이러한 b3단계에서 획득된 개인정보는 적어도 일부 항목이 블랭크 처리되어 사용할 수 없는 정보이다. 마스터 사용자단말은 제b3단계에서 획득된 개인정보 중에서 적어도 일부 개인정보에 대해 구매 요청을 하고(제b4단계) 구매 요청된 개인정보를 개인정보데이터베이스로부터 마스터 사용자단말로 전송받는다(제b5단계). 마스터 단말은 제b5단계에서 전송된 개인정보를 이용하여 패밀리 사용자 리스트를 생성할 수 있게 되는 것이다(제b6단계)
본 발명에 따른 알림공지서버 및 알림공지방법에 의하면, 암호화된 채널 개설 방식을 사용함으로써 패킷을 탈취하여도 hash되어 있으며, 해시를 풀더라도 혼합해시(난수값이포함)가 되어 있어서 TTL적용으로 유효한 시간값이 지나서 전자전송의 이미지 알림공지정보를 해킹할 수 없게 된다. 또한 이와 더불어 시퀀셜 채널번호를 이용함으로써 인증된 사용자단말 사이의 첨부이미지 보안도 수행할 수 있게 되었다.
또한, 본 발명에 따른 알림공지서버 및 알림공지방법에 의하면, 개인정보를 사용할 때 동의를 구하고 동의에 따라 해당 개인정보를 제공한 개인에게 보상을 제공할 수 있게 되었다.
도 1은 본 발명에 따른 블록체인 기반의 사용자단말 및 알림공지서버 간의 다중 보안 인증 시스템의 구성도.
도 2는 본 발명에 따른 등록 단계의 등록 과정을 나타낸 블록 순서도.
도 3은 본 발명의 제1 실시예에 따른 알림공지서버 접근요청 및 승인 과정을 나타낸 업무 흐름도.
도 4는 본 발명의 제2 실시예에 따른 알림공지서버 접근요청 및 승인 과정을 나타낸 업무 흐름도.
도 5는 본 발명의 제3 실시예에 따른 알림공지서버 접근요청 및 승인 과정을 나타낸 업무 흐름도.
도 6은 본 발명에 따른 인증서버의 개인정보 해킹방지 프로세스를 나타낸 처리 순서도.
도 7은 본 발명에 따른 개인정보 해킹방지 프로세스에 있어서, Byte 단위 레코드 2분할을 위한 알고리즘을 나타낸 프로그램 소스 코드 일부.
도 8은 지금까지 설명한 제3자 인증 방식을 복합적으로 사용하여 사용자단말을 인증하는 과정을 설명하는 흐름도.
도 9는 본 발명에 따른 일 실시예인 알림 공지 시스템을 이용하여 알림을 공지하는 과정을 설명하는 흐름도.
도 10은 본 발명에서 실행되는 암호화된 통신 채널 개설 흐름을 설명하는 흐름도.
도 11은 지금까지 설명한 제3자 인증 방식을 복합적으로 사용하여 마스터 사용자단말이 알림공지 등록 메뉴를 실행할 경우 이를 인증하는 과정을 설명하는 흐름도.
도 12는 인증된 사용자단말 사이에 패킷이 탈취되는 것을 방지하기 위해 본 발명에서 실행되는 암호화된 통신 채널 개설 흐름을 설명하는 흐름도.
도 13은 개인이 정보를 입력하고 이를 활용하는 절차를 설명하는 흐름도.
도 14는 개인 정보를 먼저 구매하여 보관 및 저장하고 있는 개인단말이 있을 경우, 해당 개인단말로부터 개인정보를 입수하는 흐름을 설명하는 흐름도
본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서, "제1, 제2" 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예, 장점 및 특징에 대하여 상세히 설명하도록 한다.
도 1은 본 발명에 따른 블록체인 기반의 사용자단말 및 알림공지서버 간의 다중 보안 인증 시스템의 구성도이다. 도 1을 참조하면, 블록체인 기반의 사용자단말 및 알림공지서버 간의 다중 보안 인증 시스템은 크게 알림공지서버(20), 사용자단말(10), 인증서버(30), 블록체인(40) 및 AI(50)를 포함한다.
본 발명의 알림공지서버(20)는 음성통신망, 데이터통신망 및 와이파이망 등의유무선 인터넷망을 통해 사용자단말(10)과 통신하여 사용자단말(10)이 공지하고자 하는 내용을 다운받아 저장하고 이를 복수의 수신처 사용자단말(10)에 전송하는 기능을 수행하는 컴퓨터 장치이다.
본 발명의 사용자단말(10)은 유무선 인터넷망을 통해 알림공지서버(20)와 통신함으로써 알림을 공지하고자 하는 내용을 작성하여 발송하는 발신측 사용자단말과 발송측 사용자단말이 공지한 내용을 알림공지서버(20)로부터 다운받는 수신측 사용자단말로 구성된다. 사용자단말(10)은 스마트폰, 태블릿PC, 웨어러블 디바이스, PDA와 같은 모바일 단말기일 수 있고, 더 나아가 데크탑, 노트북 컴퓨터 등도 이에 해당할 수 있다.
사용자단말(10)은 인증서버(30)에 의한 인증절차를 통해 알림공지서버(20)에 대한 접근 권한을 승인받아 알림을 공지하거나 수신할 수 있게 된다.
블록체인(40)은 분산 원장을 적용하는 네트워크망을 의미하며, AI(50)는 인공지능컴퓨터를 의미한다. AI(50)는 사용자단말(10)과 인증서버(30), 알림공지서버(20)와 인증서버(30) 및 사용자단말(10)과 알림공지서버(20) 사이의 데이터 흐름을 빅데이터 처리하고, 해킹 여부를 판단하는 해킹인지데이터를 구비한다.
한편, 사용자단말(10)에는 인증서버(30) 또는 알림공지서버(20)와 연계되어 구동하는 어플리케이션 프로그램(이하, '알공 앱'이라 칭함)이 설치될 수 있다. 상기 경우, 사용자단말(10)의 등록/변경/추가시 또는 알림공지서버(20) 승인 요청시, 사용자단말(10)은 이에 탑재된 알공 앱을 구동한 후 사용자 아이디/패스워드를 입력하여 로그인함으로써 인증서버(30) 또는 알림공지서버(20)와 연동되고, 이로써 사용자단말(10)의 등록/변경/추가 및 알림공지서버(20) 접근 허락을 위한 과정을 진행할 수 있게 된다. 여기서, 사용자 아이디(ID)와 패스워드(password)는 알공 앱 설치시 또는 회원가입시 생성할 수 있다.
또한 회원가입시 통상 사용자 인증(User Authentication)은 거래 당사자 간에 상대의 신분을 검증하는 것(Identity Validation)으로, 하나의 세션 동안에 거래 당사자(사람, 프로세스, 클라이언트, 서버, 장비 등) 간에 상대의 신원주장(identity claim)에 대해 유효성을 성립시키는 것이며, 사용자(개인신분)별로 식별하며 인증한다.
본 발명에서는 사용자가 사용자단말(10)을 통해서 인증서버(30) 혹은 인증서버(30) 내의 제3자 인증 API를 통해서 인증하여 최초 접속하여 실시하게 된다. 사용자 인증을 위한 방식으로 사용자의 휴대전화 번호, 주민등록번호, 각종 신분증 번호, 생체정보 등이 있다.
본 발명의 인증서버(30)는 사용자단말(10) 및 알림공지서버(20)를 등록하고, 사용자단말(10)로부터 알림공지서버(20)에 대한 접근(access) 요청이 있는 경우, 해당 사용자단말(10)의 정당성을 인증하며, 정당성 인증 시 해당 사용자단말(10)에 의한 알림공지서버의 접근을 승인한다.
참고로, 본 발명에서 지칭하는 '등록'이란 사용자단말(10)의 알림공지서버(20) 승인시 필요한 인증수단(즉, 등록 해시값)의 생성, 기록 및 저장을 포함한다. 더 나아가, 본 발명의 '등록'은 사용자단말(10) 관련 정보와, 이 사용자단말(10)의 접근 대상이 되는 알림공지서버(20) 관련 정보 등을 인증서버(30)에 입력 및 저장하는 것을 더 포함할 수 있다.
이하에서는, 인증서버(30)의 구체적인 기능들에 대하여 설명하도록 한다. 여기서, 인증서버(30)의 기능들이란 사용자단말(10)의 알림공지서버(20) 접근요청을 승인하고, 개인정보 해킹을 방지하기 위한 기능들을 포함한다.
제1 실시예에 따르면, 인증서버(30)는 등록 해시값 관련 정보를 블록체인(40)에 기록하는 기능을 포함한다.
'등록 해시값 관련 정보'는 제1 해시에 관한 정보이거나, 제2 해시에 관한 정보이거나, 또는 상기 제1 해시와 상기 제2 해시가 혼합된 해시(이하, 제1 혼합 해시)에 관한 정보이다.
확장 실시예로서, 상기 '등록 해시값 관련 정보'는 제1 해시, 제2 해시 또는 제3 해시에 관한 정보이거나, 또는 제1 해시, 제2 해시, 및 제3 해시 중 적어도 2개가 혼합된 해시(이하, 제2 혼합해시)에 관한 정보일 수 있다.
구체적으로, 상기 '등록 해시값 관련 정보'는 제1 해시의 후술할 제1 식별정보의 조합 방식에 관한 정보(이하, 제1 조합정보)이거나, 제2 해시의 후술할 제2 식별정보의 조합 방식(이하, 제2 조합정보)에 관한 정보이거나, 제3 해시의 후술할 제3 식별정보의 조합 방식(이하, 제3 조합정보)에 관한 정보이거나, 또는 제1,2 혼합 해시의 제1,2,3 식별정보의 조합 방식(이하, 혼합 조합정보)에 관한 정보를 포함한다.
제1 해시는 알림공지서버(20)에 고유한 다수의 식별정보(이하, 제1 식별정보) 중 적어도 2개의 식별정보로 이루어진다.
제1 식별정보는 알림공지서버(20)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 및 앱(App) 관련 정보를 포함하고, 통신패킷 정보 및 제조사 정보를 더 포함할 수 있다.
따라서, 제1 해시는 해당 알림공지서버(20)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 앱(App) 관련 정보, 통신패킷 정보 및 제조사 정보 중 적어도 2개의 정보의 조합으로 이루어질 수 있다.
구체적으로, 제1 식별정보의 물리코드 관련 정보는 해당 알림공지서버(20)의 시리얼 넘버(Serial Number), CPU 정보 및 모델번호 등을 포함한다.
제1 식별정보의 운영체제(OS) 관련 정보는 해당 알림공지서버(20)에 탑재된 운영체제(OS)의 버전(Version) 정보 및 OS 종류 등을 포함한다.
제1 식별정보의 앱(App) 관련 정보는 해당 알림공지서버(20)에 탑재된 어플리케이션의 버전(version) 정보 및 체크썸(checksum) 정보 등을 포함한다. 여기서, 해당 알림공지서버(20)에 탑재된 앱이란 전술한 알공 앱일 수 있다.
제1 식별정보의 통신패킷 정보는 알림공지서버(20)의 접속 경로 정보를 포함하고, 제조사 정보는 해당 알림공지서버(20)의 제조사와 관련된 정보를 포함할 수 있다.
참고로, 제1 실시예의 등록 해시값 관련 정보는 사용자단말(10)이 인증서버(30)에 접속하여 등록하거나, 또는 인증서버(30)가 생성하여 등록을 시도하는 사용자단말(10)에게 제공할 수도 있다.
제2 해시는 사용자단말(10)에 고유한 다수의 식별정보(이하, 제2 식별정보) 중 적어도 2개의 식별정보로 이루어진다.
제2 식별정보는 사용자단말(10)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 및 앱(App) 관련 정보를 포함하고, 통신패킷 정보 및 제조사 정보를 더 포함할 수 있다.
따라서, 제2 해시는 해당 사용자단말(10)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 앱(App) 관련 정보, 통신패킷 정보 및 제조사 정보 중 적어도 2개 정보의 조합으로 이루어질 수 있다.
구체적으로, 제2 식별정보의 물리코드 관련 정보는 해당 사용자단말(10)의 이동통신번호, 시리얼 넘버, 모델번호, USIM 정보, MAC 주소 정보, 스마트폰 고유번호(IMEI) 등을 포함한다.
제2 식별정보의 운영체제(OS) 관련 정보는 해당 사용자단말(10)에 탑재된 운영체제(OS)의 버전(Version) 정보 및 OS 종류 등을 포함한다.
제2 식별정보의 앱(App) 관련 정보는 해당 사용자단말(10)에 탑재된 어플리케이션의 버전(version) 정보 및 체크썸(checksum) 정보 등을 포함한다. 여기서, 해당 사용자단말(10)에 탑재된 앱이란 전술한 알공 앱일 수 있다.
제2 식별정보의 통신패킷 정보는 사용자단말(10)의 접속 경로 정보를 포함하고, 제조사 정보는 해당 사용자단말(10)의 제조사와 관련된 정보를 포함할 수 있다.
제3 해시는 사용자단말(10)의 사용자에 고유한 다수의 식별정보(이하, '제3 식별정보'라 칭함) 중 적어도 2개의 제3 식별정보으로 이루어질 수 있다.
제3 식별정보는 전화번호, 이름, 생년월일, 접속시간, 접속IP 및 GPS 정보를 포함할 수 있다.
더 나아가, 제3 식별정보는 사용자단말(10)과 알림공지서버(20) 간에 형성된 유무선 네트워크 장비나 기타 서버 등으로 이루어진 식별정보를 더 포함할 수 있다.
확장 실시예에 따르면, 등록 해시값 관련 정보는 제1 해시, 제2 해시, 제3 해시 또는 혼합 해시에 난수값이 더 혼합된 해시에 관한 정보일 수 있다. 이와 같은 경우, 난수값은 인증서버(30) 또는 알림공지서버(20)가 생성하여 상기 사용자단말(10)에게 제공할 수 있다.
제2 실시예에 따르면, 인증서버(30)는 사용자단말(10)이 등록을 시도할 시, 등록 해시값 관련 정보로서 해시값 자체를 블록체인(40)에 기록하도록 구성될 수 있다.
즉, 제1 실시예는 해시값 자체가 아니라, 특정 해시값(즉, 등록 해시값)을 생성하기 위한 제1 식별정보 및(또는) 제2 식별정보의 '조합방식'을 블록체인(40)에 기록하도록 구성되는 반면, 제2 실시예는 등록 해시값에 해당하는 실질적인 값을 블록체인(40)에 기록하는 점이 차이점이다.
제1 실시예의 '조합방식'에 대하여 설명하면 다음과 같다. 예컨대, 등록 해시값이 제1 식별정보의 OS 정보 'A'와 앱 버전 정보 'B', 그리고 제2 식별정보의 물리코드 'C'와 OS 정보'D'로 이루어진 값이라고 가정하자.
상기 경우, 제2 실시예의 블록체인(40)에 기록되는 대상인 '등록 해시값'은 이 등록 해시값을 구성하는 각 식별정보 항목에 대응하는 실질적인 값 즉, 'A,B,C,D'의 조합으로 생성된 값에 해당한다.
반면, 제1 실시예의 블록체인(40)에 기록되는 대상인 '등록 해시값 관련 정보'는 이 등록 해시값을 생성시 필요한 식별정보들의 항목 정보를 의미한다. 즉, '등록 해시값 관련 정보'는 등록 해시값을 구성하는 각 식별정보의 실질적인 값이 아니라, 이 값의 상위개념인 식별정보 항목을 지칭한다. 따라서, 상기 예시의 경우, 제1 식별정보의 제1 항목인 OS 정보 항목, 제2 항목인 앱 버전 정보 항목, 제2 식별정보의 제1 항목인 물리코드 항목 및 제2 항목인 OS 정보 항목이 '등록 해시값 관련 정보'에 해당하게 된다.
따라서, 제2 실시예에 따르면, 등록 해시값은 제1 해시 또는 제2 해시를 이용하여 생성한 값이거나, 또는 제1 해시와 제2 해시를 조합하여 생성한 값으로 이루어진다.
확장 실시예로서, 등록 해시값은 제1 해시, 제2 해시 또는 제3 해시를 이용하여 생성한 값이거나, 또는 제1 해시, 제2 해시 및 제3 해시 중 적어도 2개를 조합하여 생성한 값일 수 있다.
즉, 등록 해시값을 생성하기 위한 해시의 종류 및 그 조합수는 보안 강도에 비례하여 증가할 수 있다.
또 다른 확장 실시예로서, 등록 해시값은 난수값을 더 조합하여 생성한 값일 수 있다. 상기 경우, 난수값은 사용자단말(10)이 등록 시도 또는 알림공지서버(20) 접속 승인 요청을 위해 등록 해시값을 생성하고자 할 경우, 인증서버(30)가 이를 생성하여 사용자단말(10)에게 제공하도록 구성될 수 있다. 또 다른 실시예로서, 난수값은 사용자단말(10)이 등록 해시값을 생성하고자 할 경우, 알림공지서버(20)가 이를 생성하여 사용자단말(10)에게 제공하도록 구성될 수 있다.
제2 실시예에서, 사용자단말(10)이 등록 해시값을 생성 등록할 경우, 이 등록 해시값은 인증서버(30)에 전송되고, 인증서버(30)는 이를 수신하여 블록체인(40)에 기록 보관한다. 한편, 등록 해시값은 이를 생성한 사용자단말(10)이 인증서버(30)에게 직접 전송하도록 구성될 수 있다. 또는, 등록 해시값은 알림공지서버(20)를 경유하여 인증서버(30)에 제공될 수 있다. 즉, 사용자단말(10)이 알림공지서버에게 등록 해시값을 전송하면, 알림공지서버(20)는 이를 수신하여 인증서버(30)에게 전달하도록 구성될 수 있다.
본 발명의 블록체인(40)은 분산형(Decentralized) 전자 원장 내지 데이터베이스 플랫폼으로서, 스레드(thread) 상의 디지털 기록 또는 트랜잭션을 블록이라고 부르고, 이를 통해 공개되거나 통제된 사용자 세트가 전자 원장에 참여할 수 있으며, 각각 타임스탬프가 적용되고 이전의 것과 연계된 트랜잭션에 대한 변경 불가능한 기록을 생성한다.
인증서버(30)는 이와 같이 블록체인(40)으로 연결되어 있는 공동체 즉, 사용자 세트 중 하나의 참여자에 해당하게 된다.
블록체인(40)은 분산 네트워크 기반의 타임스탬프 서버를 통해서 거래를 처리하는 구조를 가지고 있다. 블록체인(40)은 분산 데이터 구조로 구성되어 있는데, 타임스탬프 기록이 있는 수많은 블록들이 연결되어 있다. 각 블록은 해시값을 통해서 신원 확인을 할 수 있으며, 앞의 블록을 참조하는 구조를 가지고 있다.
구체적으로, 블록체인(40)은 크게는 이전 블록헤더의 전자서명, 해시값, 현재 블록의 타임스탬프, 해시값 등으로 이루어진 블록헤더(Block Header)와 트랜잭션 등으로 이루어진다. 따라서, 제1 블록에 기록된 제1 해시값은 제1 블록과 체인으로 연결되는 제2 블록에 '이전 블록 해시값'으로 담기게 된다.
본 발명의 등록 해시값 관련 정보 또는 등록 해시값은 블록체인(40)의 블록바디에 기록되고, 인덱스값을 위해 해당 해시값에 사용자 코드(예컨대, 일련넘버)를 추가하여 블록체인(40)을 구성할 수 있다. 일 실시예에 따르면, 사용자 코드는 해당 해시값 앞에 배치될 수 있다.
따라서, 최초 생성 및 등록된 해시값(즉, 최초 등록 해시값)을 블록체인(40)에 기록한 일시가 해당 블록체인(40)의 최초 블록의 타임스탬프에 해당하게 된다.
제1 실시예에 따르면, 인증서버(30)는 알림공지서버(20)의 접근 승인을 요청받을 시, 사용자단말(10)이 생성한 인증 해시값을 수신하고, 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 상기 인증 해시값의 정당성을 판별하는 기능(이하, '정당성 판별기능'이라 칭함)을 포함한다. 그리고, 인증서버는 판별 결과 해당 인증 해시값이 정당성이 있을 경우, 해당 사용자단말(10)의 알림공지서버(20)의 접근 승인하는 기능을 더 포함한다.
제1 실시예에 따르면, 인증서버(30)는 전술한 제1 식별정보, 제2 식별정보 및 제3 식별정보 중 적어도 2개의 식별정보를 입력받아 관리용 DB에 저장하는 기능을 더 포함한다.
인증서버(30)의 정당성 판별기능에 대하여 구체적으로 설명하면 다음과 같다.
인증서버(30)는 알림공지서버(20)의 접근 승인을 요청받을 시, 블록체인(40)에 기록된 조합방식에 관한 정보를 열람한다. 여기서, 블록체인(40)에 기록된 조합방식 정보는 사용자단말(10)에 의한 등록과정에서 결정된 '식별정보 조합방식'에 관한 정보로서, 전술한 제1 조합정보, 제2 조합정보, 제3 조합정보 또는 혼합 조합정보 중 어느 하나일 수 있다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자단말(10) 및 알림공지서버(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다.
그리고, 인증서버(30)는 이와 같은 등록 해시값을, 사용자단말(10)이 전송한 인증 해시값과 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자단말(10)의 정당성)을 판별한다.
등록 해시값과 인증 해시값의 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 해당 사용자단말(10)의 알림공지서버(20) 접근을 승인한다.
결국, 본 발명의 인증 해시값은 알림공지서버(20)의 접근 승인을 요청하는 사용자단말(10)의 정당성을 판별하기 위한 인증수단이다. 만약, 사용자단말(10)이 정당한 사용자단말이라면, 이 사용자단말(10)은 인증서버(30)에 등록한 등록 해시값과 동일한 해시값(즉, 인증 해시값)을 생성하여 인증서버(30)에게 전송하게 된다.
만약, 사용자단말(10)이 정당하지 않은 사용자단말이라면, 등록 해시값과 동일한 해시값(즉, 인증 해시값)을 생성할 수 없게 되고, 결국 알림공지서버(20)의 접근 승인을 받을 수 없게 된다.
따라서, 인증 해시값은 등록 해시값과 동일한 식별정보를 이용하여 생성한 값으로 이루어진다. 즉, 인증 해시값은 제1 해시, 제2 해시 또는 제2 해시를 이용하여 생성한 값이거나, 또는 제1 해시, 제2 해시 및 제3 해시 중 적어도 2개를 조합하여 생성한 값일 수 있다.
등록 해시값과 마찬가지로, 인증 해시값의 제1 해시는 알림공지서버(20)에 고유한 다수의 제1 식별정보 중 적어도 2개의 제1 식별정보의 조합으로 이루어지고, 제2 해시는 사용자단말(10)에 고유한 다수의 제2 식별정보 중 적어도 2개의 제2 식별정보의 조합으로 이루어지며, 제3 해시는 사용자단말(10)의 사용자에 고유한 다수의 제3 식별정보 중 적어도 2개의 제3 식별정보의 조합으로 이루어진다. 인증 해시값에 있어서, 제1,2,3 식별정보의 상세 구성은 등록 해시값에서 설명한 바와 동일하다.
한편, 인증 해시값은 이를 생성한 사용자단말(10)이 인증서버(30)에게 직접 전송하도록 구성될 수 있다. 또는, 인증 해시값은 알림공지서버(20)를 경유하여 인증서버(30)에 제공될 수 있다. 즉, 사용자단말(10)이 알림공지서버에게 인증 해시값을 전송하면, 알림공지서버(20)는 이를 수신하여 인증서버(30)에게 전달하도록 구성될 수 있다.
제2 실시예에 따르면, 인증서버(30)는 알림공지서버(20)의 접근 승인을 요청받을 시, 사용자단말(10)이 생성한 인증 해시값을 수신하여 블록체인(40)에 기록된 등록 해시값과 비교하고, 비교 결과 인증 해시값이 블록체인(40)에 기록된 등록 해시값과 일치할 경우, 해당 사용자단말(10)의 알림공지서버(20) 접근을 승인하도록 구성될 수 있다.
전술한 제1 실시예 또는 제2 실시예를 통해, 사용자단말(10)의 알림공지서버(20) 접근 요청에 대한 승인이 이루어지면, 인증서버(30)는 해당 사용자단말(10)에게 접근 허가 메시지를 전달하고, 해당 알림공지서버(20)에게 접근 요청을 전달한다.
그리고, 알림공지서버(20)와 사용자단말(10) 간에 암호화 통신 채널이 개설되어 상호 통신이 가능하게 된다.
만약, 인증 해시값과 등록 해시값의 비교 결과, 인증 해시값이 등록 해시값과 불일치할 경우, 인증서버(30)는 해당 사용자단말(10)에게 접근 불승인 메시지를 전달하고 통신을 종료한다.
본 발명의 인증서버(30)는 사용자단말(10)과 정보 송수신 시의 보안, 그리고 알공 앱 보안(즉, 해킹 및 위변조 방지)을 위해 다음의 기능을 더 수행하도록 구성될 수 있다.
인증서버(30)는 사용자단말(10)이 알공 앱에 로그인 시 새로운 세션키를 발급하거나, 또는 사용자단말(10)의 접근 대상인 알림공지서버(20)에게 주기적으로 새로운 세션키를 발급한다. 이후, 사용자단말(10)의 알림공지서버(20) 접근 시도시 가장 최근에 발급받은 세션키를 이용하여, 사용자단말(10)과 인증서버(30) 간에 정보 송수신을 위한 통신을 수행하도록 구성될 수 있다. 여기서, 사용자단말(10)과 인증서버(30) 간에 송수신하는 정보는 예컨대, 제1,2,3 식별정보, 등록 해시값, 인증 해시값 정보 등일 수 있다.
한편, 난수값을 더 조합하여 등록 해시값과 인증 해시값을 생성하도록 구성될 경우, 인증서버(30)는 사용자단말(10)로부터 알공 앱의 무결성 검증키를 수신하고, 이 무결성 검증키를 이용하여 상기 알공 앱의 프로그램이 변조되었는지 여부를 검사하도록 구성될 수 있다. 인증서버(30)는 상기 검사 결과 알공 앱이 변조되지 않은 경우, 해당 사용자단말(10)에게 난수값을 제공한다. 이와 같은 무결성 검증키는 알공 앱의 버전 정보 또는 소스코드의 체크썸(checksum) 정보를 이용하여 생성한 키값일 수 있다.
전술한 본 발명의 블록체인 기반의 모바일 단말 및 알림공지서버 간의 다중 보안 인증 시스템은 하나의 사용자단말(10)을 예시로 들어 설명하였으나, 다수의 사용자단말을 등록하고 이 다수의 사용자단말이 동일한 알림공지서버(20)에 대하여 접근 승인을 요청하고, 알림공지를 다운로드할 수 있도록 구성할 수도 있음은 물론이다.
예컨대, 제1 사용자단말이 알림공지서버의 접근을 위해 관련 정보를 블록체인(40)에 등록 저장하였다면, 제2 사용자단말, 제3 사용자단말,.., 제N 사용자단말 역시 전술한 동일한 방법에 따라 해당 사용자단말 관련 정보를 블록체인(40)에 등록한 후, 인증서버(30)의 인증 과정을 통해 알림공지서버의 접근 요청 및 접근 승인을 진행할 수 있다.
상기 경우, 인증서버(30)는 사용자단말(10)의 알림공지서버(20)에 대한 접근 권한에 따라, 사용자단말(10)을 마스터(Master)와 패밀리(Family)로 구분하여 등록하도록 구성될 수 있다.
그리고, 인증서버(30)는 패밀리로 구분된 사용자단말의 등록 시도시 마스터로 구분된 사용자단말의 승인을 요구하거나, 이 승인을 조건으로 패밀리로 구분된 사용자단말의 등록을 인가하도록 구성될 수 있다. 예를 들어, 아파트 입주민을 대상으로 알림공지 서비스를 수행할 경우, 공지를 보내는 아파트 관리소장이 마스터 사용자단말로 등록하고 나머지 입주민을 패밀리로 구분된 사용자단말로 등록하는 것이다. 마스터 사용자단말은 알림공지를 작성할 수 있는 권한이 부여되고, 작성된 알림공지에 포함된 첨부를 알림공지서버에 전송하고 수정할 수 있는 권한이 부여되며, 패밀리 사용자단말의 가입을 승인할 수 있게 된다.
일 실시예에 따르면, 인증서버(30)는 알림공지서버에 대한 접근 권한에 따라 마스터(Master)와 패밀리(Family)로 구분하여 등록할 수 있으며, 상기 경우, 패밀리로 구분된 사용자단말(예컨대, 제2,3,..N 사용자단말)의 등록 시 마스터로 구분된 사용자단말(예컨대, 제1 사용자단말)의 승인을 얻어야 그 등록 및 알림공지서버에 대한 접근 요청/승인이 가능하도록 구성될 수 있다. 즉, 아파트 관리소장이 마스터 사용자단말로 등록되어 있는 경우 해당 아파트 주민이 패밀리 사용자단말로 등록을 요청하는 경우 지금까지 설명한 인증절차 외에도 마스터 사용자단말에 문자 등을 이용하여 등록을 요청하는 패밀리 단말의 전화번호 등을 전송하고 승인을 요청하도록 하는 것이다.
한편, 등록된 사용자단말(10)을 변경하고자 할 경우, 등록 사용자단말(10)은 인증서버(30)에 사용자단말 변경을 요청할 수 있다. 상기 경우, 등록 사용자단말(10)은 인증 해시값을 생성하여 인증서버(30)에 전송하면, 이를 수시한 인증서버(30)는 블록체인(40)에 기록된 등록 해시값과 비교한다. 비교 결과, 인증 해시값이 등록 해시값과 일치할 경우, 등록 사용자단말(10)을 다른 사용자단말로 변경하는 업무를 승인하도록 구성될 수 있다. 여기서, 등록 사용자단말의 변경은 전술한 마스터에 해당하는 사용자단말을 변경하는 것을 포함할 수 있다.
본 발명의 인증서버(30)는 사용자단말(10) 및 사용자단말(10)의 접근 대상이 되는 알림공지서버 관련 정보 등을 입력받아 자체 관리용 DB에 저장하는데, 이와 같은 정보는 전술한 등록 해시값의 속성에 해당한다. 따라서, 이와 같은 개인정보가 해킹되면, 알림공지서버 접근제어 해킹(즉, 정당하지 않은 사용자단말에 대한 오승인)이 발생될 수 있는 바, 이를 방지할 수 있는 방안이 구축되어야 한다.
이하에서는, 도 6을 참조하여, 인증서버(30)의 기능들 중 개인정보 해킹을 방지하기 위한 기능에 대하여 설명하도록 한다.
인증서버(30)는 알림공지서버(20)에 고유한 다수의 식별정보(즉, 제1 식별정보)와, 사용자단말(10)에 고유한 다수의 식별정보(즉, 제2 식별정보)를 저장 관리하는 기능을 포함한다. 한편, 사용자에 고유한 다수의 식별정보(즉, 제3 식별정보)를 저장 관리할 수도 있다.
구체적으로, 인증서버(30)는 사용자단말(10) 또는 알림공지서버로부터 제1 식별정보와 제2 식별정보를 입력받아 개인정보 레코드를 구성하도록 구성된다(S21). 한편, 인증서버(30)는 제3 식별정보를 입력받아 개인정보 레코드를 구성할 수도 있음은 물론이다. 따라서, 본 발명에서 지칭하는 '개인정보 레코드'란 전술한 식별정보(즉, 제1,2,3 식별정보)의 레코드를 의미하거나, 이를 포함하는 레코드일 수 있다.
여기서, 개인정보 레코드(Record)는 데이터 필드(Data Field)에 연관성 있게 저장되어 있는 데이터들의 집합체를 의미한다. 그리고, '데이터 필드'는 각 데이터들을 저장하는 항목으로서, 이러한 필드들로 구성된 데이터의 집합체를 데이터 테이블(Data Table)이라 하며, 여러 개의 데이터 테이블이 모여 하나의 데이터베이스 (DB)를 구성한다. 각 데이터 테이블의 필드 개수는 테이블 별로 상이할 수 있다.
개인정보 레코드 구성이 완료되면, 인증서버(30)는 이 개인정보 레코드를 암호화 처리한다. 바람직한 실시예에 따르면, 인증서버(30)는 AES 알고리즘 (Advanced Encryption Standard Algorithm)에 따라 개인정보 레코드를 암호화하도록 구성될 수 있다(S23).
참고로, AES 알고리즘은 국가 표준으로 사용되었던 DES(Data Encryption Standard)의 취약점을 보안하기 위해 고안된 암호 알고리즘으로서, 미국 표준으로 사용되고 있는 대칭 암호 알고리즘이다. AES 알고리즘은 DES 암호 알고리즘과 다르게 파이스텔 암호(Feistel Cipher)를 가지고 있지 않으며, 암호 블록 크기는 128bit이다. 또한 알고리즘의 변경 없이도 128bit뿐만 아니라 192bit, 256bit 블록 크기로 확장이 가능하다.
인증서버(30)는 개인정보 레코드를 복수 개의 군으로 분할하도록 구성된다 (S25). 예컨대, 인증서버(30)는 개인정보 레코드를 2분할 또는 3분할 방식으로 분류할 수 있으며, 이때 Byte 단위 또는 Bit 단위 shift 알고리즘에 따라 분할할 수 있다.
바람직한 실시예에 따르면, 인증서버(30)는 개인정보 레코드 중 홀수항에 해당하는 개인정보 레코드는 제1 군으로 분할하고, 개인정보 레코드 중 짝수항에 해당하는 개인정보 레코드는 제2 군으로 분할하도록 구성될 수 있다. 참고로, 도 7은 Byte 단위 레코드 3분할을 위한 알고리즘으로서, 개인정보 레코드를 3군으로 상호 분리하는 코드를 나타내고 있다.
개인정보 레코드의 분할이 완료되면, 인증서버(30)는 제1 군에 속하는 개인정보 레코드는 제1 서버에 저장하고, 제2 군에 속하는 개인정보 레코드는 상기 제1 서버와 구분되는 제2 서버에 저장하며, 제N 군에 속하는 개인정보 레코드는 제1,2,3 서버와 구분되는 제N 서버에 저장한다(S27). 따라서, 서로 다른 군에 속하는 개인정보 레코드는 서로 다른 서버에 분산 저장된다. 따라서, 일부 서버가 해킹되더라도 복호화가 불가능하고, 개인정보의 파악이 불가능한 바, 알림공지서버(20)의 보안성을 크게 향상시킬 수 있다.
인증서버(30)는 해킹 등으로 인한 인증서버 작동불능 및 원상복구를 대비하여, 전술한 개인정보 레코드들을 WORM(Write Once Read Many) 디스크에 기록하여 백업하도록 구성될 수 있다(S29). 상기 경우, 바람직하게는, 제1 군에 속하는 개인정보 레코드는 제1 WORM 디스크에 기록하고, 제2 군에 속하는 개인정보 레코드는 상기 제1 WORM 디스크와 구분되는 제2 WORM 디스크에 기록하며, 제N 군에 속하는 개인정보 레코드는 상기 제1,2 WORM 디스크와 구분되는 제N WORM 디스크에 기록하도록 구성될 수 있다.
WORM 디스크는 하드디스크를 기반으로 하는 대용량 표준 네트워크 스토리지로서, 한번 저장된 데이터는 관리자 권한으로도 삭제와 위변조를 할 수 없다. WORM (Write Once Read Many) 디스크는 데이터를 한 번밖에 기록할 수 없으나, 이에 기록된 데이터는 수없이 읽을 수 있다.
이하에서는, 본 발명의 블록체인 기반의 모바일 사용자단말 및 알림공지서버 간의 다중 보안 인증 방법에 대하여 설명하도록 한다. 참고로, 후술할 다중 보안 인증 방법의 각 단계를 수행하는 각 주체(예컨대, 사용자단말, 알림공지서버, 인증서버 등)의 세부적인 내용 및 구성은 앞서 설명한 바와 동일하므로 그에 대한 상세한 설명은 생략하기로 한다.
본 발명의 본 발명의 블록체인 기반의 모바일 사용자단말 및 알림공지서버 간의 다중 보안 인증 방법은 크게, 등록 해시값 생성 및 등록 단계와, 알림공지서버 접근요청/승인 단계를 포함한다.
(1) 등록 단계
등록 단계는 사용자단말(10)의 정당성 인증과 관련된 정보를 블록체인(40)에 기록 저장하는 절차이다.
도 2는 본 발명에 따른 등록 단계의 등록 과정을 나타낸 블록 순서도이다.
제1 실시예에 따르면, 먼저, 사용자단말(10)이 알공 앱을 구동하거나 또는 인증서버(30)에 접속하여 등록 해시값을 생성한다(S10). 또는, 사용자단말(10)의 등록 요청시, 인증서버(30)가 등록 해시값을 생성할 수도 있다.
등록 해시값 생성이 완료되면, 인증서버(30)가 등록 해시값 관련 정보를 블록체인(40)에 기록함으로써 등록 해시값의 등록 과정이 완료된다.
여기서, 상기 '등록 해시값 관련 정보'는 제1 해시, 제2 해시 또는 제3 해시에 관한 정보이거나, 또는 제1 해시, 제2 해시, 및 제3 해시 중 적어도 2개가 혼합된 해시에 관한 정보일 수 있다.
구체적으로, '등록 해시값 관련 정보'는 제1 해시의 후술할 제1 식별정보의 조합 방식에 관한 정보(이하, 제1 조합정보)이거나, 제2 해시의 후술할 제2 식별정보의 조합 방식(이하, 제2 조합정보)에 관한 정보이거나, 제3 해시의 후술할 제3 식별정보의 조합 방식(이하, 제3 조합정보)에 관한 정보이거나, 또는 제1,2 혼합 해시의 제1,2,3 식별정보의 조합 방식(이하, 혼합 조합정보)에 관한 정보를 포함한다.
한편, 등록 해시값 관련 정보를 블록체인(40)에 기록하는 단계는 인덱스값으로 기능하는 사용자 코드를 등록 해시값에 추가하는 단계(S11)와, 사용자 코드가 추가된 등록 해시값 관련 정보를 블록체인(40)의 바디에 기록하는 단계(S12)를 더 포함할 수 있다.
단계 S10 ~ S12가 완료되면, 해당 사용자단말(10)의 등록 해시값 관련 정보는 블록체인(40)에 저장되어, 사용자단말(10)의 정당성 인증 과정에서 사용된다.
제2 실시예에 따르면, 사용자단말(10)은 전술한 제1 해시, 제2 해시 또는 제3 해시를 이용하여 등록 해시값을 생성하거나, 또는 이들을 조합하여 등록 해시값을 생성할 수 있고, 더 나아가 난수값을 더 조합하여 등록 해시값을 생성할 수도 있다. 만약, 등록 해시값 생성시 난수값을 더 조합할 경우, 이 난수값은 인증서버(30) 또는 알림공지서버(20)로부터 제공받은 것일 수 있다.
이때, 사용자단말(10)은 탑재된 알공 앱을 구동하여 등록 해시값을 생성할 수 있고, 생성된 등록 해시값을 인증서버(30) 또는 알림공지서버(20)에 전송할 수 있다.
등록 해시값은 사용자단말(10)이 인증서버(30)에게 직접 전송하거나, 또는 알림공지서버(20)를 경유하여 인증서버(30)에 제공될 수 있다. 즉, 사용자단말(10)이 알림공지서버에게 등록 해시값을 전송하면, 알림공지서버(20)는 이를 수신하여 인증서버(30)에게 전달하도록 구성될 수 있다.
인증서버(30)는 사용자단말(10) 또는 알림공지서버(20)로부터 수신한 등록 해시값을 블록체인(40)에 기록함으로써, 등록 해시값의 등록 과정이 완료된다.
한편, 등록 해시값을 블록체인에 기록하는 단계는 인덱스값으로 기능하는 사용자 코드를 등록 해시값에 추가하는 단계와, 사용자 코드가 추가된 등록 해시값을 블록체인(40)의 바디에 기록하는 단계를 더 포함할 수 있다.
전술한 과정이 완료되면, 해당 사용자단말(10)의 등록 해시값은 블록체인(40)에 저장되어, 사용자단말(10)의 정당성 인증 과정에서 사용된다.
(2) 알림공지서버 접근요청 및 승인 단계
알림공지서버 접근요청 및 승인 단계는 사용자단말(10)이 인증서버(30)에게 알림공지서버(20)의 접근을 승인을 요청하고, 인증서버(30)가 이 요청에 응답하여 해당 사용자단말(10)의 정당성을 검증한 후 알림공지서버(20)에 대한 접근을 승인하는 단계이다. 이와 같은 알림공지서버 접근요청 및 승인 단계는 다양한 실시 형태로 구현될 수 있다.
(2-1) 제1 실시예
도 3은 본 발명의 제1 실시예에 따른 알림공지서버 접근요청 및 승인 과정을 나타낸 업무 흐름도이다.
도 3을 참조하면, 사용자단말(10)에서 알공 앱을 구동하여 알림공지서버(20)로 로그인을 수행한다. 이때, 알림공지서버(20)에 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청 단계로 가서 처음부터 인증 과정을 다시 진행한다.
알림공지서버(20)에 정상적으로 로그인 수행되면 알림공지서버(20)에서 사용자단말(10)의 로그인을 승인한다. 그리고, 로그인이 승인되면 사용자단말(10)에서 알림공지서버(20)로 사용자단말(10) 정보와 사용자단말(10)에 설치된 알공 앱의 무결성 검증키(예컨대, 버전 정보, 체크썸 (checksum) 등)를 전송한다(S101).
알림공지서버(20)는 사용자단말(10)로부터 수신된 사용자단말정보, 무결성 검증키 및 알림공지서버 정보를 인증서버(30)로 전송한다(S103).
인증서버(30)는 알림공지서버(20)로부터 수신한 무결성 검증키를 검사하여, 해당 사용자단말(10)의 알공 앱에 이상이 없는지 확인한다(S105). 여기서, 알공 앱에 이상이 없는지 확인하는 것은 예컨대 해당 알공 앱이 해킹 등에 의해 위조/변조되었는지를 검사하는 것을 의미할 수 있다. 그리고, 무결성 검증키 검사는 인증서버(30)의 관리용 단말 DB에 기등록된 사용자단말(10)의 알공 앱 무결성 검증키와 비교하는 방식으로 수행될 수 있다.
무결성 검증키 검사 결과, 해당 알공 앱에 이상이 있을 경우, 인증서버(30)는 알림공지서버에게 인증실패 메시지를 전송하게 된다. 그리고, 알림공지서버(20)는 수신된 인증실패 메시지를 사용자단말(10)에게 전달한다.
무결성 검증키 검사 결과, 해당 알공 앱에 이상이 없을 경우, 인증서버(30)는 해당 사용자단말(10)의 알공 앱에 이상이 없음을 통보한다(S107). 그러면, 알림공지서버(20)는 난수 생성기를 통해 난수값을 생성하여 사용자단말(10)로 전송한다(S109).
알림공지서버(20)로부터 난수값이 수신되면, 사용자단말(10)은 난수값을 이용하여 인증 해시값을 생성한 후, 이를 알림공지서버(20)로 전송한다(S111). 여기서, 인증 해시값은 사용자단말(10)의 정당성을 확인하기 위한 인증수단으로서, 전술한 바와 같이 제1 해시, 제2 해시 또는 제3 해시를 이용하여 생성한 값이거나, 또는 상기 제1 해시, 상기 제2 해시 및 제3 해시 중 적어도 2개를 조합하여 생성한 값이다. 더 나아가, 인증 해시값은 난수값을 더 조합하여 생성한 값일 수 있다.
알림공지서버(20)는 사용자단말(10)로부터 수신한 인증 해시값, 사용자단말 정보, 및 알림공지서버 정보를 인증서버(30)로 전송한다(S113).
알림공지서버(20)로부터 인증 해시값이 수신되면, 인증서버(30)는 관리용 DB에 등록 저장된 식별정보, 알림공지서버(20)에서 생성된 난수값, 및 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 등록 해시값을 생성한다(S117).
구체적으로, 인증서버(30)는 알림공지서버(20)의 접근 승인을 요청받을 시(즉, 알림공지서버(20)로부터 인증 해시값을 수신시), 블록체인(40)에 기록된 등록 해시값 관련 정보 즉, 조합방식에 관한 정보를 열람한다(S115). 여기서, 블록체인(40)에 기록된 조합방식 정보는 도 1에서 설명한 바와 동일하다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자단말(10) 및 알림공지서버(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 사용자단말(10)이 생성한 인증 해시값을 등록 해시값과 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자단말의 정당성)을 판별한다(S119).
상기 비교결과, 인증 해시값이 등록 해시값과 일치하지 않을 경우, 인증서버(30)는 알림공지서버(20)로 인증실패 메시지를 전송하게 되고, 이러한 인증실패 메시지는 알림공지서버(20)에서 다시 사용자단말(10)로 전송되어 인증이 실패했음이 통보된다.
비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 알림공지서버(20)에 로그인한 사용자단말(10)을 정당한 사용자단말(10)로 인증하고, 인증성공 메시지를 알림공지서버에게 전송하고, 인증 결과 및 인증된 사용자단말(10)의 단말정보와 알림공지서버 정보를 등록한다(S121).
그리고, 인증서버(30)가 알림공지서버(20)로 인증성공 메시지를 전송하면, 알림공지서버(20)는 이를 사용자단말(10)로 전달함으로써 인증이 성공했음을 통보한다 (S123).
그리고, 알림공지서버(20)와 사용자단말(10) 간에 암호화 통신 채널이 개설되어, 사용자단말(10)이 알림공지서버(20)를 접속하는 것이 가능하게 된다(S125).
(2-2) 제2 실시예
도 4는 본 발명의 제2 실시예에 따른 알림공지서버 접근요청 및 승인 과정을 나타낸 업무 흐름도이다.
도 4를 참조하면, 사용자단말(10)에서 알공 앱을 구동하여 인증서버(30)로 로그인을 수행한다. 이때, 인증서버(30)에 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청 단계로 가서 처음부터 인증 과정을 다시 진행한다.
인증서버(30)에 정상적으로 로그인 수행되면 인증서버(30)에서 사용자단말(10)의 로그인을 승인한다. 그리고, 로그인이 승인되면 사용자단말(10)에서 인증서버(30)로 사용자단말(10) 정보와 사용자단말(10)에 설치된 알공 앱의 무결성 검증키(예컨대, 버전 정보, 체크썸 (checksum) 등)를 전송한다(S201).
인증서버(30)는 사용자단말(10)로부터 수신한 무결성 검증키를 검사하여, 해당 사용자단말(10)의 알공 앱에 이상이 없는지 확인한다(S203). 여기서, 알공 앱에 이상이 없는지 확인하는 것은 예컨대 해당 알공 앱이 해킹 등에 의해 위조/변조되었는지를 검사하는 것을 의미할 수 있다. 그리고, 무결성 검증키 검사는 인증서버(30)의 관리용 단말 DB에 기등록된 사용자단말(10)의 알공 앱 무결성 검증키와 비교하는 방식으로 수행될 수 있다.
무결성 검증키 검사 결과, 해당 알공 앱에 이상이 있을 경우, 인증서버(30)는 사용자단말(10)에게 인증실패 메시지를 전송하게 된다.
무결성 검증키 검사 결과, 해당 알공 앱에 이상이 없을 경우, 인증서버(30)는 해당 사용자단말(10)에게 이상이 없음을 통보한다(S205). 그러면, 인증서버(30)는 난수 생성기를 통해 난수값을 생성하여 사용자단말(10)로 전송한다(S207).
인증서버(30)로부터 난수값이 수신되면, 사용자단말(10)은 난수값을 이용하여 인증 해시값을 생성한 후, 이 인증 해시값과 해당 사용자단말(10)의 단말정보를 알림공지서버(20)로 전송한다(S209).
알림공지서버(20)는 사용자단말(10)로부터 수신한 인증 해시값, 사용자단말 정보, 및 알림공지서버 정보를 인증서버(30)로 전송한다(S211).
알림공지서버(20)로부터 인증 해시값이 수신되면, 인증서버(30)는 관리용 DB에 등록 저장된 식별정보, 알림공지서버(20)에서 생성된 난수값, 및 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 등록 해시값을 생성한다(S215).
구체적으로, 인증서버(30)는 알림공지서버(20)의 접근 승인을 요청받을 시(즉, 알림공지서버(20)로부터 인증 해시값을 수신시), 블록체인(40)에 기록된 등록 해시값 관련 정보 즉, 조합방식에 관한 정보를 열람한다(S213). 여기서, 블록체인(40)에 기록된 조합방식 정보는 도 1에서 설명한 바와 동일하다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자단말(10) 및 알림공지서버(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 사용자단말(10)이 생성한 인증 해시값을 등록 해시값과 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자단말의 정당성)을 판별한다(S217).
상기 비교결과, 인증 해시값이 등록 해시값과 일치하지 않을 경우, 인증서버(30)는 사용자단말(10)로 인증실패 메시지를 전송하여 인증이 실패했음이 통보한다.
상기 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 해당 사용자단말(10)을 정당한 사용자단말로 인증하고, 인증성공 메시지를 사용자단말(10)에게 전송하여 인증이 성공했음이 통보하고, 인증 결과 및 인증된 사용자단말(10)의 단말정보와 알림공지서버 정보를 등록한다(S219).
그리고, 알림공지서버(20)와 사용자단말(10) 간에 암호화 통신 채널이 개설되어, 사용자단말(10)이 알림공지서버(20)를 접속하는 것이 가능하게 된다(S221).
(2-3) 제3 실시예
도 5는 본 발명의 제3 실시예에 따른 알림공지서버 접근요청 및 승인 과정을 나타낸 업무 흐름도이다.
도 5를 참조하면, 사용자단말(10)에서 알공 앱을 구동하여 어플리케이션 검증서버(50)로 로그인을 수행한다. 이때, 어플리케이션 검증서버(50)에 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청 단계로 가서 처음부터 인증 과정을 다시 진행한다.
어플리케이션 검증서버(50)에 정상적으로 로그인 수행되면 어플리케이션 검증서버(50)에서 사용자단말(10)의 로그인을 승인한다. 그리고, 로그인이 승인되면 사용자단말(10)에서 어플리케이션 검증서버(50)로 사용자단말 정보와 사용자단말에 설치된 알공 앱의 무결성 검증키(예컨대, 버전 정보, 체크썸 (checksum) 등)를 전송한다(S301).
어플리케이션 검증서버(50)는 사용자단말(10)로부터 수신한 무결성 검증키를 검사하여, 해당 사용자단말(10)의 알공 앱에 이상이 없는지 확인한다(S303).
무결성 검증키 검사 결과, 해당 알공 앱에 이상이 있을 경우, 어플리케이션 검증서버(50)는 사용자단말(10)에게 인증실패 메시지를 전송하게 된다.
무결성 검증키 검사 결과, 해당 알공 앱에 이상이 없을 경우, 어플리케이션 검증서버(50)는 해당 사용자단말(10)에게 이상이 없음을 통보한다(S305). 그리고, 어플리케이션 검증서버(50)는 난수값을 생성한 후, 이 난수값을 이용하여 인증 해시값을 생성한다(S309).
한편, 어플리케이션 검증서버(50)에서 해당 알공 앱에 이상이 없음이 통보되는 경우, 사용자단말(10)은 알림공지서버(20)로 사용자단말(10)의 단말정보를 전송한다(S307). 그러면, 알림공지서버(20)는 사용자단말(10)로부터 수신된 사용자단말 정보와 알림공지서버 정보를 인증서버(30)로 전송한다(S311).
어플리케이션 검증서버(50)는 사용자단말(10)의 단말정보와 인증 해시값을 인증서버(30)로 전송한다(S313). 그러면, 인증서버(30)는 관리용 DB에 등록 저장된 식별정보, 어플리케이션 검증서버(50)에서 생성된 난수값, 및 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 등록 해시값을 생성한다(S317).
구체적으로, 인증서버(30)는 알림공지서버(20)의 접근 승인을 요청받을 시(즉, 어플리케이션 검증서버(50)로부터 인증 해시값을 수신시), 블록체인(40)에 기록된 등록 해시값 관련 정보 즉, 조합방식에 관한 정보를 열람한다(S315). 여기서, 블록체인(40)에 기록된 조합방식 정보는 도 1에서 설명한 바와 동일하다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자단말(10) 및 알림공지서버(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 인증 해시값과 등록 해시값을 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자단말의 정당성)을 판별한다(S319).
상기 비교결과, 인증 해시값이 등록 해시값과 일치하지 않을 경우, 인증서버(30)는 사용자단말(10)로 인증실패 메시지를 전송하여 인증이 실패했음이 통보한다.
상기 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 해당 사용자단말(10)을 정당한 사용자단말로 인증하고, 인증성공 메시지를 사용자단말(10)에게 전송하여 인증이 성공했음이 통보하고, 인증 결과 및 인증된 사용자단말(10)의 단말정보와 알림공지서버 정보를 등록한다(S321).
그리고, 알림공지서버(20)와 사용자단말(10) 간에 암호화 통신 채널이 개설되어, 사용자단말(10)이 알림공지서버(20)에 접근하는 것이 가능하게 된다(S323).
도 8은 지금까지 설명한 제3자 인증 방식을 복합적으로 사용하여 사용자단말을 인증하는 과정을 설명하는 흐름도이다. 사용자단말(10)이 로그인 한 후, 사용자단말(10)의 알공 앱에서 사용자단말(10)을 인증받아야 하는 메뉴로 진입하였을 때 사용자단말의 고유정보를 알림공지서버(20)로 전송하고 알림공지서버(20)는 인증서버(30)로 사용자단말의 고유정보를 전송하고, 인증서버(30)는 인증DB(Auth DB)에 저장되어있는 단말기 고유정보와 비교한다.
비교결과 거짓일 경우 로그 DB(Log DB)에 일시와 인증 실패 내용을 저장하고 참일 경우 인증서버(30)에서 생성한 난수값을 알림공지서버(20)를 통하여 사용자단말(10)로 전달한다.
난수값을 전달받은 사용자단말(10)은 사용자단말의 고유정보와 난수값을 혼합하여 제1혼합해시값을 만들어 알림공지서버(20)에 전달한다.
제1혼합해시값을 전달받은 알림공지서버(20)는 한 번 더 해시함수를 적용하여 인증해시값으로 만들어 인증서버(30)에 전달한다.
알림공지서버(20)는 전달받은 인증해시값과 인증서버(30)에서 인증 DB(Auth DB)와 해시DB(Hash DB), 동일한 난수값을 활용하여 같은 방법으로 생성한 등록해시값을 비교한다.
거짓일 경우 로그 DB(Log DB)에 일시와 인증 실패 내용을 저장하고 참일 경우 인증서버(30)에서 인증성공 메세지(예:Auth OK)를 알림공지서버(20)에 전달한다. 인증이 완료된 사용자단말(10)은 알림공지서버(20)에서 사용자단말(10)로 해당 메뉴를 실행할 수 있도록 허여한다. 인증DB(Auth DB)에서는 사용자단말(10)의 인증 정보를 비교하고, 해시DB(Hash DB)에서는 혼합해시 값을 비교한다. 인증에 실패한 경우 로그DB(Log DB)에서 해킹인지 아닌지 걸러주는 역할을 한다.
도 9는 본 발명에 따른 일 실시예인 알림 공지 시스템을 이용하여 알림을 공지하는 과정을 설명하는 흐름도이다. 전술한 예와 동일한 상황으로 아파트 관리 소장 스마트폰 단말을 마스터 사용자단말(10a)로 설정하고 해당 아파트의 일반 소유자를 패밀리 사용자단말(10b)로 가정하여 설명한다.
마스터 사용자단말(10a)은 알림공지를 하고자 하는 내용을 '제목, 내용, 첨부이미지'로 구성되는 알림공지문서를 작성하고 마스터 사용자단말에 저장한다(S501). 제목은 한 줄을 넘지 않으며 공지하고자 하는 핵심 내용을 간단히 알리기 위한 단문 형식을 갖는다. 내용은 제목보다 상세하게 문자 형식으로 알림 내용을 설명하는 문장으로 구성된다. 첨부이미지는 알림 내용 전체를 공지하는 문서를 촬영한 이미지 파일을 의미한다. 예를 들어, 본 발명 이전에 아파트 입주민에게 '매주 화, 목요일마다 아파트 농산물 장터 개설'이라는 내용을 알리기 위해서는 엘리베이트 또는 출입문 인근에 위치하는 게시판에 관리소장의 도장이 날인된 관련 공문을 게시하게 된다. 본 발명에서 의미하는 첨부이미지란 이러한 공지 내용을 전자 문서(PDF, 한글, 워드, 그림파일)로 작성한 후 출력한 문서를 촬영한 이미지 파일로 보면 된다. 즉, 공지된 알림을 정확히 확인하기 위해서는 제목 및 내용만으로는 파악할 수 없으며 반드시 첨부이미지를 확인해야 하는 것이다.
작성된 알림공지문서는 알림공지서버(20)로 전송된다(S503). 이때 해당 알림공지문서를 받아볼 패밀리 리스트도 함께 전송된다. S503 단계에서 전송되는 패밀리 리스트는 해당 공지문서를 실제 수령할 각각의 패밀리 사용자단말 리스트가 전송될 수도 있으며 각 패밀리 사용자단말 리스트를 전송하는 대신에 미리 저장된 그룹명을 송부할 수도 있다. 사용자단말을 등록하는 단계 또는 별도 절차로 알림공지를 수행하기 위한 마스터 사용자단말 및 복수 개 패밀리 사용자단말을 지정하는 단계에서 알림공지서버에 이러한 리스트를 그룹으로 미리 저장해 두기 때문에 S503 단계에서는 해당 패밀리를 특정하기 위한 식별자만 전송하면 되는 것이다. 예를 들어, A아파트 관리소장(마스터 사용자단말)은 전체 입주민(패밀리 사용자단말)을 수신 리스트로 하는 'A아파트 전체 입주민' 그룹 또는 A아파트 관리소장(마스터 사용자단말)은 전체 입주민 중에서 투표로 선정된 관리임원(패밀리 사용자단말)만을 수신 리스트로 하는 'A아파트 관리임원' 그룹을 지정하여 운영할 수도 있다. 이와 같이 그룹은 마스터 사용자단말에 의해 원하는 수만큼 생성될 수 있다. 이와 같은 예에서는 S503단계에서 수신인을 특정하기 위해 전체 패밀리 사용자단말 리스트를 지정할 필요없이 'A아파트 전체 입주민' 그룹이라고 지정하여 송부하면 되는 것이다.
알림공지서버(20)는 송부받은 알림공지문서를 저장하고(S505), 패밀리 리스트 대상 패밀리 사용자단말(10b)에게 푸시 방식으로 제목 및 내용을 전송하고(S509), 전송 이력을 블록체인(40)에 트랜잭션한다. S509 단계에서는 첨부이미지는 패밀리 사용자단말(10b)에 전송되지는 않는다. 패밀리 사용자단말(10b)이 푸시 방식으로 수신된 제목 및 내용을 확인하고 전체 상세한 내용을 확인하기 위해서 알림공지서버(20)에 알림공지를 요청하면(S511), 알림공지서버(20)는 저장되어 있던 첨부이미지에 타임 스탬프를 생성하고(S513), 타임 스탬프가 찍힌 첨부이미지를 패밀리 사용자단말(10b)에 다운로드시키며(S515), 다운로드 기록을 블록체인(40)에 트랜잭션하게 된다(S517). 패밀리 사용자단말(10b)이 타임스탬프 완료된 첨부이미지를 열람하게 되면(S519) 해당 열람 기록도 블록체인 네트워크에 트랜잭션하게 되는 것이다(S521).
도 9의 흐름에서 알림공지서버(20)와 마스터 사용자단말(10a) 및 알림공지서버(20)와 패밀리 사용자단말(10b)은 암호화된 세션키 방식 통신을 이용하여 진행된다. 도 10은 본 발명에서 실행되는 암호화된 통신 채널 개설 흐름을 설명하는 흐름도이다. 도 3 내지 도 5에 의해서 사용자단말 및 알림공지서버에 대하여 인증서버(30)를 통한 제3자 인증을 마친 후 도 3에서는 S125단계, 도 4에서는 S221단계 및 도 5에서는 S323단계에서 통신 채널이 개설되게 된다. 도 10에서는 이러한 암호화된 통신 채널 개설 흐름을 설명한다.
사용자단말(10)은 통신 채널 개통을 요청한다(①). 이때 SD(Session ID)와 PID(Peer ID)를 함께 전송한다. 알림공지서버(20)은 SD와 PID를 인증서버(30)로 전달한다. 인증서버(30)는 전달받은 SD와 PID가 서버 DB에 있는 값과 일치하면 알림공지서버(20)로 난수값을 전달한다. 알림공지서버(20)는 인증서버(30)로부터 전달받은 난수값을 사용자단말(10)로 전달한다(②).
전달받은 난수값을 사용자단말정보와 조합한 후, 해쉬화하여 알림공지서버(20)로 전달한다(③). 사용자단말(10)로부터 전달받은 해쉬값을 알림공지서버의 고유값으로 한번 더 해쉬화하여 최종해쉬값을 인증서버(30)로 전달한다(④).
인증서버(30)에서는 전달받은 최종해쉬값과 블록체인(40)에 기 저장되어져 있는 사용자단말 정보와 조합정보를 활용하여 난수값과 조합하여 해쉬화한 인증해쉬값이 일치하는지 검사한다(⑤). 인증 성공시 통신채널 개통을 허용하고, 인증 실패시 통신채널 개통을 불허용한다(⑥).
이러한 인증방식을 적용하더라도 여전히 몇 가지 보안상 문제점이 발생될 수 있다. 한가지 문제점은 마스터 사용자단말(10)이 생성하는 알림공지에 포함된 첨부이미지의 진위 여부에 대한 검증이 충분하지 않다는 것이다. 이를 해결하기 위하여 본 발명에서는 도 11에 제시된 바와 같이 마스터 사용자단말(10)이 알림공지등록메뉴를 실행할 경우 도 8과는 추가적인 인증 절차로 수행되도록 구현하였다.
도 11은 지금까지 설명한 제3자 인증 방식을 복합적으로 사용하여 마스터 사용자단말이 알림공지 등록 메뉴를 실행할 경우 이를 인증하는 과정을 설명하는 흐름도이다. 마스터 사용자단말(10)이 로그인 한 후, 마스터 사용자단말(10)의 알공 앱에서 알림공지 등록 메뉴를 실행할 경우, 마스터 사용자단말의 고유정보 및 첨부이미지를 알림공지서버(20)로 전송하고 알림공지서버(20)는 인증서버(30)로 사용자단말의 고유정보 및 첨부이미지를 전송하고, 인증서버(30)는 먼저 마스터 사용자단말의 고유정보를 인증DB(Auth DB)에 저장되어있는 단말기 고유정보와 비교한다. 비교결과 거짓일 경우 로그 DB(Log DB)에 일시와 인증 실패 내용을 저장하고 마스터 사용자단말(10)에 통지한다.
참일 경우 첨부이미지로부터 위도, 경도, GPS위치정보, 이미지의 카메라정보, 사이즈, 해상도, 이미지 이름, etc ….등의 데이터를 분류하고 분류된 데이터를 이용하여 인증DB(Auth DB)에 저장되어있는 마스터 사용자단말(10) 정보와 비교한다. 따라서 마스터 사용자단말(10)의 경우는 해당 마스트 사용자단말(10)이 일반적으로 거주 또는 머무는 위도, 경도, GPS위치정보를 사전에 파악한 후 저장하여야 하며 마스터 사용자단말(10)에 구비된 카메라 정보 등도 사전에 파악한 후 저장해 두어야 한다.
첨부이미지 비교결과 거짓일 경우 로그 DB(Log DB)에 일시와 인증 실패 내용을 저장하고 마스터 사용자단말(10)에 통지하고, 참일 경우에는 인증서버(30)에서 생성한 난수값을 알림공지서버(20)를 통하여 사용자단말(10)로 전달한다.
난수값을 전달받은 사용자단말(10)은 사용자단말의 고유정보와 난수값을 혼합하여 제1혼합해시값을 만들어 알림공지서버(20)에 전달한다. 제1혼합해시값을 전달받은 알림공지서버(20)는 한 번 더 해시함수를 적용하여 인증해시값으로 만들어 인증서버(30)에 전달한다. 알림공지서버(20)는 전달받은 인증해시값과 인증서버(30)에서 인증 DB(Auth DB)와 해시DB(Hash DB), 동일한 난수값을 활용하여 같은 방법으로 생성한 등록해시값을 비교한다.
거짓일 경우 로그 DB(Log DB)에 일시와 인증 실패 내용을 저장하고 참일 경우 인증서버(30)에서 인증성공 메세지(예:Auth OK)를 알림공지서버(20)에 전달한다. 인증이 완료된 사용자단말(10)은 알림공지서버(20)에서 사용자단말(10)로 해당 메뉴를 실행할 수 있도록 허여한다. 인증DB(Auth DB)에서는 사용자단말(10)의 인증 정보를 비교하고, 해시DB(Hash DB)에서는 혼합해시 값을 비교한다. 인증에 실패한 경우 로그DB(Log DB)에서 해킹인지 아닌지 걸러주는 역할을 한다.
도 11과 도 9에 제시된 처리 흐름의 연관성에 대해 설명하기로 한다. 도 11에 제시된 단계는 도 9에서 S5505단계 이전에 수행되는 절차로 이해하면 된다. 즉, 도 9에서 S501단계에서 마스터 사용자단말(10a)에서 작성한 '제목, 내용 및 첨부이미지'로 이루어지는 알림공지내용을 작성한 후 S503단계에서 알림공지서버(20)로 알림공지내용이 전부 전송되는 것으로 설명되었으나, 도 11을 적용할 경우 도 9에서 S503단계는 제목, 내용 및 패밀리 리스트만 알림공지서버(20)로 전송되고, 첨부이미지와 마스터 사용자단말(10a)로부터 전송받은 고유정보는 인증서버로 전송한 후(이러한 정보는 알림공지서버를 경유한 후 인증서버로 전송되어도 무방함) 도 11에 따라 고유정보 및 첨부이미지에 따른 인증을 수행한 후, 도 9의 S505단계부터 적용하면 되는 것이다. 구체적으로는 S503단계에서 알림공지내용, 패밀리 리스트 및 마스터 사용자단말 고유정보가 마스터 사용자단말(10a)로부터 알림공지서버(20)로 전송되는 것으로 수정되어야 한다.
도 11에 제시된 방향으로 인증을 수행하더라도 알림공지서버(20)로부터 해당 공지문서에 대한 패밀리 사용자단말(10b)로 인증받지 않은 패밀리 사용자단말(10b)이 수신 리스트로 지정되지 않은 첨부 문서에 접근하여 열람할 수 있는 문제가 발생될 수 있다. 이는 인증서버(30)로부터 인증을 받은 패밀리 사용자단말(10b)은 알림공지서버(20)와 통신 채널이 형성되어 있기 때문에 수신인으로 포함되어 있지 않은 패밀리 사용자단말과 알림공지서버(20) 사이의 패킷을 탈취하기가 비교적 용이하기 때문이다. 예를 들어, 'A아파트 전체 입주민' 그룹에 속하나 'A아파트 관리임원' 그룹에는 속하지 않는 패밀리 사용자단말 중 하나를 패밀리 제1사용자단말이라고 가정하기로 한다. 패밀리 제1사용자단말의 경우 인증서버에 의한 인증에 문제가 없으므로 알림공지서버(20)와 통신 채널이 형성될 수 있다. 그런데 이와 같이 통신 채널이 형성된 상태에서 A아파트 관리소장(마스터 사용자단말)이 'A아파트 관리임원' 그룹에 속하는 패밀리 사용자단말('패밀리 제2사용자단말'이라 함)에 송부한 첨부이미지를 열람하기 위해 알림공지서버(20)와 패밀리 제2사용자단말 사이의 패킷을 탈취하여 승인되지 않은 문서를 볼 수 있는 문제가 발생될 수 있다.
본 발명에서는 이러한 문제점을 해결하기 위하여 암호화된 통신 채널이 개설될 때마다 시퀀셜하게 채널번호를 발생시켜 사용하는 방식을 제안한다. 여기서 시퀀셜하게 채널번호를 발생시킨다는 것은 일정한 규칙에 따라 순차적으로 증가하거나 감소하는 채널번호를 발생시킨다는 것이다. 예를 들어, '1, 2, 3, 4, 5, ...' 또는 '1, 3, 5, 7, 9, ...' 또는 '1000, 999, 998, 997, 996, ..." 등을 예로 들 수 있다.
도 12는 인증된 사용자단말 사이에 패킷이 탈취되는 것을 방지하기 위해 본 발명에서 실행되는 암호화된 통신 채널 개설 흐름을 설명하는 흐름도이다. 도 3 내지 도 5에 의해서 사용자단말 및 알림공지서버에 대하여 인증서버(30)를 통한 제3자 인증을 마친 후 도 3에서는 S125단계, 도 4에서는 S221단계 및 도 5에서는 S323단계에서 통신 채널이 개설되게 된다. 도 10에서는 이러한 암호화된 통신 채널 개설 흐름을 설명한다.
사용자단말(10)은 통신 채널 개통을 요청한다(①). 이때 SD(Session ID)와 PID(Peer ID)를 함께 전송한다. 알림공지서버(20)는 SD와 PID를 인증서버(30)로 전달한다. 인증서버(30)는 전달받은 SD와 PID가 서버 DB에 있는 값과 일치하면 알림공지서버(20)로 난수값과 시퀀셜하게 부여된 채널번호(이하, '시퀀셜 채널번호'이라 함)를 생성시켜 전달한다. 알림공지서버(20)는 인증서버(30)로부터 전달받은 난수값과 시퀀셜 채널번호를 사용자단말(10)로 전달한다(②).
전달받은 난수값을 사용자단말정보와 조합한 후, 해쉬화하고 시퀀셜 채널번호와 함께 알림공지서버(20)로 전달한다(③). 사용자단말(10)로부터 전달받은 해쉬값을 알림공지서버의 고유값으로 한번 더 해쉬화한 최종해쉬값과 시퀀셜 채널번호와 함께 인증서버(30)로 전달한다(④).
인증서버(30)에서는 전달받은 최종해쉬값과 블록체인(40)에 기 저장되어져 있는 사용자단말 정보와 조합정보를 활용하여 난수값과 조합하여 해쉬화한 인증해쉬값이 일치하는지 검사한다(⑤). 인증 성공시 시퀀셜 채널번호를 전송하면서 통신채널 개통을 허용하고, 인증 실패시 통신채널 개통을 불허용한다(⑥).
도 12와 같이 사용자단말(10)과 알림공지서버(20) 사이에 암호화된 통신 채널이 개설될 때마다 시퀀셜 채널번호를 부여하면 전술한 예시에 제시된 바와 같이 첨부이미지 열람이 허가되지 않은 패밀리 제1사용자단말이 첨부이미지 열람이 허가된 패밀리 제2사용자단말의 첨부이미지를 확인하기 위해서는 암호화된 통신 채널상의 패킷을 탈취하여야 한다. 그런데 패킷을 탈취할 경우 시퀀셜 채널번호도 함께 탈취할 수 밖에 없다. 따라서 인증서버(30)는 현재까지 생성된 최신의 시퀀셜 채널번호보다 이전에 발생된 시퀀셜 채널번호를 이용하여 패킷이 전송되는 것을 파악하게 되면 정당한 패킷이 아님을 파악하고 해당 암호화된 통신 채널을 폐쇄해 버리는 방안으로 이미 인증된 사용자단말 사이의 첨부이미지 보안도 수행할 수 있게 되는 것이다.
즉, 도 12에 따른 암호화된 채널 개설 방식에 의하면 패킷을 탈취하여도 hash되어 있고 hash된 값을 100번 이상의 hash가 되어 있으며, 해시를 푸는데도 성능좋은 슈퍼컴퓨터로 상당한 시간이 소요되며, 해시를 풀더라도 혼합해시(난수값이포함)가 되어 있어서 TTL적용으로 유효한 시간값이 지나서 전자전송의 이미지 알림공지정보를 해킹할 수 없게 된다. 이와 더불어 시퀀셜 채널번호를 이용함으로써 인증된 사용자단말 사이의 첨부이미지 보안도 수행할 수 있게 되었다.
개인정보를 본인 동의없이 제3자에게 전송하면 개인에게 불이익이 발생할 수 있으므로 불법으로 규정하고 있다. A아파트 관리소장(마스터 사용자단말)이 전체 입주민(패미릴 사용자단말)의 정보를 사용하는 것도 개인정보를 이용하는 것이므로 사전 허락을 받아야 한다. 본 발명에서는 개인정보 이용을 사전에 허락하고 보상하는 체계에 대해서도 설명하기로 한다. 도 13은 개인이 정보를 입력하고 이를 활용하는 절차를 설명하는 흐름도이다.
본인의 정보 활용을 원하는 개인은 정보관리앱에 제공되는 입력화면을 통하여 개인 정보를 입력한다(단계 ⓐ). 입력된 정보는 개인정보서비스제공자에 전송되며(단계 ⓑ) 해당 정보는 개인정보DB에 저장된다(단계 ⓒ). 이와 함께 개인정보는 암호화되고 개인 디지털키를 생헝한 후 블록체인 네트워크(40)에 저장된다(단계ⓓ).
개인정보를 활용하고자 하는 활용기업단말은 개인정보서비스제공자에 접속한 후 원하는 정보를 검색하고 필요한 범위의 개인정보를 조회한다(단계ⓔ). 이러한 조회 내역은 개인단말의 정보관리앱에 통지되며, 보상으로 일정한 포인트 또는 페이를 포인트 전자지갑에 제공하고(단계ⓕ) 블록체인 네트워크(40)망에도 해당 조회기록을 분산 저장한다(단계 ⓖ).
활용기업단말은 단계ⓔ에서 조회한 개인정보 중에서 원하는 개인을 선별한 후 선별된 개인정보 데이터만을 구매를 요청한다(단계 ⓗ). 개인정보서비스제공자는 이러한 구매 내역이 발생하였음을 개인단말의 정보관리앱에 통지하고, 동의 여부를 문의한다(단계 ⓘ). 개인단말 소유자는 동의 또는 거부 의사를 개인정보서비스제공자에 통지하고(단계 ⓙ), 개인정보서비스제공자는 동의를 받은 개인의 개인정보만을 활용기업단말에 전송하고(단계 ⓚ), 블록체인 네트워크(40)망에 해당 조회기록을 분산 저장한 후(단계 ⓛ) 개인단말에 개인정보를 판매하였음을 알리고 일정한 포인트 또는 페이를 포인트 전자지갑에 제공한다(단계 ⓜ).
도 13에서 개인단말은 A 아파트 입주민이 소유한 단말(스마트폰)이 될 수 있고, 활용기업단말은 A 아파트 관리소장 단말이 될 수 있음은 물론이다. 도 13에 제시된 절차에 따라 A 아파트 관리소장이 입주민 개인정보를 구매하게 되면 A 아파트 관리소장 단말에는 동의한 입주민 정보가 저장 구비된다. 이 상태에서 A 아파트 관리소장(마스터 사용자단말)이 동의를 받은 입주민(패미릴 사용자단말) 정보를 사용하는 것은 아파트 관리를 위한 용도로만 입주민이 사용하도록 허가한 것이다. 따라서 A아파트 관리소장이 보유하고 있는 입주민 정보를 아파트 내에서 장터를 개장하는 상인에게 임의로 제공할 경우 이는 입주민이 허락한 사용범위를 벗어나는 것이므로 불법이 되는 것이다. 개인정보를 이용 문제는 향후에도 점점 더 중요해 질 것이므로 본 발명에서는 이를 체계적으로 관리하는 방안을 제시한다.
도 14는 개인 정보를 먼저 구매하여 보관 및 저장하고 있는 개인단말이 있을 경우, 해당 개인단말로부터 개인정보를 입수하는 흐름을 설명하는 흐름도이다. A 아파트 관리소장 단말에 먼저 구매한 A 아파트 입주민 데이터가 저장 구비되어 있는 상태를 예를 들어 설명하기로 한다.
A 아파트 관리소장은 보유 중인 A 아파트 입주민 정보를 데이터플랫폼으로 전송할 준비를 한다(단계 ①). 전송 준비는 다양한 방식으로 이루어질 수 있으며 예로서 API Sync를 통해서 이루어질 수 있다. 데이터플랫폼은 API Sync를 통해 개인 또는 단체가 보유 중인 개인정보의 포맷을 파악한 후 이를 DB에 저장할 포맷으로 변환한 후 개인정보DB에 저장하는 모듈이다. 개인정보서비스제공자는 알림공지서버에 구비되는 하나의 구성일 수 있으며 또는 별도의 서비스제공자로 구현될 수도 있음은 물론이다.
개인정보서비스제공자는 A 아파트 입주민들에게 보유 중인 입주민 정보를 사용범위 내에서 제공해도 되는지 여부를 문의하고 동의를 요청한다(단계 ②). 이러한 동의 요청은 문자 등으로 송부할 수 있으며, 데이터플랫폼의 url 등을 정보가 함께 제공된다. A 아파트 입주민이 동의 또는 거부하면 해당 동의 또는 거부 정보는 데이터플랫폼으로 전송된다(단계 ③). 데이터플랫폼은 A 아파트 관리소장의 단말로부터 전송된 입주민 개인정보 중에서 동의를 받은 A 아파트 입주민 정보만을 개인정보DB에 저장한다(단계 ④). 이와 동시에 개인정보는 암호화 및 개인디지털키를 생성하여 블록체인(40) 네트망에 분산 저장된다(단계 ⑤).
개인정보를 활용하고자 하는 활용기업(A아파트 장터 개설 상인 스마트폰)은 API Sync를 형성하여 개인정보DB와 접속한 후 개인정보 활용에 동의한 아파트 입주민의 개인정보를 조회한다(단계 ⑥). 개인정보를 사용한 A 아파트 입주민에게는 개인데이터 조회 내역을 알려줌과 동시에 보상(포인트 또는 pay)을 지급한 후(단계⑦) 해당 조회 기록을 블록체인(40) 네트워크 상에 분산 저장되어 접근 기록을 투명하게 저장한다(단계 ⑧). 이후 단계는 도 13에 제시된 흐름에 따라 진행된다.
도 15는 도 13의 단계 ⓐ에 제시된 정보관리앱을 통하여 개인정보를 입력하는 화면 및 도 13의 단계 ⓔ에서 조회된 화면의 일례이다. 도 15(a)에 도시된 바와 같이 입력항목에 세부내용을 기재하고, 각 입력항목에 대한 공개 여부를 체크하게 된다. 도 15(a)에 제시된 정보는 개인정보DB에 저장되지만 활용기업 단말 등에 의해 조회될 경우에는 도 15(b)에 제시된 바와 같이 공개를 거부한 입력항목은 제거되고 공개를 허여한 입력항목은 데이터 일부를 블랭크 처리한 후 제공한다. 활용기업이 개인정보를 구매하면 공개를 허여한 입력항목을 블랭크 처리없이 제공하게 되는 것이다.
도 13 및 도 14에 제시된 처리 흐름을 이용하여 A 아파트 관리소장이 패밀리 사용자 리스트를 생성하는 흐름에 대해 정리해 보기로 한다. 먼저 각 패밀리 사용자단말이 개인정보를 입력받고(제b1단계), 제b1단계에서 입력된 패밀리 사용자단말의 개인정보를 개인정보데이터베이스로 저장하고(제b2단계), 마스터 사용자단말은 개인정보데이터베이스를 조회하여 복수 개 패밀리 사용자단말의 개인정보를 획득한다(제b3단계). 이러한 b3단계에서 획득된 개인정보는 적어도 일부 항목이 블랭크 처리되어 사용할 수 없는 정보이다. 마스터 사용자단말은 제b3단계에서 획득된 개인정보 중에서 적어도 일부 개인정보에 대해 구매 요청을 하고(제b4단계) 구매 요청된 개인정보를 개인정보데이터베이스로부터 마스터 사용자단말로 전송받는다(제b5단계). 마스터 단말은 제b5단계에서 전송된 개인정보를 이용하여 패밀리 사용자 리스트를 생성할 수 있게 되는 것이다(제b6단계).
상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.
10: 사용자 단말
15: 분석서버
20: 알림공지서버
30: 인증서버
40: 블록체인

Claims (9)

  1. 제목, 내용 및 첨부이미지로 구성되는 알림공지문서를 작성한 후 발송하는 마스터 사용자단말과, 상기 알림공지문서를 수신하는 복수 개 패밀리 사용자단말과, 상기 마스터 사용자단말 및 상기 패밀리 사용자단말을 인증하는 인증서버 및 상기 마스터 사용자단말과 상기 패밀리 사용자단말 사이에서 상기 알림공지문서를 전달하는 알림공지서버로 구성되는 알림공지시스템에서, 상기 알림공지서버에서 상기 알림공지문서를 전송하는 방법에 있어서,
    상기 마스터 사용자단말로부터 상기 마스터 사용자단말의 고유정보, 패밀리 사용자 리스트 및 상기 알림공지문서를 전송받는 제1단계와,
    상기 제1단계에서 전송받은 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 구성하는 첨부이미지를 상기 인증서버로 전송하는 제2단계와,
    상기 인증서버로부터 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 인증받은 후 난수를 발생시켜 전달받는 제3단계와,
    상기 제3단계에서 전송받은 난수를 상기 마스터 사용자단말에 전송한 후, 상기 마스터 사용자단말로부터 상기 난수, 상기 마스터 사용자단말 고유정보, 상기 첨부이미지(이하, 이를 '(난수, 고유정보, 첨부)'라 함)를 해쉬하여 생성되는 해쉬값을 전달받는 제4단계와,
    상기 제4단계에서 전송받은 (난수, 고유정보, 첨부) 해쉬값을 다시 한 번 더 해쉬하여 상기 인증서버로 전송하는 제5단계 및
    상기 인증서버로부터 인증 결과를 수령하고, 인증된 경우 상기 마스터 사용자단말에 알림공지문서를 저장하는 제6단계를 포함하는 것을 특징으로 하는 알림공지서버에서 알림공지문서를 전송하는 방법.
  2. 제1항에 있어서,
    상기 패밀리 사용자단말 리스트에 해당되는 복수 개 상기 패밀리 사용자단말에 상기 알림공지문서의 제목 및 내용을 푸쉬 방식으로 전송하는 제7단계와,
    상기 패밀리 사용자단말로부터 첨부이미지를 요청받는 제8단계와,
    상기 제8단계의 요청에 따라 상기 첨부이미지에 타임스탬프를 형성하는 제9단계 및
    타임스탬프가 형성된 상기 첨부이미지를 상기 패밀리 사용자에게 전달하는 제10단계를 포함하는 알림공지서버에서 알림공지문서를 전송하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 마스터 사용자단말과 상기 알림공지서버 사이의 통신은 암호화된 통신 채널에서 수행되는 것을 특징으로 하는 알림공지서버에서 알림공지문서를 전송하는 방법.
  4. 제3항에 있어서,
    상기 암호화된 통신채널은
    마스터 사용자단말로부터 SD(Session ID) 및 PID(Peer ID)를 전송받으면서 통신 채널 개통을 요청받는 제a1단계와,
    상기 SD와 상기 PID를 상기 인증서버(30)로 전달하는 제a2단계와,
    상기 인증서버로부터 난수값과 시퀀셜하게 부여된 채널번호(이하, '시퀀셜 채널번호'이라 함)를 전송받은 후, 상기 난수값을 상기 마스터 사용자단말로 전송하는 제a3단계;
    상기 마스트 사용자단말로부터 상기 마스트 사용자단말의 고유 정보 및 난수값을 이용하여 해쉬화한 제1해쉬결과을 전달받는 제a4단계;
    상기 마스터 사용자단말로부터 전달받은 제1해쉬값을 상기 알림공지서버의 고유값으로 한 번 더 해쉬화한 최종해쉬값과 시퀀셜 채널번호를 상기 인증서버로 전송하는 제a5단계;
    상기 인증서버로부터 인증 성공시 상기 시퀀셜 채널번호가 부여된 통신채널을 개통받는 제a6단계를 이용하여 개설되는 것을 특징으로 하는 알림공지서버에서 알림공지문서를 전송하는 방법.
  5. 제1항에 있어서, 상기 제1단계 이전에 수행되는 단계로서,
    상기 각 패밀리 사용자단말이 개인정보를 입력하는 제b1단계와,
    상기 제b1단계에서 입력된 패밀리 사용자단말의 개인정보를 개인정보데이터베이스로 저장하는 제b2단계와,
    상기 마스터 사용자단말은 상기 개인정보데이터베이스를 조회하여 복수 개 패밀리 사용자단말의 개인정보를 획득하는 제b3단계와,
    - 상기 제b3단계에서 획득된 개인정보는 적어도 일부 항목이 블랭크 처리되어 사용할 수 없음-
    상기 마스터 사용자단말은 상기 제b3단계에서 획득된 적어도 일부 개인정보를 구매 요청하는 제b4단계와,
    상기 제b4단계의 구매 요청된 개인정보를 상기 개인정보데이터베이스로부터 상기 마스터 사용자단말에 전송하는 제b5단계 및
    - 상기 제b3단계에서 획득된 개인정보는 블랭크 처리되어 있지 않음-
    상기 제b5단계에서 전송된 개인정보를 이용하여 상기 패밀리 사용자 리스트를 생성하는 제b6단계를 포함하는 것을 특징으로 하는 알림공지서버에서 알림공지문서를 전송하는 방법.
  6. 제목, 내용 및 첨부이미지로 구성되는 알림공지문서를 작성한 후 발송하는 마스터 사용자단말과, 상기 알림공지문서를 수신하는 복수 개 패밀리 사용자단말과, 상기 마스터 사용자단말 및 상기 패밀리 사용자단말을 인증하는 인증서버 및 상기 마스터 사용자단말과 상기 패밀리 사용자단말 사이에서 상기 알림공지문서를 전달하는 알림공지서버로 구성되는 알림공지시스템에서, 상기 알림공지서버는
    상기 마스터 사용자단말로부터 상기 마스터 사용자단말의 고유정보, 패밀리 사용자 리스트 및 상기 알림공지문서를 전송받고, 전송받은 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 구성하는 첨부이미지를 상기 인증서버로 전송하고, 상기 인증서버로부터 상기 마스터 사용자단말의 고유정보 및 상기 알림공지문서를 인증받은 후 난수를 발생시켜 전달받고, 전송받은 상기 난수를 상기 마스터 사용자단말에 전송한 후, 상기 마스터 사용자단말로부터 상기 난수, 상기 마스터 사용자단말 고유정보, 상기 첨부이미지(이하, 이를 '(난수, 고유정보, 첨부)'라 함)를 해쉬하여 생성되는 해쉬값을 전달받고, 전송받은 (난수, 고유정보, 첨부) 해쉬값을 다시 한 번 더 해쉬하여 상기 인증서버로 전송하고, 상기 인증서버로부터 인증 결과를 수령하고, 인증된 경우 상기 마스터 사용자단말에 알림공지문서를 저장하는 것을 특징으로 하는 알림공지서버.
  7. 제6항에 있어서, 상기 알림공지서버는
    상기 패밀리 사용자단말 리스트에 해당되는 복수 개 상기 패밀리 사용자단말에 상기 알림공지문서의 제목 및 내용을 푸쉬 방식으로 전송하고, 상기 패밀리 사용자단말로부터 첨부이미지를 요청받고, 상기 요청에 따라 상기 첨부이미지에 타임스탬프를 형성하고, 상기 타임스탬프가 형성된 상기 첨부이미지를 상기 패밀리 사용자에게 전달하는 것을 특징으로 하는 알림공지서버.
  8. 제6항 또는 제7항에 있어서,
    상기 마스터 사용자단말과 상기 알림공지서버 사이의 통신은 암호화된 통신 채널에서 수행되는 것을 특징으로 하는 알림공지서버.
  9. 제8항에 있어서,
    상기 암호화된 통신채널은
    마스터 사용자단말로부터 SD(Session ID) 및 PID(Peer ID)를 전송받으면서 통신 채널 개통을 요청받고, 상기 SD와 상기 PID를 상기 인증서버(30)로 전달하고, 상기 인증서버로부터 난수값과 시퀀셜하게 부여된 채널번호(이하, '시퀀셜 채널번호'이라 함)를 전송받은 후, 상기 난수값을 상기 마스터 사용자단말로 전송하고, 상기 마스트 사용자단말로부터 상기 마스트 사용자단말의 고유 정보 및 난수값을 이용하여 해쉬화한 제1해쉬결과을 전달받고, 상기 마스터 사용자단말로부터 전달받은 제1해쉬값을 상기 알림공지서버의 고유값으로 한 번 더 해쉬화한 최종해쉬값과 시퀀셜 채널번호를 상기 인증서버로 전송하고, 상기 인증서버로부터 인증 성공시 상기 시퀀셜 채널번호가 부여된 통신채널을 개통받아 개설되는 것을 특징으로 하는 알림공지서버.
KR1020200058248A 2020-05-15 2020-05-15 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법 KR102368805B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200058248A KR102368805B1 (ko) 2020-05-15 2020-05-15 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200058248A KR102368805B1 (ko) 2020-05-15 2020-05-15 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법

Publications (2)

Publication Number Publication Date
KR20210140804A true KR20210140804A (ko) 2021-11-23
KR102368805B1 KR102368805B1 (ko) 2022-03-02

Family

ID=78695132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200058248A KR102368805B1 (ko) 2020-05-15 2020-05-15 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법

Country Status (1)

Country Link
KR (1) KR102368805B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101862860B1 (ko) * 2017-01-11 2018-05-31 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버
KR102042935B1 (ko) 2018-12-14 2019-11-08 부경대학교 산학협력단 블록체인 기반의 익명 메시지 전달자 평판 시스템 및 평판 평가 방법
KR20200028880A (ko) * 2018-09-03 2020-03-17 (주)아이씨엔캐스트 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101862860B1 (ko) * 2017-01-11 2018-05-31 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버
KR20200028880A (ko) * 2018-09-03 2020-03-17 (주)아이씨엔캐스트 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법
KR102042935B1 (ko) 2018-12-14 2019-11-08 부경대학교 산학협력단 블록체인 기반의 익명 메시지 전달자 평판 시스템 및 평판 평가 방법

Also Published As

Publication number Publication date
KR102368805B1 (ko) 2022-03-02

Similar Documents

Publication Publication Date Title
US11528138B2 (en) Methods and systems for a digital trust architecture
US10887098B2 (en) System for digital identity authentication and methods of use
TWI714843B (zh) 用於具有分散式共識之分散式系統中之契約資料之存取控制方法及其契約產生器及驗證伺服器
CN114631286B (zh) 具有自定义逻辑的加密资产托管系统
US8266443B2 (en) Systems and methods for secure and authentic electronic collaboration
US7549049B2 (en) Dynamic auditing of electronic elections
US8024570B2 (en) Method and system for communication via a computer network
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
KR102265788B1 (ko) 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법
US20070150299A1 (en) Method, system, and apparatus for the management of the electronic files
US20090271321A1 (en) Method and system for verification of personal information
US20120284516A1 (en) Cross-domain collaborative systems and methods
US20060041514A1 (en) Secure internet transactions on unsecured computers
EP3579595B1 (en) Improved system and method for internet access age-verification
US20200160340A1 (en) Distributed fraud detection system within mesh networks
US11503026B2 (en) Email address with identity string and methods of use
JP2000196583A (ja) 同報通信システム
CN116980163A (zh) 基于可信执行环境的数据处理方法、装置、设备及介质
US20170104748A1 (en) System and method for managing network access with a certificate having soft expiration
US10867326B2 (en) Reputation system and method
KR102368805B1 (ko) 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법
JP4523359B2 (ja) アクセス制御システム、アクセス制御方法およびアクセス制御プログラム
JP4564283B2 (ja) アクセス制御システム、アクセス制御方法およびアクセス制御プログラム
JP2003162625A (ja) 総会運営方法及び総会運営システムに用いるプログラム並びにサーバ
TW201911938A (zh) 自動連線安全無線網路的方法與系統

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant