-
-
Notifications
You must be signed in to change notification settings - Fork 694
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HSS only supports OP value, not card-individual OPc #9
Comments
As I know, OPc can be derived from K and OP value like the src/hss/milenage.c
I have no experience how EPC is deployed. So I'm not sure which value is good to store database. I've assumed it as follows.
And also, there is one more operator in this system. So, I've stored OP in the Subscriber database. At this point, I don't know whether the above scenario is right or not. If operator also want to use the individual OPc that is not derived from global OP, I'll change OP to OPc field in Web User Interface. |
Both scenarios exist. It is up to the agreement between SIM card manufacturer and operator whether they use global OP or card-individual OPC. In OsmoHLR, we have prepared the database for both variants. I know it adds complexity, but it's unfortunately the only solution to cover both common cases. For my immediate testing, I've reprogrammed my card to use global OP instead of OPc and authentication via USIM-UE-ENB-MME-HSS is now working with nextepc. So I can make progress right now, but I guess sooner or later somebody will have this issue and not be able to reprogram the card[s]. Regarding your assumption that the card would always contain an OPc: This is unfortunately not correct. We know of at least one widely-used CardOS / USIM application which actually stores the global OP on each card in case of "global OP" case, and only a card-individual OPc in case of card-individual OPc. |
Sukchan, we should cover both scenarios, regarding pratical use-cases at least. It seems that real USIMs might be provided not only with 'OP' + 'K', but also with 'OPc' + 'K' although 'OPc' is derived from 'OP' and 'K' by the 'Milenage' algorithm framework. And please refer to the following about "OPc computed off the USIM": (From ETSI TS 135 206) Recall that OP is an Operator Variant Algorithm Configuration Field. It is expected that each operator will define a value of OP which will then be used for all its subscribers. (It is up to operators to decide how to manage OP. The value of OP used for new batches of USIMs could be changed occasionally; or perhaps a different value could be given to each different USIM supplier. OP could even be given a different value for every subscriber if desired, but that is not really the intention.) (a) OPC computed off the USIM: OPC is computed as part of the USIM prepersonalisation process, and OPC is stored on the USIM. OP itself is not stored on the USIM. The SAGE Task Force recommends that OPC be computed off the USIM if possible, since this gives the following benefits:
|
It's good discussion. Let me add OPc field in nextepc database. On the HSS aspect,
And also, I will update WebUI for supporting these two value. Thanks! |
I've updated WebUI and HSS for supporting OPc in r0.2 branch. Even though database stores both OP and OPc, End-User enter only one of OP and OPc in the WebUI. Thanks! |
* Cyclic req num working locally * Removed testing code --------- Co-authored-by: Ryan Dimsey <ryan@omnitouch.com.au>
The current HSS (at least on the web interface) offers to enter the following fields for each card:
This doesn't match reality and/or the specs, as far as I can tell.
3GPP USIM either have
** global means, OP is the same for all cards, or at the very least for all cards of the same production batch
nextepc HSS appears to implement something like a mix of the two: No card-individual OPc, but a card-individual OP. I cannot find any spec reference of this combination.
Please let me know if I misunderstand something, and my apologies for that case.
The text was updated successfully, but these errors were encountered: