기술(IT)

일회용 비밀번호 기기 OTP(One-time Password)

2019. 11. 16.
728x90

OTP는 컴퓨터 시스템 또는 다른 디지털 장치에서 하나의 로그인 세션 또는 트랜잭션에만 유효한 암호다. OTP는 기존의 비밀번호 기반 인증과 관련된 많은 단점을 피한다. 많은 구현은 또한 한 번의 비밀번호로 한 사람이 가지고 있는 기기에 접근할 것을 확실히 함으로써 2단계 인증을 포함한다. OTP는 기존 암호를 대체할 수 있을 뿐만 아니라 대체 가능한 것으로 논의되어 왔다. 단점으로는 OTP는 인간이 외우기가 어렵다. 따라서 그들은 작동하기 위해 추가적인 기술을 필요로 한다. OTP에 의해 해결되는 가장 중요한 장점은 정적 암호와 달리 재생 공격에 취약하지 않다는 것이다. 이는 이미 서비스에 로그인하거나 트랜잭션을 수행하는 데 사용된 OTP를 가까스로 기록하는 잠재적 침입자는 더 이상 유효하지 않기 때문에 악용할 수 없게 된다는 것을 의미한다. 두 번째 주요 장점은 여러 시스템에 대해 동일한 암호를 사용하는 사용자가 이 중 하나에 대한 암호를 공격자가 획득하는 경우 이들 모두에 대해 취약하지 않다는 것이다. 또한 다수의 OTP 시스템은 이전 세션 중에 생성된 예측 불가능한 데이터에 대한 지식이 없으면 세션을 쉽게 가로채거나 가장할 수 없도록 하여 공격 표면을 더욱 감소시키는 것을 목표로 한다.

시간 동기화
시간 동기화된 OTP는 대개 보안 토큰이라는 하드웨어 조각과 관련이 있다. 가끔 바뀌는 숫자를 보여주는 액정 표시장치가 달린 소형 계산기나 키체인 매력처럼 보일 수도 있다. 토큰 안에는 독점 인증 서버의 시계와 동기화된 정확한 시계가 있다. 이러한 OTP 시스템에서 새 암호의 생성은 이전 암호나 비밀 키가 아니라 현재 시간에 기초하기 때문에 시간은 암호 알고리즘의 중요한 부분이다. 이 토큰은 독점 장치일 수도 있고, 독점, 프리웨어 또는 오픈 소스인 소프트웨어를 실행하는 휴대전화나 이와 유사한 모바일 장치일 수도 있다. 시간 동기화 OTP 표준의 예로는 시간 기반 일회성 암호 알고리즘이 있다. 아래 OTP를 제공하는 모든 방법은 알고리즘 대신 시간 동기화를 사용할 수 있다.

수학 알고리즘
각각의 새로운 OTP는 과거의 OTP로부터 생성될 수 있다. 레슬리 램포트가 인정한 이러한 유형의 알고리즘의 예는 단방향 함수를 사용한다. 일부 수학적 알고리즘 체계에서는 사용자가 1회 암호만 전송하여 서버에 암호화 키로 사용할 정적 키를 제공하는 것이 가능하다. 챌린지 대응형 일회성 암호를 사용하려면 사용자가 도전에 대한 응답을 제공해야 한다. 예를 들어 토큰이 생성한 값을 토큰 자체에 입력하면 된다. 중복되는 것을 피하기 위해, 일반적으로 추가 카운터가 개입되므로, 우연히 같은 문제를 두 번 당하게 되면, 이것은 여전히 다른 일회성 암호를 초래한다. 그러나 계산에는 대개 이전의 일회성 암호가 포함되지 않는다. 즉, 일반적으로 이 알고리즘이나 다른 알고리즘이 사용된다. 토큰 기반 OTP를 제공하는 방법은 시간 동기화가 아닌 이러한 유형의 알고리즘 중 하나를 사용할 수 있다.

