KR20120123483A - 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법 - Google Patents

분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법 Download PDF

Info

Publication number
KR20120123483A
KR20120123483A KR1020127022353A KR20127022353A KR20120123483A KR 20120123483 A KR20120123483 A KR 20120123483A KR 1020127022353 A KR1020127022353 A KR 1020127022353A KR 20127022353 A KR20127022353 A KR 20127022353A KR 20120123483 A KR20120123483 A KR 20120123483A
Authority
KR
South Korea
Prior art keywords
download
secure
client
server
parts
Prior art date
Application number
KR1020127022353A
Other languages
English (en)
Other versions
KR101453379B1 (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 아르텍 컴퓨터 게엠베하
Publication of KR20120123483A publication Critical patent/KR20120123483A/ko
Application granted granted Critical
Publication of KR101453379B1 publication Critical patent/KR101453379B1/ko

Links

Images

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Abstract

본 발명은 분산된 다운로드 소스들로부터 안전하게 다운로드를 하는 방법에 관한 것이다. 본 발명의 목적은 보안 연결을 구축할 수 없는 간단한 서버에서도 가능한 다운로드 방법을 제공하고, 해당 서버들을 다운로드 서버들로 활용하여, 결과적으로는 보안 연결을 갖춘 서버를 통해 데이터를 다운받는 것과 같이 레벨의 서버 유지를 위한 전체 CPU 로드의 최소화를 이끌어내는데 있다. 이러한 목적을 달성하기 위하여 본 발명은 보안 데이터베이스 서버와 보안 메인 서버와 1 부터 n 개의 비보안 다운로드 서버로 구성되고, 상기 비보안 다운로드 서버는 상기 보안 메인 서버와 독립적인 기결정된 시간 간격에 따라서 대칭적으로 암호화된 다운로드 패킷을 새롭게 암호화한다.

Description

분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법{Method of securely downloading from distributed download sources}
본 발명은 분산된 다운로드 소스들로부터 안전하게 다운로드를 하는 방법에 관한 것이다.
본 발명은 분산된 다운로드 소스들로부터 안전하게 다운로드를 하는 방법에 관한 것이다. 이를 위해서는 가능한 한 최대의 다운로드 안전성을 유지함과 동시에 서버 로드를 최소화할 수 있어야 한다.
만약, 하나 혹은 그 이상의 파일들을 여러 클라이언트들이 다운로드할 수 있도록 만들어져야 하는 경우, 대개 이러한 파일들은 하나의 서버에서 준비되고 대기하고 있지 않다. 대신에 그 파일들은 서버 로드의 분산과 보다 큰 대역폭의 가능성을 위해 여러개의 서버에 분산되어 자리잡게 된다.
만약, 파일들이 암호화된 포맷으로 안전하게 전송되기 위해서, 그리고 파일들을 허가받지 않은 접속, 부당변경, 권한없는 자의 관찰과 같이 일반적으로 알려진 방법들로부터 보호받기 위해서는 파일들을 보유하고 있는 서버들은 최소한 보안 연결(secure connection)을 유지할 수 있어야 하며, 제공될 파일들은 여러 서버로 분산되어 저장되기 전에 암호화가 이루어져야 한다. 대역폭을 높이고 로드를 분산하기 위해 파일들을 분산하는 경우, 특히, 단일 서버에서 가격이 저렴하고, 임대한 저장 공간을 이용하는 것은 보안 연결을 구축할 수 없으므로, 이러한 서버에 기대는 것은 불가능하다.
더불어, 보안 연결을 구축하는 것은 그렇지 않은 경우에 비해 상대적으로 보다 많은 CPU 로드를 발생시키는데, 그 이유는 서버가 각 연결상에서 전송을 할 때마다 암호들을 계산하여야 하기 때문이다.
이와 같은 이치로, 다수의 연결이 이루어지는 경우에는 이에 부합하는 계산 능력을 제공하는 고성능의 서버가 필요하다.
이와 같이 분산된 다운로드 소스들을 통해 파일들을 안전하게 다운받는 것에 대한 공지된 문제점들이 있는 바, 이를 해소하기 위한 본 발명의 목적은 보안 연결을 구축할 수 없는 간단한 서버에서도 가능한 다운로드 방법을 제공하고, 해당 서버들을 다운로드 서버들로 활용하여, 결과적으로는 보안 연결을 갖춘 서버를 통해 데이터를 다운받는 것과 같이 레벨의 서버 유지를 위한 전체 CPU 로드의 최소화를 이끌어내는데 본 발명의 목적이 있다.
분산된 다운로드 소스들로부터 안전하게 다운로드하기 위한 본 발명의 목적은 최소한 다음과 같은 절차들로 구성된 본 발명의 방법을 통하여 달성될 수 있다.
각각의 클라이언트를 위한 고유한 식별자(identifier)를 생성하는 단계;
상기 고유한 식별자들을 보안 데이터베이스 서버의 데이터베이스에 저장하는 단계;
다운로드를 위한 파일들을 수집하는 단계;
상기 파일들을 하나의 기록 파일(archive file)로 압축하는 단계;
상기 기록 파일을 위한 해시 값(hash value)을 생성하고, 상기 기록 파일의 서명들을 생성하기 위하여 상기 해시 값을 이용하는 단계;
서명이 된 상기 기록 파일들을 하나 또는 복수의 파트(part)로 분리하는 단계;
각 파트별로 해시 값을 생성하는 단계;
상기 서명된 기록 파일들의 하나 혹은 복수의 파트들을 대칭적으로 암호화하고, 전송될 데이터 패킷으로 로드될 파트들과 관련한 정보에 사용된 키(key)를 추가하는 단계;
1 부터 n 개의 비보안 다운로드 서버들에게 하나 혹은 복수의 다운로드용 파트들을 제공하고, 상기 비보안 다운로드 서버들이 이미 정해진 시간 간격(predefined time interval)에 따라 상기 대칭적으로 암호화된 패킷들을 재암호화하는 단계; 여기서, 바람직하게는, 이러한 목적을 위하여 이용되는 키들은 암호적으로 안전한 현재상태 특성을 보유하고, 상기 암호적으로 안전한 현재상태 특성은 메인서버와 다운로드 서버에 공통적으로 알려진 키로부터 생성되는 키 및 현재 시각에 의하여 보충될 수 있는 그 날의 날짜를 계산함에 의하여 생성되며,
클라이언트가 HTTPS 또는 SSL 연결과 같은 보안 연결을 통하여 보안 서버에 다운로드를 요청하는 단계; 여기서, 상기 클라이언트는 고유한 식별자를 이용하여 메인 서버에 자기 자신을 식별하고,
전송된 클라이언트의 식별자와 데이터베이스에 저장된 식별자를 비교함으로써 메인 서버에 의하여 클라이언트를 인증하는 단계;
다음을 상호 결합시키는 단계;
i) 상기 서명된 기록 파일의 전체 길이와 관련된 정보,
상기 전체 길이는 모든 파트들의 길이를 표시하고 그 계산을 허락함으로써 획득되는 전체 길이에 관한 정보를 나타내고,
ii) 상기 기록 파일의 해시 값,
모든 파트들의 해시 값이 항목 iii)에 있을 경우 생략된 해시 값을 표시하고,
iii) 패킷과 암호 및/또는 생성된 데이터 패킷의 서명과 관련하여 로드될 파트들에 관한 정보,
여기서, 상기 로드될 파트들에 관한 정보는 최소한 다음의 정보를 가지고 있으며,
a) 상기 서명된 기록 파일에서의 각 파트의 오프셋(offset) 또는 상기 서명된 기록 파일의 파트들의 배열에서의 각 파트의 위치(position);
b) 파트의 길이;
상기 파트의 길이는, 상기 항목 i) 의 전체 길이에 관한 정보의 내용중에서 상기 서명된 기록 파일의 최초 길이가 제공된다면, 생략된 하나의 파트의 길이를 정확하게 표시하고,
c) 파트의 해시 값;
상기 파트의 해시 값은, 상기 서명된 기록 파일의 해시 값이 항목 ii)에서 표시되었다면 생략된 하나의 파트의 길이의 해시 값을 정확하게 나타내고,
d) 다운로드 주소 또는 URL;
상기 다운로드 주소 또는 URL 은, 다운로드 어드레스들의 리스트나 1 부터 n 개의 비보안 다운로드 서버들의 URL 들로부터 선택되고,
암호화된 및/또는 서명된 데이터 패킷을 HTTPS 또는 SSL 연결과 같은 보안 연결을 통하여 상기 보안 메인 서버로부터 클라이언트로 전송하는 단계;
클라이언트에 의한 데이터 패킷을 해독하고 분석하고, 하나 또는 그 이상의 비보안 다운로드 서버들 상에서 전송된 주소들 또는 URL 들과 하나 또는 그 이상의 비보안 연결을 구축하고, 필요한 파트들을 다운로드하는 단계;
전송된 해시 값들을 이용하여, 다운로드된 파트들과 수집된 기록 파일들의 무결성에 관한 체크를 수행하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법의 구성이다.
도 1 은 본 발명의 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법의 순서도이다.
본 발명에 따른 방법을 수행하기 위해서는, 각 컴퓨터 네트워크는 적어도 하나의 클라이언트 컴퓨터(client computer)를 포함하고, 하나의 보안 메인 서버(secure main server)와, 적어도 하나의 비보안 다운로드 서버(non-secure download server)가 필요하며, 보안 네트워크 연결은 상기 클라이언트의 컴퓨터와 상기 보안 메인 서버 사이에 구축되되 특히 HTTPS 혹은 SSL 연결로 이루어지고, 비보안 네트워크 연결은 상기 클라이언트의 컴퓨터와 적어도 하나 이상의 비보안 다운로드 서버 사이에 구축되되 특히 HTTP 혹은 FTP 연결로 이루어지고, 비보안 네트워크 연결은 상기 보안 메인 서버와 상기 적어도 하나 이상의 비보안 다운로드 서버 사이에 구축되되 이 경우에는 HTTP 혹은 FTP 연결의 형태로 이루어진다.
바람직하게는, 상기 클라이언트가 하나 그리고/또는 다수의 서버들로부터 업데이트를 적용(applicable)할 수 있는 것이다. 적용의 의미에 대해서는, 업데이트가 단지 소프트웨어의 업데이트 외에도 펌웨어의 업데이트 혹은 특정 기구들을 작동하기 위한 소프트웨어들을 업데이트하는 것 또한 포함한다.
각 클라이언트는, 무엇보다도, 그들이 접속한 서버를 위해 생성된 고유한 식별자를 통해 완벽하게 식별이 가능하게 된다. 이와 같이 고유한 식별자들은 보안 데이터베이스(secure database) 내의 데이터베이스 서버에 저장되게 된다. 일 실시예에 의하면, 상기 각각의 클라이언트를 위해 고유한 식별자들을 생성하는 것은, 적어도, 각각의 클라이언트에게 고유의 ID 를 배정하는 단계; 각각의 클라이언트를 위한 실시간 랜덤(ramdom) 숫자들로 이루어진 토큰(token)을 생성하는 단계; 상기 ID 와 토큰 및/또는 클라이언트의 MAC 주소를 보안 데이터베이스 서버의 데이터베이스에 저장하는 단계; 를 포함하여 이루어진다.
특정한 장치의 경우, 예컨대 해당 장치의 일련번호가 고유한 ID 가 되기도 한다. ID 와 랜덤한 토큰 외에도, MAC 주소는 필요에 따라 식별자 안에 포함되기도 하고, 추가적인 고유한 식별 요소가 되기도 한다.
업데이트 과정을 위해서는, 예컨대 라이센스가 이루어진 프로그램 혹은 장치의 기능, 라이센스의 지속시간 혹은 만약 필요하다면 업데이트를 통해 관찰될 수 있는 특별한 관점들(구체적으로, 언어, 지역적 요구사항 및 공급 등)을 포함하고 있는 개별적인 식별자들에 추가적인 데이터 필드를 덧붙여 식별자의 데이터베이스를 보충할 수 있다.
그 후, 파일들은 다운로드되기 위해서 기록 파일(archive file) 안에서 수집되고 압축된다. 이 과정은 데이터베이스의 정보를 사용하는 스크립트를 통해서 자동으로 실시될 수 있음 물론, 관리자 혹은 권한을 부여받은 개인 사용자를 통해서도 실시될 수 있다.
이어서, 해시 값(hash value)이 상기 기록 파일을 위해서 생성되고, 상기 기록 파일은 이 해시 값을 이용하여 서명된다. 보다 바람직하게는, 상기 서명된 기록 파일은 하나의 조각으로 또는 여러개의 파트(part)로 나누어져 사용될 수 있다. 파트가 나누어지는 경우, 각 파트들은 반드시 같은 사이즈로 분할될 필요는 없다. 그들의 크기는 전적으로 임의적으로 나누어질 수 있다.
바람직하게는, 상기 서명된 기록 파일들의 하나 혹은 복수의 파트들을 대칭적으로 암호화하고, 전송될 데이터 패킷으로 로드될 파트들에 관련된 정보들에 이미 사용하고 있는 키(key)를 추가한다.
이러한 방식은 데이터의 보안을 더욱 강화시키게 해준다. 이러한 추가적인 암호화 덕분에, 어떠한 파트들이 어떤 정보들로부터 그 내용과 관련하여 추출이 되었는지 알아보거나 그들의 내용을 분석하는 것이 불가능하여 진다.
상기 해시 값이 각 파트별로 생성된 후, 1 부터 n 개의 비보안 다운로드 서버들에게 하나 혹은 복수의 다운로드용 파트들이 제공된다. 이러한 추가적인 암호화는 메인 서버부터 보안이 덜 된 다운로드 서버에 이르기까지 다양한 보안 레벨의 공간을 제공하게 된다. 이는 다운로드 서버로 하여금 대칭적으로 암호화된 패킷들을 정해진 시간 간격, 예를 들어 하루에 한 번 꼴로 재암호화하는 것을 보장한다. 임의의 방식의 대칭적 재암호화라도 잇점을 가질 수 있는데, 그 이유는 컴퓨터의 사용 시간을 거의 차지하지 않기 때문이다.
상기 재암호화에 있어서 중요한 점은, 재암호화를 위한 키들은 암호적으로 안전한 현재상태 특성을 보유한다. 예컨데, 재암호화를 위한 키를 메인 서버와 다운로드 서버에서 공통으로 알고 있는 키를 해시 알고리즘(hash algorithm)을 통한 계산을 통해 획득할 수 있음은 물론, 해당 요일의 날짜와, 필요하다면 해당 요일의 시간과도 같은 것을 통해, 예컨대 HMAC 알고리즘을 통해서도 가능하다.
최근의 패킷과 그 전날의 패킷은 언제나 얻을 수 있으며, 또한 오래된 패킷들은 정해진 기간, 예컨대 다운로드 서버에 하루 동안 저장해 놓을 수 있는 공간을 마련해놓는 것과 같이 일정 기간이 지나면 삭제될 수 있다. 메인 서버는 다운로드 서버들에 대해서 독립하여, 대용량의 데이터 패킷의 파트와 관련하여 앞서 참고된 정보를 계산하고, 클라이언트에게 제공할 수 있다.
보안 메인 서버는 다운로드의 조정을 수행한다. 클라이언트는 보안 연결, 예컨대 HTTPS 혹은 SSL 연결들을 통해 다운로드 요청을 위한 목적으로 메인 서버에 접속한다. 클라이언트는 자신의 고유한 식별자를 통해 메인 서버로부터 신원을 확인한다. 클라이언트임을 증명하기 위해, 데이터베이스에 대한 질의로서, 메인 서버는 전송된 식별자가 인정받은 클라이언트임을 확인한다.
다운로드 요청에 대한 답변으로, 클라이언트는 메인 서버로부터 서명된 기록 파일과 기록 파일의 해시 값에 연결하여, 생성된 데이터 패킷과 로드될 파트의 전체 총량과 관련된 정보들을 수신받는다. 이 정보에는 적어도 서명된 기록 파일에 있는 각 파트들의 오프셋, 그 길이, 해시 값, 그리고 다운로드 URL 이 담겨있다. 메인 서버는 특별히 각 클라이언트를 위하여 다운로드 URL 을 선택한다. 데이터 패킷을 보안 메인 서버로부터 보안 연결을 통하여 클라이언트에게 보내기 전에, 해당 데이터 패킷은 암호화되거나 서명된다.
정보들을 수집하여 완성된 하나의 서명된 기록 파일 및/또는 그 파트들을 이루는 경우, 때로는 특정 정보의 한 조각을 생략한 채 계산하는 경우가 있을 수 있는데, 그 이유는 정보의 다른 조각에 의거해 계산을 하는 경우가 있을 수 있기 때문이다. 예를 들어, 만약 파트들의 전체 길이가 알려져 있다면, 그 전체 길이를 생략하는 것은 가능한 일이다. 마찬가지로, 모든 파트들의 위치(position) 혹은 오프셋(offset)이 공지되어 있다면, 기록 파일의 마지막 파트의 위치는 논리적 귀결에 따라 배치될 것이다. 다운로드와 파트의 길이를 연결짓는 것은, 정보의 위치를 제공함에 있어서 각 파트들의 정확한 위치를 즉시 임시 파일에 저장할 수 있고, 따라서 모든 파트들의 다운로드가 이루어질 때까지 기다릴 필요가 없다는 알 수 있다. 마지막으로, 해시 값을 위해서도 만약 남은 파트들은 물론 전체 파일에 대한 해시 값이 정확하다면, 각 정보는 그 마지막 파트까지 정확해야 한다. 원칙적으로, 이와 같은 사례에서는 만약 전체 파일에 해당하는 해시 값이 전송되었다면, 그것으로도 충분하다고 볼 수 있을 것이다. 그 이유는, 만약 전송된 해시 값이 정확하다면, 이는 곧 전송된 모든 파트들에 대한 검토를 거치지 않고도 모든 파트들이 올바르게 전송되었음을 시사하기 때문이다. 그럼에도 불구하고, 다운로드를 함에 있어서는 각 파트의 해시 값들을 알고 있는 것이 유리한데, 만약 특정 파트가 잘못 전송되는 일이 발생하는 경우, 해시 값을 알고 있는 경우에는 다운로드가 모두 완료되기 전까지 기다릴 필요 없이 즉각적으로 다시 다운로드를 받을 수 있기 때문이다.
다음으로 클라이언트는 필요한 경우, 받은 데이터 패킷을 해독하고 부분적인 다운로드와 관련된 정보들을 분석한다. 그 뒤, 파트들을 다운로드하기 위해, 클라이언트는 하나 혹은 그 이상의 다운로드 서버의 전송된 URL 들에 하나 혹은 복수개의 비보안 연결(non-secure connection)을 구축한다. 파트들이 완성되었다면, 오류 없이 전송되었는지 여부를 확인하기 위해 파트 별로 상응하는 해시 값에 의해 검토된다. 검토된 파트들은 기록 파일에 모이고, 기록 파일은 이제 자신의 해시 값에 의하여 검토된다.
본 발명에 따른 방법의 일실시예에 의하면, 기록 파일의 목차(contents)는 모든 클라이언트들에 대해서 동일하다는 것이다. 이에 상응하여, 모든 클라이언트들은 획일적이고 완성된 기록들을 받으며, 사용자를 위한 가능한 기능(function)들은 정보들을 라이센싱하는 것 등에 따라 달라지게 된다. 만약 한 사용자가 두 가지 업데이트 사이에서 추가적 기능을 위한 라이센스를 획득하였다면, 그 라이센스는 오로지 전송된 라이센싱 정보에 의해서만 승인될 수 있다. 그 이후에는 어떠한 프로그램 파일을 다운받는 것이 불필요하다. 이와 같은 방식을 통해, 제공자 파트의 업데이트 패킷 관리 업무 또한 간소화해진다.
이를 대체할 수 있는 옵션(option)으로, 다운로드 기록을 위한 파일들은 개별적인 클라이언트들에게 개별적으로 수집되게 된다. 그럼에도 불구하고, 메인 서버 그 자체는 이러한 업무를 다루지 않을 수도 있는데, 대신 메인 서버는 로컬 네트워크 내의 하나 혹은 여러 대의 컴퓨터들에게 이러한 업무를 넘긴다. 이 경우, 보안 메인 서버는 하나의 개별적인 컴퓨터가 아니라 여러 대의 컴퓨터들로 이루어진 네트워크 혹은 클러스터(cluster)를 이루고 있다. 메인 서버를 각각의 컴퓨터들의 네트워크로 구성되게끔 하는 그 어떠한 배열은 현재 응용 프로그램의 범주 내에 있는 것으로 간주된다.
만약, 다운로드 기록(archive)를 위한 파일들의 개별적인 집합이 데이터베이스에 있는 고유한 식별자들과 덧붙여서 저장된 하나 혹은 다수의 특성들에 기반하게 된다면, 이는 가장 선호받는 방법이다. 이 방법을 통해서, 각 클라이언트들의 다운로딩을 최소화할 수 있으며, 라이센스를 받은 기능들에 대해서만 파일들을 전송해 주게 된다. 더 나아가 문자집합과 음성파일과 같은 지역성이 있는 파일들에 대해서도 고려할 수 있게 된다. 또한, 공급자는 하나의 그룹 혹은 개별적인 클라이언트들(예컨대 베타 테스터들)에게 제공함에 있어서 그들을 배제하기 위해(예를 들어, 호환성이 없다고 알려져 있는 경우, 법적 제한이 있는 경우) 특정 소프트웨어의 한 버전만 제공하거나 혹은 그 반대의 경우로 제공할 수 있는 선택권을 가지게 된다.
본 발명의 일실시예에 의하면, 상기 다운로드 서버들상에서 이용가능하도록 만들어진 파일들은 사이즈(size)면에서 로드될 파트들의 사이즈(size)와 동일하지 않으며, 다운로드 오프셋과 관련된 정보가 전송된 데이터 패킷에 로드될 파트들과 동일하지 않다. 이러한 기술을 이용하면 두 가지 장점들이 나타난다. 먼저, 일단 로드될 파트들이 다운로드 서버에 저장되지 않음으로써 추가적인 보안 혜택이 주어진다는 것이다. 그 대신, 로드될 파트들은 그 전 및/또는 다음에 랜덤 데이터에 보충적으로 저장이 된다. 클라이언트는 자신이 받은 데이터 패킷을 통해서 파트의 정확한 길이는 물론 다운로드 오프셋도 알고 있기 때문에 필요한 파트만 다운로드 할 수 있다. 반면에 공격자는 어떤 것이 쓸모없는 데이터인지 어떤 것이 필요한 데이터 조각인지 알 수 없게 된다.
또한, 다운로드 서버는 여러 다발의 파트 파일들을 준비하는 대신, 하나의 준비된 기록 파일을 가지고 있을 수 있게 된다. 이후, 메인 서버는 새로운 파트 데이터를 다운로드 서버로 전송할 필요 없이 로드될 파트들을 완전하고 유연하게 정의할 수 있게 된다. 이 모든 것을 위해서 필요한 것은 부합하는 해시 값들을 계산하고 새로운 오프셋들과 파트 길이들과 함께 클라이언트들에게 전송하는 것이다.
GZIP 혹은 LZMA 방식으로 압축된 기록은 기록 파일과의 연결을 구축함에 있어서 대단히 선호되는 방식이다. Tarball 과 GZIP 또는 LZMA 압축 알고리즘으로 결합하면, 이로써 정말 좋은 압축률을 얻게 된다. 더불어, 생성된 기록 파일들은 기록 파일들이 완성된 경우에만 데이터의 재구성이 가능하다는 장점을 가지게 된다.
보다 바람직하게는, 인터넷에서는 클라이언트와 서버들의 연결은 WAN(Wide Area Network)을 통해 구축된다. 또한, 그 방법은 당연히 LAN(Local Area Network) 에서도 적합한데, 예컨대 거대한 회사의 컴퓨터들로 구성된 회사의 네트워크는 중앙 서버를 통해 소프트웨어 업데이트를 공급할 수 있다.
가급적, 보안 메인 서버는 클라이언트의 다운로딩 요청에 대해 IP 주소에 따라 결정되는 최소 가능 거리 혹은 지리적 지역에 의거하여 하나 혹은 복수개의 비보안 서버들을 선택한다. 그리고/또는, 그것은 각 클라이언트에 대해 데이터베이스에 저장 및/또는 미리 저장된 전송 용량을 받았을 때 저장이 된다. 이러한 선별 기준을 통해, 메인 서버는 클라이언트에 대해 최대한 빠른 다운로딩을 보장할 수 있으며, 다운로드 서버들간의 로드에 균형을 맞추는 것 외에도 임대한 서버들 가운데 자유로운 트래픽(traffic)이 있는지를 고려할 것이다. 만약, 한 서버의 월별 용량이 꽉차게 되면, 메인 서버는 그 달의 남은 기간 동안 그 서버를 클라이언트들로의 URL 전송체계에서 단순히 제외시킬 수 있을 것이고, 이로써 운영비를 저렴하게 유지할 수 있다.
보다 바람직하게는, 상기 보안 메인 서버는 동시에 데이터베이스 서버 및/또는 다운로드 서버로도 기능할 수 있다. 메인 서버가 개개의 컴퓨터가 아니라 앞서 언급한 바와 같이 컴퓨터의 클러스터를 이루는 경우가 있다. 메인 서버가 다운로드 서버로도 활용될 수 있다는 가능성은 보안의 유효성과도 관련하여 또한 유용하다.
그 외에도, 상기 기록 파일은 해싱과 기록 파일에 담겨 있는 파일들과 관련된 정보들이 담긴 메니페스트(manifest,목록)에 대한 서명, 예컨대 버전(version)과 호환성에 대한 정보, 그리고 버전 번호 및/또는 기록에 대한 설명들이 전송된 데이터 패킷에 포함되어 있다. 그러므로, 포함된 파일들을 통해 업데이트를 위한 중요한 정보들을 전송할 수 있고, 이것은 또한 설치 작업으로도 사용될 수 있다.
하나의 실용적인 문제점이라면, 데이터 소스를 배포한 시스템이라면 개별적인 서버들이 메인 서버가 중앙 관리자로 작동할 수 있는지 여부에 따라 느슨하게 혹은 타이트하게 컨트롤을 받거나 받지 못하게 되거나 한다는 유효성의 문제를 안고 있다는 것이다. 선행기술들에 따른 보편적인 구조에서는, 메인 서버는 그 자체가 자신의 다운로드 서버들의 풀(pool)을 감시할 수 있고, 다음 데이터 패킷들의 도달할 수 없는 서버들에 대한 참고 표시를 더 이상 하지 않게 된다. 이로써, 각 서버는 다운로드 서버들과 클라이언트의 시스템 간에 소통 문제가 있는 경우 아무것도 배우지 않게 되며 이는 다운로드의 침몰(sink)을 의미한다. 이와 같은 경우로서는, 클라이언트 쪽의 결함이 있는 조합이나 방화벽에 의해 다운로드 서버가 막힌 것이 일례이다.
이렇게 원하지 않는 상황들을 방지하기 위한 실시예의 방법은, 다운로드 서버가 메인 서버에게 리턴 메시지를 보내는 것을 통해 문제가 되는 상황들을 감지하는 것이다. 그 후, 다운로드 서버/클라이언트 링크들은 그 전후 사정에 따라 유효성 테이블(availability table)에 분류되고 문제점들은 개별적으로 기록된다. 어떠한 자동화된 관리 전략은 문제가 있는 연결들을 추가적인 시도들에서 제외시킬 수 있게 되고, 또는 모든 클라이언트들을 위해서 사용 불가능한 서버들을 통째로 건너뛰는 일을 수행하게 된다. 공지의 평가 도구 및 복구 방편들을 이용하여 관리자들은 에러들을 해결하는 업무을 위해 유효성 테이블을 활용할 수 있다.
포트 넘버, 에러 메시지와 개별적인 프로토콜 메시지 혹은 로그 B 등과 같이 진단 업무와 관련되 데이터들로 강화된 유효성 테이블 B 는 추가적으로 다운로드 서버들의 기계적 문제에 대해서도 분산된 진단 업무를 수행한다. 다운로드 서버의 특정 에러 상태들은 오로지 클라이언트 측에서만 감지될 수 있을 가능성이 있다; 예컨대, 결함이 있는 조합으로 인해 다운로드 서버의 방화벽이 메인 서버와 다운로드 서버 간에 관리적 연결은 VPN(Virtual Private Network)을 통해 허용하더라고 외부의 클라이언트는 전혀 다운로드를 할 수 없게 되는 경우를 상상해 볼 수 있다.
이에 따른 일 실시예에 의하면, 만약 클라이언트들이 다운로드 및/또는 업데이트 이후 리턴 메시지를 전송하는 경우, 메인 서버는 개별 클라이언트들이 개별적인 문제들이 있는지를 배울 수 있다. 예컨대, 방화벽으로 인해 내부적인 전달 문제, 혹은 라우터에서 잘못 파악된 MTU(최대전송단위)를 들 수 있다. 게다가 만약 클라이언트가 단순히 각 파트 혹은 요일별 정보와 같은 업데이트 및/또는 다운로드의 성공 혹은 실패에 대한 보고 외에도 전송 속도와 기간을 전송해준다면, 메인 서버는 이러한 통계를 유지할 수 있다.
이러한 정보에 입각하였을 때, 메인 서버는 예를 들어, 어떠한 비보안 다운로드 서버가 어떠한 클라이언트, 네트워크 혹은 지역에 따른 공급자에게 가장 적합한 지를 진단하고 알아낼 수 있다.
또한, 본 발명 방법을 통해, 메인 서버가 직접적으로 그 유효성을 검토하는 것보다는 결함이 있는 다운로드 서버들을 보다 확실하게 파악할 수 있다(전술한 바 있는, 결함이 있는 조합으로 인해 방화벽이 VPN 을 통해 메인 서버와 다운로드 서버는 관리적 연결을 허용해 주지만, 외부의 클라이언트들에게는 허용하지 않는 경우를 비교해 보라).

