반응형

관리자 페이지 또는 필요에 따라 로그인 2차인증이 필요할 경우가 있다.

구글에서 제공하는 TOTP 기반의 google authenticator 앱으로 무료로 사용할 수가 있다.

여기서 TOTP와 2-factor 인증 방법에 대해 이해가 필요하다.

 

TOTP란?

정의 : 시간 기반 일회용 비밀번호(Time-based one-time password) 현재 시간의 고유성의 원천으로 사용하여 일회용 비밀번호를 생성하는 컴퓨터 알고리즘.

알고리즘 : 사용자가 입력한 otp 코드와 로컬에서 유닉스 시간 기반으로 생성한 코드가 일치 여부를 판단.

                  google authenticator 앱에서는 HOTP 알고리즘으로 인증을 진행.

 

2-factor authentication(2FA)

정의 : 이중인증절차라고 하며 로그인을 시도한 주체가 계정의 실제 소유자인지 확인하여 계정 보안을 높여주는 절차

 

QR코드 생성은 아래 url을 QR코드로 변경하여 표시하면 된다.

 

otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example

Label : Example

User : alice@google.com

secret_key : JBSWY3DPEHPK3PXP

 

위 예시에서 secret_key 는 특정 문자열을 Base32 인코딩한 결과만 Google Authenticator에서 인식된다.

 

google authenticator 앱에 QR 코드로 장치를 등록하는데 해당 QR을 생성하는 예시를 들어주는 사이트 공유

https://dan.hersam.com/tools/gen-qr-code.php

 

Generate QR Codes for Google Authenticator

 

dan.hersam.com

위 사이트에서 QR 만드는 예시를 참고하여 앱 또는 웹 어플리케이션에서 QR을 생성하여 보여주고 인증이 완료된 사용자를 저장하고 해당 사용자에 대해서는 이후 로그인 시도 시 google authenticator 인증 코드를 입력 받을 수 있도록 구현.

반응형

+ Recent posts