nl:: Weave:: Profiles:: Security:: Passcodes
Dieser Namespace enthält alle Weave-Schnittstellen für die Weave-Sicherheitscode-Bibliothek innerhalb des Weave-Sicherheitsprofils.
Zusammenfassung
Aufzählungen |
|
---|---|
@278{
|
enum Konfigurationstypen für die Verschlüsselung von Weave-Sicherheitscodes |
@279{
|
enum Parametergrößen für das Weave-Sicherheitscode-Verschlüsselungsprotokoll. |
Variablen |
|
---|---|
kPasscodeEncKeyDiversifier = { 0x1A, 0x65, 0x5D, 0x96 }[]
|
const uint8_t
Schlüsseldiversifizierer, der für die Ableitung der Verschlüsselungsschlüssel für Weave-Sicherheitscodes verwendet wird.
|
kPasscodeFingerprintKeyDiversifier = { 0xD1, 0xA1, 0xD9, 0x6C }[]
|
const uint8_t
Schlüsseldiversifizierer, der für die Ableitung der Verschlüsselungsschlüssel für Weave-Sicherheitscodes verwendet wird.
|
Funktionen |
|
---|---|
DecryptPasscode(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore)
|
Einen Sicherheitscode entschlüsseln, der mit dem Nest Passcode-Verschlüsselungsschema verschlüsselt wurde
|
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)
|
Einen Sicherheitscode entschlüsseln, der mit dem Nest Passcode-Verschlüsselungsschema verschlüsselt wurde
|
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)
|
Verschlüssele einen Sicherheitscode mit dem Nest Passcode-Verschlüsselungsschema.
|
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)
|
Verschlüssele einen Sicherheitscode mit dem Nest Passcode-Verschlüsselungsschema.
|
GetEncryptedPasscodeConfig(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config)
|
Rufen Sie den Konfigurationstyp eines verschlüsselten Sicherheitscodes ab.
|
GetEncryptedPasscodeFingerprint(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen)
|
Rufen Sie den Fingerabdruckwert ab, der mit einem verschlüsselten Sicherheitscode verknüpft ist.
|
GetEncryptedPasscodeKeyId(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId)
|
Rufen Sie die ID des Schlüssels ab, mit dem ein verschlüsselter Sicherheitscode verschlüsselt wird.
|
GetEncryptedPasscodeNonce(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce)
|
Ruft den Nonce-Wert ab, der einem verschlüsselten Sicherheitscode zugeordnet ist.
|
IsSupportedPasscodeEncryptionConfig(uint8_t config)
|
bool
Gibt „true“ zurück, wenn die angegebene Konfiguration für die Sicherheitscodeverschlüsselung von den APIs zur Verschlüsselung/Entschlüsselung von Sicherheitscodes unterstützt wird.
|
Strukturen |
|
---|---|
nl:: |
Aufzählungen
@278
@278
Konfigurationstypen für die Verschlüsselung von Weave-Sicherheitscodes
Attribute | |
---|---|
kPasscodeConfig1_KeyId
|
Dummy-Schlüssel-ID für Test-Sicherheitscode-Konfiguration Nr. 1. |
kPasscode_Config1_TEST_ONLY
|
In Konfiguration 1 für die Sicherheitscodeverschlüsselung werden weder Verschlüsselung noch geheime Schlüssel zur Authentifizierung und ein Fingerabdruck-Sicherheitscode verwendet. Diese Konfiguration IST nur zu Testzwecken zu verwenden. |
kPasscode_Config2
|
Die Passcode-Verschlüsselungskonfiguration 2 verwendet die AES-128-ECB-Verschlüsselung mit 8-Byte-HMAC-SHA-1-Integrität und 8-Byte-HMAC-SHA-1-Fingerabdruck. |
@279
@279
Parametergrößen für das Weave-Sicherheitscode-Verschlüsselungsprotokoll.
Attribute | |
---|---|
kPasscodeAuthenticationKeyLen
|
Länge des SHA-1-Schlüssels für die Sicherheitscodeauthentifizierung. |
kPasscodeAuthenticatorLen
|
Länge des Sicherheitscode-Authenticator |
kPasscodeEncKeyDiversifierSize
|
Größe des Anwendungsschlüssel-Diversifizierers für die Sicherheitscodeverschlüsselung. |
kPasscodeEncryptionKeyLen
|
Länge des Schlüssels für die Passcode-Verschlüsselung (AES-128). |
kPasscodeFingerprintKeyDiversifierSize
|
Größe des Schlüssel-Diversifizierers für Sicherheitscode-Fingerabdruck. |
kPasscodeFingerprintKeyLen
|
Schlüssellänge des Sicherheitscode-Fingerabdrucks (SHA-1). |
kPasscodeFingerprintLen
|
Länge des Sicherheitscode-Fingerabdrucks. |
kPasscodeMaxEncryptedLen
|
Maximale Länge verschlüsselter Sicherheitscodes. |
kPasscodeMaxLen
|
Maximale Länge des nicht verschlüsselten Sicherheitscodes. |
kPasscodePaddedLen
|
Länge des Sicherheitscodes (auf die AES-128-Blocklänge aufgefüllt). |
kPasscodeTotalDerivedKeyLen
|
Gesamte Schlüssellänge des Sicherheitscodes (Verschlüsselung und Integrität). |
Variablen
kPasscodeEncKeyDiversifier
const uint8_t kPasscodeEncKeyDiversifier[] = { 0x1A, 0x65, 0x5D, 0x96 }
Schlüsseldiversifizierer, der für die Ableitung der Verschlüsselungsschlüssel für Weave-Sicherheitscodes verwendet wird.
Dieser Wert stellt die ersten 4 Byte des SHA-1 HASH der Wortgruppe „Nest Passcode EK and AK“ dar.
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
Schlüsseldiversifizierer, der für die Ableitung der Verschlüsselungsschlüssel für Weave-Sicherheitscodes verwendet wird.
Dieser Wert stellt die ersten 4 Byte des SHA-1 HASH der Wortgruppe „Nest Passcode EK and AK“ dar.
Funktionen
DecryptPasscode
WEAVE_ERROR DecryptPasscode( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore )
Einen Sicherheitscode entschlüsseln, der mit dem Nest Passcode-Verschlüsselungsschema verschlüsselt wurde
Details | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||
Rückgabewerte |
|
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 )
Einen Sicherheitscode entschlüsseln, der mit dem Nest Passcode-Verschlüsselungsschema verschlüsselt wurde
Details | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||
Rückgabewerte |
|
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 )
Verschlüssele einen Sicherheitscode mit dem Nest Passcode-Verschlüsselungsschema.
Details | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||
Rückgabewerte |
|
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 )
Verschlüssele einen Sicherheitscode mit dem Nest Passcode-Verschlüsselungsschema.
Details | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||||||
Rückgabewerte |
|
GetEncryptedPasscodeConfig
WEAVE_ERROR GetEncryptedPasscodeConfig( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config )
Rufen Sie den Konfigurationstyp eines verschlüsselten Sicherheitscodes ab.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
GetEncryptedPasscodeFingerprint
WEAVE_ERROR GetEncryptedPasscodeFingerprint( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen )
Rufen Sie den Fingerabdruckwert ab, der mit einem verschlüsselten Sicherheitscode verknüpft ist.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
GetEncryptedPasscodeKeyId
WEAVE_ERROR GetEncryptedPasscodeKeyId( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId )
Rufen Sie die ID des Schlüssels ab, mit dem ein verschlüsselter Sicherheitscode verschlüsselt wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
GetEncryptedPasscodeNonce
WEAVE_ERROR GetEncryptedPasscodeNonce( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce )
Ruft den Nonce-Wert ab, der einem verschlüsselten Sicherheitscode zugeordnet ist.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
IsSupportedPasscodeEncryptionConfig
bool IsSupportedPasscodeEncryptionConfig( uint8_t config )
Gibt „true“ zurück, wenn die angegebene Konfiguration für die Sicherheitscodeverschlüsselung von den APIs zur Verschlüsselung/Entschlüsselung von Sicherheitscodes unterstützt wird.