服务器与智能设备的交互方法及装置与流程

文档序号:12491091阅读:302来源:国知局
服务器与智能设备的交互方法及装置与流程

本发明涉及通信领域,特别是涉及一种服务器与智能设备的交互方法及装置。



背景技术:

随着技术的发展,越来越多的智能设备可以通过无线技术与云端的服务器进行交互。交互的过程中有可能出现信息泄露的问题,例如,智能手表上的应用可能会请求位置信息,就算智能手表本身没有GPS功能,智能手表上的应用也可以通过连接手机,请求手机上的位置信息,那么手表中的应用可以做到和手机应用一样收集用户的隐私信息。

针对现有技术中非法智能设备容易获取用户信息,从而导致信息安全性低的问题,目前业界没有理想的解决方式。



技术实现要素:

本发明目的在于提供一种服务器与智能设备的交互方法及装置,旨在解决现有技术中非法智能设备容易获取用户信息,从而导致数据安全性低的问题。

本发明提供了一种服务器与智能设备的交互方法,该方法包括:

服务器向智能设备发送挑战信息,挑战信息中包括随机码和算法列表,算法列表中包括服务器的支持加密算法;

服务器接收第一响应码,第一响应码是智能设备通过智能设备加密算法加密随机码生成的;

服务器根据支持加密算法加密随机码,生成第二响应码;

若第一响应码和第二响应码相同,则服务器确定支持加密算法包括智能设备加密算法,并与智能设备建立连接;

在服务器与智能设备建立连接之后,服务器校验服务器的接收信息与智能设备的发送信息是否一致,并在接收信息和发送信息一致时,处理接收信息。

本发明还提供了一种服务器与智能设备的交互装置,该装置包括:

发送模块,用于向智能设备发送挑战信息,挑战信息中包括随机码和算法列表,算法列表中包括服务器的支持加密算法;

接收模块,用于接收第一响应码,第一响应码是智能设备通过智能设备加密算法加密随机码生成的;

生成模块,用于根据支持加密算法加密随机码,生成第二响应码;

连接模块,用于在第一响应码和第二响应码相同时,确定支持加密算法包括智能设备加密算法,并与智能设备建立连接;

处理模块,用于在与智能设备建立连接之后,校验服务器的接收信息与智能设备的发送信息是否一致,并在接收信息和发送信息一致时,处理接收信息。

本发明中,服务器在验证响应码之后与智能设备建立连接,并在注册、登录和通讯的各个步骤依次进行校验,校验不通过则断开连接,保证了各个环节的信息安全性,从而解决了智能设备信息安全性低的问题。

附图说明

图1是本发明实施例提供的服务器与智能设备的交互方法的流程图;

图2是本实施例提供的处理方法的流程图;

图3是本实施例提供的注册方法的流程图;

图4是本实施例提供的登录方法的流程图;

图5是本实施例提供的通讯方法的流程图;

图6是本发明实施例提供的服务器与智能设备的交互装置的结构框图。

具体实施方式

为了使本发明要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供了一种服务器与智能设备的交互方法,图1是本发明实施例提供的服务器与智能设备的交互方法的流程图,如图1所示,该方法包括步骤S110至步骤S150。

步骤S110,服务器向智能设备发送挑战信息,挑战信息中包括随机码和算法列表,算法列表中包括服务器的支持加密算法。

服务器与智能设备交互前,智能设备需要请求与服务器建立连接。发起连接请求后,智能设备会接受到服务器发的挑战信息(Challenge),Challenge中包含挑战的随机码(randcode)和服务器支持的对称加密算法列表(例如AES或XOR)。服务器可以支持一种或多种加密算法,并将支持的所有加密算法列举在算法列表中。

步骤S120,服务器接收第一响应码,第一响应码是智能设备通过智能设备加密算法生成的。

智能设备需要进行响应挑战(Response),Response中包含第一响应码(ack)和智能设备选择的对称加密算法(encrypt_algorithm_1)。

步骤S130,服务器根据支持加密算法加密随机码,生成第二响应码。

