О доверии и безопасности цифровых учетных данных.

На этой странице описывается архитектура безопасности и доверия для цифровых учетных данных Android, которая использует криптографическую проверку от доверенных эмитентов для защиты пользовательских данных.

Проверяемые цифровые учетные данные

В Android цифровые учетные данные — это проверяемые учетные данные, криптографически подтвержденные эмитентом. Эти учетные данные содержат защищенные утверждения, что делает их неподдельными и доказывает их происхождение.

Заявление, помеченное как «проверено», означает, что эмитент подтверждает его подлинность и подписал его своим цифровым сертификатом. Благодаря этой подписи, проверяющие приложения могут быть уверены, что учетные данные не были изменены и были выданы подтверждаемым эмитентом.

Что означает подтверждение заявления?

Когда учетные данные поступают через API Android Credential Manager, и в них есть утверждение, помеченное как «проверено», это означает, что эмитент подтверждает проверку этих конкретных данных. Однако это не означает, что данные являются абсолютной, универсальной истиной. «Проверено» — это утверждение о процессе, а не автоматическая гарантия доверия.

Суть этой экосистемы заключается в том, что вопрос доверия всегда решается на уровне верификатора. Когда ваше приложение, выступая в роли верификатора, получает криптографически защищенные данные и видит, что эмитент пометил их как «проверенные», оно должно определить, доверяет ли оно эмитенту в том, что он проверил утверждение в соответствии со своими стандартами.

Безопасность цифровых учетных данных

В экосистеме цифровых учетных данных на каждом этапе внедрены криптографические меры безопасности для обеспечения целостности и подлинности данных:

  • Подписание сертификата эмитента: Все выданные учетные данные криптографически подписываются с использованием цифрового сертификата эмитента. Это позволяет проверяющим сверять эту подпись с открытым сертификатом эмитента, чтобы подтвердить происхождение учетных данных и убедиться, что данные не были изменены.
  • Привязка учетных данных владельца: Когда эмитент выдает учетные данные владельцу, последний должен доказать, что принадлежащие ему учетные данные привязаны к защищенному аппаратному обеспечению устройства и не могут быть скопированы или переданы. Владелец делает это, создавая сертификат аппаратной аттестации, подписанный корневым ключом операционной системы своего устройства, подтверждающий безопасность ключа и происхождение от производителя, и отправляет его эмитенту. Затем эмитент проверяет эти атрибуты, чтобы подтвердить, что ключ привязан к подлинному оборудованию. После проверки эмитент внедряет открытый ключ владельца в полезную нагрузку учетных данных и подписывает учетные данные своим собственным закрытым ключом, прежде чем выдать их владельцу. Это навсегда связывает выданные учетные данные с владельцем, что предотвращает кражу или копирование учетных данных.
  • Двухуровневая проверка представления: когда проверяющий запрашивает учетные данные, он отправляет одноразовый код (nonce) приложению-владельцу, подписанный закрытым аппаратным ключом владельца, и проверяет его с помощью открытого ключа владельца, встроенного в учетные данные. Это доказывает, что владелец в данный момент контролирует ключ, а также предотвращает атаки повторного воспроизведения. Проверяющий также должен проверить цифровую подпись эмитента, чтобы подтвердить происхождение учетных данных. Эта двухуровневая криптографическая проверка помогает гарантировать, что проверяющие получают учетные данные, которые не были скомпрометированы ни на уровне владельца, ни на уровне эмитента.
,

На этой странице описывается архитектура безопасности и доверия для цифровых учетных данных Android, которая использует криптографическую проверку от доверенных эмитентов для защиты пользовательских данных.

Проверяемые цифровые учетные данные

В Android цифровые учетные данные — это проверяемые учетные данные, криптографически подтвержденные эмитентом. Эти учетные данные содержат защищенные утверждения, что делает их неподдельными и доказывает их происхождение.

Заявление, помеченное как «проверено», означает, что эмитент подтверждает его подлинность и подписал его своим цифровым сертификатом. Благодаря этой подписи, проверяющие приложения могут быть уверены, что учетные данные не были изменены и были выданы подтверждаемым эмитентом.

Что означает подтверждение заявления?

Когда учетные данные поступают через API Android Credential Manager, и в них есть утверждение, помеченное как «проверено», это означает, что эмитент подтверждает проверку этих конкретных данных. Однако это не означает, что данные являются абсолютной, универсальной истиной. «Проверено» — это утверждение о процессе, а не автоматическая гарантия доверия.

Суть этой экосистемы заключается в том, что вопрос доверия всегда решается на уровне верификатора. Когда ваше приложение, выступая в роли верификатора, получает криптографически защищенные данные и видит, что эмитент пометил их как «проверенные», оно должно определить, доверяет ли оно эмитенту в том, что он проверил утверждение в соответствии со своими стандартами.

Безопасность цифровых учетных данных

В экосистеме цифровых учетных данных на каждом этапе внедрены криптографические меры безопасности для обеспечения целостности и подлинности данных:

  • Подписание сертификата эмитента: Все выданные учетные данные криптографически подписываются с использованием цифрового сертификата эмитента. Это позволяет проверяющим сверять эту подпись с открытым сертификатом эмитента, чтобы подтвердить происхождение учетных данных и убедиться, что данные не были изменены.
  • Привязка учетных данных владельца: Когда эмитент выдает учетные данные владельцу, последний должен доказать, что принадлежащие ему учетные данные привязаны к защищенному аппаратному обеспечению устройства и не могут быть скопированы или переданы. Владелец делает это, создавая сертификат аппаратной аттестации, подписанный корневым ключом операционной системы своего устройства, подтверждающий безопасность ключа и происхождение от производителя, и отправляет его эмитенту. Затем эмитент проверяет эти атрибуты, чтобы подтвердить, что ключ привязан к подлинному оборудованию. После проверки эмитент внедряет открытый ключ владельца в полезную нагрузку учетных данных и подписывает учетные данные своим собственным закрытым ключом, прежде чем выдать их владельцу. Это навсегда связывает выданные учетные данные с владельцем, что предотвращает кражу или копирование учетных данных.
  • Двухуровневая проверка представления: когда проверяющий запрашивает учетные данные, он отправляет одноразовый код (nonce) приложению-владельцу, подписанный закрытым аппаратным ключом владельца, и проверяет его с помощью открытого ключа владельца, встроенного в учетные данные. Это доказывает, что владелец в данный момент контролирует ключ, а также предотвращает атаки повторного воспроизведения. Проверяющий также должен проверить цифровую подпись эмитента, чтобы подтвердить происхождение учетных данных. Эта двухуровневая криптографическая проверка помогает гарантировать, что проверяющие получают учетные данные, которые не были скомпрометированы ни на уровне владельца, ни на уровне эмитента.