제정일 : 2010 년 12 월 23 일 T T A S t a n d a r d 일회용패스워드 (OTP) 토큰보안 요구사항 (Security Requirements for the OTP Token)
제정일 : 2010 년 12 월 23 일 일회용패스워드 (OTP) 토큰보안요구사항 (Security Requirements for the OTP Token) 본문서에대한저작권은 TTA 에있으며, 이문서의전체또는일부에대하여상업적이익을목적으로하는무단복제및배포를금합니다. Copyrightc Telecommunications Technology Associations(2010). All Rights Reserved.
서 문 1. 표준의목적 - 본표준에서는국내금융권과기업, 인터넷포털사이트등에서사용중인 OTP(One Time Password) 의생성알고리즘, 인증방식, 하드웨어및소프트웨어측면에서 OTP 보안성등을검토하여, 일반적으로 OTP 토큰들이만족해야하는보안요구사항을제시한다. OTP를도입하고자하는금융회사와기관들은본표준을참고하여안전한 OTP 토큰을선정하고 OTP 인증서비스를제공하는데활용할수있다. 2. 주요내용요약 - 본표준에서는 OTP 생성알고리즘의보안요구사항과 OTP 토큰의보안요구사항에대해정의하고있다. OTP 생성알고리즘의보안요구사항은 OTP 키를생성하기위한알고리즘의보안요구사항과 OTP를생성하는알고리즘에대한최소한의보안요구사항을정의하고있다. OTP 토큰보안요구사항에서는하드웨어와모바일 OTP 토큰에대해각각의보안요구사항을정의하고있다. 하드웨어 OTP 토큰은 OTP를생성할수있는전용하드웨어를내장하고있는토큰으로토큰의일련번호의유일성보장, OTP 비밀키및부가정보의외부노출방지, OTP 비밀키의유일성보장, 선택적으로정당한사용자임을확인한후모듈구동기능, 물리적침해에대응하는기능등기본적인보안요구사항을정의하고있다. 모바일 OTP 토큰은휴대장치 ( 일반휴대폰 ) 에탑재된소프트웨어방식의토큰으로한정하여가상머신 (VM:Virtual Machine) 과범용가입자식별모듈 (USIM: universal subscriber identity module) 모바일 OTP의보안요구사항을정의하고있다. 모바일 OTP 토큰은소프트웨어방식의 OTP로기존하드웨어기반의 OTP 에비해모듈의안전성을위해추가적인요구사항을포함하고있다. 3. 표준적용산업분야및산업에미치는영향 - 사용자인증의필요성이확대되면서주요인증의수단중에하나로일회용패스워드 (OTP) 에대한중요성이대두되고있다. 특히금융권을중심으로 OTP를이용한금융거래가활발히이루어지고있으며, 게임등여러산업분야에서도 OTP의사용이확대되고있다. - 본표준은 OTP의안전성을확보하기위해알고리즘측면과 OTP 토큰측면에서최소한의보안요구사항을정의하고있다. - 본표준을통해 OTP를도입하고자하는산업분야에서는안전한 OTP 서비스의 i
도입과제공을위한기본가이드라인으로사용될것으로기대된다. 정보통신단체표준 ( 국문표준 ) 4. 참조표준 ( 권고 ) 4.1 국외표준 ( 권고 ) - 해당사항없음 4.2 국내표준 - TTA, TTAS.KO-12.0100, " 일회용패스워드 (OTP) 암호키관리보안요구사항 ", 2009.12. 5. 참조표준 ( 권고 ) 과의비교 5.1 참조표준 ( 권고 ) 과의관련성 - 해당사항없음 5.2 참조한표준 ( 권고 ) 과본표준의비교표 - 해당사항없음 6. 지적재산권관련사항 - 본표준의 ' 지적재산권확약서 제출현황은 TTA 웹사이트에서확인할수있다. 7. 적합인증관련사항 7.1 적합인증대상여부 - 해당사항없음 7.2 시험표준제정여부 ( 해당시험표준번호 ) - 해당사항없음 8. 표준의이력 판수제 개정일제 개정일내역 제 1 판 2010.12.23. 제정 ii
Preface 1. The Purpose of Standard In this specification, security requirements that generally OTP token should satisfy is proposed. These requirements examined OTP security in case of OTP generation algorithm, validation method and application to S/W and H/W that is used by financial company, corporation and Internet Portal sites. If financial company wants to apply OTP to their system, they can refer to this specification to generate safe OTP token and to offer safe OTP service to their customer. 2. The summary of contents Security requirement for OTP generation algorithm and OTP token is described in detail. Security requirement for OTP generation algorithm define OTP key generation algorithm and minimum guideline of OTP generation algorithm. OTP token security requirements include H/W and mobile OTP token requirements. H/W OTP token that is specific device to generate OTP supports that guarantee uniqueness of token serial number, prevent exposure to OTP key and information, guarantee uniqueness of OTP key, optionally after check valid user then the module operate and against physical violations. Mobile OTP token that is embedded-software type in portable device (ex. Mobile phone) follow security requirements for VM, USIM mobile. Mobile OTP token include additional requirements to support safe module than H/W OTP token. 3. The Applicable fields of industry and its effect Because the need to user validation is getting important, OTP, one of major validation method, is focused. Especially in financial company, OTP is used key factor for electronic trading and in online game business, OTP is about to apply so this specification can introduce guideline to variable industrial field which want to service OTP. 4. The Reference Standards (Recommendations) 4.1 International Standards (Recommendations) - None iii
4.2 Domestic Standards - TTA, TTAS.KO-12.0100, "Security Requirements for OTP key Management", 2009.12. 5. The Relationship to Reference Standards(Recommendations) 5.1 The relationship of Reference Standards - None 5.2 Differences between Reference Standard (recommendation) and this standard - None 6. The Statement of Intellectual Property Rights - None 7. The Statement of Conformance Testing and Certification - None 8. The History of Standard Edition Issued date Contents The 1st edition 2010.12.23 Established iv
목 차 1. 개요... 1 2. 표준의구성및범위... 1 3. 정의... 1 3.1. 용어정의... 1 4. OTP의기본개념... 3 4.1. OTP 생성메커니즘... 3 4.2. OTP 생성방식... 4 4.2.2. 동기화방식... 4 4.3 OTP 토큰의종류... 5 4.3.1. 하드웨어 OTP 토큰... 5 4.3.2. 모바일 OTP 토큰... 6 5. OTP 생성알고리즘보안요구사항... 6 6. OTP 토큰보안요구사항... 7 6.1. 하드웨어 OTP 토큰... 7 6.2. 모바일 OTP 토큰... 8 6.2.1. VM 기반모바일 OTP 토큰... 8 6.2.2. USIM 기반모바일 OTP 토큰... 10 부록I.... 13 OTP 생성알고리즘권고... 13 v
Contents 1. Introduction 1 2. Constitution and Scope 1 3. Terms and Definitions 1 4. Basic Concepts for OTP 3 5. Security Requirements for the OTP Generation Algorithm 5 6. Security Requirements for the OTP Token 8 vi
일회용패스워드 (OTP) 토큰보안요구사항 Security Requirements for the OTP Token 1. 개요 OTP(One-Time Password) 토큰은매번로그인을할때마다그세션에서사용가능한 1회용비밀번호를생성하는보안매체이다. OTP 토큰을사용한인증방식은기존의 ID/ 패스워드인증방식에서문제가되었던취약한패스워드의사용, 재사용공격, 키로거프로그램을이용한패스워드탈취공격등으로부터안전하기때문에금융권및인터넷포탈등에서활발히사용중이다. 그러나 OTP 토큰이안전하게일회용비밀번호를생성하기위해서는기본적인보안요구사항들을충분히고려해서제작되어야하며, OTP 토큰을도입하는기관및회사에서도그러한요구사항에맞춰안전하게제작된 OTP 토큰인지를검토해볼수있어야한다. 본표준에서는 OTP 토큰을제조하는회사, OTP를도입하고자하는기관에서참고할수있는 OTP 보안요구사항을 OTP 생성알고리즘관점및 OTP 토큰관점에서나누어제시한다. 2. 표준의구성및범위 본표준은국내금융권과기업, 인터넷포탈사이트등에서사용중인 OTP 의생성알고리즘, 인증방식, 하드웨어및소프트웨어측면에서 OTP 보안성을검토하여, 일반적으로 OTP 토큰들이만족해야하는보안요구사항을제시한다. OTP 를도입하고자하는금융회사와기관들은본표준을참고하여안전한 OTP 토큰을선정하고, OTP 인증서비스를제공하는데활용할수있다. 3. 정의 3.1. 용어정의 - 공개키암호알고리즘 (Public Key Cryptographic Algorithm) : 두개의연관된암호키 ( 공개키, 개인키 ) 를사용하는암호알고리즘으로암호시와복호시에서로다른연관된키를사용한다. - 구동모듈 : 모바일 OTP 소프트웨어의구성중 OTP 생성과직접적인관계가없는그래픽 1
사용자인터페이스 (GUI; Graphic User Interface), 인증모듈설치프로그램, 온라인설명서등의모바일 OTP 구동소프트웨어를의미한다. - 대칭키알고리즘 (Symmetric Algorithm) : 암호화에사용되는키와복호화에사용되는키가동일한암호알고리즘을말한다. - 모바일 OTP(Mobile OTP) : 모바일 OTP는전용장치를사용하지않고, 이동성이보장되는휴대용기기에탑재된 OTP를의미하나, 본문서에서는제한적으로전화통신망을이용할수있는휴대장치 ( 일반휴대폰 ) 에탑재된소프트웨어방식의 OTP로의미를한정한다. - 스마트폰 (Smart Phone) : 휴대폰에컴퓨터지원기능을추가한지능형휴대폰으로수기방식의입력장치와터치스크린등보다사용에편리한인터페이스를갖춘다. 무선인터넷기능의지원으로인터넷및컴퓨터에접속되어이메일, 웹브라우징, 팩스, 뱅킹, 게임등단말기로서의기능도수행한다. 다양한기능의수용을위하여표준화된또는전용운영체제 (OS) 를갖추기도한다. - 인증모듈 : 모바일 OTP 소프트웨어의구성중 OTP가관리하는비밀키, 부가정보, PIN 정보등의비밀정보에직접접근하여 OTP를생성하는모듈로서 USIM (Universal Subscriber Identity Module) 에서구동되는애플릿 (JavaCard Applet) 또는 VM(Virtual Machine) 소프트웨어중구동모듈을제외한나머지를의미한다. - 일반휴대폰 (Feature Phone) : 본표준에서는 휴대폰 약어와병행하여사용하며, 전화통신망을사용하는휴대용통신기기를의미한다. 폐쇄형구조의운영체제에서이동통신사가제공하는제한된기능의어플리케이션만사용이가능하다. - 해시알고리즘 (Hash/Digest Algorithm) : 출력값으로부터입력값을유추하는것이계산적으로불가능한일방향성의알고리즘을말한다. - MAC (Message Authentication Code) 알고리즘 : 메시지내용의위변조를판단하기위해서메시지인증코드를생성하는암호학적인알고리즘을말한다. - OTP 부가정보 (Input Parameter) : 본표준에서는 부가정보 약어로사용하며, OTP 생성주기및버튼누름누적횟수 (Event) 등의값으로비밀키와같이암호알고리즘에입력되어 OTP값을생성하는중요정보이다. - OTP 비밀정보 (Secret Information) : 본표준에서는 비밀정보 약어로사용하며, OTP 와관련한비밀키, 부가정보, PIN(Personal Identification Number) 등의기밀성이유지되어야할정보를의미한다. - OTP 비밀키 (Secret Key) : 본표준에서는 비밀키 약어로사용하며, 모든 OTP에유일하게지정된비밀 2
값으로암호알고리즘의비밀키로사용된다. - OTP 일련번호 (Serial Number) : 본표준에서는 일련번호 약어로사용하며, 모든 OTP에중복되지않게지정되어해당 OTP를유일하게식별하는정보이다. - OTP(One Time Password) : 일회용패스워드로매번다른비밀번호로사용자를인증하는일회용비밀번호를의미한다. - OTP(One-Time Password) 토큰 : 로그인할때마다그세션에서만사용할수있는 1회성패스워드를생성하는매체를의미한다. - Tamper Detection : 기기내암호모듈의물리적보안성을손상시키려했을때자동으로발견할수있는메커니즘이다. - Tamper Evidence : 기기내암호모듈의물리적보안성을변조및훼손하려는외부적인증거를의미한다. - Tamper Proof : tamper evidence, temper detection, tamper response 등을이용해서부정조작이불가능한방식을정의한다. - Tamper Response : 변조및훼손이감지되면민감한정보들을삭제하거나메모리를자동적으로파괴하는기능이다. 4. OTP 의기본개념 4.1. OTP 생성메커니즘 OTP(One Time Password) 는일회용패스워드로매번다른비밀번호로사용자를인증하는일회용비밀번호를의미하며, 현재사용하는비밀번호로다음번에사용할비밀번호를유추하는것이수학적으로불가능하다. OTP는 ( 그림 4-1) 과같은생성단계를거쳐생성된다. ( 그림 4-1)OTP 생성단계 3
(1) 입력값은 OTP 생성알고리즘의입력데이터로서버와 OTP 토큰간에공유된 OTP 비밀키와부가정보로구성된다. 부가정보는 OTP 생성시사용되는부가정보종류에따라아래와같이구분된다.. - 질의 / 응답방식 : 질의값 - 시간동기화방식 : 시각값 - 이벤트동기화방식 : 카운터 ( 이벤트의횟수 ) - 조합방식 : 시각값, 카운터 ( 이벤트의횟수 ) (2) OTP 생성알고리즘은입력값으로부터 OTP값을생성해내는알고리즘으로, 일방향해시함수 ( 출력으로부터입력을유추할수없는함수 ) 또는대칭키알고리즘 ( 현재블록암호알고리즘이사용됨 ) 에기반한다. (3) OTP 추출함수는 OTP 생성알고리즘을통해출력된값으로부터실제 OTP로사용할 OTP값 6~8자리숫자를뽑아내는함수를의미한다. 4.2. OTP 생성방식 OTP생성방식은 OTP 토큰과인증서버간의동기화여부에따라비동기화방식과동기화방식으로나뉘며, 비동기화방식으로는질의-응답방식이있고, 동기화방식으로는시각동기화, 이벤트동기화, 조합방식이있다. 4.2.1. 비동기화방식비동기화방식의 OTP는 OTP 토큰과인증서버간에미리설정되어있는동기화기준정보가없어서, 인증요청시사용자가직접임의의난수값을 OTP 토큰에입력하여 OTP를생성하는방식을말한다. 비동기화방식의대표적인예가질의-응답 (Challenge- Response) 방식이다. 질의-응답방식은사용자가 OTP 인증요청시인증서버로부터받은질의값을직접 OTP 토큰에입력하여응답값 ( 난수형태 ) 을생성하는방식으로, 사용자가로그인화면에생성된 OTP를입력한다. 질의-응답방식은 OTP 토큰과인증서버간에동기화해야할기준정보가없기때문에, 동기화할필요가없으며, 사용자와서버간에상호인증을제공하는방식으로쉽게확장이가능하다. 그러나, 사용자가직접질의값을 OTP 토큰에입력하고, 생성된응답값을로그인화면에입력해야한다는불편이있으며, 인증서버도해당사용자의질의값을관리해야하는부담이있다. 또한일반적인패스워드인증어플리케이션과호환이쉽지않다. 4.2.2. 동기화방식 동기화방식의 OTP는 OTP 토큰과인증서버간에미리공유된비밀정보와동기화정보에의해 OTP가생성되는방식이다. 비동기화방식에비해, OTP 토큰과인증서버간에반드시동기화가이뤄져야올바른인증처리가된다는제약이있으나, 사용자입력불편, 기존 ID/ 패스워드애플리케이션과의호환어려움등비동기화방식의한계점을개 4
선하였다. 정보통신단체표준 ( 국문표준 ) 동기화방식은동기화정보에따라시각동기화, 이벤트동기화, 조합방식으로나눌수있다. 이때 OTP 입력값으로시각동기화방식은현재시각과공유된비밀키값을받고, 이벤트동기화방식은이벤트카운터값과공유된비밀키값을받으며, 조합방식은시각값, 이벤트카운트값, 공유된비밀키값을받는다. 시각동기화방식 시각동기화방식은서버와 OTP 토큰간에동기화된시각정보를기준으로특정시간 ( 보통 1분 ) 마다변하는비밀번호를생성하는방식이다. 이방식은사용자의인증요청과상관없이특정시간간격마다 OTP가매번바뀌므로, 공격자가해킹에사용할수있는 OTP를얻어내기어렵다. 이벤트동기화방식 이벤트동기화방식은서버와 OTP 토큰이동일한카운트값을기준으로비밀번호를생성하는방식이다. 동기화기준값으로사용되는카운트값은현재시각정보와달리, OTP 토큰과인증서버만알수있는값이기때문에, OTP 입력값으로비밀키이외에또하나의비밀정보가입력되는형태라볼수있다. 이방식은 OTP 값을얻은후, 다시 OTP 생성요청을할때까지비밀번호가바뀌지않기때문에, 사용자가입력하는데편리한측면은있으나, 실수로여러번 OTP 값을생성시키고나면, 서버와 OTP 토큰간에카운트값이동기화되지않아이를보정해야한다. 조합방식 시각동기화방식과이벤트동기화방식의장점을조합하여구성한방식으로, 시각동기화중심의조합방식과이벤트동기화중심의조합방식으로구분된다. 시각동기화중심의조합방식은특정시간간격 ( 보통 24초 ~32초 ) 마다비밀번호가다시생성되며, 같은시간간격내에서재시도시에는카운트값을증가시켜서비밀번호가바뀌도록하는방식이다. 따라서 1분동안은생성된 OTP 값이바뀌지않는시간동기화방식에비해 1 분이내에도여러번다른비밀번호를생성하여활용할수있다. 이벤트동기화중심의조합방식은특정시간에발생한카운터값을기준으로비밀번호가생성되며, 사용자가이벤트버튼을눌러생성요청을할때마다값이바뀐다. 4.3 OTP 토큰의종류 4.3.1. 하드웨어 OTP 토큰 하드웨어 OTP 토큰은토큰형과카드형으로나눌수있다. 토큰형 OTP 토큰은생성할수있는연산기능, 암호알고리즘, 입값등을내장하고있는 OTP 생성전용하드웨어 5
매체이다. 카드형 OTP 토큰은 IC 카드내에 OTP 생성모듈이내장되어있으며디스플레이창과 OTP 생성버튼이부착되어있어휴대하기간편한특성을가진다. 4.3.2. 모바일 OTP 토큰 모바일 OTP 토큰은전용장치를사용하지않고, OTP 생성알고리즘이소프트웨어모듈로이동성이보장되는휴대용기기에탑재된형태를의미한다. 모바일 OTP는별도의 OTP 토큰을구매하여휴대할필요가없는장점을가지지만휴대폰복제를통한 OTP 비밀키유출가능성 S/W의역공학을통한해킹, 키관리부분에있어서취약성이있기때문에구현단계에서부터철저히안전성을검증해야한다. 특히스마트폰의경우, 모바일 OTP가범용운영체제에서동작하므로 PC 및노트북에서동작하는 S/W 방식 OTP와유사한수준의높은보안위협을가지게되기때문에, 이용환경에대한요구사항이매우복잡하며높은보안성을유지하기위한개인방화벽, 키보드보안제품, 악성코드탐지프로그램등을설치하기위한추가적인비용이소요되는문제점이있다. VM 기반의모바일 OTP 토큰 VM 기반의모바일 OTP 토큰이란모바일 OTP 인증모듈이 VM 방식프로그램으로일반휴대폰에탑재되어있는형태로, OTP 비밀키및 OTP 인증모듈, OTP 생성관련모든정보들이휴대폰메모리에저장되어있다. USIM 기반의모바일 OTP 토큰 USIM 기반의모바일 OTP 토큰이란모바일 OTP 인증모듈및 OTP 비밀키, OTP 생성관련모든정보들이 USIM 칩에저장되어있는형태로, USIM 칩이탑재되어있는일반휴대폰에서구현될수있다. 5. OTP 생성알고리즘보안요구사항 OTP 생성알고리즘은표준알고리즘을기본적으로사용하여야한다. OTP 생성알고리즘이만족해야하는보안요구사항은아래와같다. < 표 5-1> OTP 생성알고리즘보안요구사항 보안요구사항 1) 키생성알고리즘은표준알고리즘을사용한다. 세부사항 표준에서권고하거나표준에서요구하는테스트를통과한의사난수생성알고리즘을사용 ( 예측불가능성만족 ) 한다. 128bit 이상의엔트로피를갖는 seed 값을사용한다. 6
2) OTP 생성알고리즘은본규격 3.2.2 절에서권고하는표준알고리즘을사용한다. 3) OTP의길이는최소한 10진수 6 자리이상이어야한다. 정보통신단체표준 ( 국문표준 ) 대칭키암호알고리즘은보안강도 112bit 1) 이상의표준암호알고리즘사용한다. 일방향해시알고리즘은보안강도 112bit 이상의해시알고리즘사용한다. 일방향해시함수를사용하는것에비해상대적인안전성을제공하는해시기반메시지인증코드 (HMAC: Hash-based Message Authentication Code) 기법을사용할것을권고하며, 이때입력하는 OTP 비밀키는 160bit 이상을사용한다. 최소 10진수 6자리이상의 OTP 2) 를출력한다. 6. OTP 토큰보안요구사항 6.1. 하드웨어 OTP 토큰 OTP 를발생시키는전용하드웨어 OTP 토큰의보안요구사항은다음 < 표 2> 와같다. < 표 6-1> 하드웨어 OTP 보안요구사항 보안요구사항 1) 일련번호의유일성을보장해야한다. 세부사항 해당업체의전체 OTP에대해일련번호는유일함을확인해야한다. 2) OTP 비밀키및부가정보는 OTP 토큰외부로노출되지않도록보장해야한다. 3) OTP 비밀키는유일성을보장해야한다. OTP 비밀키는하드웨어 OTP 토큰내부에안전하게저장하여외부로추출되지않도록해야하며부채널공격에대응해야한다. 선택적으로 Tamper proof 기능을제공할수있어야한다. OTP 비밀키는토큰별로유일해야하며, OTP 비밀키를생성한이후, 업체에서는비밀키주입전에유일성테스트를수행하여중복이없음을확인해야한다. 1) 일회용비밀번호의자리수가커질수록전수조사공격에대한 OTP 인증시스템의안전성이높아짐 7
4) 선택적으로, 정당한사용자임을확인한후에 OTP를구동하는기능을사용할수있다. 5) OTP 토큰에가해지는물리적침해 ( 기기복제등 ) 에대응해야한다. 정보통신단체표준 ( 국문표준 ) 사용자가지정한 PIN을사용하여맞는경우에만구동한다. PIN 오류횟수가초과된경우에는 OTP 발급기관에서초기화한경우에만구동되도록한다. OTP 토큰에대한부채널공격에대응한다. OTP 토큰에대한 Tamper proof ( 변조 / 훼손방지 ) 기능을보장해야한다. 6.2. 모바일 OTP 토큰 6.2.1. VM 기반모바일 OTP 토큰일반휴대폰에서동작하는 VM 기반모바일 OTP 토큰에대한보안요구사항은 < 표 6-2> 와같다. < 표6-2> VM 기반모바일 OTP 보안요구사항 보안요구사항세부사항 해당업체의전체 OTP에대해일련번호는유일함을확인한다. ( 예, 서버에서일련번호를생성하고, 기존에생성된일련번호와확인하 1) 일련번호의유일성및무결성을는방식등 ) 보장해야한다. 일련번호의위 변조는검출될수있어야한다. 일련번호가위 변조되는경우 OTP의동작이불가능하도록한다. 해당업체의전체 OTP에대해비밀키는유일함을확인해야한다. ( 예, 서버에서기존에사용된비밀키와중복되는지확인하는방식등 ) 비밀키가위 변조되는경우 OTP의동작이불가능하도록해야한다. 비밀키는항상안전한암호알고리즘에의해 2) 비밀키의유일성, 무결성, 기밀암호화되어저장해야한다. 성을보장해야한다. 비밀키를사용한이후에는비밀키, 비밀키의암호키, 비밀번호등을즉시메모리에서삭제해야한다. 비밀키는인증모듈외부로추출되지않도록하며, 단지인증모듈을통해연산된결과만이추출되도록구현해야한다. 3) 부가정보의무결성및기밀성을 부가정보가위 변조되는경우 OTP의동작이 8
보장해야한다. 불가능하도록해야한다. 부가정보의위 변조를검출할수있어야한 다. 부가정보는항상안전한암호알고리즘에의 해암호화되어저장되어야한다. 부가정보를사용한이후에는부가정보, 암호 키, 비밀번호등을즉시메모리에서삭제해야 한다. 부가정보는인증모듈외부로추출되지않도 록하며, 단지인증모듈을통해연산된결과 만이추출되도록구현해야한다. PIN이위 변조되는경우 OTP의동작이불가능 하도록해야한다.(PIN을위조하여초기화하거 나, 잠김해제등이가능하지않도록구현 ) PIN은항상안전한암호알고리즘에의해암 호화또는 MAC 함수를적용한결과값형태로 4) PIN의무결성및기밀성을보장 저장해야한다. ( 해시함수만수행하는경우, 추 해야한다. 측공격에취약함 ) PIN을사용한이후에는 PIN 및암호키등을 즉시메모리에서삭제해야한다. PIN은인증모듈외부로추출되지않도록하 며, 단지 PIN이올바른경우에만인증모듈이 동작하도록구현해야한다. 유효기간을사용자가확인할수있도록해야 5) 유효기간의 무결성을 보장해야 한다. 한다. 유효기간이만료되는경우 OTP의동작이불가 능하도록해야한다. 6) 인증모듈및구동모듈에대한 형상관리정보 ( 버전및모듈에대 구동모듈의무결성정보가위 변조되는경우 한해시값등 ) 의무결성을보장해 OTP의구동이불가능하도록해야한다. 야한다. 7) 기타 OTP 토큰에서관리하는정 모바일 OTP 토큰에서관리하는기타정보에보 (OTP 발생기록시간등과같은위 변조가있는경우 OTP 토큰의동작이불가로그정보 ) 의무결성을보장해야능하도록해야한다. 한다. 8) 모바일 OTP 토큰해지의경우 모바일 OTP 토큰해지시삭제할수있는인터정보를삭제하는기능이있어야페이스등이제공되어야한다. 한다. 9) 정당한사용자임을확인한후에 사용자가지정한 PIN을사용하여맞는경우에 OTP 토큰을구동해야한다. 만구동해야한다. 9
10) 사용자의명시적이고물리적인행동에의해서만 OTP가생성되어야한다. 11) 시각또는이벤트정보가임의로변경되지않도록해야한다. 12) 구동모듈의안전한보호및형상관리가가능하도록해야한다. 13) 휴대폰에가해지는물리적침해에대응해야한다. 14) 휴대폰에가해지는전자적침해에대응해야한다. 정보통신단체표준 ( 국문표준 ) PIN 오류횟수가초과된경우에는 OTP 발급기관에서초기화한경우에만구동되도록해야한다. 사용자가충분히인지할수있도록화면출력, 벨소리, 키패드입력확인등을수행한이후애플릿을구동해야한다. 사용자가임의로시각또는이벤트정보를변경한경우 OTP 토큰의동작을불가능하도록해야한다. * 임의로시각및이벤트를변경하는경우, 미래시점의 OTP를미리확인할수있으므로보안사고의위험이증가함 * 2G 단말기에서만시각동기화 OTP 방식을사용할수있음 모바일 OTP 토큰구동모듈의형상관리기능을제공하여위 변조에대응하고, 보안업데이트시에안전하게업데이트를할수있어야한다. 물리적접근으로모바일 OTP 비밀정보의복제및바이너리 ( 예 : 비밀키위치, 내용, 크기등 ) 분석을방지하는것을권고한다. JTAG(Join Test Acces s Group) 분석, 부채널공격등에의해비밀정보가노출되지않도록대응하는것을권고한다. 비밀정보가악성코드또는 PC연결프로그램에의해전자적으로추출되지않도록보장해야한다. PC 및휴대폰에설치된악성코드에의해모바일 OTP 인증모듈및구동모듈과연동하여전자적으로 OTP를생성, 추출, 전송할수없도록보장해야한다. 6.2.2. USIM 기반모바일 OTP 토큰 USIM 기반의모바일 OTP 토큰에대한보안요구사항은 < 표 4> 과같다. < 표 6-3 > USIM 기반모바일 OTP 토큰보안요구사항 요구사항 세부사항 1) 일련번호의유일성및무결성을 해당업체의전체 OTP 토큰에대해일련번호 10
보장해야한다. 2) 비밀키의유일성, 무결성, 기밀성을보장해야한다. 3) 부가정보의무결성및기밀성을보장해야한다. 4) PIN의무결성및기밀성을보장해야한다. 5) 유효기간의무결성을보장해야한다. 6) 인증모듈및구동모듈에대한형상관리정보 ( 버전및모듈에대한해시값등 ) 의무결성을보장해야한다. 7) 기타 OTP 토큰에서관리하는정보 (OTP 발생기록시간등과같은로그정보 ) 의무결성을보장해야한다. 8) 모바일 OTP 토큰해지의경우정보를삭제하는기능이있어야한다. 9) 정당한사용자임을확인한후에 OTP 토큰을구동해야한다. 10) 사용자의명시적이고, 물리적인행동에의해서만 OTP가생성되어야한다. 정보통신단체표준 ( 국문표준 ) 는유일함을확인한다. ( 예, 서버에서일련번호를생성하고, 기존에생성된일련번호와확인하는방식등 ) 일련번호의위변조는검출될수있어야한다. 일련번호는 USIM내부에저장한다. 비밀키는 USIM에저장하여외부로추출되지않도록하며, 전용의애플릿을통해연산된결과만이 USIM외부로추출되도록구현한다. 부가정보는 USIM에저장하여외부로추출되지않도록하며, 전용의애플릿을통해연산된결과만이 USIM외부로추출되도록구현해야한다. PIN은 USIM에저장하여외부로추출되지않도록하며, 전용의애플릿을통해연산된결과만이 USIM외부로추출되도록구현해야한다. 유효기간을사용자가확인할수있도록해야한다. 유효기간은 USIM 내부에저장한다. 유효기간이만료되는경우 OTP의동작이불가능하도록해야한다. 애플릿의무결성정보를 USIM에서연산하여출력하고사용자가직접확인할수있도록해야한다. 구동모듈의무결성정보가위 변조되는경우 OTP의구동이불가능하도록해야한다. 모바일 OTP 토큰에서관리하는기타정보에위 변조가있는경우 OTP 토큰의동작이불가능하도록해야한다. 모바일 OTP 토큰해지시삭제할수있는인터페이스등이제공되어야한다. 사용자가지정한 PIN을사용하여맞는경우에만구동해야한다. PIN 오류횟수가초과된경우에는 ( 확인필요 ) 에서초기화한경우에만구동되도록해야한다. 사용자가충분히인지할수있도록화면출력, 벨소리, 키패드입력확인등을수행한이후애플릿을구동해야한다. 11
11) 시각또는이벤트정보가임의로변경되지않도록해야한다. 12) 구동모듈의안전한보호및형상관리가가능하도록해야한다. 정보통신단체표준 ( 국문표준 ) 사용자가임의로시각또는이벤트정보를변경한경우 OTP 토큰의동작을불가능하도록해야한다. * 임의로시각및이벤트를변경하는경우, 미래시점의 OTP를미리확인할수있으므로보안사고의위험이증가함 * 2G 단말기에서만시각동기화 OTP 방식을사용할수있음 모바일 OTP 구동모듈의형상관리기능을제공하여위 변조에대응하고, 보안업데이트시에안전하게업데이트를할수있어야한다. 13) USIM에가해지는물리적침해에대응해야한다. 14) USIM에가해지는전자적침해에대응해야한다. Tamper-proof 기능이제공되는 USIM을사용한다. USIM에대한부채널공격에대응해야한다. USIM 외부로애플릿 ( 인증모듈 ), 비밀키, 부가정보, PIN이전자적으로추출되지않도록보장해야한다. PC 및휴대폰에설치된악성코드에의해모바일 OTP 애플릿또는구동모듈과연동하여전자적으로 OTP를생성및추출할수없도록보장해야한다. 12
부록 I. OTP 생성알고리즘권고 I.1. 권고알고리즘 I.1.1 표준의사난수생성알고리즘 의사난수생성알고리즘을사용하여 OTP 비밀키및기타 OTP 생성알고리즘내부에서사용되는암호키또는암호벡터, 난수값등을생성할수있다. 본규격에서는 < 표 I-1> 와같이 [NIST FIPS186-2], [ANSI X9.17], [ANSI X9.31], [ANSI X9.62], [NIST SP800-90], [ISO/IEC JTC 1/SC 27 N4507], [TTAS.KO-12.0001/R1] 등의표준화된의사난수생성알고리즘을이용할것을권고한다. < 표 I-1> 표준의사난수생성알고리즘 분류 구현사례 참고표준 DSA_PRNG SHA-1 [NIST FIPS 186-2] Appendix 3.1, Appendix 3.2, ECDSA_PRNG SHA-1 [ANSI X9.62] Appendix A.4 해시알고리즘기반블록암호알고리즘기반 [TTAS.KO-12.0001/R1] KCDSA_PRNG HAS-160 부기 4 [NIST SP 800-90] Appendix Hash_DRBG SHA-1 F.1 [NIST SP 800-90] Appendix HMAC_DRBG SHA-256 F.2, [ISO/IEC JTC 1/SC 27 N4507] Appendix C.2.1 ANSI X9.31 triple DES [ANSI X9.31] Appendix A.2.4 ANSI X9.31 AES [ANSI X9.31] Appendix A.2.4 ANSI X9.17 PRNG triple DES [ANSI X9.17] Appendix C [NIST SP 800-90] Appendix CTR_DRBG triple DES F.3 [NIST SP 800-90] Appendix F.4, CTR_DRBG AES-128, 192, 256 [ISO/IEC JTC 1/SC 27 N4507] Appendix C.3.1 DSA_PRNG_ARIA [NIST FIPS 186-2] Appendix 3 13
의변경모델 [ 국정원암호검증기준 ] [NIST FIPS 186-2] Appendix 3 DSA_PRNG_SEED 의변경모델 [ 국정원암호검증기준 ] [ANSI X9.62] Appendix A의변 ECDSA_PRNG_ARIA 경모델 [ 국정원암호검증기준 ] [ANSI X9.62] Appendix A의변 ECDSA_PRNG_SEED 경모델 [ 국정원암호검증기준 ] Micali Schnorr_DRBG [ISO/IEC JTC 1/SC 27 N4507] 기타 (RSA 난수생성기변형 ) Appendix C.4.2 PRNG(Pseudo Random Number Generator): 의사난수생성기 DRBG(Deterministic Random Bit Generators): 결정적난수비트생성기, 의사난수생성기 I.1.2 OTP 생성알고리즘 OTP 생성알고리즘으로는일방향해시알고리즘또는대칭키암호알고리즘, 해시기반 MAC 알고리즘이사용된다. 본규격에서는 < 표 I-2> 과같이현재까지취약성이발견되지않은표준알고리즘을 OTP 생성알고리즘으로사용할것을권고한다. < 표 I-2> OTP 생성알고리즘 분류권고알고리즘참고표준 [ISO/IEC 10118-3], [FIPS 180-1], [ANSI SHA 224~512 일방향해시 X9.30.2-1997] 알고리즘 FORK 256 [TTAS.KO-12.0039] 3DES [ISO/IEC 18033-3], [ANSI X9.52-1998] 대칭키암호알고리즘 [ISO/IEC 18033-3], [IETF RFC 4269], SEED [TTAS.KO-12.0025] AES [ISO/IEC 18033-3], [FIPS PUB 197] ARIA [KS X 1213:2004] [TTAK.KO-12.0040/R1], [ISO/IEC HIGHT 18033-3], 14
해시기반 MAC 알고리즘 HMAC-SHA1 HMAC-HAS160 HMAC-SHA 224~512 HMAC-FORK 256 [FIPS PUB 198] 정보통신단체표준 ( 국문표준 ) 15
표준작성공헌자 표준번호 : 이표준의제 개정및발간을위해아래와같이여러분들이공헌하였습니다. 구분 성명 위원회및직위 연락처 소속사 과제제안 김근옥 PG501 위원 kko@fsa.or.kr 금융보안연구원 표준초안제출 김근옥 PG501 위원 kko@fsa.or.kr 금융보안연구원 강우진 PG501 위원 hanull@fsa.or.kr 금융보안연구원 김근옥 PG501 위원 kko@fsa.or.kr 금융보안연구원 표준초안검토및작성 표준안심의 심희원 PG501 위원 hwshim@fsa.or.kr 금융보안연구원 강필용 정보보호기반 02-405-5378 프로젝트그룹의장 (kangpy@kisa.or.kr) KISA 외정보보호기반위원 원유재 정보보호기술위원회 02-405-6410 의장 (yjwon@kisa.or.kr) KISA 서동일 정보보호기술위원회 042-860-3814 부의장 (bluesea@etri.re.kr) ETRI 이필중 정보보호기술위원회 054-279-2232 부의장 (pjl@pstech.ac.kr) 포항공대 외정보보호기술위원회위원 사무국담당 박정식 오흥룡 사무국 사무국 031-724-0080 (jspark@tta.or.kr) 031-724-0083 (hroh@tta.or.kr) TTA TTA
일회용패스워드 (OTP) 토큰보안요구사항 (Security Requirements for the OTP Token) 발행인 : 한국정보통신기술협회회장발행처 : 한국정보통신기술협회 463-824, 경기도성남시분당구서현동 267-2 Tel : 031-724-0114, Fax : 031-724-0119 발행일 : 2010.12.