《GM-T0127-2023 移动终端密码模块应用接口规范.docx》由会员分享,可在线阅读,更多相关《GM-T0127-2023 移动终端密码模块应用接口规范.docx(14页珍藏版)》请在优知文库上搜索。
1、ICS35.0341CCS1.80中华人民共和国1行业标准GM/T01272023移动终端密码模块应用接口规范Mobi1.etermina1.cryptographicmodu1.eapp1.icationinterfacespecification20206-012023T2-04发布国家密码管理局发布目次前言III引吉IV1范围12规范性引用文件13术语和定义I4缩略谓25结构模型25.1 层次关系25.2 模块的应用结构26数据类型的定义36.1 算法标识和数据类型定义说明36.2 卷本数据类型定义36.3 受合数据类型定义47移动终端赛码模块应用接口77.1 概述77.2 密码算法实现
2、要求77.3 密码应用包定义87.4 密码应用接口定义87.5 密码模块类87.6 模块连接接口97.7 模块接口107.8 应用接口147.9 容器接11207.10 会话密馆接11297.11 密玛杂凑接口327.12 消息鉴别码接口347.13 带谢钊的杂凑运算接口368安全要求378.1 模块使用阶段378.2 权限管理378.3 其他安全要求38附录AaJe范性)异常码预定义值和说明39前三本文件按照GB,T1.12020必不准化工作9则第1部分:标准化文件的结构和起草规则的规定起草.请注意本文件的某些内容可能涉及专利.本文件的发布机构不承担识别专利的责任.本文件由密玛行业标准化技术
3、委员会提出并日口。本文件起审单位;中国科学院数据与通信保护研究教育中心、中国科学技术大学、中国科学院信息工程研究所、北京数字认证股份有限公司、北京理工大学、长春告大正元信国技术股份有限公司、北京交通大学、中国信息通侑研究院、北京信安世纪科技股份有限公司、中国人寿保险股价由限公司研发中心、国家计尊机网络应急技术处理例调中心、中国电子技术标准化研究院、中国工业互联网研究院、中电科网燃安全科技股份有限公司、格尔软件股份有限公司、北京中电华大电子设计有限近任公司、北京创原天地科技有限公司、北京小雷科技行限公司、北京国脉信安科技有限公司、财付支村科技有限公司北京炼石同络技术有限公司、深宙服科技股份有限公
4、司、北京路云天网络安全技术研究院有限公司.本文件主要起草人:林身辎、贾世杰、郑昉昱、徐博文、马咏及鲁宇、肛冰冰.王安、岛旭、攀训、徐秀、汪宗福、徐丽娟、张晓娜、黄晶品、李琳、王平建、刘丽敏、王伟、牛莹蚊、赵欣怡、吕娜、雷灵光、钱文飞、典明坏、于成期、张立廷、尹一桦、赵雨明、街福1.李涛、王柞、肖云松、柳增寿、裳嶂、何畅、吴怡、白小明、鲍旭华、孔勇.在移动终涉上调用各类密码帙块实现宓玛服务的方式已逐渐普及,本文件目标是为各类移动终端密玛模块的实现提供统一的应用接口焜范,进一步推动密码律法在移动终端上的f署和应用。为移动终淘密码模块的开发、使用及检测提供标准依据和指导,有利于提高移动终端第码模块的
5、产品化.标准化和系列化水平.IV移动终端密码模块应用接口规范19本文件规定了移动终端密码模块的结构模型、数据类基定义、应用接口及安全要求。本文件适用于移动终端密码模块产品的研制和使用,以及基于该类密码产品的应用开发与检测。2短范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款.其中.注H期的引用文件,仅该日期对应的版本适用于本文件:不让日期的引用文件,其最痂成本(包括所有的修改维)适用于本文件.GB/T15852.1信息技术安全技术消息鉴别码第1部分:采用分组密码的机制GB32905信息安全技术SM3密眄杂凌驾法GBT32907信息安全技术SM4分组密码算法GB.T32
6、918(所有部分)信息安全技术SM2椭即曲践公钥密码算法GH/T33560信恩安全技术密码应用标识规范GB.T35276信息安全技术SM2密码算法使用规范GBfT37092信息安全技术密码模块安全要求GM(X)17-2023智能密码钥匙密码应用接口数据格式规范GM/Z4(X)1密码术谙3*XGMTZ41.界定的以及下列术语和定义适用于本文件.3.1密码模块CTyPIograPhiCmodu1.e实现了安全功能的硬件、软件和/或固件的集合,并且被包含在密码边界内,3.2Bodu1.eauthentication移动终端的码模块对应用程序的膝别.33模块鳖别宙的Bodu1.eauthenticat
7、ionkey用于模块鉴别的密的.3.4容SScontainer密码模块中用于保存密钥所划分的唯一性存储空间.35应用app1.ication包括PIN、文件和容潺的一种结构,具备独立的权限管理.4下列缩略谱适用于本文件.MAC:消息鉴别码(MeSSagCAuthcnticutionCode)PIN:个人身份识别码(PerSOnidIdemi1.kUtionNumber)55.1 次关系在移动终端中,移动终端密码模坡应用接口位于移动终端应用程序和移动终端密码模块之间,如EHI所示.B1移动弊由卫费央或用接口的位量移动绻蠲海网模块安装在移动线瓶中.支持密钢管理、轮码计算和取感信史存收等功能,移动终
8、端中的应用程序通过调用移动终端密码模块应用按1.1.执行相应的操作“5.2 ,伏的应用It构模块中存在模块鉴别密钥和多个应用,应用之间相互独立.应用由管理员P【N、用户PIN、文件和容器等组成,一个应用中可以存在多个文件和多个容器,一个应用中的文件、容器隔于同一个用户.个用户可使用个应用或者多个应用进行文件甘理与密钥管理等操作.婚个应用维护各自的与管理员PIN和用户P1.N相关的权限状态.应用的遗辑结构见图2。7.11.2 MfNrft方法声明voidSSFeDigesiInW1.onga1.gid,byte(IpubKey,byteIpucID)throwsRcsuhcodcExccptio
9、n功能描述杂凑初始化。参数a1.gid密码杂漆算法标识pubKcy签名者公份J当密码杂次尊法标识为SGD_SM3时有效pucID签名者ID做,当密码杂漆算法标识为SGD_SM3时有效返回值无抛出异常Resu1.tCkExceptin.SSF_FAI1.失败RCSUhCOdeEXCCPtionsS匕UNKNoWNERR异常tH误ResUitCOdCEXCCPtionSS卜KVA1.IDPARAMERR无效的参数ResuhCxfeExxpiion.SSF,NOTSUPPORT1.G不支持的标识备注当密码杂凑蚱法标识为SGD_SM3H.签名#ID值长度不为0的情况卜,PUbKCy和puc1.D有效,
10、执行DM2算法签名预处理1操作.计算过程遵循GB/T35276.7.11.3 单包敷m*方法声明bytc11SSF.Dgcst(byiedaia,)th11)wsRcsu1.tCtKkExccption功能描述对单一分包的消息进行诙码杂凑计算,并输出结果,参数data待计算数据,不能为空data1.en特计算数据长度返I可慎杂凑伯她出异常Resu1.icodeExcepiionfSF-HASHERR杂漆运算错误ResuhCodeExcption.SSF_NOTINIT1.A1.iZEERR未初始化7.11.4 4Mumw*w方法声明voidSSF.DigcstUpda(c(byte(data.
11、intdataifset.)1.hn)wsResuIICodeExccption功能描述对多个分包的消息诳行密码朵凑计兜,不怆出结果,参数daa待计算数据,不能为空dataffse待计算数据儡移data1.en待计算数据长度品注消息签别玛采用分组加率算法CBC模式,将加密结果的破后一块作为计算结果。侍计算数据的长度应是分组加密算法块长的倍数.接1.1.内部不做数据填充.7.12.3单包岫清方法声明byc11SSF.Mac(bytedata.)throwsRcsu1.tCodcExccption功能描述计算单一分包数据的消息鉴别码.并输出结果.参数data待计算数据返回返抛出异常da1.a1.e
12、n消息貌别码ReshCxteExcepdon.SSF.FAI1.恃计算数据长度失败需注Resu1.tcodeException.SsF-NOTIN1.TbX1.IZEERR未初始化调用SSF-MaC之前,应调用SSF_MaC1.niI消息签别码运算初始化操作,SSF_MaC等价于多次调用SSEYaC1.Pda1。之后再调用SSFMacFinaK7.12.4多包我提常皿胸运算方法声明voidSSF-MacUpdaiMbytcdata,intdataffsd.)th11)wsRcsu1.tCfcException功能描述计算多个分包数据的消息鉴别码,不输出结果。参数data待计算数据返回侑岫出异常
13、da1.aOfsc1.无Resu1.tCo1.eISSF-MacFinaK)throwsRcsu1.tCodcExccption功旎描述结束多个分包数据的消息签别码计算操作,输市消息鉴别码.多数无返回但消息签别码岫出异常Rcsu1.tCodcExccption.SSF_FAI1.失败Rcsu1.tcodcException-SSF-UNKNOWNERR异常错误备注SSF-MacFinaI应在SSF.MacUpdaie之后。SS7.13/密胡的杂,遗尊接口7.13.1 概建带烹用的杂次运算接口(IHMAe)主要完成带密期的杂凑运算的初始化、计算.IHMAC接口系列方法见表18.18IHMC三MWSE类型定义说明voidSSFJMAC1.ni1.带空阴的杂潦运算初始化voidSSF.11MAOJpdate带密桃的多包杂次运电by1.cSSFJMACFirmi带玄的的杂渣运算结束7.13.2 ,击的泉帆撑初始化方法声明voidSSF-HMACInWbyickeyMhrowsRCSUhCodCEXCePtiOn功能描述三步式带密钥的数据杂浓运源的第一步.参数key密钢返回值无她出井常Rcsu1.tcodcExccp