KR102421562B1 - 암호 라이브러리 관리 시스템 및 방법 - Google Patents

암호 라이브러리 관리 시스템 및 방법 Download PDF

Info

Publication number
KR102421562B1
KR102421562B1 KR1020200179782A KR20200179782A KR102421562B1 KR 102421562 B1 KR102421562 B1 KR 102421562B1 KR 1020200179782 A KR1020200179782 A KR 1020200179782A KR 20200179782 A KR20200179782 A KR 20200179782A KR 102421562 B1 KR102421562 B1 KR 102421562B1
Authority
KR
South Korea
Prior art keywords
encryption
cryptographic
library
module
unique information
Prior art date
Application number
KR1020200179782A
Other languages
English (en)
Other versions
KR20220089289A (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 KR1020200179782A priority Critical patent/KR102421562B1/ko
Publication of KR20220089289A publication Critical patent/KR20220089289A/ko
Application granted granted Critical
Publication of KR102421562B1 publication Critical patent/KR102421562B1/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

실시예에 따르면, 탑재대상 장비에 마련되며, 암호 라이브러리 파일 및 참조 파일을 포함하는 암호 모듈; 상기 암호 모듈의 배포 및 저장 기능을 수행하며, 상기 암호 모듈 배포시 상기 암호 모듈의 탑재대상 장비의 고유 정보, 배포 대상 암호 모듈의 시리얼 번호 및 상기 배포 대상 암호 모듈의 유효기간을 암호화하여 상기 참조 파일을 생성한 후, 상기 암호 라이브러리 파일과 함께 배포하는 암호 라이브러리 관리 서버; 및 상기 탑재대상 장비의 고유 정보를 저장하고 있으며, 상기 암호 라이브러리 관리 서버의 상기 탑재대상 장비의 고유 정보 확인 요청에 응답하여 탑재대상 장비의 고유 정보를 회신하는 암호 라이브러리 인증 서버를 포함하는 암호 라이브러리 관리 시스템을 제공한다.

Description

암호 라이브러리 관리 시스템 및 방법{Cryptographic library management system and method}
본 발명의 일실시예는 암호 라이브러리 관리 시스템 및 방법에 관한 것이다.
최근 전력분야에서 정보보호 기술의 중요성이 증대됨에 따라 전력정보를 안전하게 보호하기 위한 보안기술에 대해 관심이 매우 고조되고 있으며, 특히 암호 라이브러리의 연구가 활발히 진행 중에 있다.
산업통상자원부 고시 『지능형전력망의 구축 및 이용촉진에 관한 법률』 및 『지능형전력망 정보의 보호 조치에 관한 지침』에 의거하여 지능형전력망 시스템에는 중요정보 보호와 암호 모듈의 안전성 및 구현 적합성을 위한 KCMVP (Korea Cryptographic Module Validation Program, 암호 모듈의 구현 적합성 검증 제도) 검증필 암호 모듈 사용이 의무화되었다.
KCMVP는 한국형 암호 모듈 검증제도로 전자정부법 시행령 제 69조와 “암호 모듈 시험 및 검증 지침”에 의거, 국가·공공기관 정보통신망에서 소통되는 자료 중 비밀로 분류되지 않은 중요 정보의 보호를 위해 사용되는 암호 모듈의 안전성과 구현 적합성을 검증하는 제도이다. KCMVP는 개발업체에서 암호 모듈 개발을 완료하고 시험기관에 KCMVP 시험 신청 후 엔트로피 시험, 암호 알고리즘 시험, 시험자 시험 등을 거쳐 암호 알고리즘의 안전성 및 구현 적합성을 확인하고 정책기관의 확인 및 산학연 전문가로 이루어진 암호 검증 위원회의 결정을 통해 검증필을 획득할 수 있다.
이 때 암호 모듈은 일반적으로 어떠한 사용제한 조치가 없고 암호 모듈 KCMVP 검증시에도 안전성 및 구현 적합성만 검증하기 때문에, 암호 모듈 입수 후 당초 목적 이외의 다른 목적으로 사용 또는 판매, 복제, 재사용 등에 대해 제재할 수 없다.
이를 방지하기 위하여 암호 모듈 공급(배포)사 및 사용사 간 사용 계약 체결, 보안 서약서 등을 통해 당초 목적 이외의 용도로 사용 금지, 계약된 사용기간 종료 시 암호 모듈 폐기 등을 명시하고 있으나 실제 사용 시 법적 조치 이외의 제재가 사실상 불가하다.
또한, 암호 모듈을 구매 후 복제하여 여러대의 서버에서 불법적으로 사용시 제한이 불가능하다.
또한 사업적인 이유로 유효기간을 제한하여 판매하는 정책이 있으나 당초 계약기간 이후 사용에 대한 제재방법이 없다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 개발 및 테스트 또는 사업적인 목적으로 암호 모듈을 배포할 때 이를 효과적으로 관리할 수 있는 암호 라이브러리 관리 시스템 및 방법을 제공하는데 있다.
실시예에 따르면, 탑재대상 장비에 마련되며, 암호 라이브러리 파일 및 참조 파일을 포함하는 암호 모듈; 상기 암호 모듈의 배포 및 저장 기능을 수행하며, 상기 암호 모듈 배포시 상기 암호 모듈의 탑재대상 장비의 고유 정보, 배포 대상 암호 모듈의 시리얼 번호 및 상기 배포 대상 암호 모듈의 유효기간을 암호화하여 상기 참조 파일을 생성한 후, 상기 암호 라이브러리 파일과 함께 배포하는 암호 라이브러리 관리 서버; 및 상기 탑재대상 장비의 고유 정보를 저장하고 있으며, 상기 암호 라이브러리 관리 서버의 상기 탑재대상 장비의 고유 정보 확인 요청에 응답하여 탑재대상 장비의 고유 정보를 회신하는 암호 라이브러리 인증 서버를 포함하는 암호 라이브러리 관리 시스템을 제공한다.
상기 암호 라이브러리 관리 서버 및 상기 암호 라이브러리 파일은 상기 배포대상 암호 모듈의 유효기간을 암복호화 하기 위한 제1암호화 키를 공유할 수 있다.
상기 암호 라이브러리 관리 서버는 상기 제1암호화 키를 이용하여 상기 배포 대상 암호 모듈의 유효기간을 암호화할 수 있다.
상기 암호 모듈은 상기 탑재대상 장비의 구동시 상기 암호 라이브러리의 초기화를 시행하고, 상기 제1암호화 키를 이용하여 상기 참조 파일에 포함된 상기 배포대상 암호 모듈의 유효기간을 복호화 한 후 암호 모듈의 유효성을 검증할 수 있다.
상기 암호 라이브러리 관리 서버 및 상기 암호 라이브러리 인증 서버는 상기 탑재대상 장비의 고유 정보를 암복호화 하기 위한 제2암호화 키를 공유할 수 있다.
상기 암호 라이브러리 관리 서버는 상기 제2암호화 키를 이용하여 상기 탑재대상 장비의 고유 정보를 암호화하고, 상기 암호 라이브러리 시리얼 번호를 추가하여 상기 참조 파일을 생성할 수 있다.
상기 암호 모듈은 상기 탑재대상 장비의 구동시 상기 암호 라이브러리의 초기화를 시행하고, 상기 제2암호화 키를 이용하여 상기 암호 라이브러리 시리얼 번호를 암호화하여 상기 암호 라이브러리 인증 서버로 전송할 수 있다.
상기 인증 서버는 상기 제2암호화 키를 이용하여 암호화 된 상기 암호 라이브러리 시리얼 번호를 복호화하고, 복호화 된 상기 암호 라이브러리 시리얼 번호에 대응되는 탑재대상 장비의 고유 정보를 상기 암호 모듈로 전송할 수 있다.
상기 암호 모듈은 상기 인증 서버로부터 수신한 탑재대상 장비의 고유 정보와 상기 참조 파일에 포함된 탑재대상 장비의 고유 정보를 비교하여 암호 모듈의 유효성을 검증할 수 있다.
실시예에 따르면, 암호 라이브러리 관리 서버가 암호 모듈의 탑재대상 장비의 고유 정보, 배포 대상 암호 모듈의 시리얼 번호 및 상기 배포 대상 암호 모듈의 유효기간을 암호화하여 참조 파일을 생성하는 단계; 상기 암호 라이브러리 관리 서버가 상기 참조 파일 및 암호 라이브러리 파일을 배포하는 단계; 상기 암호 모듈이 상기 탑재대상 장비의 구동시 상기 암호 라이브러리의 초기화를 시행하는 단계; 및
상기 암호 모듈이 상기 참조 파일에 포함된 암호 모듈의 탑재대상 장비의 고유 정보 및 배포대상 암호 모듈의 유효기간을 이용하여 암호 모듈의 유효성을 검증하는 단계를 포함하는 암호 라이브러리 관리 방법을 제공한다.
상기 참조 파일을 생성하는 단계는, 상기 암호 라이브러리 관리 서버가 제1암호화 키를 이용하여 상기 배포 대상 암호 모듈의 유효기간을 암호화하는 단계를 포함할 수 있다.
상기 암호 모듈의 유효성을 검증하는 단계는, 상기 암호 모듈이 상기 제1암호화 키를 이용하여 상기 참조 파일에 포함된 상기 배포대상 암호 모듈의 유효기간을 복호화하여 상기 암호 모듈의 유효성을 검증하는 단계를 포함할 수 있다.
상기 참조 파일을 생성하는 단계는, 상기 암호 라이브러리 관리 서버가 제2암호화 키를 이용하여 상기 탑재대상 장비의 고유 정보를 암호화하는 단계 및 상기 암호 라이브러리 시리얼 번호를 추가하여 상기 참조 파일을 생성하는 단계를 포함할 수 있다.
상기 암호 모듈의 유효성을 검증하는 단계는, 상기 암호 모듈이 상기 제2암호화 키를 이용하여 상기 암호 라이브러리 시리얼 번호를 상기 암호 라이브러리 인증 서버로 전송하는 단계; 상기 인증 서버는 상기 제2암호화 키를 이용하여 암호화 된 상기 암호 라이브러리 시리얼 번호를 복호화하고, 복호화 된 상기 암호 라이브러리 시리얼 번호에 대응되는 탑재대상 장비의 고유 정보를 상기 암호 모듈로 전송하는 단계; 및 상기 암호 모듈이 상기 인증 서버로부터 수신한 탑재대상 장비의 고유 정보와 상기 참조 파일에 포함된 탑재대상 장비의 고유 정보를 비교하여 암호 모듈의 유효성을 검증하는 단계를 포함할 수 있다.
실시예에 따르면, 전술한 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록매체를 제공한다.
본 발명인 암호 라이브러리 관리 시스템 및 방법은 비등록 장비에 대한 불법적인 사용을 방지할수 있다.
또한, 계약된 유효기간 경과에 따른 부적절한 사용을 방지할 수 있다.
도1은 실시예에 따른 암호 라이브러리 관리 시스템의 개념도이다.
도2 및 도3은 실시예에 따른 암호 라이브러리 관리 방법의 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
다만, 본 발명의 기술 사상은 설명되는 일부 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 기술 사상 범위 내에서라면, 실시 예들간 그 구성 요소들 중 하나 이상을 선택적으로 결합, 치환하여 사용할 수 있다.
또한, 본 발명의 실시예에서 사용되는 용어(기술 및 과학적 용어를 포함)는, 명백하게 특별히 정의되어 기술되지 않는 한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 일반적으로 이해될 수 있는 의미로 해석될 수 있으며, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미를 고려하여 그 의미를 해석할 수 있을 것이다.
또한, 본 발명의 실시예에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있고, "A 및(와) B, C 중 적어도 하나(또는 한 개 이상)"로 기재되는 경우 A, B, C로 조합할 수 있는 모든 조합 중 하나 이상을 포함할 수 있다.
또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다.
이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등으로 한정되지 않는다.
그리고, 어떤 구성 요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결, 결합 또는 접속되는 경우뿐만 아니라, 그 구성 요소와 그 다른 구성 요소 사이에 있는 또 다른 구성 요소로 인해 '연결', '결합' 또는 '접속' 되는 경우도 포함할 수 있다.
또한, 각 구성 요소의 "상(위) 또는 하(아래)"에 형성 또는 배치되는 것으로 기재되는 경우, 상(위) 또는 하(아래)는 두 개의 구성 요소들이 서로 직접 접촉되는 경우뿐만 아니라 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 형성 또는 배치되는 경우도 포함한다. 또한, "상(위) 또는 하(아래)"으로 표현되는 경우 하나의 구성 요소를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
실시예에 따른 암호 라이브러리 관리 시스템 및 방법은 KCMVP검증을 받은 암호 모듈 및 암호 라이브러리에 적용될 수 있다.
도1은 실시예에 따른 암호 라이브러리 관리 시스템의 개념도이다. 도1을 참조하면, 실시예에 따른 암호 라이브러리 관리 시스템은 암호 모듈, 암호 라이브러리 관리 서버 및 암호 라이브러리 인증 서버를 포함할 수 있다.
암호 모듈(10)은 탑재대상 장비(1)에 마련되며, 암호 라이브러리 파일 및 참조 파일을 포함할 수 있다.
실시예에서, 암호 모듈(10)은 데이터를 암호화 하기 위해 사용하는 암호화 알고리즘(ARIA, LEA 등)을 소프트웨어, 펌웨어, 하드웨어 형태로 구현한 장치를 의미할 수 있다.
실시예예서, 암호 라이브러리는 암호 모듈(10) 로드 시 동작 상태로 전환하는 초기화 기능, 암복호화 기능, 해시 알고리즘 기능, 전자서명 기능, 난수 발생기 기능 등을 포함하고 있는 동적 라이브러리 파일을 의미할 수 있다. 암호 라이브러리는 윈도우즈의 경우 DLL(Dynamic Linking library), 리눅스 운영체제의 경우 SO(Shared Object) 확장자를 가지는 파일 형태로 제공될 수 있다.
실시예에서, 참조 파일은 암호 라이브러리 파일 구동 시 참조되는 파일로써, 암호화 된 암호 모듈(10)의 유효 기간과 암호화 된 암호 모듈(10) 탑재대상 장비(1)의 고유 정보 및 암호화 되지 않은 평문 암호 모듈(10) 시리얼 번호를 포함할 수 있다.
실시예에서 유효기간이란, 암호 모듈(10)의 선택적 사용제한을 위하여 암호 모듈(10) 공급자 및 암호 모듈(10) 사용자 간의 사용 계약에 따라 설정될 수 있다. 예를 들면, 유효기간은 유효기간 만료날짜로 명시될 수 있다.
실시예에서, 고유 정보는 범용 고유 식별자로써, 소프트웨어 구축에 쓰이는 식별자 표준으로 개방 소프트웨어 재단(OSF)이 분산 컴퓨팅 환경(DCE)의 일부로 표준화한 정보를 의미할 수 있다. 고유 정보는 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위하여 필요한 각각의 고유한 이름으로, 이를 위하여 범용 고유 정보가 국제기구에서 표준화 되어 있다. 실시예에서, 고유 정보는 표준형식의 UUID로, 32개의 십육진수로 표현되며 36개의 문자가 8-4-4-4-12라는 5개의 그룹을 하이픈으로 구분하여 명시될 수 있다.
암호 모듈(10)은 탑재대상 장비(1)의 구동시 암호 라이브러리의 초기화를 시행하고, 제1암호화 키를 이용하여 참조 파일에 포함된 배포대상 암호 모듈의 유효기간을 복호화 한 후 암호 모듈(10)의 유효성을 검증할 수 있다.
암호 모듈(10)은 현재 날짜와 참조 파일의 유효 기간을 비교한 후, 현재 날짜가 설정된 유효 기간 이후인 경우, 암호 라이브러리를 종료할 수 있다. 암호 모듈(10)은 현재 날짜가 설정된 유효 기간과 같은 날짜이거나 또는 이전인 경우에는 암호 라이브러리를 구동시킬 수 있다.
또한, 암호 모듈(10)은 탑재대상 장비(1)의 구동시 암호 라이브러리의 초기화를 시행하고, 제2암호화 키를 이용하여 암호 라이브러리 시리얼 번호를 암호 라이브러리 인증 서버(30)로 전송할 수 있다.
암호 모듈(10)은 인증 서버(30)로부터 수신한 탑재대상 장비(1)의 고유 정보와 참조 파일에 포함된 탑재대상 장비(1)의 고유 정보를 비교하여 암호 모듈(10)의 유효성을 검증할 수 있다. 암호 모듈(10)은 인증 서버(30)로부터 수신한 탑재대상 장비(1)의 고유 정보와 참조 파일에 포함된 탑재대상 장비(1)의 고유 정보를 비교한 후, 일치하지 않은 경우, 암호 라이브러리를 종료할 수 있다. 암호 모듈(10)은 인증 서버(30)로부터 수신한 탑재대상 장비(1)의 고유 정보와 참조 파일에 포함된 탑재대상 장비(1)의 고유 정보가 일치한 경우, 암호 라이브러리를 구동시킬 수 있다.
암호 라이브러리 관리 서버(20)는 암호 모듈(10)의 배포 및 저장 기능을 수행하며, 암호 모듈(10) 배포시 암호 모듈(10)의 탑재대상 장비(1)의 고유 정보 및 배포대상 암호 모듈의 유효기간을 암호화하여 참조 파일을 생성한 후, 암호 라이브러리 파일과 함께 배포할 수 있다.
실시예에서, 암호 라이브러리 관리 서버(20)는 암호 모듈(10) 배포 운영 환경(운영체제, 컴파일러 등)과 배포하는 기관 및 대상 장비의 고유 정보(UUID)를 등록, 관리하는 기능을 수행할 수 있다. 암호 라이브러리 관리 서버(20)는 암호 모듈(10) 배포 시 자체 보유하고 있는 암호키를 이용하여 암호화 된 유효 기간 생성, 암호화 된 탑재장비 고유 정보를 생성하여 참조파일을 생성한 후, 암호 라이브러리와 함께 배포할 수 있다.
암호 라이브러리 관리 서버(20) 배포대상 암호 모듈의 유효기간을 암복호화 하기 위한 제1암호화 키를 암호 라이브러리 파일과 공유할 수 있다. 제1암호화 키는 유효기간을 암복호화하기 위한 대칭키를 의미할 수 있다. 암호 라이브러리 관리 서버(20)는 제1암호화 키를 이용하여 배포 대상 암호 모듈의 유효기간을 암호화하여 참조 파일에 포함시킬 수 있다.
또한, 암호 라이브러리 관리 서버(20)는 탑재대상 장비(1)의 고유 정보를 암복호화 하기 위한 제2암호화 키를 암호 라이브러리 인증 서버(30)와 공유할 수 있다. 제2암호화 키는 고유 정보 및 암호 라이브러리 시리얼 키를 암복호화하기 위한 대칭키를 의미할 수 있다. 암호 라이브러리 관리 서버(20)는 제2암호화 키를 이용하여 탑재대상 장비(1)의 고유 정보를 암호화하고, 암호 라이브러리 시리얼 번호를 추가하여 참조 파일을 생성할 수 있다.
암호 라이브러리 관리 서버(20)는 탑재대상 장비(1)의 고유 정보별로 유효 기간을 상이하게 하여 참조 파일을 생성할 수 있다. 탑재대상 장비(1)가 복수개인 경우, 암호 라이브러리 관리 서버(20)는 암호 모듈 공급자 및 암호 모듈 사용자의 계약에 따라 탑재대상 장비(1)별로 유효 기간을 상이하게 설정하여 참조 파일을 생성할 수 있다.
암호 라이브러리 인증 서버(30)는 탑재대상 장비(1)의 고유 정보를 저장하고 있으며, 암호 라이브러리 관리 서버(20)의 탑재대상 장비(1)의 고유 정보 확인 요청에 응답하여 탑재다상 장비의 고유 정보를 회신할 수 있다.
암호 라이브러리 인증 서버(30)는 암호 모듈(10) 탑재장비의 고유 정보를 보유하고 있어 암호 모듈(10) 초기화 시 암호 모듈(10)의 고유 정보 확인 요청에 응답하여 암호 모듈(10) 시리얼 번호에 대응되는 탑재장비의 고유 정보를 회신할 수 있다. 인증 서버(30)는 제2암호화 키를 이용하여 암호화 된 암호 라이브러리 시리얼 번호를 복호화하고, 복호화 된 암호 라이브러리 시리얼 번호에 대응되는 탑재대상 장비(1)의 고유 정보를 암호 모듈(10)로 전송할 수 있다.
도2는 실시예에 따른 암호 라이브러리 관리 방법의 순서도이다.
도2를 참조하면, 암호 라이브러리 사용, 판매 요청이 접수되면 암호 관리자는 암호 모듈 공급자 및 암호 모듈 사용자간의 사용 계약을 체결한다. 암호 라이브러리 관리 서버는 체결된 계약에 근거하여 유효 기간을 생성하고, 암호 모듈 사용자로부터 암호 모듈이 탑재되는 장비의 고유 정보를 요청한다(S201).
다음으로, 암호 라이브러리 관리 서버는 암호 모듈의 탑재대상 장비의 고유 정보 및 배포대상 암호 모듈의 유효기간을 암호화하여 참조 파일을 생성한다. 암호 라이브러리 관리 서버는 제1암호화 키를 이용하여 배포 대상 암호 모듈의 유효기간을 암호화하고, 제2암호화 키를 이용하여 탑재대상 장비의 고유 정보를 암호화한다. 이후, 암호 라이브러리 관리 서버는 암호 라이브러리 시리얼 번호를 추가하여 참조 파일을 생성한다(S202).
다음으로, 암호 라이브러리 관리 서버는 참조 파일 및 암호 라이브러리 파일을 암호 모듈로 배포한다(S203).
도3은 실시예에 따른 암호 라이브러리 관리 방법의 순서도이다.
도3을 참조하면, 먼저 암호 모듈이 탑재대상 장비의 구동시 암호 라이브러리의 초기화를 시행한다(S301).
다음으로, 암호 모듈은 제1암호화 키를 이용하여 참조 파일에 포함된 배포대상 암호 모듈의 유효기간을 복호화하여 암호 모듈의 유효성을 1차적으로 검증한다(S302~303).
다음으로, 암호 모듈은 참조 파일에서 탑재대상 장비의 고유 정보 및 암호 라이브러리 시리얼 번호를 확인한다(S304).
제2암호화 키를 이용하여 암호 라이브러리 시리얼 번호를 암호화하여 암호 라이브러리 인증 서버로 전송한다(S305).
다음으로, 인증 서버는 제2암호화 키를 이용하여 암호화 된 암호 라이브러리 시리얼 번호를 복호화한다. 인증 서버는 복호화 된 암호 라이브러리 시리얼 번호에 대응되는 탑재대상 장비의 고유 정보를 암호 모듈로 전송한다(S306).
다음으로, 암호 모듈은 인증 서버로부터 수신한 탑재대상 장비의 고유 정보와 참조 파일에 포함된 탑재대상 장비의 고유 정보를 비교하여 암호 모듈의 유효성을 2차적으로 검증한다(S307).
실시예에서, 암호 모듈의 유효성 검증은 판매 및 사용 정책에 따라 고유 정보 검증은 제외하고 유효 기간만 검증하여 사용기한을 제한하는 방식이 적용될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 기록 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 암호 모듈
20: 암호 라이브러리 관리 서버
30: 암호 라이브러리 인증 서버

Claims (15)

  1. 탑재대상 장비에 마련되며, 암호 라이브러리 파일 및 참조 파일을 포함하는 암호 모듈;
    상기 암호 모듈의 배포 및 저장 기능을 수행하며, 상기 암호 모듈 배포시 상기 암호 모듈의 탑재대상 장비의 고유 정보, 배포 대상 암호 모듈의 시리얼 번호 및 상기 배포 대상 암호 모듈의 유효기간을 암호화하여 상기 참조 파일을 생성한 후, 상기 암호 라이브러리 파일과 함께 배포하는 암호 라이브러리 관리 서버; 및
    상기 탑재대상 장비의 고유 정보를 저장하고 있으며, 상기 암호 라이브러리 관리 서버의 상기 탑재대상 장비의 고유 정보 확인 요청에 응답하여 탑재대상 장비의 고유 정보를 회신하는 암호 라이브러리 인증 서버를 포함하며,
    상기 암호 라이브러리 관리 서버 및 상기 암호 라이브러리 인증 서버는 상기 탑재대상 장비의 고유 정보를 암복호화 하기 위한 제2암호화 키를 공유하고 있고,
    상기 암호 라이브러리 관리 서버는 상기 제2암호화 키를 이용하여 상기 탑재대상 장비의 고유 정보를 암호화하고, 상기 암호 라이브러리 시리얼 번호를 추가하여 상기 참조 파일을 생성하는 암호 라이브러리 관리 시스템.
  2. 제1항에 있어서, 상기 암호 라이브러리 관리 서버 및 상기 암호 라이브러리 파일은 상기 배포대상 암호 모듈의 유효기간을 암복호화 하기 위한 제1암호화 키를 공유하고 있는 암호 라이브러리 관리 시스템.
  3. 제2항에 있어서,
    상기 암호 라이브러리 관리 서버는 상기 제1암호화 키를 이용하여 상기 배포 대상 암호 모듈의 유효기간을 암호화하는 암호 라이브러리 관리 시스템.
  4. 제3항에 있어서,
    상기 암호 모듈은 상기 탑재대상 장비의 구동시 상기 암호 라이브러리의 초기화를 시행하고, 상기 제1암호화 키를 이용하여 상기 참조 파일에 포함된 상기 배포대상 암호 모듈의 유효기간을 복호화 한 후 암호 모듈의 유효성을 검증하는 암호 라이브러리 관리 시스템.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 암호 모듈은 상기 탑재대상 장비의 구동시 상기 암호 라이브러리의 초기화를 시행하고, 상기 제2암호화 키를 이용하여 상기 암호 라이브러리 시리얼 번호를 암호화하여 상기 암호 라이브러리 인증 서버로 전송하는 암호 라이브러리 관리 시스템.
  8. 제7항에 있어서,
    상기 인증 서버는 상기 제2암호화 키를 이용하여 암호화 된 상기 암호 라이브러리 시리얼 번호를 복호화하고, 복호화 된 상기 암호 라이브러리 시리얼 번호에 대응되는 탑재대상 장비의 고유 정보를 상기 암호 모듈로 전송하는 암호 라이브러리 관리 시스템.
  9. 제8항에 있어서,
    상기 암호 모듈은 상기 인증 서버로부터 수신한 탑재대상 장비의 고유 정보와 상기 참조 파일에 포함된 탑재대상 장비의 고유 정보를 비교하여 암호 모듈의 유효성을 검증하는 암호 라이브러리 관리 시스템.
  10. 암호 라이브러리 관리 서버가 암호 모듈의 탑재대상 장비의 고유 정보, 배포 대상 암호 모듈의 시리얼 번호 및 상기 배포 대상 암호 모듈의 유효기간을 암호화하여 참조 파일을 생성하는 단계;
    상기 암호 라이브러리 관리 서버가 상기 참조 파일 및 암호 라이브러리 파일을 배포하는 단계;
    상기 암호 모듈이 상기 탑재대상 장비의 구동시 상기 암호 라이브러리의 초기화를 시행하는 단계; 및
    상기 암호 모듈이 상기 참조 파일에 포함된 암호 모듈의 탑재대상 장비의 고유 정보 및 배포대상 암호 모듈의 유효기간을 이용하여 암호 모듈의 유효성을 검증하는 단계를 포함하며,
    상기 참조 파일을 생성하는 단계는,
    상기 암호 라이브러리 관리 서버가 제2암호화 키를 이용하여 상기 탑재대상 장비의 고유 정보를 암호화하는 단계 및
    상기 암호 라이브러리 시리얼 번호를 추가하여 상기 참조 파일을 생성하는 단계를 포함하는 암호 라이브러리 관리 방법.
  11. 제10항에 있어서, 상기 참조 파일을 생성하는 단계는,
    상기 암호 라이브러리 관리 서버가 제1암호화 키를 이용하여 상기 배포 대상 암호 모듈의 유효기간을 암호화하는 단계를 포함하는 암호 라이브러리 관리 방법.
  12. 제11항에 있어서, 상기 암호 모듈의 유효성을 검증하는 단계는,
    상기 암호 모듈이 상기 제1암호화 키를 이용하여 상기 참조 파일에 포함된 상기 배포대상 암호 모듈의 유효기간을 복호화하여 상기 암호 모듈의 유효성을 검증하는 단계를 포함하는 암호 라이브러리 관리 방법.
  13. 삭제
  14. 제10항에 있어서, 상기 암호 모듈의 유효성을 검증하는 단계는,
    상기 암호 모듈이 상기 제2암호화 키를 이용하여 상기 암호 라이브러리 시리얼 번호를 상기 암호 라이브러리 인증 서버로 전송하는 단계;
    상기 인증 서버는 상기 제2암호화 키를 이용하여 암호화 된 상기 암호 라이브러리 시리얼 번호를 복호화하고, 복호화 된 상기 암호 라이브러리 시리얼 번호에 대응되는 탑재대상 장비의 고유 정보를 상기 암호 모듈로 전송하는 단계; 및
    상기 암호 모듈이 상기 인증 서버로부터 수신한 탑재대상 장비의 고유 정보와 상기 참조 파일에 포함된 탑재대상 장비의 고유 정보를 비교하여 암호 모듈의 유효성을 검증하는 단계를 포함하는 암호 라이브러리 관리 방법.
  15. 제10항 내지 제12항 및 제14 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록매체.
KR1020200179782A 2020-12-21 2020-12-21 암호 라이브러리 관리 시스템 및 방법 KR102421562B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200179782A KR102421562B1 (ko) 2020-12-21 2020-12-21 암호 라이브러리 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200179782A KR102421562B1 (ko) 2020-12-21 2020-12-21 암호 라이브러리 관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220089289A KR20220089289A (ko) 2022-06-28
KR102421562B1 true KR102421562B1 (ko) 2022-07-15

Family

ID=82268345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200179782A KR102421562B1 (ko) 2020-12-21 2020-12-21 암호 라이브러리 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102421562B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102655473B1 (ko) * 2022-11-17 2024-05-09 (주)아이앤씨테크놀로지 대칭키 암호 알고리즘을 이용한 보안 디버깅 시스템 및 이를 이용한 보안 디버깅 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305533A (ja) * 2000-12-25 2002-10-18 Matsushita Electric Ind Co Ltd データベース管理装置、管理方法及びその記録媒体
KR101738604B1 (ko) 2015-12-22 2017-05-22 주식회사 디알엠인사이드 라이브러리의 불법 사용 방지 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101471006B1 (ko) * 2008-03-03 2014-12-09 주식회사 비즈모델라인 인증서 운영 방법
CN108667609B (zh) * 2017-04-01 2021-07-20 西安西电捷通无线网络通信股份有限公司 一种数字证书管理方法及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305533A (ja) * 2000-12-25 2002-10-18 Matsushita Electric Ind Co Ltd データベース管理装置、管理方法及びその記録媒体
KR101738604B1 (ko) 2015-12-22 2017-05-22 주식회사 디알엠인사이드 라이브러리의 불법 사용 방지 시스템 및 방법

Also Published As

Publication number Publication date
KR20220089289A (ko) 2022-06-28

Similar Documents

Publication Publication Date Title
US10726132B2 (en) Enclave launch and authentication
US9043610B2 (en) Systems and methods for data security
US8171306B2 (en) Universal secure token for obfuscation and tamper resistance
US8051297B2 (en) Method for binding a security element to a mobile device
US20110035577A1 (en) Enhanced digital right management framework
KR102179497B1 (ko) 멀티 클라우드 기반의 데이터 저장 및 관리 시스템 및 그 구동방법
US8175269B2 (en) System and method for enterprise security including symmetric key protection
KR102560295B1 (ko) 사용자-보호된 라이센스
CN103827881A (zh) 用于设备操作系统中的动态平台安全的方法和系统
WO2009042617A1 (en) Providing local storage service to applications that run in an application execution environment
CN106027503A (zh) 一种基于tpm的云存储数据加密方法
KR20050056204A (ko) 메시지 무결성 보증 시스템, 방법 및 기록 매체
EP1837789A2 (en) Method and apparatus for temporarily accessing content using temporary license
KR102421562B1 (ko) 암호 라이브러리 관리 시스템 및 방법
WO2009061171A2 (en) Secure software licensing control mechanism
KR102559101B1 (ko) 전력 계량 장치, 전력 계량 서버 및 블록 체인 기반의 전력 계량 방법
CN110619194B (zh) 一种升级包加密、解密方法及装置
CA2553081A1 (en) A method for binding a security element to a mobile device
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
KR102055888B1 (ko) 정보 보호를 위한 파일 암복호화 방법
Lee et al. Mutual authentication scheme for cloud computing
He-qun et al. Protecting mobile agents’ data using trusted computing technology
Nützel et al. Towards trust in digital rights management systems
CN112528269B (zh) 一种实现内核密码机的方法、装置和电子设备
KR20070019790A (ko) 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법

Legal Events

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