-
반응형
OTP 생성방식에는 몇가지가 있다.
시도 응답, 시간 동기화, 이벤트 동기화, 시간-이벤트 동기화 방식등이 있다.
시도 응답(Challenge-Response Authentication)
서버에서 질문을 을 던지면 자신이 대답을 하여 응답을 하게 되는것이다.
1 사용자의 ID를 서버에 전송하여 인증을 요청함
2. 사용자의를 검증하기위해 사용자 ID의 난수를 생성(매번 바뀜)
3. 질의 값 전송
4. 질의값 입력하여 응답값 생성
5. 서버에 응답값을 보냄
6. 사용자에게 보낸 난수 값과 응답값을 비교 하여 사용자 인증
사전에 서버와 사용자만 알고있는 대칭키가 필요하다.
장점: OTP 생성 매체와 인증 서버간 동기화가 필요 없다.
(서버에서 보내고 사용자가 받고 그냥 메일 보내듯이 하는것이므로)
단점: 네트워크 모니터링을 하여 전송되는 값이 노출되면 위험하다.
시간 동기화(Time-Synchronous)
시간 값을 입력 값으로 사용하여 OTP를 생성한다.
1. 사용자의 시간 정보를 이용해서 OTP 생성
( 예를 들면 1[사전 파일]에다가 12:00의 정보를 결합시켜서 암호화)
2. 생성된 OTP를 전달함
3. 사용자가 보낸 정보와 비교해서 검증함
4. 결과를 사용자에게 보냄
사전에 서버와 사용자의 동기화가 필요하다.
장점: OTP가 노출되더라도 시간이 지나면 값이 변함
단점: 일정시간이 지나면 값이 변해서 다시 입력해야됨, 서버와 사용자간의 동기화가 되지 않으면 인증이 되지 않음
(시간이 완벽하게 동일하기가 쉽지 않으므로, 시간간격을 30초~2분 정도로 하여 생성기간을 둔다)
이벤트 동기화(Event-Synchronous)
서버와 사용자간에 동일한 카운트 값을 기준으로 비밀번호를 생성하여 보낸다.
1. 사용자가 가지고있는 OTP 정보와 알고리즘을 이용해서 암호를 생성한다.
2. 생성된 OTP 값을 서버에 보냄
3. 서버에서 가지고 있는 해당 사용자 값과 OTP 알고리즘을 결합하여 암호를 비교
4. 서버에 보낸 카운트 값을 증가시켜서 저장
서버와 사용자간의 카운트 값이 알고리즘에 의해 증가된다.
장점: 실패시 재시도 시간이 필요없음
단점: OTP를 생성하고 서버에 입력하지 않으면 사용자와 서버간의 카운트 값이 달라져서 초기화 시켜야된다.
(사용자가 OTP를 생성하고 업데이트를 하고 다시 OTP 요청때까지 비밀번호가 바뀌지 않으므로 서버에 정보가 가지 않을 경우 서버와 사용자간의 값이 달라져서 다음번 OTP입력을 할수가 없다.)
시간-이벤트 동기화(Time-Event Synchronous)
시간 동기화와 이벤트 동기화 방식을 합친 방식이다.
1회 인증만 요구할 경우
시간 동기화 랑 같다.
서버와 사용자간에 동일한 카운트 값을 기준으로 비밀번호를 생성하여 보낸다.
여러번 인증할 경우
1. 사용자의 시간 정보를 이용해서 OTP 생성
2. 생성된 OTP를 전달함
3. 사용자가 보낸 정보와 비교해서 검증함
4. 사용자가 다시 인증을 보냄(카운터 값이 증가됨)
5. 생성된 OTP를 전달
시간 동기화처럼 일정시간마다 OTP 값이 계속 변경되며, 일정 시간 안에 OTP 요청이 다수 발생하면 카운트 값을 증가시켜서 새로운 OTP를 발급한다.
즉 시간 동기화는 일정시간에 한번의 OTP가 생성되어서 동일한 OTP로 계속 인증을 할수 있지만, 시간-이벤트 동기화는 일정시간에 여러번 인증을 요구하면 값이 달라져서 보안에 좀더 좋다.
장점: 기존의 방식보다 좀더 안전하다.
단점: 만들기 복잡하다.
반응형'해킹, 보안' 카테고리의 다른 글
hunt (0) 2022.03.22 칼리로 윈도우 비밀번호 바꾸기 (0) 2021.03.28 cuckoo, sandbox 설치 (0) 2021.02.13 와이파이 해킹 TP_Link TL_WN722N (0) 2021.02.13 openvas 설치 (0) 2021.01.22