1、 ETSI TS 131 113 V8.0.0 (2009-03)Technical Specification Universal Mobile Telecommunications System (UMTS);LTE;Universal Subscriber Identity ModuleApplication Toolkit (USAT) interpreter byte codes (3GPP TS 31.113 version 8.0.0 Release 8)ETSI ETSI TS 131 113 V8.0.0 (2009-03) 1 3GPP TS 31.113 version
2、8.0.0 Release 8 Reference RTS/TSGC-0631113v800 Keywords LTE, UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lucratif enregistre la Sous-Prfecture de Grasse (06) N 7803/8
3、8 Important notice Individual copies of the present document can be downloaded from: http:/www.etsi.org The present document may be made available in more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version
4、 is the Portable Document Format (PDF). In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status
5、. Information on the current status of this and other ETSI documents is available at http:/portal.etsi.org/tb/status/status.asp If you find errors in the present document, please send your comment to one of the following services: http:/portal.etsi.org/chaircor/ETSI_support.asp Copyright Notificatio
6、n No part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media. European Telecommunications Standards Institute 2009. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTM, TIPHONTM, the TIPHON logo and the ETSI logo
7、 are Trade Marks of ETSI registered for the benefit of its Members. 3GPPTM is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. LTE is a Trade Mark of ETSI currently being registered for the benefit of its Members and of the 3GPP Organizational P
8、artners. GSM and the GSM logo are Trade Marks registered and owned by the GSM Association. ETSI ETSI TS 131 113 V8.0.0 (2009-03) 2 3GPP TS 31.113 version 8.0.0 Release 8 Intellectual Property Rights IPRs essential or potentially essential to the present document may have been declared to ETSI. The i
9、nformation pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found in ETSI SR 000 314: “Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards“, which is available from
10、the ETSI Secretariat. Latest updates are available on the ETSI Web server (http:/webapp.etsi.org/IPR/home.asp). Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI
11、SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become, essential to the present document. Foreword This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP). The present document may refer to technical specifications or rep
12、orts using their 3GPP identities, UMTS identities or GSM identities. These should be interpreted as being references to the corresponding ETSI deliverables. The cross reference between GSM, UMTS, 3GPP and ETSI identities can be found under http:/webapp.etsi.org/key/queryform.asp. ETSI ETSI TS 131 11
13、3 V8.0.0 (2009-03) 3 3GPP TS 31.113 version 8.0.0 Release 8 Contents Intellectual Property Rights2 Foreword.2 Foreword.9 1 Scope 10 2 References 10 3 Definitions, abbreviations and symbols .11 3.1 Definitions11 3.2 Abbreviations .12 3.3 Symbols13 4 Model of computation 14 4.1 Navigation 15 4.2 Commu
14、nication with the external system entity 15 4.2.1 Incoming pages from the external system entity.15 4.2.2 Outgoing data to the external system entity15 4.2.3 Wait State16 4.3 Terminal response handler mechanism 17 4.3.1 Operation of the Terminal Response Handler.18 4.3.1.1 Definitions.18 4.3.1.2 Ope
15、ration.18 4.3.2 Default Terminal Response Handler configuration 18 4.4 Activation.19 4.5 Page format overview.21 4.6 History list21 5 TLV Format22 5.1 Coding of the tag byte 23 5.2 Attributes in TLVs23 5.3 Coding of attribute bytes 23 6 Variables.24 6.1 Usage areas.24 6.1.1 Environment variable usag
16、e area25 6.1.1.1 USAT Interpreter system information partition 25 6.1.1.1.1 Write access to the partition 27 6.1.1.1.2 Read access of the partition.27 6.1.1.2 USIM issuer information partition 27 6.1.1.2.1 Write access to the partition 27 6.1.1.2.2 Read access of the partition.27 6.1.1.3 End user in
17、formation partition 27 6.1.1.3.1 Write access to the partition 27 6.1.1.3.2 Read access of the partition.27 6.1.2 Permanent variable area28 6.1.2.1 Write access to the permanent variable area .28 6.1.2.2 Read access of the permanent variable area28 6.1.3 Temporary variable area .29 6.1.3.1 Write acc
18、ess to the temporary variable area29 6.1.3.2 Read access of the temporary variable area 29 6.1.3.3 Lifetime of temporary variables30 6.1.4 Page string element.30 6.1.4.1 Write access to page string elements.30 6.1.4.2 Read access of page string elements .30 6.2 Variable values.30 6.3 Variable substi
19、tution.30 ETSI ETSI TS 131 113 V8.0.0 (2009-03) 4 3GPP TS 31.113 version 8.0.0 Release 8 7 Used USAT Interpreter data structures 32 7.1 Page32 7.1.1 Attributes 33 7.1.2 Page Identification 33 7.1.3 Page Unlock Code 33 7.1.4 One Time Password34 7.1.5 Keep Alive List.34 7.1.6 Service ID .34 7.1.7 Stri
20、ng Pool 34 7.1.8 Terminal response handler modifier .34 7.1.8.1 Attribute 35 7.1.8.2 General result range 37 7.1.8.3 Text for user notification.37 7.1.8.4 Action38 7.1.8.4.1 Attributes .38 7.1.8.4.2 Action ID.39 7.1.8.4.3 Action to be performed39 7.1.8.4.4 Action description .41 7.2 Navigation Unit
21、42 7.2.1 Attributes 42 7.2.2 Anchor 42 7.2.3 Terminal response handler modifier .43 7.2.4 USAT Interpreter Byte Codes.43 7.3 Anchor Reference.43 7.4 Variable Identifier List .43 7.5 Inline Value 43 7.6 Inline Value 2 .44 7.7 Input List 45 7.8 Ordered TLV List.45 7.9 Page Reference.45 7.9.1 Anchor Re
22、ference .45 7.9.2 Variable Identifier List46 7.9.3 Submit Configuration .46 7.9.3.1 Attributes.46 7.9.3.2 Submit Data.47 7.9.3.3 Text to be displayed during the active wait state 47 7.9.3.4 Gateway Address 47 7.10 Submit 48 7.10.1 Submit Data 48 7.10.2 Page Identification 48 8 USAT Interpreter byte
23、codes48 8.1 Set Variable49 8.2 Assign and Branch49 8.2.1 Destination Variable Identifier .50 8.2.2 Inline TLV containing Select Item Title.50 8.2.3 Ordered TLV List TLV.50 8.3 Extract 52 8.4 Go Back52 8.5 Branch On Variable Value .53 8.5.1 Variable ID .53 8.5.2 Ordered TLV List .53 8.5.3 Page Refere
24、nce .53 8.6 Exit .53 8.7 Execute USAT Command 54 8.7.1 Attributes 56 8.7.2 Simple TLV 56 8.7.3 Simple TLV Indicator.56 8.7.4 Sequence of Simple TLVs and Simple TLV Indicators57 8.7.5 Result of an Execute USAT Command 57 8.7.5.1 Optimisation not Required 57 8.7.5.2 Optimisation Required 58 ETSI ETSI
25、TS 131 113 V8.0.0 (2009-03) 5 3GPP TS 31.113 version 8.0.0 Release 8 8.8 Execute Native Command58 8.8.1 Attributes 58 8.8.2 Result of a Native Function Call.59 8.9 Get Length59 8.10 Get TLV Value.59 8.11 Display Text .60 8.12 Get Input.60 9 Native Commands 61 9.1 Security Plug-ins 62 9.1.1 Common To
26、pics62 9.1.1.1 Security Policy 62 9.1.1.2 Classification of PINs .62 9.1.1.3 Key Diversification .62 9.1.1.4 Output Parameters.62 9.1.2 PKI Plug-ins63 9.1.2.1 P7 - PKCS#7 Signature Plug-In63 9.1.2.1.1 Description 63 9.1.2.1.2 NCI 63 9.1.2.1.3 Arguments .63 9.1.2.1.4 Output Parameters .64 9.1.2.1.5 E
27、xecution.64 9.1.2.1.6 Errors.64 9.1.2.2 FP Fingerprint Plug-In .64 9.1.2.2.1 Description 64 9.1.2.2.2 NCI 65 9.1.2.2.3 Arguments .65 9.1.2.2.4 Output Parameters .66 9.1.2.2.5 Execution.66 9.1.2.2.6 Errors.66 9.1.2.3 AD Asymmetric Decryption Plug-In .66 9.1.2.3.1 Description 66 9.1.2.3.2 NCI 66 9.1.2
28、.3.3 Arguments .66 9.1.2.3.4 Output Parameters .66 9.1.2.3.5 Execution.67 9.1.2.3.6 Errors.67 9.1.3 Triple DES Plug-ins67 9.1.3.1 DE Triple DES Encryption Plug-In67 9.1.3.1.1 Description 67 9.1.3.1.2 NCI 67 9.1.3.1.3 Arguments .67 9.1.3.1.4 Output Parameters .68 9.1.3.1.5 Execution.68 9.1.3.1.6 Erro
29、rs.68 9.1.3.2 DD Triple DES Decryption Plug-In.68 9.1.3.2.1 Description 68 9.1.3.2.2 NCI 68 9.1.3.2.3 Arguments .68 9.1.3.2.4 Output Parameters .69 9.1.3.2.5 Execution.69 9.1.3.2.6 Errors.69 9.1.3.3 DS Triple DES Sign Plug-In 69 9.1.3.3.1 Description 69 9.1.3.3.2 NCI 70 9.1.3.3.3 Arguments .70 9.1.3
30、.3.4 Output Parameters .70 9.1.3.3.5 Execution.70 9.1.3.3.6 Errors.70 9.1.3.4 DU Triple DES Unwrap Plug-In71 9.1.3.4.1 Description 71 9.1.3.4.2 NCI 71 ETSI ETSI TS 131 113 V8.0.0 (2009-03) 6 3GPP TS 31.113 version 8.0.0 Release 8 9.1.3.4.3 Arguments .71 9.1.3.4.4 Output Parameters .71 9.1.3.4.5 Exec
31、ution.71 9.1.3.4.6 Errors.71 9.1.4 PIN Management Plug-ins72 9.1.4.1 CP Change PIN Plug-In .72 9.1.4.1.1 Description 72 9.1.4.1.2 NCI 72 9.1.4.1.3 Arguments .72 9.1.4.1.4 Output Parameters .72 9.1.4.1.5 Execution.72 9.1.4.1.6 Errors.72 9.1.4.2 RP Reset PIN Plug-In.73 9.1.4.2.1 Description 73 9.1.4.2
32、.2 NCI 73 9.1.4.2.3 Arguments .73 9.1.4.2.4 Output Parameters .73 9.1.4.2.5 Execution.74 9.1.4.2.6 Errors.74 10 End to End Security74 10.1 Encrypt .74 10.2 Decrypt.74 11 Modes of operation.74 11.1 Pull .74 11.2 Push / Cell Broadcast .74 12 Error handling and coding74 12.1 Setting of the environment
33、variable “error code“ .74 12.2 User notification of the execution 75 12.3 Error coding75 13 Tag Values76 Annex A (informative): Terminal Response Handler Flow Charts .77 Annex B (informative): Example of Accessing USAT Interpreter Functionality in Wireless Mark-up Language79 B.1 Introduction 79 B.1.
34、1 Purpose.79 B.1.2 Terminology.79 B.1.3 Definitions and abbreviations.80 B.2 Namespace .80 B.2.1 The USAT Interpreter EF Class .80 B.2.2 Examples 80 B.3 WML 81 B.3.1 WML Syntax81 B.3.1.1 The WML page.81 B.3.1.2 Entities 81 B.3.1.3 Elements .82 B.3.1.4 Attributes 82 B.3.1.5 Variables.82 B.3.2 Extende
35、d functionality interface.82 B.4 Implicit calls using WML syntax .82 B.4.1 Prologue .82 B.4.2 Character encoding.82 B.4.3 Elements.83 B.4.3.1 wml element83 B.4.3.2 card element84 B.4.3.3 p element.84 ETSI ETSI TS 131 113 V8.0.0 (2009-03) 7 3GPP TS 31.113 version 8.0.0 Release 8 B.4.3.4 br element .8
36、4 B.4.3.5 input element 84 B.4.3.6 select Element.85 B.4.3.7 option element 85 B.4.3.8 go element.86 B.4.3.9 setvar element .87 B.4.3.10 noop element.87 B.4.3.11 do element.88 B.4.3.12 refresh Element.88 B.5 Explicit calls using WML syntax .88 B.5.1 Services for USAT Commands 88 B.5.1.1 Launch Brows
37、er89 B.5.1.2 Play tone .89 B.5.1.3 Provide Local Information90 B.5.1.4 Refresh90 B.5.1.5 Run AT Command91 B.5.1.6 Send USSD .91 B.5.1.7 Send SM .91 B.5.1.8 Set up call .92 B.5.1.9 Set Idle Mode Text .92 B.5.2 Services for Interpreter Commands93 B.5.2.1 Get Interpreter Version Information .93 B.5.2.2
38、 Get Interpreter Buffer Size93 B.5.2.3 Get Native Command List 93 B.5.2.4 Get Terminal Profile .94 B.5.2.5 Get Error Code for Last Byte Code Command.94 B.5.2.6 Get Maximum Size for Temporary Storage of Page.94 B.5.2.7 Get USAT Interpreter Issuer URL94 B.5.2.8 Get USAT Interpreter Issuer URL Hash.94
39、B.5.2.9 Get User Name .94 B.5.2.10 Get User Email .95 B.5.3 Services for Calling Client Plug-Ins.95 B.6 Access to Special Features .96 B.6.1 Variable Management 96 B.6.1.1 Keep Alive and Protect Variables.96 B.6.2 Terminal Response Handler Modifier 96 B.6.2.1 Replace .97 B.6.2.2 Add .98 B.6.2.3 Rest
40、ore 98 B.6.2.4 Remove.99 B.7 References 99 Annex C (informative): Terminal Response Handler Modifier examples.100 C.1 Replace Operation101 C.2 Add/Append Operation 102 C.3 Remove Operation103 C.4 Restore Operation.104 C.5 Special case: Empty text for user notification105 C.6 Special case: No text fo
41、r user notification106 C.7 Special case: Modify a single exception case.107 Annex D (normative): PKI Plug-ins Implementation Specification 108 D.1 P7108 D.1.1 Plug-in Execution .108 D.1.1.1 User Identification.109 D.1.2 Signature Calculation113 ETSI ETSI TS 131 113 V8.0.0 (2009-03) 8 3GPP TS 31.113
42、version 8.0.0 Release 8 D.1.2.1 Template Expansion113 D.1.2.2 Signature Generation Operation113 D.1.2.3 Output data formatting 114 D.2 FP .115 D.2.1 Plug-in Execution .115 D.2.2 Signature Calculation116 D.2.2.1 Signature Generation Operation116 D.2.2.2 Output data formatting 117 D.2.3 Format of Wrap
43、pedContent117 D.3 AD 119 D.3.1 Plug-in Execution .119 D.3.2 Decryption calculation120 D.4 Non-functional Requirements 120 D.4.1 Customisation Requirements 120 D.4.2 Architectural Requirements 120 Annex E (normative): PIN Management Plug-ins Implementation Specification.121 E.1 CP.121 E.1.1 Plug-in E
44、xecution .121 E.2 RP.122 E.2.1 Plug-in Execution .122 E.2.2 Decryption and Verification .122 E.2.2.1 3DES EDE CBC with two keys + SHA-1 MDC.122 E.2.2.2 3DES EDE CBC with two keys + ISO/IEC 9797 MAC .123 E.2.2.3 3DES EDE CBC with three keys + SHA-1 MDC.124 E.2.2.4 3DES EDE CBC with three keys + ISO/I
45、EC 9797 MAC .124 E.3 Non-functional Requirements 124 E.3.1 Customisation Requirements 124 E.3.2 Architectural Requirements 124 Annex F (normative): Triple DES Plug-ins Implementation Specification126 F.1 DE.126 F.1.1 Plug-in Execution .126 F.1.2 Encrypt Procedure.126 F.2 DD 127 F.2.1 Plug-in Executi
46、on .127 F.2.2 Decrypt Procedure 127 F.3 DS.129 F.3.1 Plug-in Execution .129 F.3.2 MAC Calculation Procedure.130 F.4 DU 130 F.4.1 Plug-in Execution .130 F.4.2 Decryption and Verification Procedure 131 F.4.2.1 3DES EDE CBC with two keys + SHA-1 MDC.131 F.4.2.2 3DES EDE CBC with two keys + ISO/IEC 9797
47、 MAC .132 F.4.2.3 3DES EDE CBC with three keys + SHA-1 MDC.132 F.4.2.4 3DES EDE CBC with three keys + ISO/IEC 9797 MAC .132 F.5 Non-functional Requirements 133 F.5.1 Customisation Requirements 133 F.5.2 Architectural Requirements 133 Annex G (informative): Change History 134 History 135 ETSI ETSI TS
48、 131 113 V8.0.0 (2009-03) 9 3GPP TS 31.113 version 8.0.0 Release 8 Foreword This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP). The present document may refer to technical specifications or reports using their 3GPP identities, UMTS identities or GSM
49、 identities. These should be interpreted as being references to the corresponding ETSI deliverables. The cross reference between GSM, UMTS, 3GPP and ETSI identities can be found under http:/webapp.etsi.org/key/queryform.asp. The contents of the present document are subject to continuing work within the TSG and may change following formal TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an identifying change of release date and an increase in version number as follows: Version x.y.z where: x the f