???? ??



Similar documents
1장 암호의 세계

<32BDBAB8B6C6AEC6F9B1DDC0B6B0C5B7A13130B0E8B8EDBEC8B3BBBCAD2E687770>

PowerPoint Template

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대

본 강의에 들어가기 전

Microsoft PowerPoint - chap06.ppt

목 차 1. 개요 1 2. 규격의구성및범위 1 3. 관련표준및규격 국외표준및규격 국내표준및규격 기타 2 4. 정의 전자서명법용어정의 용어의정의 용어의효력 2 5. 약어 3 6. 사용자인증 3 7. 전송채널

0. 들어가기 전

Windows 8에서 BioStar 1 설치하기


05 암호개론 (2)

메뉴얼41페이지-2

1. 제품 개요 AhnLab Policy Center 4.6 for Windows(이하 TOE)는 관리대상 클라이언트 시스템에 설치된 안랩의 안티바이러스 제품인 V3 제품군에 대해 보안정책 설정 및 모니터링 등의 기능을 제공하여 관리대상 클라이언트 시스템에 설치된 V3

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

A Study on the efficient mutual authentication mechanism using the agent server

Microsoft PowerPoint - chap07.ppt

슬라이드 1

<4D F736F F D20C0FCC0DAB1DDC0B6BCADBAF1BDBA20C0CCBFEBBEE0B0FC28B1B820C7CFB3AAC0BAC7E0295FB0B3C1A4C8C45F F2E646F6378>

Ⅰ. 들어가는 말 2005년 6월에 발생한 인터넷뱅킹 해킹 사건이 2005년 가장 기억에 남는 정보보호 뉴 스로 선정되었다고 한다. 해킹 등으로 인해 개인의 PC가 악의적인 해커에 의해 장악이 된 경우에는 어떤 보안시스템도 제 기능을 다하지 못함에도 불구하고, 해킹 사

Microsoft Word - TTAK.KO doc

07.기업의 정보보호를 위한 암호 정책 수립 지침_KCS.KO hwp

개인정보보호의 이해 및 안전한 관리 - 개인PC 및 스마트폰 개인정보보호-

_SafeTouch_에잇바이트.key

온습도 판넬미터(JTH-05) 사양서V1.0

<4D F736F F D205B D D20C0CFC8B8BFEBC6D0BDBABFF6B5E55F4F54505F20C5E4C5AB20BAB8BEC820BFE4B1B8BBE7C7D72E646F63>

USC HIPAA AUTHORIZATION FOR

SBR-100S User Manual

RHEV 2.2 인증서 만료 확인 및 갱신

untitled

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

발신자 목적지 발신자 목적지 발신자 목적지 공격자 발신자 목적지 발신자 목적지 공격자 공격자

내지(교사용) 4-6부

1. 제품 개요 WeGuardia WIPS V2.0(이하 TOE)은 특정 조직에서 운영되는 무선랜에 대한 지속적인 모니터을 통해 내 외부로부터 발생할 수 있는 각종 침입을 탐지 및 차단하여 내부의 네트워크를 보호하는 무선침입방지시스템이다. TOE의 세부 식별자 및 배포

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

ICT EXPERT INTERVIEW ITS/ ICT? 차량과 인프라 간 통신(V2I) Nomadic 단말 통신(V2P) 차량 간 통신(V2V) IVN IVN [ 1] ITS/ ICT TTA Journal Vol.160 l 9

Microsoft PowerPoint - 6.pptx

본 해설서는 정보통신망 이용촉진 및 정보보호 등에 관한 법률 (이하 법 이라 한다) 제28조제1항과 같은 법 시행령 제15조제6항에 근거한 개인정보의 기술적 관리적 보호조치 기준 이 개정 고시( )됨에 따라 - 동 기준의 각 조항별 주안점과 구체적인 사례를

1. 정보보호 개요

chap06.hwp

Microsoft PowerPoint - note03 [호환 모드]

hwp

Sequences with Low Correlation

PowerPoint 프레젠테이션

본 강의에 들어가기 전

1장 암호의 세계

PowerPoint Template

04 Çмú_±â¼ú±â»ç

공개키 암호 방식

ActFax 4.31 Local Privilege Escalation Exploit

DB 암호화상식백과는 DB 암호화상식백과는 DB 암호화구축을고려하는담당자들이궁금해하는점들을모아만든자료 집입니다. 법률적인부분부터시스템적인부분까지, DB 암호화에대한궁금증을해소해드리겠습니 다. DB 암호화상식백과목차 1. DB 암호화기본상식 1) DB암호화근거법조항 2)

[붙임] 개인정보 암호화 조치 안내서.hwp

(001~006)개념RPM3-2(부속)

< DC1A6C1D6C1BEC7D5BBE7C8B8BAB9C1F6B0FCBBE7BEF7BAB8B0EDBCADC7A5C1F62E696E6464>

Microsoft PowerPoint - chap01-C언어개요.pptx

Chapter ...

H3250_Wi-Fi_E.book


TTA Journal No.157_서체변경.indd

말은 많은 Blockchain 2

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

804NW±¹¹®

2 미러사이트 (Mirror Site) 3 웜사이트 (Warm Site) 4 콜드사이트 (Cold Site) - 미러사이트 (Mirror Site) : 메인센터와동일한수준의정보기술자원을원격지에구축하고, 메인센터와재해복구센터모두액티브상태로실시간동시서비스를하는방식이다. R

CR HI-TAM 4.0 인증보고서 인증번호 : CISS 년 12 월 IT 보안인증사무국

방송통신기술 이슈&전망 2013년 제 28 호 요약 본고에서는 차세대 지능형 전력망이라 불리우는 스마트그리드에 대한 일반적인 개 념 및 효과에 대해 알아보고, 현재 스마트그리드 구축에 있어 이슈가 되고 있는 사 이버 보안측면에서 고려해야 할 위협요소와 취약성에 대해 살

적용범위 o 대상제품 : 금융위원회에등록하고자하는신용카드단말기 - 관련유형 : 신용카드거래를위해가맹점에설치되어민감한신용카드정보를전달하는 장치로서, 단말기의형태와상관없이판매시점관리기능의존재여부에따라 CAT단말기와 POS단말기로구분. 단, 민감한신용카드정보를이용하지않는 장

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C6AEB7A2315F33335FC7C3B6F3C0CCC7CFC0CC20B1E8B1E2BFB5B4EBC7A55F BFCFC0FCC1A4BAB95F E >

슬라이드 1

Microsoft PowerPoint - (110203)암호체계고도화 교육자료_v3 [호환 모드]

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

<B3EDB9AEC0DBBCBAB9FD2E687770>

슬라이드 1

OTP문답집(일반이용자대상)_v3[최종].hwp

Observational Determinism for Concurrent Program Security

PowerPoint Template

DBPIA-NURIMEDIA

인증기관간상호연동을위한 CTL 기술규격 CTL Technical Specification for the Interoperability of Certification Authorities 년 월

Straight Through Communication

歯 조선일보.PDF

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

ThinkVantage Fingerprint Software

KISA-0149.hwp

BY-FDP-4-70.hwp

제1절 조선시대 이전의 교육


helpU 1.0

Microsoft PowerPoint - chap09.ppt

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

대 표 도 - 2 -

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

SSL Strip Attack JAC (SemiDntmd) 이우승 semidntmd.tistory.com

statistics

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

< C1B6B0A35FBDBAB8B6C6AEC6F920B1DDC0B6B0C5B7A B0E8B8ED20B8B6B7C328BAD9C0D332295FBEC8B3BBBCAD2E687770>

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

HB/HB+

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

Transcription:

금보원 2014-15 금융부문 암호기술 활용 가이드 2014. 12

금융부문 암호기술 활용 가이드 2014. 12

< 목 차 > 제1장 개요 7 제1절 배경 및 목적 7 제2절 구성 8 제3절 용어 정의 8 제2장 금융부문 암호기술 적용대상 및 현황 13 제1절 금융부문 암호화 대상 13 제2절 금융부문 암호기술 적용현황 16 제3장 금융부문 암호기술 활용 시 고려사항 37 제1절 암호기술 분류 및 운영 고려사항 37 제2절 암호알고리즘 선택 시 고려사항 43 제3절 암호 운영모드 선택 시 고려사항 54 제4절 의사난수 생성기 선택 시 고려사항 59 제5절 암호키 관리 고려사항 64 제6절 암호통신 프로토콜 설계 시 고려사항 70 제7절 암호알고리즘 구현 시 고려사항 77 [부록1] 금융권 암호기술 적용 시 준수규격 81 [부록2] 암호 관련 금융IT 보안 컴플라이언스 통제사항 92 [부록3] 암호기술 활용 시 고려사항(요약) 98 - I -

<그림 목차> <그림 1> 금융서비스 암호기술 적용 현황 16 <그림 2> 온라인 뱅킹 시 입력값 종류 및 암호화 구간 19 <그림 3> SDA 수행과정 22 <그림 4> DDA 수행과정 23 <그림 5> 외부 데이터(비밀번호 등) 암호화 25 <그림 6> 전자서명 생성과정 및 검증과정 28 <그림 7> PKI 구성 요소 30 <그림 8> 인증서 관리 체계 30 <그림 9> OTP 생성단계 31 <그림 10> 거래서명 인증기술 개념 32 <그림 11> 암호기술 분류 37 <그림 12> 암호기술 적용 시 공격위치 41 <그림 13> 대칭키 암호화 방식 45 <그림 14> 공개키 암호화 방식 45 <그림 15> 해시함수(일방향 함수)의 성질 46 <그림 16> 알고리즘의 보안 수명기간 개념 및 예시 52 <그림 17> 카드번호를 암호화할 경우 암호문의 형태(예시) 58 <그림 18> 의사 난수 생성기의 구조 60 <그림 19> 키 관리 절차 64 <그림 20> 재전송 공격 시나리오 70 <그림 21> 반사공격 시나리오 71 <그림 22> 세션 훔치기 공격 시나리오 72 <그림 23> 중간자 공격 시나리오 73 <그림 24> 동일 암호키 확인 74 <그림 25> 전방향 안전성 75 <그림 26> 개체간 상호 인증 76 <그림 27> 부채널 공격 원리 77 <그림 28> IC카드의 이용에 따른 보안성 시험 범위 및 참고 규격 81 - II -

<표 목차> [표 1] 전자금융거래법과 감독규정 중 암호화 관련 내용 13 [표 2] 전자금융 관련 법 이외의 법규에서 암호화 관련 내용 14 [표 3] 초기 E2E 및 확장 E2E 보호영역 18 [표 4] 온라인 뱅킹 거래 시 진행 순서 및 암호적용 기술 19 [표 5] IC카드에 PIN, 키 갱신 시 데이터 암호화 방법 25 [표 6] 전자금융거래법에서의 접근매체와 인증수단 27 [표 7] 전자서명이 제공하는 기능 및 설명 28 [표 8] 전자서명 생성 및 검증 절차 29 [표 9] 거래서명 구현방안 비교 33 [표 10] 암호기술의 주요 보안특성과 금융권 적용 예시 38 [표 11] 암호정책 수립 시 책임사항 41 [표 12] 알고리즘의 종류 및 특징 43 [표 13] 대표적인 공개키 암호알고리즘과 그 용도 46 [표 14] 대표적인 암호알고리즘의 조합 47 [표 15] 대칭키 암호기준, 키 길이에 따른 해독 시간 48 [표 16] 국내외 권장 암호알고리즘 구성 50 [표 17] 키 길이에 따른 안전성 유지기간 NIST 권고 51 [표 18] NIST에서 승인된 대칭키 블록 운영모드 55 [표 19] 공개키 암호 운영모드 57 [표 20] 난수의 기본성질 59 [표 21] 시스템 별 사용 가능한 잡음원 61 [표 22] 표준 의사 난수 생성기 현황 62 [표 23] 암호키 사용 유효기간(NIST권고안) 65 [표 24] 금융IC카드 표준 82 [표 25] EMV 규격 82 [표 26] PCI 보안표준 종류 83 [표 27] 카드사 가맹점 단말기 보안표준 84 [표 28] 대표적인 대칭키 블록암호알고리즘 85 [표 29] 대표적인 해시함수 알고리즘 86 [표 30] 암호 관련 금융 IT 보안 컴플라이언스 통제사항 및 준수 근거 92 [표 31] 본 가이드에 기술된 암호기술 활용 시 고려사항 항목 98 - III -

제1장 개요

제1장 개요 제1장 개요 제1절 배경 및 목적 인터넷뱅킹, 자동화기기, IC카드, 모바일 결제 등 많은 분야에서 사용되고 있는 암호기술은 IT 기술 발전과 금융서비스 환경이 변화 됨에 따라 모든 전자금융환경에 필수 고려요소가 되고 있다. 국내의 경우, 개인정보 유출에 관한 전자금융사고가 사회적 이슈로 붉어지면서 관련 법률의 개정과 더불어 암호 기술사용이 의무화되고 있으며 암호 기술의 필요성 또한 더욱 중시 되었다. 국내외 암호기술 전문기관에서는 고도화되는 컴퓨팅 성능과 해킹 기술에 주목하면서 암호기술의 안전성 및 신뢰성 증대를 위해 지속적으로 변경 지침을 제시하고 있다. 하지만, 이론적으로 어떤 암호기술도 해킹을 완벽히 막을 수 있다고 보장할 수 없고 실제 암호기술을 적용할 때에도 시스템 변경에 소요되는 기간과 비용문제 등으로 사고 원인이 밝혀진 후에도 단기간에 문제를 해결하여 보안성을 확보하는 것이 쉽지 않다. 국내 금융권도 시스템에 적용된 암호 중 잠재적 취약성을 내재한 알고리즘이 적시에 변경되지 못하고 그대로 사용되고 있는 것이 현실이다. 따라서 안전성이 저하된 암호기술로 인해 기밀성, 무결성 등이 깨지게 되는 위협과 그 영향을 줄이기 위해서 각 분야에서는 안전한 보안 수준을 유지할 수 있도록 꾸준히 규격에 이를 반영하고 권고하고 있다. - 7 -

금융부문 암호기술 활용 가이드 본 가이드는 이러한 노력의 일환으로 국내 금융부문 암호기술 적용현황을 살펴보고 향후 안전성이 저하될 암호기술을 변경할 때 고려해야하는 주요 보안 고려사항을 기술하여, 담당자들의 암호기술 활용 및 이해에 도움을 주고자 한다. 제2절 구성 본 가이드는 배경 및 목적, 용어정의 등의 가이드라인 개요를 시작으로 2장에서 금융부문 암호기술 적용대상 및 현황을 기술하고 3 장에서 활용 시 고려사항을 기술하였다. 제3절 용어 정의 본 가이드에서 사용되는 용어 정의는 다음과 같다. 해시함수 : 일방향 함수 : 블록암호 : ECC : 생체정보 : 임의 길이의 메시지를 항상 고정된 길이의 해시값으로 변환하는 일방향 함수 계산하기는 쉽지만 역을 구하는 것은 어려운 함수로, 대 표적인 일방향 함수는 해시함수가 있음 평문을 일정한 블록 크기로 나누어, 각 블록을 송신자, 수신자 간에 공유한 비밀키를 사용하여 암호화 하는 방식 공개키 암호알고리즘 종류 중에 하나로서, 타원곡선 암호 체계(Elliptic Curve Cryptosystem)에서의 공개키 암호를 통칭 지문, 얼굴, 홍채, 정맥, 음성, 필적 등 개인을 식별할 수 있는 신체적 또는 행동적 특징에 관한 정보로서 이를 통해 가공되거나 생성된 정보를 의미함 - 8 -

