(주)한컴위드
인증 블록을 이용한 공개키 관리를 수행할 수 있는 인증 서버 및 그 동작 방법
AUTHENTICATION SERVER THAT CAN PERFORM PUBLIC KEY MANAGEMENT USING AUTHENTICATION BLOCKS AND THE OPERATING METHOD THEREOF
특허 요약
본 발명은 사용자 단말로부터 공개키에 대한 인증 블록의 발급 요청이 수신되면, 인증 기관(Certificate Authority: CA) 개인키를 이용한 전자 서명을 통해 제1 서명 데이터를 생성한 후, 상기 공개키와 상기 제1 서명 데이터가 포함된 제이슨 웹 토큰(JSON Web Tokens) 구조의 제1 인증 블록을 생성하여 상기 사용자 단말로 발급해 줌으로써, 양자 내성 암호화 기술을 이용하여 생성된 키 쌍을 통한 전자 서명이 가능하도록 지원할 수 있다.
청구항
번호청구항
1

인증 블록을 이용한 공개키 관리를 수행할 수 있는 인증 서버에 있어서,사전 발급된 인증 기관(Certificate Authority: CA) 개인키와, 상기 CA 개인키에 대응하는 CA 공개키가 저장되어 있는 키 쌍 저장부;사용자 단말에서 전자 서명을 위한 개인키와, 상기 개인키에 대응되는 공개키 쌍이 생성된 후, 상기 사용자 단말로부터 상기 공개키와 함께 인증 블록의 발급 요청 명령이 수신되면, 상기 CA 개인키를 기반으로 한 전자 서명을 수행하여 제1 서명 데이터를 생성한 후, 상기 공개키와 상기 제1 서명 데이터를 포함하는 제이슨 웹 토큰(JSON Web Tokens) 구조의 제1 인증 블록을 생성하는 블록 생성부;상기 제1 인증 블록을 상기 사용자 단말로 전송함으로써, 상기 제1 인증 블록의 발급을 완료하는 인증 블록 발급부;상기 제1 인증 블록을 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한 후, 사전 설정된 데이터베이스 상에, 상기 제1 해시 값을 저장하고, 상기 제1 해시 값이 저장된 시점으로부터 사전 설정된 유효 기간이 경과하게 되면, 상기 데이터베이스로부터 상기 제1 해시 값을 삭제하는 이력 관리부; 및상기 사용자 단말에 상기 제1 인증 블록이 발급된 이후, 상기 사용자 단말이 콘텐츠 제공자(Content Provider: CP)의 서비스 서버에 접속하여, 상기 개인키를 기반으로 전자 서명된 제2 서명 데이터와 상기 제1 인증 블록을 상기 서비스 서버에 전송하면서, 상기 서비스 서버로 상기 제2 서명 데이터에 대한 검증 요청 명령을 전송함에 따라, 상기 서비스 서버로부터, 상기 제1 인증 블록과 함께 상기 제1 인증 블록에 포함된 상기 공개키에 대한 유효성 검증 요청 명령이 수신되면, 상기 제1 인증 블록을 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 데이터베이스 상에 상기 제1 해시 값이 저장되어 있는지 확인하여, 상기 제1 해시 값이 저장되어 있는 것으로 확인되면, 상기 CA 공개키를 기초로 상기 제1 인증 블록에 포함되어 있는 상기 제1 서명 데이터에 대한 서명 검증을 수행하여, 상기 제1 서명 데이터가 정상적 서명 데이터로 검증되면, 상기 서비스 서버로 상기 공개키가 유효함을 지시하는 결과 메시지를 전송하는 인증 블록 검증부를 포함하고,상기 블록 생성부는사전 설정된 복수의 의사 난수 생성 함수들이 저장되어 있는 함수 저장부;상기 사용자 단말로부터 상기 공개키와 함께 상기 인증 블록의 발급 요청 명령이 수신되면, 현재 시점의 날짜를 확인하여, 상기 현재 시점의 날짜에 대한 n(n은 2이상의 자연수임)자리수의 날짜 값을 생성하고, 상기 복수의 의사 난수 생성 함수들 중 어느 하나인 제1 의사 난수 생성 함수를 랜덤하게 선택하는 선택부;상기 n자리수의 날짜 값을 구성하는 각 자리의 숫자를 시드(seed)로 하여 상기 제1 의사 난수 생성 함수에 하나씩 입력으로 인가함으로써, n개의 의사 난수들을 생성하는 난수 생성부;상기 n개의 의사 난수들 각각에 대해, 상기 n자리수의 날짜 값을 구성하는 각 자리의 숫자를 제수로 하는 모듈로(modulo) 연산 - 제수로 사용되는 숫자가 0인 경우에는 피제수로 사용된 의사 난수를 연산 결과로 산출함 - 을 수행함으로써, n개의 연산 값들을 생성하는 연산부;상기 n자리수의 날짜 값을 구성하는 각 자리의 숫자를 성분으로 갖는 n차원의 벡터와 상기 n개의 연산 값들 각각을 성분으로 갖는 n차원의 벡터 간의 합성곱을 수행하여 합성곱 벡터를 생성한 후, 상기 합성곱 벡터를 구성하는 각 성분을 연접한 연접 데이터와 상기 공개키를 구성하는 데이터를 서로 연접함으로써, 전자 서명용 데이터를 생성하는 생성부;상기 CA 개인키를 기초로 상기 전자 서명용 데이터에 대한 전자 서명을 수행함으로써, 상기 제1 서명 데이터를 생성하는 서명부; 및상기 제1 서명 데이터가 생성되면, 상기 공개키와 상기 제1 서명 데이터를 포함함과 동시에, 상기 현재 시점의 날짜에 대한 정보를 추가로 포함하는 제이슨 웹 토큰 구조의 상기 제1 인증 블록을 생성하는 블록 생성 처리부를 포함하며,이때 상기 이력 관리부는상기 제1 인증 블록을 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 데이터베이스 상에, 상기 제1 해시 값을 저장함과 동시에, 상기 제1 의사 난수 생성 함수를 상기 제1 해시 값에 대응시켜 추가로 저장하는 것을 특징으로 하는 인증 서버.