키 (암호)

**키**(key)는 암호학에서 암호화 알고리즘을 통해 처리될 때 암호화 데이터를 암호화하거나 해독할 수 있는 정보, 일반적으로 파일에 저장된 숫자 또는 문자열 조각이다. 사용된 방법에 따라 키는 크기와 종류가 다를 수 있지만, 모든 경우에 암호화 강도는 키 보안 유지에 달려 있다. 키의 보안 강도는 알고리즘, 키 크기, 키 생성 및 키 교환 프로세스에 따라 달라진다.

## 범위
키는 평문에서 암호문으로 데이터를 암호화하는 데 사용된다. 키와 암호화를 활용하는 다양한 방법이 있다.

### 대칭 키 암호 방식
대칭 키 암호 방식은 암호화와 복호화에 동일한 키를 사용하는 관행을 의미한다.

### 비대칭 키 암호 방식
비대칭 키 암호 방식은 암호화와 복호화를 위한 별도의 키를 가지고 있다. 이 키들은 각각 공개 키와 개인 키로 알려져 있다.

## 목적
키는 시스템의 기밀성과 무결성을 보호하기 때문에 무단 당사자로부터 비밀로 유지하는 것이 중요하다. 공개 키 암호화에서는 개인 키만 비밀로 유지하면 되지만, 대칭 키 암호화에서는 키의 기밀성을 유지하는 것이 중요하다. 케르크호프스의 원리는 암호화 시스템의 전체 보안이 키의 비밀 유지에 달려 있다고 명시한다.

## 키 크기

키 크기는 알고리즘에 의해 정의된 키의 비트 수이다. 이 크기는 암호화 알고리즘의 보안 상한을 정의한다. 키 크기가 클수록 무차별 대입 공격에 의해 키가 손상되기까지 더 오랜 시간이 걸린다. 완벽한 비밀 유지가 키 알고리즘에 대해 실현 불가능하기 때문에 연구는 이제 계산 보안에 더 초점을 맞추고 있다.

과거에는 키 길이가 최소 40비트 이상이어야 했지만, 기술이 발전하면서 이러한 키들은 점점 더 빠르게 해독되었다. 이에 대한 대응으로 대칭 키에 대한 제한은 더 큰 크기로 강화되었다.

현재는 2048비트 RSA가 일반적으로 사용되며, 이는 현재 시스템에 충분하다. 그러나 현재 RSA 키 크기는 강력한 양자 컴퓨터로 모두 빠르게 해독될 수 있다.

"공개 키 암호화에 사용되는 키는 일부 수학적 구조를 가지고 있다. 예를 들어, RSA 시스템에 사용되는 공개 키는 두 소수의 곱이다. 따라서 공개 키 시스템은 동등한 수준의 보안을 위해 대칭 시스템보다 더 긴 키 길이를 필요로 한다. 128비트 대칭 암호와 동등한 보안을 목표로 하는 인수분해 및 정수 이산 로그 기반 시스템의 경우 3072비트가 권장 키 길이다."

## 키 생성

키가 추측되는 것을 방지하기 위해 키는 무작위로 생성되어야 하며 충분한 엔트로피를 포함해야 한다. 무작위 키를 안전하게 생성하는 방법의 문제는 어렵고 다양한 암호화 시스템에서 여러 방식으로 다루어졌다. 키는 예측 불가능하고 편향되지 않은 비트 시퀀스를 생성하는 시스템인 랜덤 비트 생성기(RBG)의 출력을 사용하여 직접 생성될 수 있다. RBG는 대칭 키 또는 비대칭 키 쌍 생성을 위한 무작위 출력을 직접 생성하는 데 사용될 수 있다. 또는 키는 키 합의 트랜잭션, 다른 키 또는 암호에서 간접적으로 생성될 수도 있다.

일부 운영 체제에는 디스크 드라이브 헤드 이동과 같은 예측 불가능한 작업의 타이밍에서 엔트로피를 "수집"하는 도구가 포함되어 있다. 소량의 키 자료 생산을 위해 일반 주사위는 고품질 무작위성의 좋은 원천을 제공한다.

## 설정 방식

