一种基于AllJoyn的多重认证方法及装置的制造方法

xiaoxiao2021-2-23  136

一种基于AllJoyn的多重认证方法及装置的制造方法
【技术领域】
[0001] 本发明设及物联网技术领域,尤其设及一种基于Alljoyn的多重认证方法及装置。
【背景技术】
[0002] AlUoyn通过All Joyn Security来实现应用层的端到端认证,保证通信的安全。 Alljoyn Security包含服务端Provider端和客户端Consumer端。一旦在Provider端和 Consumer端之间完成安全认证,则所有的方法、信号和属性都会通过安全的方式来相互传 递。
[0003] 但是,目前Alljoyn Security只支持单认证方式,当两个Alljoyn设备之间进行相 互认证的时候,即使开发者部署了一系列的认证机制,AlUoyn也只会选择其中加密性能最 好的一种方式进行认证而忽略其他的认证方式。
[0004] 在相对复杂的情况下,为了保证通信的安全性,AlUoyn开发者对于用户的认证可 能不仅限于一种,而是多种认证方式结合来证明用户的身份。不支持多重认证机制使得 AlUoyn的认证方式不够可靠和灵活,制约了 Alljoyn可扩展性和兼容性的发展。因此,需要 一种基于Alljoyn的多重认证方法及装置,W解决现有技术中存在的上述技术问题。

【发明内容】