Claims (14)

  1. 각각의 클라이언트를 위한 고유한 식별자(identifier)를 생성하는 단계;
    상기 고유한 식별자들을 보안 데이터베이스 서버의 데이터베이스에 저장하는 단계;
    다운로드를 위한 파일들을 수집하는 단계;
    상기 파일들을 하나의 기록 파일(archive file)로 압축하는 단계;
    상기 기록 파일을 위한 해시 값(hash value)을 생성하고, 상기 기록 파일의 서명들을 생성하기 위하여 상기 해시 값을 이용하는 단계;
    서명이 된 상기 기록 파일들을 하나 또는 복수의 파트(part)로 분리하는 단계;
    각 파트별로 해시 값을 생성하는 단계;
    상기 서명된 기록 파일들의 하나 혹은 복수의 파트들을 대칭적으로 암호화하고, 전송될 데이터 패킷으로 로드될 파트들과 관련한 정보에 사용된 키(key)를 추가하는 단계;
    1 부터 n 개의 비보안 다운로드 서버들에게 하나 혹은 복수의 다운로드용 파트들을 제공하고, 상기 비보안 다운로드 서버들이 이미 정해진 시간 간격(predefined time interval)에 따라 상기 대칭적으로 암호화된 패킷들을 재암호화하는 단계; 여기서, 바람직하게는, 이러한 목적을 위하여 이용되는 키들은 암호적으로 안전한 현재상태 특성을 보유하고, 상기 암호적으로 안전한 현재상태 특성은 메인서버와 다운로드 서버에 공통적으로 알려진 키로부터 생성되는 키 및 현재 시각에 의하여 보충될 수 있는 그 날의 날짜를 계산함에 의하여 생성되며,
    클라이언트가 HTTPS 또는 SSL 연결과 같은 보안 연결을 통하여 보안 서버에 다운로드를 요청하는 단계; 여기서, 상기 클라이언트는 고유한 식별자를 이용하여 메인 서버에 자기 자신을 식별하고,
    전송된 클라이언트의 식별자와 데이터베이스에 저장된 식별자를 비교함으로써 메인 서버에 의하여 클라이언트를 인증하는 단계;
    다음을 상호 결합(linkage)시키는 단계;
    i) 상기 서명된 기록 파일의 전체 길이와 관련된 정보,
    상기 전체 길이는 모든 파트들의 길이를 표시하고 그 계산을 허락함으로써 획득되는 전체 길이에 관한 정보를 나타내고,
    ii) 상기 기록 파일의 해시 값,
    모든 파트들의 해시 값이 항목 iii)에 있을 경우 생략된 해시 값을 표시하고,
    iii) 패킷과 암호 및/또는 생성된 데이터 패킷의 서명과 관련하여 로드될 파트들에 관한 정보,
    여기서, 상기 로드될 파트들에 관한 정보는 최소한 다음의 정보를 가지고 있으며,
    a) 상기 서명된 기록 파일에서의 각 파트의 오프셋(offset) 또는 상기 서명된 기록 파일의 파트들의 배열에서의 각 파트의 위치(position);
    b) 파트의 길이;
    상기 파트의 길이는, 상기 항목 i) 의 전체 길이에 관한 정보의 내용중에서 상기 서명된 기록 파일의 최초 길이가 제공된다면, 생략된 하나의 파트의 길이를 정확하게 표시하고,
    c) 파트의 해시 값;
    상기 파트의 해시 값은, 상기 서명된 기록 파일의 해시 값이 항목 ii)에서 표시되었다면 생략된 하나의 파트의 길이의 해시 값을 정확하게 나타내고,
    d) 다운로드 주소 또는 URL;
    상기 다운로드 주소 또는 URL 은, 다운로드 어드레스들의 리스트나 1 부터 n 개의 비보안 다운로드 서버들의 URL 들로부터 선택되고,
    암호화된 및/또는 서명된 데이터 패킷을 HTTPS 또는 SSL 연결과 같은 보안 연결을 통하여 상기 보안 메인 서버로부터 클라이언트로 전송하는 단계;
    클라이언트에 의한 데이터 패킷을 해독하고 분석하고, 하나 또는 그 이상의 비보안 다운로드 서버들 상에서 전송된 주소들 또는 URL 들과 하나 또는 그 이상의 비보안 연결을 구축하고, 필요한 파트들을 다운로드하는 단계;
    전송된 해시 값들을 이용하여, 다운로드된 파트들과 수집된 기록 파일들의 무결성에 관한 체크를 수행하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  2. 제 1 항에 있어서,
    상기 각각의 클라이언트를 위해 고유한 식별자들을 생성하는 단계는, 적어도,
    각각의 클라이언트에게 고유의 ID 를 배정하는 단계;
    각각의 클라이언트를 위한 실시간 랜덤(ramdom) 숫자들로 이루어진 토큰(token)을 생성하는 단계;
    상기 ID 와 토큰 및/또는 클라이언트의 MAC 주소를 보안 데이터베이스 서버의 데이터베이스에 저장하는 단계;
    를 포함하는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 기록 파일의 목차(contents)는 모든 클라이언트들을 위하여 동일한 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  4. 제 1 항 또는 제 2 항에 있어서, 다운로드를 위한 파일들을 수집하는 단계는,
    상기 보안 메인 서버에 의하여 각 클라이언트들에게 개인적으로 수행되는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  5. 제 4 항에 있어서, 상기 다운로드를 위한 파일들을 개인적으로 수집하는 것은,
    데이터베이스에서의 고유의 식별자에 추가하여 부여되는 하나 또는 그 이상의 특성들에 기초하여 수행되는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  6. 제 1 항 내지 제 5 항중 어느 한 항에 있어서,
    상기 다운로드 서버들상에서 이용가능하도록 만들어진 파일들은 사이즈(size)면에서 로드될 파트들의 사이즈(size)와 동일하지 않으며,
    전송된 데이터 패킷에 로드될 파드들에 관한 해당 다운로드 오프셋의 정보가 추가되는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  7. 제 1 항 내지 제 6 항중 어느 한 항에 있어서,
    상기 기록 파일은 GZIP 또는 LZMA 방식으로 압축된 기록 파일인 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  8. 제 1 항 내지 제 7 항중 어느 한 항에 있어서,
    상기 클라이언트들과 상기 서버들 사이의 연결은 WAN(Wide Area Network), 보다 상세하게는, 인터넷에 의하여 수행되는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  9. 제 1 항 내지 제 8 항중 어느 한 항에 있어서,
    상기 보안 메인 서버는 다운로드를 위하여,
    가능한 가장 근거리, 또는
    IP 주소에 의하여 결정되거나 및/또는 각 클라이언트의 데이터베이스에 기록된 지리적 지역, 및/또는
    미리 셋팅된(preset) 전송 볼륨(volume)의 범위(reaching)에 기초하여,
    클라이언트에게 요청함으로써 하나 또는 그 이상의 비보안 서버들을 선택하는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  10. 제 1 항 내지 제 9 항중 어느 한 항에 있어서,
    상기 보안 메인 서버는, 데이터베이스 서버 및/또는 다운로드 서버 기능을 동시에 수행하는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  11. 제 1 항 내지 제 10 항중 어느 한 항에 있어서,
    상기 기록 파일은 해싱 및 서명전에 메니페스트(manifest, 목록)에 의하여 확장되고,
    상기 메니페스트는 버전(version)이나 호환성(compatibility)과 같이 상기 기록 파일에 포함되는 파일들에 관한 정보를 수록하고 있으며,
    상기 기록 파일의 버전 번호 및/또는 설명은 상기 전송된 데이터 패킷에 합체되는 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  12. 제 1 항 내지 제 11 항중 어느 한 항에 있어서,
    상기 클라이언트는 리턴 정보를 송신하고,
    상기 리턴 정보는,
    다운로딩 시도시의 성공 또는 실패에 관한 정보 및/또는
    다운로딩의 지속시간 및 속도에 관한 정보 및/또는
    상기 메인 서버와 교신하는 상기 다운로드 서버의 이용가능성에 관한 정보인 것을 특징으로 하는 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법.
  13. 상기 제 1 항 내지 제 12 항중 어느 한 항의 방법을 수행하는 컴퓨터 네트워크로서,
    적어도 하나의 클라이언트 컴퓨터와,
    하나의 보안 메인 서버와,
    적어도 하나의 비보안 다운로드 서버를 포함하고,
    상기 클라이언트 컴퓨터와 상기 보안 메인 서버 사이에 HTTPS 또는 SSL 연결과 같은 보안 네트워크 연결을 구축하고,
    상기 클라이언트 컴퓨터와 상기 적어도 하나의 비보안 다운로드 서버 사이에 HTTP 또는 FTP 연결과 같은 비보안 네트워크 연결을 구축하고,
    상기 보안 메인 서버와 상기 적어도 하나의 비보안 다운로드 서버 사이에 HTTP 또는 FTP 연결과 같은 비보안 네트워크 연결을 구축하는 것을 특징으로 하는 컴퓨터 네트워크.
  14. 클라이언트 상에서의 업데이트 처리를 위한 상기 제 1 항 내지 제 12 항중 어느 한 항의 방법의 이용.
