版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026-02-09发布1 2 3 33术语和定义 3 3 4 4 4 7GBA_UAPI访问控制机制 附录A(资料性)GBA_U派生密钥Ks__int_NAF生成过程 附录B(资料性)GBA_UAPIpackage信息 2本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定3仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本ServicesIdentityModule(ISIM)application)3GPPTS33.220通用认证架构(GAA);通用引导(GenericAuthenticationArchitecture(GAA);GenericBootstrapping)thecontroloftheauthoritywhichAID:应用标识符(ApplicationAPI:应用程序接口(Application4应用AppletAppletApplet6.1.1概述说明创建GBAUCipher类的实例getInstance(bytecipherAlgorithm,bytepaddingAlgorbyte[]nafID,shortnafIDOff,shobyte[]nafID,shortnafIDff,shortnafIDLen,shortkeybyte[]nafID,shortnafIDOff,sho5说明输入更多数据,进行多部分的加密/解密使用init方法指定的NAFID及关联的密/解密操作6.1.2getlnstance方法1publicstaticGBAUCiphergetInstance(bytpublicstaticGBAUCiphergetInstance(bytecip6externalAccess:若为true,表示该实例可在多个卡应用实例间共享,6.1.4init方法16.1.4.1声明publicabstractvoidinit(bytetheMode,byte[]adfAID,shortadfAIDOff,shorbyte[]nafID,shortnafIDOff,shortnafIDLen)nafIDOff:nafID数组中NAFID值的起始偏移量。7——ArrayIndexOutOfBoundsException:若对adfAID或nafID的检查操作导致访问数组越界。6.1.5init方法2publicabstractvoidinit(bytetheMode,byte[]adfAID,shortadfAIDOffbyte[]nafID,shortnafIDOff,shortnafIDLen,byte[]bArray,shortbOff,shortbLen)当Ks_int_NAF密钥为瞬态密钥时,实现应尽可能使用瞬态空间进行内部存储,以提升性能。adfAIDOff:adfAID数组中ADFAID值的起始偏移量。nafIDOff:nafID数组中NAFID值的起始偏移量。bOff:bArray数组中特定算法的数据的起始偏移量。bLen:特定算法的参数数据的字节长度。8——ArrayIndexOutOfBoundsException:若对adfAID或nafID或bArray的检查操作导致访问数组越6.1.6init方法3publicabstractvoidinit(bytetheMode,byte[]adfAID,shortadfAIDOff,shorbyte[]nafID,shortnafIDOff,shortnafIDLen,shortkeyLength)密钥长度约定:nafIDOff:nafID数组中NAFID值的起始偏移量。keyLength:密钥长度一密钥的位数。有效的密钥位数长度取决于密钥类型。9——NullPointerException:若ad——ArrayIndexOutOfBoundsException:若对adfAID或nafID的检查操作导致访问数组越界。publicabstractvoidinit(bytetheMode,byte[]adfAID,shortadfAIDOff,shorbyte[]nafID,shortnafIDOff,shortnafIDLen,byte[]bArray,shortbOff,shortbLen,short——AES-192:使用256位Ks_int_NAF密钥的左侧192位最高有效位;theMode:解密模式或加密模式。nafIDOff:nafID数组中NAFID值的起始偏移量。bOff:bArray数组中特定算法的数据的起始偏移量。bLen:特定算法的参数数据的字节长度。keyLength:密钥长度一密钥的位数。有效的密钥位数长度取决于密钥类型。章节);——ArrayIndexOutOfBoundsException:若对adfAID或nafID或bArray的检查操作导致访问数组越publicabstractshortupdate(byte[]inBuff,shortinOffset,shortinLength,byte[]该方法需要临时存储中间结果。如果输入数据长度不是块大小的整数倍,需要分配额外的内部存储空间来存储部分输入数据块。若输入缓冲区(inBuff)和输出缓冲区(outBuff)为同例如,若inBuff==outBuff且inOffset<outOffset<inOffset+inLength,可能导致输出输入数据未按块对齐时,不允许输入与输出缓冲区有任何重叠。例如,若inBuff==outBuff且——CryptoException.UNINITIALIZED_KEY:密钥(Ks_int_NAF)未初始化;publicabstractshortdoFinal(byte[]inBuff,shortoutBuff,shortoutOffset)叠(即输入数据在使用前不能被修改)。例如:若inBuff==outBuff且inOffset<outOffset<输入数据未按块对齐时,输入与输出缓冲区不允许任何重叠。例如:若inBuff==outBuff且——解密操作(ISO9797方法1填充除外):填充字节不会写入outBuff;——输入/输出字节数差异:加密或解密操作中,写入outBuff的字节数可能大于、小于inLength,甚至为0;——解密操作若抛出ArrayIndexOutOfBoundsException,outBuff可能已被部分修改。6.1.9.2参数·解密数据未被适当的填充字节界定。——NullPointerException:若inBuff或outBuff为空;——ArrayIndexOutOfBoundsException:若对inBuff或outBuff的检查操作导致访问数组越界。publicabstractbytegetAlgorithm()publicabstractbytegetCipherAlg6.1.12.1声明publicabstractbytegetPadpublicstaticGBAUSignaturegetInstance(bytealgoexternalAccess:若为true,表示该实例可在多个卡应用实例间共享,且当GBAUSignature实例对应算法的GBAUSignature对象。cipherAlgorithm,bytepaddingAlgorithm,booleanexternalAccess33.220)。Ks_int_NAF密钥为256位对称密钥,因此并非所有非对称密钥算法均支持。6.2.4init方法1publicabstractvoidinit(bytetheMode,byte[]adfAIDLen,byte[]nafID,shortnafIDOff,shortnafIDLen)adfAIDOff:adfAID数组中ADFAID值的起始偏移量。nafIDOff:nafID数组中NAFID值的起始偏移量。章节);6.2.5init方法26.2.5.1声明publicabstractvoidinit(bytetheMode,byte[]adfAID,shoradfAIDLen,byte[]nafID,shortnafIDOff,shortnafIDLen,shortkeyLength)keyLength:密钥长度一密钥的位数。有效的密钥位数长度取决于密钥类型。章节);——theMode参数为未定义值;——检查nafIDOff或nafIDLen时,访问超出nafID数组边界。6.2.6init方法36.2.6.1声明publicabstractvoidinit(bytetheMode,byte[]adfAID,shoradfAIDLen,byte[]nafID,shortnafIDOff,shortnafIDLen,byte[]bArray,shortbOff,shortnafIDOff:nafID数组中NAFID值的起始偏移量。bOff:bArray数组中特定算法的数据的起始偏移量。bLen:特定算法的参数数据的字节长度。章节);抛出NullPointerException:若adfAID或nafID为空。抛出ArrayIndexOutOfBoundsException,对应情况如下:——检查adfAIDOff或adfAIDLen时,访问超出adfAID数组边界;——检查nafIDOff或nafIDLen时,访问超出nafID数组边界;——检查bOff或bLen时,访问超出bArray数组边界。6.2.7.1声明publicabstractvoidinit(bytetheMode,byte[]adfAID,shortadfAIDLen,byte[]nafID,shortnafIDOff,shortnafIDLen,byte[]bArray,shortbOff,shortbLen,adfAIDOff:adfAID数组中ADFAID值的起始偏移量。bOff:bArray数组中特定算法的数据的起始偏移量。bLen:特定算法的参数数据的字节长度。keyLength:密钥长度一密钥的位数。有效的密钥位数长度取决于密钥类型。6.2.7.3返回章节);——密钥长度与getInstance(NullPointerException:——检查nafIDOff或nafIDLen时,访问超出6.2.8update方法6.2.8.1声明publicabstractvoidupdate(byte[]inBuff,shortinOffset,shorti仅当签名/验签所需的所有输入数据不能一次性提供在一个字节数组中时,才应使用此方法。若所有输入数据位于单个字节数组中,建议使用sign()或verify()方法。若inLength为0,此方法不执行任何操作。inOffset:输入缓冲区中开始加密/解密的起始偏移量。——ArrayIndexOutOfBoundsException:若对inBuff的检查导致数组越界访问。publicabstractshortsign(byte[]inBuff,shortinOffset,shor除返回结果,此方法还会将结果设置到内部状态中,如果平台支持的话,可以通过sigOffset:在sigBuff中开始存放签名数据的位置偏移量。——ArrayIndexOutOfBoundsException:inOffset或inLength的检查操作导致访问超出inBuff数——ArrayIndexOutOfBoundsException:sigOffset检查操作导致超出sigBuff数组边界。publicabstractbooleanverify(byte[]inBuff,shortinOffset,shortsigBuff,shortsigOffset,shortSensitiveResult·如果GBAUSignature算法未对消息进行填充,并且消息未按块对齐;·如果GBAUSignature算法未对消息进行填充,且在inBuff中未提供输入数据,也未通过——ArrayIndexOutOfBoundsException:inOffset或inLength的检查操作导致访问超出inBuff数组——ArrayIndexOutOfBoundsException:sigOffset检查操作导致超出sigBuff数组边界。6.2.11.1声明或verify()方法传递给此GpublicabstractvoidsetInitialDi消息第一部分的字节长度的最大允许值取决于具体算法。initialDigestBuf:包含起始哈希值的输入缓冲区,该值代表了(使用相同的算法)消息前半部分之前计算出的哈希值。initialDigestOffset:将数据偏移至初始摘要缓冲区数组中,该数组的起始位置即为摘要值数据所在的位置。digestedMsgLenBuf:包含消息第一部分中字节数的字节数组,该部分已先进行哈希处理以获取指定的起始摘要值。digestedMsgLenOffset:在已处理消息长度缓冲区中,用于标识已处理长度的起始位置(从该位置开始的字节(共digestedMsgLenLength个字节)被连接起来以形成实际的已处理消息长度值)。publicabstractshortsignPreComputedHash(byte[]hahashLength,byte[]sigBuff,shortsigOffset)除返回结果外,该方法还会将结果设置到内部状态中,如果平台支持的话,可以使用hashOffset:哈希值在缓冲区中的起始位置偏移量。publicabstractbooleanverifyPreComputedHash(byte[]hashBuff,shorthashOffset,shorthashLength,byte[]sigBuff,shortsigOffset,shortsigLen哈希和输出缓冲区的数据可能会重叠。除返回布尔值结果外,该方法还会将结果设置到内部状态中,如果平台支持的话,可以通过SensitiveResult类的断言方法来再次检查该状态。如果签名验证通过,则返回“1”,否则返回“0”。如果“sigLength”与GBAUSign·如果GBAUSignature算法在应用加密原语之前未计算出独特的消息摘要值。6.2.14getAlgorithm方法获取签名算法。从javacard.security.Signature类的ALG_*常量中列出的预publicabstractbytegetAlgorithm()则返回值为0。6.2.15.1声明publicabstractbytegetCipherAlg6.2.16.1声明publicabstractbytegetPad6.2.17.1声明publicabstractbytegetMessageDigestAlgorithm()6.2.18.1声明GBAUException类定义GBAUCipher和GBAUSignature类在出现异常情况时抛出特定异常。GBAUException字段摘要见表2。该原因码(=1)用于指示因GBA引导流程(GBABootstrap)未完成,导致加密/签名操作无法执行。AID不支持GBA_U,导致加密/签名操作无法执该原因码(=4)用于指示因卡应用请求使用的NAF_ID不在允许范围内,导致加密/签名操作行。GBA_U_NAF_DERIVATION_NO该原因码(=3)用于指示应用不允许使用USIMAPI,导致加密/签名操作无法执行。)抛出带有指定原因的GBAUExcept实例GBAUExecption字段详情见表3。publicstaticfinalshortGBA_U_B0OTSTRAP_NOT_DONE该原因码(因GBA引导流程(GBABootstrap)未完成,导致加密/签名操作无法执GBA_U_NAF_DERIVATION_NpublicstaticfinalshortGBA_U_NAF_DERIVATION_NOT_DONE该原因码(=2)用于指示因GBANAF派生流程未完成,导致加密/签名操publicstaticfinalshortGBA_U
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 花卉园艺工安全检查考核试卷含答案
- 2026年新科教版初中七年级历史上册第一单元远古人类文明起源卷含答案
- 2026年新科教版初中九年级语文下册第一单元中考语文题型分类突破卷含答案
- 意匠工岗前价值创造考核试卷含答案
- 丙烯酸及酯装置操作工岗前实操效果考核试卷含答案
- 通风维护工岗后能力考核试卷含答案
- 尿素合成工岗前安全生产知识考核试卷含答案
- 塑料模压工安全文化强化考核试卷含答案
- 新生儿护理多学科标准化方案
- 新冠疫苗对医护人员保护效果评估
- 爱情片《百万英镑》台词-中英文对照
- 商品七大异常状态及处理
- 先导式减压阀的设计方案
- YS/T 429.1-2000铝幕墙板 板基
- GB/T 37669-2019自动导引车(AGV)在危险生产环境应用的安全规范
- 第四章 AP1000反应堆结构设计(杜圣华)
- 汕头市南澳岛演示文稿课件
- 西安交大流体力学题与答案
- 设备供货安装方案(通用版)
- 第二节 金属的腐蚀和防护PPT课件
- 九年一贯制学校小学初中深度一体化办学策略的调研报告
评论
0/150
提交评论