服务器采用与智能设备约定好的自定义挑战算法(algorithm1),根据挑战随机码(randcode)生成第二响应码(ack2)。

步骤S140,若第一响应码和第二响应码相同,则服务器确定支持加密算法包括智能设备加密算法,并与智能设备建立连接。

服务器比较生成的ack2和智能设备上报的ack是否相同。若相同则挑战成功;否则挑战失败。

由于第一响应码和第二响应码分别有服务器和智能设备加密生成,如果第一响应码和第二响应码相同,则说明服务器和智能设备使用相同的加密算法,所以可以认为智能设备是符合服务器要求的,因此服务器可以与智能设备建立连接。

步骤S150,在服务器与智能设备建立连接之后,服务器校验服务器的接收信息与智能设备的发送信息是否一致,并在接收信息和发送信息一致时,处理接收信息。

本发明实施例可以对接收信息和发送信息的完整性进行校验,如果校验结果一直,则说明信息在传输过程中未被篡改。

图2是本实施例提供的处理方法的流程图,该方法可以是步骤S150的一种优选实现方式,如图2所示,该方法包括步骤S210至步骤S230。

步骤S210,比较第一摘要和第二摘要,若第一摘要与第二摘要相同,则服务器通过智能设备的注册,并向智能设备加密发送账号和密码,第一摘要是智能设备根据摘要算法处理注册信息而生成的,第二摘要是服务器根据摘要算法处理注册信息生成的。

本发明实施例中的第一摘要和第二摘要可以通过MD5或SHA-1等算法得出,从而可以起到完整性校验的作用,如果第一摘要和第二摘要相同,则说明服务器接收的注册信息和智能设备发出的注册信息是相同的,从而可以确保注册信息在传输过程中未被篡改,因此保证了注册信息的安全性。

图3是本实施例提供的注册方法的流程图,该方法可以是步骤S210的一种优选实现方式,如图3所示,该方法包括步骤S310至步骤S330。

步骤S310,服务器接收注册信息,注册信息中包括第一摘要和加密的注册协议,第一摘要是根据智能设备摘要算法处理注册信息生成的,注册协议是通过智能设备加密算法实现加密的。

智能设备注册时,可以通过密文传输注册协议,具体地,可以采用前述的对称加密算法(encrypt_algorithm_1)生成一段密文,把该密文放入约定好包装格式的message协议包中,并用摘要算法(digest_algorithm_1)对这个message协议包计算第一摘要(digest),扩展进协议包中,共同作为注册信息,发送给服务器。

步骤S320,服务器根据支持摘要算法计算注册信息对应的第二摘要,算法列表中还包括支持摘要算法。

服务器接收到注册的message协议包后,先提取digest,再用算法列表中支持的摘要算法(digest_algorithm_1)计算出第二摘要(digest2)。

步骤S330,若第一摘要和第二摘要不同,则服务器断开与智能设备之间的连接;若第一摘要和第二摘要相同,则服务器确定支持摘要算法包括智能设备摘要算法,通过智能设备加密算法解密注册协议,以完成注册,并将注册的账号和密码通过智能设备加密算法加密后发送给智能设备。

如果第一摘要和第二摘要不同,说明智能设备发送的注册协议被人篡改了,安全性无法保证,因此关闭TCP连接。

如果第一摘要和第二摘要相同,则服务器从message协议包取出密文,用加密算法(encrypt_algorithm_1)解密,得到明文的注册协议,进行注册逻辑处理,并将注册成功的用户账号和密文密码,用对称加密算法(encrypt_algorithm_1)生成密文放入message协议包中,发给智能设备。智能设备收到message协议包后,进行解压,并将保存账号和密文密码到本地。

步骤S220,在服务器通过智能设备的注册之后,比较第三摘要和第四摘要,若第三摘要与第四摘要相同,则服务器通过智能设备的登录,并向智能设备加密发送登录结果,第三摘要是服务器根据摘要算法处理登录信息而生成的,第四摘要是智能设备根据摘要算法处理登录信息而生成的。