KR1020127022353A 2010-01-27 2010-11-25 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법 KR101453379B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102010006008A DE102010006008B4 (de) 2010-01-27 2010-01-27 Verfahren zum gesicherten Download von verteilten Downloadsourcen
DE102010006008.9 2010-01-27
PCT/EP2010/068252 WO2011091887A1 (de) 2010-01-27 2010-11-25 Verfahren zum gesicherten download von verteilten downloadsourcen

Publications (2)

Publication Number Publication Date
KR20120123483A true KR20120123483A (ko) 2012-11-08
KR101453379B1 KR101453379B1 (ko) 2014-10-22

Family

ID=43742416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127022353A KR101453379B1 (ko) 2010-01-27 2010-11-25 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법

Country Status (5)

Country Link
US (1) US8966258B2 (ko)
EP (1) EP2529529B1 (ko)
KR (1) KR101453379B1 (ko)
DE (1) DE102010006008B4 (ko)
WO (1) WO2011091887A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160127878A (ko) * 2015-04-27 2016-11-07 갤럭시아커뮤니케이션즈 주식회사 해시 코드를 이용하는 콘텐츠의 무결성 및 유효성 검증 방법 및 시스템
KR101703880B1 (ko) * 2015-10-01 2017-02-07 국민대학교산학협력단 시큐어로깅을 위한 포워드시큐어 압축 서명 장치 및 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9892202B2 (en) * 2012-01-25 2018-02-13 Microsoft Technology Licensing, Llc Web page load time reduction by optimized authentication
US9577986B1 (en) * 2012-07-27 2017-02-21 Daniel A Dooley Secure data verification technique
US9286644B2 (en) * 2013-01-12 2016-03-15 Pro Softnet Corporation Method for sharing multiple data items using a single URL
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
GB2532039B (en) 2014-11-06 2016-09-21 Ibm Secure database backup and recovery
KR101595897B1 (ko) * 2014-12-09 2016-02-19 숭실대학교산학협력단 디지털 도어록 및 그 제어방법, 이를 수행하기 위한 기록매체
US9954837B2 (en) 2015-01-07 2018-04-24 Cyph, Inc. Method of multi-factor authenication during encrypted communications
US10491399B2 (en) 2015-01-07 2019-11-26 Cyph, Inc. Cryptographic method for secure communications
CN104753925A (zh) * 2015-03-11 2015-07-01 华中科技大学 一种对文件进行加解密的网关系统和方法
US10819506B2 (en) * 2015-10-07 2020-10-27 Nec Corporation Method for storing a data file
US10528624B2 (en) * 2015-12-07 2020-01-07 Sap Se Optimal hash calculation of archive files and their file entries
GB2562079B (en) * 2017-05-04 2021-02-10 Arm Ip Ltd Continuous hash verification
US11088846B2 (en) * 2019-03-28 2021-08-10 Intel Corporation Key rotating trees with split counters for efficient hardware replay protection
US11240039B2 (en) 2019-06-28 2022-02-01 Intel Corporation Message index aware multi-hash accelerator for post quantum cryptography secure hash-based signing and verification

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263497B1 (en) * 1998-02-06 2007-08-28 Microsoft Corporation Secure online music distribution system
US6772337B1 (en) * 1999-11-09 2004-08-03 Lucent Technologies Inc. Light weight security for parallel access to multiple mirror sites
US7555559B2 (en) 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
US7299500B1 (en) * 2003-07-17 2007-11-20 Copyright Clearance Center, Inc. Method and apparatus for secure delivery and rights management of digital content at an unsecure site
US8464353B2 (en) * 2003-10-03 2013-06-11 Hewlett-Packard Development Company, L. P. Method and system for content downloads via an insecure communications channel to devices
US7546427B2 (en) * 2005-09-30 2009-06-09 Cleversafe, Inc. System for rebuilding dispersed data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160127878A (ko) * 2015-04-27 2016-11-07 갤럭시아커뮤니케이션즈 주식회사 해시 코드를 이용하는 콘텐츠의 무결성 및 유효성 검증 방법 및 시스템
KR101703880B1 (ko) * 2015-10-01 2017-02-07 국민대학교산학협력단 시큐어로깅을 위한 포워드시큐어 압축 서명 장치 및 방법

Also Published As

Publication number Publication date
WO2011091887A1 (de) 2011-08-04
DE102010006008B4 (de) 2012-10-31
DE102010006008A1 (de) 2011-07-28
US8966258B2 (en) 2015-02-24
EP2529529A1 (de) 2012-12-05
EP2529529B1 (de) 2018-03-14
KR101453379B1 (ko) 2014-10-22
US20120290842A1 (en) 2012-11-15

Similar Documents

Publication Publication Date Title
KR101453379B1 (ko) 분산된 다운로드 소스들로부터 안전하게 다운로드하는 방법
US11483143B2 (en) Enhanced monitoring and protection of enterprise data
US20230362133A1 (en) Systems and Methods for Uploading Streamed Objects to a Cloud Storage System
US10425282B2 (en) Verifying a network configuration
CN113742782B (zh) 基于隐私保护的区块链访问权限控制方法和区块链系统
US8266286B2 (en) Dynamic key management server discovery
CN108322306A (zh) 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法
US11757717B2 (en) Verifying network elements
US20190230094A1 (en) Identifying a network node to which data will be replicated
US9942050B2 (en) Method and apparatus for bulk authentication and load balancing of networked devices
JP2014127721A (ja) 暗号鍵管理プログラム、データ管理システム
US20230037520A1 (en) Blockchain schema for secure data transmission
US20070028116A1 (en) Data collation system and method
US11936633B2 (en) Centralized management of private networks
JP5586397B2 (ja) セキュア・ネットワーク・ストレージ・システム、方法、クライアント装置、サーバ装置、及びプログラム
CN109905408A (zh) 网络安全防护方法、系统、可读存储介质及终端设备
US20070028307A1 (en) Verification system and method
Sparrow et al. LEAP: A next-generation client VPN and encrypted email provider
US20180096129A1 (en) Network communication method and network communication system
WO2023104488A1 (en) Network path verification
SVITEK Investigating certificate revocation options

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181107

Year of fee payment: 5