[发明专利]一种基于Android系统的远程写SIM卡方法有效
申请号: | 201910732439.6 | 申请日: | 2019-08-12 |
公开(公告)号: | CN110430569B | 公开(公告)日: | 2022-11-15 |
发明(设计)人: | 宋文韬 | 申请(专利权)人: | 宋文韬 |
主分类号: | H04W12/03 | 分类号: | H04W12/03;H04W8/18;H04W8/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 android 系统 远程 sim 方法 | ||
本发明公开了一种基于Android系统的远程写SIM卡方法,本发明对五码数据进行组合,并对组合后的数据进行加密;将加密数据通过网络传递至手机;采用基于Android平台采用底层协议OpenMobile技术与SIM卡片建立通道,然后将IMSI个性化指令进行传输,进行MCC切号;加密数据在SIM卡中进行解密,然后注册于基站进行通讯。本方法操作便捷,可通过远程对手机中的SIM卡进行改写或激活操作,避免用户必须到营业厅办理,节约用户时间,在测试领域,大大减少实体卡的储备,减少测试环节带来的时间消耗,提高测试效率,减少测试成本。
技术领域
本发明涉及通信技术领域,具体为一种基于Android系统的远程写SIM卡方法。
背景技术
手机已经逐渐成为人们必不可需的生活工具,而手机中的SIM卡是进行通信、接收短信的主要部件。如果SIM卡损坏或新购,需要本人到通信公司设定的营业厅去办理并激活,现有方法其一是通过写卡器将数据写入SIM卡中,其二是给到用户一些复杂的数据,由用户在手机上进行输入,然后进行注册写入;现有方式都需要人或者设备的参与,SIM卡与数据一一对应,无法进行自动换号及频繁改写SIM数据,特别对于一些通信软件或设备的测试,采用读卡方式十分麻烦,费时费力。
发明内容
鉴于现有技术中所存在的问题,本发明公开了一种基于Android系统的远程写SIM卡方法,包括以下步骤:
Step.1对五码数据进行组合:五码数据包括ICCID,IMSI,SMSP,R1-R5,Limit,Delta;
Step.2对数据进行加密,包括以下步骤:
a)取8个字节的16进制‘0x00’作为初始值;
b)将所有原始数据,即五码数据包含项按照每8个字节一组进行分组D1,D2,D3,D4,.......,Dn;如源数据,即每一项的原始数据不是8的整数倍,则在该源数据后填补一个值为16进制‘0x80’的字节,其余字节,即凑齐8的整数倍数据,去掉第一个值为‘0x80’,其他补充进来的数据,用16进制‘0x00’的字节补齐为8字节;计算MAC所需填充的数据不包含在实际传送的报文数据中,由MAC值校验方在计算MAC码时根据数据长度自行填充;
c)对这些数据块使用会话密钥进行加密;加密算法采用3DES-CBC进行加密,加密方法为若加密数据是8的整数倍,则在数据块后添加一个8字节数据块‘0x80 00 00 00 0000 00 00’;若原始数据不是8的整数倍,则在该数据块后填补一个值为16进制‘0x80’的字节,其余字节用16进制‘0x00’的字节补齐为8字节;
d)最终得到是从计算结果左侧取得的4字节长度的MAC;将MAC加到原始数据的后面,而后再次执行上述b)中的填充和c)中的3DES-CBC加密。
Step.3数据传递支持http协议以及https协议进行数据传输;
Step.4切号、写卡:基于Android系统顶层OpenMobile协议进行操作,步骤如下:
第一步:调用SimCardIOManager中SEService、Reader、reader.openSession()的方法进行初始化,获取会话;
第二步:调用SimCardIOManager中的getLogicChannelNum()方法Channelchannel=session.openLogicalChannel(aid)获取通道;
第三步:调用SimCardIOManager中的getLogicChannelNum()方法byte[]rsp=
channel.transmit(apduBytes)打开通道;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宋文韬,未经宋文韬许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910732439.6/2.html,转载请声明来源钻瓜专利网。