rss 推荐阅读 wap

凤舞科技网_软件|硬件|无线|编程|网络|科技|数码|大数据|云计算|科技资讯网

热门关键词:  xxx  as  test   etc passwd  罗克佳华
首页 科技 大数据 软件 无线 硬件 编程 网络 数码 云计算 快讯

基于Android智能终端的虚拟SIM卡软件实现

发布时间:2020-02-18 已有: 人阅读

  智能终端的虚拟SIM卡软件,支持用户通过终端下载漫游地SIM卡信息,并且可以通过使用下载的卡参数鉴权入网,以接近漫游地当地水平的价格为用户提供数据上网服务。首先介绍了Android结果表明,可以通过终端应用实现产品订购、订单激活,通过虚拟SIM卡可以使用上网业务,上网资费低于运营商资费。

  在当今互联网时代的大背景之下,互联网技术迅猛发展,手机上网的网民也日趋增长。同样,用户在境外出行时的移动上网需求也日益强烈,移户出国活动频繁,国际漫游业务量明显增加[1],传统的实体SIM卡用户需要在出国之前办理国际漫游业务后,能够使用漫游地网络服务。然而,国际漫游资费高是困扰消费者的一题。为了解决上述所提出问题,基于智能终端的虚拟SIM卡技术得到重视和发展。通过支持虚拟SIM技术的终端消费者可以在全球覆盖范围内,以接近目的地价格水平使用数据上网服务。本文根据虚拟卡平台架构,结合Android Telephony框架结构,研究虚拟卡在Android终端中的应用以及相关的技术。针对虚拟卡参数在下载以及保存阶段可能出现的用户信息被,设计基于ARM TrustZone技术实现虚拟卡的安全运行及数据安全。最后通过测试表明可以通过虚拟卡APP完成上网操作。

  虚拟SIM卡平台架构如图1所示,平台由三部分组成:支持虚拟SIM卡技术的终端、用户管理中心和SIM云端服务提供商。

  (1)虚拟SIM卡终端:支持虚拟SIM技术,能从云端下载虚拟SIM卡参数,可用虚拟SIM卡参数接入相应的网络。

  (2)用户管理中心:目的是与终端虚拟SIM APP进行交互,提供用户管理,或终止用户使用虚拟SIM卡参数。

  (3)虚拟SIM卡云端服务供应商:提供运营商参数IMSI、Ki等网络鉴权所必须的虚拟卡参数。本方案与二六三移动通信合作,开发支持虚拟卡技术的终端。

  本方案的目的是设计实现支持虚拟SIM卡的终端,支持虚拟SIM卡技术的终端可以通过WiFi或者移动运营商网络请求从动态IMSI分配服务器下载虚拟SIM卡参数。参数包括国际移户识别码(International Mobile Subscriber Identification Number,IMSI)、鉴权密钥(Key identifier,Ki)等登录网络时用于用户身份认证的关键参数。

  Android Telephony[2]采用了分层结构的设计,共跨越了三层:JavaApplication(应用层)、Java Frameworks(框架层)和RIL(Radio Intece Layer,无线接口层)。Telephony结构与Android框架结构一致。Android Telephony的业务应用跨越了AP和BP。AP与BP相互通信是目前智能手机的基本硬件架构。Android系统在AP上运行,而Telephony运行在LinuxKernel之上的User Space空间。BP侧负责射频控制,包括信号调制、编码、射频移位等高度时间相关的操作。对于不同的厂商,他们的AP侧允许相同,但是Modem侧可能会有差异。因此,Android在AP与Modem之间设计了RILC框架,不同的芯片厂商就可以将其协议连接到AP侧。本虚拟卡方案基于高通平台。对于高通平台来说,它的RILC就是QCRIL。

  虚拟SIM卡终端架构如图2所示,其软件架构与Android Telephony整体分层结构保持一致,包括应用层、框架层、无线通信接口层。

  传统SIM卡是插在Modem中的,终端与SIM卡的交互必须要经过Modem。而虚拟卡相当于在模块侧虚拟了两个卡槽,虚拟卡槽和物理卡槽的连接是互斥的。当虚拟卡激活时,表示当前模块连接的是Softslot,此时模块无法物理卡槽slot信息。当无虚拟卡或者虚拟卡去激活时,模块连接到物理的slot上,此时可以通过接口获取物理slot的信息。当发生了物理卡和虚拟卡切换时,相当于发生了一次热插拔,模块将会将原有的卡信清除,并新的卡信息。

  虚拟SIM APP提供与用户交互的界面,可供用户登录、订购虚拟卡套餐、激活以及去激活虚拟卡。用户登录用户中心后就可以进行虚拟卡的相关操作。用户订购虚拟卡套餐后会在后台执行虚拟卡参数下载以及保存的流程,保存的虚拟卡参数会在用户到达漫游地后由用户选择启用虚拟SIM卡套餐。启用的虚拟SIM卡经鉴权认为就可以使用相应的套餐,连接相应的网络,使用目的地数据服务了。

  本系统基于ARM TrustZone[3]技术实现虚拟卡用户数据的安全传输与保存。目前主流的安全防范措施包括SoC设计外置硬件安全模块、SoC设计内置硬件安全模块、软件虚拟化技术以及ARM TrustZone技术,TrustZone是系统安全的比较好的解决方案。把Virtual SIM运行在TEE里面,以确保SIM数据的安全存储和运行安全。系统框架如图4所示,其中主要包含REE、TEE、硬件平台。

  REE指的是普通执行,也就是常说的Android或者iOS操作系统,其中运行普通应用,本系统基于Android 4.4系统进行开发。TEE指的是可信执行,其中运行可信程序,执行安全操作,为REE提供安全服务。硬件平台指的是支持ARM TrustZone技术的芯片。

  虚拟卡应用运行在普通执行中,以下简称CA。CA是对安全要求较高的一类应用,通过CA,用户可以与虚拟卡进行交互,实现业务购买、业务激活以及业务关闭等操作。

  TEE Client API是运行于REE中的CA与运行于TEE中的TA之间进行通信的接口。通过该标准接口实现TEE的初始化。CA通过接口调用建立CA 与TA之间的联系,实现安全服务的调用。

  Monitor用于控制系统的安全状态,通过NS位修改来达到TEE与REE之间的相互切换,以及在换过程中保存和恢复TEE和REE的状态。

  系统设计将Virtual SIM运行于TEE中,这部分可信应用为运行在REE中的CA提供相应的安全服务。这些安全服务包括数据的访问安全、数据存储安全以及数据的传输安全。

  SFS提供的安全文件系统基于ARM TrustZone技术,运行在安全可执行中。其主要功能是为普通区域存储用于加密虚拟卡数据的RSA公钥、为隔离区提供对加密后的虚拟卡数据的安全存储。使用SFS可以的系统硬件或校准数据免受意外或恶意,以及用户数据被。

  在移动通信系统中,实体SIM卡的主要功能是进行用户身份认证以及通信过程加密。文献[4]指出用于身份认证的鉴权密钥不会通过空口进行传输。但是,虚拟SIM卡的根密钥、IMSI等核心数据会在运营商网络和终端之间传输,这些传输的参数在传输的径中存在被的可能性。并且,下载的虚拟卡参数在终端处理时也会在应用、RIL、Modem之间传输,也有可能从终端获取卡参数,从而造成虚拟卡数据泄露或者失效,损害消费者利益。因此,虚拟卡参数的安全下载是需要解决的一大问题。本方案采用RSA[5](Rivest,Shamir,Adleman)公钥加密算法加密虚拟SIM卡参数。RSA2048公钥加密算法是一种比较典型的非对称加密算法,也是理论上相较于其他非对称加密算法比较成熟、使用比较广泛的一种算法[6]。TrustZone可以提供一个与普通(Android)隔离的安全执行,在隔离中专门处理安全任务。在执行安全操作时通过smc指令进入安全世界,执行安全操作,信息的安全。TrustZone提供一个安全的框架,在该框架下,嵌入式设备能够抵御它将遇到的许多的特定[7],避免了者获取信息。其加密流程如图5所示。

  TZ生成公私钥对,提供给AP侧RSA加密公钥,应用通过getRsaKey()方法获取加密公钥,应用将获取的加密公钥发给服务器,服务器将卡数据中的Ki和OPc用公钥加密返回给应用,用于后续的激活。终端和服务器都有一套基于RSA非对称加密算法机制,通过对用户数据的加密下载,从而确保虚拟SIM卡数据的安全。最后,通过调用operateSotfSim()携带IMSI信息来激活相应的虚拟卡。

  SIM卡中存储着运营商网络用于鉴权用户身份的关键信息,如IMSI、Ki等。如果这些信息被,就可以复制出相应的卡,导致出现克隆卡,造成用户财产损失。所以数据安全是SIM卡需要关注的核心问题。传统SIM数据都保存在相应的文件中,对于SIM卡的访问都有严格的,了卡数据的完整,防止者的和。制造商在产线阶段将运营商数据直接写入卡中,在整个生产环节和SIM卡本身的硬件架构方面使其安全性可以得到保障[8]。对于虚拟卡参数的安全存储关系到用户的通信安全和切身利益。

  为了防止从终端获取到虚拟卡参数,本方案将虚拟卡参数加密存储在安全文件系统(Secure File System,SFS)。通过RSA公钥加密下载的虚拟卡数据在执行存储阶段跳转到安全执行中进行,用户信息存储的安全。通过这种方式存储用户数据,不用针对存储数据专门设计安全存储硬件,一方面减少了芯片面积和功耗,另一方面也降低了产品的开发成本[9]。

  SIM卡是的硬件,它是终端中重要的组成部分,用户要获取运营商服务必须通过SIM卡认证,的SIM卡才能够使用运营商网络。身份认证(也就是用户鉴权)则是通过在SIM卡内部执行相关的鉴权算法来完成[10]。下载的虚拟卡数据同样需要经过鉴权才能入网。虚拟卡要求支持数据漫游,本方案采用基于Milenage算法的鉴权算法,高通提供了Milenage[11]算法的相关功能,可取代SIM卡的Milenage。所有的USIM鉴权都有统一的入口:mmgsdi_uicc_auth()。在函数中判断是否启用了虚拟卡,如果启用了虚拟卡则调用相关处理函数mmgsdi_uicc_onchip_auth(),在该函数中完成AKA_milenage_f2345()软件算法的调用,使用软件鉴权算法替代实体SIM卡进行鉴权操作。Ki和OPc作为鉴权算法传入参数,为了安全在使用时从SFS文件系统读取KEY到局部变量,使用完成后通过memset()对局部变量清零,预防从内存中泄露。

  启用虚拟卡会占用一个物理卡槽。默认情况下会占用空卡槽,如果没插卡或者插入两张物理卡,则需要用户手动设置占用哪个卡槽激活虚拟卡。经测试,测试结果满足预期要求,终端能够通过虚拟卡接入网络。

  测试选用测试套餐,测试套餐只在测试阶段使用内部账号登录才会使用。投入市场不会有套餐选项,成功购买的套餐会在“我的订单”中列出来。到达漫游地后用户可以选择需要启用虚拟卡,激活成功会提示用户当前处于国际漫游状态。经过激活后可以使用漫游地数据服务。激活成功后的虚拟卡会在状态栏信号处显示状态为3G并且带有R(Roaming,漫游)标识,提醒用户当前终端处于数据漫游状态。相关实现结果如图6所示。

  由于各服务商之间提供漫游服务的覆盖区域不同,因此选取比较热门出行的国家及地区进行漫游资费对比,对比结果如表2所示。套餐选择是包天不限流量。

  通过对比发现虚拟卡提供的漫游资费水平明显低于中国移动、中国电信提供的国际漫游资费,给消费者带来方便的数据漫游服务的同时也降低了漫游资费。

  本文设计实现了基于Android平台的虚拟SIM卡功能,实现用户通过支持虚拟卡技术的终端方便地订购、激活、使用漫游地套餐;无需SIM卡即可连接当地运营商网络;使用户摆脱了目的地购买当地SIM卡,历经沟通、购买、换卡以及激活的繁琐流程,以及运营商高昂的国际漫游资费,降低了国际漫游资费。虚拟SIM卡的发展反映了用户需求下的市场发展。不过,虚拟SIM卡仍有很长的要走。首先,虚拟SIM卡服务商必须获得网络运营商的合作授权,能否得到运营商的广泛支持,成为了虚拟SIM卡能否的关键所在[12]。此外,虚拟SIM卡的技术标准、产业推广等其他方面,也仍有很大的发展空间。

  [1] 傅剑峰,蒋静,李方,等.降低国际漫游费的方法及可行性研究[J].移动通信,2015,39(24):71-76.

  [5] 陈健.几种常用数据加密算法的比较[J].福建商业高等专科学校学报,2003(5):45-47.

  [6] 石井,吴哲,谭璐,等.RSA数据加密算法的分析与改进[J].济南大学学报(自然科学版),2013,27(3):283-286.

  [8] 仇剑书,康建雄,严斌峰.eSIM安全性分析及实现方案研究[J].互联网天地,2016(11):5-9.

  [9] 陈书义,闻英友,赵宏.基于可信计算的移动平台设计方案[J].学报(自然科学版),2008,29(8):1096-1099.

  [12] 王海天,宋帆.虚拟SIM卡发展影响及取证新挑战[J].中国新通信,2016(21):66.

  文章出处:【微信号:ChinaAET,微信号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

  对于越来越多手机厂商在原来Android系统上修改内核的做法,谷歌真的是看不下去了,其厂商,修改....

  在现实生活中,大多数人选择java开发这个行业都是看好java的发展前景,那么java学好了之后可以....

  1、学习Java可以做网站 Java可以用来编写网站,现在很多大型网站都用Jsp写的,JSP全....

  这款由Android驱动的设备将设置为采用区块链技术,包括一个冷库钱包,它将支持所有主要的加密货币,....

  如今高端手机领域再次陷入了同质化的旋涡,相似的外观工艺、相同的SoC处理器平台、一样的UFS3.0闪....

  语言使用java,kotlin都可以,目前谷歌更加推荐kotlin, 我的就是如果是一个纯新的项....

  DJI是民用无人机和航空影像技术的全球领导者,为希望在其运营中使用无人机的提供高安全性解决方案。....

  美国已Google认证新的华为智能手机,在这种情况下,据消息道,华为找到了一种将未来全新智能....

  三星中国官网2月6号更新了2020年Galaxy新品发布会的预约页面,从图片来看本次三星新品发布会将....

  2月7日消息,据外媒报道,运行Android R(又名Android 11)的Pixel 2 XL在....

  这些年,随着移动互联网的的发展,越来越多的企业都推出了自己的移动APP,这些APP多数都涉及到个人身....

  智能手机界范围内的快速普及,加上科学技术的高速发展,让人们对智能手机的功能要求越发靠近日常生活。

  本文档的主要内容详细介绍的是PuTTY Plus一款可支持Android adb的putty工具软件....

  全球最大代码托管服务提供商 GitHub,刚刚在 Github Universe 2019 大会上宣....

  纵观全球,任何国家允许用户携号转网后,运营商都会相继推出一些福利政策,或是优惠套餐,或是创新服务等等....

  在此前的GitHub Universe 2019活动上,宣布,全球最大的开源项目代码托管平台Gi....

  微软于2019年10月份发布了Suce Duo,这是一款由Android系统驱动的Suc....

  苹果去年发表iPhone 11系列,首度搭载「超宽带」(Ultra-wideband/UWB)技术的....

  据消息报道,联想Ego智能手表已登陆印度市场,具有50米防水,续航20天等功能;价格为1999印度卢....

  今日,一加8系列现身GeekBench 4跑分网站。GeekBench信息显示,这款型号为GALIL....

  报告中提到,Android智能手机将配备去年荷兰芯片制造商NXP Semiconductors推出的....

  印象中智能手机往往是矩形的,稍微特立独行一点的话就是加入可折叠式设计。不过在CES 2020大展....

  此次更新由2020-01-01和2020-01-05安全补丁程序组成,2020年1月的Android....

  手机内存不够用一直困扰着我,随着移动端App的容量变得越来越大,光微信和钉钉就占据数十个G的内存空间....

  近日,紫光国微、中国联通合作推出的5G超级SIM卡在广州首发上市,32GB 99元、64GB 199....

  以复古风格和高质量的第三方游戏手柄配件商8BitDo最近推出一款新品,这个新的Zero2蓝牙手柄只有....

  近日,紫光国微、中国联通合作推出的5G超级SIM卡在广州首发上市,32GB 99元、64GB 199....

  1月3日,有外媒发现微软已经为Android版Edge浏览器推送了全新的图标(仅限Edge beta....

  适用于Android的Microsoft Edge Beta已于近日获得更新,最显著的特征就是使用了....

  1月1日消息,将于1月6日上市的Realme 5i已现身Geekbench,关键配置已经确认。

  OPPO于2019年11月发布了基于Android 10的ColorOS 7系统,并在中国首次发布,....

  据外媒报道,三星现在已开始在Galaxy A50和Galaxy A40上测试Android 10 。....

  近日,三星已开始在部分亚洲国家和地区测试版本为A505FDDU3BSL1的Galaxy A50固件,....

  虽然如今的Android智能手机具有更大的存储容量,但系统的使得手机无法保存大于4GB的视频....

  要知道Redmi K20在发布的时候,它预装的是基于Android9.0深度定制的MIUI,此番升级....

  谷歌是在2014年作出这个决定的,当时市面上内置存储最大的手机仅有32GB,SD卡也广泛流行,拥有4....

  近日,据XDA论坛爆料,谷歌可能会在Android 11.0上取消经典的4GB文件大小。

  先从大数据平台开始学习。目前比较流行的大数据平台都普遍支持Java语言,所以掌握Java编程对于了解....

  香橙派是一款开源的单板卡片电脑,新一代的arm 开发板,它可以运行Android 4.4、Ubunt....

  Firefly-RK3288是Firefly团队精心打造的一体机主板,采用瑞芯核4核芯片RK3288....

  12月25日消息,一段时间以来,来自中国开发商的应用在印度应用商店越来越受欢迎。去年,在前100大印....

  基于:迅为iTOP-4418开发板 10.9.2.1 将 APK 编译到 Android5.1 镜像中 本节介绍的是如何默认安装 apk 至系统,当然用户...

  外媒发布2019年年度Android手机评选结果 realme X2 Pro荣获年度手机大

  近日,知名科技外媒AndroidAuthority发布了2019年年度Android手机评选结果(编....

  12月23日,由紫光国微与联通合作推出的5G超级SIM卡,在广州联通新时空营业厅正式上市首销。据悉,....

  Qt Quick核心编程》起始于基础的开发搭建和Qt Creator快速介绍,帮助读者正确使用开....

  现在的手机存储空间(ROM)是越做越大,只看苹果手机的话,iPhone 从初代的4GB 已经发展到了....

  内核缺省文件配置之后,Android 目录,运行一键编译脚本“build_android.sh”,如下图所示。 注意:本篇文章基于iTOP-4418开...

  uboot 需要配置缺省文件,进入解压的源码目录 android,然后进入 u-boot 目录,如下 图所示。 如上图所示,如果是 1G 核心...

  Android端在case BLEConstants.ACTION_GATT_SERVICES_DISCOVERED:事件之后执行 BLEManag...

  使用RN4020和它是相当令人沮丧的。模块是BTLEV1.23.58/7/2015(注意:没有升级的意思,因为RTS&CTS是简单地绑在一起...

  android 给cc2541发送数据,CC2541如何设置成收到数据,返回response给手机?...

  开/关机动画及铃声 需要在产品的 device/rockchip/mon/BoardConfig.mk 中配置 BOOT_SHUTDOWN_ANIMATI...

  您好! 一个CyScript(Android移动应用程序)能同时连接两个HARTATER器的基板吗? 最好的问候,Yoshizu...

最火资讯

首页 | 科技 | 大数据 | 软件 | 无线 | 硬件 | 编程 | 网络 | 数码 | 云计算 | 快讯 |免责声明

2011-2038 凤舞科技网(www.foxzw.com)版权所有 Power by DedeCms

电脑版 | wap |