黄健,黄健文,李俊磊
(中国电信股份有限公司广东电信研究院,广州 510630)
在互联网时代,用户需要为各种互联网应用输入不同的用户名、密码进行登录认证,针对互联网应用多用户名、多密码的场景,GSMA国际组织于2014年提出了Mobile Connect项目简称MC计划,该计划主要以运营商手机为认证载体,采用用户账号作为统一的应用接入账号,在全球联盟内实现认证系统互联、向全球用户提供可分不同安全级别并且体验一致的手机认证业务[1]。
自MC计划于2014年世界移动通信大会(Mobile World Congress)期间推出以来,34家移动网络运营商已在21个国家和地区推出此项服务。中国电信2016年底开始研究以MC计划为基础的快捷认证USIM卡产品,并明确定义:快捷认证功能是使用USIM卡的用户身份认证能力,为中国电信自有业务、公众和行业应用提供用户认证的功能[2]。本文后续内容将重点分析中国电信USIM卡快捷认证数据接口、核心业务流程。
快捷认证系统包括:应用用户、用户终端、USIM卡、应用UI、应用认证平台、运营商快捷认证平台、运营商短信网关等角色,其中USIM卡和用户终端共同构成快捷认证的认证主体,USIM卡负责快捷认证相关身份认证短信处理及认证加密数据处理,终端通过主动式命令菜单提供用户认证时的操作UI。系统架构中,电信运营商负责终端、USIM卡、运营商快捷认证平台构建;互联网应用商负责应用UI、应用认证平台构建。系统架构如图1所示。
图1 快捷认证系统架构图
用户使用互联网应用时,用户可选择由互联网应用认证平台进行认,也可选择由运营商快捷认证方式进行认证。快捷认证系统将电信运营商、互联网应用商、用户认证方式选择和认证主体整合,打通应用认证平台和快捷认证平台间接口,使用户在认证主体选择时可选择通过用户手机终端进行认证。
中国电信快捷认证由于网络制式原因,采用CD⁃MA数据短信方式实现。数据短信根据传递数据量大小分级联短信和非级联短信两种,当传递数据量超过一定数值时必须采用级联的多条短信实现数据传递,根据传递方向分上行(卡到平台)和下行(平台到卡)两种。下行应用数据不超过120字节时,采用非级联短信方式;当下行数据超过120字节时需采用级联短信方式,如表1和表2所示。由于上行数据量较少,上行采用非级联数据短信。
表1 级联下行数据短信接口
表2 级联下行后续数据短信接口
快捷认证应用流程主要包括开机主动注册、个人密码修改、基本认证及带验证码认证等核心业务流程,同时为了实现认证平台对USIM卡的管理,快捷认证应用也支持USIM卡状态获取、重置初始状态等卡管理流程。
开机主动注册流程通过监听终端发出的STATUS指令为计时器,当卡未注册时,收到10个STATUS指令时触发注册流程,注册完成后则结束STATUS指令监听。注册流程如图2所示。
图2 开机主动注册流程图
快捷认证应用要求禁止在国际漫游状态下进行注册。USIM通过setup event list主动式命令监听终端位置信息方式判断USIM是否处于国际漫游状态判断。终端获取位置信息后通过envelope指令将位置信息(MCC/MNC)发送给USIM,若卡片接收的MCC为非460值,则表示卡处于国漫漫游状态,不进行开机主动注册流程。
快捷认证应用设计时考虑到注册的成功率及监听STATUS指令带来的卡硬件资源消耗问题,快捷认证应用限定开机注册总的注册次数为3次,3次后不再进行STATUS事件监听,后续注册通过认证平台发出的0x65指令进行平台触发注册。
当用户希望更换快捷认证个人密码时,用户可通过客户电话进行安全条件审核,安全条件验证通过后客户触发快捷认证平台下发0x56数据短信进行个人密码修改。
快捷认证个人密码设计为4-8位数字,编码方式为ASCII码。个人密码修改前需在手机端输入验证旧密码,当旧的密码输入错误10次后,USIM使用DIS⁃PLAY主动式命令提示用户“您的个人密码已被锁定,请咨询电信客服10000号”,个人密码锁定后可采用密码重置流程进行密码初始化重置。密码修改流程通过GETINPUT命令进行两次密码输入,当两次密码输入不一致时修改不成功。个人密码修改流程如图3所示。
图3 快捷认证个人密码修改流程图
在图1快捷认证系统架构图中,当用户选择通过快捷认证方式进行登录时,登录认证请求由互联网应用认证平台转发提交给运营商快捷认证平台,触发快捷认证平台给USIM下发指令为0x52(基本认证)、0x59(带验证码认证)数据短信。带验证码认证流程如图4所示。
图4 带验证码认证流程图
如果USIM未注册,认证流程将触发USIM立即发送注册上行请求0x65指令;如果未设置密码,则触发USIM进行密码初始化设置流程,完成个人密码设置。收到认证平台下发认证请求0x59(带验证码认证)数据短信后,进行认证类型判断,认证类型10不需要输入密码时,USIM直接GETINPUT输入验证码完成认证。
当认证类型为01,需要用户输入个人密码时,GETINPUT输入个人密码验证,当输入密码10次错误后,DISPLAYTEXT提示用户个人密码锁定,认证结束。当个人密码验证成功后,GETINPUT输入验证码完成认证。
认证过程中在用户GET INPUT指令输入个人密码和GET INPUT输入验证码时,当用户点击GETIN⁃PUT指令菜单“取消”按钮时,认证不成功,认证流程结束。
快捷认证应用中USIM发出Display text,Get in⁃put,Send SMS等主动式命令时,可能存在手机终端忙或不支持等异常现象,导致以上主动式命令不能在终端上正常执行。因此USIM会根据终端主动式命令执行返回值,进行如下异常机制处理:
●当返回值为“00”时,用户确认或执行成功,根据各认证业务流程图决定USIM操作。
●当返回值为“10”时,用户取消,根据业务流程决定USIM操作。
●当返回值为“2X”时,USIM卡立即重发一次,重发后再次收到终端返回“2X”时,卡返回9000给终端,USIM不再重发。
●当返回值为其它(含3X),不需重发,USIM响应9000状态字给终端,结束该业务流程。
●当返回值为“11”,均跳转到当前指令。所有业务流程不支持result“11”回退操作。
中国电信快捷认证应用以加密CDMA数据短信方式实现了用户在手机端的接入身份认证,为用户使用互联网应用提供了便利性和安全性。在快捷认证应用推广过程中同时也发现了数据短信延时、不能在国际漫游状态下进行认证、手机终端GETINPUT、DISPLAY TEXT主动式命令兼容性较差等主要问题,解决目前已出现问题,需要短信网关、终端、业务平台等环节和角色共同努力,随着技术的持续进步及快捷认证业务管理的完善,将进一步提升用户使用体验。
参考文献:
[1]张荣.运营商统一移动认证方案与应用.广东通信技术,2016,36(11).
[2]关于印发中国电信4G卡(非NFC)需求白皮书(V2.0)的通知.中国电信市场部【2017】19号文件.