cat_mucius: (Default)
cat_mucius ([personal profile] cat_mucius) wrote2013-12-06 12:48 am
Entry tags:

(no subject)

Развлекаюсь - научился авторизироваться в ЖЖ по отпечатку пальца. :-)

Как это работает?

0. Есть свой домен в DNS, захостенный на Google Apps.
1. Иду по адресу mail.domain.name, попадаю на Гугл.
2. Гугл видит, что для домена включён Single Sign-On, и перекидывает браузер на мой ADFS-сервер.
3. ADFS-сервер требует предъявить клиентский сертификат.
4. Секретный ключ от сертификата хранится на моём лэптопчике и защищён TPM - нечто вроде чипа смарт-карты, только на материнке.
5. TPM требует, прежде чем расшифровать ключ, предъявить пароль или отпечаток пальца.
6. Провожу палец, браузер предъявляет сертификат.
7. ADFS-сервер передаёт сертификат в Active Directory, AD подтверждает, что он мой.
8. ADFS перекидывает обратно на Гугл с SAML-токеном "не волновайтесь, свои".
9. Получаю полноценный гугл-аккаунт, со всеми наворотами.
10. Иду в LiveJournal и выбираю залогиниться через Гугл с помощью oAuth. Бинго.


Если отмахнуться от вопроса доверия к Гуглю, то схема по моему вкусу близка к идеальной:
* никаких shared secrets между мной и сайтами,
* никаких паролей и кодов, которых надо помнить,
* тот input, что мне нужно вводить (отпечаток пальца) используется только на моём компе и не пересылается никуда,
* правила, регулирующие, как часто мне нужно доказывать, что я - это я, тоже местные, и устанавливаются мною, а не Гуглем и не ЖЖ.
* секретный ключ практически неизвлекаем,
* ADFS-сервер не может имперсонировать меня в AD и исполнять под моим именем код,
И вообще, используются одним махом все современные навороты в области - claim-based authentication, сертификаты + TPM, биометрия, а это прикольно.

Что б ещё наворотить? :-)

Post a comment in response:

You may post here only if cat_mucius has given you access; posting by non-Access List accounts has been disabled.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting