一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据传输方法及终端设备与流程

2021-11-02 11:27:00 来源:中国专利 TAG:
一种数据传输方法及终端设备与流程

本申请涉及终端技术领域,具体涉及一种数据传输方法及终端设备。

背景技术

用户身份识别模块卡(subscriber identity module,SIM)是全球移动通信系统(global system for mobile communications,GSM)的移动用户所持有的集成电路卡片,GSM系统通过SIM卡来识别移动用户。用户的终端设备只有插入SIM卡后,才能接入GSM系统进行识别和使用,而同一张SIM卡可在不同的终端设备上使用。

如果用户的终端设备丢失,即使在终端设备锁定的情况下,他人也可以将丢失的SIM卡取出,插入其他终端设备中,获取SIM卡的信息。因此,为了防止SIM卡信息被盗用,可以为SIM卡设置个人识别码(personal identification number,PIN)。PIN码是保护SIM卡的一种安全密码,如果设置了PIN码,那么每次终端设备开机后在输入锁屏密码之后还要输入PIN码解锁SIM卡,以提高SIM卡使用的安全性。



技术实现要素:

本申请提供了一种数据传输方法及装置。

申请人在研究中发现,当用户更换终端设备,从旧终端设备向新终端设备传输数据时,为了保证PIN码安全性,旧终端设备不会将PIN码传输至新的终端设备上。由于新终端设备没有保存相应的SIM卡的PIN码,因此,当用户将旧终端设备上的SIM卡插入到新终端设备上时,新终端设备还需要用户重新输入PIN码。如果用户遗忘PIN码,连续输入多次错误PIN码,就会将SIM卡锁住,导致新终端设备不能使用,影响用户使用体验。本申请的一些实施例能够实现两个终端设备在数据传输时,安全的将PIN码传输至新终端设备上,使用户无需在新终端设备上重新输入PIN码,可以提高用户使用体验。

第一方面,本申请实施例提供了一种数据传输方法,应用于第一终端设备,方法包括:获取第一密钥,第一密钥为第一终端设备与第二终端设备的共享密钥;接收第二终端设备发送的加密数据,加密数据是第二终端设备根据第一密钥对PIN码加密后得到的,PIN码为第一终端设备的SIM卡的密码;根据第一密钥对加密数据进行解密,得到PIN码;在需要解锁所述SIM卡时,所述第一终端设备根据所述PIN码自动解锁所述SIM卡。

根据以上技术方案,第一终端设备可以获得与第二终端设备共享的第一密钥,第一终端设备根据第一密钥对第二终端设备发送的加密数据解密,得到PIN码。可以实现第二终端设备将PIN码安全的传输至第一终端设备,第一终端设备可以根据PIN码解锁SIM卡,使用户在第一终端设备上无需重新输入PIN码,提高用户使用体验。

结合第一方面,在一种可选择的实现方式中,所述接收所述第二终端设备发送的加密数据包括:在所述第二终端设备向所述第一终端设备进行数据迁移克隆的过程中,接收所述第二终端设备发送的所述加密数据。结合第一方面,在一种可选择的实现方式中,获取第一密钥包括:获取第一私钥、第一随机数和第二随机数;根据第一私钥、第一随机数和第二随机数生成第一公钥;将第一公钥、第一随机数和第二随机数发送给第二终端设备;接收第二终端设备发送的第二公钥,第二公钥由第二终端设备根据第二私钥、第一随机数和第二随机数生成的;根据第一私钥和第二公钥生成第一密钥。

这样,第一终端设备和第二终端设备之间通过互相交换的信息生成的一个相同的第一密钥,通过第一密钥对第一终端设备和第二终端设备之间传输的PIN码进行加密,可以提高PIN码在传输过程中的安全性。

结合第一方面,在一种可选择的实现方式中,根据第一私钥、第一随机数和第二随机数生成第一公钥采用以下公式:

A=Ga mod P;

其中,A为第一公钥,a为第一私钥,P为第一随机数,G为第二随机数。

结合第一方面,在一种可选择的实现方式中,根据第一私钥和第二公钥生成第一密钥采用以下公式:

S=Ba mod P;

其中,S为第一密钥,B为第二公钥,a为第一私钥,P为第一随机数。

结合第一方面,在一种可选择的实现方式中,根据第一密钥对加密数据进行解密,得到PIN码之后还包括:对PIN码加密保存。这样,第一终端设备得到PIN码后,对PIN码加密保存,可以提高PIN码在第一终端设备本机保存的安全性。

结合第一方面,在一种可选择的实现方式中,获取第一密钥之前还包括:向第二终端设备发送验证信息和连接请求,验证信息包括第一终端设备的用户身份信息,以使得第二终端设备在用户身份信息验证通过后接受连接请求。

这样,在第一终端设备和第二终端设备进行数据传输之前,第二终端设备首先对第一终端设备的身份信息进行验证,避免非法设备的连接,从而保证设备数据的安全性。