本步骤中的摘要也可以起到完整性校验的作用,如果第三摘要和第四摘要相同,则说明本步骤中服务器接收的和智能设备发出的是同样的登录信息,从而可以确保本步骤中登录信息在传输过程中未被篡改,因此保证了登录信息的安全性。

图4是本实施例提供的登录方法的流程图,该方法可以是步骤S220的一种优选实现方式,如图4所示,该方法包括步骤S410至步骤S430。

步骤S410,服务器接收登录信息,登录信息中包括第三摘要、加密的账号和加密的密码,第三摘要是根据智能设备摘要算法处理登录信息生成的,账号和密码是通过智能设备加密算法实现加密的。

智能设备登陆认证时,通过密文传输账号和密码,有些情况下还会携带资源名,具体地,可以采用前述的对称加密算法(encrypt_algorithm_1)生成一段密文,然后把该密文放入约定好的message协议包中,同时,用前面选择的摘要算法(digest_algorithm_1)计算message协议包的第三摘要(digest),扩展进协议包中,共同作为登录信息发给服务器。

步骤S420,服务器根据智能设备摘要算法计算登录信息对应的第四摘要。

服务器收到登录的message协议包后,先提取第三摘要digest,再用摘要算法(digest_algorithm_1)计算出第四摘要(digest2)。

步骤S430,若第三摘要和第四摘要不同,则服务器断开与智能设备之间的连接;若第三摘要和第四摘要相同,则服务器通过智能设备加密算法解密账号和密码,以完成登录,并将登录结果通过智能设备加密算法加密后发送给智能设备。

如果第三摘要和第四摘要不同,说明智能设备的登录信息被篡改了,因此关闭TCP连接;如果第三摘要和第四摘要相同,则服务器从登录的message协议包取出密文,用加密算法(encrypt_algorithm_1)解密,得到明文的登录信息,进行登录认证处理,根据账号和密码是否正确,将认证结果(成功或失败)用对称加密算法(encrypt_algorithm_1)生成密文后,放入message协议包中,发给智能设备。

步骤S230,在服务器通过智能设备的登录之后,比较第五摘要和第六摘要,若第五摘要与第六摘要相同,则服务器读取智能设备的协议信息,第五摘要是服务器根据摘要算法处理协议信息而生成的,第六摘要是智能设备根据摘要算法处理协议信息而生成的。

本步骤中的摘要可以进一步起到完整性校验的作用,如果第五摘要和第六摘要相同,则说明本步骤中服务器接收的和智能设备发出的是同样的协议信息,从而可以确保本步骤中的协议信息在传输过程中未被篡改,因此保证了协议信息的安全性。

图5是本实施例提供的通讯方法的流程图,该方法可以是步骤S230的一种优选实现方式,如图5所示,该方法包括步骤S510至步骤S530。

步骤S510,服务器接收协议信息,协议信息中包括第五摘要和通讯协议,第五摘要是根据智能设备摘要算法处理协议信息生成的。

智能设备常用通讯协议(例如移动终端进行设备控制、智能设备应答移动终端的控制、移动终端上报状态或移动终端上报故障等),可以采用明文传输。同时,对每个协议包以前述摘要算法(digest_algorithm_1)计算第五摘要(digest),扩展进协议包,发给服务器。

步骤S520,服务器根据智能设备摘要算法计算协议信息对应的第六摘要。

服务器收到协议包后,先提取第五摘要digest,再用摘要算法(digest_algorithm_1)计算出第六摘要(digest2)。

步骤S530,若第五摘要和第六摘要不同,则服务器断开与智能设备之间的连接;若第五摘要和第六摘要相同,则服务器读取智能设备的协议信息。

如果第五摘要和第六摘要不同,说明智能设备的协议信息被篡改了,因此关闭TCP连接;如果第五摘要和第六摘要相同,则服务器读取通讯协议,与智能终端进行通讯。

本发明实施例中,服务器在验证响应码之后与智能设备建立连接,并在注册、登录和通讯的各个步骤依次进行校验,校验不通过则断开连接,保证了各个环节的信息安全性,从而解决了智能设备信息安全性低的问题。

