<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Vadims Podans's blog - Security | PKI | EFS</title>
    <link>http://www.sysadmins.lv/</link>
    <description>PowerShell powered</description>
    <image>
      <url>http://www.sysadmins.lv/images/imgusr/bilde.jpg</url>
      <title>Vadims Podans's blog - Security | PKI | EFS</title>
      <link>http://www.sysadmins.lv/</link>
    </image>
    <language>en-us</language>
    <copyright>Vadims Podāns</copyright>
    <lastBuildDate>Wed, 16 Dec 2009 20:28:39 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>vpodans@sysadmins.lv</managingEditor>
    <webMaster>vpodans@sysadmins.lv</webMaster>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=bbc83c95-0876-449a-bdae-b2e9683a6b01</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,bbc83c95-0876-449a-bdae-b2e9683a6b01.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,bbc83c95-0876-449a-bdae-b2e9683a6b01.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=bbc83c95-0876-449a-bdae-b2e9683a6b01</wfw:commentRss>
      <title>Осторожно, Private key strong protection!</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,bbc83c95-0876-449a-bdae-b2e9683a6b01.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,bbc83c95-0876-449a-bdae-b2e9683a6b01.aspx</link>
      <pubDate>Wed, 16 Dec 2009 20:28:39 GMT</pubDate>
      <description>&lt;div&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Примечание:&lt;/font&gt;&lt;/strong&gt; данный материал публикуется как обязательный для знания IT-специалистами, которые занимаются или только собираются заниматься темой &lt;strong&gt;PKI&lt;/strong&gt; (&lt;em&gt;Public Key Infrastructure&lt;/em&gt;).&lt;/p&gt;  &lt;p&gt;Мне иногда задают вопрос про сущность этой опции Enable private strong protection, а так же встречаются любители обезопасить свои ключи данной опцией. Итак, что это такое? Private key strong protection позволяет вам шифровать ваш закрытый ключ отдельным паролем и является некоторым подобием поведения, когда сертификат находится на смарт-карте. Включить данную опцию вы можете при энроллменте или импорте сертификата. При энроллменте выберите нужный вам шаблон сертификата, нажмите &lt;strong&gt;Properties&lt;/strong&gt;, перейдите на вкладку &lt;strong&gt;Private key&lt;/strong&gt;, раскройте &lt;strong&gt;Key options&lt;/strong&gt; и поставьте галочку на &lt;strong&gt;Strong private key protection&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Private key options during certificate enrollment" border="0" alt="Private key options during certificate enrollment" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/Privatekeystrongprotection_11F0F/pksp1_2f699a3a-9975-4552-8b19-ef4c1185f820.png" width="508" height="502" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;после нажатия Ok, вылезет окошко, которое потребует у вас указать степень защиты и пароль (если выбран High):&lt;/p&gt;  &lt;div align="center"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Private key strong protection level select" border="0" alt="Private key strong protection level select" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/Privatekeystrongprotection_11F0F/pksp2_d0d6913c-6a12-4248-92ca-6ec7b3b4ff0e.png" width="449" height="605" /&gt; &lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Private key strong protection password input" border="0" alt="Private key strong protection password input" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/Privatekeystrongprotection_11F0F/pksp3_bb9b850c-c0fe-4a37-91a6-2ffa1f20ed4d.png" width="449" height="329" /&gt;&lt;/div&gt;  &lt;p&gt;Я выбрал уровень High и следующим окном меня попросили ввести пароль. Этот пароль не обязательно должен быть такой же как и пароль от учётной записи. Поэтому пароль можно указывать любой. И когда вы захотите использовать закрытый ключ от этого сертификата (например, подписать почтовое сообщение или аутентифицироваться по сертификату на веб-узле), то появится запрос для подтверждения использования закрытого ключа:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Private key strong protection permission request" border="0" alt="Private key strong protection permission request" src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/Privatekeystrongprotection_11F0F/pksp4_901e341f-45d7-48c4-806e-88965a8dfd8c.png" width="453" height="240" /&gt; &lt;/p&gt;  &lt;p&gt;Вот так оно и работает. Кажется, что это очень действенный способ для защиты закрытых ключей в софтовом хранилище (когда ключи хранятся на жёстком диске), однако тут можно очень легко нарваться на проблемы, что вы больше никогда не получите доступ к закрытому ключу. Поэтому данную опцию &lt;strong&gt;&lt;font color="#ff0000"&gt;категорически нельзя&lt;/font&gt;&lt;/strong&gt; использовать для:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;сертификатов компьютера&lt;/strong&gt;, которые хранятся в LocalMachine store &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;все сертификаты (например, SSL, IPsec), которые хранятся в компьютерном хранилище используются только учётной записью компьютера и диалоговое окошко с требованием подтвердить доступ к ключу появится у учётной записи LocalSystem, а вы не увидите этого запроса, в следствии чего сертификат невозможно будет использовать.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;для &lt;strong&gt;сертификатов EFS&lt;/strong&gt; пользователей &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;здесь кроется похожая засада. Дело в том, что шифрование и расшифровка файла (во всяком случае в Vista и выше) не происходит в окружении пользователя. При шифровании файла сертификатом EFS могло бы происходить примерно такой процесс:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Local Security Authority&lt;/strong&gt; — &lt;strong&gt;LSA&lt;/strong&gt; (&lt;em&gt;lsass.exe&lt;/em&gt;) проверяет наличие сертификата EFS в профиле пользователя или на смарт-карте. Если не находит, то в зависимости от настроек политик может запросить новый сертификат у CA или сгенерировать самоподписанный. Самоподписанный сертификат генерируется если в доменной сети не зарегистрировано ни одного CA или машина находится в рабочей группе и в политиках не запрещено использование самоподписанных сертификатов EFS; &lt;/li&gt;    &lt;li&gt;LSA генерирует симметричный ключ шифрования &lt;strong&gt;FEK&lt;/strong&gt; (&lt;em&gt;File Encryption Key&lt;/em&gt;) в закрытой и недоступной для пользователя области памяти; &lt;/li&gt;    &lt;li&gt;LSA этим симметричным ключом шифрует сами данные; &lt;/li&gt;    &lt;li&gt;LSA выбирает из профиля пользователя открытый ключ сертификата EFS и им шифрует симметричный ключ шифрования и записывает шифр в &lt;strong&gt;DEF&lt;/strong&gt; (&lt;em&gt;Data Encryption Field&lt;/em&gt;) файла. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Здесь как бы особого криминала нет, поскольку на данном этапе LSA ничего не знает про закрытый ключ, но при попытке расшифровать файл получается такая картина:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;LSA читает DEF файла и выясняет Thumprint сертификата, который использовался при шифровании симметричного ключа (FEK); &lt;/li&gt;    &lt;li&gt;LSA пытается взять закрытый ключ от сертификата, но его ожидаем облом. Закрытый ключ зашифрован паролем, который известен только пользователю. Т.к. lsass.exe — это системный процесс и работает в закрытой области памяти, не представляется возможным (по условиям безопасности) передать окно для ввода пароля в сессию пользователя. Просто это наиболее короткий путь к повышению своих привелегий &lt;img alt=":)" src="/smilies/happy.gif"&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Поэтому окошка вы никакого не видите и, следовательно, доступ к данным сразу же теряете. Чтобы избежать этого было сделано хорошее решение — не шифровать файлы вообще, если сертификат EFS защищён отдельным паролем и запросить/сгенерировать новый сертификат не представляется возможным. Т.е. на стадии 1 LSA попутно проверяет статус закрытого ключа. И если он защищён, то пробует запросить новый сертификат EFS для пользователя. Если CA недоступен или нет шаблона Basic EFS, то пытается сгенерировать самоподписанный. Если политиками запрещено использовать самоподписанные сертификаты EFS, то получаете ошибку и никакого шифрования не производится.&lt;/p&gt;  &lt;p&gt;Нужен ли этот Strong protection в реальной жизни? В реальной жизни есть смысл использовать смарт-карты, тем более сейчас всё больше приложений поддерживают их. И EFS в том числе. Тогда strong protection можно отключить на уровне политик:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;Computer Configuration –&amp;gt; Policies –&amp;gt; Windows Settings Security Options –&amp;gt; System Cryptography: Force strong key protection for user keys stored on the computer&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Если не уверены, что оно вам надо, то лучше отключить эту возможность на уровне домена. Включать эту политику не рекомендуется, поскольку она может привести к катастрофическим последствиям, что сертификаты у вас просто перестанут работать.&lt;/p&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=bbc83c95-0876-449a-bdae-b2e9683a6b01"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,bbc83c95-0876-449a-bdae-b2e9683a6b01.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / EFS</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=ff3a6fd4-89a2-4065-80a7-20bd56090e39</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,ff3a6fd4-89a2-4065-80a7-20bd56090e39.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,ff3a6fd4-89a2-4065-80a7-20bd56090e39.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=ff3a6fd4-89a2-4065-80a7-20bd56090e39</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <title>EFS и смарт-карты в Windows Server 2008 (часть 4, заключительная)</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,ff3a6fd4-89a2-4065-80a7-20bd56090e39.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,ff3a6fd4-89a2-4065-80a7-20bd56090e39.aspx</link>
      <pubDate>Sun, 21 Dec 2008 17:13:10 GMT</pubDate>
      <description>&lt;div&gt;&lt;P&gt;В предыдущих частях мы разговаривали о применении смарт-карт для хранения и использования ключей шифрования EFS в Windows Server 2008. Мы так же рассмотрели вопросы реализации агентов восстановления и самого процесса восстановления. Предыдущие 3 части:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx"&gt;EFS и смарт-карты в Windows Server 2008 (часть 1)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,a13d0c06-3608-42d9-b11e-0aef08354dd8.aspx"&gt;EFS и смарт-карты в Windows Server 2008 (часть 2)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,8b5e58cc-9017-4575-9c9c-17dd81c25866.aspx"&gt;EFS и смарт-карты в Windows Server 2008 (часть 3)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;И у нас остался только одна категория вопросов: что будет, если сертификат просрочен или будет отозван. В принципе, разницы в поведении между просроченными и отозванными сертификатами не будет, а именно:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;пользователи не могут шифровать новые файлы отозванными или просроченными сертификатами, но сохраняется возможность расшифровывать ранее зашифрованные файлы; 
&lt;LI&gt;агенты восстановления EFS файлов теряют возможность дешифрования файлов, которые были зашифрованы после истечения срока или отзыва сертификата агента восстановления. В этом случае когда пользователи шифруют файлы, то они заполняют только DDF, но не DRF, который остаётся пустым. 
&lt;LI&gt;агенты восстановления Key Archival так же утрачивают возможность восстановления закрытых ключей пользователей из базы CA, которые были сгенерированы после истечения срока Key Archival сертификата. В этом случае закрытые ключи пользователей не шифруются просроченными сертификатами агентов Key Archival. В результате извлечение BLOB файла из базы CA будет невозможно. Однако, эти агенты могут дешифровывать ключи пользователей, которые запрашивали сертификаты в период валидности сертификатов агентов Key Archival.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;В общем смысле понятно, что расшифровывать файлы/ключи можно с просроченными/отозванными сертификатами, но проводить новое шифрование уже невозможно.&lt;/P&gt;
&lt;P&gt;Вот теперь, я так полагаю, мы в достаточной мере рассмотрели вопрос использования смарт-карт для EFS. В качестве эпилога скажу, что рекомендуется использовать комбинированные шаблоны для агентов восстановления. Например, если агент восстановления будет хранить свои закрытые ключи от EFS и Key Archival на смарт-карте, то выгодней будет использовать шаблон Smart Card Logon и в его EKU добавить уже необходимые области применения (например, Key Archival), что упрощает процедуру эксплуатации таких сертификатов в будущем. Не нужно будет теперь заботиться, что отдельные сертификаты будут истекать в разное время и при компрометации смарт-карты придётся отзывать несколько сертификатов - достаточно будет отозвать один сертификат. То же самое касается и пользователей, которые используют смарт-карты. Достаточно в Smart Card Logon EKU добавить Basic EFS и всё будет хорошо. Почти хорошо, если у вас есть Enterprise или Datacenter редакция Windows Server :)&lt;/P&gt;
&lt;P&gt;Вопросы обновления сертификатов и прочие lifecycle эксплуатации (например, введение Certificate Autoenrollment и прочее) смарт-карт и EFS уже выходят за рамки моей статьи, поэтому вам придётся этот материал изучать самостоятельно. И на последок я подобрал несколько полезных ссылок, которые помогут с освоением данного материала:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc700811.aspx" target=_blank&gt;The Encrypting File System&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.microsoft.com/technet/security/smallbusiness/topics/cryptographyetc/protect_data_efs.mspx" target=_blank&gt;Protecting Data by Using EFS to Encrypt Hard Drives&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc738977.aspx" target=_blank&gt;Implementing Key Archival Walkthrough&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc755395.aspx" target=_blank&gt;Key Archival and Management in Windows Server 2003&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/library/bb457027.aspx" target=_blank&gt;Certificate Revocation and Status Checking&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b83c37c6-c022-488a-a135-568c8858c7ee&amp;amp;DisplayLang=en" target=_blank&gt;Certificate Autoenrollment in Windows Server 2003&lt;/A&gt; (.doc)&lt;/LI&gt;&lt;/UL&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=ff3a6fd4-89a2-4065-80a7-20bd56090e39"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,ff3a6fd4-89a2-4065-80a7-20bd56090e39.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / EFS</category>
      <category>Security / PKI / Smart Cards</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=8b5e58cc-9017-4575-9c9c-17dd81c25866</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,8b5e58cc-9017-4575-9c9c-17dd81c25866.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,8b5e58cc-9017-4575-9c9c-17dd81c25866.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=8b5e58cc-9017-4575-9c9c-17dd81c25866</wfw:commentRss>
      <title>EFS и смарт-карты в Windows Server 2008 (часть 3)</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,8b5e58cc-9017-4575-9c9c-17dd81c25866.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,8b5e58cc-9017-4575-9c9c-17dd81c25866.aspx</link>
      <pubDate>Thu, 18 Dec 2008 19:19:47 GMT</pubDate>
      <description>&lt;div&gt;&lt;P&gt;В предыдущих частях мы рассмотрели принципы работы EFS, изучили основные вопросы безопасности и доступности ключей, а так же показали как создавать агентов восстановления файлов EFS и агентов восстановления ключей:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx"&gt;EFS и смарт-карты в Windows Server 2008 (часть 1)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.sysadmins.lv/PermaLink,guid,a13d0c06-3608-42d9-b11e-0aef08354dd8.aspx"&gt;EFS и смарт-карты в Windows Server 2008 (часть 2)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Когда у нас все агенты восстановления подготовлены и подготовлены шаблоны &lt;STRONG&gt;EFS + Smart Card Logon&lt;/STRONG&gt;, то необходимо заранее подготовить смарт-карты и выпустить для них сертификаты. Для этого можно воспользоваться консолью MMC - &lt;FONT color=#0000ff&gt;certmgr.msc&lt;/FONT&gt; и выполнить запрос сертификата:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs10.3_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=efs10.3 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs10.3_thumb.jpg" width=642 height=452&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;пользователь выполнил запрос сертификата и драйвер предложил сразу положить сертификат на токен. Данную процедуру необходимо проделать для всех пользователей, которые будут шифровать файлы сертификатами и хранить их на смарт-картах. После этого можно приступать к настройке групповой политики:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efsgpo_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=efsgpo src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efsgpo_thumb.jpg" width=805 height=576&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;В &lt;STRONG&gt;Public Key Policies&lt;/STRONG&gt; нужно выбрать свойства &lt;STRONG&gt;Encrypting File System&lt;/STRONG&gt; и получим такое окно. Здесь у нас появилось много новых настроек, которых раньше не было. Вот скрин этого же окна в Windows Server 2003:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efsgpo1_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=efsgpo1 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efsgpo1_thumb.jpg" width=407 height=453&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;тут мы можем только или разрешить или запретить использование EFS. Пробежимся по настройкам новой консоли:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Encrypt the contents of the users's Documents folder&lt;/STRONG&gt; - при использовании этой опции будет зашифрована вся папка Documents пользователя. Особого смысла в ней не вижу. Но кому-то может пригодиться. 
&lt;LI&gt;&lt;STRONG&gt;Require a smart card for EFS&lt;/STRONG&gt; - опция, которая позволяет принудительно хранить EFS ключи шифрования на смарт-картах. Если эта опция включена, но смарт-карты не реализованы, то шифрование будет недоступно. Т.к. у нас смарт-карты есть, то выставляем здесь флажок. 
&lt;LI&gt;&lt;STRONG&gt;Create caching-capable user key from smart card&lt;/STRONG&gt; - данная опция позволяет кэшировать ключи шифрования для обеспечения возможности шифрования при изъятом токене или смарт-карте. Параметры кэширования настраиваются дополнительно на вкладке Cache. Если этот флажок сброшен, то будут действовать настройки кеширования драйвера смарт-карты. 
&lt;LI&gt;&lt;STRONG&gt;Enable pagefile encryption&lt;/STRONG&gt; - разрешает шифровать файл подкачки. При включении шифрования файла подкачки может замедлиться работа системы и увеличиться нагрузка на систему. Во всяком случае первый раз файл подкачки будет шифроваться достаточно долго. 
&lt;LI&gt;&lt;STRONG&gt;Display key backup notifications when user key is created or changed&lt;/STRONG&gt; - включает или отключает уведомление пользователя, что его ключ шифрования был создан или изменён.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Чуть ниже мы можем позволить пользователям генерировать самоподписанные сертификаты EFS при недоступности существующего сертификата или недоступности централизованного Enterprise CA. В нашем случае использование самоподписанных сертификатов будет запрещено.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; часто замечаю, что администраторы сетей сильно пренебрегают вопросами планирования инфтраструктуры PKI и в Enterprise среде не разворачивают Certification Authority (хотя технических препятствий зачастую просто нету), а используют самоподписанные сертификаты. Я постоянно утверждаю, что самоподписанные сертификаты - вселенское зло, поскольку они неуправляемы. Во-первых, им никто (кроме самого издателя) не доверяет, отсутствует механизм управления настройками сертификатов и отсутствуют механизмы отзыва сертификата при компрометации ключа. Особенно часто такие сертификаты используют для веб-серверов или для OWA (Outlook Web Access).&lt;/P&gt;
&lt;P&gt;И в самом низу указывается шаблон сертификатов, который будет использоваться для шифрования файлов. В моём случае это SM EFS. Если используются раздельные сертификаты для смарт-карт и EFS (версии 1), то следует оставить значение по умолчанию - Basic EFS.&lt;/P&gt;
&lt;P&gt;Когда групповые политики будут настроены, то можно приступать к самому процессу шифрования. Когда пользователь захочет зашифровать файл, то он должен на файле или папке выбрать &lt;STRONG&gt;Properties -&amp;gt; Advanced -&amp;gt; Encrypt contents to secure data&lt;/STRONG&gt;. И появится окно с предложением использовать сертификат смарт-каты для шифрования:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs10.2_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=efs10.2 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs10.2_thumb.jpg" width=487 height=251&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;После чего потребуется выбрать сертификат из списка доступных сертификатов на смарт-карте и которые пригодны для шифрования:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs10.4_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=efs10.4 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs10.4_thumb.jpg" width=832 height=515&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Выбрав указанный сертификат потребуется ввести PIN от смарт-карты или токена. После этого файл или папка будут зашифрованы. Во время текущего сеанса, когда смарт-карта или токен установлены шифрованные файлы будут открываться без необходимости дополнительного ввода PIN. Но при изъятии смарт-карты и при установке обратно, либо при первой попытке открытия шифрованного файла после перелогона в трее появится значок, говорящий, что требуется авторизоваться на смарт-карте:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs15_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=efs15 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20083_B153/efs15_thumb.jpg" width=442 height=99&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;и потребует ввода PIN в смарт-карту.&lt;/P&gt;
&lt;P&gt;Если ключ пользователя был утерян или временно недоступен, то назначенный групповой политикой агент восстановления EFS (как минимум должен иметь право Change extanded attributes на файл) проделывает точно такую же процедуру с вводом PIN от своего токена, где хранится ключ от EFS Recovery Agent и получает возможность расшифровать файл, как бы это сделал пользователь в штатном режиме. Но если токен был потерян, испорчен (т.е. угрозы похищения ключа нету), то не расшифровывать же все файлы пользователя? Можно расшифровывать, а можно и просто восстановить ключ пользователя из базы CA.&lt;/P&gt;
&lt;P&gt;Для восстановления ключа шифрования из базы CA потребуется выполнить следующие шаги:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;войти в систему под учётной записью, которая имеет право управления Certification Authority (обычно администратор), запустить консоль CMD и в ней выполнить следующую команду:&lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil -getkey &lt;EM&gt;6148fa9e000000000022&lt;/EM&gt; &lt;EM&gt;%path%\outblob&lt;/EM&gt;&lt;/FONT&gt;&lt;BR&gt;где &lt;STRONG&gt;6148fa9e000000000022&lt;/STRONG&gt; - серийный номер сертификата. Его можно посмотреть как в самом сертификате, так и в консоли Certifiaction Authority добавив в показ колонки Serial Number&lt;BR&gt;&lt;STRONG&gt;%path%\outblob&lt;/STRONG&gt; - путь к выходному BLOB файлу. Вывод команды должен выглядеть примерно так:&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;C:\Users\Administrator&amp;gt;certutil -getkey 6148fa9e000000000022 .\desktop\outblob&lt;BR&gt;Querying dc1.contoso.com\contoso-DC1-CA..................... &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;"dc1.contoso.com\contoso-DC1-CA"&lt;BR&gt;&amp;nbsp; Serial Number: 6148fa9e000000000022&lt;BR&gt;&amp;nbsp; Subject: CN=Administrator, CN=Users, DC=contoso, DC=com&lt;BR&gt;&amp;nbsp; UPN:administrator@contoso.com&lt;BR&gt;&amp;nbsp; NotBefore: 12/18/2008 10:26 AM&lt;BR&gt;&amp;nbsp; NotAfter: 12/18/2009 10:26 AM&lt;BR&gt;&amp;nbsp; Template: SMEFS, SM EFS&lt;BR&gt;&amp;nbsp; Version: 3&lt;BR&gt;&amp;nbsp; Cert Hash(sha1): 3c 43 ff 2d 0e 99 35 c4 a1 59 43 47 bc b6 50 91 1c b7 f5 8a &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Recipient Info[0]:&lt;BR&gt;CMSG_KEY_TRANS_RECIPIENT(1)&lt;BR&gt;CERT_ID_ISSUER_SERIAL_NUMBER(1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serial Number: 61312c8f000000000020&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Issuer: CN=contoso-DC1-CA, DC=contoso, DC=com&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subject: CN=Recovery Agent, CN=Users, DC=contoso, DC=com&lt;BR&gt;CertUtil: -GetKey command completed successfully.&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;Вот этот BLOB файл нужно передать (например, по электронной почте или через сервис мгновенных сообщений) пользователю, который в CA является агентом восстановления ключей и чей сертификат находится во вкладке Recovery Agents. 
&lt;LI&gt;получив этот файл агент восстановления должен установить смарт-карту или токен в ридер или USB, где находится закрытый ключ от KRA сертификата. Далее ему нужно запустить консоль CMD и в командной строке выполнить:&lt;BR&gt;&lt;FONT color=#0000ff&gt;certutil -recoverkey &lt;EM&gt;%path%\outblob user.pfx&lt;/EM&gt;&lt;/FONT&gt;&lt;BR&gt;где &lt;STRONG&gt;%path%\outblob&lt;/STRONG&gt; - путь к BLOB файлу, который был получен на шаге 2&lt;BR&gt;&lt;STRONG&gt;user.pfx&lt;/STRONG&gt; - имя PKCS #12 файла, который будет содержать пару из открытого и закрытого ключа пользователя. Вот так примерно выглядит вывод команды:&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;C:\Users\Recovery Agent&amp;gt;certutil -recoverkey outblob administrator.pfx&lt;BR&gt;dwFlags = CA_VERIFY_FLAGS_CONSOLE_TRACE (0x20000000)&lt;BR&gt;dwFlags = CA_VERIFY_FLAGS_DUMP_CHAIN (0x40000000)&lt;BR&gt;ChainFlags = CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT (0x40000000)&lt;BR&gt;HCCE_LOCAL_MACHINE&lt;BR&gt;CERT_CHAIN_POLICY_BASE&lt;BR&gt;-------- CERT_CHAIN_CONTEXT --------&lt;BR&gt;ChainContext.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100) &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;SimpleChain.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100) &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;CertContext[0][0]: dwInfoStatus=10c dwErrorStatus=0&lt;BR&gt;&amp;nbsp; Issuer: CN=contoso-DC1-CA, DC=contoso, DC=com&lt;BR&gt;&amp;nbsp; NotBefore: 12/15/2008 1:26 AM&lt;BR&gt;&amp;nbsp; NotAfter: 12/15/2013 1:36 AM&lt;BR&gt;&amp;nbsp; Subject: CN=contoso-DC1-CA, DC=contoso, DC=com&lt;BR&gt;&amp;nbsp; Serial: 6fc7646fe91510bc4631b9dcc08805e3&lt;BR&gt;&amp;nbsp; c3 44 cb 46 1d d8 d8 cf dc 35 fb 7c 27 cb 7d a1 d4 64 47 2c&lt;BR&gt;&amp;nbsp; Element.dwInfoStatus = CERT_TRUST_HAS_NAME_MATCH_ISSUER (0x4)&lt;BR&gt;&amp;nbsp; Element.dwInfoStatus = CERT_TRUST_IS_SELF_SIGNED (0x8)&lt;BR&gt;&amp;nbsp; Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100) &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Exclude leaf cert:&lt;BR&gt;&amp;nbsp; da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09&lt;BR&gt;Full chain:&lt;BR&gt;&amp;nbsp; c3 44 cb 46 1d d8 d8 cf dc 35 fb 7c 27 cb 7d a1 d4 64 47 2c&lt;BR&gt;------------------------------------&lt;BR&gt;Verified Issuance Policies: All&lt;BR&gt;Verified Application Policies: All &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Computed Hash: b3 57 bf 4b fe 18 16 bf 38 a4 17 00 17 27 4e b9 43 64 d4 14&lt;BR&gt;Decrypted PKCS7 Message Content &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;User Certificate:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serial Number: 6148fa9e000000000022&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Issuer: CN=contoso-DC1-CA, DC=contoso, DC=com&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subject: CN=Administrator, CN=Users, DC=contoso, DC=com&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cert Hash(sha1): 3c 43 ff 2d 0e 99 35 c4 a1 59 43 47 bc b6 50 91 1c b7 f5 8a &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Enter new password:&lt;BR&gt;Confirm new password:&lt;BR&gt;CertUtil: -RecoverKey command completed successfully.&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;После успешного расшифрования BLOB файла агенту восстановления будет предложено ввести и подтвердить пароль для .pfx файла, который нужно будет потом ввести при импорте файла в Certificate Store. 
&lt;LI&gt;Передать полученный файл пользователю любым доступным способом и сообщить пароль к нему. &lt;U&gt;Не следует и файл и пароль передавать одним путём (например, через почту или Messenger)&lt;/U&gt;.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Если же ключ был скомпрометирован (была утеряна смарт-карта и есть основания, что PIN известен 2-м и более лицам), то сертификат следует отозвать.&lt;/P&gt;
&lt;P&gt;Вот мы и рассмотрели полностью (не скажу, что очень детально, но достаточно сносно для первой хау-ту :) ) вопрос имплементации новой возможности Windows Vista/Windows Server 2008 - хранение и использование ключей EFS на смарт-картах. Осталось рассмотреть только один вопрос - что будет, когда различные сертификаты истекут или будут отозваны, который я постараюсь (если всё получится) осветить в заключительной 4-й части.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=8b5e58cc-9017-4575-9c9c-17dd81c25866"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,8b5e58cc-9017-4575-9c9c-17dd81c25866.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / EFS</category>
      <category>Security / PKI / Smart Cards</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=a13d0c06-3608-42d9-b11e-0aef08354dd8</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,a13d0c06-3608-42d9-b11e-0aef08354dd8.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,a13d0c06-3608-42d9-b11e-0aef08354dd8.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=a13d0c06-3608-42d9-b11e-0aef08354dd8</wfw:commentRss>
      <slash:comments>7</slash:comments>
      <title>EFS и смарт-карты в Windows Server 2008 (часть 2)</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,a13d0c06-3608-42d9-b11e-0aef08354dd8.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,a13d0c06-3608-42d9-b11e-0aef08354dd8.aspx</link>
      <pubDate>Tue, 16 Dec 2008 12:38:07 GMT</pubDate>
      <description>&lt;div&gt;&lt;P&gt;В &lt;A href="http://www.sysadmins.lv/PermaLink,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx"&gt;предыдущей&lt;/A&gt; части мы поговорили об основах работы шифрующей файловой системы EFS и основными трудностями, которые появляются при использовании EFS. И одной из важных задач становится защита ключей шифрования надёжным способом от взлома, но и обеспечить возможность восстановления данных при потере ключей шифрования и их доступность. Я уже отметил, что варианта у нас всего 2 - &lt;STRONG&gt;архивирование ключей на внешний контейнер&lt;/STRONG&gt; (например, смарт-карта или USB диск) либо &lt;STRONG&gt;Key Archival&lt;/STRONG&gt;, когда закрытые ключи дополнительно хранятся в базе Certification Authority. Причём, оба этих метода можно спокойно совместить. Но здесь Microsoft нас снова "радует" (что вполне ожидаемо) - Key Archival работает только при условии, что:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Certification Authority (CA) работает под управлением Windows Server 2003/2008 Enterprise/Datecenter Edition. 
