基于MQTT的安全认证方法、装置及存储介质制造方法及图纸

技术编号:20875355 阅读:18 留言:0更新日期:2019-04-17 11:20
本发明专利技术涉及安全技术,揭露了一种基于MQTT的安全认证方法、电子装置及存储介质,该方法根据客户端发送的注册请求,创建虚拟账号及群体身份,并向客户端返回该虚拟账号及群体身份。之后,该方法接收客户端发送的登录请求,并利用预设的认证规则进行认证,若认证通过,则与客户端建立订阅连接。最后,接收客户端发送的主题订阅请求,根据接收到的主题订阅请求,将订阅主题与主题列表进行对比认证,若主题列表中存在所述订阅主题,则认证通过,根据订阅主题向客户端推送订阅信息。利用本发明专利技术,能够提高对客户端的安全认证,有效保障服务端安全,减少分布式拒绝服务攻击。

【技术实现步骤摘要】
基于MQTT的安全认证方法、装置及存储介质
本专利技术涉及计算机安全
,尤其涉及一种基于MQTT的安全认证方法、装置及计算机可读存储介质。
技术介绍
息队列遥测传输(MessageQueuingTelemetryTransport,MQTT)是国际商业机器公司(InternationalBusinessMachinessCorporation,IBM)开发的一个即时通讯协议。该协议采用一种轻量级的订阅/发布模式来进行消息的传输,通过对低带宽、低计算能力、以及不稳定的网络环境做了特殊的优化,以适用于对嵌入式智能终端和移动终端的信息推送,从而有效的节省终端的耗电量及流量。然而,在基于MQTT协议的通讯过程中可能会面临着许多安全问题,如分布式拒绝服务(DistributedDenialOfService,DDOS)攻击问题、用户设备访问的安全认证及授权问题等。这些问题给通讯网络带来极大的威胁,因此,亟待设计一种基于MQTT的安全服务系统,能够对用户端进行安全认证,有效保障服务端安全,减少DDOS攻击。
技术实现思路
鉴于以上内容,本专利技术提供一种基于MQTT的安全认证方法、装置及计算机可读存储介质,其主要目的在于保证用户访问的认证安全,防止恶性的分布式拒绝服务攻击。为实现上述目的,本专利技术提供一种基于MQTT的安全认证方法,该方法包括:创建步骤:根据客户端发送的注册请求,创建虚拟账号及群体身份,并向客户端返回该虚拟账号及群体身份;第一接收步骤:接收客户端发送的登录请求,所述登录请求包括客户端标识符、虚拟账号,以及经过预设加密规则加密后得到的密码;第一认证步骤:根据接收到的客户端标识符、虚拟账号及所述加密后得到的密码,利用预设的认证规则进行认证,若认证通过,则与客户端建立订阅连接;第二接收步骤:接收客户端发送的主题订阅请求;第二认证步骤:根据接收到的主题订阅请求,将订阅主题与主题列表进行对比认证,若主题列表中存在所述订阅主题,则认证通过,根据订阅主题向客户端推送订阅信息。优选地,所述预设的认证规则包括:记录接收到登录请求时刻的时间戳,记为第二时间戳;根据所述接收到的密码,利用预设方式进行提取得到所述接收到的密码中的第一时间戳;根据客户端标识符、虚拟账号及所述提取的第一时间戳,利用算法调用指令调用该客户端对应的加密算法,对所述虚拟账号及所述客户端标识符中代表群体身份的字符进行预设加密规则的加密后得到认证密码;将所述接收到的密码与所述认证密码进行对比;若所述接收到的密码与所述认证密码一致,则计算所述提取的第一时间戳与所述第二时间戳之间的时间差值,将所述时间差值与预设时间阈值进行对比,若所述时间差值小于预设时间阈值,则认证通过。优选地,所述预设的加密规则包括:将所述虚拟账号与所述客户端标识符中代表群体身份的字符拼接生成第一字符串;将所述第一字符串中的字符进行倒序排列得到第二字符串;根据算法调用指令,从加密算法组中调用第一加密算法及第二加密算法;利用第一加密算法对所述第二字符串进行加密得到第一密文;利用第二加密算法对所述第二字符串进行加密得到第二密文;将所述第一密文与第二密文进行拼接得到第三密文;将得到的第三密文、分隔符及第一时间戳进行拼接得到密码并输出。优选地,所述第一认证步骤包括:统计预设周期内每个客户端发送登录请求的次数,若登录请求的次数小于预设次数,则认证通过,若登录请求的次数大于预设次数,则认证失败,在预设时间内禁止接收该客户端发送登录请求。优选地,该方法还包括:实时统计每个群体身份所连接的设备数,判断每个群体身份所连接的设备数是否大于预设值,若某群体身份所连接的设备数大于预设值,则禁止其他设备接入该群体身份。此外,本专利技术还提供一种电子装置,该电子装置包括:存储器、处理器及显示器,所述存储器上存储安全认证程序,所述安全认证程序被所述处理器执行,可实现如下步骤:创建步骤:根据客户端发送的注册请求,创建虚拟账号及群体身份,并向客户端返回该虚拟账号及群体身份;第一接收步骤:接收客户端发送的登录请求,所述登录请求包括客户端标识符、虚拟账号,以及经过预设加密规则加密后得到的密码;第一认证步骤:根据接收到的客户端标识符、虚拟账号及所述加密后得到的密码,利用预设的认证规则进行认证,若认证通过,则与客户端建立订阅连接;第二接收步骤:接收客户端发送的主题订阅请求;第二认证步骤:根据接收到的主题订阅请求,将订阅主题与主题列表进行对比认证,若主题列表中存在所述订阅主题,则认证通过,根据订阅主题向客户端推送订阅信息。优选地,所述预设的认证规则包括:记录接收到登录请求时刻的时间戳,记为第二时间戳;根据所述接收到的密码,利用预设方式进行提取得到所述接收到的密码中的第一时间戳;根据客户端标识符、虚拟账号及所述提取的第一时间戳,利用算法调用指令调用该客户端对应的加密算法,对所述虚拟账号及所述客户端标识符中代表群体身份的字符进行预设加密规则的加密后得到认证密码;将所述接收到的密码与所述认证密码进行对比;若所述接收到的密码与所述认证密码一致,则计算所述提取的第一时间戳与所述第二时间戳之间的时间差值,将所述时间差值与预设时间阈值进行对比,若所述时间差值小于预设时间阈值,则认证通过。优选地,所述预设的加密规则包括:将所述虚拟账号与所述客户端标识符中代表群体身份的字符拼接生成第一字符串;将所述第一字符串中的字符进行倒序排列得到第二字符串;根据算法调用指令,从加密算法组中调用第一加密算法及第二加密算法;利用第一加密算法对所述第二字符串进行加密得到第一密文;利用第二加密算法对所述第二字符串进行加密得到第二密文;将所述第一密文与第二密文进行拼接得到第三密文;将得到的第三密文、分隔符及第一时间戳进行拼接得到密码并输出。优选地,所述第一认证步骤包括:统计预设周期内每个客户端发送登录请求的次数,若登录请求的次数小于预设次数,则认证通过,若登录请求的次数大于预设次数,则认证失败,在预设时间内禁止接收该客户端发送登录请求。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中包括安全认证程序,所述安全认证程序被处理器执行时,可实现如上所述基于MQTT的安全认证方法中的任意步骤。本专利技术提出的基于MQTT的安全认证方法、装置及计算机可读存储介质,通过根据客户端发送的注册请求,创建虚拟账号及群体身份,并向客户端返回虚拟账号、群体身份及算法调用指令,之后,接收客户端发送的登录请求并利用预设的认证规则进行认证,若认证通过,则与客户端建立订阅连接,最后,接收客户端发送的主题订阅请求,将订阅主题与主题列表进行对比认证,若主题列表中存在所述订阅主题,则认证通过,根据订阅主题向客户端推送订阅信息,从而提高系统认证的安全性能,保证系统资源的安全和隐私。附图说明图1为本专利技术电子装置较佳实施例的示意图;图2为图1中安全认证程序较佳实施例的模块示意图;图3为本专利技术基于MQTT的安全认证方法较佳实施例的流程图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,是本专利技术电子装置1较佳实施例的示意图。在本实施例中,该电子装置1可以是机架式服务器、刀片本文档来自技高网...

