Other Parts Discussed in Thread: Z-STACK, CC2530, CC2530EM
Dears,
I has some questions about security behavior in Zstack after studying the Z-Stack Developer's Guide.pdf
Please provide the comment, thanks.
Q1: About zgPreConfigKeys
Coordinator setting:
SECURE=1;zgPreConfigKeys=TRUE;
DEFAULT_KEY="{0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0D}"
End-Device setting:
SECURE=1;zgPreConfigKeys=TRUE;
DEFAULT_KEY change to "{0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02}"
Expect:
The End-Device shouldn't join the Coordinator, due to DEFAULT_KEY didn't match, right?
If result is right, the mechanism couldn't implement in authenticating of product, right?
Q2: About Trust Center Link Key and zgApsLinkKeyType=ZG_GLOBAL_LINK_KEY
Coordinator setting:
SECURE=1;Enable TC_LINKKEY_JOIN;zgApsLinkKeyType=ZG_GLOBAL_LINK_KEY
// ZigBee Alliance Pre-configured TC Link Key - 'ZigBeeAlliance09'
#define DEFAULT_TC_LINK_KEY { 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c,\
0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39 }
End-Device setting:
SECURE=1;Enable TC_LINKKEY_JOIN;
Expect:
The End-Device could join the Coordinator success, then Coordinator send network key(encrypted of DEFAULT_TC_LINK_KEY)to End-Device.
If Coordinator send the command to End-Device, that command need to be encrypted by DEFAULT_TC_LINK_KEY,
when End-Device receive the command to use network key to decode, right?
Q3: About Trust Center Link Key and zgApsLinkKeyType=ZG_UNIQUE_LINK_KEY
Coordinator setting:
SECURE=1;Enable TC_LINKKEY_JOIN;zgApsLinkKeyType=ZG_UNIQUE_LINK_KEY
// ZigBee Alliance Pre-configured TC Link Key - 'ZigBeeAlliance09'
#define DEFAULT_TC_LINK_KEY { 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c,\
0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39 }
End-Device setting:
SECURE=1;Enable TC_LINKKEY_JOIN;
Expect:
The End-Device could join the Coordinator success, then Coordinator and End-Device to exchange the network key(encrypted of DEFAULT_TC_LINK_KEY).
If Coordinator send the command to End-Device, that command need to be encrypted by DEFAULT_TC_LINK_KEY of End-Device,
and End-Device send the command to Coordinator, that command need to be encrypted by DEFAULT_TC_LINK_KEY of Coordinator
when End-Device receive the command to use DEFAULT_TC_LINK_KEY of Coordinator to decode, right?
when Coordinator receive the command to use DEFAULT_TC_LINK_KEY of End-Device to decode, right?
B.R.
Joe