제1장 개요 SSL(Secure Socket Layer) : 보안서버 : MAC(Message Authentication Code) : MS카드 EMV PKCS 데이터를 송수신하는 두 컴퓨터 종단의 전송계층과 어플리 케이션 계층(HTTP, TELNET, FTP 등) 사이에 위치하여 인증, 암호화, 무결성을 보장하는 표준 프로토콜이며, 이후 TLS(Transport Layer Security)라는 이름으로 표준화됨 인터넷상에서 전송되는 자료를 암호화하여 송수신하는 기능을 제공하는 웹 서버를 지칭 메시지의 인증에 쓰이는 작은 크기의 정보로서, 전자서명과 유사하게 데이터 인증과 무결성 기능을 제공하지만 부인 방지는 제공하지 못함 마그네틱 방식(MS)의 카드로서 자성체에 개인 고유의 데이터를 기록하며, 정보 입출력이 쉽기 때문에 카드 위변조가 쉬움 국제적 호환을 위해 Europay, Master, Visa가 공동으로 사용하는 IC카드의 표준규격 인터넷에서 안전한 정보 교환을 이루기 위해 이용하는 공개키 암호시스템(Public Key Cryptosystem) - 9 -

제2장 금융부문 암호기술 적용대상 및 현황

제2장 금융부문 암호기술 적용현황 제2장 금융부문 암호기술 적용대상 및 현황 제1절 금융부문 암호화 대상 전자금융은 본인확인 및 부인방지 등의 수단을 제공함으로써 금융회사 창구와 직접 대면하지 않고 업무를 처리할 수 있도록 고객에게 편리성을 제공한다. 하지만 편리성 이면에 사칭 및 정보오류로 인한 사고발생 시 개인과 기업에 직접적인 금전적 피해를 가져 올 수 있다. 따라서 금융부문에서는 보다 더 안전한 암호기술에 대한 올바른 이해와 적용이 필요하다. 제도적으로 적용되는 암호화 대상과 그 범위는 관련법에서 살펴 봐야한다. 국내 전자금융 거래의 안전성 강화를 위한 대표적인 법률 은 전자금융거래법이다. 암호화 적용대상은 크게 금융회사가 저장하는 금융관련 저장정보와 전자금융 거래 시 전송되는 전송정보로 구분할 수 있으나, 이를 법과 규정에서 명확히 구분 짓는 것은 쉽지 않다. 전자금융 감독규정은 전자금융업의 안전성 기준 강화를 위한 내용을 중점적으로 다루고 있다. 이에 대한 주요 내용은 표 1에 간략히 기술 하였다. [표 1] 전자금융거래법과 감독규정 중 암호화 관련 내용 종류 구분 및 내용 참 고 전자금융거래 법 및 시행령 거래의 안전성과 신뢰성 확보 관련 기준 준수, 전자서명법 내 필요 기준 설정 등 제21조 (안전성 확보의무) - 13 -

금융부문 암호기술 활용 가이드 전자금융감독 규정 전자금융감독 규정 시행령 무선통신망을 통한 불법접속 방지, 사용자 인증, 암호화 등 보안대책 수립 암호 및 인증시스템에 적용되는 키 관리(주입 운용 갱신 폐기) 관련 절차 및 방법 마련 전자자금 이체 시 보안카드를 포함한 일회용 비밀번호를 적용, 암호화 통신, 이용자 전자적 장치에 보안 프로그램 설치 등 보안대책 적용, 전자금융거래프로그램의 위 변조 여부 등 무결성 검증 방법 제공 등 전자서명법에 의한 공인인증서 또는 이와 동등한 수준의 안전성이 인정되는 인증방법 사용 이용자 인증, 정보처리시스템 인증, 통신채널 암호화, 전자금융 거래내역의 무결성, 전자금융 거래내역의 부인방지 제15조 (해킹 등 방지대책) 제31조 (암호프로그램 및 키 관리 통제) 제34조 (전자금융거래 시 준수사항) 제37조 (공인인증서 사용 기준) 제7조 (인증방법의 안전성 평가 등) 이 외에도 금융회사는 저장해야하는 정보에 대해, 필요시 개인정보 보호법, 정보통신망 이용촉진 및 정보보호 등에 관한 법률(약칭 : 정보 통신망법), 신용정보업감독규정 등의 법규를 준수하여 개인식별정보 및 주요 금융정보 등을 암호화 전송 또는 저장해야한다. 전자금융 관련 법 이외의 법규에서 암호화 관련한 주요내용은 표 2에 간략히 기술하였다. [표 2] 전자금융 관련 법 이외의 법규에서 암호화 관련 내용 종류 구분 및 내용 참 고 개인정보보호법 개인정보처리자가 고유식별정보를 처리하는 경우 고유식별정보가 분실 도난 유출 변조 또는 훼손되지 아니하도록 암호화 등 안전성 확보에 필요한 조치를 할 것 제24조 (고유식별정보 처리의 제한) - 14 -

제2장 금융부문 암호기술 적용현황 개인정보보호법 신용정보업감독 규정 개인정보처리자는 개인정보가 분실 도난 유출 변조 또는 훼손되지 아니하도록 내부 관리계획 수립, 접속기록 보관 등 안전성 확보에 필요한 기술적 관리적 및 물리적 조치를 할 것 신용정보회사등은 개인신용정보의 암호화 등 기술적 물리적 관리적 보안대책의 구체적인 기준 마련 제29조 (안전조치의무) 제20조 (기술적 물리적 관리적 보안대책) 금융부문의 안전한 암호기술 관련한 보안 규제 사항들을 준수하기 위해서 전자금융거래법 및 시행령, 전자금융감독 규정 등 금융 IT 보안 규제 사항과 타 분야 적용 법규, 지침 등을 관리적, 기술적, 물리적 체계의 통제항목들을 기반으로 컴플라이언스 활동이 이루어질 수도 있다. 통제항목에 대한 요약 및 관련 정보(법률 등)는 부록 2에서 참고 할 수 있도록 수록하였다. 본 장에서는 제도적인 적용대상과 그 범위 안에서, 현재 금융권에 어떠한 암호기술이 적용되어 있는지 살펴보고자 한다. - 15 -

금융부문 암호기술 활용 가이드 제2절 금융부문 암호기술 적용현황 전자금융 서비스는 이용자에 의해 조작되는 스마트폰, PC, TV, 자동화 기기(CD, ATM) 등 전자적 장치를 통해 금융회사가 제공하는 서비스를 의미한다. 전자금융 서비스 유형으로는 계좌 조회, 자금 이체, 주식 매매, 현금 출금, 현금 서비스, 전자결제 등 다양하다. 온라인 형태의 전자금융 거래는 모든 거래 과정이 서로 대면하지 않고 이루어지는 거래로 정의 했을 때, 자동화기기(CD, ATM)를 이용한 거래 또한 온라인 거래로 분류된다. 반면, 오프라인 형태의 금융거래는 금융회사 직원과 직접 대면하여 거래하는 형태로 볼 수 있다. 전자금융 거래는 비대면성의 특성에 의해 여러 공격 위협이 존재할 수 있으므로, 각 단계마다 거래에 대한 안전성을 보장해야한다. <그림 1> 금융서비스 암호기술 적용 현황 - 16 -

제2장 금융부문 암호기술 적용현황 이를 위해 적용되는 암호기술을 그림 1에 간략히 나타내었다. 대표적인 적용기술을 구분해보면, 온라인상에서 이용자의 입력정보 보호(키보드 보안 등), 거래 시 추가인증 수단(OTP, 인증서 등), 전송정보 보호(종단간 암호 적용)등이 있으며 오프라인에서는 IC카드 적용(이용자 및 카드인증, 거래정보 확인 메커니즘), 온오프라인 공통적인 전송정보 보호(VPN, 통신 암호화 등), 금융회사 내부 저장정보 보호(DB보안 등)등 다양한 분야 에서 암호기술이 이용되고 있다. 본 절에서는 금융부문에서 암호기술이 어떠한 목적으로 이용되며, 보안성을 어떻게 확보하고 있는지 사례별로 살펴보도록 한다. 2.1 입력정보의 종단간 암호화 이용자를 확인하기 위해 사전에 정의한 특정 정보를 입력하여 거래를 처리하는 절차는 온라인 뱅킹과 결제뿐 아니라, 오프라인 거래(PIN 입력 등)에서도 존재한다. 하지만 PC를 포함한 거래 단말기가 범용 기기라는 특성으로 인해 정보가 쉽게 해킹에 노출될 위협이 있고 해커가 이용자로 위장할 위험이 존재한다. 따라서 입력값의 보호는 금융권 암호기술 적용에서 그 의미가 크다. 대표적인 입력값 보호 수단으로는 키보드 암호화 프로그램이 있는데, 이는 키보드를 통해 입력되는 중요정보(아이디, 비밀번호, 계좌번호, 카드번호 등)를 암호화함으로써 키보드 해킹 프로그램 등에 의해 중요 정보가 유출되는 것을 차단하는 것이다. 국내의 경우 2013년, 정부에서 메모리 해킹사고의 재발방지를 위해 기존 종단간 암호(End to End Encryption : 이하 E2E)기반 키보드 보안 프로그램에 확장 E2E 기능을 추가하도록 권고 1) 하였고 현재 금융권에서는 확장 E2E를 적용하고 있다. - 17 -

금융부문 암호기술 활용 가이드 [표 3] 초기 E2E 및 확장 E2E 보호영역 구분 E2E 2) 확장 E2E 보호영역 계좌비밀번호, 보안카드번호, 인증서 비밀번호 계좌비밀번호, 보안카드번호, 인증서 비밀번호, 거래정보(이체금액, 입금정보) 표 3은 두 가지 E2E 기술에서의 암호화 적용 보호영역을 나타낸다. 확장 E2E 기술 가장 큰 목적은 메모리해킹으로부터 입금정보까지 보호하기 위해 원본데이터와 암호문을 함께 전송하는 것이다. 확장 E2E는 기존의 E2E의 암호화 필드에서 거래정보에 대한 암호화를 추가하여 평문의 거래정보 (이체금액, 입금정보)와 암호문 형태의 거래정보를 동시에 금융회사에 전송함으로써 거래정보에 대한 변조 방지 및 무결성 검증을 위한 암호기술을 적용하고 있다. 인터넷 뱅킹에서 이용자는 이체를 하기 위해 로그인, 예비거래 3), 본거래 4), 전자서명, 거래정보 전송의 순으로 진행한다. 각 순서에서 적용 되는 암호기술은 표4에 나타내었다. 로그인 순서에서 공인인증서를 이용한 로그인 시 개인키를 추출할 때 쓰는 암호기술이 적용되고, 예비거래와 본거래 순서에서는 키보드보안I과 키보드 보안II라는 암호가 적용된다. 전자 서명 순서에서는 공인인증서 개인키 추출 암호기술과 전자서명이 이뤄지고 전송 순서에서는 통신구간 암호기술이 적용된다. 1) 금융위원회, 메모리 해킹 관련 보도 참고 자료 http://www.fsc.go.kr/info/ntc_news_view.jsp?menu=7210100&bbsid=bbs0030&no=29612 2) 금보원, 종단간(End-to-End) 암호화 적용 가이드, 2007.10 3) 온라인 뱅킹의 이체서비스는 예비거래 와 본거래 라고 불리는 두 가지 거래단계로 구분할 수 있는데, 두 단계 모두 금융회사 서버까지 암호화 됨, 이 때 예비거래 는 입력된 정보를 통해 금융거래가 처리되기 전에 진행되는 거래로서, 수취인의 계좌정보가 유효한지, 예금주는 누구인지 등을 확인하는 단계임 4) 본거래 는 예비거래 단계에서 확인된 정보로 이용자가 거래금액과 개인정보를 입력하여 거래를 진행하는 단계임 - 18 -

제2장 금융부문 암호기술 적용현황 [표 4] 온라인 뱅킹 거래 시 진행 순서 및 암호적용 기술 암호적용 단계 진행 순서 입력값 로그인 예비거래 본거래 전자서명 전송 1 공인인증서 개인키 추출 인증서 비밀번호 O O 2 키보드보안I ( * 출력) 계좌비밀번호 보안카드번호 O O 3 키보드보안II (평문출력, 암호화) 이체금액, 입금정보 O O 4 전자서명 거래내역 O 5 통신구간 통신 데이터 O 그림2는 표4에 구분한 5가지 암호기술 적용단계가 각각 이용자PC와 금융회사 서버단 사이에서 어떤 구간에 대한 정보를 보호하는지 나타낸다. <그림 2> 온라인 뱅킹 시 입력값 종류 및 암호화 구간 인증서 비밀번호를 입력하는 단계(그림 2, 1)는 공인인증서의 서명용 개인키를 추출 하는 단계로서, 로그인시 이용자 인증과 전자서명에 쓰기 - 19 -

금융부문 암호기술 활용 가이드 위한 개인키를 암호문으로부터 추출하는 단계이다. 이 때 개인키는 대칭 암호 알고리즘으로 암호화 되어 암호문 형태로 저장된다. 키보드보안I 부분(그림 2, 2)은 예비거래, 본 거래에 둘 다 동작하는데, 이용자의 계좌비밀번호나 보안카드번호(또는 OTP)와 같이 이용자 화면 에서도 입력 값 대신 다른 문자( * 등)로 정보를 보호하여 금융회사 서버까지 전달된다. 키보드보안II 부분(그림 2, 3)도 키보드보안I과 마찬가지로 예비거래와 본거래 둘 다 동작하는데, I과 II의 차이는 확장 E2E와 초기 E2E의 차이와 같다. 즉 이용자가 웹브라우저 상에서 입력하는 정보를 확인 해야 하는 경우를 감안하여 키보드보안II에서 이체금액과 입금정보에 대해 평문출력과 암호화를 모두 진행하는 것이 차이점이다. 키보드보안I, II는 입력된 값을 암호화하기 위해서는 두 종류의 암호화 방식(치환방식과 암호화 방식으로 구분)을 주로 이용한다. 5) 전자서명 부분(그림 2, 4)은 이용자가 거래정보를 확인 후, 거래 확정을 하기 위해 이용자의 개인키로 전자서명을 진행하는 단계로서 공인인증서를 이용하여 전자서명을 수행하고, 추후 이용자의 거래내용에 대해 부인방지를 제공한다. 마지막 단계는 통신구간 암호화 부분(그림 2, 5)으로 네트워크 단에서 수행하는 암호 프로토콜이 적용되는 부분이다. 이 부분에서는 SSL 보안 프로토콜을 이용한 통신구간 암호가 적용된다. 5) 키보드보안 솔루션에서 칭하는 치환방식과 암호화 방식은 암호학에서의 현대암호(SEED 등)와 고전적인 치환형 암호를 구분하기 위함이며, 암호학적으로 볼 때에는 둘 다 암호화 방식에 속함 - 20 -

