电子设备连接与安全验证、通信、通信监测方法及装置与流程

文档序号:12752501阅读:198来源:国知局
电子设备连接与安全验证、通信、通信监测方法及装置与流程

本发明涉及电子设备连接与安全验证、通信、通信监测方法及装置。



背景技术:

微型电子计算机、移动终端等电子设备在日常生活中发挥着越来越重要的作用,越来越多的人拥有两个或两个以上的电子设备。在不同的电子设备之间进行高速通信,具有非常重要的意义。然而,电子设备之间实现高速通信,会受到电子设备操作系统的制约。例如,目前移动终端使用的操作系统主要有两种,美国苹果公司开发的IOS系统和开源的安卓(Android)系统。IOS系统电子设备和Android系统电子设备之间进行高速通信,就是一个比较困难的问题。

从技术角度分析,IOS系统电子设备和Android系统电子设备之间的通信可以采取无线和有线两种方式。无线通信可以通过wifi芯片、蓝牙芯片等硬件基于对应的协议实现,但其缺点非常明显。通过wifi芯片通信,理论上带宽足够,但连接不稳定,容易受到无线信号的干扰,同时wifi芯片长时间工作功耗很大。通过蓝牙芯片通信,功耗较低(已有低功耗蓝牙技术),但数据带宽非常小,不适合大数据量传输的情形。

有线通信,IOS系统电子设备往往采用Lighting接口(苹果公司自行开发的具备充电、高速数据传输、音频输出、控制台等功能的接口),而Android系统电子设备最常采用的是USB接口,同时IOS系统又是一个封闭的系统。如何在IOS系统电子设备和Android系统电子设备之间实现高速、高带宽通信,尚未见报道。

在说明书“背景技术”部分公开的内容,有助于本领域技术人员理解本发明的技术方案,但不应据此认为这些内容一定属于现有技术或公知常识。



技术实现要素:

为了克服“背景技术”部分所反映的缺陷,在不同操作系统电子设备之间实现高速、高带宽通信,本发明提供电子设备连接与安全验证、通信、通信监测方法及装置。

电子设备连接与安全验证方法,包括:

第一操作系统检测第一操作系统电子设备的接口是否有电子设备接入。

若第一操作系统电子设备的接口有电子设备接入,第一操作系统判别接入的设备的类型。若接入的设备为第二操作系统电子设备,则向第二操作系统发起数据信任请求。

第一操作系统本地存储第二操作系统信任后的公钥和私钥。

第一操作系统与第二操作系统进行握手协议验证,取得第二操作系统的相关信息。

进一步的,第一操作系统为Android系统,第二操作系统为IOS系统。第一操作系统电子设备的接口为USB接口。

电子设备通信方法,包括:

第一操作系统电子设备和第二操作系统电子设备按照电子设备连接与安全验证方法进行连接及安全验证。

第一操作系统的应用(所述的应用指操作系统中的软件或程序)使用本地socket作为代理,将自身使用的端口作为传输协议的一部分,封包并进行数据封装,通过第一操作系统电子设备的接口传输数据。

进一步的,封包为使用TCP方式封包,数据封装为使用USB协议进行数据封装。

电子设备通信监测方法,包括:

第一操作系统循环监测相关的文件描述符,根据文件描述符的属性决定处理的事件。处理的事件包括:电子设备接入或电子设备的删除,第一操作系统的应用访问第二操作系统,本地socket(当两个程序通过一个双向的通信连接实现数据交换时,这个连接的一端称为一个socket)管理。

进一步的,不同属性的文件描述符使用不同的链表管理。

电子设备通信监测装置,包括高速通信模块,高速通信模块用于循环监测相关的文件描述符,根据文件描述符的属性决定处理的事件。处理的事件包括:电子设备接入或电子设备的删除,第一操作系统的应用访问第二操作系统,本地socket管理。

进一步的,高速通信模块用于实施电子设备连接与安全验证方法。

由于电子设备通信方法和电子设备通信监测方法,与之前所述的电子设备连接与安全验证方法具有关联性,为了避免不必要的重复,电子设备通信方法和电子设备通信监测方法中的一些描述进行了省略。本领域技术人员通过对照,能够对电子设备通信方法和电子设备通信监测方法有清晰、完整的认识。同理,电子设备通信监测装置和电子设备通信监测方法具有明确的关联性,电子设备通信监测装置中的一些描述也进行了省略。

本发明技术方案中,“包括”、“用于”等词语应按照开放式表达方式理解。本领域技术人员通过阅读本说明书并结合现有技术或公知常识能够获知的内容,本说明书中不再赘述。

