[PATCH] osmo-ttcn3-hacks[master]: GSUP/L3: Add templates related to authentication

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Wed Jan 24 16:29:26 UTC 2018


Review at  https://gerrit.osmocom.org/6023

GSUP/L3: Add templates related to authentication

Change-Id: Id9566e3e075a8837e2e77a7c2b9d8f0f6e9b7554
---
M library/GSUP_Types.ttcn
M library/L3_Templates.ttcn
2 files changed, 152 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/6023/1

diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index 7455085..bc54510 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -88,8 +88,15 @@
 	 variant (val) "CROSSTAG(imsi, tag = OSMO_GSUP_IMSI_IE;
 				 cause, tag = OSMO_GSUP_CAUSE_IE;
 				 cancel_type, tag = OSMO_GSUP_CANCEL_TYPE_IE;
+				 auth_tuple, tag = OSMO_GSUP_AUTH_TUPLE_IE;
 				 auts, tag = OSMO_GSUP_AUTS_IE;
 				 rand, tag = OSMO_GSUP_RAND_IE;
+				 sres, tag = OSMO_GSUP_SRES_IE;
+				 kc, tag = OSMO_GSUP_KC_IE;
+				 ik, tag = OSMO_GSUP_IK_IE;
+				 ck, tag = OSMO_GSUP_CK_IE;
+				 autn, tag = OSMO_GSUP_AUTN_IE;
+				 res, tag = OSMO_GSUP_RES_IE;
 				 msisdn, tag = OSMO_GSUP_MSISDN_IE;
 				 hlr_number, tag = OSMO_GSUP_HLR_NUMBER_IE;
 				 cn_domain, tag = OSMO_GSUP_CN_DOMAIN_IE;
@@ -108,6 +115,12 @@
 	GSUP_IEs	auth_tuple,
 	octetstring	auts,
 	octetstring	rand,
+	octetstring	sres,
+	octetstring	kc,
+	octetstring	ik,
+	octetstring	ck,
+	octetstring	autn,
+	octetstring	res,
 	hexstring	msisdn,
 	octetstring	hlr_number,
 	GSUP_CnDomain	cn_domain,
@@ -126,6 +139,38 @@
 	with { extension "prototype(convert) decode(RAW)" };
 
 
+template GSUP_IE ts_GSUP_IE_AuthTuple2G(octetstring rand, octetstring sres,
+				        octetstring kc) := {
+	tag := OSMO_GSUP_AUTH_TUPLE_IE,
+	len := 0, /* overwritten */
+	val := {
+		auth_tuple := {
+			valueof(ts_GSUP_IE_RAND(rand)),
+			valueof(ts_GSUP_IE_SRES(sres)),
+			valueof(ts_GSUP_IE_Kc(kc))
+		}
+	}
+}
+
+template GSUP_IE ts_GSUP_IE_AuthTuple2G3G(octetstring rand, octetstring sres,
+				          octetstring kc, octetstring ik,
+					  octetstring ck, octetstring autn,
+					  octetstring res) := {
+	tag := OSMO_GSUP_AUTH_TUPLE_IE,
+	len := 0, /* overwritten */
+	val := {
+		auth_tuple := {
+			valueof(ts_GSUP_IE_RAND(rand)),
+			valueof(ts_GSUP_IE_SRES(sres)),
+			valueof(ts_GSUP_IE_Kc(kc)),
+			valueof(ts_GSUP_IE_IK(ik)),
+			valueof(ts_GSUP_IE_CK(ck)),
+			valueof(ts_GSUP_IE_AUTN(autn)),
+			valueof(ts_GSUP_IE_RES(res))
+		}
+	}
+}
+
 template GSUP_PDU tr_GSUP(template GSUP_MessageType msgt := ?, template GSUP_IEs ies := *) := {
 	msg_type := msgt,
 	ies := ies
@@ -141,6 +186,10 @@
 
 template GSUP_PDU tr_GSUP_SAI_REQ(template hexstring imsi) :=
 	tr_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, { tr_GSUP_IE_IMSI(imsi), * });
+
+template (value) GSUP_PDU ts_GSUP_SAI_RES(hexstring imsi, GSUP_IE auth_tuple) :=
+	ts_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT, {
+		valueof(ts_GSUP_IE_IMSI(imsi)), auth_tuple });
 
 template GSUP_PDU tr_GSUP_SAI_ERR(template hexstring imsi, template integer cause) :=
 	tr_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, {
@@ -241,6 +290,53 @@
 	}
 }
 
+template (value) GSUP_IE ts_GSUP_IE_SRES(octetstring sres) := {
+	tag := OSMO_GSUP_SRES_IE,
+	len := 0, /* overwritten */
+	val := {
+		sres := sres
+	}
+}
+
+template (value) GSUP_IE ts_GSUP_IE_Kc(octetstring kc) := {
+	tag := OSMO_GSUP_KC_IE,
+	len := 0, /* overwritten */
+	val := {
+		kc := kc
+	}
+}
+
+template (value) GSUP_IE ts_GSUP_IE_IK(octetstring ik) := {
+	tag := OSMO_GSUP_IK_IE,
+	len := 0, /* overwritten */
+	val := {
+		ik := ik
+	}
+}
+
+template (value) GSUP_IE ts_GSUP_IE_CK(octetstring ck) := {
+	tag := OSMO_GSUP_CK_IE,
+	len := 0, /* overwritten */
+	val := {
+		ck := ck
+	}
+}
+
+template (value) GSUP_IE ts_GSUP_IE_AUTN(octetstring autn) := {
+	tag := OSMO_GSUP_AUTN_IE,
+	len := 0, /* overwritten */
+	val := {
+		autn := autn
+	}
+}
+
+template (value) GSUP_IE ts_GSUP_IE_RES(octetstring res) := {
+	tag := OSMO_GSUP_RES_IE,
+	len := 0, /* overwritten */
+	val := {
+		res := res
+	}
+}
 
 
 
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index be9386a..d652873 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -474,6 +474,62 @@
 	}
 }
 
+template PDU_ML3_NW_MS tr_ML3_MT_MM_AUTH_REQ(template OCT16 rand := ?) := {
+	discriminator := '0101'B,
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			authenticationRequest := {
+				messageType := '010010'B,
+				nsd := '00'B,
+				cipheringKeySequenceNumber := ?,
+				spare2_4 := ?,
+				authenticationParRAND := rand,
+				authenticationParAUTN := *
+			}
+		}
+	}
+}
+
+template (value) PDU_ML3_MS_NW ts_ML3_MT_MM_AUTH_RESP_2G(OCT4 sres) := {
+	discriminator := '0101'B,
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			authenticationResponse := {
+				messageType := '010100'B,
+				nsd := '00'B,
+				authenticationParSRES := sres,
+				authenticationParSRESext := omit
+			}
+		}
+	}
+}
+
+template (value) PDU_ML3_MS_NW ts_ML3_MT_MM_AUTH_RESP_3G(OCT4 sres, octetstring res) := {
+	discriminator := '0101'B,
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			authenticationResponse := {
+				messageType := '010100'B,
+				nsd := '00'B,
+				authenticationParSRES := sres,
+				authenticationParSRESext := {
+					elementIdentifier := '21'O,
+					lengthIndicator := 0, /* overwritten */
+					valueField := res
+				}
+			}
+		}
+	}
+}
 
 
 }

-- 
To view, visit https://gerrit.osmocom.org/6023
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id9566e3e075a8837e2e77a7c2b9d8f0f6e9b7554
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>



More information about the gerrit-log mailing list