听力设备与用户应用间创建可信绑定的系统、设备及方法与流程

文档序号:14737184发布日期:2018-06-19 20:44阅读:163来源:国知局
听力设备与用户应用间创建可信绑定的系统、设备及方法与流程

本发明涉及一种包括听力设备和用户附属设备的听力设备系统。具体地,本发明涉及用于在听力设备系统的实体之间创建可信绑定的方法和设备。



背景技术:

在无线通信技术的持续发展中,去往和来自听力系统的不同实体的无线通信不断增加。然而,为了确保听力设备系统中的通信,新技术为助听器制造商带来新的挑战。听力设备系统的无线通信接口希望使用基于开放标准的接口。然而,这在安全性方面带来了许多挑战。



技术实现要素:

需要用于提供用户应用和听力设备的简单、有效和安全的配对的装置、设备和方法。

因此,公开了一种在听力设备与用户应用之间创建可信绑定的在用户应用中进行的方法,其中,方法包括:获取第一认证材料;将包括第一认证类型标识符和/或第一认证数据的第一认证请求发送至听力设备;接收包括认证密钥标识符的认证响应;存储认证密钥和认证密钥标识符,其中,认证密钥可选地基于第一认证材料;以及使用认证密钥和认证密钥标识符将用户应用连接至听力设备。

此外,公开了一种在听力设备与用户应用之间创建可信绑定的在听力设备中进行的方法,其中,方法包括:可选地发送听力设备的安全数据,其中,安全数据指示听力设备中应用的认证类型;发送第一认证材料;接收包括第一认证类型标识符和/或第一认证数据的第一认证请求;验证第一认证数据;以及如果成功验证第一认证数据,则确定并存储认证密钥。

而且,提供了一种配置为进行在本文描述的用户应用中进行的方法的用户应用。提供了一种配置为进行在本文描述的听力设备中进行的方法的听力设备。

提供一种用于包括听力设备的听力设备系统的用户附属设备的用户应用,用户附属设备包括:处理单元;存储器单元;以及接口,其中,用户应用在用户附属设备上运行时配置为:获取第一认证材料;将包括第一认证类型标识符和/或第一认证数据的第一认证请求发送至听力设备;接收包括认证密钥标识符的认证响应;存储认证密钥和认证密钥标识符,其中,认证密钥基于第一认证材料;并且使用认证密钥和认证密钥标识符将用户应用连接至听力设备。

此外,提供了一种听力设备,听力设备包括:处理单元;存储器单元;以及接口,其中,听力设备配置为:发送第一认证材料;接收包括第一认证类型标识符和/或第一认证数据的第一认证请求;验证第一认证数据;并且如果成功验证第一认证数据,则确定并存储认证密钥。

本发明的一个重要优点在于,至少在初始配对之后提供用户应用与听力设备之间的安全和容易的配对。此外,本发明允许多种方式来认证关于听力设备的用户应用,进而为验配师提供增加的设计自由度。

本方法、应用和设备使验配师、听力设备制造商甚至听力设备用户能够从用于在听力设备与用户应用之间创建可信绑定的多种方式中选择合适的初始配对或创建可信绑定的方法。

重要优点在于,认证密钥不在用户应用与听力设备之间传输,这增加了听力设备系统通信中的安全等级。

附图说明

通过参考附图对本发明的示例性实施例的以下详细描述,本发明的上述和其他特征和优点对于本领域技术人员将是显而易见的,其中:

图1示意性地示出听力系统,

图2示出用户应用与听力设备之间的信令的示例性信令图,

图3示出用户应用与听力设备之间的信令的示例性信令图,

图4是根据本发明的示例性方法的流程图,

图5是根据本发明的示例性方法的流程图,

图6是根据本发明的示例性方法的流程图,

图7是根据本发明的示例性方法的流程图,

图8是根据本发明的示例性方法的流程图,以及

图9示意性地示出示例性听力设备。

附图标记列表:

2 听力系统

4 服务器设备

6 听力设备系统

8 听力设备

10 用户附属设备

12 用户应用

20 第一通信链路

22 第二通信链路

24 天线

26 无线电收发器

28 第一麦克风

30 第二麦克风

32 处理单元

34 接收器

36 处理单元

38 存储器单元

40 接口

100、100A 信令图

102 读消息

104 第一认证数据

106 读响应消息

107 密钥交换信令

108 第一认证请求

110 认证接受消息

112 读消息

114 第二认证材料

116 读响应消息

118 第二认证请求

120 认证响应

122 连接信令

200、200A、200B 在听力设备与用户应用之间创建可信绑定的方法

202 获取第一认证材料

202a 获取模块

203 获取安全数据

203A 确定第一认证数据

203B 确定第一公密

203C 基于第一公密确定第一认证数据

203D 确定应用会话密钥并且基于应用会话密钥计算第一认证数据

204 发送第一认证请求

204a 发送模块

206 接收认证响应

206a 接收模块

208 存储认证密钥和认证密钥标识符

208a 存储模块

210 将用户应用连接至听力设备

211 计算认证密钥

212 验证安全数据和/或第一认证材料

214 结束

214A 提供错误消息

216 验证认证响应

218 接收认证接受消息

220 获取第二认证材料

222 确定第二认证数据

222A 基于第二认证材料确定第二公密

222B 基于第二公密确定第二认证数据

222C 确定辅应用会话密钥并且基于辅应用会话密钥计算第二认证数据

224 获取密码

226 获取听力设备的公钥

300 在听力设备中进行的在听力设备与用户应用之间创建可信绑定的方法

302 发送安全数据

302a 发送模块

304 发送第一认证材料

304a 发送模块

306 接收第一认证请求

306a 接收模块

308 验证第一认证数据和/或第一认证类型标识符

308a 验证模块

310 确定并存储认证密钥

310a 确定和存储模块

312 验证成功?

314 发送听力设备的公钥

316 启动定时器

318 超时?

320 删除或重写暂时性存储器中的认证密钥

322 接收到读消息?

324 发送第二认证材料

326 接收第二认证请求

328 验证第二认证数据

329 将认证密钥存储在认证密钥存储部中

330 生成并发送认证响应

332 从听力设备的存储器单元中检索密码

334 基于密码验证第一认证数据

336 发送认证响应

350 处理单元

352 存储器单元

354 接口。

具体实施方式

以下参考相关附图描述各种示例性实施例和细节。应当注意,附图可以或可以不按比例绘制,并且在整个附图中,类似结构或功能的元件由类似附图标记表示。还应当理解,附图仅旨在便于实施例的描述。它们不旨在作为对本发明的详尽描述或作为对本发明的范围的限制。另外,所示实施例不需要示出所有方面或优点。结合特定实施例描述的方面或优点不一定限于该实施例,并且即使未示出或未明确描述,也可以在任何其它实施例中实践。

本发明涉及听力系统通信中的改善的安全性,具体地,涉及安装有用户应用的用户附属设备与听力设备之间的通信中的改善的安全性。本发明涉及对于重播攻击、未经授权的访问、电池耗尽攻击和中间人攻击具有鲁棒性的有效的听力系统通信。

本发明旨在,当用户应用第一次想要创建至听力设备的连接时,用于初始认证。重要优点在于,后续配对是安全和有效的,例如,可以在无需用户交互的情况下进行。

如本文所使用的,术语“标识符”是指用于识别(例如分类和/或唯一识别)的数据片段。标识符可以是字、数字、字母、符号、列表、数组或其任何组合的形式。例如,作为数字的标识符可以是整数形式,例如长度为8位、16位、32位或以上的无符号整数uint,例如无符号整数的数组。标识符可以具有若干字节的长度。例如,听力设备标识符可以具有20字节的长度。

本文使用的静态字符串可以是一串字符,例如4至16个字符。

本文使用的哈希函数HASH可以是任何合适的哈希函数,例如SHA-1、SHA-2、SHA-3、MD5或其他哈希函数。

用户附属设备包括分别连接至处理单元的存储器单元和接口。存储器单元可以包括可移动和不可移动的数据存储单元,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)等。存储器单元存储有用户应用。接口包括天线和无线收发器,例如,配置为用于2.4至2.5GHz频率范围内的无线通信。接口可以配置为用于与包括天线和无线收发器的听力设备进行通信,例如无线通信。

本发明涉及在用户附属设备与听力设备之间的容易且安全的配对。用户附属设备形成听力设备的附属设备。听力设备可以是助听器,例如耳后(BTE)式、耳内(ITE)式、入耳(ITC)式、耳道内接收器(RIC)式或耳内接收器(RITE)式。通常,听力设备和用户附属设备由听力设备使用者拥有并控制。

方法和设备在听力设备与用户应用之间创建可信绑定,从而降低用户应用与听力设备之间的后续认证过程的复杂性。

用户应用中进行的方法包括或第一认证材料在一个或多个示例性方法中,获取第一认证材料可以包括从听力设备接收第一认证材料,例如,响应于用户应用向听力设备发送消息。第一认证材料可以包括听力设备标识符和/或第一听力设备质询值(challenge value)。

用户应用中进行的方法可以包括基于第一认证材料来确定第一认证数据。用户应用中进行的方法可以包括基于第一认证材料来确定第一公密。第一公密可以基于应用密钥材料。第一认证数据可以基于第一公密。

在用户应用中进行的方法包括将包括第一认证类型标识符和/或第一认证数据的第一认证请求发送至听力设备。第一认证类型标识符指示在本认证中使用的认证的类型。使用第一认证类型标识符有助于使用不同的初始认证方案,例如,由听力设备确定。

在用户应用中进行的方法包括接收包括认证密钥标识符的认证响应。认证响应可以包括听力设备认证数据。认证响应可以包括指示认证状态的认证状态标识符。在用户应用中进行的方法可以包括验证认证响应,例如,通过验证听力设备认证数据和/或认证状态标识符。验证听力设备认证数据可以包括:例如,基于第一公密和/或静态字符串,确定听力设备会话密钥,以及基于听力设备会话密钥验证听力设备认证数据。

听力设备会话密钥HD_SK可以给出为:

HD_SK=HASH(CS_1,HD_SK_STRING),

其中,HASH是哈希函数,CS_1是第一公密,HD_SK_STRING是静态字符串。

在用户应用中进行的方法包括:可选地,如果成功验证听力设备认证数据,则存储认证密钥和认证密钥标识符,其中,认证密钥基于第一认证材料。

在用户应用中进行的方法可以包括验证认证响应。如果成功验证认证响应,则可以进行存储认证密钥和认证密钥标识符和/或使用认证密钥和认证密钥标识符将用户应用连接至听力设备的动作中的一个或多个。

而且,在用户应用中进行的方法包括:可选地,如果成功验证听力设备认证数据/认证响应,则使用认证密钥和认证密钥标识符将用户应用连接至听力设备。将用户应用连接至听力设备可以包括:发送包括认证密钥标识符的第一认证请求、基于作为存储在用户应用中的密钥材料的存储的认证密钥的第一认证数据以及可选的指示第三认证类型的第一认证类型标识符。

第一认证数据可以基于第一公密。在用户应用中进行的方法可以包括,例如,作为确定第一认证数据的一部分,例如,基于第一公密和/或静态字符串,确定应用会话密钥,并且基于应用会话密钥计算第一认证数据。

例如,如果第一认证类型标识符指示主认证类型,则第一公密CS_1可以给出为:

CS_1=HASH(HD_KEY,HD_CHALLENGE_1),

其中,HASH是哈希函数,HD_KEY是听力设备密钥,例如,基于听力设备标识符,以及HD_CHALLENGE_1是第一听力设备质询值。