本发明提供的电子设备连接与安全验证、通信、通信监测方法及装置,能够在安装不同操作系统的电子设备之间建立高速、高带宽通信,特别适用于在IOS系统电子设备和Android系统电子设备之间建立高速、高带宽的通信。

附图说明

图1为具体实施方式中Android系统电子设备和IOS系统电子设备连接方式的示意图。

图2为具体实施方式中电子设备连接与安全验证方法的流程图。

图3为具体实施方式中电子设备通信方法的流程图。

具体实施方式

下面对本发明的实施方式进行进一步的具体说明。但应注意,本发明的范围并不局限于所描述的具体技术方案。任何对所描述的具体技术方案中的技术要素进行相同或等同替换获得的技术方案或本领域技术人员在所描述的具体技术方案的基础上不经过创造性劳动就可以获得的技术方案,都应当视为落入本发明的保护范围。

本发明技术方案用于在第一操作系统电子设备和第二操作系统电子设备之间建立高速、高带宽的通信。第一操作系统选取为Android系统,相应的第一操作系统电子设备(由第一操作系统管理的电子设备)为Android系统电子设备(例如安装了Android系统的手机)。第二操作系统选取为IOS系统,相应的第二操作系统电子设备为IOS系统电子设备(例如Iphone手机)。

实现本发明技术方案,首先需要将Android系统电子设备和IOS系统电子设备通过某种方式连接起来。可以采用如图1所示的有线连接方式,其中Android系统电子设备的接口为USB接口,IOS系统电子设备的接口为Lighting接口,USB接口和Lighting接口之间通过OTG(On-The-Go)连线进行连接。这样Android系统电子设备可以作为USB协议中定义的主设备(Host端),而IOS系统电子设备作为USB协议中定义的从设备(Device端)。

如图1所示的连接方式,只是把Android系统电子设备和IOS系统电子设备在硬件上简单连接起来。要实现Android系统电子设备和IOS系统电子设备真正连接,两种操作系统能够相互取得对方的信息(由于Android系统是开源系统,而IOS系统是封闭系统,主要难点是Android系统获取IOS系统的信息),还需要实施“电子设备连接与安全验证方法”。

为了实施“电子设备连接与安全验证方法”及与之有关的“电子设备通信方法”和“电子设备通信监测方法”,可以在Android系统内设置一个专用的程序,用于实施或管理以上所述的方法(该专用程序可以视为Android系统中的一个服务)。本发明技术方案中将这个专用的程序称为高速通信模块,对应的服务称为高速通信服务。高速通信模块在Android系统启动的时候即被加载运行。

电子设备连接与安全验证方法的流程如图2所示,包括:

S201:Android系统检测Android系统电子设备的接口是否有电子设备接入。

具体的,本步骤中可以采用的检测方法包括两种。检测方法一:利用Android系统提供的第三方开源库Libusb中提供的方法,通过被动接收通知或者主动使用poll函数(poll函数用于监测多个等待事件。若事件未发生,则进程睡眠;若监测的任何一个事件发生,则将唤醒睡眠的进程,并判断是什么等待事件发生,执行相应的操作。)的方式检测Android系统电子设备的USB接口是否接入了其他的电子设备。检测方法二:使用由hall(霍尔传感器,用于控制线路通断的器件)硬件设备的驱动层提供的方法,以回调的方式,异步获取USB接口接入其他电子设备的消息。

以上两种检测方法,可以只采用其中一种,也可以将两者结合使用。

S202:若Android系统电子设备的接口有电子设备接入,Android系统判别接入的设备的类型。若接入的设备为IOS系统电子设备,则向IOS系统发起数据信任请求。

具体的,本步骤中,Android系统发现Android系统电子设备的USB接口有其他的电子设备接入,则通过读取该设备的VID(vendor ID,厂商标识)和PID(product ID,产品标识)来判断接入的是否为IOS系统电子设备。如果接入的是IOS系统电子设备,则高速通信模块或者高速通信模块可以管理的其他专用模块向IOS系统发起数据信任请求。IOS系统可以响应Android系统电子设备发起的数据信任请求,常见的响应方法是IOS系统在其操作界面上弹出对话框,由用户选择“信任”选项,进行信任授权。

S203:Android系统本地存储IOS系统信任后的公钥和私钥。