제2장 금융부문 암호기술 적용현황 2.2 신용IC카드 거래 IC카드는 MS카드와 달리 카드 내에 연산이 가능한 CPU와 메모리 등으로 구성되고, 칩 고유의 일련번호 등을 가지고 있어서 카드복제가 어렵다. 또한 거래 시 카드가 단말기 또는 발급자에 대한 자체적인 확인 절차를 진행 하여 카드의 정당성 확인이 용이하다는 특징이 있다. 금융의 목적으로 사용하는 IC카드는 그 용도에 따라 현금카드나 신용카드의 기능을 담은 응용프로그램을 칩에 탑재해야하는데, 신용 카드기능을 탑재할 경우에는, 신용카드 거래 수행이 가능하도록 EMV의 인증을 받아야 한다. EMV에서는 IC카드와 거래 단말기 간 통신과정 중 인증 및 중요데이터의 보호를 위해 여러 단계에서 암호 알고리즘을 사용하고 있다. 본 절에서는 IC카드에서 가장 주목 할 부분인 카드인증 절차에 이용된 암호기술에 대해 살펴보겠다. 카드인증(Offline Data Authentication) 카드인증이란 거래를 진행하려는 IC카드가 정상 발급 카드인지, 발급 후 카드 내 데이터에 불법적인 변경이 있었는지를 체크함으로써 카드의 정당성을 확인하는 과정이다. EMV에서는 RSA 서명 알고리즘을 이용하여 단말기가 카드를 인증하도록 하고 있다. 카드인증 단계에서 나오는 결과는 정당한 거래 승인 확인을 위한 것으로 카드와 단말기 간의 거래 승인 및 결제절차에 직접적인 영향을 미친다. 카드인증 방식은 사용하는 암호키의 종류와 고정된 데이터의 이용 유무에 따라 SDA과 DDA로 분류한다. 일반적으로 SDA에 비해 DDA의 보안 레벨이 높다. - 21 -

금융부문 암호기술 활용 가이드 SDA(Static Data Authentication, 정적 데이터 인증) IC카드에는 발급 시 카드인증을 위해 두 가지 정보를 저장한다. 이는 카드 내 고정된 특정 데이터(SAD, 정적 어플리케이션 데이터)를 발급사의 개인키로 서명한 SSAD값과 발급사의 공개키를 CA의 개인키로 서명한 발급사 공개키 인증서이다. <그림 3> SDA 수행과정 카드에 발급되어 있는 데이터 중에서 항상 지정된 데이터만을 사용 하여 카드를 인증한다. 그림 3은 SDA 수행과정을 나타낸다. IC 단말기에서 수행하는 SDA 상세과정은 아래와 같다. 1 IC 단말기는 CA 공개키( )를 통해, IC카드에 저장되어있는 발급사 공개키 인증서를 검증하여 발급사의 공개키( )가 정당한지 확인한다. 2 정당할 경우, 발급사 공개키 인증서에서 발급사 공개키( )를 추출하여 IC카드에 저장된 SSAD값을 검증한다. 즉, 카드 내 고정된 특정 데이터(SAD)가 맞는지 확인한다. - 22 -

제2장 금융부문 암호기술 적용현황 DDA(Dynamic Data Authentication, 동적 데이터 인증) DDA는 SDA절차를 포함하고 있으며, 매 인증 시 IC카드 내부에서 동적으로 생성한 데이터(DAD)를 추가로 사용한다. DDA의 실행을 위해서는 IC카드에 암호 계산을 위한 보조 프로세서가 탑재되어 있어야 한다. 그림 4는 DDA 수행과정을 나타낸다. <그림 4> DDA 수행과정 IC카드에는 발급 시 두 개의 인증서가 저장된다. 이는 정적 어플리케이션 데이터와 IC카드 공개키 데이터를 발급사 개인키로 서명한 IC카드 공개키 인증서와 발급사의 공개키를 CA 개인키로 서명한 발급사 공개키 인증서이다. IC 단말기에서 수행하는 DDA 상세과정은 아래와 같다. 1 IC 단말기는 IC 카드에 임의로 생성한 동적 난수를 전송하고 IC 카드는 이 값을 IC카드 개인키( )를 통해 서명하여 카드단말에 전달한다. 2 IC 단말기는 CA 공개키( )를 통해, IC카드에 저장되어있는 발급사 공개키 인증서를 검증하여 발급사의 공개키( )가 정당한지 확인한다. - 23 -

금융부문 암호기술 활용 가이드 3 정당할 경우, 발급사 공개키 인증서에서 추출된 공개키( )로 IC카드 공개키 인증서를 검증하여 IC카드 공개키( )가 정당한지 확인한다. 4 정당할 경우, 검증된 IC카드 공개키 인증서에서 추출된 IC카드 공개키( )로 카드에서 전송한 서명된 SAD와 1에서 전송된 서명된 DAD값( 로 서명)을 검증한다. 즉, 카드에서 전송한 값의 진위 여부를 확인한다. 2.3 현금IC카드 및 금융자동화 기기 거래 국내 금융자동화기기는 2014년 2월 이후 마그네틱 카드로 이용할 수 없고 카드 앞면에 IC칩을 가진 IC카드로 서비스를 이용해야한다. 이는 마그네틱 카드 불법 복제로 인한 사고를 줄이기 위함이며, 현금IC 카드는 은행 간 금융자동화기기(CD, ATM) 공동사용을 위해 한국은행이 개발한 금융IC표준 을 준수하고 있다. 현금IC카드 발급 시 적용되는 암호기법 현금IC카드는 카드 키 주입, 발급단계와 카드 인증, 키 갱신 단계를 거쳐 조회, 거래에 이용된다. 카드 키 주입, 발급 단계에서 현금카드에 사용되는 키는 금융공동망 키를 통해 발행기관이 관리하며, 이 키는 카드 제조 후 배포 시 탑재 되어 있다. 상세 절차는 아래와 같다. 1 금융IC카드 발행 시 금융공동망 애플릿을 카드에 다운받고, 이용자 요구에 따라 계좌개수 등을 설정한다. 2 카드일련번호(CSN)을 카드에 설정한다. 3 CSN과 금융공동망의 유도키(DK)를 금융공동망키로 암호화하고 메시지 인증코드 (MAC) 값과 함께 IC카드에 저장한다. 4 1차 카드정보 설정 완료를 위해 카드를 리셋한다. 5 카드의 사용처 등을 설정하고 이용자의 계좌정보 등을 입력한다. - 24 -

제2장 금융부문 암호기술 적용현황 카드인증 및 키 갱신단계에서는 서명 인증서와 키 분배용 인증서를 통해 IC카드의 발급처 등을 인증하는데 이 때 공개키 기반 인증서를 이용하여 처리하고 IC카드 내에 키와 PIN을 갱신 할 경우에는 아래와 같이 암호화 하여 저장한다. [표 5] IC카드에 PIN, 키 갱신 시 데이터 암호화 방법 구분 표기 설명 키 암호화 PIN 암호화 Ciphered Data = CBC(Key, DK) Ciphered Data = CBC(PIN Padding DATA, DK) 유도키(DK)를 가지고 갱신대상 키값을 CBC모드로 암호화 PIN값에 패딩처리 후 유도키(DK)를 가지고 CBC모드로 암호화 카드 발급 후 현금IC카드로 CD, ATM기에서 서비스를 이용할 경우 조회, 거래 처리절차 중 암호기술이 적용되는 주요부분은 세션을 맺는 부분이다. <그림 5> 외부 데이터(비밀번호 등) 암호화 세션은 IC카드에서 중요 데이터(비밀번호 등)를 전송할 때 그림 5와 같이 형성하고 그림 5의 방식으로 세션키를 생성한다. DEA(Data Encryption Algorithm)로는 SEED 암호화 알고리즘을 사용하며 세션을 - 25 -

금융부문 암호기술 활용 가이드 형성한 후에는 전송되는 정보의 보호를 위해 MAC값으로 인증하는 절차를 수행한다. 금융자동화 기기에서 적용되는 암호기법 CD, ATM기에서 안전한 이용 및 거래를 위해 적용된 암호기법은 인증, 조회, 거래 업무 서비스에서 서로 유사하다. 현금IC카드를 이용한 금융자동화기기 조회 및 거래 절차는 아래와 같다. 1 거래를 위한 초기화 과정 : 카드 리셋, 거래관련 셋팅, 칩 일련번호 읽기 2 계좌정보 파일을 읽음 A. 계좌갯수가 1일 경우 CD, ATM화면에서 서비스 선택(현금지급, 계좌이체 등), 금액 및 비밀번호를 입력할 수 있게 함 B. 계좌갯수가 2이상일 경우 PIN을 요구하고 PIN을 검증(PIN실패시 오류처리, PIN재시도 횟수는 은행이 선택)한 후, CD, ATM화면에 계좌를 나열하고, 서비스 선택(현금지급, 계좌이체 등), 금액 및 비밀번호를 입력할 수 있게 함 3 계좌번호 암호화 명령어와 터미널 난수, 비밀번호를 카드로 전송함 4 IC카드는 IC카드 내 저장된 암호화 알고리즘과 명령어를 통해 데이터를 암호화 하고, 암호화된 데이터와 카드에서 발생된 난수를 CD, ATM으로 전송함 5 CD, ATM기는 카드난수, 터미널난수, 암호화된 데이터 등으로 구성된 공동망 전문을 취급은행으로 전송, 취급은행은 동 전문을 금융공동망센터로 전송, 금융공동망센터는 동 전문을 개설은행으로 전송 6 개설은행은 암호화된 데이터를 복호화함 7 원장조회 및 승인여부를 확인하여 승인, 거절코드를 전송 - 26 -

제2장 금융부문 암호기술 적용현황 2.4 전자서명 및 인증수단 전자금융 거래법에서는 거래내용의 진실성과 정확성을 확보하기 위해 전자서명을 수행하고 이 때 서명자를 인증하기 위한 접근매체로 공인인증서를 이용하고 있다. 표 6은 접근매체와 인증수단에 대한 설명이다. [표 6] 전자금융거래법에서의 접근매체와 인증수단 구분 접근매체(전자금융거래법) 인증수단 설명 예시 전자금융거래에 있어서 거래지시를 하거나 이용자 및 거래내용의 진실성과 정확성을 확보하기 위하여 사용되는 수단 또는 정보 이용자정보, 생체정보, 공인인증서, 신용카드 등 전자금융거래의 당사자 인증에 사용되는 유형, 무형의 수단 및 인증 절차를 처리하기 위한 기반 시설 생체정보 입력장치, HSM, 보안카드, OTP발생기 등 전자서명 금융권에서는 전자금융거래에 대한 본인인증 및 부인방지의 목적으로 전자서명 기술을 많이 사용한다. 계약을 처리 할 때 인감도장을 동사무소 등과 같은 공공기관에 등록하여 공증을 받아 계약서 등의 날인에 사용 하듯이 전자서명도 인감도장과 동일한 역할을 한다. 전자서명은 대부분 원본 문서의 해시를 계산하여, 전자서명을 하고 원본문서의 진위여부를 판단한다. 이 때 원본 문서가 암호화 되는 것이 아니므로 누구나 읽을 수 있다. 즉, 전자서명을 통해 원본 문서에 대한 기밀성을 보장할 수는 없다. 단, 전자서명을 통해 위조불가, 인증, - 27 -

금융부문 암호기술 활용 가이드 재사용 불가, 변경 불가, 부인방지 등의 기능을 제공하고 이에 대한 설명은 표 7과 같다. [표 7] 전자서명이 제공하는 기능 및 설명 제공 기능 위조불가 인증 재사용 불가 변경불가 부인방지 설 명 서명자만이 서명문을 생성할 수 있다. 서명문의 서명자를 확인할 수 있다. 서명문의 해시값을 전자서명에 이용하므로 한 번 생성된 서명을 다른 문서의 서명으로 사용할 수 없다. 서명된 문서는 내용을 변경할 수 없기 때문에 데이터가 변조되지 않았음을 보장하는 무결성을 만족한다. 서명자가 나중에 서명한 사실을 부인할 수 없다. 전자서명의 생성과 검증의 과정은 그림 6과 같다. <그림 6> 전자서명 생성과정 및 검증과정 - 28 -

제2장 금융부문 암호기술 적용현황 전자서명은 서명 키(서명자의 개인키)로 암호화하는 전자서명 생성 과정과 서명값을 서명자의 공개키로 복호화하는 검증과정으로 나뉜다. [표 8] 전자서명 생성 및 검증 절차 설명 절차 생성과정 원본 메시지의 해시값에 대한 전자서명을 계산한다. 1 원본 메시지의 해시를 계산한다. 2 1에서 얻은 해시값에 서명자의 개인키로 암호화 하여 전자서명을 계산한다. 검증과정 원본 메시지의 해시계산 후, 전달받은 서명값을 검증한다. 1 전달받은 원본 메시지를 서명값을 생성할 때와 동일한 해시함수로 해시 계산한다. 2 전달받은 전자서명 값에 대해 서명 자의 공개키로 복호화 하여 검증 값의 원본 데이터를 계산한다. 3 계산을 통해 얻은 해시값과 검증으로 얻은 원본 데이터의 값이 동일한지 확인한다. 전자서명 된 문서는 서명 시 사용한 개인키와 쌍을 이루는 공개키에 대해 인증기관에서 등록 및 관리하기 때문에, 누구나 사용자의 공개키에 접근이 가능하고 서명값 검증 시에 이를 이용할 수 있다. 한편, 전자서명을 수행하기 위해서는 누구나 사용자의 공개키에 접근이 가능하고 공개키 값을 확인 할 수 있도록 하기 위한 공개키 공증 문서(인증서)와 이를 인증할 기관(인증기관 CA, Certificate Authorities)이 필요하다. 공개키 공증 문서인 인증서는 온라인 뱅킹서비스나 일정 금액이상의 온라인 결제, IC카드 인증 등 다양한 분야에서 이용되고 있고 이에 대한 인증기관은 각 관련 금융회사에서 관여한다. CA와 함께 필요한 지원 메커니즘으로 형성되는 전체 시스템을 공개키 기반구조 (PKI, Public-Key Infrastructure)라 한다. - 29 -

금융부문 암호기술 활용 가이드 <그림 7> PKI 구성 요소 PKI를 설정하고 운영하는 것은 복잡하다. 인증서 발급을 위한 사용 자의 신원을 확인하는 것과 신뢰되는 CA 키 분배와 같은 이슈가 해결 되어야 한다. 국내의 경우 최상위 인증기관은 한국인터넷진흥원에서 담당하고 있으며, 개인이 금융권에서 이용하는 공인인증서는 등록대행 기관인 은행, 상호금융회사, 우체국 또는 증권회사 등에서 온라인 계좌 개설 후 무료로 발급받는다. <그림 8> 인증서 관리 체계 전자서명을 검증할 때에 이용할 공개키에 대한 공증 문서(인증서)와 공증기관(CA)에 대해 간략히 설명한다. 금융권에서 공인인증서를 이용 하여 전자서명을 진행할 경우, 그림 8과 같이 관리된다. - 30 -

제2장 금융부문 암호기술 적용현황 인증수단(OTP 발생기) 인증수단의 대표적인 것은 OTP(One Time Password)발생기이다. OTP 발생기는 고정된 비밀번호 대신 매번 일회용 비밀번호를 생성하는 기기로서, 인터넷, 휴대폰, 전화 등의 다양한 매체를 이용하여 은행, 증권, 선물사의 전자금융거래 시에 인증수단으로 이용되고 있다. OTP는 재 사용이 불가능하여 사용자의 비밀정보를 유추할 수 없는 특징을 가진다. OTP 값은 그림 9와 같이 생성된다. <그림 9> OTP 생성단계 입력값은 시각 정보, 이벤트 정보 등으로부터 수집 된 난수를 의미한다. 이 입력값은 서버와 OTP기기 간 동기화 방식을 구분하며 크게 4가지(질의응답, 시간 동기화, 이벤트 동기화, 조합) 방식이 있다. 이 때 입력된 정보는 난수 그대로 사용하거나 해시, 암호화 등의 방법으로 추 가적인 난수 생성 과정을 거쳐 변환된 난수를 사용할 수 있다. 생성 알고리즘은 일방향 해시함수와 대칭키 블록 암호알고리즘 기반으로 구성되어 있으며, 암호문의 유추 가능성에 대응할 수 있어야 한다. 현재 이용되는 생성 알고리즘은 3TDEA_CBC(192비트 키), AES_CBC(128비트 키), AES_CBC(256비트 키), SEED_CBC(128비트 키), HMAC_SHA1(160비트 키), HMAC_SHA256(256비트 키)이다. - 31 -