听力设备密钥HD_KEY可以给出为:

HD_KEY=HASH(HD_ID,APP_KEY),

其中,HASH是哈希函数,HD_ID是听力设备标识符,APP_KEY是存储在用户应用中的密钥材料。听力设备密钥还被发现或存储在听力设备中,从而使得听力设备能够计算第一公密。

应用会话密钥APP_SK可以给出为:

APP_SK=HASH(CS_1,APP_SK_STRING),

其中,HASH是哈希函数,CS_1是第一公密,APP_SK_STRING是静态字符串。

APP_SK_STRING可以与HD_SK_STRING不同或相同。因此,应用会话密钥和听力设备会话密钥可以是相同或不同的密钥。

第一认证数据AD_1可以给出为:

AD_1=AES_COUNTER(APP_SK,APP_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,APP_SK是应用会话密钥,APP_S_STRING是静态字符串。因此,可以基于第一公密通过利用应用会话密钥加密静态字符串来生成第一认证数据。

可以通过对应用会话密钥和/或静态字符串应用哈希函数来生成第一认证数据AD_1。

用户应用中进行的方法可以包括基于第一认证材料来确定或计算认证密钥。认证密钥可以基于第一公密。

认证密钥AUTH_KEY可以给出为:

AUTH_KEY=HASH(CS_1,AUTH_KEY_STRING),

其中,HASH是哈希函数,CS_1是第一公密,AUTH_KEY_STRING是静态字符串。

用户应用中进行的方法可以包括从听力设备获取安全数据。第一认证类型标识符可以基于安全数据。从而允许用户应用和听力设备应用不同类型的认证,例如,如在听力设备的适配期间选择的。来自听力设备的安全数据可以包括指示要在用户应用中应用/由听力设备接受的认证的类型标识符。安全数据可以包括使得用户应用能够验证用户应用是否支持与听力设备进行通信的密钥材料标识符。

安全数据可以指示主认证类型。在用户应用中进行的方法可以包括:可选地接收认证接受消息;可选地响应于接收到认证接受消息,获取第二认证材料,例如,包括第二听力设备质询值和/或听力设备标识符;基于第二认证材料确定第二认证数据;以及可选地,如果安全数据指示主认证类型,则向听力设备发送包括第二认证类型标识符和/或第二认证数据的第二认证请求。可选地,如果安全数据指示主认证类型,则在用户应用中进行的方法可以包括进行主认证方案。

第二认证数据可以基于第二公密。在用户应用中进行的方法可以包括,例如,作为确定第二认证数据的一部分,例如,基于第二公密和/或静态字符串,确定辅应用会话密钥,以及基于应用会话密钥计算第二认证数据。

第二认证数据AD_2可以给出为:

AD_2=AES_COUNTER(APP_SK_2,APP_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,APP_SK_2是辅应用会话密钥,APP_S_STRING是静态字符串。因此,例如,基于第二公密,第二认证数据可以通过利用辅应用会话密钥加密静态字符串来生成。

可以通过对辅应用会话密钥和/或静态字符串应用哈希函数来生成第二认证数据AD_2。

第二公密CS_2可以给出为:

CS_2=HASH(HD_KEY,HD_CHALLENGE_2),

其中,HASH是哈希函数,HD_KEY是听力设备密钥,例如,基于听力设备标识符,并且HD_CHALLENGE_2是第二听力设备质询值。

辅应用会话密钥APP_SK_2可以给出为:

APP_SK_2=HASH(CS_2,APP_SK_STRING),

其中,HASH是哈希函数,CS_2是第二公密,APP_SK_STRING是静态字符串。

验证听力设备认证数据可以包括:例如,基于第二公密和/或静态字符串,确定辅听力设备会话密钥,以及基于辅听力设备会话密钥验证听力设备认证数据。

辅听力设备会话密钥HD_SK_2可以给出为:

HD_SK_2=HASH(CS_2,HD_SK_STRING),

其中,HASH是哈希函数,CS_2是第二公密,HD_SK_STRING是静态字符串。

安全数据可以指示辅认证类型。可选地,如果安全数据指示辅认证类型,则在用户应用中进行的方法可以包括进行与第一认证方案不同的第二认证方案。可选地,如果安全数据指示辅认证类型,则在用户应用中进行的方法可以包括从用户应用的使用者获取密码并基于密码创建第一认证请求,例如,第一认证数据。从用户应用的使用者获取密码可以包括经由运行用户应用的用户附属设备的用户界面来接收密码。认证密钥可以基于密码。

例如,如果第一认证类型标识符指示辅认证类型,则第一公密CS_1可以给出为:

CS_1=HASH(HASH(HD_KEY,HD_CHALLENGE_1),PASSCODE_INFO),

其中,HASH是哈希函数,HD_KEY是听力设备密钥,例如,基于听力设备标识符,HD_CHALLENGE_1是第一听力设备质询值,PASSCODE_INFO基于用户输入的密码。密码信息PASSCODE_INFO可以给出为:

PASSCODE_INFO=HASH(HD_ID,PASSCODE_STR),

其中,HASH是哈希函数,HD_ID是听力设备标识符,并且PASSCODE_STR是具有由用户输入的密码的字符串。

在用户应用中进行的方法可以包括获取听力设备的公钥。认证密钥和/或第一认证数据可以基于听力设备的公钥。第一公密可以基于听力设备的公钥。听力设备的公钥可以是Diffie-Hellman公钥。在用户应用中进行的方法可以包括将用户应用的公钥发送至听力设备。第一公密可以基于听力设备的公钥和用户应用的公钥。使第一认证数据基于听力设备和用户应用的公钥,可以保护密码。

例如,如果第一认证类型标识符指示主认证类型,则第一公密CS_1可以给出为:

CS_1=HASH(HASH(HD_KEY,HD_CHALLENGE_1),DH_SECRET),

其中,HASH是哈希函数,HD_KEY是听力设备密钥,例如,基于听力设备标识符,HD_CHALLENGE_1是第一听力设备质询值,DH_SECRET是从听力设备和用户应用的公钥导出的Diffie-Hellman算法的公密。

例如,如果第一认证类型标识符指示主认证类型,则第二公密CS_2可以给出为:

CS_2=HASH(HASH(HD_KEY,HD_CHALLENGE_2),AUTH_KEY),

其中,HASH是哈希函数,HD_CHALLENGE_2是第二听力设备质询值,AUTH_KEY是存储在暂时性存储器中的认证密钥,并且给出为:

AUTH_KEY=HASH(CS_1,AUTH_KEY_STRING)。

例如,如果第一认证类型标识符指示辅认证类型,则第一公密CS_1可以给出为:

CS_1=HASH(HASH(HASH(HD_KEY,HD_CHALLENGE_1),PASSCODE_INFO),DH_SECRET)

其中,HASH是哈希函数,HD_KEY是听力设备密钥,例如,基于听力设备标识符,HD_CHALLENGE_1是第一听力设备质询值,PASSCODE_INFO基于用户输入的密码,DH_SECRET是从听力设备和用户应用的公钥导出的Diffie-Hellman算法的公密。密码信息PASSCODE_INFO可以给出为:

PASSCODE_INFO=HASH(HD_ID,PASSCODE_STR),

其中,HASH是哈希函数,HD_ID是听力设备标识符,并且PASSCODE_STR是具有由用户输入的密码的字符串。

本发明还提供一种在听力设备中进行的在听力设备与用户应用之间创建可信绑定的方法。

在听力设备中进行的方法可以包括发送听力设备的安全数据,其中,安全数据可选地指示在听力设备中应用的认证类型。

在听力设备中进行的方法可以包括使用认证密钥和认证密钥标识符将用户应用连接至听力设备。

在听力设备中进行的方法包括发送第一认证材料。第一认证材料可以包括听力设备标识符和/或第一听力设备质询值。在听力设备中进行的方法可以包括从存储器单元检索听力设备标识符和/或生成第一听力设备质询值,例如,作为随机或伪随机值。在听力设备中进行的方法可以包括将第一听力设备质询值存储在听力设备中。

在听力设备中进行的方法包括接收包括第一认证类型标识符和/或第一认证数据的第一认证请求。第一认证类型标识符指示用户应用正在使用哪种类型的认证。

在听力设备中进行的方法包括验证第一认证数据。在听力设备中验证第一认证数据可以基于第一认证材料,例如,听力设备标识符和/或第一听力设备质询值。

在听力设备中进行的方法包括:如果成功验证第一认证数据,则确定并存储认证密钥,例如,存储在听力设备的存储器单元中的暂时性存储器和/或认证密钥存储部中。

安全数据可以指示主认证类型。如果安全数据指示主认证类型和/或成功验证第一认证数据,则在听力设备中进行的方法可以包括:发送认证接受消息;可选地响应于从用户应用接收到读消息,发送包括第二听力设备质询值的第二认证材料;以及接收包括第二认证类型标识符和/或第二认证数据的第二认证请求。

在听力设备中进行的方法可以包括:验证第二认证数据,并且可选地,如果成功验证第二认证数据,则发送包括指示听力设备中的认证密钥的认证密钥标识符的认证响应。在听力设备中验证第二认证数据可以基于第二认证材料,例如,听力设备标识符和/或第二听力设备质询值。

认证响应可以包括听力设备认证数据。在听力设备中进行的方法可以包括:取决于认证类型,基于例如第一公密和/或第二公密的公密来确定听力设备认证数据。

听力设备认证数据HD_AD可以给出为:

HD_AD=AES_COUNTER(HD_SK,HD_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,HD_SK是听力设备会话密钥,HD_S_STRING是静态字符串。因此,可以基于第一公密通过利用听力设备会话密钥加密静态字符串来生成听力设备认证数据。

听力设备认证数据HD_AD可以给出为:

HD_AD=AES_COUNTER(HD_SK_2,HD_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,HD_SK_2是辅听力设备会话密钥,HD_S_STRING是静态字符串。因此,可以基于第二公密通过利用辅听力设备会话密钥加密静态字符串来生成听力设备认证数据。

可以通过对听力设备会话密钥、辅听力设备会话密钥和/或静态字符串应用哈希函数来生成听力设备认证数据。

在听力设备中进行的方法可以包括:可选地,如果成功验证第一或第二认证数据,则可以将认证密钥存储在听力设备的存储器单元中的认证密钥存储部中。认证密钥存储部可以包括或具有用于听力设备认证与不同用户应用或其他实体的通信所使用的多个认证密钥的空间。存储在认证密钥存储部中的每一个认证密钥都具有对应的认证密钥标识符。

在听力设备中进行的方法可以包括:如果成功验证第一认证数据,则启动定时器。在听力设备中进行的方法可以包括:如果定时器达到定时器阈值,则例如,在暂时性存储器中,删除或重写认证密钥。在听力设备中进行的方法可以包括:可选地,响应于第二认证数据的成功验证,停止和/或重置定时器。在听力设备中进行的方法可以包括:响应于从用户应用接收到读消息或响应于从用户应用接收到第二认证请求,停止和/或重置定时器。

在听力设备中进行的方法可以包括:如果验证第二认证数据失败,则例如,在暂时性存储器中,删除或重写认证密钥。

安全数据可以指示辅认证类型。可选地,如果安全数据指示辅认证类型,则在听力设备中进行的方法可以包括例如从听力设备的存储器单元中检索密码;基于密码验证第一认证数据;以及如果成功验证第一认证数据,则发送包括指示听力设备中的认证密钥的认证密钥标识符的认证响应。例如,如果安全数据指示辅认证类型,则在听力设备中进行的方法可以包括:例如,如果成功验证第一认证数据,则确定并存储认证密钥,例如,存储在听力设备的存储器单元中的认证密钥存储部中。

在听力设备中进行的方法可以包括使用认证密钥和认证密钥标识符将用户应用连接至听力设备。将用户应用连接至听力设备可以包括:接收包括认证密钥标识符和可选的指示第三认证类型的第一认证类型标识符的第一认证请求。

关于在用户应用中进行的方法所描述的特征也可以应用于在听力设备中进行的方法。具体地,用于认证数据验证的公密的计算优选地在听力设备和用户应用中以相同的方式进行。

本发明还涉及一种用于用户附属设备的用户应用。用户附属设备可以是智能电话、智能手表或平板计算机。用户应用在安装在用户附属设备上时,配置为在听力设备与用户应用之间创建可信绑定。

本发明的方法和设备在本文所公开的可信绑定的初始创建之后能够实现听力设备与用户应用之间的简单和安全的连接。因此,可信绑定创建之后,可以避免或至少显著减少处理繁重的认证过程。

即,本文公开的方法、用户应用和听力设备能够实现通过实施适当的保护措施和对策(例如安全机制)而对安全威胁、漏洞和攻击具有鲁棒性从而抵御威胁和攻击的听力系统通信。

为了清楚起见,附图是示意性的和简化的,并且它们仅仅示出对于理解本发明所必需的细节,而其余细节已被省略。在整个附图中,相同的附图标记用于相同或对应的部分。

图1示出示例性听力系统。听力系统2包括服务器设备4以及包括听力设备8和用户附属设备10的听力设备系统6。用户附属设备10可以是配置成与听力设备8无线通信的智能电话。用户应用12安装在用户附属设备10上。用户应用可以用于控制听力设备8和/或辅助听力设备使用者。在一个或多个示例性用户应用中,用户应用12配置为将固件和/或听力设备设定传送至听力设备。在一个或多个示例性用户应用中,用户应用12配置为控制听力设备的操作参数,例如音量、程序等。

听力设备8可以配置为补偿听力设备8的使用者的听力损失。听力设备8配置为与用户附属设备10/用户应用12进行通信,例如,使用无线和/或有线的第一通信链路20。第一通信链路20可以是单跳通信链路或多跳通信链路。可以通过例如蓝牙、蓝牙低能量、IEEE 802.11和/或ZigBee的短距离通信系统来承载第一通信链路20。

听力设备8包括接口,其包括天线24和耦合至天线24的无线电收发器26,用于接收/发送包括第一通信链路20的无线通信。听力设备8包括一组麦克风,其包括第一麦克风28和可选的第二麦克风30,用于提供相应的第一和第二麦克风输入信号。听力设备8可以是单麦克风听力设备。听力设备8包括连接至处理单元32的存储器单元(未示出)。听力设备8包括连接至收发器26和麦克风28、30的处理单元32,用于接收和处理输入信号。处理单元32配置为基于听力设备设定来补偿使用者的听力损失,并且基于输入信号提供电输出信号。接收器34将电输出信号转换为音频输出信号以引导向听力设备使用者的耳膜。

用户附属设备10包括处理单元36、存储器单元38、接口40。用户应用12安装在用户附属设备10的存储器单元38中,并且当在用户附属设备上运行时,配置为:例如,利用获取模块202a,获取第一认证材料;例如,利用发送模块204a,将包括第一认证类型标识符和第一认证数据的第一认证请求发送至听力设备;例如,利用接收模块206a,接收包括认证密钥标识符的认证响应;例如,利用存储模块208a,存储认证密钥和认证密钥标识符,其中,认证密钥基于第一认证材料;以及例如,利用连接模块210a,使用认证密钥和认证密钥标识符将用户应用连接至听力设备。连接模块210a也可以用于与服务器设备进行连接,例如,经由第二通信链路22。

图2示出用户应用12与听力设备8之间的示例性信令图100,其示出根据主认证类型在听力设备与用户应用之间创建可信绑定的示例性方法。

用户应用12通过将读消息102发送至听力设备来获取包括听力设备标识符HD_ID和第一听力设备质询值HD_CHALLENGE_1的第一认证材料。听力设备生成第一听力设备质询值,将第一听力设备质询值存储在听力设备的存储器单元中,以及响应于从用户应用接收到读消息而在读响应消息106中将第一认证材料104发送至用户应用。

此外,用户应用和听力设备通过密钥交换信令107交换用于Diffie-Hellmann算法的公钥。在主认证类型中,可以省略密钥交换信令。

用户应用12确定第一认证数据AD_1,并在第一认证请求108中将第一认证类型标识符AUT_T_ID和第一认证数据AD_1发送至听力设备。第一认证类型标识符AUT_T_ID在指示主认证类型中的第一消息的第一认证请求108中。第一认证数据AD_1由下式给出:

AD_1=AES_COUNTER(APP_SK,APP_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,并且APP_S_STRING是静态字符串。

APP_SK是应用会话密钥,并且给出为:

APP_SK=HASH(CS_1,APP_SK_STRING),

其中,HASH是哈希函数,例如SHA-2,并且APP_SK_STRING是静态字符串。

CS_1是第一公密,并且给出为:

CS_1=HASH(HASH(HD_KEY,HD_CHALLENGE_1),DH_SECRET),

其中,HASH是诸如SHA-2的哈希函数,HD_KEY是听力设备密钥,HD_CHALLENGE_1是第一听力设备质询值,DH_SECRET是在密钥交换信令107期间从听力设备和用户应用的公钥导出的Diffie-Hellman算法的公密。用于确定CS_1的两个哈希函数可以是相同或不同的哈希函数。

HD_KEY是基于听力设备标识符的听力设备密钥,并且给出为:

HD_KEY=HASH(HD_ID,APP_KEY),

其中,HASH是哈希函数,HD_ID是听力设备标识符,APP_KEY是存储在用户应用中的密钥材料。

听力设备8接收第一认证请求108,并通过将AD_1与在听力设备中计算出的认证数据进行比较来验证第一认证数据AD_1。如果听力设备8成功验证第一认证数据,并且可选地,听力设备接受由第一认证类型标识符指示的主认证类型,则听力设备计算认证密钥,将认证密钥存储在暂时性存储器中,发送认证接受消息110,以及启动定时器。

假设听力设备在定时器达到时间阈值之前被重新启动,则在接收到认证接受消息之后,用户应用检测到听力设备再次可见,并且向听力设备发送读消息112以用于获取第二认证材料。听力设备生成第二听力设备质询值HD_CHALLENGE_2,将第二听力设备质询值存储在听力设备的存储器单元中,以及响应于从用户应用接收到读消息112而在读响应消息116中将第二认证材料114发送至用户应用。

当接收到读响应消息116时,用户应用12确定第二认证数据AD_2,并在第二认证请求118中将第一认证类型标识符AUT_T_ID和第二认证数据AD_2发送至听力设备。第一认证类型标识符AUT_T_ID在指示主认证类型中的第二消息的第二认证请求118中。第二认证数据AD_2由下式给出:

AD_2=AES_COUNTER(APP_SK_2,APP_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,并且APP_S_STRING是静态字符串。

APP_SK_2是辅应用会话密钥,并且给出为:

APP_SK_2=HASH(CS_2,APP_SK_STRING),

其中,HASH是哈希函数,例如SHA-2,并且APP_SK_STRING是静态字符串。

CS_2是第二公密,并且给出为:

CS_2=HASH(HASH(HD_KEY,HD_CHALLENGE_2),AUTH_KEY),

其中,例如SHA-2的HASH是哈希函数,HD_CHALLENGE_2是第二听力设备质询值,AUTH_KEY是认证密钥,并且给出为:

AUTH_KEY=HASH(CS_1,AUTH_KEY_STRING)。

HD_KEY再次是基于听力设备标识符的听力设备密钥,并且给出为:

HD_KEY=HASH(HD_ID,APP_KEY),

其中,HASH是例如SHA-2的哈希函数,HD_ID是听力设备标识符,APP_KEY是存储在用户应用中的密钥材料。再次,可以在用于确定辅应用会话密钥的不同步骤中使用相同或不同的哈希函数。

听力设备8接收第二认证请求118,并通过将AD_2与在听力设备中计算出的认证数据进行比较来验证第二认证请求/第二认证数据AD_2。如果定时器达到定时器阈值,则听力设备删除或重写认证密钥,从而防止在稍后时间点使用认证密钥进行连接。

如果听力设备8成功验证第二认证数据,则听力设备将来自暂时性存储器的认证密钥存储在具有相关联的认证密钥标识符的听力设备的存储器单元中的认证密钥存储部中,基于第二公钥确定听力设备认证数据,以及将包括听力设备认证数据HD_AD和认证密钥标识符AUTH_KEY_ID的认证响应120发送至用户应用12。

听力设备认证数据HD_AD给出为:

HD_AD=AES_COUNTER(HD_SK_2,HD_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,HD_SK_2是基于第二公密CS_2的辅听力设备会话密钥,HD_S_STRING是静态字符串。

辅听力设备会话密钥HD_SK_2给出为:

HD_SK_2=HASH(CS_2,HD_SK_STRING),

其中,HASH是例如SHA-2的哈希函数,CS_2是第二公密,HD_SK_STRING是静态字符串。

因此,可以基于第二公密通过利用辅听力设备会话密钥加密静态字符串来生成听力设备认证数据。

用户应用12接收认证响应120,并且基于第二公密通过将HD_AD与在用户应用中计算出的认证数据进行比较来验证听力设备认证数据HD_AD,从而验证认证响应。如果成功验证认证响应,则用户应用计算认证密钥AUTH_KEY(如果之前未计算),并且根据认证响应存储认证密钥和认证密钥标识符AUTH_KEY_ID,以及通过连接信令122使用认证密钥AUTH_KEY和认证密钥标识符AUTH_KEY_ID连接至听力设备。

图3示出用户应用12与听力设备8之间的示例性信令图100A,其示出根据辅认证类型在听力设备与用户应用之间创建可信绑定的示例性方法。

用户应用12通过将读消息102发送至听力设备来获取包括听力设备标识符HD_ID和第一听力设备质询值HD_CHALLENGE_1的第一认证材料。听力设备生成第一听力设备质询值,将第一听力设备质询值存储在听力设备的存储器单元中,以及响应于从用户应用接收到读消息而在读响应消息106中将第一认证材料104发送至用户应用。

此外,用户应用和听力设备通过密钥交换信令107交换用于Diffie-Hellmann算法的公钥。

用户应用12通过经由运行用户应用的用户附属设备的用户界面接收密码来从用户应用获取密码,并基于密码创建包括第一认证数据的第一认证请求108。第一认证数据AD_1由下式给出:

AD_1=AES_COUNTER(APP_SK,APP_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,并且APP_S_STRING是静态字符串。

APP_SK是应用会话密钥,并且给出为:

APP_SK=HASH(CS_1,APP_SK_STRING),

其中,HASH是哈希函数,例如SHA-2,并且APP_SK_STRING是静态字符串。

CS_1是第一公密,并且给出为:

CS_1=HASH(HASH(HASH(HD_KEY,HD_CHALLENGE_1),PASSCODE_INFO),DH_SECRET)

其中,HASH是例如SHA-2的哈希函数,HD_KEY是基于听力设备标识符的听力设备密钥,HD_CHALLENGE_1是第一听力设备质询值,PASSCODE_INFO基于用户输入的密码,DH_SECRET是从听力设备和用户应用的公钥导出的Diffie-Hellman算法的公密。密码信息PASSCODE_INFO给出为:

PASSCODE_INFO=HASH(HD_ID,PASSCODE_STR),

其中,HASH是例如SHA-2哈希函数,HD_ID是听力设备标识符,并且PASSCODE_STR是具有由用户输入的密码的字符串。

HD_KEY是基于听力设备标识符的听力设备密钥,并且给出为:

HD_KEY=HASH(HD_ID,APP_KEY),

其中,HASH是例如SHA-2的哈希函数,HD_ID是听力设备标识符,APP_KEY是存储在用户应用中的密钥材料。再次,可以在用于确定辅应用会话密钥和/或第一公密的不同步骤中使用相同或不同的哈希函数。

听力设备8接收第一认证请求108,并且例如在适配或听力设备更新期间,基于存储在听力设备的存储器单元中的密码信息通过比较AD_1与在听力设备中计算的认证数据,来验证第一认证数据AD_1。如果听力设备8成功验证第一认证数据,并且可选地,听力设备接受由第一认证类型标识符指示的辅认证类型,则听力设备计算认证密钥,将具有相关联的认证密钥标识符的认证密钥存储在存储器单元中,确定听力设备认证数据,以及将包括听力设备认证数据HD_AD和认证密钥标识符AUTH_KEY_ID的认证响应120发送至用户应用12。

听力设备认证数据HD_AD给出为:

HD_AD=AES_COUNTER(HD_SK,HD_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,HD_SK是基于第一公密CS_1的听力设备会话密钥,HD_S_STRING是静态字符串。因此,可以基于第一公密通过利用听力设备会话密钥加密静态字符串来生成听力设备认证数据。

用户应用12接收认证响应120,并且基于第一公密通过将HD_AD与在用户应用中计算出的认证数据进行比较来验证听力设备认证数据HD_AD,从而验证认证响应。如果成功验证认证响应,则用户应用计算认证密钥AUTH_KEY(如果之前未计算),并且根据认证响应存储认证密钥和认证密钥标识符AUTH_KEY_ID,以及通过连接信令122使用认证密钥AUTH_KEY和认证密钥标识符AUTH_KEY_ID连接至听力设备。

图4示出在用户应用中进行的在听力设备与用户应用之间创建可信绑定的示例性方法。方法200包括:例如,利用获取模块202a,获取202第一认证材料,第一认证材料包括听力设备标识符和第一听力设备质询值。方法200可选地包括:例如,利用获取模块202a,获取203听力设备的安全数据,安全数据包括指示要在用户应用中应用的认证的类型标识符和使得用户应用能够验证用户应用是否支持与听力设备的通信的密钥材料标识符。方法200继续进行,确定203A第一认证数据,并且例如,利用发送模块204a,将包括第一认证类型标识符和第一认证数据的第一认证请求发送204至听力设备。确定203A第一认证数据可选地包括基于第一认证材料确定203B第一公密,并且可选地基于第一公密确定203C第一认证数据,例如,如关于图2所述。确定203A第一认证数据可选地包括:例如,基于第一公密,确定203D(例如,作为203C的一部分)应用会话密钥,并且可选地基于应用会话密钥计算第一认证数据。第一认证请求包括基于在203中获取的安全数据的第一认证类型标识符。

方法200包括:例如,利用接收模块206a接收206包括认证密钥标识符的认证响应,并且例如,利用存储模块208a存储208认证密钥和认证密钥标识符,其中,认证密钥基于第一认证材料。此外,方法200包括:例如,利用连接模块210a,使用认证密钥和认证密钥标识符将用户应用连接210至听力设备。方法200包括基于第一认证材料来计算211认证密钥,例如,作为203A或208的一部分。方法可以包括获取226听力设备的公钥。在一个或多个示例性方法中,可以在获取202第一认证材料之前或之后进行获取听力设备的公钥。确定203A第一认证数据可以基于听力设备和用户应用的公钥,例如,使用如前所述的Diffie-Helmann方案。

图5示出在用户应用中进行的在听力设备与用户应用之间创建可信绑定的示例性方法。方法200A包括使用相同的附图标记的结合图4描述的动作。如果不是从202直接进行到203A,则方法200A可选地包括验证212安全数据和/或第一认证材料。如果验证安全数据和/或第一认证材料,则方法200A进行到图4中更详细示出和描述的203A。如果验证212失败,则方法200A终止214,例如,包括在用户应用中提供214A误差消息。

如果不是从206直接进行到208,则方法200A可选地包括验证216认证响应。如果成功验证认证响应,则进行存储208认证密钥和认证密钥标识符以及使用认证密钥和认证密钥标识符将用户应用连接210至听力设备的动作。取决于认证类型,验证认证响应基于第一公密和/或第二公密。

图6示出在用户应用中进行的在听力设备与用户应用之间创建可信绑定的示例性方法。在203中获取的安全数据指示主认证类型,并且用户应用相应地进行操作。步骤203A与关于图4的方法200所描述的相同。方法200B包括接收218认证接受消息,例如,认证接受消息110。认证接受消息指示听力设备已经接受第一认证请求(例如,第一认证请求108)的第一认证数据/第一认证类型标识符。方法200B继续进行以获取220包括第二听力设备质询值和/或听力设备标识符的第二认证材料,并且基于第二认证材料确定222第二认证数据。确定222第二认证数据可选地包括:基于第二认证材料确定222A第二公密,以及可选地基于第二公密确定222B第二认证数据,如关于图2所描述的。确定222第二认证数据可选地包括:例如,基于第二公密,确定222C(例如,作为222B的一部分)辅应用会话密钥,以及可选地基于辅应用会话密钥计算第二认证数据。方法200B包括向听力设备发送224包括第一认证类型标识符和第二认证数据的第二认证请求,第一认证类型标识符指示用于主认证类型的第二认证请求。在方法200B中,验证216认证响应基于第二公密。

图7示出在用户应用中进行的在听力设备与用户应用之间创建可信绑定的示例性方法。在203中获取的安全数据指示辅认证类型,并且用户应用相应地进行操作。方法200C包括:通过经由运行用户应用的用户附属设备的用户界面接收密码来从用户应用的使用者获取224密码。确定203A基于用户输入的密码,并且确定211认证密钥(参见图4)基于密码。方法200C包括获取226听力设备的公钥。

在方法200C的步骤203A中,第一认证数据AD_1给出为:

AD_1=AES_COUNTER(APP_SK,APP_S_STRING),

其中,AES_COUNTER是计数器模式下的AES加密,APP_SK是应用会话密钥,APP_S_STRING是静态字符串,并且其中,应用会话密钥APP_SK给出为:

APP_SK=HASH(CS_1,APP_SK_STRING),

其中,HASH是哈希函数,CS_1是第一公密,APP_SK_STRING是静态字符串。

第一个公密CS_1在示例性方法200C中给出为:

CS_1=HASH(HASH(HASH(HD_KEY,HD_CHALLENGE_1),PASSCODE_INFO),DH_SECRET)

其中,HASH是哈希函数,HD_KEY是听力设备密钥,例如,基于听力设备标识符,HD_CHALLENGE_1是第一听力设备质询值,PASSCODE_INFO基于用户输入的密码,DH_SECRET是从听力设备和用户应用的公钥导出的Diffie-Hellman算法的公密。密码信息PASSCODE_INFO给出为:

PASSCODE_INFO=HASH(HD_ID,PASSCODE_STR),

其中,HASH是哈希函数,HD_ID是听力设备标识符,并且PASSCODE_STR是具有由用户输入的密码的字符串。

听力设备密钥HD_KEY给出为:

HD_KEY=HASH(HD_ID,APP_KEY),

其中,HASH是哈希函数,HD_ID是听力设备标识符,APP_KEY是存储在用户应用中的密钥材料。听力设备密钥和PASSCODE_STR/PASSSCODE_INFO也被发现或存储在听力设备中,从而使得听力设备能够计算第一公密并验证第一认证数据。

图8示出在听力设备中进行的在听力设备与用户应用之间创建可信绑定的示例性方法。方法300包括:例如,利用发送模块302a发送302听力设备的安全数据,其中,安全数据指示在听力设备中应用的认证类型;例如,利用发送模块304a发送304包括听力设备和第一听力设备质询值的第一认证材料;例如,利用接收模块306a接收306包括第一认证类型标识符和第一认证数据的第一认证请求;例如,利用验证模块308a验证308第一认证数据和/或第一认证类型标识符;以及例如,如果成功验证312第一认证数据,则利用确定和存储模块310a确定并存储310认证密钥。方法300可选地包括将听力设备的公钥发送314至用户应用。如果听力设备进行主认证,则将步骤310中的认证密钥存储在暂时性存储器中,并且方法300继续进行以发送315认证接受消息,并启动316定时器。如果在318中定时器超时,即,定时器达到定时器阈值,则方法继续进行到删除或重写暂时性存储器中的认证密钥并且中止在听力设备与用户应用之间创建可信绑定的步骤320。否则,方法继续进行以确定322是否已经接收读消息。如果已经接收到读消息,则方法300继续进行以发送324包括第二听力设备质询值的第二认证材料,并接收326包括第二认证类型标识符和第二认证数据的第二认证请求。方法300包括:基于存储在暂时性存储器中的认证密钥来验证328第二认证数据;并且将认证密钥存储329在具有相关联的认证密钥标识符的认证密钥存储部中;以及如果成功验证328第二认证数据,则生成并发送330包括指示听力设备中的认证密钥的认证密钥标识符的认证响应。生成并发送认证响应包括确定听力设备认证数据,其中,认证响应包括听力设备认证数据。

如果安全数据指示辅认证类型,则方法300继续进行以从听力设备的存储器单元检索332密码,并且基于密码验证334第一认证数据。如果在334中没有验证第一认证数据,则方法300中止在听力设备与用户应用之间创建可信绑定。此外,如果成功验证第一认证数据,则方法300包括发送336包括指示听力设备中的认证密钥的认证密钥标识符的认证响应。

图9示出示例性听力设备。听力设备8包括:处理单元350,包括发送模块302a、发送模块304a、接收模块306a、验证模块308a以及确定和存储模块310a。此外,听力设备包括存储单元352和接口354,其中,听力设备8配置为:例如,利用发送模块304a发送第一认证材料;例如,利用接收模块306a接收包括第一认证类型标识符和第一认证数据的第一认证请求;例如,利用验证模块308a验证第一认证数据;以及例如,如果成功验证第一认证数据,则利用确定和存储模块310a确定并存储认证密钥。

听力设备8可以布置为执行本文公开的方法的至少一部分。处理单元350还可以包括多个可选功的能模块,例如配置为进行步骤302的发送模块302a、配置为进行步骤304的发送模块304a、配置为进行步骤306的接收模块306a、配置为进行步骤308的验证模块308a以及配置为进行步骤310的确定和存储模块310a中的任何一个。总的来说,每一个功能模块都可以实施为硬件和/或软件。

使用词语“第一”、“第二”、“第三”和“第四”等并不意味着任何顺序,而是被包括以用于识别各个元件。此外,词语第一、第二等的使用不表示任何顺序或重要性,而是使用词语第一、第二等来区分一个元件与另一元件。请注意,这里和其他地方使用词语第一和第二,仅用于标注目的,并不旨在表示任何特定的空间或时间排序。此外,第一元件的标注并不意味着存在第二元件,反之亦然。

虽然已经示出和描述了特征,但是应当理解,它们并不旨在限制所要求保护的发明,并且对于本领域技术人员显而易见的是,可以在不脱离所要求保护的发明的精神和范围的情况下进行各种改变和修改。因此,说明书和附图被认为是说明性的而不是限制性的。所要求保护的发明旨在涵盖所有替代方案、修改和等同物。

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