Как стать автором
Обновить

Комментарии 63

Давно пора было заменить, писать свою GINA.dll не очень приятно.
Мне к счастью не приходилось, поэтому не знаю как было раньше. Может расскажете в двух словах?
Вкратце примерно так: при входе WinLogon загружает msgina.dll, которая экспортирует штук 20 функций. Писать с нуля — задача на любителя. Обычно пишут обертку на стандартной. Как правило «заворачивают» все функции.
Если очень интересно, то можно почитать об этом тут: www.rsdn.ru/article/baseserv/extgina.xml
Спасибо за полезную информацию! :)
О да, я помню это извращение! ))
Дебагинг всего этого был просто неописуемым ))

Помню, чтобы была возможность загрузиться, когда что-то пошло не так, я засунул свою gina.dll на флешку, и если что — выдирал ее из компа )))
удаленную отладку в совокупности с виртуальной машиной надо использовать под такие вещи имхо.
Не уверен, что это можно отлаживать удаленной отладкой… В любом случае, я тогда совсем зеленый был, и про такие вещи как удаленная отладка и виртуальные машины еще не слышал :)
можно, почему нельзя… под ntsd можно загнать winlogon изменив gflags-и, а можно и msvsmon сервисом поставить и работать через студии как обычно… по крайней мере через ntsd я отлаживал винлогон, но это было еще в win2k, может что и поменялось…
Спасибо за информацию, приму к сведению )
о! спасибо за линк!
Есть замечательный OpenSource проект pGina — там достаточно написать плагин, обязанность которого авторизовать.
(Я писал плагин, чтобы ребёнку ограничить время сидения за компьютером: другие программы, такие как TimeBoss, он как-то обходит)
Рано или поздно — и это обойдет :)
40 тысяч обезьян улыбнули

А если флешка потеряется?
значит удаляем дллку, чтобы тот кто её нашел не сильно радовался, и входим по паролю :)
вход по паролю не отключаем — более того, credential providers и фильтры в безопасном режиме не работают :)
поправлюсь, они не работают по умолчанию, но через групповую политику их можно заставить работать… но я бы не рискнул :)
By флешка будет не единственный способ аутентификации?

Т.е. сможем ли мы потом войти by руки?

// Весь код и логику не читал
мы сделал credential provider. он нам дал дополнительный вариант входа — по флешке. старые мы не трогали => они остались, т.е. так же пароль, отпечаток пальца, что было — то осталось.

чтобы убрать лишнее — надо либо написать фильтр либо убрать запись в реестре о других провайдерах входа.
Пароль классный. Остальное не читал.
Я знаю человека с таким-же паролем. Пора заносить в словари.
пора читать литературу ;)
С. Лукьяненко — Лабиринт Оражений :)
Ах вот оно что :)
так и хочется спросить
«Один на всех?!» (с)
Пора пить ноотропил;)
С. Лукьяненко — «Фальшивые зеркала»

;)
я имел ввиду трилогию а не первую книгу ;)

пора пить гиннес из канистры ;)
Вообще, глупо хранить в флешке или в коде провайдера пароль. Надо либо его там не хранить, либо если этого требует модель безопасности, хранить уникальный (для провайдера) код.
само собой. с другой стороны — что мешает в провайдере хранить шифрованный ключ, а на флешке — ключ шифрования?
я хотел простое решение для домашнего компьютера, а не безопасное для энтерпрайза.
НЛО прилетело и опубликовало эту надпись здесь
На учебе по линуксу была именно такая задача: вход по флешке. Ничего не кодили. Савили пакеты, генерили ключ и все. Не для холивара…
Теперь если на учёбе по винде будет именно такая задача, поставьте пакет автора топика. Ничего не надо будет кодить.
Ну если можно поставить пакет, то можно вообще задействовать TPM с аппаратным идентификатором вроде iButton + биометрия с полностью шифрованными разделами. Это не проблема. Было бы желание, ну и под виндовс такие пакеты как правило платные + цена самих tpm.
про обезьянм — это из лабиринта отражений Лукъяненко.