[0005] 本发明提供了一种基于Alljoyn的多重认证方法及装置,使得Alljoyn Security 的可扩展性和兼容性得到增强,为开发人员在Alljoyn框架下使用多重认证的方式提供了 可能。
[0006] 本发明采用的技术方案是:
[0007] -种基于Alljoyn的多重认证方法,其在客户端执行的流程,包括:在所述密钥库 中创建认证标识,所述认证标识包括多重认证的待认证数量;与所述服务端建立All Joyn会 话;与所述服务端协商认证方式,达成一致的认证方式;与所述服务端顺次完成所述待认证 数量的认证。
[000引优选地,所述与所述服务端协商认证方式,达成一致的认证方式之前,所述方法, 还包括:根据认证等级的高低将所述客户端本地已配置的认证方式进行排序,形成客户端 认证方式顺序表;相应地,所述与所述服务端协商认证方式,达成一致的认证方式,具体包 括:将所述客户端认证方式顺序表中的认证方式从高到低依次询问所述服务端,直到与所 述服务端达成一致的认证方式。
[0009]优选地,所述将所述客户端认证方式顺序表中的认证方式从高到低依次询问所述 服务端,直到与所述服务端达成一致的认证方式,具体包括:调用交换全球唯一标识符 ExchangeGuids方法,发送的询问参数为所述客户端的认证标识和所述客户端认证方式顺 序表中认证等级最高的优选认证方式,W供所述服务端接收到所述询问参数后,判断是否 接受所述优选认证方式;在所述服务端不接受所述优选认证方式的条件下,接收所述服务 端调用ExchangeGuids方法返回的答复参数,所述答复参数包括所述服务端的认证标识和 所述服务端提出的参考认证方式;保存所述服务端的认证标识,并且判断是否采用所述参 考认证方式;若不采用所述参考认证方式,则将所述优选认证方式从所述客户端认证方式 顺序表中删除,返回调用ExchangeGuids方法,询问参数为所述客户端的认证标识和所述客 户端认证方式顺序表中认证等级最高的优选认证方式,直到所述服务端接受所述优选认证 方式;若采用所述参考认证方式,则将所述客户端认证方式顺序表中认证等级高于所述参 考认证方式的认证方式删除后,按所述参考认证方式执行认证请求。
[0010] 优选地,所述与所述服务端顺次完成所述待认证数量的认证,具体包括:调用认证 确认Auth化allenge方法,发送的认证参数为本次认证请求的校验码,W供所述服务端接收 到所述认证参数后,与所述服务端本地的校验码进行比对;在所述本次认证的校验码与所 述服务端本地的校验码匹配的条件下,接收到所述服务端发来的确认信号,完成本次认证, 开始下一次认证,直至完成所述待认证数量的认证。
[0011] 优选地,所述接收到所述服务端发来的确认信号,完成本次认证,开始下一次认 证,直至完成所述待认证数量的认证,具体包括:接收到所述服务端发来的确认信号后,将 保存的所述服务端的认证标识中的所述待认证数量减1,并且判断所述待认证数量是否为 零;如果所述待认证数量为零,则发送认证结束通知至所述服务端,W通知所述多重认证结 束;如果所述待认证数量不为零,则将本次认证方式从所述客户端认证方式顺序表中删除, 向所述服务端发起下一次认证请求。
[001。优选地,所述认证标识为n_GUID,η为所述待认证数量,GUID为全球唯一标识符,用 于标识一个或者一组使用同一密钥库的应用。
[0013] 本发明提供了一种基于Alljoyn的多重认证方法,其在服务端执行的流程,包括: 在所述密钥库中创建认证标识,所述认证标识包括多重认证的待认证数量;与所述客户端 建立Alljoyn会话;与所述客户端确定出一致的认证方式;与所述客户端顺次完成所述待认 证数量的认证。
[0014] 优选地,所述与所述客户端确定出一致的认证方式之前,所述方法,还包括:根据 认证等级的高低将所述服务端本地已配置的认证方式进行排序,形成服务端认证方式顺序 表;相应地,所述与所述客户端确定出一致的认证方式,具体包括:接收到客户端调用 ExchangeGuids方法传递的所述询问参数后,根据所述服务端认证方式顺序表判断是否接 受优选认证方式,其中所述询问参数包括所述客户端的认证标识和所述客户端认证方式顺 序表中认证等级最高的所述优选认证方式;若所述服务端认证方式顺序表中不存在所述优 选认证方式,则向所述客户端提出所述服务端认证方式顺序表中认证等级最高的参考认证 方式,供所述客户端判断是否采用所述参考认证方式,W与所述客户端确定出一致的认证 方式。
[0015] 优选地,所述与所述客户端顺次完成所述待认证数量的认证,具体包括:接收到所 述客户端调用Auth化allenge方法,发送本次认证请求的认证参数后,与所述服务端本地的 校验码进行比对,所述认证参数为校验码;若所述本次认证的校验码与所述服务端本地的 校验码匹配,则发送确认信号至所述客户端,W供所述客户端确认所述本次认证完成,开始 下一次认证,直到完成所属待认证数量的认证。
[0016] 本发明提供了一种基于Alljoyn的多重认证装置,其设置于客户端,所述装置包 括:认证标识创建模块,用于在所述密钥库中创建认证标识,所述认证标识包括多重认证的 待认证数量;与服务端的A11 Joyn会话建立模块,用于与所述服务端建立A1 Uoyn会话;认证 方式达成模块,用于与所述服务端协商认证方式,达成一致的认证方式;多重认证模块,用 于与所述服务端顺次完成所述待认证数量的认证。
[0017] 优选地,所述装置,还包括客户端认证方式顺序表形成模块,用于:根据认证等级 的高低将所述客户端本地已配置的认证方式进行排序,形成客户端认证方式顺序表之后, 调用认证方式达成模块,将所述客户端认证方式顺序表中的认证方式从高到低依次询问所 述服务端,直到与所述服务端达成一致的认证方式。
[0018] 本发明提供了一种基于Alljoyn的多重认证装置,其设置于服务端,所述装置包 括:密钥库初始化模块,用于在所述密钥库中创建认证标识,所述认证标识包括多重认证的 待认证数量;与客户端的A11 Joyn会话建立模块:用于与所述客户端建立A1 U〇yn会话;认证 方式确定模块,用于与所述客户端确定出一致的认证方式;认证顺次完成模块,用于与所述 客户端顺次完成所述待认证数量的认证。
[0019] 优选地,所述装置,还包括服务端认证方式顺序表形成模块,用于:根据认证等级 的高低将所述服务端本地已配置的认证方式进行排序,形成服务端认证方式顺序表;调用 所述认证方式确定模块,接收到客户端调用ExchangeGuids方法传递的所述询问参数后,根 据所述服务端认证方式顺序表判断是否接受优选认证方式,其中所述询问参数包括所述客 户端的认证标识和所述客户端认证方式顺序表中认证等级最高的所述优选认证方式;若所 述服务端认证方式顺序表中不存在所述优选认证方式,则向所述客户端提出所述服务端认 证方式顺序表中认证等级最高的参考认证方式,供所述客户端判断是否采用所述参考认证 方式,W与所述客户端确定出一致的认证方式。
[0020] 本发明提供了一种客户端,其包括上文所述的设置于客户端的多重认证装置。
[0021] 本发明提供了一种服务端,其包括上文所述的设 置于服务端的多重认证装置。
[0022] 采用上述技术方案,本发明至少具有下列效果:
[0023] 本发明提供的基于Alljoyn的多重认证方法,在Alljoyn系统原始架构的基础上可 W实现Alljoyn系统端到端的多重认证,增强Alljoyn Security的可扩展性和兼容性,为开 发人员使用多重认证方式来进行端到端认证提供了可能。
【附图说明】
[0024] 图1为本发明第一实施例多重认证方法的流程图;
[0025] 图2为利用图1所示多重认证方法的Alljoyn系统中端对端认证的流程图;
[0026] 图3为本发明第二实施例多重认证方法的流程图;
[0027] 图4为图3所示多重认证方法的实施流程图;
[00%]图5为本发明第四实施例多重认证方法的流程图;
[0029] 图6为本发明第五实施例多重认证方法的流程图;
[0030] 图7为本发明第六实施例多重认证方法的流程图;
[0031 ]图8为本发明第屯实施例和第八实施例多重认证装置的方框图;
[0032]图9为本发明第九实施例和第十实施例多重认证装置的方框图。
【具体实施方式】
[0033] 为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,W下结合附图 及较佳实施例,对本发明进行详细说明如后。
[0034] 本发明提供的基于Alljoyn的多重认证方法,可W。下面将详细地描述本发明的多 重认证方法及其各个步骤。
[0035] 第一实施例
[0036] 如图1所示,本实施例中的基于Alljoyn的多重认证方法,在客户端执行的流程,包 括:步骤S10:在密钥库中创建认证标识,认证标识包括多重认证的待认证数量。步骤S20:与 服务端建立Alljoyn会话。步骤S30:与服务端协商认证方式,达成一致的认证方式。步骤 S40:与服务端顺次完成待认证数量的认证。。
[0037] 本实施例的多重认证方法,只需要创建一个总线附件,节约了 Alljoyn系统资源, 保持Alljoyn系统原有的格局,方便开发人员部署多重认证机制,增强Alljoyn系统认证方 式的可扩展性和兼容性。
[0038] 作为优选地,认证标识为n_GUID,η为待认证数量,η为第一个字段,该字段占 Ξ个 字节,可W支持8种认证方式同时进行。GUID为全球唯一的标识符,用于标识一个或者一组 使用同一密钥库的应用,在认证阶段,每个密钥库都会配备一个GUID。
[0039] n_GUID的结构如下:
[0040]
[0041] 下面参照图2,结合本实施例详细地介绍Alljoyn系统端对端认证的流程。
[0042] 第一步:服务端Provider端和客户端Consumer端同时允许端对端认证,同时初始 化密钥库,创建n_GUID,其中η为多重认证的待认证数量,即认证方式的数量,GUID为全球唯 一标识符,GUID会一直保存在密钥库里,用来长期标识一个或一组使用同一密钥库的应用。
[0043] 第二步:通过Alljoyn系统的广播和发现、连接Alljoyn总线、建立物理连接等步骤 来建立Provider端与Consumer端之间的会话。
[0044] 第Ξ步:Consumer端主动触发认证机制Consumer端Provider端,如图2所示,采用 调用加密的method方法Consumer端或者显示调用的认证API,来触发与Provider端认证的 过程。
[0045] 第四步:Consumer端查询密钥库中是否存在关于该Provider端的密钥,如果存在, 则不进行认证,直接发送加密信息;如果不存在,则执行下面的认证过程。
[0046] 第五步Provider端与Consumer端交换n_GUID,在运步之后,双方确认认证方式的 数量。
[0047] 第六步:完成应用到应用的多重认证。每一次应用到应用的认证都包含一种 AlUoyn支持的认证方式,多种认证方式顺次进行。当η种认证方式全部完成之后,表示端到 端的认证完成Consumer端Provider端。
[004引第屯步:包I建会话密钥。Consumer端和Provider端各自创建一个会话密钥,同时创 建一个组密钥,会话密钥用来对后续传递的数据进行加密。
[0049] 第八步:组密钥用来加密组播和广播信号。通过交互组密钥,使得双方可W解密对 方传过来的组播和广播信号。
[(Κ)加]通过w上八个步骤,就完成了All Joyn系统端到端的认证,Provider端与Consumer 端之间可W交互加密的A11 Joyn数据。
[0化1 ] 第二实施例
[0052] 如图3所示,本实施例在第一实施例的基础上,在步骤S30:与服务端协商认证方 式,达成一致的认证方式之前,本实施例的多重认证方法,还包括:步骤S60:根据认证等级 的高低将客户端本地已配置的认证方式进行排序,形成客户端认证方式顺序表;相应地,在 步骤S30:与服务端协商认证方式,达成一致的认证方式,具体包括:步骤S300:将客户端认 证方式顺序表中的认证方式从高到低依次询问服务端,直到与服务端达成一致的认证方 式。
[0053] 在第二实施例的基础上,作为优选地,步骤S300:将客户端认证方式顺序表中的认 证方式从高到低依次询问服务端,直到与服务端达成一致的认证方式,具体包括:调用 ExchangeGuids方法,发送询问参数为客户端的认证标识和客户端认证方式顺序表中认证 等级最高的优选认证方式,W供服务端接收到上述询问参数后,判断是否接受优选认证方 式;在服务端不接受优选认证方式的条件下,接收服务端调用ExchangeGuids方法返回的答 复参数,答复参数包括服务端的认证标识和服务端提出的参考认证方式;保存服务端的认 证标识,并且判断是否采用参考认证方式;若不采用参考认证方式,则将优选认证方式从客 户端认证方式顺序表中删除,返回调用ExchangeGuids方法,询问参数为客户端的认证标识 和客户端认证方式顺序表中认证等级最高的优选认证方式,直到服务端接受优选认证方 式;若采用参考认证方式,则将客户端认证方式顺序表中认证等级高于参考认证方式的认 证方式删除后,按参考认证方式执行认证请求。
[0054] 第=实施例
[0055] 在第二实施例的基础上,步骤S40:与服务端顺次完成待认证数量的认证,具体包 括:调用Auth化al lenge方法,发送认证参数为本次认证请求的校验码,W供服务端接收到 认证参数后,与服务端本地的校验码进行比对;在本次认证的校验码与服务端本地的校验 码匹配的条件下,接收到服务端发来的确认信号,完成本次认证,开始下一次认证,直至完 成所述待认证数量的认证。
[0056] 进一步地,在接收到服务端发来的确认信号,完成本次认证,开始下一次认证,直 至完成待认证数量的认证,具体包括:接收到服务端发来的确认信号后,将保存的服务端的 认证标识中的待认证数量减1,并且判断待认证数量是否为零;如果待认证数量为零,则发 送认证结束通知至服务端,W通知多重认证结束;如果待认证数量不为零,则将本次认证方 式从客户端认证方式顺序表中删除,向服务端发起下一次认证请求。
[0057] 下面参照图4对第Ξ实施例的多重认证方法进行详细说明:
[005引在Consumer端和Provider端分别对各自已配置的认证方式根据认证等级的高低 进行排序,认证方式按照认证等级由高到低分别形成客户端认证方式顺序表c_list和服务 端认证方式顺序表P_1 i S t。
[0059] Consumer端调用ExchangeGuids方法,发送询问参数为已初始化的Consumer端的 n_GUIDW及排列在(3_1131:中认证等级最高的认证方式1(优选认证方式)。
[0060] Provider端接收到该询问参数后,记录下Consumer端的n_GUID,判断是否接受认 证方式1,判断方法为:首先将认证方式1比较p_list中认证等级最高的认证方式,若匹配则 直接进行后续的认证步骤。若遍历整个P_list都不匹配,则Provider端提出一个对 Provider端自身合适的认证方式2(-般是p_list中认证等级最高的认证方式)。
[0061 ] Provider端调用ExchangeGuids方法返回答复参数,答复参数包括Provider端的 n_GUID和认证方式2(参考认证方式)。
[0062] Consumer端接收到Provider端返回的答复参数后,保存Provider端的n_GUID,并 检查在c_list中是否包含认证方式2,如果包含该认证方式2,则将认证等级高于认证方式2 的认证方式从c_list中删除,再根据认证方式2执行认证请求。如果不包含认证方式2,则将 认证方式1删除,调用ExchangeGuids方法,询问参数为客户端的认证标识和客户端认证方 式顺序表中认证等级最高的优选认证方式,直到服务端接受优选认证方式。
[0063] 上述步骤完成后,双方确定出本次认证使用的认证方式,在图中为认证方式2,按 照认证方式2进行应用到应用的认证。
[0064] 在应用到应用的认证中,Consumer端调用Auth化allenge方法,发送认证参数为本 次认证请求的校验码(图4中为DATA) Provider端接收到该校验码之后,和自身存储的校验 码进行比对,如果匹配,则向Consumer端发送确认信号(图4中为0K)。如果不匹配则本次认 证结束,等待Cons皿er端发起下一次认证请求。
[0(?日]Consumer端收到确认信号后,将保存的Provider端的n_GUID中第一个字段减1,表 示已完成一种认证方式。此时n_GUID的第一个字段表示待认证方式的数量,并且判断该字 段是否为零,如果该字段为零则完成多重认证,Consumer端向Provider端发送邸GIN信号, 表示认证已完成。如果该字段不为零,则将该认证方式2从(3_113*中删除,重新向服务端发 起下一次认证请求。Consumer端每收到一个确认信号,都会执行上述操作,直到n_GUID中第 一个字段为零。
[0066] 第四实施例
[0067] 如图5所示,本实施例中的基于Alljoyn的多重认证方法,在服务端执行的流程,包 括:步骤S70:在密钥库中创建认证标识,认证标识包括多重认证的待认证数量。步骤S80:与 客户端建立Alljoyn会话。步骤S90:与客户端确定出一致的认证方式。步骤S100:与客户端 顺次完成待认证数量的认证。
[006引第五实施例
[0069] 如图6所示,在第四实施例的基础上,在步骤S90:与客户端确定出一致的认证方式 之前,本实施例的多重认证方法,还包括:步骤S120:根据认证等级的高低将服务端本地已 配置的认证方式进行排序,形成服务端认证方式顺序表;相应地,步骤S90:与客户端确定出 一致的认证方式,具体包括:步骤S900:接收到客户端调用ExchangeGuids方法传递的询问 参数后,根据服务端认证方式顺序表判断是否接受优选认证方式,其中询问参数包括客户 端的认证标识和客户端认证方式顺序表中认证等级最高的优选认证方式;W及,步骤S901: 若服务端认证方式顺序表中不存在优选认证方式,则向客户端提出服务端认证方式顺序表 中认证等级最高的参考认证方式,供客户端判断是否采用参考认证方式,W与客户端确定 出一致的认证方式。
[0070] 第六实施例
[0071] 如图7所示,在第四实施例和第五实施例的基础上,步骤S100:与客户端顺次完成 待认证数量的认证,具体包括:接收到客户端调用Auth化al lenge方法,发送本次认证请求 的认证参数后,与服务端本地的校验码进行比对,认证参数为校验码;若本次认证的校验码 与服务端本地的校验码匹配,则发送确认信号至客户端,W供客户端确认本次认证完成,开 始下一次认证,直到完成所属待认证数量的认证。
[0072] 下面W开发者需要同时使用Ξ种认证方式来进行端到端认证,Ξ种认证方式分别 为SRP_KEYX、SRP_L0G0N和ECDHE_PSK,此时n_GUID中的第一字段的值为3,具体流程如下:
[0073] 在Consumer端和Provider端分别对各自已配置的认证方式按照认证等级的高低 进行排序,认证等级由高到低分别形成客户端认证方式顺序表c_list,W及服务端认证方 式顺序表9_113*。
[0074] Consumer端调用ExchangeGuids方法,发送询问参数为已初始化的Consumer端的 n_GUID2 W及(3_1 i S t中认证等级最高的认证方式ECDHE_PSK。
[00巧]Provider端接收到该询问参数后,记录下Consumer端的n_GUID2,判断可W接受 ECEfflE_PSK。
[0076] Provider端调用ExchangeGuids方法返回答复参数,答复参数是Provider端的n_ GUID1和ECDHE_PSK。
[0077] Consumer端收到Provider端返回的答复参数后,保存Provider端的n_GUIDl。
[0078] 上述步骤完成,则双方确定出本次认证使用的认证方式为6〔0肥_?51(,按照6〔0肥_ PSK进行应用到应用认证。
[00巧]在6〔0肥_?51(中,Consumer端调用AuthQiallenge方法,发送的认证参数为DATA,即 本次认证请求的校验码。Provider端收到该校验码之后,和自身存储的校验码进行比对,如 果匹配,贝向Consumer端发送0K的确认信号。如果不匹配,则本次认证结束,等待Consumer 端发来下一次认证请求。
[0080] Consumer端收到确认信号后,将保存的Provider端的n_GUIDl的第一个字段减1, 表示已完成一种认证方式,此时n_GUIDl的第一个字段表示待认证方式的数量,并且判断该 字段是否为零。如果该字段为零则完成多重认证,Consumer端向Provider端发送肥GIN信 号,表示认证已完成。如果该字段不为零,则将该认证方式6〔0肥_?51(从(3_1 ist中删除,继续 执行c_list中的下一项认证,重新向服务端发起下一次认证请求。Consumer端每收到一个 确认信号,都会执行上述操作,直到n_GUID中的第一个字段为零,结束多重认证进程。
[0081 ] 可W看出,Provider端的p_list和Consumer端的c_list中的认证方式种类不一 样,但需满足p_list中的认证方式是(3_1131:中认证方式的子集才能完成多重认证。
[0082] 第屯实施例
[0083] 如图8所示,本实施例的基于Alljoyn的多重认证装置,设置于客户端,该装置包 括:认证标识创建模块10,用于在密钥库中创建认证标识,认证标识包括多重认证的待认证 数量;与服务端的A11 Joyn会话建立模块20,用于与服务端建立A1 Uoyn会话;认证方式达成 模块30,用于与服务端协商认证方式,达成一致的认证方式;多重认证模块40,用于与服务 端顺次完成待认证数量的认证。
[0084] 第八实施例
[00化]如图8所示,本实施例在第屯实施例的基础上,多重认证装置,还包括客户端认证 方式顺序表形成模块60,用于:根据认证等级的高低将客户端本地已配置的认证方式进行 排序,形成客户端认证方式顺序表之后,调用认证方式达成模块,将客户端认证方式顺序表 中的认证方式从高到低依次询问服务端,直到与服务端达成一致的认证方式。
[0086] 第九实施例
[0087] 如图9所示,本实施例的基于Alljoyn的多重认证装置,设置于服务端,该装置包 括:密钥库初始化模块70,用于在密钥库中创建认证标识,认证标识包括多重认证的待认证 数量;与客户端的Alljoyn会话建立模块80:用于与客户端建立AlUoyn会话;认证方式确定 模块90,用于与客户端确定出一致的认证方式;认证顺次完成模块100,用于与客户端顺次 完成待认证数量的认证。
[008引第十实施例
[0089] 如图9所示,本实施例在第九实施例的基础上,多重认证装置,还包括服务端认证 方式顺序表形成模块120,用于:根据认证等级的高低将服务端本地已配置的认证方式进行 排序,形成服务端认证方式顺序表;调用认证方式确定模块,接收到客户端调用 ExchangeGuids方法传递的询问参数后,根据服务端认证方式顺序表判断是否接受优选认 证方式,其中询问参数包括客户端的认证标识和客户端认证方式顺序表中认证等级最高的 优选认证方式;若服务端认证方式顺序表中不存在优选认证方式,则向客户端提出服务端 认证方式顺序表中认证等级最高的参考认证方式,供客户端判断是否采用参考认证方式, W与客户端确定出一致的认证方式。
[0090] 第^^一实施例
[0091] 本实施例提供了一种客户端,其包括上文所述的设置于客户端 的多重认证装置。
[0092] 第十二实施例
[0093] 本实施例提供了一种服务端,其包括上文所述的设置于服务端的多重认证装置。
[0094] 通过【具体实施方式】的说明,应当可对本发明为达成预定目的所采取的技术手段及 功效得W更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本 发明加 W限制。
【主权项】
1. 一种基于A11Joyn的多重认证方法,其特征在于,在客户端执行的流程,包括: 在所述密钥库中创建认证标识,所述认证标识包括多重认证的待认证数量; 与所述服务端建立AllJoyn会话; 与所述服务端协商认证方式,达成一致的认证方式; 与所述服务端顺次完成所述待认证数量的认证。2. 根据权利要求1所述的多重认证方法,其特征在于,所述与所述服务端协商认证方 式,达成一致的认证方式之前,所述方法,还包括: 根据认证等级的高低将所述客户端本地已配置的认证方式进行排序,形成客户端认证 方式顺序表; 相应地,所述与所述服务端协商认证方式,达成一致的认证方式,具体包括: 将所述客户端认证方式顺序表中的认证方式从高到低依次询问所述服务端,直到与所 述服务端达成一致的认证方式。3. 根据权利要求2所述的多重认证方法,其特征在于,所述将所述客户端认证方式顺序 表中的认证方式从高到低依次询问所述服务端,直到与所述服务端达成一致的认证方式, 具体包括: 调用交换全球唯一标识符ExchangeGuids方法,发送询问参数为所述客户端的认证标 识和所述客户端认证方式顺序表中认证等级最高的优选认证方式,以供所述服务端接收到 所述询问参数后,判断是否接受所述优选认证方式; 在所述服务端不接受所述优选认证方式的条件下,接收所述服务端调用ExchangeGuids方法返回的答复参数,所述答复参数包括所述服务端的认证标识和所述服 务端提出的参考认证方式; 保存所述服务端的认证标识,并且判断是否采用所述参考认证方式; 若不采用所述参考认证方式,则将所述优选认证方式从所述客户端认证方式顺序表中 删除,返回调用ExchangeGuids方法,询问参数为所述客户端的认证标识和所述客户端认证 方式顺序表中认证等级最高的优选认证方式,直到所述服务端接受所述优选认证方式; 若采用所述参考认证方式,则将所述客户端认证方式顺序表中认证等级高于所述参考 认证方式的认证方式删除后,按所述参考认证方式执行认证请求。4. 根据权利要求1至3中任一项所述的多重认证方法,其特征在于,所述与所述服务端 顺次完成所述待认证数量的认证,具体包括: 调用认证确认AuthChallenge方法,发送认证参数为本次认证请求的校验码,以供所述 服务端接收到所述认证参数后,与所述服务端本地的校验码进行比对; 在所述本次认证的校验码与所述服务端本地的校验码匹配的条件下,接收到所述服务 端发来的确认信号,完成本次认证,开始下一次认证,直至完成所述待认证数量的认证。5. 根据权利要求4所述的多重认证方法,其特征在于,所述接收到所述服务端发来的确 认信号,完成本次认证,开始下一次认证,直至完成所述待认证数量的认证,具体包括: 接收到所述服务端发来的确认信号后,将保存的所述服务端的认证标识中的所述待认 证数量减1,并且判断所述待认证数量是否为零; 如果所述待认证数量为零,则发送认证结束通知至所述服务端,以通知所述多重认证 结束; 如果所述待认证数量不为零,则将本次认证方式从所述客户端认证方式顺序表中删 除,向所述服务端发起下一次认证请求。6. 根据权利要求1所述的多重认证方法,其特征在于,所述认证标识为n_GUID,n为所述 待认证数量,GUID为全球唯一标识符,用于标识一个或者一组使用同一密钥库的应用。7. -种基于A1ljoyn的多重认证方法,其特征在于,在服务端执行的流程,包括: 在所述密钥库中创建认证标识,所述认证标识包括多重认证的待认证数量,; 与所述客户端建立A1ljoyn会话; 与所述客户端确定出一致的认证方式; 与所述客户端顺次完成所述待认证数量的认证。8. 根据权利要求7所述的多重认证方法,其特征在于,所述与所述客户端确定出一致的 认证方式之前,所述方法,还包括: 根据认证等级的高低将所述服务端本地已配置的认证方式进行排序,形成服务端认证 方式顺序表; 相应地,所述与所述客户端确定出一致的认证方式,具体包括: 接收到客户端调用ExchangeGuids方法传递的所述询问参数后,根据所述服务端认证 方式顺序表判断是否接受优选认证方式,其中所述询问参数包括所述客户端的认证标识和 所述客户端认证方式顺序表中认证等级最高的所述优选认证方式; 若所述服务端认证方式顺序表中不存在所述优选认证方式,则向所述客户端提出所述 服务端认证方式顺序表中认证等级最高的参考认证方式,供所述客户端判断是否采用所述 参考认证方式,以与所述客户端确定出一致的认证方式。9. 根据权利要求8所述的多重认证方法,其特征在于,所述与所述客户端顺次完成所述 待认证数量的认证,具体包括: 接收到所述客户端调用AuthChallenge方法,发送本次认证请求的认证参数后,与所述 服务端本地的校验码进行比对,所述认证参数为校验码; 若所述本次认证的校验码与所述服务端本地的校验码匹配,则发送确认信号至所述客 户端,以供所述客户端确认所述本次认证完成,开始下一次认证,直到完成所属待认证数量 的认证。10. -种基于A1ljoyn的多重认证装置,其特征在于,设置于客户端,所述装置包括: 认证标识创建模块,用于在所述密钥库中创建认证标识,所述认证标识包括多重认证 的待认证数量; 与服务端的Alljoyn会话建立模块,用于与所述服务端建立Alljoyn会话; 认证方式达成模块,用于与所述服务端协商认证方式,达成一致的认证方式; 多重认证模块,用于与所述服务端顺次完成所述待认证数量的认证。11. 根据权利要求10所述的多重认证装置,其特征在于,所述装置,还包括客户端认证 方式顺序表形成模块,用于: 根据认证等级的高低将所述客户端本地已配置的认证方式进行排序,形成客户端认证 方式顺序表之后,调用认证方式达成模块,将所述客户端认证方式顺序表中的认证方式从 高到低依次询问所述服务端,直到与所述服务端达成一致的认证方式。12. -种基于A1ljoyn的多重认证装置,其特征在于,设置于服务端,所述装置包括: 密钥库初始化模块,用于在所述密钥库中创建认证标识,所述认证标识包括多重认证 的待认证数量; 与客户端的Alljoyn会话建立模块:用于与所述客户端建立Alljoyn会话; 认证方式确定模块,用于与所述客户端确定出一致的认证方式; 认证顺次完成模块,用于与所述客户端顺次完成所述待认证数量的认证。13. 根据权利要求12所述的多重认证装置,其特征在于,所述装置,还包括服务端认证 方式顺序表形成模块,用于: 根据认证等级的高低将所述服务端本地已配置的认证方式进行排序,形成服务端认证 方式顺序表; 调用所述认证方式确定模块,接收到客户端调用ExchangeGuids方法传递的所述询问 参数后,根据所述服务端认证方式顺序表判断是否接受优选认证方式,其中所述询问参数 包括所述客户端的认证标识和所述客户端认证方式顺序表中认证等级最高的所述优选认 证方式;若所述服务端认证方式顺序表中不存在所述优选认证方式,则向所述客户端提出 所述服务端认证方式顺序表中认证等级最高的参考认证方式,供所述客户端判断是否采用 所述参考认证方式,以与所述客户端确定出一致的认证方式。14. 一种客户端,其特征在于,包括权利要求10或11所述的设置于客户端的多重认证装 置。15. -种服务端,其特征在于,包括权利要求12或13所述的设置于服务端的多重认证装 置。
【专利摘要】本发明提出了一种基于AllJoyn的多重认证方法及装置。所述基于AllJoyn的多重认证方法,在客户端执行的流程,包括:在所述密钥库中创建认证标识,所述认证标识包括多重认证的待认证数量;与所述服务端建立AllJoyn会话;与所述服务端协商认证方式,达成一致的认证方式;与所述服务端顺次完成所述待认证数量的认证,使得AllJoyn?Security的可扩展性和兼容性得到增强,为开发人员在AllJoyn框架下使用多重认证的方式提供了可能。
【IPC分类】H04L9/32, H04L29/06
【公开号】CN105490816
【申请号】CN201511022948
【发明人】王淼, 李永华, 尹珊
【申请人】青岛海尔智能家电科技有限公司
【公开日】2016年4月13日
【申请日】2015年12月29日

最新回复(0)