본문 바로가기

뷰나루의 정보 충전소/IT/전자기기/자동차

OTP의 원리는 무엇일까?

반응형


OTP(One Time Password)의 원리




최근 '나혼자산다' 라는 예능프로그램에서 

한 출연진이 보안카드를 사용하는 모습을 보여주자

일부 출연진들은 요즘은 카드형 OTP를 쓴다며 

실물을 보여주었고 이에 게스트들중 일부는

 놀라움을 감추지 못하며 OTP 카드가 작동하는

원리에 대해서 궁금해했다. 



예전부터 사용되었던 기존의 은행 보안카드

 방식은 카드 뒷면에 고정된 인증 번호가 

적혀있기 때문에 보안상의 취약점이 존재했다. 



그러나 보안카드와 달리 OTP 방식을 사용하면 

숫자가 고정되어 있지않고, 숫자 조합이 현재 시간에

 의해서 결정되기 때문에 숫자를 유추하기가 어렵다.

OTP (One Time Password) 라는 사용자 인증 방식은

 미국의 벨 통신연구소가 보다 더 보안을 강화하기 

위하여 세계최초로 개발하여 도입한 시스템으로 

사용할 때마다 일회성 인증번호가 생성되고

 이를 이용하는 사용자 인증 방식이다.



OTP 생성기는 소형 단말기 모양의 토큰형과 신용

카드 모양의 카드형이 사용되고 있으며 최근에는 

휴대폰의 범용가입자 식별모듈(USIM)을 기반으로 

하는 모바일 OTP의 도입이 추진되고 있다.

그렇다면 OTP 인증방식의 원리는 무엇일까?

OTP 생성기는 작동시 컴퓨터와 인증서버와 

직접적으로 무선통신하는 원리가 아니다. 

OTP 생성기에 나오는 인증번호는 시간, 함수, 

은행의 특정 번호 등을 조합하여 미리 정해진 

특정한 규칙에 따라 숫자를 생성해 놓는다.



한마디로 OTP 생성기 안에는 전자시계와 OTP 

인증번호 생성기가 같이 들어있다고 보면 된다. 

시계에서 생성된 시간과 OTP 생성기 고유의 

비밀키를 Seed 값으로 이용해 128bit 암호화 

알고리즘과 OTP 생성 알고리즘을 통해 6자리의

 비밀번호를 생성하게 되는 것이다.


모든 경우의 OTP를 다르게 하기 위해서는 OTP 

생성 시에 각 사용자에게만 할당된 규칙에 따라 

이용하여 값을 생성해야 하고, 이 값은 초기에

 OTP 생성기를 제작할 때에 함께 생성되어진다.


또한 이를 인증서버에 저장하면 인증서버에서도 

같은 규칙을 사용해서 암호를 만들게 된다. 

단지 달라지는 것은 현재의 시간이며, 시간에 따라 

계속해서 다른 암호를 사용할 수 있게 되는 것이다.



예컨데 사용자의 OTP 인증번호를 매회 다르게

 하기 위해서는 인증정보(현재시간, 누름횟수 등)를 

OTP가 생성될 때에 비밀키와 동시에 연산되도록 

한다. 이러한 인증정보는 OTP 생성기와 인증서버

가 동일하게 유지하기 때문에 혹시 모를 오차를 

감안한 경우의 수에 대비할 수 있다.



이러한 암호화 규칙은 미리 정해진 것이기 

때문에 이론적으로는 OTP 제조사와 OTP의

 비밀키를 알고, 규칙을 안다면, 암호를 복제해 

내는 것이 불가능한 것은 아니라고 한다.



OTP의 경우 배터리를 사용하고 있는데

만일 배터리가 닳았다면 다른 전자기기처럼 

배터리만 교체하는게 아닌 재발급을 받아야 한다. 

 OTP의 배터리 수명은 사용 빈도에 따라 다르나

 대체적으로 3년정도 사용이 가능하다고 한다.


반응형