ASN.1 module Ieee1609Dot2Dot1Acpc

OID: {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) acpc(18) major-version-3(3) minor-version-2(2)}

Imports:

Data Elements:

AcpcPdu

This structure contains an APrV structure produced by the CAM. An overview of this structure is as follows:

AcpcPdu ::= CHOICE { tree AprvBinaryTree, aprv IndividualAprv, ... }

AprvBinaryTree

This structure encodes a binary tree. An overview of this structure is as follows:

AprvBinaryTree ::= SEQUENCE { version Uint8 (2), generationTime Time32, currentI IValue, acpcTreeId AcpcTreeId, hashAlgorithmId HashAlgorithm, tree BIT STRING, nodeValueList SEQUENCE (SIZE (1..MAX)) OF AcpcNodeValue, ... }

AcpcPsid

This is the PSID used to indicate activities in ACPC as specified in this document.

AcpcPsid ::= Psid(2113696)

UnsecuredAprvBinaryTree

This is used to wrap an AprvBinaryTree in an Ieee1609Dot2Data for transmission if the policy is that the AprvBinaryTree need not be signed. See 9.5.6 for discussion.

UnsecuredAprvBinaryTree ::= Ieee1609Dot2Data-Unsecured { AcpcPdu (WITH COMPONENTS { tree }) }

SignedAprvBinaryTree

This is used to wrap an AprvBinaryTree in an Ieee1609Dot2Data for transmission if the policy is that the AprvBinaryTree be signed. See 9.5.6 for discussion.

SignedAprvBinaryTree ::= Ieee1609Dot2Data-Signed { AcpcPdu (WITH COMPONENTS { tree }), AcpcPsid }

IndividualAprv

This structure contains an individual APrV. An overview of this structure is as follows:

IndividualAprv ::= SEQUENCE { version Uint8 (2), generationTime Time32, currentI IValue, acpcTreeId AcpcTreeId, nodeId BIT STRING, nodeValue AcpcNodeValue, ... }

SignedIndividualAprv

This is used to wrap an IndividualAprv in an Ieee1609Dot2Data for transmission if the policy is that the IndividualAprv be signed. See 9.5.6 for discussion.

SignedIndividualAprv ::= Ieee1609Dot2Data-Signed { AcpcPdu (WITH COMPONENTS { aprv }), AcpcPsid }

AcpcTreeId

This is an 8 byte string that identifies an ACPC tree series. It is required to be globally unique within the system and is the same for all ACPC tree instances within the ACPC tree series. Registration of AcpcTreeId values is managed by the IEEE RA; see http://standards.ieee.org/regauth. A list of assigned AcpcTreeId values is provided in M.2.

AcpcTreeId ::= OCTET STRING (SIZE(8))

AcpcNodeValue

This is a 16 byte string that represents the value of a node in the ACPC tree.

AcpcNodeValue ::= OCTET STRING (SIZE(16))

AprvHashCalculationInput

This structure, C-OER encoded, is the input to the hash function to calculate child node values from a parent node. By including the ID fields it "firewalls" the hash function so that an attacker who inverts the hash has only found the hash preimage for a specific node, in a specific tree, for a specific time period. An overview of this structure is as follows:

AprvHashCalculationInput ::= SEQUENCE { version Uint8 (2), acpcTreeId AcpcTreeId, acpcPeriod IValue, childNodeId BIT STRING, parentNodeValue OCTET STRING (SIZE(16)), ... }