具体的,本步骤中,Android系统电子设备已经被IOS系统信任,Android系统通过握手协议和加密算法,把IOS系统信任后的公钥和私钥转换成XML格式,存储在本地(Android系统电子设备存储器上的指定位置)。需要存储的公钥和私钥,一般包括四个重要的Key——DeviceCertificate、HostCertificate、RootCertificate、HostPrivateKey,前三个Key可以视为公钥,最后一个Key可以视为私钥。

Android系统电子设备存储了IOS系统信任后的公钥和私钥后,如果后续同一台IOS系统电子设备接入,可以直接将已经存储在本地的秘钥转化成plist(IOS系统的数据存储格式)传给IOS系统完成信任授权。

S204:Android系统与IOS系统进行握手协议验证,取得IOS系统的相关信息。

具体的,本步骤中,Android系统电子设备已经获得了IOS系统的信任授权,则高速通信模块封装过的函数可以与IOS系统的Lockdownd服务进行握手协议验证,通过访问IOS系统的Domain的方式取得IOS系统的相关信息。

在电子设备连接与安全验证方法的基础上,可以实施“电子设备通信方法”。电子设备通信方法的流程如图3所示,包括:

S301:Android系统电子设备和IOS系统电子设备按照电子设备连接与安全验证方法进行连接及安全验证。

Android系统电子设备和IOS系统电子设备连接并进行安全验证后,才能实施数据通信。

S302:Android系统的应用使用本地socket作为代理,将自身使用的端口作为传输协议的一部分,封包并进行数据封装,通过Android系统电子设备的接口传输数据。

具体的,本步骤中,Android系统中的应用使用一个本地socket作为代理,连接到高速通信服务,同时把该应用自身使用的端口作为传输协议的一部分,使用TCP(Transmission Control Protocol,传输控制协议)的方式进行封包,利用Android系统提供的第三方开源库Libusb的接口并使用USB协议进行数据封装,最终通过Android系统电子设备的USB接口传输数据。通常TCP传输都是通过网卡、WIFI芯片等网络设备,而在本方法中,使用USB协议封装TCP数据包,从而达到了高速高带宽的效果。

由于Android系统电子设备和IOS系统电子设备的连接和通信是一个动态的过程,高速通信模块需要实施“电子设备通信监测方法”进行管理,相应的,高速通信模块可以视为电子设备通信监测装置。

电子设备通信监测方法包括:

Android系统的高速通信模块循环监测相关的文件描述符,根据文件描述符的属性决定处理的事件。文件描述符的属性,指文件描述符为USB、应用或者其他。不同属性的文件描述符使用不同的链表管理。高速通信模块监测文件描述符的属性,就可以知道需要处理哪些事件。需要处理的事件主要包括:

1)电子设备接入或电子设备的删除。在“电子设备连接与安全验证方法”的步骤S201中,检测到有电子设备接入USB接口后,会调用相应的USB添加删除函数操作USB链表。同理,如果电子设备从USB接口拔出,也会调用相应的USB添加删除函数操作USB链表。

2)Android系统的应用访问IOS系统。Android系统的任何应用需要访问IOS系统,可以通过封装的接口(本地socket封装后的接口)连接到高速通信服务上来,调用相应的应用添加删除函数去操作应用链表。同时,高速通信模块可以处理应用对IOS系统的访问请求。

3)本地socket管理。主要是管理本地socket的状态。

高速通信模块可以采用多线程的方式。例如,“电子设备连接与安全验证方法”可以全部由高速通信模块一个程序实施,这时步骤S201可以设置为子线程,两种不同的检测方法可以分别设置两个子线程,其中任何一个子线程发现USB接口有电子设备接入,都可以调用相应的USB添加删除函数操作USB链表。高速通信模块的主线程循环监测文件描述符时发现USB链表的变化,则主线程执行步骤S202—S204。

本发明技术方案可以通过多线程的方式去发现Android系统电子设备的USB接口是否接入了其他电子设备,利用封装TCP数据包和端口转发的方式最终通过USB接口建立和IOS系统电子设备的高速数据通道。这样的设计可以保证如果发生硬件问题(例如USB接口接入的电子设备频繁断开连接等),能较高效的进行设备的识别和删除。主线程采用主动循环监测的方式,能使Android系统的应用在进行数据传输时,及时触发libusb的读写数据传输。

本领域技术人员在以上所描述的具体技术方案的基础上,完全可以构造出其他方案。例如,第一操作系统和第二操作系统,可以采用Android系统和IOS系统之外的其他操作系统,电子设备连接与安全验证、通信、通信监测方法进行相应的改变。在此不一一列举。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1