- 다음 번의 패스워드 예측이 불가능하므로 패턴 인식을 통한 해킹에 대해 견고.
- 이로 인해 두가지 이상의 사용자 인증 방식을 혼합한 이중 요소 인증(이중 인증; two-factor authentication) 방식이 점차 대중화 되어감(공인 인증서 + 보안카드 또는 OTP 토큰)
OTP의 종류 및 설명 - 입력값(시퀀스 카운터)을 매번 다른 값으로 입력해야 일회용 패스워드가 생성
- 고전적인 OTP 방식인 S/Key 방식 이외에 입력값에 어떤 값을 넣느냐에 따라 시간 동기화(Time Synchronous) 방식, 첼린지 리스펀스(challenge-response) 방식, 이벤트 동기화(Event Synchronous) 방식으로 분류됨.
S/Key 방식 -
S/Key는 암호 알고리즘의 일종인 해쉬 함수(Hash function)을 이용하는 방식 - 사용이 간단하며 어떤 비밀 정보도 호스트에 남지 않음. 고전적 방식
- 방식 설명
1. 사용자 입력값에 해시 함수를 정해진 회수 n번을 적용, n개의 패스워드 생성.
2. 마지막 패스워드 값을 인증 서버와 사용자가 나눠 가짐.
3. 사용자는 n-1번째 패스워드를 통해 인증을 시도.
4. 인증 서버는 사용자에게서 받은 패스워드에 해시함수를 1회 적용, 이에 생성된 값을 기존에 갖고 있던 n번째 패스워드값과 비교하여 인증 성공/실패를 판단.
5. 인증 성공시 n-1번째 값을 새로운 패스워드로 저장하고 두 번째 패스워드부터는 해시함수 적용회수를 순차적으로 한번씩 적게 적용한 값을 패스워드로 사용.
- 해시 알고리즘으로 주로 MD4, MD5, SHA1가 사용됨.
- 단점 : 인증을 여러번 수행하면 해시 함수 적용 가능 회수가 하나씩 줄어들게 되므로 어느 시점에서는 패스워드를 재초기화해야 함.
- 장점 : PC 등에 패스워드를 저장해 놓거나 미리 계산해 놓은 후에 사용할 수 있음.챌린지 리스펀스(Challenge Response) 방식 - 임의의 난수를 암호 알고리즘의 입력값으로 사용하여 OTP를 생성하는 방식.
- 방식 설명
1. 인증서버가 임의의 난수값을 생성하여 사용자에게 전달(Challenge)
2. 사용자는 전달받은 값을 통해 OTP를 생성하여 인증 서버에 전달(Response)
3. 인증서버는 동일한 난수값과 등록된 사용자 정보를 이용해 OTP를 생성하여 사용자에게서 받은 OTP와 비교하여 인증 여부를 판단.
- 장점 : 매번 새로운 난수값을 이용하기에 Brute force 공격에 상대적으로 안전. 하지만 장시간 모니터링을 통해 챌린지 리스펀스 값을 모두 알 경우 이를 이용해 exhaustive key search 기법으로 비밀키를 찾아낼수도 있음. 따라서 본 방식에는 exhaustive key search 기법에 견고한 알고리즘을 사용해야.
- 단점 : 사용상의 번거로움, ID/PASSWORD 기반 애플리케이션과 호환이 용이하지 않음.
OTP 시간 동기화(Time Synchronous) 방식 - 챌린지 리스펀스 방식의 단점을 개선하기 위해 개발됨. RSA의 SecureID가 대표적.
- 기존 ID/PASSWORD 기반 인증 시스템에서 패스워드 검증 절차면 변경하면 되므로 사용상 용이.
- 특징 : 인증 서버가 시퀀스 카운터(입력값)을 보내는 대신, 시간을 입력값으로 사용.
- 방식 설명
1. 사용자는 시간을 OTP 입력값으로 사용하여 OTP를 생성하고 PIN(사용자 비밀번호, 비밀키)과 함께 인증 서버에 전달
2. 인증서버는 PIN을 인덱스로하여 해당 비밀키를 찾아 해당 OTP를 생성하여 수신한 OTP와 동일한지 여부를 검사.
- 시간 동기화 방식은 사용자 수가 많은 경우 여러 개의 시간을 동시에 일치시키기가 어려우므로, 일반적으로 시간 오차 범위를 설정하여 그 범위 안에서는 인증이 성공하도록 허용하고 있음.
- 장점 : 입력값 생성 과정이 단순, ID/PASSWORD 기반 애플리케이션과 호환 용이
- 단점 : 인증 실패 시 인증 재시도를 위해 일정 시간 기다려야 함. 일정 시간 내에 입력하지 못했을 경우 중간에 패스워드가 바뀌어 재입력해야하는 불편함이 존재.
이벤트 동기화(Event Synchronous) 방식
- 시간 동기화 방식의 단점을 극복하여, 인증 서버와 사용자 토큰 간 시간 정보를 일치시킬 필요 없음.
- 잘 알려진 암호 알고리즘을 사용하기에 안전성이 높음.
- 시간 대신 인증 서버와 인증 횟수(Counter) 기록을 공유하고 인증 횟수를 OTP 입력값으로 활용.
- 방식 설명
1. 사용자가 OTP 장치의 생성버튼을 누르면 Counter는 1이 증가. 이 값이 비밀키를 통해 암호화된 값이 바로 OTP. 사용자는 해당 OTP를 인증 서버로 전달.
2. 인증 서버는 사용자의 비밀키를 이용해 받은 OTP를 복호화하여 Counter를 얻어냄. 본 Counter를 사용자의 인증 기록을 통해 얻어낸 Counter에 1 증가시킨 값을 비교하여 인증 여부 판단.
- 사용자의 호기심, 실수 등으로 인해 사용자의 Counter와 인증 서버의 Counter가 일치하지 않는 경우가 발생. 이 경우 일반적으로 Counter 오차 범위를 정해 범위내의 counter를 허용하는 방법과 연속된 2번의 OTP가 올바른 값으로 판단될 경우 인증을 허용하는 방식 등으로 문제점 극복.
OTP 도입시 고려사항 - 기존 인증 서버와의 연동 가능성 및 기 사용중인 애플리케이션과의 호환성 : 챌린지 리스펀스 방식은 ID/PASSWORD 기반 프로토콜 및 애플리케이션에 잘 맞지 않음.
- 관리의 용이성 : 시간 동기화 방식은 인증 서버와 OTP 토큰 사이의 시간 정보 일치를 위한 관리자의 노력이 필요(특히 사용자가 많을 경우)
인터넷뱅킹과 텔레뱅킹의 이체 한도가 이용자의 거래 수단별 보안등급에 따라 달라진다.
-- 07.10.14 추가
다음과 같은 내용의 '전자금융 감독 규정 및 시행세칙 개정안'이 2007.01.01에 시행됨.(by 금융감독위원회, 금융감독원)
1등급 : OTP 발생기나 보안성이 강화된 HSM 방식의 공인 인증서와 보안카드를 함께 써야함
2등급 : 보안 카드와 휴대전화 거래내역통보(SMS)
3등급 : 보안카드 사용
|
보안등급 |
인터넷뱅킹 1회 이채한도 |
인터넷뱅킹 1일 이채한도 |
텔레뱅킹 1회이체한도 |
|
1등급 |
1억원 |
5억원 |
5천만원 |
|
2등급 |
5천만원 |
2억5천만원 |
2천만원 |
|
3등급 |
1천만원 |
5천만원 |
1천만원 |
OTP 통합인증센터가 설립됨(국내) 2007.07.07
1. 은행 19개, 증권사 30개, 기타 6개 등 총 55개 국내 금융기관이 참여
2. 타임 싱크(Time Sync), 이벤트 싱크(Event Sync), 타임+이벤트 싱크의 3가지 일회용 비밀번호 생성방식을 권고
3. 모바일OTP(휴대폰을 OTP 단말기로 사용)와 챌린지 리스펀스 방식은 지원하지 않기로 결정됨.
댓글을 달아 주세요
적용 및 활용으로 우리나라 뱅킹에 보안레벨에 따라 차등적용되는 내용을 언급해 주시기 바랍니다. OTP 통합센터 이야기도 나오고 있습니다.
보안레벨에 따른 차등 적용, OTP 통합센터에 관한 내용을 추가 완료했습니다.