IT 기술/[JAVA] Spring Boot
21. MFA (Multi-Factor Authentication)
Lee Hye Won
2021. 6. 25. 08:51
MFA (Multi-Factor Authentication)
기본 인증 외에 추가적인 인증을 통해 보안을 강화하는 기능을 말하며, 사용자의 서비스 접근에 있어 높은 보안을 제공한다.
인증 요소 유형 (Type of Authentication Factors)
- Knowledge : 사용자가 알고 있는 것. e.g) username, password, PIN 등
- Possession : 사용자가 가지고 있는 것. e.g) safety token
- Heritage : 사용자 그 자체의 것. e.g) fingerprint, retina verification, voice recognization
- Place : 사용자의 물리적인 위치
- Time : 인증을 위한 시간 기반의 기능 제공 e.g) OTP
다요소 인증 유형 (Type of Multi-Factor Authentication)
- SMS Token Authentication : 등록된 휴대폰 번호로 PIN 번호를 전송하여 입력 받아 인증한다.
- Email Token Authentication : 기본적인 방식은 SMS 토큰 인증과 동일하다. 다만, PIN 번호를 받는 매체가 SMS 가 아닌 전자메일 즉 Email 을 활용하는 것이 차이점이다.
- Hardware Token Authentication : 별도의 하드웨어를 통한 토큰 인증으로 동글 (Dongle) 형태의 기기가 제공된다. USB, USB-C 포트에 삽입하여 인증을 지원한다. 또는 별도의 OTP 기기를 활용한다.
- Software Token Authentication : 보안 토큰을 모바일 기기 등을 통해 제공한다. Google Authentication 과 같이 서비스와 밀접하게 묶여 근본적으로 스마트 기기에 토큰을 제공한다.
- Phone Authentication : 무작위로 OTP 를 발생하여 SMS 나 전화를 통한 인증이 있다.
- Biometric Verification : 생체 인식을 통하는 방법으로 지문, 안면인식, 음성인식 등이 있다.
T-OTP (Timebased-One Time Password)
시간 기반의 임시 비밀번호 생성의 원리는 아래와 같다.
인증을 하는 쪽과 제공하는 쪽에 동일한 암호를 생성하는 프로그램을 가지고 있다고 가정한다.
특정 정보(이용자의 Username) 를 활용하여 'Secret Key + Secret Key 를 생성한 시간을 환산한 값' 의 조합으로 OTP 번호를 발생하도록 하고, 해당 Secret Key 를 OTP 앱에 등록하면 동일하게 OTP 번호를 발생한다. 이 둘의 합이 동일하면 인증이 완료된다.
따라서 Secret Key 는 본인 외에 노출되면 안되며, 인증을 하는 쪽과 인증을 제공하는 쪽의 시간이 일치하지 않을 경우 인증에 문제가 될 수 있다.
출처 : https://fastcampus.co.kr/courses/204729/clips/
패스트캠퍼스 온라인 강의 - 스프링 아카데미아 15개 영상강의 코스(5월)
fastcampus.co.kr