금융부문 암호기술 활용 가이드 추출 알고리즘은 생성알고리즘을 통해 나온 연계정보를 암호화한 데이터 값을 일회용 비밀번호 추출 알고리즘에 입력하여 특정 규칙으로 일회용 비밀번호를 추출한다. 거래서명(Transaction Signing) 거래서명이란 넓은 의미로는 공인인증서와 같이 거래정보에 서명하는 인증기술이 포함되지만, 주로 별도의 기기에서 거래정보로 생성한 서명값을 이용하여 거래를 확인하는 방법을 의미한다 6). 거래서명을 통해서 이용자 측에서는 거래정보(수취인 계좌번호, 송금액 등)와 연계된 서명값(인증번호)을 생성하여 금융회사에 전송함으로서 해당 거래의 무결성을 검증 할 수 있다. 특히, 거래서명 기술은 거래승인 시 금융회사는 사용자로부터 받은 두 가지 정보(거래정보, 이와 연계된 서명값)를 가지고 거래정보 위변조를 탐지할 수 있다. 전송 중에 거래 내역을 위변조하는 목적의 공격(메모리 해킹 공격 등)에 효과적이다. <그림 10> 거래서명 인증기술 개념 6) 금융보안연구원, 2014년 8월 전자금융 보안 동향 & 연구, 용어정의 - 32 -

제2장 금융부문 암호기술 적용현황 1 수취인계좌번호와 송금액을 거래서명기기에 입력 2 입력된 거래정보를 이용하여 인증번호(서명값)를 생성 3 생성한 인증번호(서명값)를 브라우저에 입력 4 금융회사는 거래정보와 인증번호를 함께 전송받아, 전송된 거래정보로부터 인증번호의 진위를 확인하고 거래를 진행 표 9는 거래서명을 구현하기 위해 인증서와 인증수단으로 사용되는 OTP를 이용할 때의 특징을 나타낸다. [표 9] 거래서명 구현방안 비교 구분 타임스탬프 + 인증서 OTP 인증 및 검증 기술적 특징 법적 의미 기타 공개키 암호 기반의 인증과 검증 본인확인용도의 인증수단, 매체(인증 방식 종류)의 개념 전자서명법 - 부인방지 지원 CA(인증기관) 필요 거래내용에 대해 대칭키 메시지 인증(MAC)을 활용 본인확인 강화용 채널(분리된 수단) 확장의 개념 부인방지 지원하지 않음, 위임인증방식 OTP 인증 센터와 검증 절차 필요 - 33 -

제3장 금융부문 암호기술 활용 시 고려사항

제3장 금융부문 암호기술 활용 시 고려사항 제3장 금융부문 암호기술 활용 시 고려사항 제1절 암호기술 분류 및 운영 고려사항 금융거래 시 불가피하게 저장해야하는 거래정보, 개인정보 등은 사이버 공간에서 이용자를 대신하거나 실제 금전적인 가치를 대신할 수 있기 때문에 정보처리 및 저장 시 데이터 보호가 중요하다. 데이터 보호기술의 대표적인 것은 암호기술이며, 금융권에서는 암호기술을 도입하여 안전한 서비스가 이루어 질 수 있도록 시스템을 구축하고 있다. 1.1 암호기술 분류 정보를 안전히 처리하기 위해 암호기술의 보안강도를 최고로 높여 구축하는 것은 현실적이지 않다. 보안과 비용(암호 처리에 필요한 메모리, 처리 속도 및 성능향상을 위한 고성능 장비 도입 등)을 함께 고려해야하기 때문이다. 따라서 암호기술의 구성 시 암호화 대상과 목적을 정확히 파악하고 이를 고려하여 최적의 시스템을 구축해야 한다. <그림 11> 암호기술 분류 - 37 -

금융부문 암호기술 활용 가이드 암호기술은 메시지의 의미를 숨길 목적으로 비밀을 생성하는 분야의 기술이고 이는 암호알고리즘과 암호 프로토콜 7) 로 구분한다. 세부적으로는 암호알고리즘은 대칭키, 공개키, 해시 알고리즘으로 분류하며, 암호 프로토콜은 키 구축과 암호 프로토콜로 분류한다. 1.2 암호기술 용도 금융권에서는 도청, 메시지 변경, 위장, 부인에 대한 위협에 대응 하기 위해 암호 기술을 이용하고 있다. 이는 표 10에 나타내었다. [표 10] 암호기술의 주요 보안특성과 금융권 적용 예시 주요 보안특성 (보안위협) 암호기술 금융권 적용 예시 기밀성 (도청) 암호화 종단간 암호화, 입력값 보호 등 일방향 해시함수 전자서명 무결성 메시지 인증코드 거래전문 확인 (메시지 변경) 전자서명 인증서 인증 (위장) 메시지 인증코드 거래전문 확인 전자서명 본인인증 부인방지 (부인) 전자서명 본인인증 기타 키 설정 프로토콜 세션키 생성 암호통신 프로토콜 TLS, IPSec 본 절에서는 암호기술의 목적인 데이터 기밀성, 데이터 무결성, 데이터 인증 및 사용자 식별의 보안특성과 이와 관련된 금융권 적용 예시를 살펴본다. 7) 프로토콜이란 양자 간 암호화 환경을 운영하기 위해 주고받는 정보에 대한 상호 규칙을 뜻함 - 38 -

제3장 금융부문 암호기술 활용 시 고려사항 기밀성을 위한 암호기술 기밀성이란, 비인가 대상이 데이터에 접근하여 내용을 파악할 수 없음을 보장하는 것이다. 대표적으로 기밀성을 유지하기 위해 적용된 암호기술로는 대칭키, 공개키 등의 암호화 기술이 있고, 메시지 내용 공개, 도청으로부터 전송 메시지를 보호 할 수 있다. 대상을 기준으로 분류하면 접속 구간의 기밀성, 내용 기밀성, 메시지 흐름 기밀성 등이 있다. - 금융권 적용 예시 : 종단간 암호화, 입력값 보호 등 무결성을 위한 암호기술 무결성이란, 원래의 정보 또는 신호가 전송, 저장, 변환 시 또는 그 후에도 동일함을 유지하는 것이다. 정보보호 분야에서는 메시지가 제3자 등에 의한 임의 변경을 방지하기 위해 데이터 전송 에러 확인 또는 해시함수 등의 일방향 함수를 활용한다. 무결성이 깨지는 경우는 사고나 의도적인 변경 또는 삭제, 컴퓨터 바이러스 등에 의한 손상 등이 있으며, 이를 해결하기 위해 이용되는 암호기술로는 일방향 해시함수, 메시지 인증코드, 전자서명이 있다. - 금융권 적용 예시 : 거래전문 확인 등 인증을 위한 암호기술 인증이란, 정보 및 시스템의 자원을 사용하는 주체가 정당한 사용자 임을 확인할 수 있도록 보호하는 서비스로서, 사용자가 자신의 신원 정보를 밝히고 확인하는 식별과 신원정보 또는 신원확인의 유효성을 확립하는 인증의 단계로 구분할 수 있다. 대상을 기준으로 구분할 경우에는 연결된 송수신자를 확인하기 위한 사용자 인증과 교환되는 - 39 -

금융부문 암호기술 활용 가이드 매 정보마다 진위를 확인하기 위한 메시지 인증이 있다. - 금융권 적용 예시 : 전자서명(본인인증) 등 부인방지를 위한 암호기술 부인방지란, 송신자나 수신자 양측이 메시지를 전송한 사실 자체를 부인하지 못하도록 막는 것을 말한다. 따라서 어떤 메시지가 송신되었을 때 수신자는 그 메시지가 실제로 송신자라고 주장하는 주체로부터 송신되었음을 확신 할 수 있다. 마찬가지로 메시지가 수신되었을 때 송신자는 그 메시지가 실제로 수신자라고 주장하는 주체에 의해서 수신되었음을 확신할 수 있다. - 금융권 적용 예시 : 전자서명(거래에 대한 서명) 등 1.3 암호기술 운영 시 고려사항 보안시스템에서는 구성요소들 중 보안에 가장 취약한 부분에 의해 전체 시스템의 보안강도가 결정된다. 따라서 안전한 암호기술 운영시 개별 보안강도가 높은 알고리즘의 선택과 더불어 구현 시의 유의사항 및 인적, 물리적 관리 정책 등을 수립하고 준수해야한다. 암호정책 수립 기업에서 암호기술을 운영하기 위해서는 사전에 암호정책을 수립 하고 역할을 분담하여 철저히 관리되어야 한다. 표 11은 암호정책 수립 시 관련 분야 업무관련자들과 책임사항 8) 을 나타낸다. 8) 조직의 정보보호 정책 수립 가이드, TTAK.KO-12.0093, 2008.12, TTA. - 40 -

제3장 금융부문 암호기술 활용 시 고려사항 [표 11] 암호정책 수립 시 책임사항 업무관련자 정보보호관리자 정보보호담당자 사용자 책임사항 - 사내의 전반적인 보안 계획을 수립 관리하는 역할 - 사내에서 한명을 선정하여, 암호화 기술 및 프로그램 등 암호와 관련된 모든 사항들에 대해서 최종 승인과 총괄적인 관리를 담당함 - 기술 환경의 발달에 따라 암호화 기술 및 프로그램, 키의 기준을 검토하고 개정할 의무를 가짐 - 각 부서의 정보보호를 담당하는 역할 - 부서별로 한명씩 선정하여, 암호화 기술 및 프로그램의 도입 또는 개발과 암호화키 관리 등을 담당함 - 암호화 기술 및 프로그램을 실제로 사용하는 자 - 정보를 다루는 사내의 모든 직원이 이에 해당되며, 정보보호 관리자가 승인한 암호화 기술 및 프로그램만을 사용함 <그림 12> 암호기술 적용 시 공격위치 그림 12는 암호기술이 적용되기 전의 공격위치와 암호기술이 적용된 후 공격위치를 보여준다. 공격자는 사용자의 상대적인 안도감 또는 관리가 허술한 경우를 틈타 정보를 탈취 할 수 있다. 따라서 암호 정책 수립 시 암호기술 적용 및 운용할 때의 관리적 보안을 함께 고려해야 한다. - 41 -

금융부문 암호기술 활용 가이드 다른 암호기술 조합 서로 다른 암호기술을 조합하여 적용할 경우 서로 보안 강도의 차이가 큰 알고리즘을 조합하는 것은 권장하지 않는다. 다만 성능이나 상호 운용성 등의 이유로 상이한 보안 강도의 알고리즘과 키 크기를 사용하게 될 경우에는 가장 약한 보안 강도의 알고리즘이 전체 보안 강도를 결정한다는 것에 유의하여야 한다. 특히 키 분배와 데이터 암호를 위해 대칭키 암호알고리즘과 공개키 암호알고리즘을 함께 사용할 경우, 보안강도를 고려하여 적절하게 조합해서 사용 할 수 있도록 하여야한다. 시스템 예상 수명 관리자는 시스템의 예상 수명을 고려하여, 전체 운영 기간 동안 안전할 것으로 예상되는 알고리즘을 선택하거나 환경에 따라 언제든지 해당 알고리즘과 키 크기를 갱신 할 수 있는지 확인해야 한다. 기타 암호 시스템을 운영할 때에는 암호기술이 제 역할을 하기 위해 안전한 난수생성기의 이용, 안전한 키 관리, 안전한 프로토콜 설계, 안전한 운영모드 선택 등을 함께 고려하여야 하는데, 이에 대한 세부적인 내용은 3장의 각 해당 절에서 상세히 다룬다. - 42 -

제3장 금융부문 암호기술 활용 시 고려사항 제2절 암호알고리즘 선택 시 고려사항 암호기술 적용의 기본 가정은 공개된 암호알고리즘과 비공개된 암호 키로 보호하고자 하는 정보를 안전하게 지키는 것이다. 이 때 공개된 암호알고리즘으로 국내외 권고 표준 암호화 알고리즘을 선택해야한다. 본 절에서는 암호기술 이용 시 선택할 수 있는 표준 암호알고리즘을 구분하고 그 특징과 보안강도에 따른 키 크기에 대해 살펴보도록 한다. 2.1 암호알고리즘 종류 및 특징 암호알고리즘은 대칭키, 공개키, 해시함수로 구분할 수 있다. 표 12는 각 알고리즘의 종류와 특징, 응용분야에 대해 설명한다. [표 12] 알고리즘의 종류 및 특징 종류 특징 대표적인 알고리즘 응용분야 구체적 예시 인터넷 뱅킹 대칭키 암호 알고 리즘 - 암복호 동일키 사용 - 기밀성 유지 통신 가능 - 키 분배 문제해결이 필요 AES, SEED(블록) RC4(스트림) 대부분의 개인정보 대상 암호화 적용 무선 통신 조회, 공인인증서 개인키 저장 등 음성, 데이터 정보 암호 - 43 -

금융부문 암호기술 활용 가이드 공개키 암호 알고 리즘 해시 함수 - 암복호 서로 다른 키 사용 - 키 분배 문제해결 가능 - 대칭키 암호 대비 속도 느림 - 중간자 공격에 약함 - 키 없음 - 일방향 함수 - 해시함수 충돌 RSA (인수분해) DSA, DH (이산대수) ECDSA, ECDH (타원곡선 이산대수) SHA256 공인인증서, 키 교환 키 교환 비밀번호 검사 메시지 축약값 인터넷 뱅킹, SSL SSL 보안프로토콜 키 설정 알고리즘 아이디, 비밀번호 기반 로그인 인증 수행 - 대칭키 암호와 공개키 HMAC 만들기 위해 보안API 및 기타 암호 함께 사용 withsha1, MAC, SSL (조합) - 해시함수와 다른 암호 SHA256 OTP 생성용 프로토콜 함께 사용 등 -DRBG 등 의사난수생성기 전송 등 대칭키 암호 기술 송수신자가 서로 동일한 키를 이용하는 암호기술로서 다량의 데이터를 암호화 할 때 주로 이용된다. 한편, 암호화 대상의 데이터 단위를 기준으로 블록암호알고리즘과 스트림 암호알고리즘으로 구분 할 수 있다. 블록암호알고리즘은 데이터를 블록단위로 암호화하여 고정된 크기로 블록을 나누어 처리하고, 스트림 암호알고리즘은 유사난수를 연속적(스트림)으로 생성하여 비트 또는 바이트 단위로 처리하는 방식이다. - 44 -