结合第一方面,在一种可选择的实现方式中,根据PIN码自动解锁SIM卡包括:获取第一终端设备的设备识别号和SIM卡的设备列表,设备列表中包括多个设备识别号;判断第一终端设备的设备识别号是否在设备列表中;如果第一终端设备的设备识别号在设备列表中,获取SIM卡识别号以及与SIM卡识别号对应的预存PIN码;判断PIN码与预存PIN码是否相同;如果PIN码与预存PIN码相同,解锁SIM卡;如果PIN码与预存PIN码不相同,锁定SIM卡,或者,生成第一窗口,第一窗口用于引导用户输入PIN码。这样,通过判断第一终端设备是否安全,以及判断PIN码与SIM卡预存PIN码是否相同,可以实现第一终端设备根据PIN码解锁SIM卡的同时,保证第一终端设备和SIM卡的安全性。

结合第一方面,在一种可选择的实现方式中,如果第一终端设备的设备识别号不在设备列表中,锁定SIM卡,或者,生成第二窗口,第二窗口用于引导用户输入PIN码。这样,可以防止SIM卡插入设备列表外的设备,盗取SIM卡的信息,进一步提高SIM卡使用的安全性。

结合第一方面,在一种可选择的实现方式中,所述接收所述第二终端设备发送的加密数据包括:在所述第二终端设备和所述第一终端设备登录了同一账号的情况下,所述第一终端设备接收所述第二终端设备发送的所述加密数据。这样,可以保证数据传输的安全性。

第二方面,本申请实施例提供了一种数据传输装置,应用于第一终端设备,装置包括:获取模块,用于获取第一密钥,第一密钥为第一终端设备与第二终端设备的共享密钥;接收模块,用于接收第二终端设备发送的加密数据,加密数据是第二终端设备根据第一密钥对PIN码加密后得到的,PIN码为第一终端设备的SIM卡的密码;解密模块,用于根据第一密钥对加密数据进行解密,得到PIN码。

结合第二方面,在一种可选择的实现方式中,获取模块包括:第一获取单元,用于获取第一私钥、第一随机数和第二随机数;第一生成单元,用于根据第一私钥、第一随机数和第二随机数生成第一公钥;发送单元,用于将第一公钥、第一随机数和第二随机数发送给第二终端设备;接收单元,用于接收第二终端设备发送的第二公钥,第二公钥由第二终端设备根据第二私钥、第一随机数和第二随机数生成的;第二生成单元,用于根据第一私钥和第二公钥生成第一密钥。

结合第二方面,在一种可选择的实现方式中,装置还包括加密模块,用于对PIN码加密保存。

结合第二方面,在一种可选择的实现方式中,装置还包括发送模块,用于向第二终端设备发送验证信息和连接请求,验证信息包括第一终端设备的用户身份信息,以使得第二终端设备在用户身份信息验证通过后接受连接请求。

结合第二方面,在一种可选择的实现方式中,装置还包括解锁模块,用于在需要解锁SIM卡时,根据PIN码解锁SIM卡。

结合第二方面,在一种可选择的实现方式中,解锁模块包括:第二获取单元,用于获取第一终端设备的设备识别号和SIM卡的设备列表,设备列表中包括多个设备识别号;第一判断单元,用于判断第一终端设备的设备识别号是否在设备列表中;第三获取单元,用于如果第一终端设备的设备识别号在设备列表中,获取SIM卡识别号以及与SIM卡识别号对应的预存PIN码;第二判断单元,用于判断PIN码与预存PIN码是否相同;第一执行单元,用于如果PIN码与预存PIN码相同,解锁SIM卡;第二执行单元,用于如果PIN码与预存PIN码不相同,锁定SIM卡,或者,生成第一窗口,第一窗口用于引导用户输入PIN码。

结合第二方面,在一种可选择的实现方式中,解锁模块还包括:第三执行单元,用于如果第一终端设备的设备识别号不在设备列表中,锁定SIM卡,或者,生成第二窗口,第二窗口用于引导用户输入PIN码。

第三方面,本申请实施例提供了一种终端设备,包括:存储器和处理器;其中,存储器包括有程序指令,程序指令被处理器运行时,使得终端设备用于执行第一方面及其各个实现方式任一项的方法。

可以理解地,上述提供的第二方面的装置,第三方面的终端设备所能达到的有益效果,可参考第一方面及其任一种可能的实现方式中的有益效果。此处不再赘述。

附图说明

图1为用户在终端设备输入PIN码的示意图;

图2为本申请实施例提供的终端设备信息传输的场景示意图;

图3是本申请实施例提供的终端设备的硬件结构示意图;

图4为本申请实施例提供的一种信息传输方法的流程图;

图5为本申请实施例提供的第一终端设备和第二终端设备获取第一密钥的流程图;

图6为本申请实施例提供的一种根据PIN码解锁SIM卡的流程图;

图7为本申请实施例提供的一种第一窗口的示意图;

图8为本申请实施例提供的一种PIN码自动解锁SIM卡的流程图;

图9为本申请实施例提供的一种第二窗口的示意图。

图10为本申请实施例提供的数据传输装置的结构示意图;

图11为本申请实施例提供的获取模块的结构示意图;

图12为本申请实施例提供的解锁模块的结构示意图;

图13为本申请又一实施例提供的数据传输装置的结构示意图;

图14为本申请又一实施例提供的获取模块的结构示意图;

图15为本申请又一实施例提供的解锁模块的结构示意图;

图16为本申请实施例提供的终端设备的结构示意图;

图17为本申请又一实施例提供的终端设备的结构示意图。

具体实施方式

下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。