OTP 구현 비교
전자 토큰에 의존하는 시스템의 경우, 시스템이 마감일까지 OTP를 입력하도록 요구하는 경우, 알고리즘 기반 OTP 생성기는 토큰이 서버와 동기화되지 않는 상황에 대처해야 한다. 이것은 추가적인 개발 비용으로 이어진다. 반면에, 시간 동기화된 시스템은 전자 토큰에서 시계를 유지해야 하는 비용을 감수하면서 이것을 피한다. OTP의 시간 동기화 여부는 기본적으로 취약성의 정도와 무관하지만, 서버와 토큰이 동기화되지 않은 상태로 표류했기 때문에 서버가 토큰이 가져야 할 마지막 코드나 다음 코드를 예상할 경우 암호를 다시 입력할 필요가 없게 된다.
가장 저렴한 OTP 솔루션은 OTP를 서면으로 제공하는 솔루션과 독점 전자 보안 토큰 및 SMS 메시징과 관련된 비용 없이 기존 장치에서 OTP를 생성하는 솔루션이다. 기존 모바일 장치를 사용하면 추가 OTP 발생기를 입수하여 휴대할 필요가 없다. 배터리는 재충전될 수 있다. 

데이터 보안 방법 비교
일회용 비밀번호는 피셔들이 과거에 사용했던 하나 이상의 OTP를 제공하도록 고객을 속여서 OTP를 훔치는 사회공학적 공격에 취약하다. 두 가지 방법 공격자가 OTP를 충분히 빠르게 일반 텍스트로 얻을 수 있는 경우, 비밀번호는 공격자가 합법적인 사용자만큼 신속하게 사용할 수 있다. 위에서 논의한 바와 같이 해시 체인을 구현하는 OTP 시스템에 의해 패배할 수 있는 다른 유형의 공격은 피셔가 이 사회공학적인 방법에 의해 얻은 정보를 사용하여 향후 어떤 OTP 코드가 사용될 것인지를 예측하는 것이다. 예를 들어, 진짜 무작위적인 숫자가 아닌 의사 무작위적인 OTP 암호 생성자는 과거의 OTP 코드를 가지고 있으면 종종 예측 가능하기 때문에 타협할 수 없거나 그렇지 않을 수 있다. OTP 시스템은 인증자가 OTP를 생성하여 사용자에게 전송하는 경우에만 진정한 무작위 OTP를 사용할 수 있다. 그렇지 않으면 OTP는 각 당사자에 의해 독립적으로 생성되어 반복이 필요하며, 따라서 단순히 의사 무작위 알고리즘에 지나지 않는다. OTP는 어떤 면에서 정적 암기 암호보다 더 안전하지만, OTP 시스템의 사용자들은 여전히 중간 공격들에 취약하다. 따라서 OTP는 제3자에게 공개해서는 안 되며, 계층형 보안에서 OTP를 하나의 계층으로 사용하는 것이 OTP만 사용하는 것보다 더 안전하다. 계층형 보안을 구현하는 한 가지 방법은 사용자가 외우고 있는 암호와 함께 OTP를 사용하는 것이다. 계층형 보안을 사용할 경우 로그인 시 마스터 암호 또는 암호 관리자 1명과 결합한 단일 로그온이 보안 계층 1개만 사용하는 것보다 안전해지고, 따라서 일반적으로 세션이 길면 암호 피로의 불편함을 피할 수 있다. 그러나 단일 로그온 중에 여러 형태의 보안을 한꺼번에 사용할 경우 단점은 로그인할 때마다 컴퓨터의 정보를 액세스 하는 데만 로그인하거나 요청하지 않는 응용 프로그램이나 정보에 액세스하는 데만 로그인하는 경우에도 보안 주의사항이 더 많아진다는 것이다. 컴퓨터가 사용되는 다른 최고 기밀 사항들만큼 많은 보안을 유지 아래의 관련 기술도 참조하십시오.


LIST

댓글

추천 글