제3장 금융부문 암호기술 활용 시 고려사항 <그림 13> 대칭키 암호화 방식 금융권에서 사용되는 대표적인 대칭키 암호알고리즘으로는 블록 암호알고리즘인 SEED가 있으며 그 외에 TDEA, AES 및 ARIA가 있다. 공개키 암호 기술 대칭키와 달리 각 사람마다 한 쌍의 키(공개키, 개인키)를 가진다. 이 때 공개키는 암호화하는데 사용되며 모든 사람에게 공개되고, 개인키는 복호화하는데 사용되며 비공개키이다. 공개키 암호 개념은 비밀키의 사전 분배문제를 해결하였고, 전자서명과 같은 새로운 개념을 가능하게 했다. <그림 14> 공개키 암호화 방식 그러나 공개키 암호는 암복호화에 소요되는 시간 및 계산량이 매우 많기 때문에 일반적으로 대용량의 데이터를 암호화하는 데에는 사용 되지 않고 길이가 짧은 데이터(신용카드 번호나 개인식별번호 등)를 암호화하는데 사용된다. 대표적인 공개키 암호알고리즘과 그 용도는 표 13과 같다. - 45 -

금융부문 암호기술 활용 가이드 [표 13] 대표적인 공개키 암호알고리즘과 그 용도 공개키 암호알고리즘 용도 암복호 전자서명 키 교환 RSA O O O DH(디피헬만) X X O DSA (전자서명알고리즘) ECC (타원곡선암호체계) X O X O O O 해시함수 임의의 길이를 가진 메시지를 고정된 메시지로 출력하는 함수로서 데이터를 압축시키는 함수이다. 해시함수는 어떠한 크기의 메시지를 받아도 고정된 길이의 출력을 생성하기 때문에 파일이나 메시지, 데이터에 대한 지문(fingerprint)을 생성할 수 있다. 또한 일방향 함수의 성질을 이용하여 메시지 인증이나 전자서명에 주로 사용된다. <그림 15> 해시함수(일방향 함수)의 성질 - 46 -

제3장 금융부문 암호기술 활용 시 고려사항 기타(암호알고리즘 조합) 암호기술을 적용할 때에는 대칭키, 공개키, 해시함수 등의 알고리즘 특징을 고려하여 용도를 구분하고 이를 조합하여 이용하는 경우가 대 부분이다. 대표적인 조합으로는 대칭키와 공개키 암호의 조합으로 키 정보 공유를 위해 공개키 암호를 쓰고 그 후 키 갱신이나 전문 전송 시에는 속도가 빠른 대칭키 암호를 쓰는 방법이 있다. 그 외에 전자서명, 인증서, 메시지 인증코드, 의사난수 생성기에서도 암호알고리즘을 조합하여 이용되고 있다. [표 14] 대표적인 암호알고리즘의 조합 구분 조합된 암호알고리즘 금융권 이용분야 구체적 예시 온라인 뱅킹 키 전송용 공개키 암호 하이브리드 암호 시스템 대칭키 암호, 공개키 암호 통신구간암호 스마트뱅킹 가상키패드 및 (RSAES) SEED CFB, ECDH 앱무결성 전자서명 일방향 해시함수, 공개키 암호 거래내용 전자서명 거래전문 해시(SHA256), 공개키 암호 (RSASSA-PSS) 인증서 메시지 인증코드 (MAC) 일방향 해시함수, 대칭키 암호 해시함수와 키를 조합, 대칭키 암호로 생성 본인인증, 부인방지 로그 위변조방지, 로그 저장 시 증권 트레이딩 시스템 부인방지를 위한 전자서명(RSASSA-PKCS1) SHA256 해시, 인증용 대칭키 증권거래 HMAC-SHA256 의사난수 생성기 대칭키 암호, 해시함수 구간 암호화용 대칭키 생성 암호키 생성 키 관리 서버에서 키 생성 HashDRBG - 47 -

금융부문 암호기술 활용 가이드 2.2 보안강도 암호학에서 암호알고리즘의 보안강도는 알고리즘의 구조가 논리적인 취약성이 없다는 것을 가정하고 암호화에 이용된 키를 유추하는 공격자의 노력을 기준으로 결정한다. 따라서 암호알고리즘을 선택할 때에는 논리적 취약성이 없는 안전한 암호알고리즘을 선택하는 것 9) 과 요구하는 보안강도를 만족하는 키 길이를 선택 10) 하는 것이 중요하다. 키 길이와 보안강도의 관계 키 길이와 보안강도의 관계는 표 15의 대칭키 암호알고리즘의 키 길이를 기준으로 키를 찾기 위한 전수조사를 수행할 때 소요되는 시간 11) 을 통해 알 수 있다. [표 15] 대칭키 암호기준, 키 길이에 따른 해독 시간 (단위 : 비트) 키 길이 키 공간 해독 시간 56~64 2 56 ~ 2 64 단기 : 수 시간 또는 수십일 112~128 2 112 ~ 2 128 장기 : 양자 컴퓨터가 없는 경우 수십 년 256 2 256 장기 : 현재 알려진 양자 컴퓨팅 알고리즘을 운영하는 양자 컴퓨터가 있어도 수십 년 예를 들어 키 길이가 56비트 크기로 표현 할 수 있는 키의 개수는 2 56 개이고 112비트로 표현되는 키의 개수는 2 112 개다. 112비트는 56 비트의 2배이므로, 키 길이가 56비트에서 112비트로 2배 늘었을 때 키를 9) 암호알고리즘 구조의 안전성을 보는 공격으로 암호문 단독 공격, 기지 평문 공격, 선택 평문공격 등의 암호분석기술과 관련됨 10) 각 알고리즘별로 안전성을 보장해 줄 수 있는 수학적 난제는 다르지만, 키 값을 유추하기 위해 모든 값을 대입해보는 경우에 대한 노력과 관련됨 11) 암호기술의 이해, 암호분석, 2013.3, 도서출판 그린 - 48 -

제3장 금융부문 암호기술 활용 시 고려사항 대입해야하는 경우의 수는 2 56 배 늘어난다. 또 해독 시간도 전수 조사에 소요되는 시간이므로 2 56 배 늘어난다. 논리적 취약성과 보안강도와의 관계 암호 선택 시 암호관련 담당자는 키 크기 뿐만 아니라 알고리즘별 보안강도를 확인해야 한다. 대칭키의 경우 대부분 키 길이와 보안강도 수준이 동일하다. 하지만 DES를 응용한 TDEA의 경우 구조적 취약성에 의해 보장할 수 있는 보안강도가 알고리즘에 사용된 키 크기에 미치지 못하게 된다. 예를 들어 TDEA의 2개의 56비트 키를 사용하는 2TDEA는 키 크기는 112비트이지만 보안강도는 80비트가 된다. 각 보안강도에 해당하는 대표적인 알고리즘을 부록1에 나타내었다. NIST 권고 암호알고리즘 공격자의 기술 수준과 노력을 절대성으로 평가하기 위해 국내외 암호알고리즘 권고 기관에서는 보안강도에 대한 기준을 잡고 이에 해당하는 알고리즘을 선정하여 제시한다. 우리나라는 이러한 기준으로 NIST의 권고 기준을 준수한다. NIST에서 권고하는 암호알고리즘의 보안 강도는 대칭키 암호알고리즘의 키 길이를 기준으로 5가지(80, 112, 128, 192, 256비트 12) ) 단계로 나누어져 있으며, 5가지 단계에 따른 해 시함수와 공개키 알고리즘 키 길이를 함께 권고한다. 표 16은 NIST가 권고하는 알고리즘별 보안강도 13) 이다. 12) 80비트의 보안강도란 (= 1.2 x 1024)번의 계산을 해야 암호키 또는 암호알고리즘의 취약성을 찾아낼 수 있음을 의미한다. 13) NIST SP 800-57 (Recommendation for Key Management-Part1 : General), Rev.3, 2012.7, http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf - 49 -

금융부문 암호기술 활용 가이드 [표 16] 국내외 권장 암호알고리즘 구성 (단위 : 비트) 공개키 암호알고리즘 해시 대칭키 이산대수 타원곡선 함수 보안 암호 인수분해 공개키 개인키 암호 14) 강도 알고리즘 (최소 키 (최소 키 (최소 키 (최소 키 (보안 (보안강도) 크기) 크기) 크기) 크기) 강도) 80 80 1024 1024 160 160 80 112 112 2048 2048 224 224 112 128 128 3072 3072 256 256 128 192 192 7680 7680 384 384 192 256 256 15360 15360 512 512 256 표 16에서 첫 번째 열은 NIST 기준의 보안강도를 나타내고 두 번째 열은 첫 번째 열에 표시된 보안 수준을 만족하는 대칭키 암호알고리즘의 보안강도를 나타낸다. 세 번째부터 여섯 번째 열까지는 공개키 암호 알고리즘의 최소 키 크기를 나타내며, 일곱 번째 열에서는 해시함수의 보안강도를 확인할 수 있는데, 해시함수는 키를 사용하지 않으므로 대칭키 암호를 기준으로 해시함수의 취약성을 찾아내기 위해 필요한 연산량을 기준으로 보안강도를 정한다. 주기적 검토 필요 NIST에서 제공하는 알고리즘별 보안 강도는 해당 문서 배포 시점까지 알려진 공격방법을 기준으로 한 평가에 기반을 둔 것으로 인수분해 알고리즘의 발전, 일반 이산대수 공격의 발전, 타원 곡선 이산대수 공격과 양자 컴퓨팅 등이 영향을 미칠 수도 있다. 따라서 주기적인 검토가 반영되어야한다. 14) 해시함수의 보안강도는 출력비트 크기가 아니며 해시함수의 보안강도는 부록1 참고 - 50 -

제3장 금융부문 암호기술 활용 시 고려사항 2.3 알고리즘의 안전성 유지 기간 알고리즘에 대한 적절한 키 크기를 선택할 때에는 알고리즘의 보안 강도와 해당 알고리즘의 안전성 유지 기간 및 보호하고자 하는 데이터의 예상 보안 수명 기간을 고려하는 것이 중요하다. 키 길이에 따른 안전성 유지기간 NIST기준 15) 에 의하면 2010년까지 암호알고리즘의 보안강도가 최소한 80비트 이상으로 제공되어야 하며 2011년에서 2030년 사이에는 최소 112비트 이상으로 제공되어야 하고 그 이후에는 최소 128비트의 보안 강도가 제공되어야 한다. 표 17은 알고리즘과 키 선택에 따라 안전성을 보증할 수 있는 기간(안전성 유지 기간)을 보여주는 NIST의 권고안이다. [표 17] 키 길이에 따른 안전성 유지기간 NIST 권고 (단위 : 비트) 기간 암호 기술 대칭키 암호 알고리즘 (보안강도) 공개키 암호알고리즘(키 길이) 인수분해 타원곡선 이산대수 기반 기반 암호기반 해시함수 16) (보안강도) 2010년 까지 80 이상 1024 이상 1024(공개키), 160(개인키) 이상 160 이상 80 이상 2030년 까지 112 이상 2048 이상 2048(공개키), 224(개인키) 이상 224 이상 112 이상 2030년 이후 128 이상 3072 이상 3072(공개키), 256(개인키) 이상 256 이상 128 이상 15) NIST SP 800-57 (Recommendation for Key Management-Part1 : General), Rev.3, 2012.7, http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf 16) 해시함수의 보안강도는 출력비트 크기가 아니며 해시함수의 보안강도는 부록1 참고 - 51 -

금융부문 암호기술 활용 가이드 첫 번째 열은 특정 알고리즘으로 보호되는 데이터가 안전할 것으로 예상되는 시기를 나타내고 있고 두 번째와 세 번째 열은 각각 첫 번째 열에 대한 적절한 대칭키 암호, 공개키 암호알고리즘에 해당하는 키 크기를 나타낸다. 마지막 열은 해시함수의 보안강도를 기준으로 하는 안전성 유지기간을 나타낸다. 표에 표시된 알고리즘과 키 크기는 주어진 기간 동안 데이터를 보호하는 데 적합한 보안 강도이므로 주어진 년도 범위에 해당되지 않은 알고리즘과 키 크기는 해당 기간 동안 데이터 보호에 사용되지 않도록 해야 한다. 알고리즘의 보안 수명기간 알고리즘의 보안 수명기간 17) 이란 암호알고리즘 사용기간과 알고리즘을 적용할 데이터의 보안 수명 기간을 합친 것이다. 암호알고리즘의 안전성 유지 기간이후에도 데이터의 안전성을 유지해야 한다면 데이터 암호화에 해당 알고리즘을 적용하지 말아야 한다. <그림 16> 알고리즘의 보안 수명기간 개념 및 예시 17) NIST SP 800-57 (Recommendation for Key Management-Part1 : General), Rev.3, 2012.7, http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf - 52 -

제3장 금융부문 암호기술 활용 시 고려사항 예를 들어, 정보가 2005년에 암호화 되었고 해당 데이터를 보호해야할 최대 기간이 5년이라면 표 17에 나타난 보안강도를 만족하는 모든 알고리즘과 키 크기를 사용할 수 있다. 그러나 정보가 2005년에 암호화 되었고 보호 기간이 6년이라면 80비트 이상의 안전성을 제공하지 못하는 알고리즘(예 : 2TDEA)을 사용하는 것은 적절하지 않다. - 53 -

금융부문 암호기술 활용 가이드 제3절 암호 운영모드 선택 시 고려사항 2절에서 살펴본 국내외 권고 암호알고리즘은 알고리즘 자체의 안전성은 보장할 수 있다. 하지만 안전한 암호알고리즘도 하나의 키로 여러 개의 메시지를 암호화 하는 환경이나 특정 값을 지니는 메시지를 암호화 할 경우 기존의 보안강도를 유지하지 못하는 경우가 있다. 따라서 알고리즘 운영 시 안전한 패딩기법과 운영모드를 선택해야한다. 패딩기법 운영모드를 적용할 때에는 평문과 암호문의 관계성을 낮추거나 암호문의 안전성을 높이기 위해 암호화 전에 특정 데이터를 사전 공유된 규칙으로 채우는 패딩을 적용하게 된다. 블록암호의 경우는 빈자리만큼 0 비트를 붙이거나 1 을 추가한 후 0 비트를 덧붙이는 등의 방법 18) 이 있고 공개키 암호에서는 PKCS#1에 나타난 내용으로 패딩처리를 하는 것이 일반적이다. 대칭키 블록 암호알고리즘 운영모드 블록 암호알고리즘은 일정한 크기의 평문을 암호화하므로 실제 단일 8바이트나 16바이트 보다 더 긴 평문(이메일 또는 컴퓨터 파일)을 암호화하기 위한 운영모드가 필요하다. 블록암호 운영모드의 목적은 암호알고리즘에 의해 생성된 블록 간의 연관성을 주는 것이며, 초기벡터를 추가하여 출력 값으로부터 입력 값을 유추하기 어렵게 만들 수 있다. NIST에서는 대칭키 블록 운영모드를 평가하여 표 18과 같이 12개의 승인된 블록암호 운영모드를 권고 19) 한다. 18) TTAS_KO-12_0025 부록의 패딩기법(덧붙이기 방법) 참고 - 54 -