SIM卡是一种GSM系统的移动用户所持有的身份识别卡片,GSM系统通过SIM卡来识别移动用户。如果用户的终端设备要接入GSM系统使用,需要在终端设备中插入SIM卡进行用户身份识别。同一张SIM卡可在不同的终端设备上使用,这样会存在一定的安全隐患。例如,如果用户的终端设备丢失,即使在终端设备锁定的情况下,非法用户也可以将丢失的SIM卡取出,插入其他终端设备中,盗用SIM卡的信息。

为了防止SIM卡信息被盗用,用户可以为SIM卡设置PIN码。PIN码是保护SIM卡的一种安全密码,PIN码通常由4-8位的数字组成,由SIM卡的运营商预先设置,用户可对PIN码进行修改。用户一旦输入三次PIN码错误,就会锁住SIM卡,以提高SIM卡的安全性。图1是用户在终端设备输入PIN码的示意图,如图1所示,如果用户为SIM卡设置了PIN码,终端设备在每次开机后,会首先进入到锁屏密码界面11,引导用户输入锁屏密码以解锁终端设备。如果用户在锁屏密码界面输入了正确的锁屏密码,那么终端设备会进入到PIN码输入界面12,引导用户输入PIN码。如果用户在PIN码输入界面输入了正确的PIN码,终端设备会解锁SIM卡,用户可以正常使用终端设备。但是如果用户每次开机都需要先输入锁屏密码再输入PIN码,则会降低用户使用终端设备的便捷体验。

在一些使用场景中,用户可能需要在两个终端设备之间数据传输传输,例如:当用户更换设备时,需要从旧终端设备向新终端设备传输数据。图2为本申请实施例提供的终端设备数据传输的场景示意图。结合图2所示,该场景包括终端设备A和终端设备B,终端设备A和终端设备B可以通过USB有线连接,或者,通过无线通信模块进行无线连接,例如无线保真(wireless fidelity,Wi-Fi)、蓝牙bluetooth、蓝牙网状网络(蓝牙mesh)等。其中,终端设备A为用户新的终端设备,终端设备B为用户旧的终端设备,终端设备B上插入有SIM卡C,并保存有SIM卡C的PIN码。当用户更换使用的设备时,即由终端设备B更换为终端设备A时,用户需要将SIM卡C由终端设备B取出,插入到终端设备A中使用。通常,为了提高用户使用体验,用户可以将终端设备B上存储的设备数据选择部分或者全部迁移至终端设备A上。终端设备B上存储的设备数据包括:电话本、照片、APP数据、缓存数据以及设备配置等数据。但是,在终端设备B向终端设备A数据传输的过程中,可能会发生非法用户截取设备数据,或者,设备数据丢失的情况。因此,为了保证PIN码安全性,终端设备B一般不会将PIN码和设备数据一起传输给终端设备A。这样,由于终端设备A没有保存相应的SIM卡的PIN码,用户在使用终端设备A时就需要重新输入SIM卡C的PIN码,如果用户忘记PIN码,输入多次PIN码错误,SIM卡就会自动被锁住,导致终端设备A无法正常使用,影响用户使用体验。为了避免用户更换终端设备之后在新的终端设备上重新输入PIN码。

本申请实施例提供了一种数据传输方法,基本思路是:终端设备A与终端设备B进行数据传输时,终端设备A与终端设备B获取一个相同的共享密钥,终端设备B根据共享密钥对PIN码进行加密,得到加密数据,并发送至终端设备A,终端设备A根据共享密钥对加密数据进行解密,得到PIN码,并将PIN码保存在终端设备A中,使用户在终端设备A上无需重新输入PIN码。

本申请实施例提供的信息传输方法可以应用于图2所示的终端设备数据传输场景中。本申请实施例提供的终端设备包括但不限于:手机、笔记本电脑、平板电脑、大屏显示设备、虚拟/混合/增强现实设备、本地服务器等,本申请实施例对此不做限定。

图3是本申请实施例提供的终端设备的硬件结构示意图。如图3所示,终端设备100可以包括处理器110,存储器120,通用串行总线(universal serial bus,USB)接口130,射频电路140,移动通信模块150,无线通信模块160,摄像头170,显示屏180,触摸传感器190,气压传感器210和按键220等。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用程序处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中,例如集成在系统芯片(system on a chip,SoC)中。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

存储器120可以用于存储计算机可执行程序代码,可执行程序代码包括指令。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、至少一个功能所需的应用程序程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器120可以包括一个或者多个存储单元,例如可以包括易失性存储器(volatile memory),如:动态随机存取存储器(dynamic random access memory,DRAM)、静态随机存取存储器(static random access memory,SRAM)等;还可以包括非易失性存储器(non-volatile memory,NVM),如:只读存储器(read-only memory,ROM)、闪存(flash memory)等。处理器110通过运行存储在存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备100的各种功能应用程序以及数据处理。

这里需要补充说明的是,本申请实施例所指的操作系统,包括但不限于Android操作系统、IOS操作系统、iPad OS、鸿蒙操作系统(HarmonyOS)、Windows操作系统、Linux操作系统、MAC OS操作系统、嵌入式系统等。

终端设备100的无线通信功能可以通过射频电路140、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。

射频电路140可以包括至少一个天线141,用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。在一些实施例中,天线可以和调谐开关结合使用。

