Here’s how you can generate a one-time password (OTP) using Python:
import random
def generate_otp(length=6):
"""
Generates a numeric OTP of the given length.
Default length is 6.
"""
if length <= 0:
raise ValueError("Length must be greater than zero")
otp = ''.join([str(random.randint(0, 9)) for _ in range(length)])
return otp
# Example usage
otp = generate_otp(6)
print(f"Your OTP is: {otp}")
국민은행측은 KB모바일인증서가 국내 은행 중 유일하게 소프트웨어뿐만 아니라 하드웨어에까지 보안기술을 적용했다고 밝혔다. TEE(신뢰된 실행 환경, Trusted Execution Environment)라는 독립된 보안영역에 인증서를 저장시킴으로써 안정성과 신뢰성을 높였다는 설명이다. 이를 위해 영국 보안업체인 트러스트오닉(Trustonic)사의 TAP(Trustonic Application Protection) 솔루션을 적용했으며, 인증서의 유효성과 비밀번호를 검증하는 알고리즘은 KB국민은행 자체기술로 개발하여 안정성과 보안성을 강화했다.
KB국민은행은 KB모바일인증서의 활용 범위도 확대하고 있다. 모바일뱅킹에만 초점을 두고 개발된 다른 사설인증서와는 달리 PC 기반인 인터넷뱅킹에서도 연동 로그인이 가능하도록 했다. 또한 KB손해보험 앱에서도 KB모바일인증서 로그인이 가능하다. 다른 KB금융지주 내 계열사까지 금융거래를 처리할 수 있도록 KB금융그룹 통합인증 환경 구축을 진행하고 있다.
KB국민은행측은 최근 전자서명법 개정안이 국회를 통과함에 따라 모바일 인증서의 업무 범위를 계속하여 확장할 계획이다.
이러한 와중에도 다양한 인증기술이 출현하고 있다. 공인인증서 폐지와 더불어 새로운 인증에 대한 사회적 요구가 큰 탓이다. 물론 ▲공인인증서와▲본인확인 ▲본인인증 ▲전자서명 ▲부인방지 등 다양한 인증 기술이 혼재되고 있는 것은 문제다. 어쨌든 새로운 인증은 강력한 보안성을 담보로 얼마나 편하게 사용할 수 있느냐가 관건인 셈이다.
이러한 관점에서 코리아엑스퍼트는 1회용 아이디인 OTID(One Time ID)를 선보이기도 했다. 대부분 2차 인증으로만 활용되는 일회용 비밀번호(OTP)와 달리 ID와 패스워드를 대신하는 1차 인증으로도 활용될 수 있는 기술이다.
코리아엑스퍼트 유인지 전략사업팀장은 “OTID는 한 번에 나를 식별하는 코드로 코리아엑스퍼트의 OTID는 아이디와 패스워드의 역할을 한 번에 하는 것으로 한 번의 행위로 ID와 패스워드는 물론 간편인증까지 대체하는 기술”이라고 밝혔다.
코리아엑스퍼트는 그동안 이상 징후를 탐색해 위협요인 및 위험인자를 찾아내는데 노하우를 쌓아왔다. 예를 들어 로그 정보에 특정 패턴을 걸어놓고 누가 언제 무엇을 어떻게 하고 있는지를 알아내는 분석 시스템에 전문성을 보유해왔다.
하지만 이러한 시스템 구축 및 운영 과정에서 이상 징후를 찾기 위해선 시작점인 ‘인증’을 다시 봐야 한다고 생각했다.
이러한 결과 새롭게 나온 제품이 OTID 기술 기반의 자사 솔루션 ‘아이루키’에 공개키 기반 구조(PKI) 기술을 융합한 ‘PKID’ 솔루션이다. PKID 솔루션은 일회용 코드 입력 방식과 원터치 방식으로 사용자 편의성에 집중한 공인·사설 인증을 대체할 수 있는 차세대 인증방식이라는 설명이다.
코리아엑스퍼트에 따르면 사업을 진행하며 고객이 공인인증과 사설인증을 무분별하게 사용하는 사례 등을 경험했다. 한 보험사의 경우 내부 업무에 15개의 인증수단을 사용한 경우도 있다는 설명이다.
유 팀장은 “2차 인증을 해야 하는데 귀찮고 힘들어서 아직 공인인증서를 사용하는 경우도 있었다”며 “공공의 경우 보안 적합성 심사와 국정원 감사 등 이슈가 있다. 예를 들어 가상 데스크톱(VDI)이나 가상사설망 접속시 2차 인증 도입을 확보할 것을 주문하고 있는데 이를 대체하는 수단으로 제공할 계획”이라고 밝혔다.
한편 다양한 사설 인증서의 등장으로 기업 입장에서 인증관리도 중요한 업무가 될 전망이다. 이에 따라 코리아엑스퍼트는 통합 인증 플랫폼을 기업에 제공하고 있다. 예를 들어 모 생명보험사의 경우 코리아엑스퍼트의 통합인증 플랫폼을 도입해 인증 어플리케이션을 관리하고 있다.
유 팀장은 “인증수단이 많아지고 관리해야 하는 앱도 많은 상황에서 이상징후 확인에 대한 요구가 있어 통합인증 플랫폼과 인증수단의 API 등을 엮어 관리하는 방안을 제안하고 있다”고 설명했다.
임은희 코리아엑스퍼트 기술영업본부 부장은 “하반기에도 PKID에 집중할 것”이라며 “공인인증서 폐지 관련해서 의도치 않게 캐피탈, 보험사, 공공기관 등에서 문의가 오고 있다. 모바일 앱에서 대출심사를 할 때 공인인증서를 쓰는데 여기에 사설인증을 적용하거나 보험가입 시 언더라이팅 할 때 산용카드 본인확인 등의 절차 말고 사설인증서로 대체하면서 패턴, 핀번호, 지문, 등 다양한 형태로 접근이 가능한 것을 원하고 있다”고 전했다.
일회성 비밀번호 또는 짧은 OTP는 일반적으로 매우 간단한 이유로 기존 비밀번호보다 더 안전한 것으로 간주됩니다. 비밀번호는 한 번만 사용할 수 있습니다.다음에 사용자가 OTP로 보호되는 포털, 웹 앱 또는 모바일 앱에 로그인하려면 이전에 사용한 비밀번호가 더 이상 작동하지 않으므로 새로 생성 된 비밀번호를 사용해야합니다.
그것은 단순한 (너무 단순한 것일 수도 있습니다) 설명입니다.물론 일회성 비밀번호의 실제 애플리케이션은 일반적으로 그보다 훨씬 복잡합니다.일회성 비밀번호를 생성하지만 사용하지 않는 사용자를 고려해야합니다. 인증 프로세스를 완료하기 전에 비밀번호를 잊어 버렸거나 변경했을 수 있습니다. 시스템 관리자는 이러한 "잊어 버린 OTP"가 영원히 살 수 없다는 것을 알고 있습니다.악의적 인 공격자가 아직 사용하지 않았기 때문에 여전히 유효하다면 악의적 인 공격자에 의해 나중에 획득되어 사용될 수 있기 때문에 악의적이지만 유효한 OTP를 로밍 할 여유가 없습니다.
따라서 대부분의 OTP 표준은 시간 기반입니다.생성 된 OTP는 지정된 시간 (일반적으로 30 초-2 분) 내에 사용해야합니다. 그렇지 않으면 만료되어 더 이상 작동하지 않습니다.이것이IT 커뮤니티가HOTP표준을따뜻하게 수신 한 후TOTP표준이 개발 된이유입니다.
그러나 모든 일회성 비밀번호 알고리즘 및 표준은 "비밀번호 문제"만 해결하므로 소위청구 된 신원을 보호하기 위해 전혀 아무것도하지 않습니다.설명하겠습니다…
모든 OTP 기반 인증 체계에서 사용자는먼저청구 된 신원을 제공해야합니다.일반적으로 이것은username을 제공하여 수행됩니다.포털 (또는 웹 앱 또는 모바일 앱)이 사용자가 누구인지 주장한 후에 만 해당 사용자를 OTP로 인증하려고 시도합니다.그 배후의 아이디어는 원격 서비스가 사용자에게“당신이 정말로 당신이 누구라고 주장하는지 확인하도록하겠습니다”라고말하는것입니다.
독자가 반드시 주목해야 할 것은 위의 두 이미지에 묘사 된 두 가지 일반적인 체계에서 사용자는 자신의주장 된 신원(사용자 이름)을 인증하려는 서비스에보냅니다.그리고 그것은 제 생각에 이미잠재적 인 공격자에게너무 많은 정보를제공하고 있습니다.
OTP를 사용하는 더 좋은 방법은 사용자 이름이나 모든 형식을 포함하여 인증 정보를 완전히 숨기는 방법을 찾는 것입니다주장 된 정체성사용자가 사용해야합니다.
Xiid OTID(일회성 ID)를입력하십시오.UML 차트는 다음과 같습니다.
가장 먼저 알아야 할 것은 사용자 경험이 가장 쉽고 효과적인 OTP 버전과 매우 유사하다는 것입니다.그러나 주목할만한 차이점이 있습니다. Xiid OTID의 경우주장 된 ID(일반적으로 사용자 이름)가 네트워크를 통해 전송되지 않으며 OTID 코드 만 전송됩니다.이 코드는 잠재적 공격자에게 유용한 정보가 포함되지 않은 일회성 코드입니다. .
OTID 형식 예 :12K8–33FA-GH7R-92VA
Xiid의 특허 출원중인 OTID 기술 덕분에 인증을 담당하는 실제 서비스 만이OTID가 속한 특정 사용자를추론하거나 계산할 수있으며, OTID에 포함 된 일회성 정보를 확인하여 현재 알려진 서비스에 대한 사용자 액세스.
한 번의 "무의미한"(공격자 용) 일회성 코드로, 매번 변경되며, 사용자에 대한 정보 (클레임 된 자격 증명포함)를 문자 그대로 제공하지 않으며더 많은 수의 사용자에 대해 높은 수준의 복원력을 제공합니다. 인증 시스템을 대상으로하는 일반적인 공격.
그러나당신의주장 된 정체성을 숨기는 것이왜그렇게 중요한가?생각해보십시오 : 침입자가 자신이 누구라고 주장하는지 알게되면 (사용자 이름이 전자 메일 주소 일 수도 있으므로 이미 연락 방법도 알고있을 것입니다) 이미교육받은 암호 추측,암호와 같은 공격을 시도하기에 충분한 정보가 이미 있습니다.수확또는 더 나쁜사회 공학.그러나 침입자가“누가”로그인을 시도하고 있는지 추측 할 방법이 없다면 실제로 작업 할 의미가 없습니다.
같은 암호를 반복해 사용하다가 위험에 노출되는 사고를 줄이기 위해 고안해 냈다. 은행의 인터넷 뱅킹 안전성을 높이는 도구로 쓰이면서 활성화했다. 거래할 때마다 OTP 생성기로 일회용 암호를 만들어 쓴다. 2012년 8월 말까지 1년 9개월여 만에 OTP가 659만 개나 발급됐다. 2013년부터 은행 · 증권사 · 저축은행 등 금융기업별로 제각각이었던 OTP 발급 방식도 인터넷을 통해 손쉽게 등록할 수 있게 돼 이용이 더욱 늘어날 전망이다. 기업용 OTP 쓰임새도 늘어나는 추세다. 회사 밖에서 그룹웨어 같은 내부 정보망에 접속할 때 OTP를 쓰는 곳이 많아졌다. 특히 클라우드 컴퓨팅 체계가 대중화하면서 OTP 수요는 꾸준히 늘어날 것으로 보인다.