stringtranslate.com

Брелок (программное обеспечение)

Keychain — это система управления паролями в macOS , разработанная Apple . Он был представлен в Mac OS 8.6 и был включен во все последующие версии операционной системы, теперь известной как macOS. Связка ключей может содержать различные типы данных: пароли (для веб-сайтов , FTP-серверов , учетных записей SSH , общих сетевых ресурсов , беспроводных сетей , приложений для групповой работы , зашифрованных образов дисков ), закрытые ключи , сертификаты и защищенные заметки.

Хранение и доступ

В macOS файлы связки ключей хранятся в ~/Library/Keychains/(и подкаталогах) /Library/Keychains/и /Network/Library/Keychains/, а приложение Keychain Access GUI находится в папке «Утилиты» в папке «Приложения». [1] [2] Это бесплатное программное обеспечение с открытым исходным кодом , выпущенное в соответствии с условиями APSL-2.0 . [3] Эквивалентом командной строки Keychain Access является /usr/bin/security.

База данных связки ключей шифруется по таблицам и по строкам с помощью AES-256-GCM . Время, в течение которого каждый учетные данные расшифровываются, как долго они будут оставаться расшифрованными и будут ли зашифрованные учетные данные синхронизироваться с iCloud, зависит от типа хранимых данных и задокументировано на веб-сайте поддержки Apple. [4]

Блокировка и разблокировка

Файлом связки ключей по умолчанию является loginсвязка ключей, которая обычно разблокируется при входе в систему с помощью пароля пользователя, хотя вместо этого пароль для этой связки ключей может отличаться от пароля пользователя для входа, что повышает безопасность за счет некоторого удобства. [5] Приложение Keychain Access не позволяет устанавливать пустой пароль в связке ключей.

Связку ключей можно настроить на автоматическую «блокировку», если компьютер какое-то время простаивает [6] , а также ее можно заблокировать вручную из приложения Keychain Access. В случае блокировки пароль необходимо будет ввести повторно при следующем доступе к связке ключей, чтобы разблокировать ее. Перезапись файла ~/Library/Keychains/новым (например, в рамках операции восстановления) также приводит к блокировке связки ключей, и при следующем доступе требуется пароль.

Синхронизация паролей

Если связка ключей для входа защищена паролем для входа, то пароль цепочки для ключей будет меняться при каждом изменении пароля для входа во время сеанса входа в систему в macOS. В общей сети Mac/не-Mac пароль связки ключей для входа может потерять синхронизацию, если пароль для входа пользователя будет изменен в системе, отличной от Mac. Кроме того, если пароль изменен из службы каталогов, такой как Active Directory или Open Directory, или если пароль изменен из другой учетной записи администратора, например, с помощью Системных настроек. Некоторые сетевые администраторы реагируют на это удалением файла связки ключей при выходе из системы, чтобы при следующем входе пользователя в систему создавался новый. Это означает, что пароли связки ключей не будут запоминаться от одного сеанса к другому, даже если пароль для входа в систему был изменен. не было изменено. Если это произойдет, пользователь может восстановить файл связки ключей ~/Library/Keychains/из резервной копии, но при этом связка для ключей будет заблокирована, которую затем необходимо будет разблокировать при следующем использовании.

История

Брелки изначально были разработаны для системы электронной почты Apple PowerTalk в начале 1990-х годов. Среди множества функций PowerTalk использовались плагины , которые позволяли получать почту с самых разных почтовых серверов и онлайн-сервисов. Концепция связки ключей естественным образом «выпала» из этого кода и использовалась в PowerTalk для управления всеми учетными данными пользователя для различных систем электронной почты, к которым PowerTalk мог подключаться.

Из-за шифрования пароли было нелегко получить, однако простота интерфейса позволяла пользователю выбирать разные пароли для каждой системы, не опасаясь их забыть, поскольку один пароль откроет файл и вернет их все. В то время реализации этой концепции не были доступны на других платформах. Связка ключей была одной из немногих частей PowerTalk, которая была явно полезна «сама по себе», что предполагало, что ее следует продвигать, чтобы она стала частью базовой Mac OS. Но из-за внутренней политики он оставался внутри системы PowerTalk и, следовательно, был доступен очень немногим пользователям Mac. [ нужна цитата ]