키의 보안은 당사자 간에 키가 교환되는 방식에 달려 있다. 외부인이 키를 얻을 수 없도록 보안 통신 채널을 설정하는 것이 필요하다. 키 설정 방식(또는 키 교환)은 엔터티 간에 암호화 키를 전송하는 데 사용된다. 키 합의 및 키 전송은 엔터티 간에 원격으로 교환되는 데 사용되는 키 교환 방식의 두 가지 유형이다. 키 합의 방식에서는 보낸 사람과 받는 사람 간에 정보를 암호화하고 해독하는 데 사용되는 비밀 키가 간접적으로 전송되도록 설정된다. 모든 당사자는 각 당사자가 비밀 키 자료를 파생할 수 있도록 하는 정보(공유 비밀)를 교환한다. 키 전송 방식에서는 보낸 사람이 선택한 암호화된 키 자료가 받는 사람에게 전송된다. 대칭 키 또는 비대칭 키 기술은 두 방식 모두에서 사용될 수 있다.

디피-헬먼 키 교환 및 RSA는 가장 널리 사용되는 두 가지 키 교환 알고리즘이다. 1976년, 휫필드 디피와 마틴 헬먼은 최초의 공개 키 알고리즘인 디피-헬먼 알고리즘을 구축했다. 디피-헬먼 키 교환 프로토콜은 두 당사자 간에 공유 키를 전자적으로 생성하여 안전하지 않은 채널을 통한 키 교환을 허용한다. 반면에 RSA는 키 생성, 암호화, 복호화의 세 단계로 구성된 비대칭 키 시스템의 한 형태이다.

키 확인은 키 확인 수신자와 제공자 간에 공유 키 자료가 정확하고 설정되었음을 보증한다. 미국 국립표준기술연구소는 구현을 검증하기 위해 키 확인을 키 설정 방식에 통합할 것을 권장한다.

## 관리

키 관리는 암호화 키의 생성, 설정, 저장, 사용 및 교체를 다룬다. 키 관리 시스템(KMS)은 일반적으로 키 설정, 저장 및 사용의 세 단계를 포함한다. 키의 생성, 저장, 배포, 사용 및 파괴를 위한 보안의 기반은 성공적인 키 관리 프로토콜에 달려 있다.

## 키와 암호의 차이

암호는 문자, 숫자 및 기타 특수 기호를 포함하는 기억된 일련의 문자열로, 신원 확인에 사용된다. 종종 인간 사용자 또는 암호 관리 소프트웨어에 의해 생성되어 개인 및 민감한 정보를 보호하거나 암호화 키를 생성한다. 암호는 종종 사용자가 기억하도록 생성되며 사전 단어와 같은 비무작위 정보를 포함할 수 있다. 반면에 키는 추측하기 어렵거나 암호를 완전히 대체하는 암호화 알고리즘을 구현하여 암호 보호를 강화하는 데 도움이 될 수 있다. 키는 무작위 또는 유사 무작위 데이터를 기반으로 생성되며 종종 사람이 읽을 수 없다.

암호는 낮은 엔트로피, 무작위성 및 사람이 읽을 수 있는 특성으로 인해 암호화 키보다 안전하지 않다. 그러나 저장 장치의 정보 보안과 같은 일부 응용 프로그램에서는 암호가 정보 보안을 위해 암호화 알고리즘에 접근할 수 있는 유일한 비밀 데이터일 수 있다. 따라서 키 유도 함수(KDF)라고 하는 결정론적 알고리즘은 암호의 약점을 보완하기 위해 암호를 사용하여 안전한 암호화 키 자료를 생성한다. 솔트 추가 또는 키 스트레칭과 같은 다양한 방법이 생성에 사용될 수 있다.

## 같이 보기

* 암호화 키의 종류
* 다이스웨어
* EKMS
* 그룹 키
* 키 해시 알고리즘
* 키 인증
* 키 유도 함수
* 키 분배 센터
* 키 에스크로
* 키 교환
* 키 생성
* 키 관리
* 키 스케줄
* 키 서버
* 키 서명 (암호화)
* 키 서명 파티
* 키 스트레칭
* 키 합의 프로토콜
* 용어집
* 암호 심리학
* 공개 키 지문
* 난수 발생기
* 세션 키
* 트립코드
* 기계 판독 가능한 종이 키
* 취약 키

## 각주


분류:키 관리