Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: Perfiles: Seguridad:: Contraseñas

Este espacio de nombres incluye todas las interfaces dentro de Weave para la biblioteca de códigos de acceso de Weave dentro del perfil de seguridad de Weave.

Resumen

Enumeraciones

@278 {
kPasscode_Config1_TEST_ONLY = 0x01,
kPasscode_Config2 = 0x02,
kPasscodeConfig1_KeyId = WeaveKeyId::kNone
}
enumeración
Tejer tipos de configuración de cifrado de código de acceso.
@279 {
kPasscodeEncryptionKeyLen = Platform::Security::AES128BlockCipher::kKeyLength,
kPasscodeAuthenticationKeyLen = Platform::Security::SHA1::kHashLength,
kPasscodeFingerprintKeyLen = Platform::Security::SHA1::kHashLength,
kPasscodeTotalDerivedKeyLen = kPasscodeEncryptionKeyLen + kPasscodeAuthenticationKeyLen,
kPasscodePaddedLen = Platform::Security::AES128BlockCipher::kBlockLength,
kPasscodeAuthenticatorLen = 8,
kPasscodeFingerprintLen = 8,
kPasscodeMaxEncryptedLen = sizeof(uint8_t) + 2 * sizeof(uint32_t) + kPasscodePaddedLen + kPasscodeAuthenticatorLen + kPasscodeFingerprintLen,
kPasscodeMaxLen = kPasscodePaddedLen,
kPasscodeEncKeyDiversifierSize = sizeof(kPasscodeEncKeyDiversifier) + sizeof(uint8_t),
kPasscodeFingerprintKeyDiversifierSize = sizeof(kPasscodeFingerprintKeyDiversifier)
}
enumeración
Tejido tamaños de parámetros de protocolo de cifrado de código de acceso.

Variables

kPasscodeEncKeyDiversifier = { 0x1A, 0x65, 0x5D, 0x96 }[]
const uint8_t
Diversificador de claves utilizado para la derivación de claves de cifrado de códigos de acceso de Weave.
kPasscodeFingerprintKeyDiversifier = { 0xD1, 0xA1, 0xD9, 0x6C }[]
const uint8_t
Diversificador de claves utilizado para la derivación de claves de cifrado de códigos de acceso de Weave.

Funciones

DecryptPasscode (const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore)
Descifre un código de acceso que se cifró con el esquema de cifrado de código de acceso de Nest.
DecryptPasscode (const uint8_t *encPasscode, size_t encPasscodeLen, const uint8_t *encKey, const uint8_t *authKey, const uint8_t *fingerprintKey, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen)
Descifre un código de acceso que se cifró con el esquema de cifrado de código de acceso de Nest.
EncryptPasscode (uint8_t config, uint32_t keyId, uint32_t nonce, const uint8_t *passcode, size_t passcodeLen, uint8_t *encPasscode, size_t encPasscodeBufSize, size_t & encPasscodeLen, GroupKeyStoreBase *groupKeyStore)
Cifre un código de acceso con el esquema de cifrado de código de acceso de Nest.
EncryptPasscode (uint8_t config, uint32_t keyId, uint32_t nonce, const uint8_t *passcode, size_t passcodeLen, const uint8_t *encKey, const uint8_t *authKey, const uint8_t *fingerprintKey, uint8_t *encPasscode, size_t encPasscodeBufSize, size_t & encPasscodeLen)
Cifre un código de acceso con el esquema de cifrado de código de acceso de Nest.
GetEncryptedPasscodeConfig (const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config)
Obtenga el tipo de configuración de un código de acceso cifrado.
GetEncryptedPasscodeFingerprint (const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen)
Obtenga el valor de la huella dactilar asociado con un código de acceso cifrado.
GetEncryptedPasscodeKeyId (const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId)
Obtenga la identificación de la clave utilizada para cifrar un código de acceso cifrado.
GetEncryptedPasscodeNonce (const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce)
Obtenga el valor nonce asociado con un código de acceso encriptado.
IsSupportedPasscodeEncryptionConfig (uint8_t config)
bool
Devuelve verdadero si la configuración de cifrado de código de acceso proporcionada es compatible con las API de cifrado / descifrado de código de acceso.

Estructuras

nl :: Weave :: Profiles :: Security :: Passcodes :: EncryptedPasscodeStruct

Enumeraciones

@ 278

 @278

Tejer tipos de configuración de cifrado de código de acceso.

Propiedades
kPasscodeConfig1_KeyId

Identificación de clave ficticia utilizada para la configuración de contraseña de prueba # 1.

kPasscode_Config1_TEST_ONLY

La configuración de cifrado de código de acceso n. ° 1 no utiliza cifrado ni claves secretas para autenticar el código de acceso de huellas digitales.

Esta configuración DEBE usarse solo con fines de PRUEBA.

kPasscode_Config2

La configuración de cifrado de código de acceso # 2 utiliza cifrado AES-128-ECB con integridad HMAC-SHA-1 de 8 bytes y huella digital HMAC-SHA-1 de 8 bytes.

@ 279

 @279

Tejido tamaños de parámetros de protocolo de cifrado de código de acceso.

Propiedades
kPasscodeAuthenticationKeyLen

Longitud de la clave de autenticación de contraseña (SHA-1).

kPasscodeAuthenticatorLen

Longitud del autenticador del código de acceso.

kPasscodeEncKeyDiversifierSize

Tamaño del diversificador de claves de la aplicación de cifrado de código de acceso.

kPasscodeEncryptionKeyLen

Longitud de la clave de cifrado de código de acceso (AES-128).

kPasscodeFingerprintKeyDiversifierSize

Tamaño del diversificador de clave de huella digital de código de acceso.

kPasscodeFingerprintKeyLen

Longitud de la clave de la huella digital del código de acceso (SHA-1).

kPasscodeFingerprintLen

Longitud de la huella digital del código de acceso.

kPasscodeMaxEncryptedLen

Longitud máxima de la contraseña cifrada.

kPasscodeMaxLen

Longitud máxima del código de acceso sin cifrar.

kPasscodePaddedLen

Longitud de la contraseña (rellenada hasta la longitud del bloque AES-128).

kPasscodeTotalDerivedKeyLen

Longitud total de la clave (cifrado e integridad) del código de acceso.

Variables

kPasscodeEncKeyDiversifier

const uint8_t kPasscodeEncKeyDiversifier[] = { 0x1A, 0x65, 0x5D, 0x96 }

Diversificador de claves utilizado para la derivación de claves de cifrado de códigos de acceso de Weave.

Este valor representa los primeros 4 bytes del SHA-1 HASH de la frase "Nest Passcode EK y AK".

kPasscodeFingerprintKeyDiversifier

const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }

Diversificador de claves utilizado para la derivación de claves de cifrado de códigos de acceso de Weave.

Este valor representa los primeros 4 bytes del SHA-1 HASH de la frase "Nest Passcode EK y AK".

Funciones

Descifrar contraseña

WEAVE_ERROR DecryptPasscode(
  const uint8_t *encPasscode,
  size_t encPasscodeLen,
  uint8_t *passcodeBuf,
  size_t passcodeBufSize,
  size_t & passcodeLen,
  GroupKeyStoreBase *groupKeyStore
)

Descifre un código de acceso que se cifró con el esquema de cifrado de código de acceso de Nest.

Detalles
Parámetros
[in] encPasscode
Un puntero al búfer del código de acceso cifrado.
[in] encPasscodeLen
La longitud del código de acceso cifrado.
[in] passcodeBuf
Un puntero a un búfer para recibir el código de acceso descifrado.
[in] passcodeBufSize
El tamaño del búfer al que apunta passcodeBuf.
[out] passcodeLen
Establezca la longitud del código de acceso descifrado.
[in] groupKeyStore
Un puntero al objeto de almacenamiento de claves de grupo.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_UNSUPPORTED_PASSCODE_CONFIG
Si no se admite la configuración de contraseña especificada.
WEAVE_ERROR_PASSCODE_AUTHENTICATION_FAILED
Si falla la autenticación del código de acceso.
WEAVE_ERROR_PASSCODE_FINGERPRINT_FAILED
Si la verificación de la huella digital del código de acceso falla.
WEAVE_ERROR_INVALID_KEY_ID
Si la clave solicitada tiene un ID de clave no válido.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer de código de acceso proporcionado es demasiado pequeño.
WEAVE_ERROR_INVALID_ARGUMENT
Si el código de acceso cifrado es demasiado corto o demasiado largo; O si no se proporciona el puntero al almacén de claves de grupo o el almacén de claves de la plataforma devuelve parámetros clave no válidos.
other
Otros errores específicos de la plataforma devueltos por las API del almacén de claves de la plataforma.

Descifrar contraseña

WEAVE_ERROR DecryptPasscode(
  const uint8_t *encPasscode,
  size_t encPasscodeLen,
  const uint8_t *encKey,
  const uint8_t *authKey,
  const uint8_t *fingerprintKey,
  uint8_t *passcodeBuf,
  size_t passcodeBufSize,
  size_t & passcodeLen
)

Descifre un código de acceso que se cifró con el esquema de cifrado de código de acceso de Nest.

Detalles
Parámetros
[in] encPasscode
Un puntero al búfer del código de acceso cifrado.
[in] encPasscodeLen
La longitud del código de acceso cifrado.
[in] encKey
Un puntero a la clave que se utilizará para cifrar el código de acceso. La longitud de la clave debe coincidir con el algoritmo de cifrado asociado con la configuración especificada.
[in] authKey
Un puntero a la clave que se utilizará para autenticar el código de acceso. La longitud de la clave debe coincidir con el algoritmo de autenticación asociado con la configuración especificada.
[in] fingerprintKey
Un puntero a la clave que se utilizará para generar la huella digital del código de acceso. La longitud de la clave debe coincidir con el algoritmo de huellas digitales asociado con la configuración especificada.
[in] passcodeBuf
Un puntero a un búfer para recibir el código de acceso descifrado.
[in] passcodeBufSize
El tamaño del búfer al que apunta passcodeBuf.
[out] passcodeLen
Establezca la longitud del código de acceso descifrado.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_UNSUPPORTED_PASSCODE_CONFIG
Si no se admite la configuración de contraseña especificada.
WEAVE_ERROR_PASSCODE_AUTHENTICATION_FAILED
Si falla la autenticación del código de acceso.
WEAVE_ERROR_PASSCODE_FINGERPRINT_FAILED
Si la verificación de huellas dactilares del código de acceso falla.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer de código de acceso proporcionado es demasiado pequeño.
WEAVE_ERROR_INVALID_ARGUMENT
Si el código de acceso cifrado es demasiado corto o demasiado largo.

Cifrar contraseña

WEAVE_ERROR EncryptPasscode(
  uint8_t config,
  uint32_t keyId,
  uint32_t nonce,
  const uint8_t *passcode,
  size_t passcodeLen,
  uint8_t *encPasscode,
  size_t encPasscodeBufSize,
  size_t & encPasscodeLen,
  GroupKeyStoreBase *groupKeyStore
)

Cifre un código de acceso con el esquema de cifrado de código de acceso de Nest.

Detalles
Parámetros
[in] config
La configuración de cifrado del código de acceso que se utilizará.
[in] keyId
El ID de clave de cifrado del código de acceso solicitado.
[in] nonce
Un valor único asignado a la contraseña cifrada.
[in] passcode
Un puntero al código de acceso que se va a cifrar.
[in] passcodeLen
La longitud del código de acceso.
[out] encPasscode
Un puntero al búfer para almacenar el código de acceso cifrado.
[in] encPasscodeBufSize
El tamaño del búfer para el almacenamiento de códigos de acceso cifrados.
[out] encPasscodeLen
La longitud del código de acceso cifrado.
[in] groupKeyStore
Un puntero al objeto de almacenamiento de claves de grupo.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_UNSUPPORTED_PASSCODE_CONFIG
Si no se admite la configuración de contraseña especificada.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer de salida proporcionado es demasiado pequeño para el código de acceso cifrado.
WEAVE_ERROR_INVALID_KEY_ID
Si la clave solicitada tiene un ID de clave no válido.
WEAVE_ERROR_INVALID_ARGUMENT
Si el código de acceso proporcionado es demasiado corto o demasiado largo; O si no se proporciona el puntero al almacén de claves de grupo o el almacén de claves de la plataforma devuelve parámetros clave no válidos.
other
Otros errores específicos de la plataforma devueltos por las API del almacén de claves de la plataforma.

Cifrar contraseña

WEAVE_ERROR EncryptPasscode(
  uint8_t config,
  uint32_t keyId,
  uint32_t nonce,
  const uint8_t *passcode,
  size_t passcodeLen,
  const uint8_t *encKey,
  const uint8_t *authKey,
  const uint8_t *fingerprintKey,
  uint8_t *encPasscode,
  size_t encPasscodeBufSize,
  size_t & encPasscodeLen
)

Cifre un código de acceso con el esquema de cifrado de código de acceso de Nest.

Detalles
Parámetros
[in] config
La configuración de cifrado del código de acceso de Weave que se utilizará.
[in] keyId
El ID de clave de cifrado del código de acceso solicitado.
[in] nonce
Un valor único asignado al código de acceso.
[in] passcode
Un puntero al código de acceso que se va a cifrar.
[in] passcodeLen
La longitud del código de acceso.
[in] encKey
Un puntero a la clave que se utilizará para cifrar el código de acceso. La longitud de la clave debe coincidir con el algoritmo de cifrado asociado con la configuración especificada.
[in] authKey
Un puntero a la clave que se utilizará para autenticar el código de acceso. La longitud de la clave debe coincidir con el algoritmo de autenticación asociado con la configuración especificada.
[in] fingerprintKey
Un puntero a la clave que se utilizará para generar la huella digital del código de acceso. La longitud de la clave debe coincidir con el algoritmo de huellas digitales asociado con la configuración especificada.
[out] encPasscode
Un puntero a un búfer en el que se almacenará el código de acceso cifrado. Este búfer debe tener al menos un tamaño de kPasscodeMaxEncryptedLen.
[in] encPasscodeBufSize
El tamaño del búfer al que apunta encPasscode.
[out] encPasscodeLen
La longitud del código de acceso cifrado.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_UNSUPPORTED_PASSCODE_CONFIG
Si no se admite la configuración de contraseña especificada.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer de salida proporcionado es demasiado pequeño para el código de acceso cifrado.
WEAVE_ERROR_INVALID_ARGUMENT
Si la contraseña proporcionada es demasiado corta o demasiado larga.

GetEncryptedPasscodeConfig

WEAVE_ERROR GetEncryptedPasscodeConfig(
  const uint8_t *encPasscode,
  size_t encPasscodeLen,
  uint8_t & config
)

Obtenga el tipo de configuración de un código de acceso cifrado.

Detalles
Parámetros
[in] encPasscode
Puntero a un búfer que contiene el código de acceso cifrado.
[in] encPasscodeLen
Longitud del código de acceso cifrado.
[out] config
La configuración de cifrado de código de acceso de Weave utilizada por el código de acceso cifrado.

GetEncryptedPasscodeHuella digital

WEAVE_ERROR GetEncryptedPasscodeFingerprint(
  const uint8_t *encPasscode,
  size_t encPasscodeLen,
  uint8_t *fingerprintBuf,
  size_t fingerprintBufSize,
  size_t & fingerprintLen
)

Obtenga el valor de la huella dactilar asociado con un código de acceso cifrado.

Detalles
Parámetros
[in] encPasscode
Puntero a un búfer que contiene el código de acceso cifrado.
[in] encPasscodeLen
Longitud del código de acceso cifrado.
[in] fingerprintBuf
Un búfer para recibir el valor de la huella digital.
[in] fingerprintBufSize
El tamaño del búfer al que apunta fingerprintBuf.
[out] fingerprintLen
La longitud del valor de la huella dactilar devuelta.

GetEncryptedPasscodeKeyId

WEAVE_ERROR GetEncryptedPasscodeKeyId(
  const uint8_t *encPasscode,
  size_t encPasscodeLen,
  uint32_t & keyId
)

Obtenga la identificación de la clave utilizada para cifrar un código de acceso cifrado.

Detalles
Parámetros
[in] encPasscode
Puntero a un búfer que contiene el código de acceso cifrado.
[in] encPasscodeLen
Longitud del código de acceso cifrado.
[out] keyId
La identificación de la clave utilizada para cifrar el código de acceso cifrado.

GetEncryptedPasscodeNonce

WEAVE_ERROR GetEncryptedPasscodeNonce(
  const uint8_t *encPasscode,
  size_t encPasscodeLen,
  uint32_t & nonce
)

Obtenga el valor nonce asociado con un código de acceso encriptado.

Detalles
Parámetros
[in] encPasscode
Puntero a un búfer que contiene el código de acceso cifrado.
[in] encPasscodeLen
Longitud del código de acceso cifrado.
[out] nonce
El valor nonce asociado con un código de acceso cifrado.

IsSupportedPasscodeEncryptionConfig

bool IsSupportedPasscodeEncryptionConfig(
  uint8_t config
)

Devuelve verdadero si la configuración de cifrado de código de acceso proporcionada es compatible con las API de cifrado / descifrado de código de acceso.