Attention is currently required from: dexter.

laforge has posted comments on this change by dexter. ( 
https://gerrit.osmocom.org/c/pysim/+/39225?usp=email )

Change subject: global_platform: fix usage of the Key Version Number (kvn)
......................................................................


Patch Set 3: Code-Review+1

(1 comment)

File pySim/global_platform/scp.py:

https://gerrit.osmocom.org/c/pysim/+/39225/comment/9e5d033c_48ccc764?usp=email :
PS2, Line 230:     kvn_ranges = [[0x00, 0x00], [0x01, 0x01], [0x20, 0x2f], 
[0x70, 0x70]]
> I have tried to find some more information about those ranges, but I couldn't 
> find any information a […]
the spec reference you indicated just talks about KVN / KID within the same SD. 
 The check I implemented originally is about deriving the SCP version from the 
KVN.  The spec quote says nothing about those.

* TS 102 225 Annex A.1 states KVN 0x01..0x0F shall be used for SCP80
* GPC_GUI_003 states
  * For the Issuer Security Domain, this is initially Key Version Number 'FF' 
which has been deliberately chosen to be outside of the allowable range ('01' 
to '7F') for a Key Version Number.
  * It is logical that the initial keys in the Issuer Security Domain be 
replaced by an initial issuer Key Version Number in the range '01' to '6F'.
  * Key Version Numbers '70' to '72' and '74' to '7F' are reserved for future 
use.
  * On an implementation supporting Supplementary Security Domains, the RSA 
public key with a Key Version Number '73' and a Key Identifier of '01' has the 
following functionality in a Supplementary Security
Domain with the DAP Verification privilege [...]
* GPC_GUI_010 V1.0.1 Section 6 states
  * Key Version number range ('20' to '2F') is reserved for SCP02
  * Key Version 'FF' is reserved for use by an Issuer Security Domain 
supporting SCP02, and cannot be used for SCP80. This initial key set shall be 
replaced by a key set with a Key Version Number in the ('20' to '2F') range.
  * Key Version number range ('01' to '0F') is reserved for SCP80
  * Key Version number '70' with Key Identifier '01' is reserved for the Token 
Key, which is either a RSA public key or a DES key
  * Key Version number '71' with Key Identifier '01' is reserved for the 
Receipt Key, which is a DES key
  * Key Version Number '11' is reserved for DAP as specified in ETSI TS 102 226 
[2]
  * Key Version Number '73' with Key Identifier '01' is reserved for the DAP 
verification key as specified in sections 3.3.3 and 4 of [4], which is either 
an RSA public key or DES key
  * Key Version Number '74' is reserved for the CASD Keys (cf. section 9.2)
  * Key Version Number '75' with Key Identifier '01' is reserved for the key 
used to decipher the Ciphered Load File Data Block described in section 4.8 of 
[5].

Sadly I don't have the UICC Configuration 2.0 document, and GP charges 1495 USD 
for a copy, so I'm currently unable to "officially" confirm that the '30 .. 3F' 
range is reserved for SCP03.

Given I did all the above research now durign this patch review, please add a 
commit that copy+pastes the above KVN ranges somewhere into the pySim source 
code for further reference.



--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39225?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I42be2438c7f199b238f2ec7a9434cec5393210a7
Gerrit-Change-Number: 39225
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Attention: dexter <[email protected]>
Gerrit-Comment-Date: Wed, 08 Jan 2025 11:29:56 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: laforge <[email protected]>
Comment-In-Reply-To: dexter <[email protected]>

Reply via email to