제3장 금융부문 암호기술 활용 시 고려사항 [표 18] NIST에서 승인된 대칭키 블록 운영모드 용도 대칭키 블록 운영모드 금융권 이용분야 구체적 예시 ECB, CBC, CFB, 기밀성 OFB, CTR, 거래내용암호화 SEED128-CBC XTS-AES 인증 CMAC 신용카드결제 AES, SEED128-CMAC 기밀성/인증 CCM, GCM, KW, KWP, TKW 교통카드 지불 AES, SEED128-CCM 표 18의 첫 줄에 있는 6개 운영모드(ECB 20), CBC 21), CFB 22), OFB 23), CTR 24), XTS-AES 25) )는 기밀성을 보장하기 위한 용도로 이용되고, CMAC 26) 은 인증용도, 그리고 기밀성과 인증을 위한 5개의 운영모드 (CCM 27), GCM, KW, KWP, TKW)가 있다. 여러 종류의 운영모드가 구조적 특징으로 인한 장단점이 있음을 감안하여 국가별로 권고하는 운영모드가 일부 상이한 경우가 있다. 가장 많은 국가에서 중복으로 권고 하고 다양한 분야에 사용되는 운영모드는 CBC와 CTR방식이다. 19) NIST, BLOCK CIPHER MODES, 2014.3, http://csrc.nist.gov/groups/st/toolkit/bcm/index.html 20) ECB(Electronic Codebook) : 가장 단순한 구조의 운영모드로 평문 메시지를 블록 크기 단위로 나누어 각 블록을 독립적으로 암호화함 21) CBC(Cipher block chaining) : 초기벡터 이용, 각 블록은 암호화되기 전에 이전 블록의 암호화 결과와 XOR됨, 암호화 시 병렬 처리 불가능, 복호화 시 병렬 처리 가능 22) CFB(Cipher feedback) : 초기벡터 이용, CBC모드의 변형으로 블록암호를 자기 동기 스트림 암호로 변환할 수 있음, 암호화 시 병렬 처리 불가능, 복호화 시 병렬 처리 가능 23) OFB(Output feedback) : 초기벡터 이용, 블록 암호를 동기식 스트림 암호로 변환할 수 있고, 영상이나 음성 신호에 많이 이용, 병렬처리 불가능 24) CTR(Counter) : 블록 암호를 스트림 암호로 변환하는 구조, 블록마다 1씩 증가하는 카운터를 반영하여 암호문을 생성, 병렬처리 가능 25) XTS-AES : NIST SP800-38E문서 참고, 저장기기의 기밀성 보호용도 26) CMAC(Cipher-based MAC) : NIST SP800-38B문서 참고, 암호 기반 메시지 인증 27) CCM(Counter with CBC-MAC) : NIST SP800-38C문서 참고, 기밀성 목적의 CTR과 인증용도의 CBC 기술을 이용 - 55 -

금융부문 암호기술 활용 가이드 금융권에서 주로 이용되는 운영모드 방식은 CBC방식이다. CBC 운영모드는 초기벡터를 제2의 키로 사용될 수 있다는 점에서 보안성이 높고 다른 운영모드에 비해 안전한 운영모드로 알려져 있다. 하지만 암호화 시 블록을 병렬로 처리하는 것이 불가능하고 암호문이 블록의 배수가 되기 때문에 복호화 후 평문을 얻기 위해 패딩을 해야 한다는 특징이 있다 28). CBC외에 ECB와 OFB는 운영모드가 갖는 구조적 특징이 보안적으로 영향을 주기 때문에 선택 시 유의해야 한다. ECB의 고려사항은 빠른 연산처리가 가능한 반면 블록마다 연관성이 부족하여 보안관점에서 다른 모드에 비해 취약한 점이고 OFB는 암 복호화 방법이 동일하여 두 번 암호화를 수행하는 경우 평문이 유출되는 점이다. 최근 암호포럼이나 학계에서는 CBC와 CBC 패딩기법이 함께 쓰이는 경우에 대해 평문을 해독할 수 있는 취약점이 발견되어 기존의 CBC 운영모드를 사용하던 것에서 CTR 운영모드의 사용을 권하는 움직임이 있다 29). 공개키 암호알고리즘 용도별 운영모드 현 금융권에서는 공개키 암호알고리즘으로 주로 RSA를 사용한다. 만약 패딩을 하지 않거나 취약한 패딩 방식을 사용할 경우 RSA 특성에 의해 알고리즘이 쉽게 공격당할 수 있다. 따라서 암호화하기 전에 메시지에 특정 규칙의 정보를 넣어 메시지 유추가 불가능하도록 하는 OAEP 패딩 기법을 적용해야 한다. OAEP기술은 규격화되어 PKCS#1에 표준화 되어 있다. 30) 28) 금융보안연구원, 금융부문 암호기술 관리 가이드, 2010.1 29) The Attacks are Efficient enough to be practical, Padding oracle Attack, CRTYPTO 2012.8 30) 암호기술의 이해, 암호분석, 2013.3, 도서출판 그린 - 56 -

제3장 금융부문 암호기술 활용 시 고려사항 EMC회사에서 나온 RSA 암호 표준에 의하면 데이터 암복호 운영 모드로는 RSAES-PKCS#1(v1.5)와 RSAES-OAEP를 이용할 수 있으며 국내 환경에서 사용할 경우 RSAES-OAEP를 권장하고, 전자서명용으로는 RSASSA 31) -PKCS#1(v1.5), RSASSA-PSS 32), KCDSA, ECDSA, EC-KCDSA를 권장한다. 금융권에서 이용되는 대표적인 공개키 운영모드는 키 전송 시 사용되는 RSA-OAEP와 키 전송 시 전자서명으로 이용되는 RSASSA-PSS, 보안관리자를 인증하거나 거래내용에 대한 전자서명 시 사용하는 RSASSA-PKCS#1이 있다. 이는 표 19에 나타내었다. [표 19] 공개키 암호 운영모드 용도 공개키 암호 운영모드 금융권 이용분야 설명, 구체적 예시 RSASSA-PSS 키 전송 시 서명 계좌이체 부인방지 전자서명 키 교환 및 암호화용 거래내용에 대한 PKCS#7 RSASSA-PKCS#1 거래내용 SignedData 전자생성문 (v1.5) 전자서명 생성 KCDSA - 행정전자서명인증서에 이용 ECDSA, EC-KCDSA 키패드보안 상호인증 ECDSA 가상키패드, 무결성 점검 DH, ECDH 스마트 뱅킹 시 ECDH 적용 VPN 키 교환 RSAES-OAEP 세션키 교환 증권 시스템 등 31) RSASSA = RSASignature scheme with Appendix 32) RSASSA-PSS(Probabilistic Signature Scheme) 전자서명 알고리즘, 대부분의 전자 서명 기법과 비슷하게 메시지를 hash한 값을 전자 서명하는 방식을 따름 - 57 -

금융부문 암호기술 활용 가이드 미래 운영모드(형태보존암호) 형태보존암호(FPE, Format-Preserving Encryption)란 기존의 운영 모드와 달리 암호화를 거치더라도 메시지의 형태와 길이가 동일하도록 생성하는 암호기술이다. 대표적인 형태보존암호 방식으로는 블록암호 운영모드를 이용한 방식 이 있다. <그림 17> 카드번호를 암호화할 경우 암호문의 형태(예시) 그림 17은 카드번호를 형태보존 암호로 암호화할 경우 암호문의 형태를 표현 33) 한 것이다. 기존 블록암호로 카드번호를 암호화 할 경우 메시지 길이 및 자료형 변화가 불가피 한 것에 반해 형태보존암호로 암호화를 진행 할 경우에는 평문과 암호문의 길이가 동일하다. 형태보존암호의 이러한 장점은 암호화 메시지 저장을 위한 추가 저장 공간 확보가 불필요하고 시스템 변경 최소화로 인한 암호화 시스템 구축비용 절감 효과를 기대할 수 있기 때문에 국내 금융권 DB보안 분야에서도 형태보존 암호에 관심이 급증하고 있다. 이 운영모드는 NIST에서 미래 운영모드로 간주하여 표준화를 진행 중에 있고 국내에서도 자체개발한 형태보존 암호알고리즘에 대한 안전성 검증과 성능향상을 위해 연구가 활발하다. 33) 금융보안연구원, 2014년 6월 전자금융 보안 동향 & 연구, 용어정의 - 58 -

제3장 금융부문 암호기술 활용 시 고려사항 제4절 의사난수 생성기 선택 시 고려사항 난수는 대칭키 암호의 키 생성, 공개키 암호 또는 전자서명 시스템의 매개변수 생성, 보안 통신 프로토콜에서 사용되는 난수 등 많은 분야에서 사용된다. 또한 암호시스템에서 사용되는 암호키는 예측하기 어려운 난수에 안전성을 의존하고 있다. 따라서 난수를 생성하고 관리할 때 난수 발생기가 기본 요건이 만족되지 않는다면 암호 시스템 전체 안전성에 영향을 미치게 된다. 2013년 미국에서는 보안제품 개발기업이 제 3자가 예측 가능하도록 만든 난수 생성기를 납품 시도한 사실이 드러나면서 전 세계 보안 산업 뿐 아니라, 국가 간 신뢰문제 등에 대한 이슈가 있었다. 본 절에서는 난수가 만족해야하는 기본성질과 이를 생산하기 위한 의사난수생성기, 순수난수 생성기에 대해 살펴본다. 기본 성질 이론적 의미의 난수는 기본적으로 표 20의 성질을 만족해야한다. [표 20] 난수의 기본성질 구분 설명 비고 무작위성 통계적인 편중이 없이 수열이 무 작위로 되어있는 성질 무작위성만을 가진다면, 암호 기술에 사용할 수 없음 예측 불가능성 재현 불가능성 과거의 수열로부터 다음 수를 예측할 수 없다는 성질 같은 수열을 재현할 수 없다는 성질, 재현하기 위해서는 수열 그 자체를 보존해야만 함 알고리즘은 공격자에게 알려져 있다고 가정하기 때문에 의사난수 생성기에서는 씨드(Seed)를 사용 소프트웨어만으로는 만족 불가 - 59 -

금융부문 암호기술 활용 가이드 난수를 생성하는 이상적인 방법은 물리적인 방법(방사능 물질의 붕괴, 대기소음, 하드웨어장비)을 이용하여 이론적 의미의 난수를 생성하는 순수난수 생성기를 이용하는 것이다. 하지만 효율과 비용의 문제로 인해 초기에 주어진 난수 값(씨드, Seed)을 이용해서 난수처럼 보이는 값을 기계적으로 생성하는 의사난수 생성기를 만들게 되었다. 의사난수 생성기 의사난수 생성기는 내부상태 와 외부에서 주어진 씨드 (Seed) 를 기초로 의사난수를 생성하는 알고리즘이다. 이 알고리즘은 의사난수를 계산하는 기능과 내부상태를 변화시키는 기능을 가진다. <그림 18> 의사 난수 생성기의 구조 초기 씨드 값은 의사난수 생성기의 내부상태 초기화에 필요한 값으로 무작위의 비트열이어야 하며, 비밀 값이어야 한다. 또한 씨드 값을 통해 의사난수열을 생성하기 때문에 무엇으로 씨드 값을 사용할지가 중요하다. 씨드 값은 비용과 효율성 문제로 소프트웨어에서 가져오거나 외부 주변 장치로부터 입력 받는 경우가 대부분이다. 예를 들어 화면 정보, 시스템 클럭, 프로그램 카운터 등의 시스템 정보와 키보드 입력값, 마우스 좌표 값 정보 등을 이용하여 생성한다. - 60 -

제3장 금융부문 암호기술 활용 시 고려사항 운영체제별로 이용 가능한 씨드로 이용될 수 있는 잡음원 34) 을 표 21에 나타내었다. [표 21] 시스템 별 사용 가능한 잡음원 시스템 Linux Windows Android ios 운영체제 하드웨어 씨드 운영체제 하드웨어 씨드 운영체제 하드웨어 씨드 운영체제 하드웨어 잡음원 키보드, 마우스, 디스크 이벤트, 인터럽트, 현재 프로세스 ID, 현재 프로세스의 부모의 ID, 그룹의 ID, 시스템의 현재 시간, 프로세스의 자원 사용량, 사용된 디스크의 크기 정보, 메모리 사용량 정보, 시스템 자원의 평균 부하량, 시스템 사용 통계, 저장 장치 IO 통계 현황, 가상 메모리 통계, 시스템 프로세스 전력 정보, 시스템 프로세스 휴면 정보 등 GPU온도, 공유 메모리의 경쟁상태, 잡음원 생성기가 구현한 하드웨어 모듈 키보드, 마우스, 디스크이벤트, 인터럽트 등 현재 프로세스 ID, 현재 스레드 ID, 메모리의 상태 정보, 부팅한 이후 누적 된 CPU의 클럭, 1초 동안 발생한 CPU의 클럭, 프로세스 힙의 핸들, 부팅한 이후 경과된 시간, 남은 디스크 공간정보, 현재 프로세스 환경 블록의 해시값, 시스템 파일 캐시 정보, 시스템 프로세스 전력정보, 시스템 프로세스 휴면 정보, 시스템 인터럽트 정보 등 GPU온도, 공유 메모리의 경쟁상태, 잡음원 생성기가 구현한 하드웨어 모듈 키보드, 디스크 이벤트, 인터럽트 등 현재 프로세스의 ID, 현재 프로세스의 자원 사용량, 시스템 사용 통계, 저장장치 IO 통계 현황, 사용된 프로세스 시간, 수행중인 모든 프로세스의 정보 등 잡음원 생성기가 구현된 하드웨어 모듈 키보드, 디스크, 인터럽트 현재 프로세스 ID, 그룹 ID, 네트워크 인터페이스와 IP정보, 메모리 사용량 정보, 수행 중인 모든 프로세스의 정보, 사용된 프로세스 시간 등 잡음원 생성기가 구현된 하드웨어 모듈 34) 운영체제별 잡음원 수집 빛 응용 지침, TTAK.KO-12.0235, 2013.12. TTA. - 61 -

금융부문 암호기술 활용 가이드 의사난수생성기에서 초기 씨드 값과 출력값의 엔트로피는 예측 불가능성과 사용되는 데이터의 양에 따라 결정되는 성질로서 예측이 쉬운 정보라 할지라도 많은 양의 데이터를 사용하여 엔트로피를 향상 시킬 수 있다. 의사난수 생성기의 난수 생성 방법 의사난수 생성기의 난수 생성 방법으로 무작위방법, 선형합동법, 일방향 해시함수를 사용하는 방법, 암호를 사용하는 방법, ANSI X9.17 등이 있다. 금융시스템에서는 ANSI X9.17과 FIPS186-2를 키 생성용 난수 발생기로 이용하며 160비트 이상의 보안강도를 가진다. 암호를 사용하는 방법 중 한국에서 시행되는 암호모듈 검증제도 (KCMVP 35) )에서 그 안전성이 승인된 표준 의사 난수 생성기의 현황은 다음과 같다. [표 22] 표준 의사 난수 생성기 현황 의사 난수 생성기 비 고 (해시함수 기반) HASH_DRBG ISO/IEC 18031 Information technology (HMAC 기반) HMAC_DRBG (블록암호 기반) CTR_DRBG Security techniques Random bit generation(2011), NIST SP 800-90 Recommendation for Random Number Generation using Deterministic Random Bit Generators 35) 암호모듈검증, 난수발생기 KCMVP : Korea Cryptographic Module Validation Program, http://service1.nis.go.kr/ - 62 -

제3장 금융부문 암호기술 활용 시 고려사항 순수난수 생성기 순수난수를 생성하기 위해서는 높은 제품 단가와 더불어 CPU, 메모리 같은 디바이스의 물리적 제약이 있는 것이 사실이다. 그래서 많은 분야에서 의사난수 생성기 이용해왔다. 하지만, 소프트웨어로 생성된 의사난수 생성기는 컴퓨터의 유한한 내부환경에서 언젠가는 수열이 반복되고 주기를 갖는 한계가 있다. 순수난수 생성 방법 중 가장 주목 받는 것은 물리적 현상을 관측하여 이 값을 비트로 변환하는 것으로 최근에는 양자역학적 현상을 이용해 순수난수를 만드는 방법들이 현실화되고 있다. 한편, 양자역학을 이용한 난수생성은 기존보다 저비용, 소형화를 기본 특성으로 동작 속도까지 높일 수 있는 차세대 신기술로 평가받는다. - 63 -