Лишь после возвращения Стива Джобса в 1997 году концепция Keychain была возрождена на основе PowerTalk, производство которого сейчас прекращено. К этому моменту эта концепция уже не была такой уж необычной, но все еще редко можно было увидеть систему связки ключей, которая не была бы связана с определенной частью прикладного программного обеспечения, обычно с веб-браузером . Позже «Связка ключей» стала стандартной частью Mac OS 9 и была включена в Mac OS X в первых коммерческих версиях.

Стороннее ПО для синхронизации брелков

Было разработано стороннее программное приложение, которое позволяло синхронизировать персональные цепочки для ключей, созданные с использованием доступа к цепочке для ключей в Mac OS X. Эти стандартные цепочки для ключей, созданные пользователями с помощью доступа к цепочке для ключей, можно было затем синхронизировать между устройствами (iPhone - настольные компьютеры Apple), используя пару Приложения для синхронизации связки ключей, разработанные Патриком Штейном из Jinx Software, одно для Mac OS X , а другое для iOS под названием Keychain2Go. Разработчик не смог успешно обновить Keychain2Go с учетом ограничений, которые Apple наложила на Keychain и доступ к Keychain в Mac OS X Sierra 10.12. [7]

Безопасность

Брелок распространяется как с iOS, так и с macOS. Версия для iOS проще, поскольку приложениям, работающим на мобильных устройствах, обычно требуются только самые базовые функции Keychain. Например, отсутствуют такие функции, как ACL (списки контроля доступа) и совместное использование элементов связки ключей между различными приложениями. Таким образом, элементы «Связки ключей iOS» доступны только приложению, которое их создало.

Keychain, являющийся хранилищем конфиденциальной информации пользователей Mac по умолчанию, является основной мишенью для атак на систему безопасности.

В 2019 году 18-летний немецкий исследователь безопасности Линус Хенце продемонстрировал свой хак, получивший название KeySteal, который извлекает пароли из связки ключей. Первоначально он не раскрывал подробности взлома, требуя от Apple назначить вознаграждение за обнаружение ошибок в macOS. Однако Apple не сделала этого, когда Хенце впоследствии раскрыл факт взлома. Он использовал доступ Safari к службам безопасности, замаскированный под утилиту в macOS, которая позволяет ИТ-администраторам манипулировать связками ключей. [8]

Смотрите также

Рекомендации

  1. ^ «Справка Mac OS X 10.5 — Изменение пароля связки ключей» . Документы.info.apple.com. Архивировано из оригинала 31 мая 2012 года . Проверено 28 марта 2016 г.
  2. ^ «Справка Mac OS X 10.4 — Изменение пароля связки ключей» . Документы.info.apple.com. Архивировано из оригинала 31 мая 2012 года . Проверено 28 марта 2016 г.
  3. ^ Apple Inc. «Браузер источников». opensource.apple.com . Проверено 26 февраля 2012 г.
  4. ^ «Защита данных брелка». Apple Inc. , 17 мая 2021 г. Архивировано из оригинала 20 декабря 2021 г. . Проверено 20 декабря 2021 г.
  5. ^ «Справка Mac OS X 10.5: изменение пароля связки ключей» . Документы.info.apple.com. Архивировано из оригинала 13 июня 2011 года . Проверено 26 февраля 2012 г.
  6. ^ «Справка по Mac OS X 10.4: блокировка и разблокировка связки ключей» . Документы.info.apple.com. Архивировано из оригинала 13 июня 2011 года . Проверено 26 февраля 2012 г.
  7. ^ Штейн, Патрик. «Программное обеспечение для синхронизации связки ключей Keychain2go». Программное обеспечение Джинкс . Программное обеспечение Джинкс . Проверено 22 марта 2023 г.
  8. Ньюман, Лили Хэй (1 июня 2019 г.). «Коварные махинации, стоящие за скрытой атакой на брелок Apple». Проводной . Проверено 9 июля 2021 г.