none
Расшифровка файлов EFS. RRS feed

  • Вопрос

  • Здравствуйте.

    Из-за своей глупости, столкнулся с проблемой зашифрованных файлов при помощи EFS. На своём компьютере (Windows 7), который являлся членом домена, мною были зашифрованы файлы. Решил переустановить ОС, переустановил. Сертификат не импортировал. Если посмотреть в свойства (шифрования) зашифрованного файла, то вижу:

    Но дело в том, что тот сертификат, что находится в "Сертификат восстановления", уже как несколько лет просрочен (его срок закончился ещё в 2008 году). Можно ли как то всё же расшифровать файлы? В домене есть AD CS. Вычитал, что по умолчанию агентом восстановления является и Администратор (сертификат которого находится на первом контроллере домена в домене), к сожалению это отпадает, т.к. самого первого контроллера домена уже нет. На его замену пришли другие, да и в "Default Domain Policy" в EFS стоит сертификат, что на картинке выше (в поле "Сертификат восстановления"). Я так понимаю, что в GPO указан просто  сертификат, без закрытого ключа, т.е. если даже им и можно расшифровать, то нужен именно закрытый ключ (если да, то где его взять: у самого владельца или искать в архиве/backup ЦС?).

    Посоветуйте как быть. И если кто-нибудь знает ссылку, на какой-нибудь толковый документ подробно описывающий реализацию EFS в корпоративной среде с ЦС (AD CS), скиньте :)


    MCTS
    8 декабря 2011 г. 5:40

Ответы

  • Расскажу своё видение.

    Файл был изначально зашифрован специально созданным для этой цели системой симметричным ключом (FEK, File Encryption Key). Копии этого ключа кладутся рядом с файлом и шифруются публичными ключами 1) шифрующего пользователя 2) агента восстановления (DRA). Раз Private Key шифровавшего пользователя утерян, единственной возможностью достать FEK остаётся DRA Private Key. Когда-то таковой однозначно существовал, иначе у него не было бы парного Public Key, который хранится в доменной политике. DRA Private Key остался лежать в профиле пользователя, получившего сертификат DRA.

    А теперь, внимание, вопрос: кто из ваших пользователей был назначен DRA и получил соответствущий сертификат? Где он получил сертификат, на каком компьютере? Сохранился ли его профиль на этом компьютере, ибо Private Key лежит именно в профиле?

    А всё остальное к результату не приведёт. Создание нового DRA не поможет достать FEK, зашифрованный сертификатом старого DRA.


    MCITP: Enterprise Administrator; MCT; Microsoft Security Trusted Advisor; CCNA; CCSI
    14 декабря 2011 г. 8:10

Все ответы

  • Попробуйте воспользоваться статьёй http://www.elcomsoft.ru/WP/advantages_and_disadvantages_of_efs_and_effective_recovery_of_encrypted_data_ru.pdf
    Да, я Жук, три пары лапок и фасеточные глаза :))
    8 декабря 2011 г. 12:02
    Модератор
  • Попробуйте воспользоваться статьёй http://www.elcomsoft.ru/WP/advantages_and_disadvantages_of_efs_and_effective_recovery_of_encrypted_data_ru.pdf
    Да, я Жук, три пары лапок и фасеточные глаза :))

    Спасибо за совет. Прочитал и у меня иная ситуация :) У меня нет ключей и спец. ПО не подходит в таком случае. У меня есть сертификат агента восстановления. Но вот можно ли им воспользоваться - я не знаю, т.к. никогда не разбирался подробно с EFS.
    MCTS
    9 декабря 2011 г. 12:35
  • Попробуйте воспользоваться статьёй http://www.elcomsoft.ru/WP/advantages_and_disadvantages_of_efs_and_effective_recovery_of_encrypted_data_ru.pdf
    Да, я Жук, три пары лапок и фасеточные глаза :))

    Спасибо за совет. Прочитал и у меня иная ситуация :) У меня нет ключей и спец. ПО не подходит в таком случае. У меня есть сертификат агента восстановления. Но вот можно ли им воспользоваться - я не знаю, т.к. никогда не разбирался подробно с EFS.
    MCTS


    Посмотрите http://www.sysadmins.lv/CategoryView,category,SecurityPKIEFS.aspx 

    При необходимости Агент восстановления может расшифровать файл двумя способами.

    • Экспортировать сертификат Агента восстановления и секретный ключ в .pfx-файл, выполнить импорт сертификата и ключа на том компьютере, где находятся файлы, а затем расшифровать необходимые файлы.
    • С помощью утилиты Windows Backup выполнить резервное копирование зашифрованных файлов, восстановить файлы на компьютере, где находится ключ восстановления, а затем расшифровать файлы. Этот вариант является более предпочтительным, так как не требует переноса ключа. 


    Да, я Жук, три пары лапок и фасеточные глаза :))

    10 декабря 2011 г. 8:36
    Модератор
  • Попробуйте воспользоваться статьёй http://www.elcomsoft.ru/WP/advantages_and_disadvantages_of_efs_and_effective_recovery_of_encrypted_data_ru.pdf
    Да, я Жук, три пары лапок и фасеточные глаза :))

    Спасибо за совет. Прочитал и у меня иная ситуация :) У меня нет ключей и спец. ПО не подходит в таком случае. У меня есть сертификат агента восстановления. Но вот можно ли им воспользоваться - я не знаю, т.к. никогда не разбирался подробно с EFS.
    MCTS


    Посмотрите http://www.sysadmins.lv/CategoryView,category,SecurityPKIEFS.aspx 

    При необходимости Агент восстановления может расшифровать файл двумя способами.

    • Экспортировать сертификат Агента восстановления и секретный ключ в .pfx-файл, выполнить импорт сертификата и ключа на том компьютере, где находятся файлы, а затем расшифровать необходимые файлы.
    • С помощью утилиты Windows Backup выполнить резервное копирование зашифрованных файлов, восстановить файлы на компьютере, где находится ключ восстановления, а затем расшифровать файлы. Этот вариант является более предпочтительным, так как не требует переноса ключа. 

     


     

    Да, я Жук, три пары лапок и фасеточные глаза :))


    При попытке Экспорта того сертификата (из Default Domain Policy), нет возможности экспортировать .PFX (только первые два .CER и .P7B), я так понимаю, что секретный ключ хранится не в GPO, а в ЦС, так? Если да, то это нужно уже обращаться к архивам ЦС. И отразится ли это как-нибудь на том, что этот сертификат "протух" ещё в 2008 году?
    MCTS
    12 декабря 2011 г. 12:05
  • При попытке Экспорта того сертификата (из Default Domain Policy), нет возможности экспортировать .PFX (только первые два .CER и .P7B), я так понимаю, что секретный ключ хранится не в GPO, а в ЦС, так? Если да, то это нужно уже обращаться к архивам ЦС. И отразится ли это как-нибудь на том, что этот сертификат "протух" ещё в 2008 году?
    MCTS

    Не должно, надеюсь, что у Вас был создан агент восстановления EFS. Он должен Вам позволить расшифровать файлы.
    Да, я Жук, три пары лапок и фасеточные глаза :))
    12 декабря 2011 г. 13:09
    Модератор
  • При попытке Экспорта того сертификата (из Default Domain Policy), нет возможности экспортировать .PFX (только первые два .CER и .P7B), я так понимаю, что секретный ключ хранится не в GPO, а в ЦС, так? Если да, то это нужно уже обращаться к архивам ЦС. И отразится ли это как-нибудь на том, что этот сертификат "протух" ещё в 2008 году?
    MCTS

    Не должно, надеюсь, что у Вас был создан агент восстановления EFS. Он должен Вам позволить расшифровать файлы.
    Да, я Жук, три пары лапок и фасеточные глаза :))

    Ну как же не должно, если я пишу, как есть :) Я так понимаю, что тот самый сертификат и есть агент восстановления (если я не прав, поправьте  меня). Но в целях безопасности, сертификат в Default Domain Policy, как я понимаю с открытым ключом (т.е. для шифрования). А вот для расшифровки (для чего нужен закрытый ключ), хранится в другом месте (и логично, что это место ЦС). Так?
    MCTS
    13 декабря 2011 г. 4:59
  • Воспользуйтесь командой cipher -r  на контроллере домена, пересоздайте пару .cer и .pfx для builtin administrator. В политике Default Domain Policy->Computer Configuration->Policies->Windows Settings-> Security Settings->Public key Policies->Encrypting File System удалите старый просроченный сертификат администратора и выбрав из контекстного меню Add Recovery Agent Wizard --> Brows folder укажите тот файл, который создался посредством cipher -r, а именно файл с расширением .cer (сертификат агента восстановления). Примените групповую политику, что бы на стороне клиента изменения вступили в силу. Зайдите на клиентскую машину под агентом восстановления, запустите  файл сгенерированный ранее, с расширением .pfx.  А потом пробуйте  расшифровать файл.  Иногда полезно использовать cipher /u , в случае если в свойствах зашифрованного файла не отобразились изменения относительно агента восстановления. Симулировала Вашу ситуацию, у меня работает. Файл расшифровался. Это не единственный вариант решения проблемы, есть и другие способы. Но этот тработает.



    • Изменено Kate Yudina 13 декабря 2011 г. 13:31
    13 декабря 2011 г. 13:28
  • Воспользуйтесь командой cipher -r  на контроллере домена, пересоздайте пару .cer и .pfx для builtin administrator. В политике Default Domain Policy->Computer Configuration->Policies->Windows Settings-> Security Settings->Public key Policies->Encrypting File System удалите старый просроченный сертификат администратора и выбрав из контекстного меню Add Recovery Agent Wizard --> Brows folder укажите тот файл, который создался посредством cipher -r, а именно файл с расширением .cer (сертификат агента восстановления). Примените групповую политику, что бы на стороне клиента изменения вступили в силу. Зайдите на клиентскую машину под агентом восстановления, запустите  файл сгенерированный ранее, с расширением .pfx.  А потом пробуйте  расшифровать файл.  Иногда полезно использовать cipher /u , в случае если в свойствах зашифрованного файла не отобразились изменения относительно агента восстановления. Симулировала Вашу ситуацию, у меня работает. Файл расшифровался. Это не единственный вариант решения проблемы, есть и другие способы. Но этот тработает.




    Зашёл на контроллер домена под Administrator, создал (или пересоздал) пару .cer и .pfx:

    cipher.exe /R:RecoveryAgent

    После скопировал эти файлы на свой рабочий (доменный) компьютер. Добавил Агента восстановления данных(RecoveryAgentcer.cer) в локальную политику безопасности на своём ПК (делаю этот под доменной учёткой, которая является администратором на рабочем ПК, но не Domain Admins). Так же, что бы было доверие к этому сертификату, добавил его ещё в "Доверенные корневые центры сертификации".

    Далее захожу под Administrator на свой рабочий комп, запускаю RecoveryAgentcer.pfx, т.е. импортирую этот сертификат, ввожу пароль, на следующем шаге выбираю "Автоматически выбирать хранилище на основе типа сертификата" - Готово. Пытаюсь открыть зашифрованные файлы, пишет "нет доступа". Запускаю cmd:

    C:\Users\Administrator>cipher /u /n
    Не удается найти указанный файл.

    Если же, я захожу на свой коми под простой учёткой (которая является админом на этот ПК), то команда cipher /u /n успешно находит все зашифрованные файлы на ПК, но почему то, в свойствах зашифрованного файла не отобразились изменения относительно агента восстановления. Пытался так же, импортировать RecoveryAgentcer.pfx под своей учеткой, т.е. что бы моя рабочая учётная запись тоже могла читать зашифрованные файлы, но тоже не помогло.

    Подскажите пожалуйста, что я упустил?

    И разве вновь созданные сертификаты восстановления смогут расшифровать файлы, зашифрованные до создания этих сертификатов по восстановлению (спрашиваю это, для общего развития)?

     


    MCTS
    14 декабря 2011 г. 7:04
  • Расскажу своё видение.

    Файл был изначально зашифрован специально созданным для этой цели системой симметричным ключом (FEK, File Encryption Key). Копии этого ключа кладутся рядом с файлом и шифруются публичными ключами 1) шифрующего пользователя 2) агента восстановления (DRA). Раз Private Key шифровавшего пользователя утерян, единственной возможностью достать FEK остаётся DRA Private Key. Когда-то таковой однозначно существовал, иначе у него не было бы парного Public Key, который хранится в доменной политике. DRA Private Key остался лежать в профиле пользователя, получившего сертификат DRA.

    А теперь, внимание, вопрос: кто из ваших пользователей был назначен DRA и получил соответствущий сертификат? Где он получил сертификат, на каком компьютере? Сохранился ли его профиль на этом компьютере, ибо Private Key лежит именно в профиле?

    А всё остальное к результату не приведёт. Создание нового DRA не поможет достать FEK, зашифрованный сертификатом старого DRA.


    MCITP: Enterprise Administrator; MCT; Microsoft Security Trusted Advisor; CCNA; CCSI
    14 декабря 2011 г. 8:10