signerl/MAP/asn_src/GSM/MAP-ST-DataTypes.asn

85 lines
3.6 KiB
Groff

-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
gsm-Network(1) modules(3) map-ST-DataTypes(27) version8(8)} DEFINITIONS
IMPLICIT TAGS ::=
BEGIN
EXPORTS
SecureTransportArg, SecureTransportRes, SecurityHeader, ProtectedPayload;
IMPORTS
IMSI
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
version8(8)};
SecureTransportArg ::= SEQUENCE {
securityHeader SecurityHeader,
protectedPayload ProtectedPayload OPTIONAL}
-- The protectedPayload carries the result of applying the security function
-- defined in 3GPP TS 33.200 to the encoding of the argument of the securely
-- transported operation
SecureTransportRes ::= SEQUENCE {
securityHeader SecurityHeader,
protectedPayload ProtectedPayload OPTIONAL}
-- The protectedPayload carries the result of applying the security function
-- defined in 3GPP TS 33.200 to the encoding of the result of the securely
-- transported operation
SecurityHeader ::= SEQUENCE {
securityParametersIndex SecurityParametersIndex,
originalComponentIdentifier OriginalComponentIdentifier,
initialisationVector InitialisationVector OPTIONAL,
...}
ProtectedPayload ::= OCTET STRING(SIZE (1..3438))
-- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer
-- syntax value of the component parameter identified by the
-- originalComponentIdentifier.
-- In protection mode 1 (integrityAuthenticity) the protectedPayload carries
-- the transfer syntax value of the component
-- parameter identified by the originalComponentIdentifier, followed by
-- the 32 bit integrity check value.
-- The integrity check value is the result of applying the hash algorithm
-- to the concatenation of the transfer syntax value of the SecurityHeader,
-- and the transfer syntax value of the component parameter.
-- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected
-- payload carries the encrypted transfer syntax
-- value of the component parameter identified by the
-- originalComponentIdentifier, followed by the 32 bit integrity check value.
-- The integrity check value is the result of applying the hash algorithm
-- to the concatenation of the transfer syntax value of the SecurityHeader,
-- and the encrypted transfer syntax value of the component parameter.
-- See 33.200.
-- The length of the protectedPayload is adjusted according to the capabilities of
-- the lower protocol layers
SecurityParametersIndex ::= OCTET STRING(SIZE (4))
InitialisationVector ::= OCTET STRING(SIZE (14))
-- the internal structure is defined as follows:
-- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded
-- and indicates the number of intervals of 100 milliseconds
-- elapsed since 1st January 2002, 0:00:00 UTC
-- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity
-- within the PLMN. It is the entity's E.164 number without CC and
-- NDC. It is TBCD-coded, padded with zeros.
-- Octets 11 to 14: PROP. This 32 bit value is used to make the
-- InitialisationVector unique within the same TVP period.
-- The content is not standardized.
OriginalComponentIdentifier ::= CHOICE {
operationCode [0] OperationCode,
errorCode [1] ErrorCode,
userInfo [2] NULL}
OperationCode ::= CHOICE {localValue INTEGER,
globalValue OBJECT IDENTIFIER}
ErrorCode ::= CHOICE {localValue INTEGER,
globalValue OBJECT IDENTIFIER}
END