移动通信模块150可以提供应用程序在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线141接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线141转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用程序处理器。应用程序处理器通过音频设备(包括但不限于扬声器,受话器等)输出声音信号,或通过显示屏180显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。

无线通信模块160可以包括无线保真(wireless fidelity,Wi-Fi)模块,蓝牙(bluetooth,BT)模块、GNSS模块、近距离无线通信技术(near field communication,NFC)模块、红外(infrared,IR)模块等。无线通信模块160可以是集成上述至少一个模块的一个或多个器件。无线通信模块160经由天线141接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线141转为电磁波辐射出去。

本申请实施例中,终端设备100的无线通信功能例如可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),第五代移动通信技术新空口(5th generation mobile networks new radio,5G NR),BT,GNSS,WLAN,NFC,FM,和/或IR等功能。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。

摄像头170用于捕获静态图像或视频。摄像头170包括镜头和感光元件,物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV,RYYB等格式的图像信号。在一些实施例中,终端设备100可以包括1个或N个摄像头170,N为大于1的正整数。

NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用程序,例如:图像识别,人脸识别,语音识别,文本理解等。

显示屏180用于显示图像,视频等。显示屏180包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),MiniLED,MicroLED,Micro-OLED,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏180,N为大于1的正整数。

触摸传感器190,也称“触控器件”。触摸传感器190可以设置于显示屏180,由触摸传感器190与显示屏180组成触摸屏,也称“触控屏”。触摸传感器190用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用程序处理器,以确定触摸事件类型。可以通过显示屏180提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器190也可以设置于终端设备100的表面,与显示屏180所处的位置不同。

气压传感器210用于测量气压。在一些实施例中,终端设备100通过气压传感器210测得的气压值计算海拔高度,辅助定位和导航。

按键220包括开机键,音量键等。按键220可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。

可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件组合实现。

图4是本申请实施例提供的一种信息传输方法的流程图。如图4所示,某个终端设备(为便于描述,以下称其为第一终端设备)与其他终端设备(为便于描述,以下称其为第二终端设备)进行数据传输,以实现将第二终端设备中保存的PIN码安全的传输至第一终端设备,具体可以通过以下步骤S101-S107实现:

S101,第二终端设备对第一终端设备进行身份验证。

在第一终端设备与第二终端设备建立连接传输数据前,第二终端设备可以首先对有数据传输需求的第一终端设备进行身份验证。如果第一终端设备通过身份验证,则第二终端设备与第一终端设备建立连接,进行数据传输,如果第一终端设备没有通过身份验证,则第二终端设备拒绝与第一终端设备连接。这样可以防止非法用户盗取第二终端设备的设备数据,从而提高设备数据的安全性。

在一种实现方式中,步骤S101,即第二终端设备对第一终端设备进行身份验证可以包括以下步骤:

S1011,第一终端设备向第二终端设备发送验证信息和连接请求,验证信息包括第一终端设备的用户身份信息。用户身份信息包括但不限于:账号ID、设备识别号和手机号码等。连接请求用于第一终端设备请求与第二终端设备建立连接,以传输数据。

需要说明的是,第一终端设备可以向第二终端设备同时发送验证信息和连接请求,或者,第一终端设备可以向第二终端设备发送包含验证信息的连接请求,或者,第一终端设备还可以向第二终端设备先发送验证信息,再发送连接请求。本申请对此不做具体限定。

S1012,第二终端设备接收第一终端设备发送的验证信息和连接请求,根据验证信息对第一终端设备进行身份验证,如果第一终端设备通过身份验证,则第二终端设备与第一终端设备建立连接。

在本实施例中,第一终端设备可以直接向第二终端设备发送验证信息和连接请求,还可以将验证信息和连接请求发送至云端服务器,第二终端设备从云端服务器接收第一终端设备的验证信息和连接请求,本申请对此不作具体限定。

下面以第一终端设备与第二终端设备进行数据克隆迁移为例,对第二终端设备根据验证信息对第一终端设备进行身份验证的过程进行示例性说明:首先,用户在第一终端设备和第二终端设备登录相同的账号ID,第一终端设备根据用户输入的账号ID和密码登录云端服务器,并向云端服务器发送与第二终端设备的连接请求。然后,云端服务器将从第一终端设备接收到的账号ID和连接请求发送至第二终端设备。最后,第二终端设备从云端服务器接收账号ID和连接请求,判断第一终端设备的账号ID是否与本机登录的账号ID相同,如果第一终端设备的账号ID与本机登录的账号ID相同,则第二终端设备通过对第一终端设备的验证。第二终端设备接受第一终端设备的连接请求,与第一终端设备建立连接。如果第一终端设备的账号ID与本机登录的账号ID不相同,则第二终端设备不通过对第一终端设备的验证,拒绝第一终端设备的连接请求。

S102,第一终端设备和第二终端设备获取第一密钥,第一密钥为第一终端设备与第二终端设备的共享密钥。

在本实施例中,第一密钥用于第二终端设备加密传输数据,第一密钥还用于第一终端设备解密获得传输数据。通过第一密钥对第一终端设备和第二终端设备之间传输的数据进行加密,可以保证数据在传输过程中的安全性。第一密钥是一个只有第一终端设备和第二终端设备可以获得的共享密钥,因此,用第一密钥对传输数据加密的安全性更高。

具体的,第一密钥是通过第一终端设备和第二终端设备之间交换的信息生成的一个共享密钥,第一终端设备和第二终端设备可以获得相同的第一密钥。图5为本申请实施例提供的第一终端设备和第二终端设备获取第一密钥的流程图,如图5所示,在一种实现方式中,第一终端设备和第二终端设备获取第一密钥包括步骤S1021-S1027:

S1021,第一终端设备获取第一私钥、第一随机数和第二随机数。

在本实施例中,第一私钥、第一随机数和第二随机数用于生成第一密钥。其中,第一私钥是第一终端设备的私钥,仅第一终端设备私有,不与第二终端设备进行交换。第一随机数和第二随机数均可以公开,需要发送至第二终端设备。

具体的,第一私钥为一个随机自然数,第一随机数为一个随机质数,第二随机数为第一随机数的生成元。第一私钥、第一随机数和第二随机数均随机生成,示例地,可以通过开放式安全套接层协议(open secure sockets layer,OpenSSL)密码算法库随机生成,OpenSSL密码算法库提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,可以实现生成随机数的功能。同时,OpenSSL密码算法库还提供了对数据的加密保护功能,使得数据可以安全地进行存储和分发。因此,通过OpenSSL密码算法库随机生成第一私钥、第一随机数和第二随机数的安全性更高。

S1022,第一终端设备根据第一私钥、第一随机数和第二随机数生成第一公钥。

第一公钥为第一终端设备的公钥,第一公钥可以公开,第二终端设备根据第一公钥可以生成第一密钥。第一公钥可以根据第一私钥、第一随机数和第二随机数通过公式计算得出。

在一种实现方式中,根据第一私钥、第一随机数和第二随机数生成第一公钥采用以下公式:

A=Ga mod P;

其中,A为第一公钥,a为第一私钥,P为第一随机数,G为第二随机数。

具体的,首先,计算第二随机数G的第一私钥a次方,即Ga。然后对Ga取模运算,计算Ga除以第一随机数P的余数,即得到第一公钥A。

可选的,根据上述公式可以得出,为了提高第一终端设备和第二终端设备获取第一密钥的安全性,防止其他人通过穷举法破解得到第一密钥。第一随机数P可以选择一个非常大的质数,例如,第一随机数P是一个至少300位的质数,根据离散对数问题,基于同余运算和原根的对数运算,即使使用现在所有的计算资源和最好的算法也无法破解出第一密钥。因此,通过将第一随机数P设置为一个较大的质数,可以进一步提高第一终端设备和第二终端设备通过交换信息生成第一密钥的安全性。

S1023,第一终端设备将第一公钥、第一随机数和第二随机数发送给第二终端设备。

第一公钥、第一随机数和第二随机数均是可以公开的数据,第一终端设备将第一公钥、第一随机数和第二随机数发送至第二终端设备,第二终端设备可以根据第一公钥、第一随机数和第二随机数生成第一密钥。

S1024,第二终端设备获取第二私钥,接收第一终端设备发送的第一公钥、第一随机数和第二随机数。

第二私钥是第二终端设备的私钥,仅第二终端设备私有,不与第一终端设备进行交换。第二私钥用于第二终端设备生成第一密钥。具体的,第二私钥为一个随机自然数,可以通过上文的OpenSSL密码算法库随机生成。

S1025,第二终端设备根据第二私钥、第一随机数和第二随机数生成第二公钥;根据第二私钥和第一公钥生成第一密钥。

第二公钥为第一终端设备的公钥,第二公钥可以公开,第一终端设备根据第二公钥可以生成第一密钥。第二公钥可以根据第二私钥、第一随机数和第二随机数通过公式计算得出。

在一种实现方式中,在步骤S1025中,根据第二私钥、第一随机数和第二随机数生成第二公钥采用以下公式:

B=Gb mod P;

其中,B为第二公钥,b为第二私钥,P为第一随机数,G为第二随机数。

具体的,首先,计算第二随机数G的第二私钥b次方,即Gb。然后对Gb取模运算,计算Gb除以第一随机数P的余数,即得到第二公钥B。

第二终端设备根据第二私钥和接收到的第一公钥通过公式计算得到第一密钥,即第二终端设备与第一终端设备的共享密钥。

在一种实现方式中,根据第二私钥和第一公钥生成第一密钥采用以下公式:

S=Ab mod P;

其中,S为第一密钥,A为第一公钥,b为第二私钥,P为第一随机数。

具体的,首先,计算第一公钥A的第二私钥b次方,即Ab。然后对Ab取模运算,计算Ab除以第一随机数P的余数,即得到第一密钥S。

S1026,第二终端设备将第二公钥发送至第一终端设备。

S1027,第一终端设备接收第二终端设备发送的第二公钥,根据第一私钥和第二公钥生成第一密钥。

第一终端设备根据第一私钥和接收到的第二公钥通过公式计算得到第一密钥,即第一终端设备与第二终端设备的共享密钥。

在一种实现方式中,根据第一私钥和第二公钥生成第一密钥采用以下公式:

S=Ba mod P;

其中,S为第一密钥,B为第二公钥,a为第一私钥,P为第一随机数。

具体的,首先,计算第二公钥B的第一私钥a次方,即Ba。然后对Ba取模运算,计算Ba除以第一随机数P的余数,即得到第一密钥S。

示例地,当第一私钥为6,第二私钥为15,第一随机数为23,第二随机数为5时,第一终端设备和第二终端设备获取第一密钥的计算过程为:

第一终端设备根据第一私钥、第一随机数和第二随机数计算第一公钥的公式为:

A=56mod 23=8;

可得,第一公钥为8。

第二终端设备根据第二私钥、第一随机数和第二随机数计算第二公钥的公式为:

B=515mod 23=19;

可得,第二公钥为19。

第二终端设备根据第二私钥、第一公钥和第一随机数计算第一密钥的公式为:

S=815mod 23=2;

可得,第二终端得到的第一密钥为2。

第一终端设备根据第一私钥、第二公钥和第一随机数计算第一密钥的公式为:

S=196mod 23=2;

可得,第一终端得到的第一密钥为2。由此可见,通过本申请实施例提供的方法,第一终端设备和第二终端设备之间通过交换的信息可以实现生成相同的第一密钥。

除了上述实施例提供的通过第一终端设备和第二终端设备之间交换的信息生成第一密钥的方法,在一些可实现的实施方式中,第一终端设备和第二终端设备获取第一密钥的方法还可以通过椭圆曲线迪菲-赫尔曼秘钥交换方法(elliptic curve diffie–hellman key exchange,ECDH)等算法实现。

S103,第二终端设备根据第一密钥对PIN码加密得到加密数据,PIN码为第一终端设备的SIM卡的密码。

其中,PIN码为第一终端设备的SIM卡的密码,需要说明的是,第一终端设备与第二终端设备使用的是同一个SIM卡。具体的,当用户首先在第二终端设备中插入并使用SIM卡,并且设置了SIM卡的PIN码时,第二终端设备将保存有SIM卡的PIN码。在此之后,如果用户将第二终端设备中的SIM卡取出,插入第一终端设备使用,由于SIM卡的PIN码不是在第二终端设备中设置的,因此第一终端设备中不会保存SIM卡的PIN码,该PIN码需要通过第二终端设备获取。

在本实施例中,由于第一终端设备和第二终端设备获得的是相同的第一密钥,因此,第二终端设备采用对称加密的方法对PIN码进行加密。具体的,第二终端设备根据第一密钥对PIN码加密的算法包括但不限于:数据加密标准(data encryption standard,DES)算法、三次数据加密标准(triple DES,3DES)算法以及高级加密标准(advanced encryption standard,AES)算法等,本申请对第一密钥对PIN码加密的算法不做具体限定。

S104,第二终端设备将加密数据发送至第一终端设备。

S105,第一终端设备接收加密数据,根据第一密钥对加密数据进行解密,得到PIN码。

在本实施例中,由于第二终端设备采用对称加密的方法对PIN码进行加密。因此,第一终端设备对加密数据解密时,采用与第二终端设备加密算法相同的算法解密。例如,如果第二终端设备采用DES算法对PIN码进行加密得到加密数据,则第一终端设备采用DES算法对接收到的加密数据进行解密,得到PIN码。

S106,对PIN码加密保存至第一终端设备。

在本实施例中,第一终端设备得到PIN码后,为了保证PIN码在第一终端设备本机保存的安全性,需要对PIN码加密保存。具体的,第一终端设备对PIN码加密的密钥可通过OpenSSL密码算法库生成,第一终端设备对PIN码加密的方法可采用对称加密或非对称加密等,具体的加密算法包括但不限于:DES算法、3DES算法、AES算法、椭圆曲线密码编码学(elliptic curves cryptography,ECC)算法、RSA算法、安全散列(secure hash algorithm,SHA)算法以及信息摘要(message digest algorithm 5,MD5)算法等,本申请对第一终端设备对PIN码加密算法不做具体限定。

在一种实现方式中,为了保证PIN码在第二终端设备中的安全性,第二终端设备同样可以加密保存PIN码,第二终端设备对PIN码加密使用的加密算法可采用与上述第一终端设备相同的加密算法,在此不再赘述。

S107,第一终端设备在需要解锁SIM卡时,根据PIN码解锁SIM卡。

一般来说,如果对SIM卡设置了PIN码,那么当第一终端设备在需要解锁SIM卡时,例如,每次第一终端设备开机后,都需要输入PIN码以解锁SIM卡。这样每次第一终端设备开机,用户不仅需要输入第一终端设备的锁屏密码,还要输入PIN码,用户输入操作过于繁琐,影响用户使用体验。在保证第一终端设备安全使用的前提下,为了减少用户的输入操作,如图6所示,本申请实施例还提供一种根据PIN码解锁SIM卡的方法,具体包括以下步骤S201-S204:

S201,获取第一终端设备的设备识别号和SIM卡的设备列表。

SIM卡的设备列表中包括所有使用过SIM卡的设备信息,或者是用户授权可以使用SIM卡的设备信息。设备信息例如可以是终端设备的国际移动设备识别码(international mobile equipment identity,IMEI),移动设备识别码(mobile equipment identifier,MEID)以及设备序列号(serial number,SN)等。

S202,判断第一终端设备的设备识别号是否在设备列表中。

S203,如果第一终端设备的设备识别号在设备列表中,第一终端设备根据PIN码自动解锁SIM卡。