本发明实施例提供了一种服务器与智能设备的交互装置,图6是本发明实施例提供的服务器与智能设备的交互装置的结构框图,如图6所示,该装置包括发送模块610、接收模块620、生成模块630、连接模块640和处理模块650。

发送模块610用于向智能设备发送挑战信息,挑战信息中包括随机码和算法列表,算法列表中包括服务器的支持加密算法。

接收模块620用于接收第一响应码,第一响应码是智能设备通过智能设备加密算法加密随机码生成的。

生成模块630用于根据支持加密算法加密随机码,生成第二响应码。

连接模块640用于在第一响应码和第二响应码相同时,确定支持加密算法包括智能设备加密算法,并与智能设备建立连接。

处理模块650用于在与智能设备建立连接之后,校验服务器的接收信息与智能设备的发送信息是否一致,并在接收信息和发送信息一致时,处理接收信息。

优选地,处理模块650包括:

注册子模块,用于比较第一摘要和第二摘要,若第一摘要与第二摘要相同,则通过智能设备的注册,并向智能设备加密发送账号和密码,第一摘要是智能设备根据摘要算法处理注册信息而生成的,第二摘要是服务器根据摘要算法处理注册信息生成的。

登录子模块,用于在通过智能设备的注册之后,比较第三摘要和第四摘要,若第三摘要与第四摘要相同,则通过智能设备的登录,并向智能设备加密发送登录结果,第三摘要是服务器根据摘要算法处理登录信息而生成的,第四摘要是智能设备根据摘要算法处理登录信息而生成的。

读取子模块,用于在通过智能设备的登录之后,比较第五摘要和第六摘要,若第五摘要与第六摘要相同,则读取智能设备的协议信息,第五摘要是服务器根据摘要算法处理协议信息而生成的,第六摘要是智能设备根据摘要算法处理协议信息而生成的。

优选地,注册子模块包括:

第一接收单元,用于接收注册信息,注册信息中包括第一摘要和加密的注册协议,第一摘要是根据智能设备摘要算法处理注册信息生成的,注册协议是通过智能设备加密算法实现加密的。

第一计算单元,用于根据支持摘要算法计算注册信息对应的第二摘要,算法列表中还包括支持摘要算法。

注册单元,用于在第一摘要和第二摘要不同时,断开与智能设备之间的连接;在第一摘要和第二摘要相同时,确定支持摘要算法包括智能设备摘要算法,通过智能设备加密算法解密注册协议,以完成注册,并将注册的账号和密码通过智能设备加密算法加密后发送给智能设备。

优选地,登录子模块包括:

第二接收单元,用于接收登录信息,登录信息中包括第三摘要、加密的账号和加密的密码,第三摘要是根据智能设备摘要算法处理登录信息生成的,账号和密码是通过智能设备加密算法实现加密的。

第二计算单元,用于根据智能设备摘要算法计算登录信息对应的第四摘要。

登录单元,用于在第三摘要和第四摘要不同时,断开与智能设备之间的连接;在第三摘要和第四摘要相同时,通过智能设备加密算法解密账号和密码,以完成登录,并将登录结果通过智能设备加密算法加密后发送给智能设备。

优选地,读取子模块包括:

第三接收单元,用于接收协议信息,协议信息中包括第五摘要和通讯协议,第五摘要是根据智能设备摘要算法处理协议信息生成的。

第三计算单元,用于根据智能设备摘要算法计算协议信息对应的第六摘要。

读取单元,用于在第五摘要和第六摘要不同时,断开与智能设备之间的连接;在第五摘要和第六摘要相同时,读取智能设备的协议信息。

本发明实施例中,服务器在验证响应码之后与智能设备建立连接,并在注册、登录和通讯的各个步骤依次进行校验,校验不通过则断开连接,保证了各个环节的信息安全性,从而解决了智能设备信息安全性低的问题。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元的具体工作过程,可以参考前述装置实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同装置来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例装置的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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