금융부문 암호기술 활용 가이드 제5절 암호키 관리 고려사항 암호에 이용된 키가 유출될 경우 암호문은 키를 통해 쉽게 복호화 되므로, 키를 보호하는 것은 암호화 될 정보를 보호하는 것과 같거나 그 이상의 가치를 지닌다. 따라서 키를 안전하게 관리하는 것이 매우 중요하다. 암호키의 종류는 특성과 사용처, 속성 등에 따라 다양하게 구분할 수 있지만, 모든 키가 생성부터 폐기까지 안전하게 관리되어야 하는 것은 동일하다. 본 절에서는 금융회사 서버에서의 키 관리 절차를 위주로 설명한다. 단계별 키 관리 절차는 그림 19와 같다. 키 생성 <그림 19> 키 관리 절차 키를 생성하기 이전에 보안을 위해 유효기간을 설정할 필요가 있다. 유효기간은 사용자 또는 관리자가 암호키를 사용할 수 있도록 허용된 기간과 사용기간이 완료된 이후라도 추후 복호화 과정에서 해당 암호 키를 사용하도록 허용된 기간으로 구분할 수 있다. NIST의 키 관리 권고안 36) 에서는 유효기간을 송신자와 수신자 각각 최대 2년, 최대 5년으로 설정하도록 제시하였다. 36) NIST SP 800-57 (Recommendation for Key Management-Part1 : General), Rev.3, 2012.7, http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf - 64 -

제3장 금융부문 암호기술 활용 시 고려사항 [표 23] 암호키 사용 유효기간(NIST권고안) 키 종류 송신자 사용기간 사용 유효기간 수신자 사용기간 대칭키 암호알고리즘 비밀키 최대 2년 최대 5년 37) 공개키 암호알고리즘 암호화 공개키 복호화 개인키 검증용 공개키 서명용 개인키 최대 2년 최대 2년 최소 3년 최대 3년 키를 생성하기 위해서는 암호학적으로 안전한 키를 생성해야하는데, 이는 예측이 불가능하고 위조할 수 없는 난수를 사용해야 되고 난수라도 재사용해서는 안 된다. 이는 하나의 키의 노출로 인해 그 키와 관련된 정보뿐만 아니라 노출된 키로부터 파생되었거나 관련되어 있는 다른 모든 키들에 대한 접근 권한도 임의의 사용자에게 제공될 수 있기 때문 이다. 키를 예측 불가하게 만들기 위해서는 난수와 비밀번호를 이용하는 방법이 있다. 난수를 이용한 키 생성은 하드웨어적 난수 생성기나 암호용 의사난수 생성기를 활용하고 비밀번호를 이용한 키 생성은 비밀번호를 해시함수에 입력해서 얻어진 해시 값을 키로 이용하거나 비밀번호에 솔트(Salt) 라 불리는 난수를 부가해서 해시함수에 입력 하는 방법 등을 쓸 수 있다. 한편, 암호용으로 설계되지 않은 의사난수 생성기의 경우는 예측 불가능 이라는 성질을 갖지 않기 때문에 이용하는 것을 피해야 한다. 37) 수신자의 경우 송신자가 전송한 암호화된 데이터를 수신 한 후 필요시에 복호화 할 수 있으므로 송신자보다 오랜 기간 동안 비밀키를 사용할 수 있음 - 65 -

금융부문 암호기술 활용 가이드 키 생성 후에는 키를 등록하고 인증서를 생성하는 절차가 추가적으로 있을 수 있다. 등록 시 생성된 키를 정당한 사용자와 관련시키는 것은 등록기관(RA)에 의해 이루어지고, 등록기관은 키와 관련된 정보를 안전하게 유지하는 역할을 해야 한다. 또한 키 등록 기관은 키 등록뿐만 아니라 키를 말소시키는 역할도 수행한다. 키 인증서는 보통의 경우 키 생성 후, 공개키와 객체의 연관성을 보장하는 확인서를 뜻하며, 인증기관(CA)은 사용자로부터 키 인증에 대한 요구를 받은 경우 키 인증서를 생성한다. 키 분배 키 분배는 인가된 객체 사이에 키 또는 키 생성 데이터가 안전하게 공유되는 것을 의미한다. 키 분배 방법으로는 키를 사전에 공유하는 방법과 공개키 암호로 키를 분배하는 특정 메커니즘을 사용하는 방법, 대칭키 암호로 키 분배센터(KDC : Key distribution center)를 이용하는 방법이 있다. 키 분배센터란 모든 사용자가 완전히 신뢰하는 서버로서 각 사용자와 비밀키를 공유하고 있는 제3자의 입장에서 분배하고자 하는 키를 만들어 각 사용자의 비밀키로 암호화하여 분배해주는 역할을 한다. 분배 후에는 저장 등에 대한 단계를 진행하게 되며, 저장 시에는 키를 사용하거나 복구를 위한 백업을 위해 물리적으로 안전한 장치에 저장되는 것이 바람직하다. 키 재료에 대해 기밀성, 무결성을 제공해야 한다. - 66 -

제3장 금융부문 암호기술 활용 시 고려사항 키 저장 암호키를 저장하는 방법 중 쉬운 방법은 파일에 암호키를 저장하는 것으로 이러한 방법은 암호문에 대한 접근권한이 있다면, 임의로 데이터를 복호화 할 수 있다. 또한 해당 파일과 함께 유출된 경우, 데이터를 해독 할 수 있기 때문에 내외부 위협에 노출될 가능성이 있다. 따라서 키를 반복해서 사용하는 경우에 반드시 키를 암호문과 동일한 장소에 보관하지 않고 분리된 공간이나 금융회사 HSM 등의 안전한 장소에 보관 또는 키암호화키로 암호화하여 보관하여야 한다. 한편 하나의 키로 여러 개의 키를 암호화 하여 관리, 저장하는 경우는 안전한 장소에서 별도로 관리해야할 키의 개수를 줄일 수 있어서 집중도 높은 관리를 할 수 있는 장점이 있으나 키암호화키의 유출로 인한 피해의 상충관계를 감안해야한다. 키 사용 키 사용에서는 암호키에 대해 비인가접근을 방지하기위해 암호키 분리정책과 암호키에 대한 접근제어 정책을 수립하여야 한다. 키는 통신에 사용되는 키와 저장에 사용되는 키로 구분할 수 있으며 통신용 암호키 중 세션키는 원칙적으로 통신 1회에 한해 사용해야한다. 저장용 암호키는 정보를 처리하는 담당자와 보안 관리자의 권한을 분리해서 관리해야한다. 특히 정보 처리 담당자가 암호화된 데이터를 직접 조회하거나 이 데이터에 접근통제 권한을 가질 수 없도록 운영되어야 한다. - 67 -

금융부문 암호기술 활용 가이드 공유 메모리에 호출된 암호키를 평문으로 저장해서는 안 되며, 키 암호화키 같은 핵심보안 매개변수를 안전하게 관리하고 키암호화키는 공개키를 이용하여 암호화 하는 등 안전하게 사용할 수 있는 방안을 마련하여야 한다. 키 백업, 복구 암호키 및 비밀번호의 분실 또는 훼손과 키 관리자의 퇴사 등으로 암호키와 비밀번호를 알 수 없는 경우에 대비하여 암호키를 복구하기 위한 백업 및 복구 절차를 수립하여야 한다. 암호키는 백업 정책에 따라 주기적으로 백업되어야 하며, 백업된 키 정보는 암호화하여 저장해야 한다. 또한 키 백업에 사용한 비밀번호는 별도로 관리되어야 한다. 암호화된 데이터를 백업하는 경우 해당 데이터를 암호화 한 암복호 키도 백업해야 향후 백업된 암호화 데이터를 복호화하여 이용할 수 있다. 또한 암호키 분실 시 데이터 복호화가 불가능하므로 분실, 훼손, 파괴 등의 경우에 대비하여 키를 복구하기 위한 방안도 마련되어야 한다. 키 복구는 합법적 상황에서 암호문을 복호화 하거나, 사용자가 자신의 비밀키를 분실했을 경우 유사시에 허가된 사용자만이 복호화를 할 수 있는 기능을 제공하기 위해 수행된다. 키 교체(갱신) 암복호화 키는 키의 용도에 따라 법령 또는 내부 정책에 부합하는 기간마다 교체, 갱신하여 보안성을 유지하도록 해야 한다. 특히 통신의 경우 기밀성을 높이기 위해 정기적인 키 교환이 필요하다. - 68 -

제3장 금융부문 암호기술 활용 시 고려사항 갱신 시에는 원본 키로부터 파생키를 유도하는 방법이 있다. 이 방법을 쓸 경우, 유도된 키가 원본 키를 노출시키지 않도록 현재 키의 해시 값을 다음 키로 갱신하는 것이 일반적이다. 키 폐기 키 폐기는 더 이상 사용될 필요가 없는 키에 대한 안전한 폐기를 의미한다. 키를 폐기한다는 것은 키와 관련된 모든 기록을 제거하므로 폐기된 키를 다시 복구 시킬 수 없도록 하는 것을 의미한다. 또한 사용되는 키뿐만 아니라 보관된 모든 복사본 키에 대한 폐기도 포함한다. 보관된 키를 폐기할 때는 보관된 키에 의해 보호된 자료가 더 이상 필요 없는지의 여부를 사전에 판단하여야 한다. 암호키는 여러 가지 이유로 폐기 될 수 있다. 예를 들어, 암복호화 키 또는 마스터키를 분실하거나 키의 비밀성이 깨진 경우 등에 대비하여 키를 폐기하기 위한 절차 및 방법을 수립함으로써 허가된 관리자가 절차에 따라 폐기할 수 있도록 하여야 한다. 암호키를 폐기하게 되면 해당 키로 암호화 된 데이터는 더 이상 복호화 할 수 없으므로, 암호키 폐기 전 해당 키로 암호화된 데이터는 복호화 후 암호키를 폐기하여야 한다. 또한 제품 종료 후 메모리에 로드된 암호키와 핵심보안 매개변수는 모두 제거하여 유추할 수 없도록 해야 한다. - 69 -

금융부문 암호기술 활용 가이드 제6절 암호통신 프로토콜 설계 시 고려사항 금융권 암호통신 프로토콜에 대해서는 대표적인 공격으로 재전송 공격이나 반사 공격 등이 있다. 본 절에서는 대표적인 공격에 대해 시나리오를 살펴보고, 이에 대한 대응법과 프로토콜 설계 시 인지해야 할 고려사항을 알아보도록 한다. 재전송 공격(Replay Attack) - 공격시나리오1 : 매 거래 시 동일한 암호문이 사용되면 공격자는 암호문에 대응되는 평문을 알지 못해도 암호문을 재전송하여 거래를 성공시킬 수 있다. - 공격시나리오2 : 공격자가 사용자의 아이디, 비밀번호를 알지 못하더라도 전송되는 아이디. 비밀번호의 암호문을 수집한 후 수집 된 암호문을 재전송하여 사이트에 로그인할 수 있다. <그림 20> 재전송 공격 시나리오 - 70 -

제3장 금융부문 암호기술 활용 시 고려사항 재전송 공격에 대응하기 위해서는 같은 암호문이 생성되지 않도록 시간(Time-Stamp)정보, 임의의 값(Nonce), 상대방과 사전에 공유한 값 (Sequence)을 이용하여 평문과 함께 암호화하여 전송하는 방법을 이용 하거나, OTP를 이용하여 매 전송데이터가 유일성을 가진 데이터로 생 성되고 수신자 측에서는 정당한 값인지 검증 할 수 있는 시스템으로 구성하는 방법으로 대응할 수 있다. 반사 공격(Reflection Attack) 반사 공격은 동일한 세션키를 사용하는 대상이 통신할 때, 상대방을 간단히 인증하기 위해 전송되는 내용에 구체적이고 전송자 유일정보가 명시되어 있지 않는 상황에서 일어날 수 있다. <그림 21> 반사공격 시나리오 - 공격시나리오 : 고정키 암호 시스템의 경우 특정 메시지를 암복호화 하는 방법으로 상대방을 인증하기 때문에 공격자는 중간에서 세션키를 갖고 있지 않지만, 전송된 값을 탈취하여 동일키를 가진 상대인 것 처럼 속일 수 있다. - 71 -

금융부문 암호기술 활용 가이드 반사 공격은 동일한 키를 사용하는 환경의 경우 평문, 송수신자의 아이디, 전송 방향(예 : A B, B A)을 함께 명시하여 암호화하고, 복호화 후 송수신자의 아이디와 전송 방향이 올바른지 체크하는 과정을 삽입 하고 각 방향에 따라 키를 다르게 설정하여 대응할 수 있다. 세션 훔치기 공격(Session Hijacking) 이용자와 서버 간에 연결된 세션에서 서버는 자신에게 접속되어 있는 이용자를 구분하기 위해 일반적으로 세션 아이디를 발급한다. - 공격시나리오 : 공격자는 세션 아이디 38) 만 알면 해당 이용자의 로 그인 세션을 사용할 수 있어 이용자 인증 정보(예 : 아이디, 비밀번호)를 모르고도 서버에 접속해 여러 정보를 조회하거나 거래를 수행할 수 있다. <그림 22> 세션 훔치기 공격 시나리오 현재 알려진 세션 훔치기 공격을 대응하기 위해서는 세션 이용 거래 시 반드시 암호화 요청, 응답을 하고 최초 키 교환(Full Handshake)이 일어날 때 세션을 초기화하는 방법을 이용 할 수 있다. 38) 웹 환경에서는 서버가 발급하는 쿠키에 담김 - 72 -

제3장 금융부문 암호기술 활용 시 고려사항 중간자 공격(Man in the Middle Attack) 중간자 공격이란 통신 대상 사이에서 내용을 도청 및 변조하는 공격을 의미하며 이러한 공격을 수행하는 공격자를 능동형 공격자 (Active Attacker)라 정의한다. - 공격시나리오 : 중간자 공격자은 통신 대상이 정상적으로 암호화를 통해 정당한 이용자와 통신하고 있다고 생각하지만 실제로는 공격자와 통신하거나, 변조된 데이터를 정당한 이용자가 보낸 것으로 위조하는 것이다. <그림 23> 중간자 공격 시나리오 금융권에서는 중간자 공격에 대한 대응을 위해 암호기술 구현방법을 조합하여 대응하고 있다. 예를 들어 거래를 진행하는 기기 외에 별도의 서명 기기를 통한 본인확인으로 중간자의 개입이 더 어렵게 구성하는 방식이 있다. - 73 -

금융부문 암호기술 활용 가이드 동일 암호키 확인(Key Confirmation) 동일 암호키를 확인하는 것은, 암호키 교환 과정에서 양 상대방이 공격자의 방해 없이 동일한 키를 가졌는지 여부를 확인하는 것으로 암호 통신 시에는 서로 동일한 암호키를 공유했는지 확인이 이루어진 후에야 통신을 수행해야한다. <그림 24> 동일 암호키 확인 - 공격시나리오 : 동일 키 공유 여부를 확인하지 않을 경우 공격자가 의도한 키로 공유될 가능성이 존재하고 이 경우 공격자가 암호화 된 메시지를 복호화해 볼 수 있게 된다. 암호프로토콜에서는 상대의 신원검증을 위해 인증서 등의 수단을 이용하여 이용자 확인과 동시에 동일 암호키 여부를 반드시 확인해야 한다. - 74 -