S204,如果第一终端设备的设备识别号不在设备列表中,第一终端设备锁定SIM卡,或者,第一终端设备生成第一窗口21,第一窗口21用于引导用户输入PIN码。

在本实施例中,通过判断SIM卡插入的第一终端设备是否是曾经使用过SIM卡的设备,即判断第一终端设备是否在SIM卡中曾使用的设备列表中,可以实现判断SIM卡插入的第一终端设备是否安全的目的。

具体的,如果第一终端设备的设备识别号在设备列表中,则说明第一终端设备插入并使用过SIM卡,因此,第一终端设备安全,可以根据PIN码自动解锁SIM卡,不需要用户手动输入PIN码。如果第一终端设备的设备识别号不在设备列表中,则说明第一终端设备没有插入并使用过SIM卡,可能出现第一终端设备为用户的新设备,或者,第一终端设备为非法用户使用的设备的情况。此时,第一终端设备的安全性较低。因此,需要锁定SIM卡;或者,第一终端设备生成第一窗口,引导用户输入PIN码以解锁SIM卡。这样,可以防止非法用户将SIM卡插入其他设备,盗取SIM卡的信息,进一步提高SIM卡使用的安全性。

图7为本申请实施例提供的一种第一窗口的示意图,如图7所示的第一窗口21包括数字键盘以及引导用户输入PIN码的提示信息。第一窗口21的提示内容和布局可根据实际需求情况进行调整,本申请不做具体限定。

图8为本申请实施例提供的一种PIN码自动解锁SIM卡的流程图,如图8所示,在一种实现方式中,根据PIN码自动解锁SIM卡包括步骤S301-S304:

S301,获取SIM卡识别号以及与SIM卡识别号对应的预存PIN码。SIM卡识别号作为SIM卡的标识,可以区分不同的SIM卡。具体的,SIM卡识别号可以包括集成电路卡识别码(integrate circuit card identity,ICCID),或者,国际移动用户识别码(international mobile subscriber identification number,IMSI)等。每一个SIM卡识别号对应预存一个PIN码,PIN码可以是SIM卡的运营商预设的,或者,是通过SIM卡的使用用户设置。

S302,判断PIN码与预存PIN码是否相同。

S303,如果PIN码与预存PIN码相同,解锁SIM卡。

S304,如果PIN码与预存PIN码不相同,锁定SIM卡,或者,第一终端设备生成第二窗口22,第二窗口22用于引导用户输入PIN码。

在本实施例中,判断PIN码与SIM卡预存PIN码是否相同,如果PIN码与SIM卡预存PIN码相同,则说明第一终端设备所保存的PIN码是SIM卡的密码,自动解锁SIM卡。如果PIN码与SIM卡预存PIN码不相同,则说明第一终端设备所保存的PIN码不是SIM卡的密码,出现了第一终端设备所接收并保存的PIN码不是正确的PIN码,或者,第一终端设备所接收并保存的PIN码对应的不是当前第一终端设备插入的SIM卡密码的情况。此时,为保证SIM卡的安全使用,需要锁定SIM卡,或者,第一终端设备生成第二窗口,用于引导用户输入PIN码以解锁SIM卡。如图9所示,为本申请实施例提供的一种第二窗口的示意图,如图9所示的第二窗口22包括数字键盘以及引导用户输入PIN码的提示信息。第二窗口22具体的提示内容和布局可根据实际需求情况进行调整,本申请不做具体限定。通过本实施例提供的自动解锁SIM卡的方法,可以在保证SIM卡安全性的前提下,自动获取PIN码,无需用户再次输入,减少用户的输入操作,提高用户的使用体验。

根据以上技术方案,本申请实施例提供的信息传输方法,通过第一终端设备与第二终端设备获取相同的第一密钥,第二终端设备根据第一密钥对PIN码进行加密,得到加密数据,并发送至第一终端设备,第一终端设备根据共享密钥对加密数据进行解密,得到PIN码。可以实现第二终端设备将PIN码安全的传输至第一终端设备,并保存在第一终端设备中,第一终端设备可以根据PIN码解锁SIM卡,使用户无需重新输入PIN码,减少用户输入操作,提高用户使用体验。

上述本申请提供的实施例对本申请提供的数据传输方法的各方案进行了介绍。可以理解的是,各个设备或装置,例如上述终端设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

图10是本申请实施例提供的数据传输装置的结构示意图。在一个实施例中,终端设备可以通过图10所示的软件装置实现相应的功能。如图10所示,该数据传输装置可以包括:获取模块31、接收模块32和解密模块33。其中,获取模块31,用于获取第一密钥,第一密钥为第一终端设备与第二终端设备的共享密钥;接收模块32,用于接收第二终端设备发送的加密数据,加密数据是第二终端设备根据第一密钥对PIN码加密后得到的,PIN码为第一终端设备的SIM卡的密码;解密模块33,用于根据第一密钥对加密数据进行解密,得到PIN码。

在一种可选择的实现方式中,参见图11,图11为本申请实施例提供的获取模块的结构示意图,获取模块31包括:第一获取单元311,用于获取第一私钥、第一随机数和第二随机数;第一生成单元312,用于根据第一私钥、第一随机数和第二随机数生成第一公钥;发送单元313,用于将第一公钥、第一随机数和第二随机数发送给第二终端设备;接收单元314,用于接收第二终端设备发送的第二公钥,第二公钥由第二终端设备根据第二私钥、第一随机数和第二随机数生成的;第二生成单元315,用于根据第一私钥和第二公钥生成第一密钥。

