nl::Weave::โปรไฟล์::ความปลอดภัย::AppKeys

เนมสเปซนี้รวมอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับไลบรารีคีย์แอปพลิเคชัน Weave ภายในโปรไฟล์การรักษาความปลอดภัย Weave

สรุป

การแจกแจง

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
สานคําจํากัดความของพารามิเตอร์โปรโตคอลคีย์แอปพลิเคชัน
WeaveAppGroupGlobalId{
  kWeaveAppGroupGlobalId_Unspecified = 0,
  kWeaveAppGroupGlobalId_NestPhysicalAccess = (kWeaveVendor_NestLabs << 16) | 0x0001,
  kWeaveAppGroupGlobalId_NestStructureSecurity = (kWeaveVendor_NestLabs << 16) | 0x0002,
  kWeaveAppGroupGlobalId_NestHVAC = (kWeaveVendor_NestLabs << 16) | 0x0003,
  kWeaveAppGroupGlobalId_NestSecurityControl = (kWeaveVendor_NestLabs << 16) | 0x0004
}
enum
รหัสเครือข่ายทั่วโลกของ Weave Application Group (AGGID)

ตัวแปร

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
โปรแกรมเปลี่ยนคีย์ที่ใช้กับอนุพันธ์คีย์ไคลเอ็นต์ Weave
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
เครื่องมือเปลี่ยนคีย์ที่ใช้กับอนุพันธ์คีย์ผ้าของ Weave
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
เครื่องมือเปลี่ยนคีย์ที่ใช้สําหรับการรับคีย์ระดับกลางของ Weave

ฟังก์ชัน

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
รับรหัสคีย์หลักของกลุ่มแอปพลิเคชัน โดยใช้รหัสส่วนกลางของกลุ่มแอปพลิเคชัน
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

ชั้นเรียน

nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase

คําจํากัดความของชั้นเรียนคีย์สโตร์ของกลุ่ม Weave

nl::Weave::Profiles::Security::AppKeys::WeaveGroupKey

มีข้อมูลเกี่ยวกับคีย์กลุ่มแอปพลิเคชัน Weave

การแจกแจง

220

 @220

สานคําจํากัดความของพารามิเตอร์โปรโตคอลคีย์แอปพลิเคชัน

พร็อพเพอร์ตี้
kWeaveAppClientRootKeyDiversifierSize

ขนาดของโปรแกรมสร้างคีย์รากของไคลเอ็นต์

kWeaveAppEpochKeySize

สานขนาดคีย์ของแอปพลิเคชันยุค

kWeaveAppFabricRootKeyDiversifierSize

ขนาดความหลากหลายของคีย์รากของผ้า

kWeaveAppGroupKeySize

สานขนาดคีย์ของกลุ่มองค์ประกอบ

kWeaveAppGroupMasterKeySize

สานขนาดคีย์กลุ่มแอปพลิเคชันหลัก

kWeaveAppIntermediateKeyDiversifierSize

ขนาดเครื่องมือเปลี่ยนเส้นทางคีย์กลาง

kWeaveAppIntermediateKeySize

สานขนาดคีย์กลางของแอปพลิเคชัน

kWeaveAppRootKeySize

แสดงให้เห็นขนาดคีย์รูทของแอปพลิเคชัน

kWeaveFabricSecretSize

ขนาดข้อมูลลับของผ้าทอ

รหัสกลุ่มแอป Weave

 WeaveAppGroupGlobalId

รหัสเครือข่ายทั่วโลกของ Weave Application Group (AGGID)

พร็อพเพอร์ตี้
kWeaveAppGroupGlobalId_NestHVAC

กลุ่ม Nest HVAC

kWeaveAppGroupGlobalId_NestPhysicalAccess

รหัสส่วนกลางของกลุ่มแอปพลิเคชัน Nest Labs

หมายเหตุ: อย่าพยายามจัดสรรมูลค่าเหล่านี้ด้วยตนเอง ค่าเหล่านี้อยู่ภายใต้การดูแลระบบของ Nest Labs โปรดส่งคําขออย่างเป็นทางการโดยใช้ "Nest Weave: Nest Application Group Global ID Registry" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Physical Access Group

kWeaveAppGroupGlobalId_NestSecurityControl

กลุ่มควบคุมความปลอดภัยของ Nest

kWeaveAppGroupGlobalId_NestStructureSecurity

กลุ่มความปลอดภัยของโครงสร้าง Nest

kWeaveAppGroupGlobalId_Unspecified

ไม่ได้ระบุรหัสรวมของกลุ่มแอปพลิเคชัน

ตัวแปร

kWeaveAppClientRootKeyDiversifier

const uint8_t kWeaveAppClientRootKeyDiversifier[] = { 0x53, 0xE3, 0xFF, 0xE5 }

โปรแกรมเปลี่ยนคีย์ที่ใช้กับอนุพันธ์คีย์ไคลเอ็นต์ Weave

ค่านี้แสดงถึงวลี SHA-1 HASH ของ "Client Root Key" 4 ไบต์แรก

kWeaveAppFabricRootKeyDiversifier

const uint8_t kWeaveAppFabricRootKeyDiversifier[] = { 0x21, 0xFA, 0x8F, 0x6A }

เครื่องมือเปลี่ยนคีย์ที่ใช้กับอนุพันธ์คีย์ผ้าของ Weave

ค่านี้แสดงถึง 4 ไบต์แรกของ SHA-1 HASH ของ "Fabric Root Key"

ตัวแยกคีย์กลางแอป

const uint8_t kWeaveAppIntermediateKeyDiversifier[] = { 0xBC, 0xAA, 0x95, 0xAD }

เครื่องมือเปลี่ยนคีย์ที่ใช้สําหรับการรับคีย์ระดับกลางของ Weave

ค่านี้แสดงถึงวลี SHA-1 HASH ของ "Intermediate Key" 4 ไบต์แรก

ฟังก์ชัน

รับคีย์กลุ่มแอป

WEAVE_ERROR GetAppGroupMasterKeyId(
  uint32_t groupGlobalId,
  GroupKeyStoreBase *groupKeyStore,
  uint32_t & groupMasterKeyId
)

รับรหัสคีย์หลักของกลุ่มแอปพลิเคชัน โดยใช้รหัสส่วนกลางของกลุ่มแอปพลิเคชัน

รายละเอียด
พารามิเตอร์
[in] groupGlobalId
รหัสส่วนกลางของกลุ่มแอปพลิเคชัน
[in] groupKeyStore
ตัวชี้ไปยังออบเจ็กต์ที่เก็บคีย์ของกลุ่ม
[out] groupMasterKeyId
รหัสคีย์หลักของกลุ่มแอปพลิเคชัน
แสดงผลค่า
WEAVE_NO_ERROR
สําเร็จแล้ว
WEAVE_ERROR_INVALID_ARGUMENT
หากไม่ได้ระบุตัวชี้ไปยังที่เก็บคีย์ของกลุ่ม
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
หากออบเจ็กต์ FabricState ไม่ได้เริ่มต้นด้วยที่เก็บคีย์ของกลุ่มที่มีฟังก์ชันการทํางานเต็มรูปแบบ
WEAVE_ERROR_KEY_NOT_FOUND
หากไม่พบคีย์กลุ่มที่มีรหัสส่วนกลางที่ระบุในคีย์สโตร์ของแพลตฟอร์ม
other
ข้อผิดพลาดเฉพาะแพลตฟอร์มอื่นๆ ที่แสดงผลโดย API ที่เก็บข้อมูลคีย์ของแพลตฟอร์ม

คีย์บันทึก

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)