&lt;LI&gt;CA является Enterprise CA, а не StandAlone CA. 
&lt;LI&gt;криптопровайдер (CSP) поддерживает хранение закрытых ключей.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Механизм &lt;STRONG&gt;Key Archival&lt;/STRONG&gt; работает следующим образом:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Клиент ищет доступный CA в базе AD и устанавливает с ним соединение. При соединении у CA запрашивается сертификат основанный на шаблоне &lt;STRONG&gt;CA Exchange&lt;/STRONG&gt; (который используется только для этих целей). 
&lt;LI&gt;Клиент удостоверяется, что сертификат валидный (имя в сертификате соответствует имени CA, срок годности сертификата ещё не истёк и т.д.) и проверяет списки CRL на предмет отзыва этого сертификата. &lt;U&gt;А так же клиент проверяет, что сертификат подписан именно тем CA, с которым он сейчас работает и на имя этого CA. Это гарантирует, что CA сможет расшифровать полученный на последующих этапах шифрованный закрытый ключ&lt;/U&gt;. 
&lt;LI&gt;Если с сертификатом всё в порядке, то клиент шифрует сгенерированный закрытый ключ открытым ключом сертификата CA Exchange. &lt;U&gt;Если это клиент Windows Vista/Windows Server 2008, то клиент может шифровать свой ключ новыми алгоритмами CNG (Cryptography Next Generation) и использовать алгоритм AES для шифрования&lt;/U&gt;. По сути, Windows XP тоже поддерживает AES, но эта поддержка была внедрена только начиная с SP1 и здесь для Windows XP нету возможности использовать AES. 
&lt;LI&gt;Далее клиент подготавливает полный запрос PKI для CA и этот запрос направляет в CA. 
&lt;LI&gt;CA в свою очередь дешифрует полученный запрос и сверяет соответствие закрытого и открытого ключа в запросе. 
&lt;LI&gt;Если соответствие подтверждено, то CA шифрует полученный закрытый ключ рандомным симметричным ключом с использованием 3DES или AES )(только для ОС Windows Vista и выше). 
&lt;LI&gt;Затем этот симметричный ключ шифруется одним или несколькими открытыми ключами агентов восстановления, которые определены в свойствах CA и которые допущены к архивированию ключей и сохраняет всё это в специальном &lt;STRONG&gt;BLOB&lt;/STRONG&gt; (&lt;EM&gt;Binary Large Object&lt;/EM&gt;) формате в своей базе.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Исходя из этой процедуры нетрудно представить процесс восстановления:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;администратор CA извлекает необходимый BLOB файл из базы CA. 
&lt;LI&gt;Т.к. этот файл зашифрован открытым ключом агента (или агентов) восстановления, то файл передаётся любому допустимому агенту восстановления для дешифрации. 
&lt;LI&gt;агент восстановления использует свой закрытый ключ для дешифрации файла и создаёт &lt;STRONG&gt;.pfx&lt;/STRONG&gt; файл, попутно защищая его паролем. 
&lt;LI&gt;&lt;STRONG&gt;.pfx&lt;/STRONG&gt; файл затем передаётся конечному пользователю, который у себя на машине импортирует пару из открытого и закрытого ключа в контейнер &lt;STRONG&gt;Certificate Store&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Для начала нам потребуются агенты восстановления, которые будут уполномочены восстанавливать ключи из базы CA. Для этого в CA существует шаблон &lt;STRONG&gt;Key Recovery Agent&lt;/STRONG&gt;. Из изменений, которые потребуются - на вкладке &lt;STRONG&gt;General&lt;/STRONG&gt; поставить галочку для публикации сертификата в AD и в &lt;STRONG&gt;Security&lt;/STRONG&gt; добавить нужных пользователей (&lt;U&gt;но лучше будет поместить нужных агентов восстановления в отдельную группу и ей назначить право Read и Enroll&lt;/U&gt;). Затем следует в консоли CA добавить этот шаблон в список издаваемых сертификатов. Когда эта процедура будет завершена агенты восстановления должны подать заявку на выдачу сертификатов восстановления.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; здесь стоит отметить, что автоматическая выдача сертификатов работать не будет. Администратор CA должен вручную одобрить каждый запрос в секции Pending Requests. После того как запрос будет одобрен, изданный сертификат появится в секции Crtificate Enrollment Requests. Если агент восстановления для запроса использует Windows 2000/XP/2003, то запрос необходимо произвести запрос сертификата используя Certificates Web Enrollment pages из интернет-браузера.&lt;/P&gt;
&lt;P&gt;Когда сертификат получен, то можно в CA разрешать &lt;STRONG&gt;Key Archival&lt;/STRONG&gt;. Но если у вас есть смарт-карты, то лучше экспортировать пару ключей &lt;STRONG&gt;Key Recovery Agent&lt;/STRONG&gt; на смарт-карту. В моём случае (используя &lt;STRONG&gt;Aladdin eToken Pro&lt;/STRONG&gt;) потребовалось выполнить стандартную процедуру экспорта сертификата в &lt;STRONG&gt;PKCS #12&lt;/STRONG&gt; файл (.pfx) и используя ПО токена импортировать сертификат на токен. При экспорте ключей в файл не забудьте поставить галочку для удаления ключей из Certificate Store в случае успешного экспорта. После этой операции агент восстановления перестаёт быть зависимым к своему профилю и будет неуязвим к атакам на профиль.&lt;/P&gt;
&lt;P&gt;Теперь администратор CA должен выбрать свойства CA и перейти на вкладку &lt;STRONG&gt;Recovery Ag&lt;/STRONG&gt;ents:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs3_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs3 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs3_thumb.jpg" width=406 height=534&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;В этом окне нужно переставить переключатель в &lt;STRONG&gt;Archive the key&lt;/STRONG&gt; и кнопкой &lt;STRONG&gt;Add&lt;/STRONG&gt; добавить сертификаты тех агентов восстановления, которые будут уполномочены для восстановления ключей. Именно этими сертификатами CA будет шифровать ключи пользователей.&lt;/P&gt;
&lt;P&gt;Следующим этапом будет изменение шаблонов для поддержки &lt;STRONG&gt;Key Archival&lt;/STRONG&gt;. &lt;U&gt;Шаблоны версии 1 не поддерживают данную функцию, а только V2 и V3, а эти шаблоны поддерживаются только в Windows Server Enterprise и Datacenter редакциях&lt;/U&gt;. Конкретно для EFS придётся создать новый шаблон версии 2 или 3:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs4_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs4 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs4_thumb.jpg" width=408 height=502&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Я его назвал &lt;STRONG&gt;SM EFS&lt;/STRONG&gt; (&lt;EM&gt;Smart Card EFS&lt;/EM&gt;). Изображение может отличаться от вашего случая. Я предполагаю, что у меня все CA будут работать под управлением Windows Server 2008. Для 2003 картинка может отличаться, но суть останется та же. Далее, нас заинтересует вкладка &lt;STRONG&gt;Request Hand&lt;/STRONG&gt;ling:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs5_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs5 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs5_thumb.jpg" width=409 height=505&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Здесь нужно поставить галочку напротив &lt;STRONG&gt;Archive subject's encryption private key&lt;/STRONG&gt;. Галочка ниже (&lt;STRONG&gt;Use advanced Symmetric algorithm to send key to the CA&lt;/STRONG&gt;) используется только для клиентов Windows Vista и выше. Если этим шаблоном будут пользоваться более ранние клиенты, то её выставлить нельзя! И последнее, что явно потребуется:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs6_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs6 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs6_thumb.jpg" width=406 height=503&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;драйвер токена Alddin eToken Pro для хранения сертификатов EFS на токене требует, чтобы на токене так же был и логонный сертификат&lt;/U&gt;, иначе он впадает в дикий ступор :) При использовании Windows Server Standard редакции потребуется 2 сертификата - отдельно на основе шаблона &lt;STRONG&gt;Smart Card Logon&lt;/STRONG&gt; и &lt;STRONG&gt;EFS Basic&lt;/STRONG&gt;. Т.е. не обязательно, чтобы один сертификат содержал все функции. Т.к. у меня CA работает под управлением Enterprise то я создал один шаблон и в &lt;STRONG&gt;Extensions&lt;/STRONG&gt; добавил необходимые политики действия, а именно - добавил &lt;STRONG&gt;Smart Card Logon&lt;/STRONG&gt;. Тогда я могу с использованием одного сертификата и аутентифицироваться в домене и шифровать файлы. Официальная документация требует, чтобы в списке CSP провайдеров был указан провайдер смарт-карты (токена), но в моём случае это не обязательно, поскольку при издании сертификата драйвер сам предлагает экспортировать сертификат на токен. Шаблон можно сохранять и назначить его для издания сертификатов:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Certificate Templates -&amp;gt; New -&amp;gt; Certificate Template to issue -&amp;gt; в списке выбрать SM EFS&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;И последняя часть, которая нам потребуется - указание агента восстановления для EFS.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; мы выше уже создавали агента восстановления, но у нас будет 2 различных агента восстановления - отдельно для EFS, который будет задан в GPO и агент восстановления ключей из базы CA. Это 2 совершенно разные роли и следует чётко различать назначение каждого агента.&lt;/P&gt;
&lt;P&gt;На практике по умолчанию агентом восстановления становится первый администратор первого контроллера домена в лесу Active Directory. В целях безопасности не следует его оставлять как есть. Для этого я создал новую учётную запись с именем Recovery Agent и добавил его в группу &lt;STRONG&gt;EFS Recovery&lt;/STRONG&gt;. Более ни в каких группах пользователь не состоит. Чтобы сделать его агентом восстановления нужно сначала разрешить групе EFS Recovery запрашивать сертификат на основе шаблона &lt;STRONG&gt;EFS Recovery Agent&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs7_4.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs7 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs7_thumb_1.jpg" width=408 height=485&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Я просто добавил право Read и Enroll для группы EFS Recovery. Затем пользователь, член EFS Recovery должен залогониться, запустить оснастку &lt;FONT color=#0000ff&gt;certmgr.msc&lt;/FONT&gt; и выполнить запрос сертификата:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs8_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs8 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs8_thumb.jpg" width=642 height=454&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;И ему будет предложен шаблон EFS Recovery Agent. Когда сертификат будет выдан, то у меня драйвер токена перехватил запрос и предложил положить сертификат на токен:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs9_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs9 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs9_thumb.jpg" width=642 height=454&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;и после нажатия на Ok потребуется ввести PIN токена:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs9.1_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs9.1 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs9.1_thumb.jpg" width=461 height=300&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Теперь этот сертификат хранится только на токене. &lt;U&gt;В установках по умолчанию для eToken Pro при извлечении токена из USB очищается весь контейнер Personal в Certificate Store&lt;/U&gt;. Поэтому когда агент восстановления извлекает токен, то его профиль больше не представляет никакой ценности в плане закрытых ключей, которыми можно восстанавливать EFS файлы. Как известно, при установке смарт-карты или токена в ридер или USB, то происходит копирование ключей с токена в хранилище Certificate Store. Т.к. по умолчанию сертификат шаблона EFS Recovery Agent не публикуется в AD, поэтому агент восстановления должен экспортировать &lt;STRONG&gt;.cer&lt;/STRONG&gt; (сертификат с открытым ключом) в папку вручную из программного хранилища. Именно эти сертификаты будут использоваться для шифрования ключей EFS и последующего сохранения в поле &lt;STRONG&gt;DRF&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Далее администратор должен открыть объект групповой политики нужного контейнера и перейти в секцию &lt;STRONG&gt;Encrypting File System&lt;/STRONG&gt;, как это показано на рисунке:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs9.2_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs9.2 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer20082_8F88/efs9.2_thumb.jpg" width=804 height=576&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Я уже удалил сертификат администратора по умолчанию и добавил сертификат нового агента восстановления EFS, который был сохранён самим агентом в &lt;STRONG&gt;.cer&lt;/STRONG&gt; файл.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; только после этого шага и применения этой политики на все компьютеры контейнера, к которому прилинкована политика данный агент сможет расшифровывать EFS файлы, которые были зашифрованы после этого шага. Все файлы, которые были зашифрованы до этого момента будут недоступны для нового агента восстановления. Этот факт следует учитывать.&lt;/P&gt;
&lt;P&gt;Итак, во второй части мы рассмотрели технические вопросы механизмов восстановления, которые включают в себя использование агентов восстановления:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Key Archival&lt;/STRONG&gt; - архивирование всех закрытых ключей пользователей в базе CA, что обеспечивает возможность восстановления ключей шифрования с минимальными затратами по восстановлению нормальной работы шифрованных файлов. 
&lt;LI&gt;&lt;STRONG&gt;EFS Recovery Agent&lt;/STRONG&gt; - в контексте обсуждаемого вопроса применили агента восстановления EFS файлов без необходимости восстановления ключей из базы CA. Тем более Key Archival в ряде случаев будет невозможен для применения.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Так же посмотрели почти пошаговый процесс реализации обоих механизмов и показали как агенты восстановления могут защищать свои ключи восстановления сохранив их на внешние криптоконтейнеры - смарт-карты или токены. Мы подготовили базу для восстановления файлов в случае "&lt;STRONG&gt;а если ...&lt;/STRONG&gt;". План мероприятий по восстановлению данных должен быть применён и реализован до эксплуатации EFS и цифровых сертификтов в целом. В следующей части я покажу настройки групповых политик для хранения EFS сертификатов пользователей на смарт-картах на примере использования токена eToken Pro, а так же (если объём следующей части позволит) покажу действие агентов восстановления в случае "а если ...".&lt;/P&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=a13d0c06-3608-42d9-b11e-0aef08354dd8"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,a13d0c06-3608-42d9-b11e-0aef08354dd8.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / EFS</category>
      <category>Security / PKI / Smart Cards</category>
    </item>
    <item>
      <trackback:ping>http://www.sysadmins.lv/Trackback.aspx?guid=5de018df-2266-4e5c-904f-e815d91e708e</trackback:ping>
      <pingback:server>http://www.sysadmins.lv/pingback.aspx</pingback:server>
      <pingback:target>http://www.sysadmins.lv/PermaLink,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx</pingback:target>
      <dc:creator>Camelot</dc:creator>
      <wfw:comment>http://www.sysadmins.lv/CommentView,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx</wfw:comment>
      <wfw:commentRss>http://www.sysadmins.lv/SyndicationService.asmx/GetEntryCommentsRss?guid=5de018df-2266-4e5c-904f-e815d91e708e</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <title>EFS и смарт-карты в Windows Server 2008 (часть 1)</title>
      <guid isPermaLink="false">http://www.sysadmins.lv/PermaLink,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx</guid>
      <link>http://www.sysadmins.lv/PermaLink,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx</link>
      <pubDate>Mon, 15 Dec 2008 21:46:50 GMT</pubDate>
      <description>&lt;div&gt;&lt;P&gt;Читая различные обзоры нововведений в Windows Vista/Windows Server 2008 ловлю себя на мысли, что по сути, кроме маркетинговых сообщений ничего нету. Повальная виртуализация, мифический NAP и многое другое (опять же, сильно отдаёт маркетингом). Хочется спросить человека "а покажите, как вы это реализовали на практике, с какими столкнулись трудностями и прочее". А вот с этим у нас всё несколько труднее, т.к. одних Get The F&lt;STRIKE&gt;uc&lt;/STRIKE&gt;acts будет маловато для технических специалистов (на что в последнее время очень часто сетует &lt;A href="http://www.exchangerus.ru/" target=_blank&gt;Павел Нагаев&lt;/A&gt; и я с ним в этом плане согласен). Поэтому как часть программы по техническому образованию специалистов хочу постараться разобрать одно интересное нововведение в Windows Server 2008 - &lt;STRONG&gt;хранение EFS сертификатов на смарт-картах&lt;/STRONG&gt; с использованием новой опции групповых политик. Тема (на сколько я посмотрел) не освещена совсем, кроме как небольших статей на TechNet'e. Разбираемый вопрос для многих, к сожалению, останется неактуальным по причине дороговизны решения - смарт-карты - не самое дешёвое удовольствие, но я заметил, что интерес к данному вопросу всё же есть.&lt;/P&gt;
&lt;P&gt;Итак, для начала я хотел бы рассказать про общий механизм работы шифрующей файловой системы &lt;STRONG&gt;EFS&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer2008_1134F/efs1_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs1 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer2008_1134F/efs1_thumb.jpg" width=396 height=332&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Когда пользователь выставляет галочку на чек-боксе &lt;STRONG&gt;Encrypt contents to secure data&lt;/STRONG&gt; и нажимает Ok, то происходит несколько вещей:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Проверяется ключ реестра (&lt;EM&gt;HKCU\Software\Microsoft\Microsoft\Windows NT\CurrentVersion\EFS\CurrentKey\CertificateHash&lt;/EM&gt;) на предмет наличия установленного сертификата по умолчанию для EFS. 
&lt;LI&gt;Если сертификата по умолчанию для EFS не представлено, то проверяется &lt;STRONG&gt;Certificate Store&lt;/STRONG&gt; (консоль certmgr.msc) на наличие сертификата, у которого в &lt;STRONG&gt;EKU&lt;/STRONG&gt; (&lt;EM&gt;Enchanced Key Usage&lt;/EM&gt;) содержится специальный идентификатор объекта (&lt;STRONG&gt;OID&lt;/STRONG&gt;), который отвечает за шифрование. 
&lt;LI&gt;Если сертификат с таким OID не был найден и если машина находится в домене, то клиент направляет запрос в &lt;STRONG&gt;CA&lt;/STRONG&gt; (&lt;EM&gt;Certification Authority&lt;/EM&gt;) на получение сертификата для EFS. 
&lt;LI&gt;Если машина не в домене, либо в домене отсутствует CA, либо в CA отсутствует соответствующий шаблон, то машина генерирует самоподписанный сертификат (когда сертификат выдан пользователем на самого себя).&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Процес шифрования:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Локальная подсистема безопасности &lt;STRONG&gt;LSA&lt;/STRONG&gt; (&lt;EM&gt;Local Security Authority&lt;/EM&gt;) генерирует рандомный ключ шифрования &lt;STRONG&gt;FEK&lt;/STRONG&gt; (&lt;EM&gt;File Encryption Key&lt;/EM&gt;) и этим ключом с использованием симметричного алгоритма шифрования шифрует содержимое файла. Симметричное шифрование во много раз быстрее алгоритма с открытым ключом, но и менее безопасно, поскольку обе половинки симметричного ключа нужно хранить в надёжном и, в то же время, доступном месте. Для этого LSA выбирает открытый ключ сертификата пользователя и шифрует им симметричный ключ шифрования FEK ассиметричным алогоритмом и записывает шифр ключа в специальное поле файла. Кроме этого ключ FEK шифруется открытым ключом сертификата агента восстановления, который назначен либо локальной, либо групповой политикой. Примерная картина хранения ключей изображена на картинке, где &lt;STRONG&gt;DDF&lt;/STRONG&gt; - &lt;EM&gt;Data Decryption Field&lt;/EM&gt;, &lt;STRONG&gt;DRF&lt;/STRONG&gt; - &lt;EM&gt;Data Recovery Field&lt;/EM&gt;, &lt;STRONG&gt;DRA&lt;/STRONG&gt; - &lt;EM&gt;Data Recovery Agent&lt;/EM&gt;:&lt;/LI&gt;&lt;/UL&gt;
&lt;P align=center&gt;&lt;A href="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer2008_1134F/efs2_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=efs2 src="http://www.sysadmins.lv/content/binary/WindowsLiveWriter/EFSWindowsServer2008_1134F/efs2_thumb.jpg" width=431 height=287&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Таким образом гарантируется, что доступ к файлу имеет только владелец закрытого ключа пользователя и агент восстановления. В Windows Server 2003 появилась возможность предоставлять шифрованные файлы в общий доступ с другими пользователями. При этом с самим файлом ничего не происходит, а только ключ FEK шифруется открытыми ключами сертификатов тех пользователей, которым разрешён доступ к шифрованному файлу. Именно по этой причине невозможно предоставлять доступ к шифрованному файлу группам - группы не могут иметь сертификатов, а только Security Principals (конкретные участники безопасности, как пользователи и компьютеры). А так же эти пользователи уже должны иметь в базе Active Directory EFS-пригодные сертификаты. Когда я только начал изучать EFS, то не совсем понимал этих требований, пока не начал изучать вопрос более детально и понимать т.н. физику процесса.&lt;/P&gt;
&lt;P&gt;Более интересный вариант - &lt;STRONG&gt;шифрование файла в сетевой папке&lt;/STRONG&gt;.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Когда клиенты Windows 2000/XP/2003/Vista обращаются к сетевой папке по SMB/CIFS к серверу Windows 2000/2003, то файл будет шифроваться локально на удалённой системе. Для этого на удалённой системе загружается профиль пользователя и по вышеуказанным методам ищет пригодный для шифрования EFS сертификат или генерирует самоподписанный. Но данный метод обладал недостатками, поскольку удалённый сервер должен быть доверенный для делегирования, что позволяло обеспечить проверку подлинности пользователя с использованием Kerberos, что могло снизить безопасность сети, а так же это вызывало проблемы доступа к шифрованным файлам по сети с других рабочих станций.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;В качестве альтернативного варианта был предложен WebDAV, который позволял использовать защищённый SSL канал при передаче файла. Хотя SSL не обязателен, поскольку любые операции шифрования/расшифрования происходили на клиенте локально. При доступе к шифрованному файлу, он в таком же виде пересылался по сети клиенту, где последний локально расшифровывал файл. После работы файл заново локально шифровался и уже в шифрованном виде передавался по сети.&lt;/P&gt;
&lt;P&gt;При использовании клиента Windows Vista и сервера Windows Server 2008, то используется механизм, который реализован в WebDAV, а именно - файл шифруется и расшифровывается локально на клиенте и файл по сети передаётся в шифрованном виде как есть. Но, тем не менее, этот механизм не решает вопрос доступа с различных машин к шифрованному файлу. Дело в том, что при логоне пользователя на рабочую станцию ему не подгружаются сертификаты, которые были использованы на других машинах, они никогда не покидают профиль пользователя. Если в домене применён Certificate Autoenrollment, то автоматически запрашивается новый сертификат с новой парой открытый/закрытый ключ и который непригоден для расшифрования ранее зашифрованных файлов. Для этой задачи существует 2 решения:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;хранение закрытого ключа на смарт-карте&lt;/STRONG&gt; (теперь он единый для пользователя на всех компьютерах!). К плюсам можно отнести стойкость к взлому профиля, поскольку ключ хранится на внешнем криптоконтейнере. В случае утери/похищения смарт-карты она остаётся под защитой - необходимо ещё знать PIN карты. Вероятность атаки на PIN снижается за счёт блокирования криптоконтейнера при определённом кол-ве неудачных попыток ввода PIN. Из минусов - требуется дополнительное аппаратное обеспечение. 
&lt;LI&gt;использование &lt;STRONG&gt;Credential Roaming Service&lt;/STRONG&gt;, который является расширением перемещаемого профиля и учётные данные (в общем смысле Credentials) подобно перемещаемому профилю&amp;nbsp; следуют за пользователем. К плюсам можно отнести стоимость внедрения - не требует покупки специальных криптоконтейнеров (смарт-карт). Но от этого более уязвим к взлому и атакам на профиль.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Процесс дешифрования (расшифровки) файла:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;При обращении пользователя к файлу LSA проверяет локальное хранилище Certificate Store на предмет наличия закрытого ключа сертификата EFS. По логике ассиметричного шифрования открытый и закрытый ключ взаимно дешифруют друг друга, что означает следующее:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;файл зашифрованный открытым ключом может быть расшифрован только закрытым ключом, который сопоставлен с этим открытым ключом. Даннмый метод применяется для шифрования данных, как это показано выше. 
&lt;LI&gt;файл зашифрованный закрытым ключом может быть расшифрован только открытым ключом, который сопоставлен с этим закрытым ключом. Данный метод применяется для цифровой подписи, когда пользователь своим закрытым ключом шифрует подпись, а получатель пользуясь открытым ключом пользователя расшифровывает подпись и убеждается в подлинности отправителя.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Используя закрытый ключ EFS сертификата LSA расшифровывает DDF для извлечения FEK, который ранее был зашифрован открытым ключом. После извлечения FEK происходит прямая дешифрация файла. Если же в хранилище Cetificate Store не было обнаруженного ни единого закрытого ключа, который подходил бы любому шифру DDF, то пользовтелю будет отказано в доступе - &lt;STRONG&gt;Access Denied&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;При этом стоит отметить, что имя пользователя на сертификате дешифрования совсем не обязан соответствовать залогиненному пользователю. Поэтому нету ограничений на переименование пользователей в процессе.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Примечание:&lt;/FONT&gt;&lt;/STRONG&gt; Однако, есть ограничение на смену пароля, а точнее его сброс. Только ленивый не слышал об утилитах, которые сбрасывают пароли локальных и доменных учётных записей, а так же администратор домена или локальной машины может сбрасывать пароли пользователей, тем самым позволяя с новым известным паролем получить доступ к профилю пользователя. Чтобы не допустить потенциальной кражи ключей в EFS заложен механизм зависимости от пароля. Т.е. сам закрытый ключ зашифрован паролем пользователя. Если пароль пользователя будет сброшен, то все данные, которые были зашифрованы пользователем будут утеряны (на самом деле в некоторых случаях это не совсем верно, но в общем смысле - да), поскольку нечем будет расшифровать закрытый ключ. Это справедливо только для сброса пароля. Когда пользователь меняет пароль планово (по сроку изменения пароля заданного в групповых политиках) или внепланово и с указанием предыдущего пароля, то ключи шифрования обновляются (расшифровываются старым паролем и шифруются новым) и после смены пароля доступ к этим файлам не прекращается. Данный механизм описан здесь: &lt;A title=http://support.microsoft.com/kb/290260 href="http://support.microsoft.com/kb/290260"&gt;http://support.microsoft.com/kb/290260&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Какие ещё могут наступить проблемы? А любые проблемы, которые связаны с профилем. Например, был повреждён профиль пользователя и заменён на новый - вы потеряете ключи. Пользователю назначен новый перемещаемый профиль - вы потеряете ключи. А пользователь может сам зайти в свой Certification Store и удалить ключи - вы потеряете ключи. Универсальной панацеи от этого нету - есть только более или менее эффективные средства защиты и сохранности данных и ключей шифрования.&lt;/P&gt;
&lt;P&gt;Если пользователь потерял доступ к своим закрытым ключам EFS, то агент восстановления - Recovery Agent может своим ключом расшифровать нужные файлы и пользователь получит к ним доступ в открытом виде. После этого пользователь может заново сгенерированным ключом снова зашифровать данные. Но сами ключи шифрования можно восстановить только одним единственным способом - &lt;STRONG&gt;Key Recovery&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Организация плана защиты, восстановления ключей и восстановления доступа будет рассмотрена во второй части. В принципе, весь этот материал доступно изложен на TechNet'e (&lt;A title=http://technet.microsoft.com/en-us/library/cc700811.aspx href="http://technet.microsoft.com/en-us/library/cc700811.aspx"&gt;http://technet.microsoft.com/en-us/library/cc700811.aspx&lt;/A&gt;), но тем не менее, я хочу подвести плавно тему к целевой задаче использования смарт-карт и задач, которые мы сможем решать с их помощью. Ну и для себя немного прояснить материал.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.sysadmins.lv/aggbug.ashx?id=5de018df-2266-4e5c-904f-e815d91e708e"/&gt;&lt;br/&gt;&lt;hr/&gt;PowerShell Powered - http://www.sysadmins.lv&lt;/div&gt;</description>
      <comments>http://www.sysadmins.lv/CommentView,guid,5de018df-2266-4e5c-904f-e815d91e708e.aspx</comments>
      <category>Security</category>
      <category>Security / PKI</category>
      <category>Security / PKI / EFS</category>
      <category>Security / PKI / Smart Cards</category>
    </item>
  </channel>
</rss>