在一种可选择的实现方式中,装置还包括加密模块34,用于对PIN码加密保存。

在一种可选择的实现方式中,装置还包括发送模块35,用于向第二终端设备发送验证信息和连接请求,验证信息包括第一终端设备的用户身份信息,以使得第二终端设备在用户身份信息验证通过后接受连接请求。

在一种可选择的实现方式中,装置还包括解锁模块36,用于在需要解锁SIM卡时,根据PIN码解锁SIM卡。

在一种可选择的实现方式中,参见图12,图12为本申请实施例提供的解锁模块的结构示意图,解锁模块36包括:第二获取单元361,用于获取第一终端设备的设备识别号和SIM卡的设备列表,设备列表中包括多个设备识别号;第一判断单元362,用于判断第一终端设备的设备识别号是否在设备列表中;第三获取单元363,用于如果第一终端设备的设备识别号在设备列表中,获取SIM卡识别号以及与SIM卡识别号对应的预存PIN码;第二判断单元364,用于判断PIN码与预存PIN码是否相同;第一执行单元365,用于如果PIN码与预存PIN码相同,解锁SIM卡;第二执行单元366,用于如果PIN码与预存PIN码不相同,锁定SIM卡,或者,生成第一窗口,第一窗口用于引导用户输入PIN码。

在一种可选择的实现方式中,解锁模块36还包括:第三执行单元367,用于如果第一终端设备的设备识别号不在设备列表中,锁定SIM卡,或者,生成第二窗口,第二窗口用于引导用户输入PIN码。

图13为本申请又一实施例提供的数据传输装置的结构示意图,在一个实施例中,终端设备可以通过图13所示的软件装置实现相应的功能。如图13所示,该数据传输装置可以包括:获取模块41,用于获取第一密钥,第二密钥为第二终端设备与第一终端设备的共享密钥;加密模块42,用于根据第一密钥对PIN码加密得到加密数据,PIN码为第一终端设备的SIM卡的密码;发送模块43,用于将加密数据发送至第一终端设备。

在一种可选择的实现方式中,参见图14,图14为本申请又一实施例提供的获取模块的结构示意图,获取模块41包括:第一获取单元411,用于获取第二私钥;接收单元412,用于接收第一终端设备发送的第一公钥、第一随机数和第二随机数;第一生成单元413,用于根据第二私钥、第一随机数和第二随机数生成第二公钥;发送单元414,用于将第二公钥发送至第一终端设备;第二生成单元415,用于根据第二私钥和第一公钥生成第一密钥。

在一种可选择的实现方式中,装置还包括加密模块44,用于对PIN码加密保存。

在一种可选择的实现方式中,装置还包括验证模块45,用于接收第一终端设备发送的验证信息和连接请求,验证信息包括第一终端设备的用户身份信息;验证用户身份信息;如果用户身份信息验证通过,接受连接请求,与第一终端设备建立连接。

在一种可选择的实现方式中,装置还包括解锁模块46,用于在需要解锁SIM卡时,根据PIN码自动解锁SIM卡。

在一种可选择的实现方式中,参见图15,图15为本申请又一实施例提供的解锁模块的结构示意图,解锁模块46包括:第二获取单元461,用于获取第二终端设备的设备识别号和SIM卡的设备列表,设备列表中包括多个设备识别号;第一判断单元462,用于判断第二终端设备的设备识别号是否在设备列表中;第三获取单元463,用于如果第二终端设备的设备识别号在设备列表中,获取SIM卡识别号以及与SIM卡识别号对应的预存PIN码;第二判断单元464,用于判断PIN码与预存PIN码是否相同;第一执行单元465,用于如果PIN码与预存PIN码相同,解锁SIM卡;第二执行单元466,用于如果PIN码与预存PIN码不相同,锁定SIM卡,或者,生成第一窗口,第一窗口用于引导用户输入PIN码。

在一种可选择的实现方式中,解锁模块46还包括:第三执行单元467,用于如果第二终端设备的设备识别号不在设备列表中,锁定SIM卡,或者,生成第二窗口,第二窗口用于引导用户输入PIN码。

根据以上技术方案,本申请实施例提供的信息传输装置,可以实现第二终端设备将PIN码安全的传输至第一终端设备,并保存在第一终端设备中,第一终端设备可以根据PIN码解锁SIM卡,使用户无需重新输入PIN码,减少用户输入操作,提高用户使用体验。

本申请实施例还提供一种终端设备,图16为本申请实施例提供的终端设备的结构示意图,参见图16,该终端设备包括:存储器51和处理器52;其中,存储器包括有程序指令,程序指令被处理器运行时,使得终端设备用于执行上述各实施例中由第一终端设备实现的方法。

本申请实施例还提供一种终端设备,图17为本申请又一实施例提供的终端设备的结构示意图,参见图17,该终端设备包括:存储器61和处理器62;其中,存储器包括有程序指令,程序指令被处理器运行时,使得终端设备用于执行上述各实施例中由第二终端设备实现的方法。

此外,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

以上的本申请实施方式并不构成对本申请保护范围的限定。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