а если потеряется флешка — винду придется сносить. это как со смарт-картами, если настроить аутентификацию на одного юзера.
Ничего сносить не придётся, это один из способов логина. Потерялась флешка — удалите dll, зайдя из Safe Mode, и логиньтесь дальше со своим обычным паролем.
а можно будет такую флешку восстановить при потере? ну данные на ней (ключ) засэйвинь в интернете где-нибудбь например
скажу по секрету что очень редко действительно надо сносить винду. в данном случае есть масса способов решить проблему не снося винду, от не-выключения стандартного режима входа по паролю(да-да, под одним и тем же пользователем можно войти разными способами!), до исправления реестра из диска восстановления винды :)
Потерялась смарт-карта — выписали пользователю новый сертификат на новую смарт-карту.
Или Вы про какой-то другой метод работы со смарт-картами?
И только сейчас обратил внимание на дату, мои извинения.
Сделайте конфигуратор
а ещё переписать всё без заплаток, сделать конфигуратор, удобный установщик, гарантировать безопасность и надежность и отсутствие утечек памяти — так можно и свой коммерческий продукт сделать.

проблема в том что это всё — уже дело не двух вечеров, а больше :(
Мне кажется я написал только про конфигуратор? Я ошибаюсь?
Ну что, кто реализует целую утилиту?))
интереснее сделать авторизацию не по флешке, а по «Bluetooth»

например подходим к компьютеру, активируем — нас впускает
отходим, сигнал пропадает или ослабевает — блокировка
технически — вход можно реалиховать так же. только сканировать все PNP-устройства на предмет виртуального ком-порта или чего-либо ещё(смотря какой bluetooth-профиль используем), а на устройстве+компьютере настроить автоматический pairing в случае нахождения девайса в видимом радиусе :)

впринципе вышеуказанное + сервис/приложение работающее в фоне которое по пропадании коннекта — блокирует винду = то что вы хотите :)

а вообще такие решения уже есть, насколько я знаю…
по ID устройства, теоретически речь идет только о телефонах/кпк, хотя глобально — без разницы

да, подобное решение реализовано, но не сработало, сделано уж больно криво
села батарея — приехали :)
у меня запасная всегда есть )

опять же вход по паролю никто не отменял.
даже вход иногда и не нужен по ключу, больше интересно, когда позвали или куда-то срочно нужно отойти, а заблокировать машину забыл.

а таймаут пароля через 1/5/10/30… минут «не активности» не есть хорошо
Какая-то софтинка для сони-ериксонов могла блокировать компьютер по исчезновению телефона из пределов видимости. Логин реализован не был. С другой стороны, дело было года три назад, может уже и изменилось что… Вон, в описании Rohos Logon про блютус что-то написано.

Лично мне интереснее вариант использования чего-нибудь типа проксимити-карты… Но для нее специально обученный ридер надо покупать.
про нее и говорил, единственноч что нашел с Bluetooth, но не сумел корректно завести ее.

если аналогов не найдется, покопаю еще раз ее
Если кому хочется готового, то можно глянуть на www.rohos.ru/products/rohos-logon-key/ или www.dekart.com/products/access_control/logon/

За деньги, но демка есть и там, и там. Декартом я несколько лет назад пользовался под ХР, вроде особых проблем не было. Потом надоело. :)
Интересно, но пара небольших замечаний.
Во-первых, все устройства (в частности и диски и мыши) являются наследниками CIM_LogicalDevice.
Во-вторых, вместо итерирования всех устройств с последующим сравнением, лучше сразу создавать WQL запрос с ключевым словом WHERE:
SELECT * FROM CIM_LogicalDevice WHERE PNPDeviceId = 'USBSTOR\DISK&VEN_CBM&PROD_FLASH_DISK&REV_5.00\192023004CB4C702&0'
автор упрям и усидчив.
вы не представляете как вы ошибаетесь :)
автору просто было очень скучно :(
Credential Provider — это объект COM?
да
ну значит в теории то же самое можно сделать и на .NET.
не хотите написать вторую часть статьи? :)
сделать то можно, но лично мне не кажется правильным писать такие вещи на управляемом коде… если при логоне начнет подгружаться CLR ради такой маленькой вещи то это не очень хорошо ИМХО.

как бы я ни любил .NET :)
а в чем проблема?
проблема в том что он грузится все-таки не мгновенно.
хотя попробовать написать можно, я попробую и напишу о результатах…
вот этот вопрос и интересно исследовать.
мне кажется нормально там все со скоростью загрузки должно быть.
Ура! У меня заработало! Спасибо автору статьи!!!
pam_usb for Windows…
Как поживает проект на новых Windows 7?
На моей WM_DEVICECHANGE не приходит…
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории