2요소 인증(2FA, 2단계 확인 또는 약어로 TFA라고도 함)은 "다요소 인증"으로 알려진 추가 보안 계층으로, 비밀번호와 사용자 이름뿐 아니라 해당 사용자만이 가지고 있는 것, 즉 그 사용자만 알고 있거나 즉시 손에 쥐고 있어야 하는 정보(예: 물리적 토큰)를 요구합니다. 여기서는 그것이 휴대폰입니다. 추적 가능한 전화번호가 할당된 휴대폰이어야 합니다.
다음 튜토리얼에서는 새 웹사이트 또는 기존 웹사이트에 2요소 인증을 설정하는 방법을 설명합니다.
먼저 계정에 로그인한 후 2요소 인증 화면을 찾으십시오:
- "애플리케이션" 타일을 클릭하십시오.
- 애플리케이션 페이지에서 “2단계 인증(2 Factor Auth)” 타일을 클릭하십시오:
- “2단계 인증” 페이지에 들어가면 “새로 만들기” 버튼을 클릭하세요.
표시되는 옵션은 다음과 같습니다:

사용 가능한 다양한 옵션에 대한 설명은 다음과 같습니다:
1. 이름 : 이 2요소 인증(Two Factor Authentication) 인스턴스의 이름
2. 설명: 간단한 설명
3. CallerID : 아웃바운드 발신이 활성화된 경우, 아웃바운드 통화를 걸 때 사용되는 CallerID입니다.
4. SenderID : 이는 SMS/문자 메시지 발송 시 사용될 SMS/문자 발신자 ID(From number)입니다. 미국/캐나다의 경우 이 옵션을 선택하기 전에 계정에 SMS 사용이 가능한 전화번호가 있어야 합니다.
5. Allow Dialing(전화 걸기 허용): 이 옵션을 사용하면 최종 사용자/방문자가 전화를 받아 전화번호를 인증할 수 있습니다. “Yes”(예)로 설정하면 또 다른 옵션 집합이 표시됩니다. 설명은 아래로 스크롤하십시오.
6. PIN 길이 : PIN 길이, 기본값은 4자입니다
7. POST URL : 설정할 수 있는 가장 중요한 옵션 중 하나입니다. 인증/확인 정보를 보내는 데 사용할 URL입니다. 모든 처리는 서버 측에서 이루어지므로 최종 사용자는 이 URL을 알 수 없습니다.
8. Local Post URL(로컬 POST 전송 URL): 당사 애플릿이 클라이언트 측 인터페이스에서 HTTP POST 요청을 보내는 URL입니다. 애플리케이션은 이를 받아 사용자의 가입 또는 로그인 처리를 이어갈 수 있습니다.
9. DIV ID : 당사의 2요소 인증 앱은 이 div id를 사용하여 드롭인 UI(사용자 인터페이스)를 표시합니다. 이 값은 페이지의 HTML 코드에서 빈 DIV로 정의해야 합니다.
예를 들어 DIV ID를 "2fa"로 설정했다면, 로그인/가입 페이지를 편집하여 다음과 같이 빈 div를 추가해야 합니다:
. 이곳에 2FA 애플릿이 표시됩니다.
10. 인증 유형 : 두 가지 옵션이 있습니다. "URL로 전송"(Post URL)(위의 "7. POST URL"에서 설명한 URL/옵션을 호출합니다)과 "직접 활성화"(Enable Directly)(양식이 "8. 로컬 전송 URL"(Local Post URL)로 바로 전송되도록 허용하며, 보안성이 더 낮습니다)입니다.
11. 도메인 : 웹사이트에서 사용하는 도메인으로 이를 제한할 수 있으며 제한해야 합니다. 웹사이트가 www.test.com인 경우, 2FA 앱이 해당 도메인에서만 작동하도록 사용을 이 도메인으로 제한하십시오.
12. Captcha 표시 : 이 옵션은 삽입형 2FA 사용자 인터페이스에서 Captcha 표시를 제어합니다.
13. 최대 재시도 횟수: 방문자당 재시도를 몇 회까지 허용하시겠습니까?
14. 고유 식별자 : 이 2FA 드롭인 애플릿에 사용할 고유 식별자입니다. 사용 방법은 나중에 설명하겠습니다(이 문서를 계속 읽어 주세요 :) )
15. SMS 최대 재시도 횟수 : 최종 사용자가 SMS 전송 재시도를 몇 번까지 허용해야 합니까?
16. 최대 통화 재시도 횟수 : 최종 사용자가 자신의 번호로 전화를 다시 시도하도록 몇 번까지 허용해야 합니까?
17. SMS 메시지 : 구성 가능한 SMS 메시지를 보낼 수 있습니다(옵션은 아직 제공되지 않음)
18. 도움말 링크 : 삽입형 2FA 애플릿에 표시될 도움말 링크입니다. 지정하지 않으면 아무것도 표시되지 않습니다.
“Allow Dialing”을 yes(예)로 설정하면 다음 옵션을 사용할 수 있습니다:

