본문 바로가기
블록체인/크립토 월렛

04. 이론적 배경 - NIST SP 800-57 키 관리 가이드라인

by 비트코기 2023. 9. 21.

크립토 월렛 분석과 검토를 통한 개인키 관리 및 사례 연구

02. 이론적 배경  


제3절 NIST SP 800-57 키 관리 가이드라인

인터넷의 보급으로 네트워크를 통해 다양한 전자상거래 서비스가 활성화되고 있어 안전한 정보보안 서비스 제공을 위한 암호 기술이 요구된다. 이러한 암호 기술의 안전성은 공개되어있는 암호 알고리즘에 의존하는 것이 아니라 알고리즘에 사용된 키에 의해 좌우된다. 3절에서는 키 관리의 전반적이고 안전한 키 관리를 위해 NIST(National Institute of Standards and Technology)에서 발표된 SP(Special Publication) 800-57 키 관리 가이드라인을 분석해서 블록체인에서 개인키를 보관·관리하는 방법에 대해 분석한다.

 

 

1. 정보보안 서비스

암호 기술은 기밀성(Confidentiality), 데이터 무결성(Data Integrity), 인증(Authentication), 부인방지(non-Repudiation)와 같은 정보보안 서비스들을 제공한다.

정보보안 서비스들은 독립적으로 제공되거나 다른 정보보안 서비스를 지원하는 형태로 제공되며 각각의 정보보안 서비스에 대한 정의는 <표-3-1>와 같다.

 

< 3-1> 정보보안 서비스의 정의

정보보안 서비스 정의
기밀성 비인가자가 부당한 방법으로 정보를 입수한 때도 정보의 내용을 알 수 없도록 하는 서비스이다.
데이터 무결성 데이터가 전송 도중 또는 데이터베이스에 저장되어 있는 동안 악의적인 목적으로 위조 또는 변조되는 것을 방지하는 서비스이다.
인증 송신자와 수신자가 상대방의 신원을 확인 및 식별하는 서비스이다.
부인방지 송신자와 수신자 각각 전송된 송신 및 수신 사실을 다음에 부인하는 것을 방지하는 서비스이다.

 

많은 보안 시스템이나 암호 알고리즘들은 여러 가지 정보보안 서비스의 결합이 있어야 한다. 전자서명 알고리즘(Digital Signature Algorithm)은 데이터 무결성, 인증 및 부인방지를 모두 제공한다.

 

2. 키 관리 서비스

키 관리는 키 및 키 재료의 생성, 등록, 인증, 분배, 설치, 저장, 파생, 보관, 취소, 말소, 폐기 등과 같은 서비스의 관리를 말한다. 키 관리의 목적은 키를 사용하는 모든 과정에서 안전성을 보장하기 위한 절차를 규정하는 것이다. NIST SP 800-57에서 제시하는 키 관리 서비스는 <표 3-2>와 같다.

 

< 3-2> NIST SP 800-57 키 관리 서비스

키 관리 서비스 설명
키 생성 안전한 키를 생성하는 암호학적인 절차이다.
예측할 수 없고 위조할 수 없는 무작위 수 (Random Number)를 사용해야 하고 무작위 수는 재사용되어서는 안 된다.
키 등록 생성된 키를 정당한 사용자와 연결하는 것으로 등록 기관(RA:Registration Authority)에 의해 이루어진다.
키 등록 기관은 키를 말소시키는 역할도 수행한다.
키 인증서 생성 키 확인서는 일반적으로 공개키와 객체의 연관성을 보증하는 인증서(Certificate)라 하며 인증기관에 의해 생성된다.
인증기관(CA : Certification Authority)은 사용자로부터 키 인증에 요구받으면 키 인증서를 생성한다.
키 분배 키 분배는 인가된 객체들 사이에 키 또는 키 재료가 안전하게 공유되는 것을 의미한다.
비대칭 암호 방식에서는 키를 분배하는 특정 메커니즘이 사용되고 대칭 암호 방식에서는 키 전송 센터, 키 분배 센터에 의해 분배된다.
키 설치 키를 사용하기 전에 필요한 절차로 키 관리 시스템 내에서 안전하게 제공되어야 한다.
키 저장 키를 사용하거나 복구를 위한 백업을 위해 키를 안전하게 저장하는 것의 의미한다.
물리적으로 안전한 장치에 저장하는 것이 바람직하며, 저장된 키 재료에 대하여 기밀성 및 무결성을 제공해야 한다.
키 유도 원본 키(Original Key)로부터 파생(Derivation Key)를 유도한 것으로 유도된 키가 원본 키를 노출하지 않게 하도록 유도 연산은 역변환할 수 없고 예측 불가능해야 한다.
키 보관 키의 일반적인 사용이 중단된 이후 그 키의 오용 등의 문제가 발생했을 경우 이에 대한 사실을 증명하는데 키가 사용될 수 있도록 한다.
키 복구 합법적인 상황에서 암호문을 복호화하거나 사용자가 자신의 비밀키를 분실했을 경우 등의 유사시에 허가된 사용자만이 복호화할 수 있는 기능을 제공한다.
키 취소 키의 오용이 의심되거나 키가 유출되었을 경우 키의 안전한 비활성 상태를 유지하기 위해 이루어진다.
키 말소 키와 객체의 관계를 제거하는 것이다.
키 등록 기관에 의해 폐기 과정의 일부로 제공된다.
키 폐기 더 이상 사용될 필요가 없는 키의 안전한 폐기를 위해 이루어진다.
키와 관련된 모든 기록을 제거함으로써 폐기 후에 남아있는 어떠한 정보를 가지고도 폐기된 키를 다시 복구시킬 수 없는 것을 의미한다.

 

NIST SP 800-57 키 관리 가이드에서는 사용자의 키 관리에 관한 내용이 기술되어 있지만 NIST SP 800-57 키 관리 가이드가 만들어진 시기는 중앙화 서비스 환경 중심의 시대였기 때문에 탈중앙화 서비스 환경이 고려되지 않아 블록체인 환경에 모든 것을 적용하기에는 적절하지 않다. 하지만 넓은 의미로 블록체인 환경에서 개인키 안전하게 관리하는데 밀접하게 관련되어 있다. 따라서 블록체인 환경에서 개인키를 관리하기 위해 사용되는 크립토 월렛이 가져야 할 공통적인 기능인 키 생성, 키 저장, 키 사용을 중심으로 NIST SP 800-57 키 관리 가이드는 유의미한 방법을 제시한다.


※ 출처: 이진우 외, “NIST SP 800-57 키 관리 가이드라인 분석,” 정보보호학회지 14 (2004): 57-77.

 

출처:https://unsplash.com/

 

반응형

댓글