KR20180078068A - 문서의 실시간 공유 방법 - Google Patents

문서의 실시간 공유 방법 Download PDF

Info

Publication number
KR20180078068A
KR20180078068A KR1020160183065A KR20160183065A KR20180078068A KR 20180078068 A KR20180078068 A KR 20180078068A KR 1020160183065 A KR1020160183065 A KR 1020160183065A KR 20160183065 A KR20160183065 A KR 20160183065A KR 20180078068 A KR20180078068 A KR 20180078068A
Authority
KR
South Korea
Prior art keywords
hash value
document
encrypted
original
shared server
Prior art date
Application number
KR1020160183065A
Other languages
English (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 KR1020160183065A priority Critical patent/KR20180078068A/ko
Publication of KR20180078068A publication Critical patent/KR20180078068A/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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/006Generating random numbers; Lottery apparatus electronically
    • 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

Abstract

문서의 실시간 공유 방법이 제공된다. 이 방법은 적어도 하나의 프로세서에 의해 동작하는 서버 장치가 문서를 제공하는 방법으로서, 적어도 둘 이상의 사용자 단말로 구성된 그룹 단말에게 전용 프로그램을 전송하는 단계, 상기 그룹 단말 중 제1 사용자 단말로부터 원본 문서에 대한 해시 연산값인 원본 해시값과, 암호화된 원본 문서를 수신하는 단계, 상기 원본 해시값을 저장하고, 상기 제1 사용자 단말을 제외한 그룹 단말에게 상기 암호화된 원본 문서를 전송하는 단계, 상기 그룹 단말 중 제2 사용자 단말로부터 상기 원본 해시값, 변경 문서에 대한 해시값인 변경 해시값 및 암호화된 변경 문서를 수신하는 단계, 그리고 수신된 원본 해시값이 저장된 원본 해시값과 일치하면, 상기 변경 해시값을 저장하고, 상기 제2 사용자 단말을 제외한 그룹 단말에게 상기 암호화된 변경 문서를 전송하는 단계를 포함한다.

Description

문서의 실시간 공유 방법{METHOD FOR SHARING DOCUMENT ON REAL-TIME}
본 발명은 문서의 실시간 공유 방법에 관한 것이다.
동호회 회원간에 그룹 게시판을 사용할 때, 지금까지는 중앙 서버에 저장된 데이터베이스 형태의 게시판을 사용하여 왔다.
따라서, 사용자 관점에서 원치 않게 서버 운영자로부터 게시판이 검열될 수 있어 사적인 정보가 보호되기 어렵다.
또한, 게시판 운영 사업자 관점에서는 사용자가 늘어날수록 서버에 사용자의 데이터가 증가하여 유지 운영 관리비용이 증가한다.
또한, 하나의 서버를 중심으로 게시판을 관리하는 경우, 서버가 침해를 받으면 사용자의 데이터를 영속적으로 유지하기 어렵다.
본 발명이 해결하고자 하는 과제는 기록 이력이 모두 하나의 파일에 남아있고, 추가적으로 기록 가능한 문서를 그룹 단말 간에 공유 서버를 통하여 실시간으로 공유하는 방법을 제공하는 것이다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 적어도 하나의 프로세서에 의해 동작하는 서버 장치가 문서를 실시간 공유하는 방법으로서,
적어도 둘 이상의 사용자 단말로 구성된 그룹 단말에게 전용 프로그램을 전송하는 단계, 상기 그룹 단말 중 제1 사용자 단말로부터 원본 문서에 대한 해시 연산값인 원본 해시값과, 암호화된 원본 문서를 수신하는 단계, 상기 원본 해시값을 저장하고, 상기 제1 사용자 단말을 제외한 그룹 단말에게 상기 암호화된 원본 문서를 전송하는 단계, 상기 그룹 단말 중 제2 사용자 단말로부터 상기 원본 해시값, 변경 문서에 대한 해시값인 변경 해시값 및 암호화된 변경 문서를 수신하는 단계, 그리고 수신된 원본 해시값이 저장된 원본 해시값과 일치하면, 상기 변경 해시값을 저장하고, 상기 제2 사용자 단말을 제외한 그룹 단말에게 상기 암호화된 변경 문서를 전송하는 단계를 포함한다.
상기 암호화된 변경 문서를 전송하는 단계 이후, 상기 그룹 단말 중 제3 사용자 단말로부터 변경 문서에 대한 해시값인 변경 해시값 및 암호화된 변경 문서를 수신하는 단계, 수신된 변경 해시값이 저장된 이전 변경 해시값과 일치하면, 상기 수신된 변경 해시값을 추가 저장하고, 상기 제3 사용자 단말을 제외한 그룹 단말에게 상기 제3 사용자 단말로부터 수신한 암호화된 변경 문서를 전송하는 단계를 포함할 수 있다.
상기 수신된 원본 해시값이 기 저장된 원본 해시값과 불일치하거나 또는 상기 수신된 변경 해시값이 상기 이전 변경 해시값과 불일치하면, 수신된 문서를 무시하는 단계를 더 포함할 수 있다.
상기 원본 문서를 수신하는 단계 이전에, 상기 그룹 단말 중 하나의 사용자 단말로부터 접속 요청을 수신하는 단계, 그리고 상기 사용자 단말로부터 수신한 사진 파일에 대한 해시 연산값인 사진 해시값이 기 저장된 사진 해시값과 일치하면, 접속을 허용하는 단계를 포함할 수 있다.
상기 접속을 허용하는 단계는, 상기 사용자 단말로부터 접속 요청을 수신하는 단계, 상기 사용자 단말에게 난수값을 전송하는 단계, 상기 사용자 단말로부터 상기 사진 해시값 및 상기 난수값에 대한 해시연산값인 난수 해시값에 대한 인증 해시값을 수신하는 단계, 상기 전송한 난수값에 대한 해시연산값인 난수 해시값 및 기 저장된 사진 해시값에 대한 인증 해시값을 생성하는 단계, 수신된 인증 해시값과 생성한 인증 해시값을 비교하여 일치하면, 접속을 허용하는 단계를 포함할 수 있다.
상기 접속 요청을 수신하는 단계 이전에, 상기 사용자 단말로부터 수신한 사진 해시값을 상기 그룹 단말 간에 상호 공유하는 공유키로 암호화하여 접속 인증키로 등록하는 단계를 더 포함하고, 상기 인증 해시값을 생성하는 단계는, 암호화된 접속 인증키를 복호하여 사진 해시값을 추출하는 단계, 그리고 추출한 사진 해시값과, 상기 난수 해시값에 대한 인증 해시값을 생성하는 단계를 포함할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 적어도 하나의 프로세서에 의해 동작하는 단말 장치가 문서를 실시간으로 공유하는 방법으로서,
공유 서버로부터 다운로드한 전용 프로그램을 실행하는 단계, 상기 문서의 원본 문서를 생성하는 단계, 상기 원본 문서에 대한 원본 해시값을 생성하는 단계, 상기 원본 문서를 암호화하는 단계, 그리고 상기 원본 해시값 및 암호화된 원본 문서를 상기 공유 서버로 업로드 하는 단계를 포함하고, 상기 원본 해시값은, 상기 공유 서버에 저장되고, 상기 암호화된 원본 문서는, 상기 공유 서버에 의해 그룹 단말에게 전송되며, 상기 그룹 단말은, 상기 전용 프로그램을 다운로드하여 설치 및 실행하는 적어도 둘 이상의 단말 장치로 구성된다.
상기 업로드하는 단계 이후, 상기 공유 서버로부터 암호화된 원본 문서를 수신하는 단계, 상기 암호화된 원본 문서를 복호화 하는 단계, 복호화된 원본 문서에 대한 원본 해시값을 생성하는 단계, 상기 복호화된 원본 문서가 편집되면, 제1 변경 문서에 대한 제1 변경 해시값을 생성하는 단계, 상기 제1 변경 문서를 암호화하는 단계, 그리고 암호화된 제1 변경 문서, 상기 원본 해시값 및 상기 제1 변경 해시값을 상기 공유 서버로 업로드하는 단계를 더 포함하고, 상기 암호화된 제1 변경 문서는, 상기 원본 해시값이 상기 공유 서버에 기 저장된 원본 해시값과 일치할 경우, 상기 그룹 단말로 전송되고, 상기 제1 변경 해시값은, 상기 공유 서버에 저장될 수 있다.
상기 제1 변경 해시값을 상기 공유 서버로 업로드하는 단계 이후, 상기 공유 서버로부터 암호화된 제1 변경 문서를 수신하는 단계, 상기 암호화된 제1 변경 문서를 복호화 하는 단계, 복호화된 제1 변경 문서에 대한 제1 변경 해시값을 생성하는 단계, 상기 복호화된 제1 변경 문서가 편집되면, 제2 변경 문서에 대한 제2 변경 해시값을 생성하는 단계, 상기 제2 변경 문서를 암호화하는 단계, 그리고 암호화된 제2 변경 문서, 상기 제1 변경 해시값 및 상기 제2 변경 해시값을 상기 공유 서버로 업로드하는 단계를 더 포함하고, 상기 암호화된 제2 변경 문서는, 상기 제1 변경 해시값이 상기 공유 서버에 기 저장된 제1 변경 해시값과 일치할 경우, 상기 그룹 단말로 전송되고, 상기 제2 변경 해시값은, 상기 공유 서버에 저장될 수 있다.
상기 실행하는 단계와 상기 생성하는 단계 사이에, 사용자가 촬영 또는 선택한 사진 파일에 대한 사진 해시값을 생성하는 단계, 상기 사진 해시값을 이용하여 상기 공유 서버에 접속을 요청하는 단계, 그리고 상기 사진 해시값이 상기 공유 서버에 기 등록된 인증 해시값과 일치하면, 상기 공유 서버로부터 접속 허가를 수신하여 상기 공유 서버로 접속하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 실시간으로 사용자에게 문서를 공유할 수 있고, 문서 내에 이전 기록이 모두 남아 있는 상태에서 추가될 수 있게 해줄 수 있다.
또한, 서버가 침해를 받더라도 데이터를 영속적으로 유지할 수 있고, 서버에는 해시값만 저장되므로, 정보보호가 되는 서버를 제공할 수 있다.
또한, 서버 운영비용을 최소화 할 수 있다.
또한, 사용자는 신뢰관계가 없는 다수 사용자가 중개자의 개입 없이 기록하고, 기록 이력이 한곳에 있고, 함부로 지울 수 없는 전자 장부를 사용할 수 있으며, 응용분야로서, 부동산계약서, 동호회 회계장부, 각종 예약서비스, 공증문서 작성 등 에 활용될 수 있다.
도 1은 본 발명의 실시예에 따른 문서의 실시간 공유 시스템을 도시한 블록도이다.
도 2는 본 발명의 실시예에 따른 원본 문서의 실시간 공유 방법을 나타낸 흐름도이다.
도 3은 본 발명의 실시예에 따른 1차 변경 문서의 실시간 공유 방법을 나타낸 흐름도이다.
도 4는 본 발명의 실시예에 따른 2차 변경 문서의 실시간 공유 방법을 나타낸 흐름도이다.
도 5는 본 발명의 실시예에 따른 공유 서버 접속 초기 화면의 예시도이다.
도 6은 본 발명의 실시예에 따른 문서 편집 화면의 예시도이다.
도 7은 본 발명의 실시예에 따른 접속 인증키 등록 절차를 나타낸 흐름도이다.
도 8은 본 발명의 실시예에 따른 접속 인증 방법을 나타낸 흐름도이다.
도 9는 본 발명의 실시예에 따른 사용자 단말 또는 공유 서버의 개략적인 구성을 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이제, 도면을 참고하여 본 발명의 실시예에 따른 문서의 실시간 공유 방법에 대하여 설명한다.
도 1은 본 발명의 실시예에 따른 문서의 실시간 공유 시스템을 도시한 블록도이다.
도 1을 참조하면, 실시간 공유 시스템은 스크립터(Scriptor)(100)를 설치 및 실행하는 적어도 둘 이상의 사용자 단말(200) 및 공유 서버(300)를 포함한다. 이때, 사용자 단말(200)은 네트워크(400)를 통해 공유 서버(300)에 접속한다.
스크립터(100)는 본 발명에 따른 문서의 생성, 편집 및 실시간 공유를 위한 전용 프로그램으로서, 프로그래밍 언어가 아닌 사용자 언어로 작성된다. 여기서, 문서는 웹 기반의 문서로서, 예를들면, 웹 문서 게시판에 등록될 수 있다. 그리고 스크립터(100)는 게시판 응용 프로그램일 수 있다.
한 실시예에 따르면, 스크립터(100)는 HTML(Hyper Text Markup Language) 언어로 작성한 명령어들을 실행하는 HTML 스크립터일 수 있고, 이때, HTML5 언어가 사용될 수 있다.
여기서, 스크립터(100)는 웹 브라우저가 구비된 사용자 단말(200)에는 다운로드가 가능하고, 일반적인 앱 설치와는 다른 개념이다.
사용자 단말(200)은 스크립터(100)를 네트워크(400)를 통해 접속한 공유 서버(300)로부터 다운로드하여 설치 및 실행 가능한 단말이다. 사용자 단말(200)은 데이터 통신이 가능한 단말이다. 사용자 단말(200)은 모바일 단말, 태블릿 PC, 스마트폰 등이 될 수 있다.
공유 서버(300)는 적어도 둘 이상의 사용자 단말(200) 간에 문서를 실시간 공유할 수 있도록 중개한다.
그러면, 실시간 공유 시스템이 문서를 실시간 공유하는 일련의 과정에 대해 설명하면, 다음과 같다.
도 2는 본 발명의 실시예에 따른 원본 문서의 실시간 공유 방법을 나타낸 흐름도이다.
도 2를 참조하면, 적어도 둘 이상의 사용자 단말(200)로 구성된 그룹 단말이 공유 서버(300)로부터 스크립터(100)를 다운로드한다(S101, S103, S105).
그룹 단말 중 제1 사용자 단말(200)이 스크립터(100)를 실행한다(S107). 이 이후의 제1 사용자 단말(200)의 동작은 스크립터(100)를 주체로 설명한다.
스크립터(100)는 사용자 입력에 따른 원본 문서를 생성한다(S109).
스크립터(100)는 원본 문서에 대한 원본 해시값을 생성한다(S111).
스크립터(100)는 S109 단계에서 생성한 원본 문서를 그룹 단말 간에 사전에 공유한 공유키로 암호화한다(S113).
스크립터(100)는 암호화된 원본 문서 및 원본 해시값을 공유 서버(300)에 업로드한다(S115). 그리고 원본 문서를 단말 메모리에 저장한다(S117).
공유 서버(300)는 S115 단계가 수행되면, 서버 이벤트 푸시를 실행한다(S119). 여기서, 서버 이벤트는 그룹 단말로부터의 업로드 이벤트가 될 수 있다. 즉, 서버 이벤트로 정의된 이벤트, 업로드 이벤트가 발생하면, 암호화된 원본 문서를 그룹 단말에게 전송한다(S121, S123).
이후, 공유 서버(300)에는 원본 해시값이 저장된다(S125). 그리고 그룹 단말에는 원본 문서가 저장된다(S127, S129).
도 3은 본 발명의 실시예에 따른 1차 변경 문서의 실시간 공유 방법을 나타낸 흐름도로서, 도 2의 원본 문서 공유 이후의 동작을 나타낸다.
도 3을 참조하면, 제2 사용자 단말(200)은 스크립터(100)를 실행한다(S201). 이 이후의 제2 사용자 단말(200)의 동작은 스크립터(100)를 주체로 설명한다.
스크립터(100)는 공유 서버(300)로부터 수신한 암호화 원본 문서를 복호화한다(S203).
스크립터(100)는 복호화된 원본 문서에 대한 원본 해시값을 생성한다(S205).
스크립터(100)는 사용자 입력에 따른 원본 문서가 편집되면, 변경 문서1을 생성한다(S207).
스크립터(100)는 변경 문서1에 대한 변경 해시값1을 생성한다(S209).
스크립터(100)는 변경 문서1을 암호화한다(S211).
스크립터(100)는 S211 단계에서 생성한 암호화된 변경 문서1, S205 단계에서 생성한 원본 해시값 및 S209 단계에서 생성한 변경 해시값1을 공유 서버(300)에 업로드한다(S213). 그리고 원본 문서 및 변경 문서1을 단말 메모리에 저장한다(S215).
공유 서버(300)는 기 저장된 원본 해시값, 즉, 도 2의 S125 단계에서 저장된 원본 해시값이 S213 단계에서 수신된 변경 해시값1과 일치하는지 판단한다(S217).
이때, 일치하지 않으면, S213 단계에서 수신된 데이터를 무시한다(S219).
반면, 일치하면, 서버 이벤트 푸시를 실행(S221)하여 S213 단계에서 수신된 암호화된 변경 문서1을 그룹 단말에게 전송한다(S223, S225).
이후, 공유 서버(300)는 변경 해시값을 저장한다(S227), 그리고 제1 사용자 단말(200) 및 제3 사용자 단말(200), 즉 업로드를 한 제2 사용자 단말 외에 그룹 단말에는 변경 문서 1이 저장된다(S229).
도 4는 본 발명의 실시예에 따른 2차 변경 문서의 실시간 공유 방법을 나타낸 흐름도로서, 도 3의 변경 문서1의 공유 이후의 동작을 나타낸다.
도 4를 참조하면, 제3 사용자 단말(200)은 스크립터(100)를 실행한다(S301). 이 이후의 제3 사용자 단말(200)의 동작은 스크립터(100)를 주체로 설명한다.
스크립터(100)는 공유 서버(300)로부터 수신한 암호화 변경 문서1을 복호화한다(S303).
스크립터(100)는 복호화된 변경 문서1에 대한 변경 해시값1을 생성한다(S305).
스크립터(100)는 사용자 입력에 따른 변경 문서1이 편집되면, 변경 문서2를 생성한다(S307).
스크립터(100)는 변경 문서2에 대한 변경 해시값2를 생성한다(S309).
스크립터(100)는 변경 문서2를 암호화한다(S311).
스크립터(100)는 S311 단계에서 생성한 암호화된 변경 문서2, S305 단계에서 생성한 변경 해시값1 및 S309 단계에서 생성한 변경 해시값2를 공유 서버(300)에 업로드한다(S313). 그리고 변경 문서1 및 변경 문서2를 단말 메모리에 저장한다(S315).
공유 서버(300)는 기 저장된 이전 변경 해시값, 즉, 도 2의 S227 단계에서 저장된 변경 해시값1이 S313 단계에서 수신된 변경 해시값1과 일치하는지 판단한다(S317).
이때, 일치하지 않으면, S313 단계에서 수신된 데이터를 무시한다(S319).
반면, 일치하면, 서버 이벤트 푸시를 실행(S321)하여 S313 단계에서 수신된 암호화된 변경 문서2를 그룹 단말에게 전송한다(S323, S325).
이후, 공유 서버(300)는 변경 해시값2를 저장한다(S327), 그리고 제1 사용자 단말(200) 및 제2 사용자 단말(200), 즉 업로드를 한 제3 사용자 단말 외에 그룹 단말에는 변경 문서 2가 저장된다(S329).
이상의 단계들에 따르면, 종래에는 서버 장치, 즉 공유 서버(300)에 문서 데이터가 저장되고, 사용자 단말(200)에서는 그 서버로부터 문서 데이터를 수신하는 방식이었지만, 본 발명에서는 공유 서버(300)에는 해시값만 저장되고, 실제 문서 데이터는 사용자 단말들(200)에만 저장된다.
또한, 그룹 단말 중에서 서버 이벤트 푸시가 적용되지 않는 브라우저를 사용하는 사용자 단말(200)의 경우, 공유 서버(300)가 서버 이벤트 푸시 방식으로 전송하는 데이터를 수신할 수 없다. 이런 경우, 사용자가 공유 서버(300)와의 동기화 요청을 입력하면, 스크립터(100)가 공유 서버(300)로 동기화를 요청하여 공유 서버(300)가 그룹 단말들에게 전송한 최근의 문서 데이터를 수신할 수 있다.
또한, 문서 암호화 및 복호화에 사용되는 공유키 암호화 방식은 이미 공개된 다양한 암호화 기술 중에서 채택될 수 있으므로, 자세한 설명은 생략한다.
또한, 해시 연산은 MD5(Message-Digest algorithm 5)가 이용될 수 있으나, 이외에도 공개된 다양한 해시 함수가 사용될 수 있다.
또한, 공유 서버(300)는 사용자 단말(200)의 요청으로 공유 서버(300)에 보관된 해시값을 공공 블록체인에 저장할 수 있다. 이런 경우, 문서를 공증할 수 있다.
도 5는 본 발명의 실시예에 따른 공유 서버 접속 초기 화면의 예시도이다.
도 5를 참조하면, 스크립터(100)가 처음 실행되면, 접속 초기 화면(500)을 제공한다.
접속 초기 화면(500)은 문서명 필드(501), 암호 필드(503), 접속자 이름 필드(505), 전송 아이콘(507)을 포함한다.
문서명 필드(501)는 문서를 구별하는 표식 이름이 입력되는 필드이다. 최대 문자열 64000자까지 쓸 수 있다. 같은 문서를 공유하는 그룹 단말에게는 서버 푸시 기술을 사용하여 문서의 실시간 동기화가 이루어진다.
암호 필드(503)는 문서를 암호화 하거나, 암호를 해제할 때 쓰는 키문자열이 입력된다. 길게 쓰면 쓸 수록 더 안전하므로, 키문자열의 길이는 운용자에 의해 정해진 최대 한도내에서 설정된다. 암호 필드(503)에 입력된 스트링은 바로 해시연산, 예를들면, sha512 해시값으로 변환된어 저장된다. 이러한 해시연산된 암호는 브라우저 메모리에만 가지고 있고, 공유 서버(300)로 전송되거나, 단말 메모리에 저장되지는 않는다.
접속자 이름 필드(505)는 접속 사용자 이름을 입력하기 위한 필드로서, 사용자를 식별하기 위한 문자열이 입력된다.
전송 아이콘(507)은 공유 서버(300)에 접속을 요청하기 위한 아이콘이다. 전송 아이콘(507)이 클릭되면, 공유 서버(300)로 각 필드(501, 503, 505)에 입력된 데이터가 전송되어 접속을 요청한다.
도 6은 본 발명의 실시예에 따른 문서 편집 화면의 예시도이다.
도 6을 참조하면, 문서 편집 화면(600)은 보내기 아이콘(601), 문서 편집창(603), 사진 첨부 항목(605), 동기화 아이콘(607), 결제 아이콘(609) 및 휴지통 아이콘(611)을 포함한다.
보내기 아이콘(601)은 공유키로 문서를 암호화해서 공유 서버(300)에 업로드할 때 사용된다.
문서 편집창(603)은 HTML로 작성된 문서를 생성 또는 편집하기 위한 창으로서, 워드프로세스 파일을 붙일 수 있다. 또한, 스크립터(100)에 의해 편집 및 작성될 수 있다. 크롬이나 파이어팍스 같은 웹브라우저에서는 바로 작성가능하도록 설정된다.
사진 첨부 항목(605)은 JPG, PNG 이미지를 첨부할 수 있다. 이때, 첨부되는 사진 파일에는 자동으로 사용자 이름이 워터마킹된다. 사진을 여러 개 한장씩 선택하면 문서의 후미에 워터마킹된다. 사진의 위치를 바꾸려면 작업영역에서 cut & paste를 이용할 수 있다.
동기화 아이콘(607)은 서버 푸시 기능이 없는 브라우저일 경우, 수동으로 문서를 다운로드하기 위한 버튼이다. DB기능이 있는 브라우저에서는 공유 서버(300)로부터 푸시 받은 이전의 문서 목록을 최신순서로 보여준다.
결제 아이콘(609)은 문서를 잘 알려진 공공 블록체인에 등록하고 사용자간 결제를 할 수 있도록 요청하기 위한 버튼이다. 블록체인에는 현재 문서의 HASH값이 저장된다. 블록체인에 등록될 경우 문서의 공증을 할 수 있는 효과가 발생한다.
휴지통 아이콘(611)은 화면(600)을 초기화시킨다. 브라우저 DB가 지워지거나 문서 이력이 삭제되지는 않는다.
한편, 도 7은 본 발명의 실시예에 따른 접속 인증키 등록 절차를 나타낸 흐름도이다.
도 7을 참조하면, 사용자 단말(200)이 스크립터(100)를 실행한 상태에서 사진 파일을 선택(S403)한다. 스크립터(100)는 선택된 사진 파일에 대한 사진 해시값을 생성(S403)하여 공유 서버(300)에 접속 인증키로 등록한다(S405).
공유 서버(300)는 사진 해시값을 공유키로 암호화한 후 저장한다(S407).
도 8은 본 발명의 실시예에 따른 접속 인증 방법을 나타낸 흐름도로서, 도 7의 접속 인증키 등록 이후의 과정을 나타낸다.
도 8의 사용자 단말(200)은 도 7의 접속 인증키를 등록한 사용자 단말일 수도 있고, 아닐 수도 있다. 아닌 경우는, S403 단계에서 선택된 사진 파일을 제공받은 사용자 단말이 해당된다.
도 8을 참조하면, 사용자 단말(200)은 접속을 위해 사진 파일이 선택(S501)되면, 공유 서버(300)로 접속을 요청한다(S503).
공유 서버(300)는 난수 값을 전송한다(S505).
사용자 단말(200)은 선택된 사진 파일에 대한 사진 해시값을 생성한다(S507). 그리고 난수값에 대한 난수 해시값을 생성한다(S509).
사용자 단말(200)은 사진 해시값 및 난수 해시값에 대한 인증 해시값을 생성(S511)하여 공유 서버(300)로 전송한다(S513).
공유 서버(300)는 기 저장된 사진 해시값, 즉 도 7의 S407 단계에서 암호화된 접속 인증키를 복호화하여 사진 해시값을 획득한다(S515).
공유 서버(300)는 S505 단계에서 전송한 난수값에 대한 난수 해시값을 생성한다(S517).
공유 서버(300)는 S515 단계에서 획득한 사진 해시값과, S517 단계에서 생성한 난수 해시값에 대한 인증 해시값을 생성한다(S519).
공유 서버(300)는 S513 단계에서 수신된 인증 해시값과 S519 단계에서 생성한 인증 해시값을 비교(S521)하여 일치하는지 판단한다(S523).
일치하면, 접속 허용을 사용자 단말(200)로 전송한다(S525).
일치하지 않으면, 접속 불허를 사용자 단말(200)로 전송한다(S527).
이와 같이, 접속 인증키로 사진 파일을 사용하면, 사용자들이 암호를 기억하지 않아도 된다.
또한, 응용분야로서, 기업이 광고사진을 일반인들에게 배포하고, 광고사진을 가진 단말들만 이벤트 행사관련 웹 페이지에 접근하고 행사에 참여 할 수 있도록 할 수 있다. 즉, 기업에서 배포된 광고 사진에 대한 해시값을 이용하여 공유 서버(300)에 접속을 제한할 수 있다.
도 9는 본 발명의 실시예에 따른 사용자 단말의 개략적인 구성을 나타낸 블록도이다.
도 9를 참조하면, 사용자 단말(700)은 메모리 장치(701), 저장 장치(703), 프로세서(705), 디스플레이(707) 및 통신 장치(709)를 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다.
하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 도 1부터 도 8을 참고로 설명한 본 발명의 사용자 단말(700)의 동작 방법은 프로그램 언어에 의해 소프트웨어 프로그램으로 작성된다. 프로그램은 메모리 장치(701)와 프로세서(705) 등의 하드웨어와 결합하여 본 발명을 실행한다.
도 10은 본 발명의 실시예에 따른 공유 서버의 개략적인 구성을 나타낸 블록도이다.
도 10을 참고하면, 공유 서버(300)는 프로세서(801), 메모리(803), 저장 장치(805), I/O 인터페이스(807) 및 네트워크 인터페이스(809)를 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다.
하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 도 1부터 도 8을 참고로 설명한 본 발명의 공유 서버(300)의 동작 방법은 프로그램 언어에 의해 소프트웨어 프로그램으로 작성된다. 프로그램은 메모리 장치(803)와 프로세서(801) 등의 하드웨어와 결합하여 본 발명을 실행한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (14)

  1. 적어도 하나의 프로세서에 의해 동작하는 서버 장치가 문서를 실시간 공유하는 방법으로서,
    적어도 둘 이상의 사용자 단말로 구성된 그룹 단말에게 전용 프로그램을 전송하는 단계,
    상기 그룹 단말 중 제1 사용자 단말로부터 원본 문서에 대한 해시 연산값인 원본 해시값과, 암호화된 원본 문서를 수신하는 단계,
    상기 원본 해시값을 저장하고, 상기 제1 사용자 단말을 제외한 그룹 단말에게 상기 암호화된 원본 문서를 전송하는 단계,
    상기 그룹 단말 중 제2 사용자 단말로부터 상기 원본 해시값, 변경 문서에 대한 해시값인 변경 해시값 및 암호화된 변경 문서를 수신하는 단계, 그리고
    수신된 원본 해시값이 저장된 원본 해시값과 일치하면, 상기 변경 해시값을 저장하고, 상기 제2 사용자 단말을 제외한 그룹 단말에게 상기 암호화된 변경 문서를 전송하는 단계
    를 포함하는 문서의 실시간 공유 방법.
  2. 제1항에서,
    상기 전용 프로그램은,
    HTML(Hyper Text Markup Language) 스크립터(Script)를 포함하는 문서의 실시간 공유 방법.
  3. 제1항에서,
    상기 암호화된 변경 문서를 전송하는 단계 이후,
    상기 그룹 단말 중 제3 사용자 단말로부터 변경 문서에 대한 해시값인 변경 해시값 및 암호화된 변경 문서를 수신하는 단계,
    수신된 변경 해시값이 저장된 이전 변경 해시값과 일치하면, 상기 수신된 변경 해시값을 추가 저장하고, 상기 제3 사용자 단말을 제외한 그룹 단말에게 상기 제3 사용자 단말로부터 수신한 암호화된 변경 문서를 전송하는 단계
    를 더 포함하는 문서의 실시간 공유 방법.
  4. 제3항에서,
    상기 수신된 원본 해시값이 기 저장된 원본 해시값과 불일치하거나 또는 상기 수신된 변경 해시값이 상기 이전 변경 해시값과 불일치하면, 수신된 문서를 무시하는 단계
    를 더 포함하는 문서의 실시간 공유 방법.
  5. 제3항에서,
    상기 암호화된 원본 문서를 전송하는 단계, 상기 암호화된 변경 문서를 전송하는 단계 및 상기 제3 사용자 단말로부터 수신한 암호화된 변경 문서를 전송하는 단계는,
    서버 이벤트 푸시(Server Sent Events, SSE) 기술을 이용하여 전송하는 문서의 실시간 공유 방법.
  6. 제1항에서,
    상기 원본 문서를 수신하는 단계 이전에,
    상기 그룹 단말 중 하나의 사용자 단말로부터 접속 요청을 수신하는 단계, 그리고
    상기 사용자 단말로부터 수신한 사진 파일에 대한 해시 연산값인 사진 해시값이 기 저장된 사진 해시값과 일치하면, 접속을 허용하는 단계
    를 더 포함하는 문서의 실시간 공유 방법.
  7. 제6항에서,
    상기 접속을 허용하는 단계는,
    상기 사용자 단말로부터 접속 요청을 수신하는 단계,
    상기 사용자 단말에게 난수값을 전송하는 단계,
    상기 사용자 단말로부터 상기 사진 해시값 및 상기 난수값에 대한 해시연산값인 난수 해시값에 대한 인증 해시값을 수신하는 단계,
    상기 전송한 난수값에 대한 해시연산값인 난수 해시값 및 기 저장된 사진 해시값에 대한 인증 해시값을 생성하는 단계,
    수신된 인증 해시값과 생성한 인증 해시값을 비교하여 일치하면, 접속을 허용하는 단계
    를 포함하는 문서의 실시간 공유 방법.
  8. 제6항에서,
    상기 접속 요청을 수신하는 단계 이전에,
    상기 사용자 단말로부터 수신한 사진 해시값을 상기 그룹 단말 간에 상호 공유하는 공유키로 암호화하여 접속 인증키로 등록하는 단계를 더 포함하고,
    상기 인증 해시값을 생성하는 단계는,
    암호화된 접속 인증키를 복호하여 사진 해시값을 추출하는 단계, 그리고
    추출한 사진 해시값과, 상기 난수 해시값에 대한 인증 해시값을 생성하는 단계
    를 포함하는 문서의 실시간 공유 방법.
  9. 적어도 하나의 프로세서에 의해 동작하는 단말 장치가 문서를 실시간으로 공유하는 방법으로서,
    공유 서버로부터 다운로드한 전용 프로그램을 실행하는 단계,
    상기 문서의 원본 문서를 생성하는 단계,
    상기 원본 문서에 대한 원본 해시값을 생성하는 단계,
    상기 원본 문서를 암호화하는 단계, 그리고
    상기 원본 해시값 및 암호화된 원본 문서를 상기 공유 서버로 업로드 하는 단계를 포함하고,
    상기 원본 해시값은, 상기 공유 서버에 저장되고,
    상기 암호화된 원본 문서는, 상기 공유 서버에 의해 그룹 단말에게 전송되며,
    상기 그룹 단말은, 상기 전용 프로그램을 다운로드하여 설치 및 실행하는 적어도 둘 이상의 단말 장치로 구성되는 문서의 실시간 공유 방법.
  10. 제9항에서,
    상기 업로드하는 단계 이후,
    상기 공유 서버로부터 암호화된 원본 문서를 수신하는 단계,
    상기 암호화된 원본 문서를 복호화 하는 단계,
    복호화된 원본 문서에 대한 원본 해시값을 생성하는 단계,
    상기 복호화된 원본 문서가 편집되면, 제1 변경 문서에 대한 제1 변경 해시값을 생성하는 단계,
    상기 제1 변경 문서를 암호화하는 단계, 그리고
    암호화된 제1 변경 문서, 상기 원본 해시값 및 상기 제1 변경 해시값을 상기 공유 서버로 업로드하는 단계를 더 포함하고,
    상기 암호화된 제1 변경 문서는, 상기 원본 해시값이 상기 공유 서버에 기 저장된 원본 해시값과 일치할 경우, 상기 그룹 단말로 전송되고,
    상기 제1 변경 해시값은, 상기 공유 서버에 저장되는 문서의 실시간 공유 방법.
  11. 제10항에서,
    상기 제1 변경 해시값을 상기 공유 서버로 업로드하는 단계 이후,
    상기 공유 서버로부터 암호화된 제1 변경 문서를 수신하는 단계,
    상기 암호화된 제1 변경 문서를 복호화 하는 단계,
    복호화된 제1 변경 문서에 대한 제1 변경 해시값을 생성하는 단계,
    상기 복호화된 제1 변경 문서가 편집되면, 제2 변경 문서에 대한 제2 변경 해시값을 생성하는 단계,
    상기 제2 변경 문서를 암호화하는 단계, 그리고
    암호화된 제2 변경 문서, 상기 제1 변경 해시값 및 상기 제2 변경 해시값을 상기 공유 서버로 업로드하는 단계를 더 포함하고,
    상기 암호화된 제2 변경 문서는, 상기 제1 변경 해시값이 상기 공유 서버에 기 저장된 제1 변경 해시값과 일치할 경우, 상기 그룹 단말로 전송되고,
    상기 제2 변경 해시값은, 상기 공유 서버에 저장되는 문서의 실시간 공유 방법.
  12. 제11항에서,
    상기 암호화된 원본 문서를 수신하는 단계 및 상기 암호화된 제1 변경 문서를 수신하는 단계는,
    상기 공유 서버로부터 일방적으로 수신되거나 또는 상기 공유 서버에 동기화를 요청하여 수신하는 문서의 실시간 공유 방법.
  13. 제11항에서,
    상기 암호화 및 상기 복호화는,
    상기 그룹 단말 간에 사전에 공유된 공유키를 이용하는 문서의 실시간 공유 방법.
  14. 제11항에서,
    상기 실행하는 단계와 상기 생성하는 단계 사이에,
    사용자가 촬영 또는 선택한 사진 파일에 대한 사진 해시값을 생성하는 단계,
    상기 사진 해시값을 이용하여 상기 공유 서버에 접속을 요청하는 단계, 그리고
    상기 사진 해시값이 상기 공유 서버에 기 등록된 인증 해시값과 일치하면, 상기 공유 서버로부터 접속 허가를 수신하여 상기 공유 서버로 접속하는 단계
    를 더 포함하는 문서의 실시간 공유 방법.
KR1020160183065A 2016-12-29 2016-12-29 문서의 실시간 공유 방법 KR20180078068A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160183065A KR20180078068A (ko) 2016-12-29 2016-12-29 문서의 실시간 공유 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160183065A KR20180078068A (ko) 2016-12-29 2016-12-29 문서의 실시간 공유 방법

Publications (1)

Publication Number Publication Date
KR20180078068A true KR20180078068A (ko) 2018-07-09

Family

ID=62918842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160183065A KR20180078068A (ko) 2016-12-29 2016-12-29 문서의 실시간 공유 방법

Country Status (1)

Country Link
KR (1) KR20180078068A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109671206A (zh) * 2018-12-03 2019-04-23 广东工业大学 一种随机确定终端的方法、装置、设备及存储介质
KR20200000446U (ko) * 2018-08-16 2020-02-26 이민우 다기능 폴더블 마우스 패드
WO2020101191A1 (ko) * 2018-11-13 2020-05-22 주식회사 싸이투코드 디지털 컨텐츠 원본 확인키를 이용한 블록체인 방식의 계약 단말 및 방법
US11451403B2 (en) * 2020-01-20 2022-09-20 Fujitsu Limited Verification method, information processing device, and non-transitory computer-readable storage medium for storing verification program
KR102500764B1 (ko) * 2021-10-20 2023-02-16 주식회사 한글과컴퓨터 회원 식별 정보에 기반하여 전자 문서에 대한 공유 설정을 지원하는 전자 문서 공유 서버 및 그 동작 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200000446U (ko) * 2018-08-16 2020-02-26 이민우 다기능 폴더블 마우스 패드
WO2020101191A1 (ko) * 2018-11-13 2020-05-22 주식회사 싸이투코드 디지털 컨텐츠 원본 확인키를 이용한 블록체인 방식의 계약 단말 및 방법
CN113015995A (zh) * 2018-11-13 2021-06-22 社理透高头 利用数字内容原件确认密钥的区块链方式的合同终端及合同签订方法
US20220006648A1 (en) * 2018-11-13 2022-01-06 Sang Yub Lee Contract apparatus and method of blockchain using digital contents orginal key
CN109671206A (zh) * 2018-12-03 2019-04-23 广东工业大学 一种随机确定终端的方法、装置、设备及存储介质
US11451403B2 (en) * 2020-01-20 2022-09-20 Fujitsu Limited Verification method, information processing device, and non-transitory computer-readable storage medium for storing verification program
KR102500764B1 (ko) * 2021-10-20 2023-02-16 주식회사 한글과컴퓨터 회원 식별 정보에 기반하여 전자 문서에 대한 공유 설정을 지원하는 전자 문서 공유 서버 및 그 동작 방법

Similar Documents

Publication Publication Date Title
US10505988B2 (en) System and method for secure synchronization of data across multiple computing devices
US20220182373A1 (en) Secure application access system
KR20180078068A (ko) 문서의 실시간 공유 방법
US9552492B2 (en) Secure application access system
US8122513B2 (en) Data storage device, data storage method, and program thereof
US7593548B2 (en) Secure and anonymous storage and accessibility for sensitive data
US20150039886A1 (en) Secure application access system
KR102361400B1 (ko) 사용자 단말장치, 서비스제공장치, 사용자 단말장치의 구동방법, 서비스제공장치의 구동방법 및 암호화 색인기반 검색 시스템
US20190394185A1 (en) Reminder terminal apparatus and authentication method
US8621036B1 (en) Secure file access using a file access server
US8848922B1 (en) Distributed encryption key management
JP2014238642A (ja) 個人情報保護装置および個人情報保護システム並びに個人情報保護方法およびプログラム
EP2871543A1 (en) Industrial equipment management system, industrial equipment management server, industrial equipment management method, program, and information storage medium
US8898800B1 (en) Mechanism for establishing the trust tree
JP4734941B2 (ja) カプセル化サーバ
US20230129705A1 (en) System and method for certified data storage and retrieval
Zhang et al. Tag your fish in the broken net: A responsible web framework for protecting online privacy and copyright
KR101635005B1 (ko) 클라우드 기반 디지털 데이터 금고 시스템에서 메타데이터 관리 방법
JP2011138209A (ja) 文書管理システム、文書管理方法、及びそのプログラム
KR101583009B1 (ko) Sns 상에서의 파일 완전 삭제 방법 및 이를 위한 시스템
JP2010160659A (ja) データ検索のためのシステム、方法、端末装置、検索サーバ装置、ファイルサーバ装置、およびプログラム
KR102125428B1 (ko) 보안장치의 대시보드를 모바일장치로 제공하는 방법, 장치 및 프로그램
CN116127939A (zh) 基于业务系统生成pdf附件的方法、系统、存储介质及设备
KR101167843B1 (ko) 업데이트 문서 배포 장치 및 방법
JP2021189877A (ja) 編集管理装置、編集管理方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal