情報保護學會誌第 17 卷第 3 號, 2007. 6 일회용패스워드를기반으로한인증시스템에대한고찰 김기영 * 요 약 공개된네트워크시스템상에서의개인정보를보호하기위해사용자인증은시스템보안에있어서중요한요소이다. 패스워드기반의인증메커니즘은비용과효율성의측면에서널리사용되고있으며최근이중요소인증 (Two-Factor Authentication) 의한수단으로일회용패스워드 (One-Time Password, OTP) 를도입하고있다. 본고에서는일회용패스워드에대한인증기술과 OTP 통합인증센터로구성되는 OTP 통합인증시스템에대해검토하며취약성에대해살펴보고이에대한대응방안으로서비스제공자의식별자를포함한일회용패스워드생성매체를이용하는사용자인증시스템을구성한다. 또한 USB 토큰형태의일회용패스워드매체를이용하여다수의서비스제공자의일회용패스워드를지원하는인증시스템을제안한다. Ⅰ. 서론인터넷의광범위한응용과더불어인터넷의보안에대한관심이높아지고있다. 특히전자금융거래의활성화로인해인터넷뱅킹서비스등의이용이증가하였으며이에따라개인정보유출로인한전자금융사고가발생하였다. 개인정보유출로인한전자금융사고의발생을줄일수있는방법중의하나로강력한사용자인증을수행하는것이다 [1]. 인증 (Authentication) 이란요구된실체의신원에대한보증기능으로현재패스워드를기반으로한인증메커니즘이가장많이사용되고있다. 그러나사용자만이알고있는패스워드이외에사용자가가지고있는매체나사용자의고유한생체정보를결합시켜사용자인증에적용할수있으며, 스마트카드와 PIN(Personal Identification Number) 패스워드의사용, 패스워드와공인인증서의사용등이이에해당한다 [1]. 두개또는여러개의인증수단을사용하는이중요소인증, 다중요소인증 (Multi-Factor Authentication) 을도입하여보안성을강화하고있으며전자금융거래에서는이중요소인증을도입하여사용자인증을강화하는추세이다. 최근보안카드나공인인증서이외의이중요소인증 요소의한수단으로일회용패스워드를도입하고있다. 일회용패스워드는매번다른패스워드를생성하여사용자인증을수행하는방식으로이미사용된패스워드는재사용하지않는다. 본고에서는일회용패스워드에대한관련기술에대해살펴보고 OTP 통합인증센터로구성되는일회용패스워드통합인증시스템구성에대해검토한다. 또한일회용패스워드통합인증시스템의취약성에대해논의하며이에대한대응방안으로서비스제공자를식별하여일회용패스워드를생성하는 OTP 생성매체의사용을제안하고자한다. Ⅱ. 일회용패스워드 2.1. OTP의특성일반적인패스워드는정적인인증수단으로네트워크도청으로인해패스워드를알아냈을경우불법적으로재사용할위험이있다. 그러나 OTP는이미사용된패스워드는재사용하지않으므로네트워크도청을통하여패스워드를알아냈다할지라도더이상사용할수없으므로이러한위험을방지할수있다. 따라서 OTP 는정적인패스워드사용에따른위험을해결하고개인 * 소프트포럼 ( 주 ) SW 연구개발실 (kiyoung@softforum.com)
情報保護學會誌 (2007. 6) 27 정보유출에따른사용자인증을강화하기위해도입되었다. OTP는동적인패스워드로사용하기위해서는별도의매체가요구된다. 이매체는 OTP를생성할수있는기능을가지는장치 (Device) 로 OTP 토큰 (Token) 이라고한다. OTP는 OTP 생성매체에의해필요한시점에발생되고매번다른번호를생성한다. OTP는사용자가가지고있는 OTP 생성매체와이에의해생성되는패스워드로사용자인증을수행하므로이중요소인증수단으로정적인패스워드와같은한가지인증요소만으로인증받는방식에비해높은보안수준을갖는다. 2.2. OTP의생성방식 OTP는 OTP 토큰과 OTP 인증서버의동기화여부에따라비동기화 (Asynchronous) 방식과동기화 (Synchronous) 방식으로분류한다. 2.2.1 비동기화방식비동기화방식은 OTP 토큰과 OTP 인증서버사이에동기화되는기준값이없으며사용자가직접임의의난수값을 OTP 토큰에입력함으로서 OTP 값이생성되는방식이다 [2]. 대표적인예로질의 -응답(Challenge- Response) 방식으로 OTP 도입초기에주로사용되었다. [ 그림 1] 과같이사용자는 OTP 인증서버로부터받은질의값 (Challenge) 를직접 OTP 토큰에입력하고, 이때생성된 OTP 값을응답값 (Response) 로전송한다. 이방식은사용자가 OTP인증서버로부터받은질의값을직접입력하여 OTP를생성하므로보안사고발생시책임소재를명백히가릴수있으며서로질의값과응답값을주고받으므로상호인증이가능하다 [1]. 그러나사용자가매번질의값을입력하므로이용하기불편하며질의값이중복되거나동일한값이자주나온다면취약성을가질수있다. 이를방지하기위해 OTP 인증서버에서질의값을별도로관리한다면인증서버의부 담이증가된다. 또한동기화방식에비해네트워크부하가증가될수있으며아이디와패스워드를기반으로한기존의어플리케이션과의호환이용이하지못하다. 2.2.2 동기화방식동기화방식은 OTP 토큰과 OTP 인증서버사이에동기화되는기준값에따라 OTP 값이생성되는방식이다. 동기화의기준값에따라시간동기화 (Time-Synchronous) 방식과이벤트동기화 (Event-Synchronous) 방식, 시간-이벤트조합 (Time-Event-Synchronous) 방식으로구분된다. 시간동기화방식은 OTP 토큰이매분마다패스워드를자동으로생성하는형태로시간을기준값으로하여 OTP 토큰과 OTP 인증서버가동기화되어있다. 따라서사용자는별도의질의값을입력할필요가없으며사용이간편하다. 그러나 OTP 토큰과 OTP 인증서버간에시간이동기화되어있어야하므로사용자가일정시간동안 OTP를전송하지못하는경우에는다시새로운 OTP 값이생성될때까지기다린후입력해야한다. 이벤트동기화방식은 OTP 토큰과 OTP 인증서버의동기화된인증횟수 (Counter) 를기준으로사용자가인증을요청할때마다 OTP 값이생성된다. 이는 OTP 토큰가인증서버간에시간이맞지않을경우수동으로시간을맞춰야하는시간동기화방식의단점을보안하기위해도입되었다 [1]. 시간이벤트동기화방식은시간동기화방식과이벤트동기화방식을결합한형태로 OTP 토큰과 OTP 인증서버간에동기화된사간값과동일한인증횟수를기준으로 OTP 값이자동으로생성된다. [ 그림 2] 와같은동기화방식은 OTP 인증서버가질의값을별도로관리할필요가없으며사용자는질의값을 OTP 토큰에직접입력하여응답값을받을필요가없다. 또한비동기화방식에비해네트워크부하가상대적으로감소되며아이디와패스워드를기반으로한기존의어플리케이션과의호환성이높다. 그러나 OTP [ 그림 1] OTP 의질의 - 응답방식 [ 그림 2] OTP 의동기화방식
28 일회용패스워드를기반으로한인증시스템에대한고찰 토큰과인증서버간에기준값이동기화되어있어야한다. 2.3. OTP의생성매체 OTP 생성매체는전용하드웨어 OTP 토큰과 OTP 생성기능을소프트웨어로탑재한모바일 OTP, 카드형 OTP 등이있다 [2]. 전용하드웨어 OTP 토큰은 OTP 자체를생성할수있는연산기능, 암호알고리즘등이내장되어별도의하드웨어매체로 [ 그림 3] 과같이포켓용계산기모양, 호출기모양, USB 등이있다. OTP 생성기능만을지닌전용토큰이므로추가장비필요없이사용이가능하며시스템적용에용이하여많이사용되고있다. 그러나사용자가별도로토큰을구입해야하므로구입비용에대한부담과휴대에대한불편함이있다. 모바일 OTP는 [ 그림 4] 와같이 OTP 생성알고리즘이소프트웨어모듈로휴대폰에탑재되어있는형태이다. 따라서별도의 OTP 토큰을휴대할필요가없으며전용토큰구입비용을절감할수있다. 그러나이를사용할수있는서비스가한정되어있으며 OTP 생성기능이지원되는전용단말기를구입해야한다. 디스플레이형 OTP 생성카드는카드리더기가필요없는 IC 카드형 OTP 토큰으로 IC 카드내에는 OTP 생성모듈이내장되어있다. [ 그림 4] 와같이 IC 카드앞면에는디스플레이창이있고카드뒷면에는 OTP 생성버튼이부착되어있다. 이는전자금융거래등의다양한서비스에서이용이가능하며별도의 OTP 토큰을구입할필요없이 IC카드를활용할수있다. 또한리더기가 [ 그림 3] 전용 OTP 토큰 [2] [ 그림 4] 모바일 OTP와디스플레이형 OTP 생성카드 [2] 필요없는 OTP 토큰이라는점에서관심을끌것으로보이나초기구입비용이높다. 그외에는 IC 카드에 OTP 생성모듈, 배터리, 버튼, 스피커를내장시켜사용자가버튼을누르면특정소리가생성되고그생성된소리가 OTP로사용되는오디오형 OTP 생성카드도개발되었다. 2.4. OTP의표준화기술현황 2004년 2월미국 VeriSign 사의제안으로 OATH (Open AuTHentication) 이라는조직을설립하였다. 기존의오픈된표준을기반으로하여견고한인증기술체제를확립하며상호운용성, 그기술에대한일반보급을목적으로현재 OTP와관련하여표준화를진행하고있다 [2]. HOTP(HMAC based One-Time Password) 는 OATH에서표준안으로제안한 OTP 알고리즘으로이벤트동기화인증방식을사용한다. 또한 HMAC- SHA1 알고리즘을이용하며 OATH가지원이가능한 OTP 기기에서사용한다 [2]. 이는 2005년 12월 IETF RFC 4226 문서로작성되었으며 2006년 3월에 IETF 회의에서발표되었다. Ⅲ. 일회용패스워드통합인증시스템 3.1. OTP 통합인증시스템의구성 OTP 통합인증시스템은서비스이용자가하나의 OTP 토큰을이용하여다수의서비스제공자간에공동으로 OTP를인증하는시스템으로 [ 그림 5] 와같이구성된다. OTP의질의-응답생성방식은사용자의입력작업으로인한불편함, 네트워크부하, 호환성문제등을포함하고있으므로시간동기화방식과이벤트동기화방식, 시간-이벤트동기화방식을고려한다. [ 그림 5] 와같이사용자는서비스제공자 ( 예. 은행등 ) 에접속하여 OTP를이용하여사용자인증을수행하려고한다. 사용자는자신이소유하고있는 OTP 토큰을이용하여 OTP를생성하고생성된 OTP 값을 OTP 통합인증서버에전송한다. 시간동기화방식인경우 OTP 통합인증서버는시간값을기준으로수용가능한범위의 OTP를생성한후사용자가전송한 OTP와비교하고인증을완료한다. 이벤트동기화방식인경우 OTP 통합인증서버는전송횟수를기준으로 OTP를
情報保護學會誌 (2007. 6) 29 생성한후사용자가전송한 OTP와비교하여인증을수행한다. 3.2. OTP 통합인증시스템의취약성 [ 그림 5] 와같이하나의 OTP 토큰을이용하여다수의서비스제공자간에공동으로사용자인증을수행하는 OTP 통합인증시스템은중간자공격 (Man-in-themiddle attack) 에관한취약성을가질수있다. [ 그림 6] 에서볼수있듯이해킹도구를이용하여사용자의시스템에서서비스제공자로전송되는데이터를 PC단또는네트워크단에서스니핑 (Sniffing) 할수있다고가정한다. 시간동기화방식을이용하여 OTP 인증을수행한다면 [ 그림 6] 과같이사용자가 OTP를이용하여 OTP 통합인증서버로부터인증을수행받고자하나공격자는이전송되는사용자의 OTP를획득한후사용자시스템의전송시간을지연시키면서 OTP 통합인증서버에게인증을요청한다. OTP 통합인증서버는시간값을기준으로수용가능한범위의 OTP를생성하고공격자가전송한 OTP를비교하여정상적인인증을수행한다. 그리고사용자도그지연시간을짧게가져갈경우 OTP 통합인증서버와의시간동기화가맞으므로사용자인증에성공하게된다. 시간경계치를넘어실패를한경우에도재시도를하면성공하기때문에사용자가공격 을감지하기어렵다. 이벤트동기화방식을이용하여 OTP 인증을수행한다면 [ 그림 6] 과같은시간동기화방식과동일한환경에서의중간자공격을고려할수있다. 즉공격자는사용자시스템과 OTP 통합인증서버간에발생한인증횟수와동일한환경을구성하고사용자시스템에서전송되는 OTP를가로챈다. 공격자는사용자시스템의 OTP 인증수행을지연시키면서가로챈사용자 OTP를 OTP 통합인증서버에게전송하여올바른사용자인증을수행한다. 그러나이때사용자는다음이벤트에해당되는서버의 OTP값과비교가되므로인증에실패할수있다. 물론재시도를할경우성공할수도있기때문에사용자가공격을감지하기어려울수있다. 이와같은방식으로해킹을하게될경우서비스제공자마다 OTP 인증시스템을구성하고서비스를제공하는경우복수로그인방지만으로도방어가가능하나복수기관에서동일 OTP를사용하는 OTP 통합인증시스템으로구성한다면방어하기가어렵게된다. OTP 통합인증서버에서이를감지하기위해서는 OTP제출값의간격을점검할수있으나이경우공격자가지연시간을조절할경우이또한어렵다. OTP 통합인증서버에서기관과제출시간등을조합한좀더복잡한방어로직을추가할수있겠으나이또한사고가난뒤에감지하는것이어서큰의미를부여하기를힘들다. 방어 [ 그림 5] OTP 통합인증시스템의구성 [ 그림 7] 서비스제공자의식별자를포함한 OTP 토큰을사용한사용자인증시스템 [ 그림 6] OTP 통합인증시스템의취약성 [ 그림 8] USB 토큰형태의 OTP 를이용하는경우의사용자시스템구성
30 일회용패스워드를기반으로한인증시스템에대한고찰 를위해서는질의응답방식을고려할수있으나질의응답방식은 OTP통합인증센터에서는지원을하지않고있기때문에현재로서는방어가불가하다고판단이된다. Ⅳ. 대응방안및고려사항본절에서는 Ⅲ장 2절에서고려한 OTP 통합인증시스템의취약성에대한대응방안으로서비스제공자를식별하여 OTP를생성하는 OTP 토큰의사용을제안한다. 이는 OTP 통합인증시스템의본래취지중의하나인하나의 OTP토큰으로여러서비스제공자환경에서사용할수있도록해주며 OTP의보안성은그대로유지할수있다. 물론이런경우에도복수로그인방지를할경우보안강도를좀더높일수있다. [ 그림 7] 과같이 OTP 통합인증서버를이용하는대신각서비스제공자별로인증서버를구성하며사용자는하나의 OTP 토큰을사용한다. 이 OTP 토큰은각서비스제공자의식별자를포함하여사용자는 OTP 토큰에포함된서비스제공자의식별자를선택하고, OTP 토큰은해당서비스제공자의인증서버에사용자인증을수행할수있는 OTP를생성한다. 서비스제공자의인증서버는자신의식별자와사용자가전송한 OTP를이용하여사용자인증여부를결정한다. 또한 USB 토큰형태나스마트카드형태의 OTP를이용하는경우 HSM과동일하게키를안전하게보관하면서키를외부로유출하지않는범위내에서내부에서 OTP를생성하여외부로전달할수있다. 이경우 PC 등과의인터페이스가가능할경우외부프로그램을사용한다면 [ 그림 8] 과같이구성된다. 현재 USB 토큰형태의 OTP 제품들은위와같은기능을지원하고있으며 RSA사에의하여마이크로소프트사의 CSP와 PKCS#11의형태로구현되어있다. 따라서서비스제공자에따른키를지정하여서로다른키를입력하고사용할수있으며이는서비스제공자의식별자등을통해키가저장되어있는저장소에접근할수있다. 안전한키관리를지원할수있으며사용자의입력을줄여편리하게사용할있다. 또한입력시간오차및조작오류에의한오차를줄여 OTP의보안성을강화할수있다. 사용자가직접 OTP 값을생성하는경우에도사용자가짧은식별자코드입력만으로 OTP 값을생성할수있다. 예를들면한자리식별값을이용하는경 우 10개의기관에서사용이가능하고, 두자리의식별값을이용한다면 100개의기관에서사용이가능하다. 그러나마이크로소프트사의 OTP 토큰을지원하는 CryptoAPI [3] 와 PKCS#11 메커니즘 [4] 은서로다른형태의 API를사용한다. 마이크로소프트사의 CryptoAPI 는해쉬함수를이용하여 OTP 값을생성하고있으나 PKCS#11 메커니즘은서명함수를사용한다. 현재이방식은 RSA사에의하여작성및적용되고있는데이는개념적으로혼란을가져올수있다. OTP는기본적으로서버와클라이언트에서동일한키를가지고있는것을고려할때 PKCS#11에서사용하는서명함수를통하여구현하는것보다는마이크로소프트사의 CryptoAPI를통해구현한사례처럼키를사용한해쉬개념으로이해하는것이바람직스럽다고볼수있다. 특히 OATH에서표준안으로제안된 HOTP(HMAC-based OTP) 를고려할경우더욱타당하다고볼수있다. Ⅴ. 결론개인정보유출에따른인터넷사고에대응하고자강력한사용자인증을권고하고있다. 최근 OTP를인증메커니즘을이용하여 OTP 통합인증시스템구성이고려되고있다. 이시스템은하나의 OTP 토큰을이용하여다수의서비스제공자간에공동으로 OTP를인증하는시스템으로동기화생성방식을기반으로한다. 그러나 Ⅲ장 2절에서고려한바와같이서비스제공자마다 OTP 인증시스템을구현하는경우보다더욱중간자공격에대한취약성을가질수있다. 이에대한방안으로서비스제공자의식별자를포함한 OTP 토큰의사용한사용자인증시스템구성한다. 즉 OTP 통합인증서버대신하나의 OTP 토큰을이용하여다수의서비스제공자에대한 OTP 기능을지원할수있다. USB 토큰형태의 OTP 등을이용하는경우 HSM과동일하게서비스제공자에따른키를지정하여서로다른키를사용할수있으며이는서비스제공자의식별자등을통해키가저장되어있는저장소에접근할수있게된다. 따라서안전한키관리를지원할수있으며사용자의입력을줄여편리하게사용할있다. 또한입력시간오차및조작오류에의한오차를줄여 OTP의보안성을강화할수있다. 그러나 OTP 토큰을지원하는 PC 인터페이스는서로다른형태의 OTP를생성하여호환성에대한문제점이발생할수있다.
情報保護學會誌 (2007. 6) 31 OTP는인터넷서비스이용에있어강력한사용자인증수단인만큼전자금융거래등의서비스의활성화에기여할수있도록하기위하여 OTP 도입에따른사용자의편리성을보장하면서기존의사용자인증시스템보다강한보안성을보장하는방향을추진되어야할것이다. 참고문헌 [1] 백미연, 전자금융거래의보안강화방안및 OTP (One Time Password) 이용현황, 지급결제와정보기술, pp. 71-100, April 2006. [2] 금융보안연구원, 금융보안주간정보, 2006. [3] RSA Security, A CryptoAPI Profile for One- Time Password Tokens, V1.0, April 2006. [4] RSA Security, PKCS #11 Mechanisms for One-Time Password Tokens, December 2005. [5] N. Haller et. al., The S/KEY One-Time Password System, IETF RFC 1760, February 1995. [6] N. Haller et. al., A One-Time Password System, IETF RFC 2289, February 1998. [7] 장청룡, 이용권, 양형규, 이완석, 홍기융, 일회용패스워드시스템의표준화연구, 한국통신정보호호학회종합학술발표회논문집, Vol 8. No. 1, pp. 277-287, 1998. [8] D. M'Raihi et. al., HOTP: An HMAC-Based One-Time Password Algorithm, IETF RFC 4226, December 2005. < 著者紹介 > 김기영 (Ki Young Kim) 1997 년 2 월 : 한양대학교전자공학과졸업 1997 년 3 월 : 포스코개발입사 1998 년 1 월 : 한국후지쯔연구개발부입사 2000 년 10 월 ~ : 소프트포럼연구소장관심분야 : 정보보호, 유비쿼터스보안