추가 옵션에 대한 설명은 다음과 같습니다:
1. 오디오 선택: 사용자에게 인증 PIN 번호를 어떤 방식으로 제공할지 선택합니다. 선택 가능한 항목은 TTS와 Audio입니다. Audio를 선택하면 "텍스트 음성 변환 (Text to speech)"와 "텍스트 음성 변환 언어 (Text to speech language)" 옵션이 숨겨지고 "사전 녹음 음성 종류 (Prerecorded audio voice)"(어떤 음성을 사용할지)와 "사전 녹음 음성 언어 (Prerecorded audio voice language)"로 대체됩니다. 아래와 같습니다:

2. 텍스트 음성 변환 : 오디오 선택이 "TTS"로 설정된 경우, TTS 엔진이 최종 사용자에게 읽어줄 텍스트입니다(TTS 요금이 적용됩니다).
3. Text to speech language(텍스트 음성 변환 언어): 텍스트를 음성으로 읽을 때 사용할 언어입니다.
4. Allow extension dialing(내선번호 입력 허용): yes(예)로 설정하면 최종 사용자가 자신의 내선번호도 입력할 수 있습니다. 따라서 직통 번호가 있는 사용자뿐 아니라 IVR을 거쳐 연결되는 사용자에게도 연락할 수 있습니다.
5. 최대 통화 요금 : 아웃바운드 통화 비용을 직접 부담하므로, 이러한 통화의 분당 비용을 제한할 수도 있습니다. 최종 사용자가 위성 전화로 인증하는 것은 원하지 않으실 것입니다(매우 비쌀 테니까요, 아이고!)
6. 인사말 기다리기(Wait for hello) : "No"로 설정하면 통화가 응답되자마자 시스템이 PIN 번호를 읽어 줍니다. "Yes"로 설정하면 시스템이 먼저 첫 인사말을 기다립니다(전달 성공률이 다소 개선되지만, 일부 사용자가 PIN 번호를 듣기 전에 통화를 끊을 수 있습니다. 이 옵션을 사용하면 일반적으로 약 3%의 사용자가 PIN을 듣기 전에 통화를 끊습니다).
이러한 옵션을 모두 설정한 뒤 ‘제출’(Submit) 버튼을 클릭하세요. 나중에 설명하겠다고 했던 ‘고유 식별자’(Unique Identifier)가 기억나세요? 지금 사용할 때입니다(아래 스크립트에서 ‘WHATEVERID’를 확인하세요).
웹사이트에 2단계 인증을 구현하는 방법은 다음과 같습니다:
<!DOCTYPE html>
<head>
<title>2Factor Authentication test</title>
<script type="text/javascript">
(function(d, script) {
script = d.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.onload = function(){
// remote script has loaded
};
script.src = 'https://api.multitel.net/tfa/js/WHATEVERID/WHATEVERCUSTOMER';
d.getElementsByTagName('head')[0].appendChild(script);
}(document));
</script>
</head>
<html>
<body>
<div id="multitel" width="100px"></div>
<body>
</html>코드 예제 · 소스 보기
해당 페이지를 열면 다음과 같은 화면이 표시됩니다:

최종 사용자가 전화번호를 입력하기 시작하면 국가가 표시되기 시작합니다:
미국 번호의 경우:

영국 번호의 경우:

최종 사용자는 "Send SMS"(SMS 보내기) 또는 "Phone Call"(전화)을 클릭할 수 있습니다. SMS나 전화로 받은 인증 코드를 입력한 다음 "Verify"(확인)를 클릭하면 됩니다.
설정된 경우, 해당 정보를 "WHATEVERCUSTOMERID"와 함께 전송합니다

