20
Two-Factor Authentication - Akhil Agrawal Purdue University

2FA Protocol Presentation

Embed Size (px)

Citation preview

Page 1: 2FA Protocol Presentation

Two-Factor Authentication

- Akhil Agrawal

Purdue University

Page 2: 2FA Protocol Presentation

Why is it required?

• Legacy Authentication & Authorization alone are not enough

• Passwords alone are not enough

• No way to verify the end user is our real subscriber

• No way to verify the end user is bound to his/her account services

Page 3: 2FA Protocol Presentation
Page 4: 2FA Protocol Presentation

How does it work?

• During any service/application activation, a random code (Passcode) will be provided

• Subscriber should call from home line and provide Passcode

• Subscriber account, home line Passcode will be verified

• Service/Application will be activated

Page 5: 2FA Protocol Presentation

What applications will use it?

•Any application on voice platform

•Phone2Go will be able to use it immediately

Page 6: 2FA Protocol Presentation

Different Approaches

• Place a call to Subscriber’s home phone, collect the Passcode & Verify

• Subscriber will place a call to a dedicated line from home phone, collect the Passcode & Verify

• Ask Subscriber to place a call to dedicated line from home phone with in short duration

Page 7: 2FA Protocol Presentation

Technologies Used

• Java

• MySQL

• Dialogic

Page 8: 2FA Protocol Presentation

Architecture

Page 9: 2FA Protocol Presentation

Implementation - Overview

Page 10: 2FA Protocol Presentation

Database – Physical ModelColumn Name Data Type Default Value Description

ID UNSIGNED

BIG INT

NOT NULL

PRIMARY KEY

AUTO INCREMENT

Primary Key.

TN INT NULL User's Landline TN.

ApplicationId VARCHAR(25) NULL Name of the Application.

ActivationKey VARCHAR(25) NULL Special parameters required by

respective external client.

MacAddress VARCHAR(25) NULL Mac Address of device.

Token INT NULL 6 digit code generated for 2FA.

DateAndTime DATETIME NOT NULL

Default now()

Date and Time when the code was

created.

2FAStatus VARCHAR(10) NULL Shows the status of the 2 Factor

Authentication.

Will accept only init and success as

values.

Page 11: 2FA Protocol Presentation

REST Module - Layered Architecture

Page 12: 2FA Protocol Presentation

REST Module Sequence Diagram

Page 13: 2FA Protocol Presentation

SIP Module - Layered Architecture

Page 14: 2FA Protocol Presentation

Use Cases

• User making the call and entering the correct code with no errors.

• User making the call without initiating the 2 Factor Authentication Request.

• User making the call after the set time limit.

• User entering the incorrect code.

Page 15: 2FA Protocol Presentation

SIP Module Sequence Design

Page 16: 2FA Protocol Presentation

No Initiated 2FA Request

Page 17: 2FA Protocol Presentation

User Called After Time Limit

Page 18: 2FA Protocol Presentation

User Entered Incorrect Auth Code

Page 19: 2FA Protocol Presentation

Mentors

• Mr. Naresh Dhiman – Architect and Design of the solution.

• Mr. Thirumal Ramachandruni, Mr. Umashankar Somasundaram – Java development.

• Mr. Mathivanan Manickam – Integration with Media Server.

Page 20: 2FA Protocol Presentation

Conclusion

• Completing this project for my internship has been a learning and enjoyable experience.

• I really hope my project helps add a layer of security to the existing and upcoming voice applications.