CN110417804B - 一种适于单片机实现的双向身份认证加密通信方法及*** - Google Patents

一种适于单片机实现的双向身份认证加密通信方法及*** Download PDF

Info

Publication number
CN110417804B
CN110417804B CN201910725537.7A CN201910725537A CN110417804B CN 110417804 B CN110417804 B CN 110417804B CN 201910725537 A CN201910725537 A CN 201910725537A CN 110417804 B CN110417804 B CN 110417804B
Authority
CN
China
Prior art keywords
internet
things
terminal
code
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910725537.7A
Other languages
English (en)
Other versions
CN110417804A (zh
Inventor
余民
卢祥明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan New Giganano Long Distance Measuring & Control Co ltd
Original Assignee
Jinan New Giganano Long Distance Measuring & Control Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan New Giganano Long Distance Measuring & Control Co ltd filed Critical Jinan New Giganano Long Distance Measuring & Control Co ltd
Priority to CN201910725537.7A priority Critical patent/CN110417804B/zh
Publication of CN110417804A publication Critical patent/CN110417804A/zh
Application granted granted Critical
Publication of CN110417804B publication Critical patent/CN110417804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种适于单片机实现的双向身份认证加密通信方法及***,包括:物联网终端向物联网通信服务器先发出挑战码和用户名,物联网通信服务器在同时或稍后向物联网终端发出邀请码。然后,物联网终端使用身份验证码再向物联网通信服务器登录,同时物联网通信服务器再向物联网终端登录。登录信息发出后,就可以直接发送数据,无需等到回应。本发明没有采用公开密钥算法等极为耗时的运算方法,仅采用了hash算法、累加、按位异或等可以快速实现的算法,因此,登录和加解密非常快速。即使是使用运算速度较低的单片机,也可以快速完成操作。

Description

一种适于单片机实现的双向身份认证加密通信方法及***
技术领域
本发明涉及安全通信技术领域,尤其涉及一种适于单片机实现的双向身份认证加密通信方法及***。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着电子技术的发展,物联网已经广泛应用于人们的生产和生活中,带来了许多便利。但是,发明人发现,当前物联网***存在着如下技术问题:
1、物联网一般都需要通过国际互联网传输数据,如果数据不加密,将会产生安全问题。
2、由于物联网分布在整个社会中,数量极大,因此每个物联网终端的低成本是至关重要的。为了降低成本,物联网终端不应采用太过于复杂的计算机***作为组成部分。单片机作为成本极低的电子芯片,却具有计算机***的所有要素,非常适合作为物联网终端的中心控制***。不过,低成本的单片机,运算性能也较低,内存较少,难以完成较为复杂的加密运算。现有许多通信加密算法,如:SSH、SSL、https等,都难以在单片机***中实现,即使实现了,也不能做到高效的通信效果。
3、现有物联网设备对通信响应时间要求非常高,不允许通信延误数秒以上。而现有的许多加密方法,如SSH,仅仅登录就需要数秒左右的时间。
4、物联网设备加入服务器网络时,不但服务器网络需要鉴别物联网终端的身份,物联网终端对服务器网络也要做身份认证,以确定不是被其他的服务器假冒身份。
发明内容
为了解决上述问题,本发明提出一种适于单片机实现的双向身份认证加密通信方法及***,可以建立在多种通信通道上,可靠性高、保密性好且效率较高。
在一些实施方式中,采用如下技术方案:
一种适于单片机实现的物联网终端身份认证加密通信方法,包括:
物联网通信服务器接收物联网终端发送的包含挑战码和用户名的数据包,同时或稍后向物联网终端发出包含邀请码的数据包;
物联网通信服务器根据接收到的挑战码和用户名,获得用户密码,根据挑战码、邀请码和用户密码采用hash算法生成服务器混合码;
物联网通信服务器根据混合码和随机生成的随机码,采用hash算法生成服务器身份校验码;
物联网通信服务器向物联网终端发送包含服务器身份校验码和随机码的数据包;
物联网通信服务器接收物联网终端发送的终端身份验证码;同时,根据服务器混合码采用hash算法重新生成终端身份验证码,如果重新生成的终端身份验证码与物联网终端发送的终端身份验证码相同,则物联网终端验证合法。
在另一些实施方式中,采用如下技术方案:
一种适于单片机实现的物联网通信服务器身份认证加密通信方法,包括:
物联网终端向物联网通信服务器发出包含挑战码和用户名的数据包,并接收物联网通信服务器发送的包含邀请码的数据包;
物联网终端根据挑战码、邀请码和用户密码,采用hash算法生成终端混合码;
物联网终端根据终端混合码采用hash算法生成终端身份验证码,将包含终端身份验证码的数据包发送给物联网通信服务器;
物联网终端接收物联网通信服务器发送的包含服务器身份校验码和随机码的数据包;
物联网终端根据接收到的随机码重新生成服务器身份校验码,如果重新生成的服务器身份校验码与生成的终端身份验证码相同,则物联网通信服务器验证合法。
在另一些实施方式中,采用如下技术方案:
一种适于单片机实现的双向身份认证加密通信方法,包括:
物联网终端向物联网通信服务器发出包含挑战码和用户名的数据包,物联网通信服务器在同时或稍后向物联网终端发出包含邀请码的数据包;
物联网通信服务器根据挑战码和用户名得到用户密码,根据挑战码、邀请码和用户密码,采用hash算法生成服务器混合码;
物联网通信服务器将包含服务器身份校验码和随机码的数据包发送给物联网终端;
物联网终端根据挑战码、邀请码和用户密码,采用hash算法生成终端混合码;
物联网终端根据终端混合码采用hash算法生成终端身份验证码,物联网终端将包含终端身份校验码的数据包发送给物联网通信服务器;
物联网通信服务器根据服务器混合码采用hash算法重新生成终端身份验证码,如果重新生成的终端身份验证码与物联网终端生成的终端身份验证码相同,则物联网终端验证合法;
物联网终端收到物联网通信服务器发送的包含服务器身份校验码和随机码的数据包后,根据随机码和终端混合码利用hash算法重新生成服务器身份校验码,如果重新生成服务器身份校验码与接收到的服务器身份校验码相同,则物联网通信服务器验证合法。
在另一些实施方式中,采用如下技术方案:
一种物联网通信服务器,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行上述的适于单片机实现的物联网终端身份认证加密通信方法。
在另一些实施方式中,采用如下技术方案:
一种物联网终端,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行上述的适于单片机实现的物联网通信服务器身份认证加密通信方法。
与现有技术相比,本发明的有益效果是:
1、本发明中的算法,没有采用公开密钥算法等极为耗时的运算方法,仅采用了hash算法、累加、按位异或等可以快速实现的算法,因此,登录和加解密非常快速。即使是使用运算速度较低的单片机,也可以快速完成操作。
2、由于本发明中最复杂部分的算法仅仅是hash算法,而登录和加解密运算都是采用同一个算法反复使用,因此程序占用的空间极少。即使是使用内存容量和程序容量较小的单片机,也可以容纳下。
3、因为本发明中采用服务器和终端同时发出交换信息数据包,接到对方数据包后,又几乎同时发出登录数据包,所以,登录过程仅仅需要两个数据包传递的时间就可完成,甚至在登录完成之前就允许预先发出数据,登录速度极快。
4、本发明在双向登录过程中,会多发送约几十字节的数据,但登录完成后,每需要发送1字节数据,实际加密后也就发送1字节,并不增加其他发送内容,因此,加密后数据并不会比原有数据量增大。
5、本发明中,通信的两端通过验证通信用户名和密码进行身份认证。密码并不会在通信中直接传输,而实际传输的数字又同时增加了通信两端的随机数作为干扰,因此实际通信中,每次登录,发送的内容都是不同的。无论是恶意的黑客冒充服务器或冒充终端,由于黑客并不能知道密码,因此并不能合法登录。即使黑客采用中间人的破解方法,能够截获通信内容,也只能得到加过密的数据,而无法得到数据原文。
6、本发明采用hash算法的单向性作为数据加密的基础,目前由于选用的hash算法无法被破解,因此本发明进行的通信加密几乎无法破译。
附图说明
图1为实施例一中的适于单片机实现的双向身份认证加密通信方法流程图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
在一个或多个实施方式中,公开了一种适合于单片机实现的双向身份认证加密通信方法,本实施例提供的这种安全通信方法,是数字通信采用的加密协议,运行于通过其他通信方法建立的通信通道上。本实施例提供的这种安全通信方法,可以建立在多种通信通道上,包含并不限于:tcp、udp、ip、以太网、rs485通信信道、rs232通信信道等。下面以tcp网络协议为例对本实施例方法进行说明,方法流程如图1所示,具体包括如下步骤:
S1.0物联网终端生成128bits随机数,该数称之为“挑战码”;
S1.1物联网终端向物联网通讯服务器建立tcp连接;
S1.2物联网终端向物联网通讯服务器发送明文通信数据包Cet1,Cet1包含用户名称和挑战码;
S2.0物联网通信服务器得到通信连接后,生成128bits随机数,该数称之为“邀请码”。物联网通信服务器将邀请码发送给物联网终端,该数据包为Svr1;
S3.0物联网通信服务器收到数据包Cet1,解析出“挑战码”和“用户名称”;
S3.1物联网通信服务器根据用户名称查询到用户对应的用户密码;
S3.2物联网通信服务器根据挑战码、邀请码、用户密码采用hash算法生成一个128bits的数字,称之为服务器“混合码”;
S3.2物联网通信服务器生成64bits随机数,该数称之为“随机码”;
S3.2物联网通信服务器根据随机码和混合码采用hash算法生成服务器身份校验码;
S3.3物联网通信服务器将服务器身份校验码和随机码连接生成数据包Svr2,向物联网终端发送。
S4.0物联网通信服务器根据混合码,通过hash算法生成128bits的加密因子和128bits的解密因子。
S4.1这时,虽然物联网服务器还没有验证连接的物联网终端是否合法,但是,如果有必要,已经可以通过加密因子向物联网终端发送数据了。
实际上,当tcp连接建立后,Cet1和Svr1几乎是同时发出的。因此,如果向对端传输信息的时间是a秒,那么,最快在建立连接的a秒后,就可以向对方发送加密的数据。如果hash运算和通信接收的时间忽略不计的话,经历2×a秒后,就可以完成登录握手并收到对方的数据。
S5.0物联网终端收到数据包Svr1后,物联网终端根据挑战码、邀请码、用户密码采用hash算法生成一个128bits的数字。称之为终端“混合码”。如果物联网终端与物联网通信服务器保存的用户密码相同,那么,服务器混合码和终端混合码是相同的;
S5.1物联网终端根据终端混合码采用hash算法生成“终端身份验证码”,将终端身份验证码加在数据包Cet2中,发送给物联网通信服务器;
S6.0物联网终端根据混合码,通过hash算法生成128bits的加密因子和128bits的解密因子。
S6.1这时,虽然物联网终端还没有验证连接的物联网通信服务器是否合法,但是,如果有必要,已经可以通过加密因子向物联网通信服务器发送数据了。
S7.0物联网通信服务器收到Cet2后,根据服务器混合码采用hash算法重新生成“终端身份验证码”,与Cet2发来的终端身份验证码是否相同。如果相同,就可以通过验证。说明建立连接的物联网终端的身份是合法的。
S8.0物联网终端收到Svr2后,根据发来的随机码和自身生成的终端混合码一起,使用hash算法生成服务器身份校验码,与Svr2中的服务器身份校验码进行比较。如果相同,就可以通过验证。说明对端的物联网通信服务器的身份是合法的。
S9.0通信双方都确认了对方的身份,可以将本端数据通过加密因子加密,发送给对方。
S9.1通信双方都可以使用解密因子将对方的数据解密。
S10如果登录不被通过,可以通过连接断线来拒绝对方。
需要说明的是,本实施例中涉及到的hash算法是一个“单向”操作:对于给定的散列值,没有实用的方法可以计算出一个原始输入,也就是说很难伪造。以加密散列为目的设计的函数,被广泛的用作检验散列函数。
另外需要说明的是,,步骤3.2和步骤5.1中生成的身份验证码,区别在于服务器身份验证码的来源除了混合码外,还增加了64bits的随机码。不管这个随机码是多少,服务器端身份验证码和终端身份验证码几乎不可能相同。
步骤4.0和步骤6.0中生成加密因子和解密因子时,服务器加密和终端解密的因子是相同的,服务器解密和终端加密的因子也是相同的。这两个值都来源于混合码。混合码加上固定的字符串得到服务器加密和终端解密的因子,混合码加上另外一个固定的字符串得到终端加密和服务器解密的因子。由于两个固定的字符串并不相同,因此得到服务器加密和终端加密并不相同,服务器解密和终端解密也不相同。
在服务器端,用混合码加上固定字符串A,计算得到服务器加密因子;用混合码加上固定字符串B,计算得到服务器解密因子;
在客户端,用混合码加上固定字符串B,计算得到客户端加密因子;用混合码加上固定字符串A,计算得到客户端解密因子。
服务器端和客户端的混合码相同,固定字符串A和固定字符串B不相同,所以,得到两端的加密因子和解密因子都不相同,而服务器端的加密因子与客户端的解密因子相同,服务器端的解密因子与客户端的加密因子相同。
步骤9.0中,通过加密因子加密的方法具体为:
9.0.1、加解密因子是一对相同的值,是128bits共16字节。加密因子位于发送方,解密因子位于接收方。使用混合码加固定字符串,根据hash算法计算出加解密因子。然后将加解密因子再次进行hash运算得到新的16字节数字,称之为加解密“实际值”。
9.0.2、当需要发送一段数据时,数据的第一字节作为一个无符号整数,加1后,再与加密因子的16字节组成的无符号整数进行加运算,结果值替换加密因子成为新的加密因子,然后,数据的第1字节与实际值的第1字节做按位异或运算后替换数据的第1字节。这时,第1字节的加密操作就完成了。也就可以发送了,或者可以等到所有的需发送数据都加密后一起发送。
9.0.3、数据的第2字节作为一个无符号整数,加1后,再与加密因子的16字节组成的无符号整数进行加运算,结果值替换加密因子成为新的加密因子,然后,数据的第2字节与实际值的第2字节做按位异或运算后替换数据的第2字节。这时,第2字节的加密操作就完成了,也就可以发送了,或者可以等到所有的需发送数据都加密后一起发送。
9.0.4、以此类推,数据的第16字节作为一个无符号整数,加1后,再与加密因子的16字节组成的无符号整数进行加运算,结果值替换加密因子成为新的加密因子,然后,数据的第16字节与实际值的第16字节做按位异或运算后替换数据的第16字节。这时,第16字节的加密操作就完成了,也就可以发送了,或者可以等到所有的需发送数据都加密后一起发送。
9.0.5、当数据的第17字节需要加密时,由于实际值的16个字节都已经使用过,因此,将修正过16次的加密因子再次进行hash运算,计算出新的实际值,又可以对16个字节进行加密。周而复始,每1个字节的加密都会对加密因子进行一次加运算,每次至少增加1。而每加密16字节都会使用修正过的加密因子计算出新的实际值。由于hash运算是单向的,因此试图破解本发明的人无法从实际值推算出加密因子是多少,而如果加密因子无法确定,也就无法推算出下一个实际值是多少。如果对试图破解本发明的人来说,实际值是不可预测的,那么,与实际值进行按位异或操作后的加密数据也就是不可预测的。因此,除非能够破解hash运算,否则就不能猜测出经过本发明进行加密的数据。而本实施例可以选用的hash运算算法,如:MD5或SHA算法,目前世界上还没有能够进行破解的方法。
步骤9.1中,使用解密因子将对方的数据解密的具体方法为:
9.1.1、在解密的一方,计算出解密“实际值”,与加密方计算出的加密“实际值”相同。
9.1.2、当接收到一段数据后,数据的第1字节与实际值的第1字节做按位异或运算后替换数据的第1字节。众所周知,一个数值与另一个数按位异或后,如果再次与同一个数按位异或,就能还原成原来的值。因此,数据的第1字节就解密完毕。这时,需要将解密后的数据替换原来的数据,然后,这个字节作为一个无符号整数,加1后,再与解密因子的16字节组成的无符号整数进行加运算,结果值替换解密因子成为新的解密因子。
9.1.3、数据的第2字节与实际值的第2字节做按位异或运算后替换数据的第2字节,数据的第2字节就解密完毕。这时,需要将解密后的数据替换原来的数据,然后,这个字节作为一个无符号整数,加1后,再与解密因子的16字节组成的无符号整数进行加运算,结果值替换解密因子成为新的解密因子。
9.1.4、以此类推,数据的第16字节与实际值的第16字节做按位异或运算后替换数据的第16字节。数据的第16字节就解密完毕。这时,需要将解密后的数据替换原来的数据,然后,这个字节作为一个无符号整数,加1后,再与解密因子的16字节组成的无符号整数进行加运算,结果值替换解密因子成为新的解密因子。
9.1.5、当数据的第17字节需要解密时,由于实际值的16个字节都已经使用过,因此,将修正过16次的解密因子再次进行hash运算,计算出新的实际值,又可以对16个字节进行解密。周而复始,每1个字节的解密都会对解密因子进行一次加运算,每次至少增加1。而每16字节都会使用修正过的加密因子计算出新的实际值。由于解密端解密因子与加密端加密因子的变化是同步的,因此解密实际值与加密实际值也是同步的。与实际值异或两次的数据也就完成了加密和解密的过程。
此外,本实施例只涉及到通信的加密,并未涉及通信的校验。如果在传输过程中数据出错,将会造成后续数据全部出错。因此,实际应用中,使用本是实施例方法实现通信加密后,需要传输校验字节对数据进行校验。校验方法同样可以采用hash算法。
另外,本实施例中,hash算法采用MD5算法,物联网终端通信信道采用移动通信2G模式,采用TCP连接承载本发明的算法生成的数据;物联网终端使用8位单片机承载本实施例算法的运算,内存1K,程序量约30K。物联网通信服务器采用inter系列普通电脑,主频3G。
物联网终端发起向物联网通信服务器的加密连接,约经200ms后登录连接成功,物联网终端陆续向物联网通信服务器发送数据,速度至少可达10Kbytes/每秒。如果物联网终端采用32位单片机,性能可以提高数十倍甚至更高。
如果不采用TCP网络连接承载数据传输,而是采用UDP或是RS232等无连接的协议承载数据传输。因为物联网通信服务器无法从无连接的协议中得到已连接信息,所以Svr1数据包将不能与Cet1同时发出,而是需要等到Cet1数据包到达物联网通信服务器后再发出,发出后,将紧跟着发出Svr2。因此,将轻微影响登录的速度,导致登录时间增加Svr1的发送时间。不过,由于TCP网络连接本身也需要3次握手的时间,因此采用无连接的协议反而会比TCP网络更快。
如果采用RS485等准双工工作的通信信道,那么,除了Svr1不能与Cet1同时发出外,Svr2也不能在Svr1发出后直接发出,以免与Cet2的发送冲突,需要等待收取到Cet2后,再将Svr2发出。因此,采用准双工模式工作的通信方式,登录时间将更长。
由于密码如果错误,不允许对方登录,有连接协议可以采用断线的方法拒绝对方。而如果采用无连接协议,需要增加拒绝登录的数据包。
需要说明的是,本实施例双向身份认证加密通信方法不仅适用于单片机与电脑服务器之间的通信,也适用于两个电脑之间的通信。
实施例二
在一个或多个实施方式中,公开了一种物联网通信服务器,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行以下步骤:
物联网通信服务器接收物联网终端发送的包含挑战码和用户名的数据包,同时或稍后向物联网终端发出包含邀请码的数据包;
物联网通信服务器根据接收到的挑战码和用户名,获得用户密码,根据挑战码、邀请码和用户密码采用hash算法生成服务器混合码;
物联网通信服务器根据服务器混合码,通过hash算法生成加密因子和解密因子;这时,虽然物联网服务器还没有验证连接的物联网终端是否合法,但是,如果有必要,已经可以通过加密因子向物联网终端发送数据了。
物联网通信服务器根据混合码和随机生成的随机码,采用hash算法生成服务器身份校验码;
物联网通信服务器向物联网终端发送包含服务器身份校验码和随机码的数据包;
物联网通信服务器接收物联网终端发送的终端身份验证码;同时,根据服务器混合码采用hash算法重新生成终端身份验证码,如果重新生成的终端身份验证码与物联网终端发送的终端身份验证码相同,则物联网终端验证合法。
实施例三
在一个或多个实施方式中,公开了一种物联网终端,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行以下步骤:
物联网终端向物联网通信服务器发出包含挑战码和用户名的数据包,并接收物联网通信服务器发送的包含邀请码的数据包;
物联网终端根据挑战码、邀请码和用户密码,采用hash算法生成终端混合码;
物联网终端根据终端混合码,通过hash算法生成128bits的加密因子和128bits的解密因子。这时,虽然物联网终端还没有验证连接的物联网通信服务器是否合法,但是,如果有必要,已经可以通过加密因子向物联网通信服务器发送数据了。
物联网终端根据终端混合码采用hash算法生成终端身份验证码,将包含终端身份验证码的数据包发送给物联网通信服务器;
物联网终端接收物联网通信服务器发送的包含服务器身份校验码和随机码的数据包;
物联网终端根据接收到的随机码重新生成服务器身份校验码,如果重新生成的服务器身份校验码与生成的终端身份验证码相同,则物联网通信服务器验证合法。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (7)

1.一种适于单片机实现的物联网终端身份认证加密通信方法,其特征在于,包括:
物联网通信服务器接收物联网终端发送的包含挑战码和用户名的数据包,同时或稍后向物联网终端发出包含邀请码的数据包;
物联网通信服务器根据接收到的挑战码和用户名,获得用户密码,根据挑战码、邀请码和用户密码采用hash算法生成服务器混合码;
物联网通信服务器根据混合码和随机生成的随机码,采用hash算法生成服务器身份校验码;
物联网通信服务器向物联网终端发送包含服务器身份校验码和随机码的数据包;物联网通信服务器根据服务器混合码,通过hash算法生成加密因子和解密因子;并能够通过加密因子向物联网终端发送数据;
物联网通信服务器接收物联网终端发送的终端身份验证码;同时,根据服务器混合码采用hash算法重新生成终端身份验证码,如果重新生成的终端身份验证码与物联网终端发送的终端身份验证码相同,则物联网终端验证合法。
2.一种适于单片机实现的物联网通信服务器身份认证加密通信方法,其特征在于,包括:
物联网终端向物联网通信服务器发出包含挑战码和用户名的数据包,并接收物联网通信服务器发送的包含邀请码的数据包;
物联网终端根据挑战码、邀请码和用户密码,采用hash算法生成终端混合码;
物联网终端根据终端混合码采用hash算法生成终端身份验证码,将包含终端身份验证码的数据包发送给物联网通信服务器;
物联网终端接收物联网通信服务器发送的包含服务器身份校验码和随机码的数据包;物联网终端根据终端混合码,通过hash算法生成加密因子和解密因子;并能够通过加密因子向物联网通信服务器发送数据;
物联网终端根据接收到的随机码重新生成服务器身份校验码,如果重新生成的服务器身份校验码与生成的终端身份验证码相同,则物联网通信服务器验证合法。
3.一种适于单片机实现的双向身份认证加密通信方法,其特征在于,包括:
物联网终端向物联网通信服务器发出包含挑战码和用户名的数据包,物联网通信服务器在同时或稍后向物联网终端发出包含邀请码的数据包;
物联网通信服务器根据挑战码和用户名得到用户密码,根据挑战码、邀请码和用户密码,采用hash算法生成服务器混合码;
物联网通信服务器将包含服务器身份校验码和随机码的数据包发送给物联网终端;
物联网通信服务器根据服务器混合码,通过hash算法生成加密因子和解密因子,并能够通过加密因子向物联网终端发送数据;
物联网终端根据挑战码、邀请码和用户密码,采用hash算法生成终端混合码;
物联网终端根据终端混合码采用hash算法生成终端身份验证码,物联网终端将包含终端身份校验码的数据包发送给物联网通信服务器;
物联网通信服务器根据服务器混合码采用hash算法重新生成终端身份验证码,如果重新生成的终端身份验证码与物联网终端生成的终端身份验证码相同,则物联网终端验证合法;
物联网终端根据终端混合码,通过hash算法生成加密因子和解密因子,并能够通过加密因子向物联网通信服务器发送数据;
物联网终端收到物联网通信服务器发送的包含服务器身份校验码和随机码的数据包后,根据随机码和终端混合码利用hash算法重新生成服务器身份校验码,如果重新生成服务器身份校验码与接收到的服务器身份校验码相同,则物联网通信服务器验证合法。
4.如权利要求3所述的一种适于单片机实现的双向身份认证加密通信方法,其特征在于,所述物联网通信服务器的加密因子与物联网终端的解密因子相同;物联网通信服务器的解密因子与物联网终端的加密因子相同;并且,物联网通信服务器的加密因子与物联网终端的加密因子不相同。
5.如权利要求3所述的一种适于单片机实现的双向身份认证加密通信方法,其特征在于,所述物联网通信服务器根据服务器混合码随机生成的随机码,采用hash算法生成服务器身份校验码。
6.一种物联网通信服务器,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,其特征在于,所述指令适于由处理器加载并执行权利要求1所述的适于单片机实现的物联网终端身份认证加密通信方法。
7.一种物联网终端,其中存储有多条指令,其特征在于,所述指令适于由终端设备的处理器加载并执行权利要求2所述的适于单片机实现的物联网通信服务器身份认证加密通信方法。
CN201910725537.7A 2019-08-07 2019-08-07 一种适于单片机实现的双向身份认证加密通信方法及*** Active CN110417804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910725537.7A CN110417804B (zh) 2019-08-07 2019-08-07 一种适于单片机实现的双向身份认证加密通信方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910725537.7A CN110417804B (zh) 2019-08-07 2019-08-07 一种适于单片机实现的双向身份认证加密通信方法及***

Publications (2)

Publication Number Publication Date
CN110417804A CN110417804A (zh) 2019-11-05
CN110417804B true CN110417804B (zh) 2021-11-26

Family

ID=68366312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910725537.7A Active CN110417804B (zh) 2019-08-07 2019-08-07 一种适于单片机实现的双向身份认证加密通信方法及***

Country Status (1)

Country Link
CN (1) CN110417804B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112987581B (zh) * 2019-12-16 2022-11-11 华为技术有限公司 用于智能家居设备的控制方法及其介质和终端
CN113392384B (zh) * 2021-06-11 2023-03-14 广西电网有限责任公司梧州供电局 一种变电站二次***的安全加固***及终端设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259663A (zh) * 2013-05-07 2013-08-21 南京邮电大学 一种云计算环境下的用户统一认证方法
CN105743854A (zh) * 2014-12-11 2016-07-06 深圳富泰宏精密工业有限公司 安全认证***及方法
EP3301880A1 (en) * 2016-09-29 2018-04-04 Université de Picardie Jules Verne Authentication protocol using a one-time password
CN108347331A (zh) * 2017-01-25 2018-07-31 北京百度网讯科技有限公司 车联网***中T_Box设备与ECU设备进行安全通信的方法与设备
CN109274661A (zh) * 2018-12-03 2019-01-25 杭州酷辰信息技术有限公司 一种双向身份认证防止重放攻击的密钥存储及提取方法
CN109286599A (zh) * 2017-07-20 2019-01-29 北京展讯高科通信技术有限公司 数据安全防护方法、智能设备、服务器及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259663A (zh) * 2013-05-07 2013-08-21 南京邮电大学 一种云计算环境下的用户统一认证方法
CN105743854A (zh) * 2014-12-11 2016-07-06 深圳富泰宏精密工业有限公司 安全认证***及方法
EP3301880A1 (en) * 2016-09-29 2018-04-04 Université de Picardie Jules Verne Authentication protocol using a one-time password
CN108347331A (zh) * 2017-01-25 2018-07-31 北京百度网讯科技有限公司 车联网***中T_Box设备与ECU设备进行安全通信的方法与设备
CN109286599A (zh) * 2017-07-20 2019-01-29 北京展讯高科通信技术有限公司 数据安全防护方法、智能设备、服务器及可读存储介质
CN109274661A (zh) * 2018-12-03 2019-01-25 杭州酷辰信息技术有限公司 一种双向身份认证防止重放攻击的密钥存储及提取方法

Also Published As

Publication number Publication date
CN110417804A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
USRE49053E1 (en) System and method for an adaptive TCP SYN cookie with time validation
US10693848B2 (en) Installation of a terminal in a secure system
Satapathy et al. A Comprehensive Survey on SSL/TLS and their Vulnerabilities
Li et al. Anonymity enhancement on robust and efficient password-authenticated key agreement using smart cards
US8214649B2 (en) System and method for secure communications between at least one user device and a network entity
EP3205048B1 (en) Generating a symmetric encryption key
JPH11331147A (ja) デ―タネットワ―クでのシンクライアントとサ―バ装置との間の暗号始動処理をなす方法
CN110995414B (zh) 基于国密算法在tls1_3协议中建立通道的方法
CN113067828A (zh) 报文处理方法、装置、服务器、计算机设备及存储介质
CN109688098B (zh) 数据的安全通信方法、装置、设备及计算机可读存储介质
US10511596B2 (en) Mutual authentication
CN107517194B (zh) 一种内容分发网络的回源认证方法和装置
WO2004042537A2 (en) System and method for securing digital messages
EP3205049A1 (en) Method and system for establishing a secure communication channel
CN113572741A (zh) 一种基于国密sm2-sm3-sm4算法实现数据的安全传输的方法
CN109040059B (zh) 受保护的tcp通信方法、通信装置及存储介质
EP3204885A1 (en) Improved security through authentication tokens
CN111835499A (zh) 一种基于高性能计算的l2tp/ipsec破解方法及***
CN110417804B (zh) 一种适于单片机实现的双向身份认证加密通信方法及***
CN114915396B (zh) 一种基于国密算法的跳变密钥数字通信加密***和方法
CN111988301A (zh) 一种客户端防黑客暴力攻击的安全通讯方法
CN110995662A (zh) 一种基于多路网络媒介的数据传输方法和***
CN112583807A (zh) 一种验证方法、装置、电子设备及存储介质
WO2023036348A1 (zh) 一种加密通信方法、装置、设备及介质
CN114065179B (zh) 认证方法、装置、服务器、客户端及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant