금융부문 암호기술 - (4) 블록 암호화 운영 모드(Block Cipher Mode)
블록/공개키 암호화 패딩 기법
- 암호화 운영모드를 적용하기 전에 아래와 같은 목적으로 패딩 기법이 적용된다.
(1) 평문과 암호문의 관계성을 낮추기 위함
(2) 블록 크기를 맞추기 위함
- 블록 암호의 경우 빈자리 만큼 0비트를 붙이거나 1을 추가한 후 0비트를 덧붙이는 방식이 존재
- 공개키 암호에서는 PKCS#1에 나타난 내용으로 패딩처리하는 것이 일반적
대칭키 블록 암호 알고리즘 운영모드
# 블록암호 운영모드의 목적
(1) 암호 알고리즘에 의해 생성된 블록 간에 연관성을 주는 것(각 블록이 동일한 암호문을 생성한다면 암호문에서 평문을 추론하기 쉬우므로 각 블록간 연관성을 주어 이를 방어하는 것. ECB와 CBC를 보면 됨)
(2) 초기벡터를 추가하여 출력값으로부터 입력값을 유추하기 어렵게 만듦
NIST에서 승인된 대칭키 블록 운영모드
용도 | 대칭키 블록 운영모드 | 금융권 이용분야 | 구체적 예시 |
기밀성 | ECB, CBC, CFB, OFB, CTR, XTS-AES | 거래내용 암호화 | SEED128-CBC |
인증 | CMAC | 신용카드 결제 | AES, SEED128-CMAC |
기밀성/인증 | CCM, GCM, KW, KWP | 교통카드 지불 | AES, SEED128-CCM |
- 각 대칭키 블록 운영모드에 따라 목적이 다르다(기밀성, 인증, 기밀성/인증)
- 가장 많은 국가에서 권고하고 다양한 분야에 사용되는 운영보드는 CBC와 CTR이다.
- 금융권에서 주로 이용되는 운영모드는 CBC방식이다. CBC 운영모드는 초기벡터를 제 2의 키로 사용할 수 있다는 점에서 보안성이 높아 다른 운영모드에 비해 안전한 것으로 알려졌다. 하지만 암호화 시 블록을 병렬로 처리하는 것이 불가능하고 암호문이 블록의 배수가 되기 때문에 복호화 후 평문을 얻기 위해 패딩해야 한다는 단점이 있다.
- 최근에 CBC모드를 사용할 경우 평문이 일부 해독될 수 있는 취약점이 발견되어 CTR 모드 사용을 권함
- 통신 프로토콜에서는 CBC모드가 암호블록의 무결성을 보장하지 않는다는 점이 알려지면서 CBC 대신 GCM운영모드 사용이 권장됨
공개키 블록 암호 알고리즘 운영모드
- 현 금융권에서는 공개키 암호 알고리즘으로 주로 RSA를 사용함
공개키 암호 운영모드
용도 | 공개키 암호 운영모드 | 금융권 이용분야 | 예시 |
전자서명 | RSASSA-PSS | 키 전송 시 서명 | 계좌이체 부인방치 |
RSASSA-PKCS#1(v1.5) | 거래내용 전자서명 | 거래내용에 대한 PKCS#7 SignedData 전자생성문 생성 | |
KCDSA | - | 행정전자서명인증서에 사용 | |
ECDSA, EC-KCDSA | 키패드 보안 | 상호인증 ECDSA | |
키 교환 및 암호화용 | DH, ECDH | 스마트 뱅킹 | 가상 키 패드에서 ECDH 사용 |
VPN 키 교환 | |||
RSAES-OAEP | 세션키 교환 | 증권 시스템 |
- RSA는 같은 평문을 암호화 하는 경우 항상 동일한 암호문을 출력하는 특성때문에 암호문으로 쉽게 평문을 추측할 수 있다. 따라서 메시지에 난수를 넣어 같은 평문을 암호화해도 매번 다른 암호문을 출력하도록하는 OAEP 패딩기법을 적용해야 한다. OAEP 기술은 규격화되어 PKCS#1와 RFC2437에 표준화 되어 있다
- EMC가 제정한 RSA 암호 표준에 의하면 데이터 암/복호화에 사용되는 운영모드로 RSAES-PKCS#1(v1.5)와 RSAES-OAEP를 이용할 수 있는데 국내 환경에선 RSAES-OAEP를 권장한다.
- 전자서명용도로는 RSASSA-PKCS#1(v1.5), RSASSA-PSS, KCDSA, ECDSA, EC-KCDSA를 권장
- 금융권에서 키 전송 시 사용하는 공개키 암호 운영모드 : RSA-OAEP
- 금융권에서 키 전송 과정의 전자서명 시 사용되는 암호 운영모드 : RSASSA-PSS
- 보안관리자를 인증하거나 거래 내용에 대한 전자서명 시 사용하는 암호 운영모드 : RSASSA-PKCS#1
'정보보호 > 금융부문 암호기술 활용 가이드(금융보안원)' 카테고리의 다른 글
금융부문 암호기술 - (3) 금융권 암호기술 분류 (0) | 2019.06.24 |
---|---|
금융부문 암호기술 - (2) IC카드 거래에 사용된 암호화 기술 (0) | 2019.06.23 |
금융부문 암호기술 - (1) 금융 보안 법률, 입력정보의 암호화 (0) | 2019.06.23 |
금융부문 암호기술 활용가이드(금융보안원).pdf (0) | 2019.06.23 |