제3장 금융부문 암호기술 활용 시 고려사항 전방향 안전성(Forward Secrecy) 전방향 안전성은 세션키가 유출되더라도 이전 세션에서 전송된 암호문으로 부터 평문에 대한 정보를 알 수 없어야 함을 의미한다. - 공격시나리오 : 내부자에 의해 개인키가 유출되거나 관리상의 문제로 개인키를 도난당한다면 도청만으로 세션키가 유출될 수 있다. <그림 25> 전방향 안전성 일부 금융회사에서는 개인키 유출 방지를 위해 HSM(Hardware Security Module) 장비를 도입하는 등 위협에 대비하고 있지만 백업용으로 개인키를 파일로 관리하거나 개인키에 대한 접근용이 등 관리상 문제가 발생하고 있다. 따라서 데이터 암호를 위해서 이용되는 키는 세션별로 상이해야하며, 현재 세션키를 통해 이전의 세션키가 유추되지 않도록 해야 한다. - 75 -

금융부문 암호기술 활용 가이드 개체 간 상호 인증(Entity Authentication) 암호 통신에서 개체 간 상호 인증을 통해 신원이 확인된 상대방과 기밀 데이터를 교환함으로 보안성을 향상시킬 수 있다. 금융거래에서 상호 인증은 이용자와 서버 간에 인증을 의미하며 키 교환 단계에서 상대방에 대한 인증은 반드시 함께 이루어져야 한다. - 공격시나리오 : 이용자가 인증서를 보낼 때 이를 가로채고 공격자의 유효한 인증서로 금융회사 서버에 접근할 경우 금융회사 측에서 상대의 인증서 유효성 및 신원을 확인하지 않고 인증서의 유효성만을 확인하게 되면 공격자는 이용자를 사칭할 수 있다. 반대로 공격자가 서버를 사칭해서 이용자의 정보를 수집할 수 있다. <그림 26> 개체간 상호 인증 서버 인증을 위해 인증서에 대한 유효성 검사만 하는 경우 유효한 공격자의 인증서도 서버 인증에 성공할 수 있으므로 이용자는 접속한 서버의 인증서가 맞는지 반드시 확인해야 한다. 서버에 대한 인증은 서버 인증서로하고 이용자에 대한 인증은 이용자 인증서 또는 아이디, 비밀번호 등으로 수행한다. - 76 -

제3장 금융부문 암호기술 활용 시 고려사항 제7절 암호알고리즘 구현 시 고려사항 IC카드, OTP, 스마트폰 등 소형장치에 탑재되는 암호알고리즘은 제한된 하드웨어 성능과 메모리 용량 등 제약된 환경에서 구동된다. 따라서 동시에 수행할 수 있는 연산이 제한적이라는 특징이 있다. 이로 인해 소형장치에서는 일반 PC에 비해 암호알고리즘이 구동될 때 발생한 정보를 가지고 비밀정보를 유추하는 부채널 공격에 더 취약하다. 그림 27은 부채널 공격의 원리를 간단히 나타낸다. <그림 27> 부채널 공격 원리 부채널 공격은 암호모듈 개발자가 의도하지 않았지만, 연산을 수행 할 때 물리적으로 발생한 전력, 전자기파, 연산시간 등의 부채널 정보를 가지고 암호에 사용된 키를 찾아낸다. 금융권에서 많이 이용되는 IC카드, OTP 등의 소형장치는 IC칩 복제가 어렵다는 것에 모든 보안강도를 신뢰하기보다는 암호모듈의 경량화와 더불어 부채널 공격에 대응을 할 수 있는 하드웨어 또는 소프트웨어 구현 기법 적용에 대해 고려해야 한다. 2013년에는 금융보안연구원에서 - 77 -

금융부문 암호기술 활용 가이드 스마트폰을 대상 39) 으로 암호연산 수행시 발생한 전자기파를 이용하여 암호에 사용된 키를 유출하는 부채널 공격에 성공했다. 한편, 기본적으로 IC칩을 탑재한 스마트카드는 제조 시 칩의 보안성을 시험, 인증하는 CC 등의 인증을 받고 있으며 스마트카드가 금융 거래용으로 이용될 경우에는 금융거래용 IC카드의 보안성을 시험, 인증하는 EMV 인증 등의 인증을 받은 제품이 배포되고 있다. 하지만 기본 탑재 암호모듈이 아닌 자체 개발 응용프로그램이나 국제 시험인증에서 검토 대상이 아닌 암호알고리즘에 대해서는 물리적 취약성을 별도 검토해야할 필요가 있다. 결국 금융권에서 인증된 스마트카드를 활용할 때에는 제품의 보안레벨 인증여부 뿐만 아니라 서비스에 이용되는 알고리즘과 그 알고리즘이 보안 레벨 테스트 할 때 테스트 범위에 포함되었는지 확인할 필요가 있다. 또한 스마트카드가 금융권에서 사용되기까지 많은 관련 규격과 보안요구 사항이 있으므로 관련 기준을 준수하는 제품을 선택해야 한다. 금융 서비스 관련 규격은 부록 1에서 다룬다. 39) 암호연산을 수행한 앱은 공격대상 알고리즘의 입출력에 이상이 없도록 개발된 테스트용 RSA 앱을 이용함 - 78 -

[부 록]

[부록1] 금융권 암호기술 적용 시 준수 규격 [부록1] 금융권 암호기술 적용 시 준수규격 1. 권역별 IC카드 관련 준수 규격 <그림 28> IC카드의 이용에 따른 보안성 시험 범위 및 참고 규격 USIM이나 신용카드 등의 일반적인 IC카드는 제조 시 IC칩과 카드의 운영체제(COS)와 인터페이스에 대해 CC등의 보안성 심사를 받고 이용될 응용프로그램인 애플릿을 탑재하여 관련 분야에 이용된다. 그림 28은 IC 카드의 이용에 따른 보안성 시험 범위와 금융관련 관련 규격에 대한 영역(붉은 글씨로 표시)을 나타낸다. - 81 -

금융부문 암호기술 활용 가이드 은행권 IC카드관련 부분 - (국내) 현금 IC카드 : 금융IC표준 은행간 CD, ATM 등 자동화기기 공동사용을 위해 금융감독원, 금융결제원 및 은행이 공동 개발 [표 24] 금융IC카드 표준 구분 폐쇄형 개방형 구 성 접촉식 IC카드의 물리적 및 전기적 특성, 비접촉식 IC카드의 물리적 및 전기적 특성, 파일 구조 및 명령어, 보안관리, 전자화폐 일반사항, 전자화폐, 금융공동망, 직불공동망, 공인인증서(서명용), 공인인증서(키 분배용) 카드권 IC카드관련 부분 - (국내외) 신용 카드 : EMV 국제적 호환을 위해 Europay, Master, VISA가 공동으로 사용하는 국제표준, 가장 기본이 되는 규격이며 결제시스템에 대한 IC카드관련 규격을 총 4권의 책으로 정의 [표 25] EMV 규격 구 분 Book1 Book2 Book3 Book4 내 용 IC카드 및 단말기 인터페이스 요구사항 보안 및 키 관리 응용프로그램 규격 카드소유자, 보조원, 매입기관 인터페이스 요구사항 - 82 -

[부록1] 금융권 암호기술 적용 시 준수 규격 - (국외) 신용카드 및 단말기 결제환경 : PCI-DSS(Payment Card Industry-Data Security Standard) 카드정보 해킹, 도난, 분실 사고로부터 고객의 신용카드 정보를 보호하기 위하여 국제 브랜드사가 공동으로 마련하여 운영하는 카드산업 보안 표준 [표 26] PCI 보안표준 종류 구 분 내 용 보안대상 적용대상 PCI DSS PCI 데이터 보안표준 안전한 환경 가맹점, 서비스 제공자 PCI PTS PIN 거래 보안 요구사항 PIN 입력장치 제조사 PA-DSS 결제 응용프로그램 결제 응용프로그램 소프트웨어 데이터 보안표준 개발사 P2PE PCI 단대단 암호 표준 거래구간 전체 - (국내 전용) 신용 카드 : KLSC(Korea Local Smart Card) 40) 여신 금융협회에서 2009년 개발한 국내전용 IC칩 신용카드 표준규격 총 4종(발급, 카드, 카드승인매입, 단말기규격), 여신금융협회에서 국내 전용 신용카드에 대한 인증업무를 담당 - (국내 전용) 카드사 가맹점 단말기 : POS/CAT 단말기 보안표준, 여신금융협회에서 2014년 제정한 보안표준으로서 시험 및 단말기 인증규격 40) 국내 환경에 적용하기 위한 기반환경이 마련되지 않아 상용화 되지 못하였고, 국내 신용카드사들은 변화된 기술 및 서비스 환경(쿠폰, 멤버십, 스탬프, 포인트 등 로열티 서비스 환경)에 사용 가능한 로컬 IC 신용카드 규격 개발이 요구됨 - 83 -

금융부문 암호기술 활용 가이드 [표 27] 카드사 가맹점 단말기 보안표준 구 분 POS 단말기 보안표준 POS 단말기 보안기능 시험요구사항 CAT 단말기 보안표준 CAT 단말기 보안기능 시험요구사항 내 용 신용카드 가맹점에서 거래승인을 위해 사용되는 결제용 POS 단말기 제품의 운영환경 및 필수 보안요구사항 정의 POS 단말기 보안규격의 세부 요구사항, 시험요구사항 권고사항 등 정의 신용카드 가맹점에서 거래승인을 위해 사용되는 결제용 CAT 단말기 제품의 운영환경 및 필수 보안요구사항 정의 CAT 단말기 보안규격의 세부 요구사항, 시험요구사항 권고사항 등 정의 - 84 -

[부록1] 금융권 암호기술 적용 시 준수 규격 2. 대표적인 알고리즘의 보안강도 및 참조 규격 금융권을 포함하여 가장 많이 이용되는 블록암호알고리즘의 입출력 크기와 비밀키 크기, 보안강도, 알고리즘 내 함수의 구성 등 구현 시 참조 규격과 보안강도에 따른 권고사항은 표 28에 나타내었다. [표 28] 대표적인 대칭키 블록암호알고리즘 종류 입출력크기 (비트) 비밀키 크기(비트) 보안강도 (비트) 참조규격 권고 SEED 128 128 128 HIGHT 64 128 128 TTA 41) TTAS.KO-12.0004/R1 TTA TTAS.KO-12.0040/R1 O O ARIA 128 128 128 192 192 256 256 KATS 42) KS X.1213-1 O AES 128 128 128 192 192 256 256 NIST FIPS 197 O TDEA 64 112 (2TDEA) 168 (3TDEA) 80 112 ISO/IE 43) CISO/IEC 18033-3 X 41) TTA 자료검색(표준) 사이트 : http://www.tta.or.kr/data/ttassearch.jsp 42) KATS : 기술표준원, http://www.standard.go.kr 43) ISO/IEC : International Organization for Standardization/International Electrotechnical Commission, http;//www.iso.org - 85 -

금융부문 암호기술 활용 가이드 금융권을 포함하여 가장 많이 이용되는 해시함수 알고리즘의 해시값 길이와 보안강도, 알고리즘 내 함수의 구성 등 구현 시 참조 규격과 보안 강도에 따른 권고사항은 표 29에 나타내었다. [표 29] 대표적인 해시함수 알고리즘 종류 해시값 길이 (비트) 보안강도 (비트) 참조규격 권고 HAS-160 160 80 TTA TAS.KO.12.0011/R2 X SHA-1 160 80 미만 X 224 224 112 O SHA-2 256 256 128 NIST 44) O 384 384 192 FIPS 180-4 O 512 512 256 O 3. 알고리즘 구현 시 참조 결과값 국내 알고리즘의 구현 시 알고리즘 중간에 연산 결과값은 각 알고리즘 참조규격 부록에 단계별로 상세히 나와 있으며, 해외 알고리즘의 경우 NIST에서 지정한 알고리즘의 경우에는 구현 시 참조 중간값 및 결과 값을 별도 웹페이지 45) 를 통해 자체적으로 제공하고 있다. 해당 페이지에서 제공하는 알고리즘은 블록암호, 운영모드, 전자서명, 해시함수, 난수생성기 등 NIST 권고 알고리즘이며 각 알고리즘 내부 함수에 대한 입출력값까지 구현 시 참조할 수 있는 상세한 내용을 포함한다. 44) NIST : National Institute of Standards and Technology, http://csrc.nist.gov/publications/fips 45) http://csrc.nist.gov/groups/st/toolkit/examples.html - 86 -

[부록1] 금융권 암호기술 적용 시 준수 규격 본 절에서는 대표적인 암호알고리즘에 대해 키값과 입출력값을 기록하였다. 대칭키 암호알고리즘 SEED 128 참조 구현값1 키 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 평문 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 암호문 5E BA C6 E0 05 4E 16 68 19 AF F1 CC 6D 34 6C DB 참조 구현값2 키 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 평문 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 암호문 C1 1F 22 F2 01 40 50 50 84 48 35 97 E4 37 0F 43 참조 구현값3 키 47 06 48 08 51 E6 1B E8 5D 74 BF B3 FD 95 61 85 평문 83 A2 F8 A2 88 64 1F B9 A4 E9 A5 CC 2F 13 1C 7D 암호문 EE 54 D1 3E BC AE 70 6D 22 6B C3 14 2C D4 0D 4A 참조 구현값4 키 28 DB C3 BC 49 FF D8 7D CF A5 09 B1 1D 42 2B E7 평문 B4 1E 6B E2 EB A8 4A 14 8E 2E ED 84 59 3C 5E C7 암호문 9B 9B 7B FC D1 81 3C B9 5D 0B 36 18 F4 0F 51 22 단, 암호키, 평문, 암호문에서 왼쪽 끝이 MSB, 오른쪽 끝이 LSB임. 대칭키 암호알고리즘 AES (AES 128) 참조 구현값 키 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 평문 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 암호문 69 c4 e0 d8 6a 7b 04 30 d8 cd b7 80 70 b4 c5 5a (AES 192) 참조 구현값 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 키 14 15 16 17 평문 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 암호문 dd a9 7c a4 86 4c df e0 6e af 70 a0 ec 0d 71 91-87 -

금융부문 암호기술 활용 가이드 (AES 256) 참조 구현값 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 키 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 평문 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 암호문 8e a2 b7 ca 51 67 45 bf ea fc 49 90 4b 49 60 89 해시함수 : SHA-1, SHA-224 (SHA-1) 참조 구현값1 입력값 abc H0 = 67452301 H1 = EFCDAB89 초기 H2 = 98BADCFE 해시값 H3 = 10325476 H4 = C3D2E1F0 출력값 A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D (SHA-1) 참조 구현값2 입력값 abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq H0 = 67452301 H1 = EFCDAB89 초기 H2 = 98BADCFE 해시값 H3 = 10325476 H4 = C3D2E1F0 출력값 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 (SHA-224) 참조 구현값1 입력값 abc H[0] = C1059ED8 H[1] = 367CD507 H[2] = 3070DD17 H[3] = 초기 F70E5939 H[4] = FFC00B31 H[5] = 68581511 H[6] = 64F98FA7 해시값 H[7] = BEFA4FA4 23097D22 3405D822 8642A477 BDA255B3 2AADBCE4 BDA0B3F7 출력값 E36C9DA7 (SHA-224) 참조 구현값2 입력값 abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq - 88 -