【技术保护点】
1.一种基于MQTT的安全认证方法,应用于电子装置,其特征在于,所述方法包括:创建步骤:根据客户端发送的注册请求,创建虚拟账号及群体身份,并向客户端返回该虚拟账号及群体身份;第一接收步骤:接收客户端发送的登录请求,所述登录请求包括客户端标识符、虚拟账号,以及经过预设加密规则加密后得到的密码;第一认证步骤:根据接收到的客户端标识符、虚拟账号及所述加密后得到的密码,利用预设的认证规则进行认证,若认证通过,则与客户端建立订阅连接;第二接收步骤:接收客户端发送的主题订阅请求;第二认证步骤:根据接收到的主题订阅请求,将订阅主题与主题列表进行对比认证,若主题列表中存在所述订阅主题,则认证通过,根据订阅主题向客户端推送订阅信息。

【技术特征摘要】
1.一种基于MQTT的安全认证方法,应用于电子装置,其特征在于,所述方法包括:创建步骤:根据客户端发送的注册请求,创建虚拟账号及群体身份,并向客户端返回该虚拟账号及群体身份;第一接收步骤:接收客户端发送的登录请求,所述登录请求包括客户端标识符、虚拟账号,以及经过预设加密规则加密后得到的密码;第一认证步骤:根据接收到的客户端标识符、虚拟账号及所述加密后得到的密码,利用预设的认证规则进行认证,若认证通过,则与客户端建立订阅连接;第二接收步骤:接收客户端发送的主题订阅请求;第二认证步骤:根据接收到的主题订阅请求,将订阅主题与主题列表进行对比认证,若主题列表中存在所述订阅主题,则认证通过,根据订阅主题向客户端推送订阅信息。2.根据权利要求1所述的基于MQTT的安全认证方法,其特征在于,所述预设的认证规则包括:记录接收到登录请求时刻的时间戳,记为第二时间戳;根据所述接收到的密码,利用预设方式进行提取得到所述接收到的密码中的第一时间戳;根据客户端标识符、虚拟账号及所述提取的第一时间戳,利用算法调用指令调用该客户端对应的加密算法,对所述虚拟账号及所述客户端标识符中代表群体身份的字符进行预设加密规则的加密后得到认证密码;将所述接收到的密码与所述认证密码进行对比;若所述接收到的密码与所述认证密码一致,则计算所述提取的第一时间戳与所述第二时间戳之间的时间差值,将所述时间差值与预设时间阈值进行对比,若所述时间差值小于预设时间阈值,则认证通过。3.根据权利要求1或2所述的基于MQTT的安全认证方法,其特征在于,所述预设的加密规则包括:将所述虚拟账号与所述客户端标识符中代表群体身份的字符拼接生成第一字符串;将所述第一字符串中的字符进行倒序排列得到第二字符串;根据算法调用指令,从加密算法组中调用第一加密算法及第二加密算法;利用第一加密算法对所述第二字符串进行加密得到第一密文;利用第二加密算法对所述第二字符串进行加密得到第二密文;将所述第一密文与第二密文进行拼接得到第三密文;将得到的第三密文、分隔符及第一时间戳进行拼接得到密码并输出。4.根据权利要求1所述的基于MQTT的安全认证方法,其特征在于,所述第一认证步骤包括:统计预设周期内每个客户端发送登录请求的次数,若登录请求的次数小于预设次数,则认证通过,若登录请求的次数大于预设次数,则认证失败,在预设时间内禁止接收该客户端发送登录请求。5.根据权利要求1所述的基于MQTT的安全认证方法,其特征在于,该方法还包括:实时统计每个群体身份所连接的设备数,判断每个群体身份所连接的设备数是否大于预设值,若某群体身份所连接的设备数大于预设值,则禁止其他设备接入...

【专利技术属性】
技术研发人员:詹泽
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1