KR20200060193A - 상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법 - Google Patents

상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR20200060193A
KR20200060193A KR1020190026439A KR20190026439A KR20200060193A KR 20200060193 A KR20200060193 A KR 20200060193A KR 1020190026439 A KR1020190026439 A KR 1020190026439A KR 20190026439 A KR20190026439 A KR 20190026439A KR 20200060193 A KR20200060193 A KR 20200060193A
Authority
KR
South Korea
Prior art keywords
server
information
ticket
client
patch
Prior art date
Application number
KR1020190026439A
Other languages
English (en)
Other versions
KR102190493B1 (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 KR20200060193A publication Critical patent/KR20200060193A/ko
Application granted granted Critical
Publication of KR102190493B1 publication Critical patent/KR102190493B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 출원의 일 실시예에 따르는 패치파일 배포를 위한 통합관리 서버는, 클라이언트로부터 전송받는 제1 암호화정보를 제1 유저정보와 패스워드로 복호화하고, 상기 제1 유저정보를 제1 티켓으로 암호화하여 상기 클라이언트에 발급하는 제1 서버 및 상기 클라이언트로부터 전송받는 제2 암호화정보를 상기 제1 티켓과 제2 유저정보로 복호화하고, 상기 제1 티켓에 대한 무결성 검증 결과에 따라, 제2 티켓을 생성하여 상기 클라이언트에 발급하는 제2 서버를 포함하고, 상기 제2 티켓은, 패치서버에 저장된 패치파일에 대한 접근권한이 부여된다.

Description

상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법{INTEGRATED MANAGEMENT SERVER FOR SECURE BINARY PATCH DEPLOYMENT BASED ON MUTUAL AUTHENTICATION AND OPERATION METHOD THEREOF}
본 출원은 상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법에 관한 것으로, 특히, 패치파일을 안전하게 배포하기 위한 통합관리 서버 및 그 동작 방법에 관한 것이다.
IoT 환경이 도래됨에 따라, 네트워크를 통해 검증되지 않은 파일이 무분별하게 유포되고 있으며, 신뢰된 서버에서도 변조된 파일이 유포된 사례가 발생하고 있다. 예를 들면, 최근 북미정상회담 시 관련 정보 파일로 위장한 악성코드가 유포되었고, 근래에 악성코드가 토렌트를 통해 대량으로 유포되고 있다.
또한, Microsoft, Adobe, 한컴과 같이 대형 업데이트 서비스 또는 보안패치가 발생할 경우, 다수의 사용자가 패치파일에 접근하여 다운로드 받고 있다. 이때, 공격자는 패치파일에 접근하여, 악성코드를 감염시켜, 패치파일이 배포된 다수 사용자에게 큰 피해를 발생시킬 수 있다.
즉, 이러한 악성코드는 알려지지 않은 새로운 취약점인 제로데이(Zero-day) 취약점을 이용할 뿐만 아니라 이전에 패치된 취약점을 이용하고 있다. 특히, 기업의 경우, 악성코드에 감염된 패치파일이 내부망을 통해 사내 모든 클라이언트에 배포될 경우, 막대한 피해가 발생할 수 있다.
이에 따라, 패치파일을 취급하는 모든 객체에 대한 상호인증을 수행하고, 안전한 패치파일을 배포할 수 있는 통합관리 시스템을 제공하고자 한다.
본 출원의 목적은, 패치파일에 대한 불특정 다수의 접근 빈도를 획기적으로 감소시킬 수 있는, 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법을 제공하기 위한 것이다.
본 출원의 일 실시예에 따르는 패치파일 배포를 위한 통합관리 서버는, 클라이언트로부터 전송받는 제1 암호화정보를 제1 유저정보와 패스워드로 복호화하고, 상기 제1 유저정보를 제1 티켓으로 암호화하여 상기 클라이언트에 발급하는 제1 서버 및 상기 클라이언트로부터 전송받는 제2 암호화정보를 상기 제1 티켓과 제2 유저정보로 복호화하고, 상기 제1 티켓에 대한 무결성 검증 결과에 따라, 제2 티켓을 생성하여 상기 클라이언트에 발급하는 제2 서버를 포함하고, 상기 제2 티켓은, 패치서버에 저장된 패치파일에 대한 접근권한이 부여된다.
실시예에 있어서, 상기 제1 서버는, 상기 제1 유저정보와 상기 패스워드에 기초하여, 상기 클라이언트의 접속상태에 대한 제1 인증을 수행한다.
실시예에 있어서, 상기 제1 서버는, 상기 클라이언트의 접속상태에 대한 상호인증을 위하여, 공개키를 통해 상기 제1 티켓과 제1 서버정보를 제1 티켓정보로 암호화하여 상기 클라이언트에 전송한다.
실시예에 있어서, 상기 제1 서버는, 미리 저장된 등록리스트를 참조하여, 상기 제1 암호화정보로부터 상기 공개키를 통해 복호화되는 상기 제1 유저정보 및 상기 패스워드에 대한 등록 여부를 확인하는 제1 서버인증부 및 상기 제1 유저정보 및 상기 패스워드가 상기 등록리스트에 등록된 경우, 공유키를 통해 상기 제1 서버정보와 상기 제1 티켓을 제1 티켓정보로 암호화하여 상기 클라이언트에 전송하는 제1 티켓발급부를 포함한다.
실시예에 있어서, 상기 공유키는, 상기 제2 서버 및 상기 패치서버와 서로 공유되는 비밀키이다.
실시예에 있어서, 상기 제2 서버는, 상기 제2 유저정보에 기초하여, 상기 클라이언트의 접속상태에 대한 제2 인증을 수행한다.
실시예에 있어서, 상기 제2 티켓은, 상기 접근권한에 대한 사용기간을 제한하는 타임스탬프, 상기 패치서버의 서버정보 및 상기 패치파일이 저장된 RL 주소정보를 포함한다.
실시예에 있어서, 상기 제2 서버는, 상기 클라이언트의 접속상태에 대한 상호인증을 수행하기 위하여, 공개키를 통해 상기 제2 티켓과 제2 서버정보를 제2 티켓정보로 암호화하여 상기 클라이언트에 전송하고, 상기 제2 서버정보는, 상기 제1 서버의 식별정보에 해당한다.
실시예에 있어서, 상기 제2 서버는, 미리 저장된 등록리스트를 참조하여, 상기 제2 암호화정보로부터 상기 공개키를 통해 복호화되는 상기 제2 유저정보에 대한 등록 여부를 확인하는 제2 서버인증부, 상기 제2 유저정보가 상기 등록리스트에 등록된 경우, 상기 공개키를 통해 상기 제2 서버정보와 상기 제2 티켓을 제2 티켓정보로 암호화하여 상기 클라이언트에 전송하는 제2 티켓발급부 및 상기 패치서버와 연결되어, 상기 패치파일에 대한 URL 주소정보를 수집하는 티켓관리부를 포함한다.
실시예에 있어서, 상기 패치서버는, 개발자에 의해 전자 서명되는 신규파일을 전송받아 악성코드 검사를 수행하는 악성파일 치료부, 미리 저장된 개발자 전자서명에 기초하여, 상기 신규파일에 대한 진위를 검증하는 전자서명 검증부, 상기 전자서명이 검증된 상기 신규파일을 상기 패치파일로 업데이트하고, 상기 신규파일에 대한 URL 주소정보를 상기 티켓관리부에 제공하고, 상기 신규파일에 대한 버전정보를 상기 클라이언트에 제공한다.
실시예에 있어서, 상기 클라이언트는, 상기 패치파일에 대한 버전정보를 내부망으로 전송하는 내부망 장치들 및 상기 내부망을 통해 상기 패치파일에 대한 버전정보를 전송받고, 외부망을 통해 상기 신규파일에 대한 버전정보를 전송받는 배포장치를 포함한다.
실시예에 있어서, 상기 내부망 장치들 각각은, 상기 배포장치에 기등록된 인증서에 기초하여, 상기 내부망을 통해 연결된 상기 배포장치의 연결에 대한 내부인증을 수행하는 로컬인증부, 상기 내부인증이 해제된 경우, 상기 배포장치로부터 다운로드받는 상기 패치파일을 설치하고, 기설정된 에러에 대한 자가 진단 테스트를 수행하는 파일관리부 및 상기 자가 진단 테스트를 통해 기록된 에러정보와 상기 패치파일에 대한 상기 버전정보를 주기적으로 상기 내부망을 통해 상기 배포장치에 전송하는 정보전송부를 포함한다.
실시예에 있어서, 상기 배포장치는, 상기 기등록된 인증서를 상기 로컬인증부에 제공하는 배포인증부 및 상기 패치서버로부터 상기 외부망을 통해 전송받는 상기 패치파일에 대한 전자서명에 대한 진위를 검증하는 전자서명부를 포함하고, 상기 배포인증부는, 상기 패치파일에 대한 버전정보와 상기 신규파일에 대한 버전정보 간의 차이에 기초하여, 기등록된 개인키를 통해 상기 제1 유저정보 및 상기 패스워드를 상기 제1 암호화정보를 암호화하여 상기 제1 서버에 전송한다.
본 출원의 일 실시예에 따르는 제1 및 제2 서버를 포함하는 통합관리 서버의 패치파일 배포방법으로서, 상기 제1 서버가 클라이언트로부터 전송받는 제1 암호화정보를 제1 유저정보와 패스워드로 복호화하는 단계, 상기 유저정보와 상기 패스워드에 기초하여, 상기 클라이언트의 접속상태에 대한 제1 인증을 수행하는 단계, 상기 제1 인증이 해제된 경우, 상기 제1 서버가 상기 제1 유저정보를 암호화하여 제1 티켓을 생성하고, 상기 제1 티켓을 상기 클라이언트에 발급하는 단계, 상기 제2 서버가 상기 클라이언트로부터 전송받는 제2 암호화정보를 상기 제1 티켓과 제2 유저정보로 복호화하는 단계, 상기 제2 서버가 상기 제2 유저정보에 기초하여, 상기 클라이언트의 접속상태에 대한 제2 인증을 수행하는 단계, 상기 제2 인증이 해제된 경우, 상기 제1 티켓에 대한 무결성을 검증하는 단계 및 상기 제1 티켓에 대한 무결성이 검증된 경우, 패치파일에 접근가능한 권한이 부여된 제2 티켓을 생성하여, 상기 클라이언트에 발급하는 단계를 포함한다.
실시예에 있어서, 상기 제1 서버가 상기 클라이언트의 접속상태에 대한 상호인증을 수행하기 위하여, 제1 서버정보와 상기 제1 티켓을 제1 티켓정보로 암호화하여 상기 클라이언트에 전송하는 단계를 더 포함한다.
실시예에 있어서, 상기 제2 서버가 상기 클라이언트의 접속상태에 대한 상호인증을 수행하기 위하여, 제2 서버정보와 상기 제2 티켓을 제2 티켓정보로 암호화하여 상기 클라이언트에 전송하는 단계를 더 포함한다.
실시예에 있어서, 상기 무결성을 검증하는 단계는, 상기 제2 암호화정보로부터 공개키를 통해 복호화되는 상기 제1 티켓과 상기 제2 유저정보 중 제1 티켓을 선택하는 단계, 상기 제1 티켓을 공유키를 통해 상기 제1 유저정보로 복호화하는 단계, 상기 공유키를 통해 복호화된 상기 제1 유저정보와 공개키를 통해 복호화된 상기 제2 유저정보 사이의 동일 여부를 판단하는 단계 및 상기 제1 유저정보와 상기 제2 유저정보가 서로 동일한 경우, 상기 제1 티켓에 대한 무결성 검증을 해제하는 단계를 포함한다.
실시예에 있어서, 상기 클라이언트가 상기 패치파일을 다운로드 받기 위하여, 상기 공개키에 대응되는 개인키를 통해 상기 제1 유저정보와 상기 패스워드를 상기 제1 암호화정보로 암호화하는 단계를 더 포함한다.
본 출원의 실시 예에 따른 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법은, 패치파일에 대한 불특정 다수의 접근빈도를 획기적으로 감소시킬 수 있는 효과가 있다.
또한, 상호 인증된 클라이언트가 기설정된 시간동안, 다운로드 권한을 부여받을 수 있어, 재접속 시 종래에서 수행되는 인증절차를 간소화시킬 수 있다.
도 1은 본 출원의 실시예에 따른 통합관리 서버의 블록도이다.
도 2는 도 1의 클라이언트와 통신하는 통합관리 서버 실시 예이다.
도 3은 본 출원의 실시예에 따른 패치파일 배포를 관리하기 위한 통합관리 시스템의 구성도이다.
도 4는 도 3의 제1 서버에 대한 실시 예이다.
도 5는 도 3의 제2 서버에 대한 실시 예이다.
도 6은 도 3의 패치서버에 대한 실시 예이다.
도 7은 도 3의 클라이언트에 대한 실시 예이다.
도 8은 도 3의 통합관리 서버의 동작 프로세스이다.
도 9는 도 3의 통합관리 서버의의 무결성을 검증하는 동작 프로세스에 대한 실시 예이다.
도 10은 도 3의 클라이언트에 대한 동작 프로세스이다.
본 명세서에 개시되어 있는 본 출원의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 출원의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 출원의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 출원의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 출원의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 출원의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 출원의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 출원을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 출원이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 출원의 바람직한 실시 예를 설명함으로써, 본 출원을 상세히 설명한다.
도 1은 본 출원의 실시예에 따른 통합관리 서버(500)의 구성도이고, 도 2는 도 1의 클라이언트(10)와 통신하는 통합관리 서버(500)의 실시 예이고, 도 3은 본 출원의 실시예에 따른 패치파일 배포를 관리하기 위한 통합관리 시스템(1000)의 구성도이다.
도 1 내지 도 3을 참조하면, 통합관리 서버(500)는 제1 서버(100)와 제2 서버(200)를 포함할 수 있다.
먼저, 제1 서버(100)는 클라이언트(10)로부터 외부망(50)을 통해 제1 암호화정보를 전송받을 수 있다. 여기서, 제1 암호화정보는 제1 유저정보(ID1)와 패스워드(PW)가 클라이언트(10)에 기등록된 개인키(Private Key)를 통해 암호화된 정보로, 제1 유저정보(ID1), 패스워드(PW) 및 기등록된 개인키(Private Key)를 포함할 수 있다. 이때, 제1 유저정보(ID1)는 제1 암호화정보를 제1 서버(100)에 전송하기 위한 클라이언트(10)의 해당 식별정보일 수 있다.
예를 들면, 클라이언트(10)는 인증기관(Certificate Authority, CA)의 PKI(Public Key Infrastructure)기반의 인증서를 통해 개인키(Private Key)를 사전에 등록할 수 있으며, 인증기관(CA)은 개인키(Private Key)에 대응되는 공개키(Public key)를 전자서명을 통해 암호화하여 공표할 수 있다.
이때, 외부망(50)은 유무선 인터넷망, 이동통신망, 근거리 통신망(LAN), Zigbee, bluetooth 및 USB 또는 IEEE 1394 방식으로 독립된 전자 장치들을 서로 연결시킬 수 있는 네트워크를 의미할 수 있다. 예를 들면, 외부망(50)은 WAN(Wide Area Network)과 LAN(Local Area Network), 인터넷을 모두 포함하는 광의의 개념일 수 있다. 여기서, 외부망(50)은 TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스 즉, HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNTP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있다.
일 실시예에 따른 제1 서버(100)는 공개키(Public key)를 통해 복호화되는 제1 암호화정보에 기초하여, 클라이언트(10)의 접속상태에 대한 제1 인증을 수행할 수 있다.
보다 구체적으로, 제1 서버(100)는 공개키(Public key)를 통해 제1 암호화정보를 제1 유저정보(ID1)와 패스워드(PW)로 복호화할 수 있다. 그런 다음, 제1 서버(100)는 미리 저장된 등록리스트를 참조하여, 복호화된 제1 유저정보(ID1) 및 패스워드(PW)에 대한 등록 여부를 확인할 수 있다.
이어서, 제1 서버(100)는 제1 유저정보(ID1) 및 패스워드(PW)에 대한 등록 여부에 따라, 클라이언트(10)의 접속상태에 대한 제1 인증을 해제할 수 있다. 구체적으로, 제1 서버(100)는 제1 암호화정보로부터 복호화된 제1 유저정보(ID1)와 패스워드(PW)에 기초하여, 외부망(50)을 통해 연결된 클라이언트(10)의 접속상태에 대한 제1 인증을 해제할 수 있다. 즉, 제1 서버(100)는 클라이언트(10)의 접속상태에 대하여, 허용할 수 있다.
한편, 제1 유저정보(ID1) 및 패스워드(PW)가 미리 저장된 등록리스트에 등록되지 않는 경우, 제1 서버(100)는 외부망(50)을 통해 연결된 클라이언트(10)의 접속상태를 차단시킬 수 있다.
이때, 클라이언트(10)의 접속상태에 대한 제1 인증이 해제된 경우, 제1 서버(100)는 공유키(Share Key)를 통해 제1 유저정보(ID1)를 암호화하여 제1 티켓(T1)을 생성할 수 있다. 여기서, 제1 티켓(T1)은 제1 유저정보(ID1)가 공유키(Share Key)를 통해 암호화된 정보로, 제1 유저정보(ID1)와 공유키(Share Key)를 포함할 수 있다.
이때, 공유키(Share Key)는 제1 서버(100), 제2 서버(200) 및 패치서버(20)가 사전에 서로 공유하는 비밀키일 수 있다. 즉, 제1 인증이 해제된 경우, 제1 서버(100)는 클라이언트(10)에 제1 티켓(T1)을 발급할 수 있다.
또한, 제1 서버(100)는 클라이언트(10)의 접속상태에 대한 상호인증을 위하여, 공개키(Public key)를 통해 제1 티켓(T1)과 제1 서버정보(S1)를 제1 티켓정보로 암호화하여 클라이언트(10)에 전송할 수 있다. 여기서, 제1 서버정보(S1)는 제1 서버(100)의 식별정보일 수 있다. 즉, 제1 서버(100)는 공유키(Share Key)를 통해 생성된 제1 티켓(T1)과 해당 제1 서버정보(S1)를 공개키(Public key)를 통해 제1 티켓정보로 암호화하여 클라이언트(10)에 전송할 수 있다.
이때, 클라이언트(10)는 외부망(50)을 통해 연결된 제1 서버(100)의 접속상태에 대하여, 상호인증을 수행할 수 있다. 보다 구체적으로, 클라이언트(10)는 제1 서버(100)로부터 외부망(50)을 통해 제1 티켓정보를 전송받고, 개인키(Private Key)를 통해 제1 티켓정보를 제1 티켓(T1)과 제1 서버정보(S1)로 복호화할 수 있다.
그런 다음, 클라이언트(10)는 미리 저장된 서버리스트를 참조하여, 제1 서버정보(S1)에 대한 등록 여부를 확인할 수 있다. 이때, 클라이언트(10)는 제1 서버정보(S1)에 대한 등록 여부에 따라, 제1 서버(100)의 접속상태를 인증 해제할 수 있다.
즉, 제1 서버(100)와 클라이언트(10)는 기등록된 개인키(Private Key)와 공개키(Public key)를 통해 서로의 암호화된 식별정보를 확인하는 상호인증 동작을 수행할 수 있다.
한편, 공유키(Share Key)는 클라이언트(10)에 공유되지 않기 때문에, 클라이언트(10)는 복호화되지 않는 제1 티켓(T1)과 제2 유저정보(ID2)를 제2 암호화정보로 암호화하여 제2 서버(200)로 전송할 수 있다. 여기서, 제2 유저정보(ID2)는 제2 서버(200)에 제2 암호화정보를 전송하기 위한 클라이언트(10)의 해당 식별정보일 수 있다. 즉, 제1 유저정보(ID1)와 제2 유저정보(ID2)는 암호화한 시점이 서로 다른 클라이언트(10)의 해당 식별정보일 수 있다.
다음으로, 제2 서버(200)는 클라이언트(10)로부터 외부망(50)을 통해 제2 암호화정보를 전송받을 수 있다. 이때, 제2 서버(200)는 제1 서버(100)가 이용하는 하나의 도메인을 통해 제2 암호화정보를 전송받을 수 있다.
여기서, 제2 암호화정보는 클라이언트(10)에 기등록된 개인키(Private Key)를 통해 제1 티켓(T1)과 제2 유저정보(ID2)가 암호화된 정보로, 제1 티켓(T1), 제2 유저정보(ID2) 및 기등록된 개인키(Private Key)를 포함할 수 있다. 예를 들면, 클라이언트(10)는 제1 서버(100)로부터 전송받는 제1 티켓(T1)과 제2 유저정보(ID2)를 개인키(Private Key)를 통해 암호화하여 제2 암호화정보를 생성하고, 제2 서버(200)에 전송할 수 있다.
일 실시예에 따른 제2 서버(200)는 공개키(Public key)를 통해 복호화되는 제2 암호화정보에 기초하여, 외부망(50)에 연결된 클라이언트(10)의 접속상태에 대한 제2 인증을 수행할 수 있다.
보다 구체적으로, 제2 서버(200)는 공개키(Public key)를 통해 제2 암호화정보를 제1 티켓(T1)과 제1 유저정보(ID1)로 복호화할 수 있다. 그런 다음, 제2 서버(200)는 미리 저장된 등록리스트를 참조하여, 복호화된 제1 유저정보(ID1)에 대한 등록 여부를 확인할 수 있다. 이어서, 제2 서버(200)는 제1 유저정보(ID1)에 대한 등록 여부에 따라, 외부망(50)에 연결된 클라이언트(10)의 접속상태에 대한 제2 인증을 해제할 수 있다.
한편, 제1 유저정보(ID1)가 미리 저장된 등록리스트에 등록되지 않는 경우, 제2 서버(200)는 외부망(50)을 통해 연결된 클라이언트(10)의 접속상태를 차단시킬 수 있다. 즉, 제2 서버(200)는 제2 암호화정보로부터 복호화된 제1 유저정보(ID1)에 기초하여, 외부망(50)을 통해 연결된 클라이언트(10)의 접속상태에 대한 제2 인증을 해제할 수 있다.
다른 실시예에 따른 클라이언트(10)의 접속상태에 대한 제2 인증이 해제된 경우, 제2 서버(200)는 공유키(Share Key)를 통해 제1 티켓(T1)을 복호화하여, 제1 티켓(T1)에 대한 무결성 여부를 검증할 수 있다.
보다 구체적으로, 제2 서버(200)는 공개키(Public key)를 통해 복호화된 제1 티켓(T1)을 공유키(Share Key)를 통해 제1 유저정보(ID1)로 복호화할 수 있다. 그런 다음, 제2 서버(200)는 공개키(Public key)를 통해 복호화된 제2 유저정보(ID2)와 공유키(Share Key)를 통해 복호화된 제1 유저정보(ID1) 사이의 동일성 여부를 판단할 수 있다. 이때, 공개키(Public key)를 통해 복호화된 제2 유저정보(ID2)와 공유키(Share Key)를 통해 복호화된 제1 유저정보(ID1)가 서로 동일한 경우, 제2 서버(200)는 제1 티켓(T1)에 대한 무결성 검증을 해제할 수 있다.
이때, 제1 티켓(T1)에 대한 무결성 검증이 해제된 경우, 제2 서버(200)는 패치파일에 대한 접근권한이 부여된 제2 티켓(T2)을 생성할 수 있다. 여기서, 제2 티켓(T2)은 접근 시간을 제한하기 위한 타임스탬프와 패치파일이 저장된 URL 주소정보가 공유키(Share Key)를 통해 암호화된 정보로서, 타임스탬프, URL 주소정보 및 공유키(Share Key)를 포함할 수 있다.
또한, 제2 서버(200)는 클라이언트(10)의 접속상태에 대한 상호인증을 위하여, 공개키(Public key)를 통해 제2 티켓(T2)과 제2 서버정보(S2)를 제2 티켓정보로 암호화하여 클라이언트(10)에 전송할 수 있다. 즉, 제2 서버(200)는 공개키(Public key)를 통해 제2 티켓(T2)과 제2 서버정보(S2)를 제2 티켓정보로 암호화하여 클라이언트(10)에 발급할 수 있다.
이때, 클라이언트(10)는 외부망(50)을 통해 연결된 제2 서버(200)의 접속상태에 대하여, 상호인증을 수행할 수 있다. 보다 구체적으로, 클라이언트(10)는 제2 서버(200)로부터 외부망(50)을 통해 제2 티켓정보를 전송받고, 개인키(Private Key)를 통해 제2 티켓정보를 제2 티켓(T2)과 제2 서버정보(S2)로 복호화할 수 있다.
그런 다음, 클라이언트(10)는 미리 저장된 서버리스트를 참조하여, 제2 서버정보(S2)에 대한 등록 여부를 확인할 수 있다. 이때, 클라이언트(10)는 제2 서버정보(S2)에 대한 등록 여부에 따라, 제2 서버(100)의 접속상태에 대한 인증을 해제할 수 있다.
즉, 제2 서버(200)와 클라이언트(10)는 기등록된 개인키(Private Key)와 공개키(Public key)를 통해 서로의 암호화된 식별정보를 확인하는 상호인증 동작을 수행할 수 있다. 이에 따라, 클라이언트(10)는 제2 티켓(T2)을 이용하여, 패치파일이 저장된 패치서버(20)로부터 패치파일을 다운로드받을 수 있다.
본 출원의 실시예에 따른 제1 서버(100)는 제1 암호화정보로부터 복호화되는 클라이언트(10)의 제1 유저정보(ID1)에 따라, 클라이언트(10)의 접속상태를 인증하고, 인증된 클라이언트(10)에 제1 티켓(T1)을 발급할 수 있다. 또한, 제2 서버(200)는 제2 암호화정보로부터 복호화되는 클라이언트(10)의 제2 유저정보(ID2)에 따라, 클라이언트(10)의 접속상태를 인증할 수 있다.
이때, 제2 서버(200)는 제 서버(100)를 통해 발급된 제1 티켓(T1)에 대한 무결성을 검증하고, 검증결과에 따라, 패치파일에 대한 접근권한이 부여된 제2 티켓(T2)을 클라이언트(10)에 발급할 수 있다. 즉, 제2 서버(200)는 제1 유저정보(ID1)와 제2 유저정보(ID2) 사이의 동일 여부에 따라, 제1 티켓(T1)에 대한 무결성을 검증할 수 있다.
이에 따라, 통합관리 서버(500)는 클라이언트(10)와 패치서버(20) 간의 패치파일 배포 과정에서, 제1 서버(100)와 제2 서버(200)를 통해 클라이언트(10)의 접속상태에 대한 제1 및 제2 인증을 수행함으로써, 패치파일에 대한 기밀성을 확보할 수 있다. 또한, 통합관리 서버(500)는 제1 서버(100)를 통해 클라이언트(10)에 발급된 제1 티켓(T1)에 대하여, 제2 서버(200)를 통해 무결성을 검증함으로써, 패치파일에 대한 무결성을 확보할 수 있다. 즉, 통합관리 서버(500)는 패치파일에 대한 무결성과 접근에 대한 기밀성을 확보하여, 패치파일에 대한 불특정 다수의 접근빈도를 획기적으로 감소시킬 수 있다.
이하, 도 4를 참조하여, 제1 서버(100)에 대해 보다 구체적으로 설명될 것이다.
도 4는 도 3의 제1 서버(100)에 대한 실시 예이다.
도 1 내지 도 4를 참조하면, 제1 서버(100)는 서버인증부(110)와 제1 티켓발급부(120)를 포함할 수 있다.
먼저, 제1 서버인증부(110)는 제1 암호화정보에 응답하여, 클라이언트(10)의 접속상태에 대한 제1 인증을 수행할 수 있다.
보다 구체적으로, 제1 서버인증부(110)는 클라이언트(10)로부터 제1 암호화정보를 전송받고, 공개키(Public key)를 통해 제1 암호화정보를 제1 유저정보(ID1)와 패스워드(PW)로 복호화할 수 있다. 그런 다음, 제1 서버인증부(110)는 미리 저장된 등록리스트를 참조하여, 제1 암호화정보로부터 복호화된 제1 유저정보(ID1) 및 패스워드(PW)에 대한 등록 여부를 확인할 수 있다. 이때, 제1 서버인증부(110)는 제1 유저정보(ID1) 및 패스워드(PW)에 대한 등록 여부에 따라, 외부망(50)을 통해 연결된 클라이언트(10)의 접속상태에 대한 제1 인증을 해제할 수 있다.
또한, 제1 서버인증부(110)는 클라이언트(10)의 접속상태에 대한 상호인증을 수행하기 위하여, 제1 서버정보(S1)와 제1 티켓(T1)을 제1 티켓정보로 암호화하여 클라이언트(10)에 전송할 수 있다. 즉, 제1 서버인증부(110)는 클라이언트(10)를 통해 클라이언트(10)의 접속상태에 대하여 인증받을 수 있다. 예를 들면, 제1 서버인증부(110)와 클라이언트(10)는 서로에 대한 접속상태를 상호인증할 수 있다.
다음으로, 제1 서버인증부(110)와 클라이언트(10) 간의 상호인증이 해제될 때, 제1 티켓발급부(120)는 제1 서버인증부(110)를 통해 복호화된 제1 유저정보(ID1)를 공유키(Share Key)를 통해 암호화하여 제1 티켓(T1)을 생성할 수 있다. 그런 다음, 제1 티켓발급부(120)는 공개키(Public key)를 통해 제1 티켓(T1)과 제1 서버정보(S1)를 암호화하여 제1 티켓정보를 클라이언트(10)에 전송할 수 있다. 이때, 제1 티켓발급부(120)는 사전에 제1 서버(100) 및 패치서버(20)와 공유키(Share Key)를 서로 공유할 수 있다.
본 출원의 실시예에 따른 제1 서버(100)는 공개키(Public key)를 통해 복호화되는 제1 유저정보(ID1)에 기초하여, 제1 서버인증부(110)를 통해 클라이언트(10)의 접속상태에 대한 제1 인증을 수행함으로써, 패치파일에 대한 기밀성을 확보할 수 있다. 또한, 제1 서버(100)는 제1 티켓(T1)에 대한 무결성을 검증할 수 있도록 공유키(Share Key)를 통해 암호화된 제1 티켓(T1)을 제1 티켓발급부(120)를 통해 클라이언트(10)에 전송할 수 있다.
이하, 도 5를 참조하여, 제2 서버(200)에 대해 보다 구체적으로 설명될 것이다.
도 5는 도 3의 제2 서버(200)에 대한 실시 예이다.
도 1 내지 도 5를 참조하면, 제2 서버(200)는 제2 서버인증부(210), URL 관리부(220) 및 제2 티켓발급부(230)를 포함할 수 있다.
먼저, 제2 서버인증부(210)는 제2 암호화정보에 응답하여, 클라이언트(10)의 접속상태에 대한 제2 인증을 수행할 수 있다.
보다 구체적으로, 제1 서버인증부(110)는 클라이언트(10)로부터 제1 암호화정보를 전송받고, 공개키(Public key)를 통해 제1 암호화정보를 제1 유저정보(ID1)와 패스워드(PW)로 복호화할 수 있다.
보다 구체적으로, 제2 서버인증부(210)는 클라이언트(10)로부터 제2 암호화정보를 전송받고, 공개키(Public key)를 통해 제2 암호화정보를 제2 유저정보(ID2)와 제1 티켓(T1)으로 복호화할 수 있다. 그런 다음, 제2 서버인증부(210)는 미리 저장된 등록리스트를 참조하여, 복호화된 제2 유저정보(ID2)에 대한 등록 여부를 확인할 수 있다. 이때, 제2 서버인증부(210)는 제2 유저정보(ID2)에 대한 등록 여부에 따라, 외부망(50)을 통해 연결된 클라이언트(10)의 접속상태에 대한 제2 인증을 해제할 수 있다.
또한, 제2 서버인증부(210)는 클라이언트(10)의 접속상태에 대한 상호인증을 수행하기 위하여, 제2 서버정보(S2)와 제2 티켓(T2)을 공개키를 통해 제2 티켓정보로 암호화하여 클라이언트(10)에 전송할 수 있다. 즉, 제2 서버인증부(210)는 클라이언트(10)를 통해 클라이언트(10)의 접속상태에 대하여 인증받을 수 있다. 예를 들면, 제2 서버인증부(210)와 클라이언트(10)는 서로에 대한 접속상태를 상호인증할 수 있다.
다음으로, 제2 서버인증부(210)와 클라이언트(10) 간의 상호인증이 해제될 때, 제2 티켓발급부(220)는 제2 암호화정보로부터 복호화된 제1 티켓(T1)에 대한 무결성 여부를 검증할 수 있다.
보다 구체적으로, 제2 티켓발급부(220)는 공개키(Public key)를 통해 제2 암호화정보를 제2 유저정보(ID2)와 제1 티켓(T1)으로 복호화할 수 있다. 이때, 제2 티켓발급부(220)는 공유키(Share Key)를 통해 제1 티켓(T1)을 제1 유저정보(ID1)로 복호화할 수 있다. 그런 다음, 제2 티켓발급부(220)는 공개키(Public key)를 통해 복호화된 제2 유저정보(ID2)와 공유키(Share Key)를 통해 복호화된 제1 유저정보(ID1) 사이의 동일 여부에 대하여 검증할 수 있다. 즉, 제2 티켓발급부(220)는 공개키(Public key)를 통해 복호화된 제1 유저정보(ID1)와 공유키(Share Key)를 통해 복호화된 제1 유저정보(ID1)에 기초하여, 제1 티켓(T1)에 대한 무결성 여부를 검증할 수 있다.
이때, 제2 티켓발급부(220)는 제1 티켓(T1)에 대한 무결성에 기초하여, 패치파일에 대한 접근권한이 부여된 제2 티켓(T2)을 생성할 수 있다. 보다 구체적으로, 공개키(Public key)를 통해 복호화된 제1 유저정보(ID1)와 공유키(Share Key)를 통해 복호화된 제1 유저정보(ID1)가 서로 동일한 경우, 제2 티켓발급부(220)는 패치파일에 대한 접근권한이 부여된 제2 티켓(T2)을 생성할 수 있다.
다음으로, 티켓관리부(230)는 패치서버(20)의 연동을 통해, 패치파일이 저장된 URL 주소정보를 수집하고, 제2 티켓발급부(220)를 통해 생성된 제2 티켓(T2)에 타임스탬프를 설정할 수 있다.
즉, 제2 서버(200)는 제2 암호화정보로부터 복호화되는 제2 유저정보(ID2)에 기초하여, 제2 서버인증부(210)를 통해 클라이언트(10)의 접속상태에 대한 제2 인증을 수행함으로써, 패치서버(20)에 저장된 패치파일의 접근에 대한 기밀성을 확보할 수 있다. 또한, 제2 서버(200)는 제2 서버인증부(210)를 통해 제1 서버(200)에서 클라이언트(10)에 발급된 제1 티켓(T1)에 대한 무결성을 검증함으로써, 패치파일에 대한 무결성을 확보할 수 있다.
이하, 도 6을 참조하여, 패치서버(20)에 대해 보다 구체적으로 설명될 것이다.
도 6은 도 3의 패치서버(20)에 대한 실시 예이다.
도 1 내지 도 6을 참조하면, 패치서버(20)는 악성파일 치료부(21), 전자서명 검증부(23), 파일관리부(25) 및 패치인증부(27)를 포함할 수 있다.
먼저, 악성파일 치료부(21)는 개발자에 의해 전자서명된 패치파일을 전송받고, 패치파일에 대한 악성코드 검사를 수행하여, 악성코드를 치료하거나 삭제할 수 있다.
다음으로, 전자서명 검증부(23)는 악성파일 치료부(25)를 통해 치료된 패치파일을 전송받아 파일관리부(25)에 저장할 수 있다. 이때, 전자서명 검증부(23)는 미리 저장된 전자서명을 이용하여 패치파일에 대한 진위 여부를 검증하고, 검증된 패치파일을 파일관리부(25)에 저장할 수 있다.
다음으로, 파일관리부(25)는 전자서명 검증부(21)를 통해 검증된 패치파일을 저장, 백업 및 관리하할 수 있다.
예를 들면, 파일관리부(25)는 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이터베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이터베이스 관리 시스템(OODBMS)을 이용하여 본 출원의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(field)들을 가지고 있다.
보다 구체적으로, 파일관리부(25)는 개발자에 의해 전자서명된 패치파일을 전자서명 검증부(23)를 통해 전송받아 저장할 수 있다. 이때, 파일관리부(25)는 패치파일 저장된 URL 주소정보를 제2 서버(200)의 티켓관리부(230)에 연동시키고, 패치파일의 버전정보를 클라이언트(10)에 연동시킬 수 있다.
다음으로, 패치인증부(27)는 제3 암호화정보에 기초하여, 클라이언트(10)의 접속상태에 대한 제3 인증을 수행할 수 있다. 여기서, 제3 암호화정보는 제2 티켓(T2)과 제3 유저정보(ID3)가 개인키(Private Key)를 통해 암호화된 정보로서, 제2 티켓(T2), 제3 유저정보(ID3) 및 개인키(Private Key)를 포함할 수 있다. 이때, 제3 유저정보(ID3)는 제3 암호화정보를 패치서버(20)에 전송하기 위한 클라이언트(10)의 해당 식별정보일 수 있다.
보다 구체적으로, 패치인증부(27)는 클라이언트(10)로부터 제3 암호화정보를 전송받고, 공개키(Public key)를 통해 제3 암호화정보를 제3 유저정보(ID3)와 제2 티켓(T2)으로 복호화할 수 있다. 그런 다음, 패치인증부(27)는 미리 저장된 등록리스트를 참조하여, 복호화된 제3 유저정보(ID3)에 대한 등록 여부를 확인할 수 있다. 이어서, 패치인증부(27)는 제3 유저정보(ID3)에 대한 등록 여부에 따라, 외부망(50)을 통해 연결된 클라이언트(10)의 접속상태에 대한 제3 인증을 수행할 수 있다.
또한, 패치인증부(27)는 클라이언트(10)의 접속상태에 대한 상호인증을 수행하기 위하여, 파일관리부(25)로부터 추출된 전자서명된 패치파일을 클라이언트(10)에 제공할 수 있다. 이후, 패치인증부(27)는 전자서명된 패치파일을 클라이언트(10)에 제공하여, 클라이언트(10)를 통해 클라이언트(10)의 접속상태에 대하여 인증받을 수 있다.
이하, 도 7을 참조하여, 클라이언트(10)에 대해 보다 구체적으로 설명한다.
도 7은 도 3의 클라이언트(10)에 대한 실시 예이다.
도 1 내지 도 7을 참조하면, 클라이언트(10)는 내부망 장치들(1_1~1_N)과 배포장치(7)를 포함할 수 있다.
여기서, 내부망 장치들(1_1~1_N) 각각은 로컬인증부(3), 파일관리부(4) 및 정보전송부(5)를 포함할 수 있다.
먼저, 로컬인증부(3)는 배포장치(7)에 기등록된 인증서에 기초하여, 내부망(30)을 통해 연결된 배포장치(7)를 인증할 수 있다. 여기서, 내부망(30)은 회사나 가정 등의 로컬 네트워크로, 예를 들면, LAN(Local Area Network)일 수 있다.
구체적으로, 로컬인증부(3)는 내부망(30)을 통해 연결된 배포장치(7)로부터 인증서를 전송받고, 인증서에 포함된 배포장치(7)에 대한 식별정보에 기초하여, 배포장치(7)를 인증할 수 있다. 예를 들면, 배포장치(7)는 개인키(Private Key)를 등록받기 위하여, 공개키(Public key), 배포장치(7)에 대한 식별정보가 포함된 발급되는 인증서를 인증기관(CA)에서 미리 발급받을 수 있다.
다음으로, 파일관리부(4)는 배포장치(7)에 대한 인증이 정상적으로 수행된 경우, 배포장치(7)로부터 패치파일을 전송받고, 해당 프로그램에 패치파일을 설치할 수 있다. 이때, 파일관리부(4)는 기설정된 자가 진단 테스트를 수행할 수 있다.
다음으로, 정보전송부(5)는 자가 진단 테스트를 통해 발생하는 패치파일에 대한 에러정보를 기록하고, 패치파일에 대한 에러정보를 배포장치(7)를 통해 패치서버(20)로 전송시킬 수 있다.
실시예에 따른 정보전송부(5)는 내부망(30)을 통해 패치파일에 대한 버전정보를 배포장치(7)에 주기적으로 전송할 수 있다. 즉, 정보전송부(5)는 기설정된 주기로 패치파일에 대한 버전정보를 전송함으로써, 배포장치(7)로부터 파일관리부(4)를 통해 새로운 패치파일을 배포받을 수 있다.
다음으로, 배포장치(7)는 배포인증부(8)와 전자서명부(9)를 포함할 수 있다.
먼저, 배포인증부(8)는 내부망(30)을 통해 인증기관(CA)에서 미리 발급받은 인증서를 로컬인증부(3)에 전송하여, 배포장치 식별정보를 인증받을 수 있다. 이때, 배포인증부(8)는 로컬인증부(3)로부터 내부망(30)을 통해 식별정보를 전송받고, 내부망장치 식별정보를 인증할 수 있다. 즉, 배포인증부(8)와 로컬인증부(3)는 내부망(30)을 통해 서로 연결되어, 해당 식별정보를 상호인증할 수 있다.
실시예에 따른 배포인증부(8)는 정보전송부(5)로부터 내부망(30)을 통해 주기적으로 전송받는 패치파일에 대한 버전정보와 패치서버(20)로부터 외부망(50)을 통해 전송받은 패치파일에 대한 버전정보를 비교할 수 있다. 이때, 배포장치(7)는 각 버전정보의 차이 여부에 따라, 개인키(Private Key)를 통해 제1 유저정보(ID1)와 패스워드(PW)를 암호화하여 제1 암호화정보를 생성할 수 있다. 그런 다음, 배포장치(7)는 패치파일을 다운로드 받기 위하여, 제1 암호화정보를 외부망(50)을 통해 제1 서버(100)에 전송할 수 있다.
또한, 배포인증부(8)는 제1 서버(100)로부터 외부망(50)을 통해 전송받는 제1 티켓정보에 응답하여, 개인키(Private Key)를 통해 복호화되는 제1 서버정보(S1)에 기초하여, 제1 서버(100)를 인증할 수 있다.
보다 구체적으로, 배포인증부(8)는 제1 서버(100)로부터 외부망(50)을 통해 제1 티켓정보를 전송받을 수 있다. 이때, 배포인증부(8)는 개인키(Private Key)를 통해 제1 티켓정보를 제1 티켓(T1)과 제1 서버정보(S1)로 복호화할 수 있다. 그런 다음, 배포인증부(8)는 미리 저장된 서버리스트를 참조하여, 제1 서버정보(S1)의 등록 여부를 확인할 수 있다. 또한, 배포인증부(8)는 제1 서버정보(S1)의 등록 여부에 따라, 제1 서버(100)의 연결을 인증 해제할 수 있다. 이후, 배포인증부(8)는 복호화된 제1 티켓(T1)와 제2 유저정보(ID2)를 개인키(Private Key)를 통해 암호화하여 제2 암호화정보를 생성하고, 외부망(50)을 통해 제2 서버(200)에 전송할 수 있다.
즉, 배포인증부(8)는 외부망(50)을 통해 연결된 제1 서버(100)의 제1 서버정보(S1)를 인증하고, 제1 서버(100)를 통해 제1 유저정보(ID1)를 인증받을 수 있다. 이에 따라, 배포인증부(8)와 제1 서버(100)는 상호인증을 수행할 수 있다.
또한, 배포인증부(8)는 제2 서버(200)로부터 외부망(50)을 통해 전송받는 제2 티켓정보에 응답하여, 개인키(Private Key)를 통해 복호화되는 제2 서버정보(S2)에 기초하여, 제2 서버(200)를 인증할 수 있다.
보다 구체적으로, 배포인증부(8)는 제2 서버(200)로부터 외부망(50)을 통해 제2 티켓정보를 전송받고, 개인키(Private Key)를 통해 제2 티켓정보를 제2 티켓(T2)과 제2 서버정보(S2)로 복호화할 수 있다. 그런 다음, 배포인증부(8)는 미리 저장된 서버리스트를 참조하여 제2 서버정보(S2)의 등록 여부를 확인할 수 있다. 또한, 배포인증부(8)는 제2 서버정보(S2)의 등록 여부에 따라, 제2 서버(200)의 연결을 인증 해제할 수 있다. 이때, 배포인증부(8)는 제2 티켓(T2)을 이용하여 외부망(50)을 통해 패치서버(20)와 연결되고, 패치파일을 다운로드 받을 수 있다.
즉, 배포인증부(8)는 외부망(50)을 통해 연결된 제2 서버(200)의 제2 서버정보(S2)를 인증하고, 제2 서버(200)를 통해 제1 유저정보(ID2)를 인증받을 수 있다. 이에 따라, 배포인증부(8)와 제2 서버(200)는 상호인증을 수행할 수 있다.
도 8은 도 1의 통합관리 서버(500)의 동작 프로세스이다.
도 1 내지 도 8을 참조하면, 먼저, S110 단계에서, 제1 서버(100)는 클라이언트(10)로부터 전송받는 제1 암호화정보를 공개키를 통해 제1 유저정보(ID1)와 패스워드(PW)로 복호화할 수 있다.
그런 다음, S120 단계에서, 제1 서버(100)는 복호화된 제1 유저정보(ID1)와 패스워드(PW)에 기초하여, 클라이언트(10)의 접속상태에 대한 제1 인증을 수행할 수 있다.
또한, S130 단계에서, 상기 제1 인증이 해제된 경우, 제1 서버(100)는 제1 유저정보(ID1)를 암호화하여 제1 티켓(T1)을 생성하고, 제1 티켓(T1)을 클라이언트(10)에 발급할 수 있다.
이때, S140 단계에서, 제1 서버(100)는 클라이언트(10)의 접속상태에 대한 상호인증을 수행하기 위하여, 제1 티켓(T1)과 제1 서버정보(S1)를 제1 티켓정보로 암호화하여 클라이언트(10)에 전송할 수 있다.
다음으로, S150 단계에서, 제2 서버(200)는 클라이언트(10)로부터 전송받는 제2 암호화정보를 제1 티켓(T1)과 제2 유저정보(ID2)로 복호화할 수 있다.
그런 다음, S160 단계에서, 제2 서버(200)는 제2 유저정보(ID2)에 기초하여, 클라이언트(10)의 접속상태에 대한 제2 인증을 수행할 수 있다.
그런 다음, S170 단계에서, 상기 제2 인증이 해제된 경우, 제2 서버(200)는 제1 티켓(T1)에 대한 무결성을 검증할 수 있다.
또한, S180 단계에서, 제1 티켓(T1)에 대한 무결성이 검증된 경우, 제2 서버(200)는 패치파일에 접근가능한 권한이 부여된 제2 티켓(T2)을 생성하고, 클라이언트(10)에 발급할 수 있다.
이때, S190 단계에서, 제2 서버(200)는 클라이언트(10)의 접속상태에 대한 상호인증을 수행하기 위하여, 제2 티켓(T2)과 제2 서버정보(S2)를 제2 티켓정보로 암호화하여 클라이언트(10)에 전송할 수 있다.
이후, 클라이언트(10)는 제2 서버(200)로부터 전송받는 제2 티켓정보로부터 복호화되는 제2 티켓(T2)을 이용하여, 패치서버(20)로부터 패치파일을 다운로드받을 수 있다.
도 9는 도 3의 통합관리 서버(500)의 무결성을 검증하는 동작 프로세스에 대한 실시 예이다.
도 1 내지 도 9를 참조하면, 먼저, S210 단계에서, 제2 서버(200)는 상기 S150 단계에서 공개키(Public key)를 통해 복호화된 제1 티켓(T1)과 제2 유저정보(ID2) 중 제1 티켓(T1)을 선택할 수 있다.
다음으로, S220 단계에서, 제2 서버(200)는 공유키(Share Key)를 통해 제1 티켓(T1)을 제1 유저정보(ID1)로 복호화할 수 있다.
다음으로, S230 단계에서, 제2 서버(200)는 공개키(Public key)를 통해 S150 단계에서 복호화된 제2 유저정보(ID2)와 공유키(Share Key)를 통해 S210 단계에서 복호화된 제1 유저정보(ID1) 사이의 동일 여부를 판단할 수 있다.
이때, S240 단계에서, 제1 유저정보(ID1)와 제2 유저정보(ID2)가 서로 동일한 경우, 제2 서버(200)는 제1 티켓(T1)에 대한 무결성 검증을 해제할 수 있다. 즉, 제2 서버(200)는 제1 티켓(T1)에 대하여, 무결성 검증을 완료할 수 있다.
한편, S250 단계에서, 제1 유저정보(ID1)와 제2 유저정보(ID2)가 서로 동일하지 않는 경우, 제2 서버(200)는 제1 티켓(T1)을 위조 티켓으로 판단하고, 클라이언트(10)의 접속상태를 차단시킬 수 있다.
도 10은 도 2의 클라이언트(10)에 대한 동작 프로세스이다.
도 2 내지 도 10을 참조하면, 먼저, S310 단계에서, 클라이언트(10)는 패치파일을 다운로드 받기 위하여, 기등록된 개인키를 통해 제1 유저정보(ID1)와 패스워드를 제1 암호화정보로 암호화하여 제1 서버(100)에 전송할 수 있다.
그런 다음, S320 단계에서, 클라이언트(10)는 제1 서버(100)로부터 전송받는 제1 티켓정보를 기등록된 개인키를 통해 제1 티켓(T1)과 제1 서버정보(S1)로 복호화할 수 있다.
이때, S330 단계에서, 클라이언트(10)는 미리 저장된 서버리스트를 참조하여, 제1 서버정보(S1)에 대한 등록 여부에 따라, 제1 서버(100)의 접속상태에 대한 상호인증을 수행할 수 있다.
그런 다음, S340 단계에서, 클라이언트(10)는 제1 티켓(T1)과 제2 유저정보(ID2)를 기등록된 개인키를 통해 제2 암호화정보로 암호화하여 제2 서버(200)에 전송할 수 있다.
그런 다음, S350 단계에서, 클라이언트(10)는 제2 서버(200)로부터 전송받는 제2 티켓정보를 기등록된 개인키를 통해 제2 티켓(T2)과 제2 서버정보(S2)로 복호화할 수 있다.
이때, S360 단계에서, 클라이언트(10)는 미리 저장된 서버리스트를 참조하여, 제2 서버정보(S2)에 대한 등록 여부에 따라, 제2 서버(200)의 접속상태에 대한 상호인증을 수행할 수 있다.
이후, S370 단계에서, 클라이언트(10)는 제2 티켓(T2)을 이용하여, 패치서버(20)로부터 패치파일을 다운로드 받을 수 있다.
본 출원은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 출원의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 클라이언트
20: 패치서버
100: 제1 서버
200: 제2 서버
500: 통합관리 서버
1000: 통합관리 시스템

Claims (18)

  1. 클라이언트로부터 전송받는 제1 암호화정보를 제1 유저정보와 패스워드로 복호화고, 상기 제1 유저정보를 제1 티켓으로 암호화하여 상기 클라이언트에 발급하는 제1 서버; 및
    상기 클라이언트로부터 전송받는 제2 암호화정보를 상기 제1 티켓과 제2 유저정보로 복호화하고, 상기 제1 티켓에 대한 무결성 검증 결과에 따라, 제2 티켓을 생성하여 상기 클라이언트에 발급하는 제2 서버를 포함하고,
    상기 제2 티켓은, 패치서버에 저장된 패치파일에 대한 접근권한이 부여된, 패치파일 배포를 위한 통합관리 서버.
  2. 제1항에 있어서,
    상기 제1 서버는, 상기 제1 유저정보와 상기 패스워드에 기초하여, 상기 클라이언트의 접속상태에 대한 제1 인증을 수행하는 패치파일 배포를 위한 통합관리 서버.
  3. 제1항에 있어서,
    상기 제1 서버는, 상기 클라이언트의 접속상태에 대한 상호인증을 위하여, 공개키를 통해 상기 제1 티켓과 제1 서버정보를 제1 티켓정보로 암호화하여 상기 클라이언트에 전송하는, 패치파일 배포를 위한 통합관리 서버.
  4. 제3항에 있어서,
    상기 제1 서버는, 미리 저장된 등록리스트를 참조하여, 상기 제1 암호화정보로부터 상기 공개키를 통해 복호화되는 상기 제1 유저정보 및 상기 패스워드에 대한 등록 여부를 확인하는 제1 서버인증부; 및
    상기 제1 유저정보 및 상기 패스워드가 상기 등록리스트에 등록된 경우, 공유키를 통해 상기 제1 서버정보와 상기 제1 티켓을 제1 티켓정보로 암호화하여 상기 클라이언트에 전송하는 제1 티켓발급부를 포함하는, 패치파일 배포를 위한 통합관리 서버.
  5. 제4항에 있어서,
    상기 공유키는, 상기 제2 서버 및 상기 패치서버와 서로 공유되는 비밀키인, 패치파일 배포를 위한 통합관리 서버.
  6. 제1항에 있어서,
    상기 제2 서버는, 상기 제2 유저정보에 기초하여, 상기 클라이언트의 접속상태에 대한 제2 인증을 수행하는, 패치파일 배포를 위한 통합관리 서버.
  7. 제1항에 있어서,
    상기 제2 티켓은, 상기 접근권한에 대한 사용기간을 제한하는 타임스탬프, 상기 패치서버의 서버정보 및 상기 패치파일이 저장된 RL 주소정보를 포함하는, 패치파일 배포를 위한 통합관리 서버.
  8. 제1항에 있어서,
    상기 제2 서버는, 상기 클라이언트의 접속상태에 대한 상호인증을 수행하기 위하여, 공개키를 통해 상기 제2 티켓과 제2 서버정보를 제2 티켓정보로 암호화하여 상기 클라이언트에 전송하고,
    상기 제2 서버정보는, 상기 제2 서버의 식별정보에 해당하는, 패치파일 배포를 위한 통합관리 서버.
  9. 제8항에 있어서,
    상기 제2 서버는, 미리 저장된 등록리스트를 참조하여, 상기 제2 암호화정보로부터 상기 공개키를 통해 복호화되는 상기 제2 유저정보에 대한 등록 여부를 확인하는 제2 서버인증부;
    상기 제2 유저정보가 상기 등록리스트에 등록된 경우, 상기 공개키를 통해 상기 제2 서버정보와 상기 제2 티켓을 제2 티켓정보로 암호화하여 상기 클라이언트에 전송하는 제2 티켓발급부; 및
    상기 패치서버와 연결되어, 상기 패치파일에 대한 URL 주소정보를 수집하는 티켓관리부를 포함하는, 패치파일 배포를 위한 통합관리 서버.
  10. 제9항에 있어서,
    상기 패치서버는, 개발자에 의해 전자 서명되는 신규파일을 전송받아 악성코드 검사를 수행하는 악성파일 치료부;
    미리 저장된 개발자 전자서명에 기초하여, 상기 신규파일에 대한 진위를 검증하는 전자서명 검증부;
    상기 전자서명이 검증된 상기 신규파일을 상기 패치파일로 업데이트하고, 상기 신규파일에 대한 URL 주소정보를 상기 티켓관리부에 제공하고, 상기 신규파일에 대한 버전정보를 상기 클라이언트에 제공하는, 패치파일 배포를 위한 통합관리 서버.
  11. 제10항에 있어서,
    상기 클라이언트는, 상기 패치파일에 대한 버전정보를 내부망으로 전송하는 내부망 장치들; 및
    상기 내부망을 통해 상기 패치파일에 대한 버전정보를 전송받고, 외부망을 통해 상기 신규파일에 대한 버전정보를 전송받는 배포장치를 포함하는, 패치파일 배포를 위한 통합관리 서버.
  12. 제11항에 있어서,
    상기 내부망 장치들 각각은, 상기 배포장치에 기등록된 인증서에 기초하여, 상기 내부망을 통해 연결된 상기 배포장치의 연결에 대한 내부인증을 수행하는 로컬인증부;
    상기 내부인증이 해제된 경우, 상기 배포장치로부터 다운로드받는 상기 패치파일을 설치하고, 기설정된 에러에 대한 자가 진단 테스트를 수행하는 파일관리부; 및
    상기 자가 진단 테스트를 통해 기록된 에러정보와 상기 패치파일에 대한 상기 버전정보를 주기적으로 상기 내부망을 통해 상기 배포장치에 전송하는 정보전송부를 포함하는, 패치파일 배포를 위한 통합관리 서버.
  13. 제12항에 있어서,
    상기 배포장치는, 상기 기등록된 인증서를 상기 로컬인증부에 제공하는 배포인증부; 및
    상기 패치서버로부터 상기 외부망을 통해 전송받는 상기 패치파일에 대한 전자서명에 대한 진위를 검증하는 전자서명부를 포함하고,
    상기 배포인증부는, 상기 패치파일에 대한 버전정보와 상기 신규파일에 대한 버전정보 간의 차이에 기초하여, 기등록된 개인키를 통해 상기 제1 유저정보 및 상기 패스워드를 상기 제1 암호화정보를 암호화하여 상기 제1 서버에 전송하는, 패치파일 배포를 위한 통합관리 서버.
  14. 제1 및 제2 서버를 포함하는 통합관리 서버의 패치파일 배포방법으로서,
    상기 제1 서버가 클라이언트로부터 전송받는 제1 암호화정보를 제1 유저정보와 패스워드로 복호화하는 단계;
    상기 유저정보와 상기 패스워드에 기초하여, 상기 클라이언트의 접속상태에 대한 제1 인증을 수행하는 단계;
    상기 제1 인증이 해제된 경우, 상기 제1 서버가 상기 제1 유저정보를 암호화하여 제1 티켓을 생성하고, 상기 제1 티켓을 상기 클라이언트에 발급하는 단계;
    상기 제2 서버가 상기 클라이언트로부터 전송받는 제2 암호화정보를 상기 제1 티켓과 제2 유저정보로 복호화하는 단계;
    상기 제2 서버가 상기 제2 유저정보에 기초하여, 상기 클라이언트의 접속상태에 대한 제2 인증을 수행하는 단계;
    상기 제2 인증이 해제된 경우, 상기 제1 티켓에 대한 무결성을 검증하는 단계; 및
    상기 제1 티켓에 대한 무결성이 검증된 경우, 패치파일에 접근가능한 권한이 부여된 제2 티켓을 생성하여, 상기 클라이언트에 발급하는 단계를 포함하는, 통합관리 서버의 패치파일 배포방법.
  15. 제14항에 있어서,
    상기 제1 서버가 상기 클라이언트의 접속상태에 대한 상호인증을 수행하기 위하여, 제1 서버정보와 상기 제1 티켓을 제1 티켓정보로 암호화하여 상기 클라이언트에 전송하는 단계를 더 포함하는, 통합관리 서버의 패치파일 배포방법.
  16. 제14항에 있어서,
    상기 제2 서버가 상기 클라이언트의 접속상태에 대한 상호인증을 수행하기 위하여, 제2 서버정보와 상기 제2 티켓을 제2 티켓정보로 암호화하여 상기 클라이언트에 전송하는 단계를 더 포함하는, 통합관리 서버의 패치파일 배포방법.
  17. 제14항에 있어서,
    상기 무결성을 검증하는 단계는, 상기 제2 암호화정보로부터 공개키를 통해 복호화되는 상기 제1 티켓과 상기 제2 유저정보 중 제1 티켓을 선택하는 단계;
    상기 제1 티켓을 공유키를 통해 상기 제1 유저정보로 복호화하는 단계;
    상기 공유키를 통해 복호화된 상기 제1 유저정보와 공개키를 통해 복호화된 상기 제2 유저정보 사이의 동일 여부를 판단하는 단계; 및
    상기 제1 유저정보와 상기 제2 유저정보가 서로 동일한 경우, 상기 제1 티켓에 대한 무결성 검증을 해제하는 단계를 포함하는, 통합관리 서버의 패치파일 배포방법.
  18. 제17항에 있어서,
    상기 클라이언트가 상기 패치파일을 다운로드 받기 위하여, 상기 공개키에 대응되는 개인키를 통해 상기 제1 유저정보와 상기 패스워드를 상기 제1 암호화정보로 암호화하는 단계를 더 포함하는, 통합관리 서버의 패치파일 배포방법.
KR1020190026439A 2018-11-21 2019-03-07 상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법 KR102190493B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180144916 2018-11-21
KR1020180144916 2018-11-21

Publications (2)

Publication Number Publication Date
KR20200060193A true KR20200060193A (ko) 2020-05-29
KR102190493B1 KR102190493B1 (ko) 2020-12-14

Family

ID=70911412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190026439A KR102190493B1 (ko) 2018-11-21 2019-03-07 상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102190493B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422570A (zh) * 2021-12-31 2022-04-29 深圳市联软科技股份有限公司 一种跨平台的多模块通讯方法及系统
KR102499018B1 (ko) * 2022-04-22 2023-02-13 남부솔루션 주식회사 열차 제어 시스템을 위한 통합 암호화 키 관리 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040094189A (ko) * 2003-05-02 2004-11-09 한국전자통신연구원 시스템의 보안성 및 성능 향상을 위한 패치 분배 시스템및 방법
JP2007159009A (ja) * 2005-12-08 2007-06-21 Ricoh Co Ltd チケット保護方法およびクライアント
KR20070070562A (ko) * 2005-12-29 2007-07-04 주식회사 팬택 이동통신 단말기의 오류 보고 시스템 및 오류관리서버
KR20170131785A (ko) * 2016-05-20 2017-11-30 순천향대학교 산학협력단 영상 보안 시스템에서 프라이버시 객체 마스킹 및 사용자 인증을 위한 키 관리 방법 및 이러한 방법을 사용하는 영상 보안 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040094189A (ko) * 2003-05-02 2004-11-09 한국전자통신연구원 시스템의 보안성 및 성능 향상을 위한 패치 분배 시스템및 방법
JP2007159009A (ja) * 2005-12-08 2007-06-21 Ricoh Co Ltd チケット保護方法およびクライアント
KR20070070562A (ko) * 2005-12-29 2007-07-04 주식회사 팬택 이동통신 단말기의 오류 보고 시스템 및 오류관리서버
KR20170131785A (ko) * 2016-05-20 2017-11-30 순천향대학교 산학협력단 영상 보안 시스템에서 프라이버시 객체 마스킹 및 사용자 인증을 위한 키 관리 방법 및 이러한 방법을 사용하는 영상 보안 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422570A (zh) * 2021-12-31 2022-04-29 深圳市联软科技股份有限公司 一种跨平台的多模块通讯方法及系统
CN114422570B (zh) * 2021-12-31 2024-05-14 深圳市联软科技股份有限公司 一种跨平台的多模块通讯方法及系统
KR102499018B1 (ko) * 2022-04-22 2023-02-13 남부솔루션 주식회사 열차 제어 시스템을 위한 통합 암호화 키 관리 장치 및 방법

Also Published As

Publication number Publication date
KR102190493B1 (ko) 2020-12-14

Similar Documents

Publication Publication Date Title
JP7364674B2 (ja) 安全な無線ファームウェアアップグレード
US11849029B2 (en) Method of data transfer, a method of controlling use of data and cryptographic device
EP3318003B1 (en) Confidential authentication and provisioning
US9847882B2 (en) Multiple factor authentication in an identity certificate service
US10348706B2 (en) Assuring external accessibility for devices on a network
CA2551113A1 (en) Authentication system for networked computer applications
KR102177794B1 (ko) 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템
KR101686167B1 (ko) 사물 인터넷 기기의 인증서 배포 장치 및 방법
CN105553666B (zh) 一种智能电力终端安全认证系统及方法
US20190327235A1 (en) External accessibility for network devices
JP6012888B2 (ja) 機器証明書提供装置、機器証明書提供システムおよび機器証明書提供プログラム
JP6667371B2 (ja) 通信システム、通信装置、通信方法、及びプログラム
US20160344725A1 (en) Signal haystacks
CN111740995B (zh) 一种授权认证方法及相关装置
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
CN114257376B (zh) 数字证书更新方法、装置、计算机设备和存储介质
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
KR102190493B1 (ko) 상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법
TWI422241B (zh) 頻譜授權以及相關的通訊方法和裝置
US20190305940A1 (en) Group shareable credentials
CN111081338A (zh) 安全型人体健康参数采集方法
JP2005175992A (ja) 証明書配布システムおよび証明書配布方法
KR20150005789A (ko) 인증서를 이용한 사용자 인증 방법
KR20170111809A (ko) 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법
AU2017412654B2 (en) Assuring external accessibility for devices on a network

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant