nl::Weave::Profiles::Security::Passcodes
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Este espacio de nombres incluye todas las interfaces de Weave para la biblioteca de contraseñas de Weave dentro del perfil de seguridad de Weave.
Resumen
Enumeraciones |
|
---|---|
@278{
|
enum Tipos de configuración de encriptación de contraseñas de Weave. |
@279{
|
enum Teje los tamaños de los parámetros del protocolo de encriptación de contraseñas. |
Variables |
|
---|---|
kPasscodeEncKeyDiversifier = { 0x1A, 0x65, 0x5D, 0x96 }[]
|
const uint8_t
Diversificador de claves que se usa para la derivación de claves de encriptación de contraseñas de Weave.
|
kPasscodeFingerprintKeyDiversifier = { 0xD1, 0xA1, 0xD9, 0x6C }[]
|
const uint8_t
Diversificador de claves que se usa para la derivación de claves de encriptación de contraseñas de Weave.
|
Funciones |
|
---|---|
DecryptPasscode(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore)
|
Desencriptar una contraseña que se encriptó con el esquema de encriptación de contraseñas 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)
|
Desencriptar una contraseña que se encriptó con el esquema de encriptación de contraseñas 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)
|
Para encriptar una contraseña, usa el esquema de encriptación de contraseñas 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)
|
Para encriptar una contraseña, usa el esquema de encriptación de contraseñas de Nest.
|
GetEncryptedPasscodeConfig(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config)
|
Obtén el tipo de configuración de una contraseña encriptada.
|
GetEncryptedPasscodeFingerprint(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen)
|
Obtén el valor de la huella digital asociado con una contraseña encriptada.
|
GetEncryptedPasscodeKeyId(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId)
|
Obtén el ID de la clave que se usó para encriptar una contraseña encriptada.
|
GetEncryptedPasscodeNonce(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce)
|
Obtiene el valor del nonce asociado con una contraseña encriptada.
|
IsSupportedPasscodeEncryptionConfig(uint8_t config)
|
bool
Muestra el valor true si la configuración de encriptación de contraseñas proporcionada es compatible con las APIs de encriptación/desencriptación de contraseñas.
|
Enumeraciones
@278
@278
Tipos de configuración de encriptación de contraseñas de Weave.
Propiedades | |
---|---|
kPasscodeConfig1_KeyId
|
ID de la clave ficticia utilizada para probar la configuración de la contraseña #1. |
kPasscode_Config1_TEST_ONLY
|
La configuración de encriptación de contraseña n.o 1 no utiliza encriptación ni claves secretas para realizar la autenticación y la contraseña de huella digital. Esta configuración SE DEBE utilizar únicamente para realizar PRUEBAs. |
kPasscode_Config2
|
La configuración de encriptación de contraseña #2 usa encriptación AES-128-ECB con integridad HMAC-SHA-1 de 8 bytes y huella digital HMAC-SHA-1 de 8 bytes. |
@279
@279
Teje los tamaños de los parámetros del protocolo de encriptación de contraseñas.
Propiedades | |
---|---|
kPasscodeAuthenticationKeyLen
|
Longitud de la clave de autenticación de contraseña (SHA-1). |
kPasscodeAuthenticatorLen
|
Longitud del autenticador de la contraseña. |
kPasscodeEncKeyDiversifierSize
|
Tamaño del multiplicador de claves de la aplicación de encriptación de contraseñas. |
kPasscodeEncryptionKeyLen
|
Longitud de la clave de encriptación de contraseña (AES-128). |
kPasscodeFingerprintKeyDiversifierSize
|
Tamaño del diversificador de la clave de huella digital de la contraseña. |
kPasscodeFingerprintKeyLen
|
Longitud de la clave de la huella digital de la contraseña (SHA-1). |
kPasscodeFingerprintLen
|
Longitud de la huella digital de la contraseña. |
kPasscodeMaxEncryptedLen
|
Longitud máxima de la contraseña encriptada. |
kPasscodeMaxLen
|
Longitud máxima de la contraseña sin encriptación. |
kPasscodePaddedLen
|
Longitud de la contraseña (rellenada al largo del bloque AES-128). |
kPasscodeTotalDerivedKeyLen
|
Longitud total de la clave de la contraseña (integridad y encriptación). |
Variables
kPasscodeEncKeyDiversifier
const uint8_t kPasscodeEncKeyDiversifier[] = { 0x1A, 0x65, 0x5D, 0x96 }
Diversificador de claves que se usa para la derivación de claves de encriptación de contraseñas de Weave.
Este valor representa los primeros 4 bytes del HASH SHA-1 del "código de acceso de Nest EK y AK". frase.
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
Diversificador de claves que se usa para la derivación de claves de encriptación de contraseñas de Weave.
Este valor representa los primeros 4 bytes del HASH SHA-1 del "código de acceso de Nest EK y AK". frase.
Funciones
DecryptPasscode
WEAVE_ERROR DecryptPasscode( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore )
Desencriptar una contraseña que se encriptó con el esquema de encriptación de contraseñas de Nest
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores de retorno |
|
DecryptPasscode
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 )
Desencriptar una contraseña que se encriptó con el esquema de encriptación de contraseñas de Nest
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores de retorno |
|
EncryptPasscode
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 )
Para encriptar una contraseña, usa el esquema de encriptación de contraseñas de Nest.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||||
Valores de retorno |
|
EncryptPasscode
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 )
Para encriptar una contraseña, usa el esquema de encriptación de contraseñas de Nest.
Detalles | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||||||||
Valores de retorno |
|
GetEncryptedPasscodeConfig
WEAVE_ERROR GetEncryptedPasscodeConfig( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config )
Obtén el tipo de configuración de una contraseña encriptada.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
GetEncryptedPasscodeFingerprint
WEAVE_ERROR GetEncryptedPasscodeFingerprint( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen )
Obtén el valor de la huella digital asociado con una contraseña encriptada.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
GetEncryptedPasscodeKeyId
WEAVE_ERROR GetEncryptedPasscodeKeyId( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId )
Obtén el ID de la clave que se usó para encriptar una contraseña encriptada.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
GetEncryptedPasscodeNonce
WEAVE_ERROR GetEncryptedPasscodeNonce( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce )
Obtiene el valor del nonce asociado con una contraseña encriptada.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
IsSupportedPasscodeEncryptionConfig
bool IsSupportedPasscodeEncryptionConfig( uint8_t config )
Muestra el valor true si la configuración de encriptación de contraseña proporcionada es compatible con las APIs de encriptación/desencriptación de contraseñas.