Давайте начнем с того, что идеальной защиты просто не существует. То, что придумал один человек, второй сможет или повторить, или сломать.
Ну и собственно к делу.
Двухфакторная авторизация подразумевает, что вы подтверждаете программе, что вы это вы и никто другой.
В принципе, раньше для этого хватало пары логин и пароль.
Но вы же не рады будете, если кто-то подсмотрев ваш логин и пароль вобьет их и получит доступ к программе.
Так и появилась вторая часть - теперь программа шлет письмо или sms чтобы подтвердить, что вы это вы.
Но и здесь никакой гарантии. Злоумышленник узнал ваш логин пароль, дождался, когда вы отошли покурить, зашел, прочитал смс-ку и вуаля, он уже зашел.
Это как пример. Поэтому и говорю, что 100% гарантии защиты не может дать никто, но это надежней, что однофакторная