使用挑战 - 响应方案进行身份验证

6个帖子/ 0新
最后一篇
razp.
离线
最后一次露面:1年7个月前
加入:2017-02-08 09:20
使用挑战 - 响应方案进行身份验证

你好,

我们的设备是我们希望在移动应用程序中与用户分享的信息来源,但我们想拥有这些信息,而不是让第三方写另一个移动应用程序并获取设备信息。为此目的,蓝牙定义了“安全”质询 - 响应身份验证:双方需要了解一些秘密字符串,只有两个都满足另一侧“知道”秘密,将允许允许连接。

我们使用SPS配置文件将信息传输到我们的移动应用程序。

1. SDK是否支持此功能?
2.如果是,如何启用它?

亲切的问候,
raz.

设备:
mt_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2015-06-08 11:34
嗨razp,

嗨razp,

1)如果您的意思是,您希望在580上的BLE规范定义的BLE安全性,那么是的,SDK支持它。

2)请注意,BLE安全性有很多选项,具有多个配对方法和安全性,请检查BLE规范以获取更多信息,另外请查看BLE_APP_SECURY示例以实现此类您的项目中的功能。

谢谢mt_dialog.

razp.
离线
最后一次露面:1年7个月前
加入:2017-02-08 09:20
嗨MT.

嗨MT.

如你提到,有很少几个选项。
我未能找到挑战 - 响应身份验证方案的任何引用。也许它被不同的名称引用,你能更具体吗?

亲切的问候,
raz.

P.S.
我假设此功能是在SDK代码中实现的,它是一个设置正确配置来激活它的问题。

mt_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2015-06-08 11:34
嗨razp,

嗨razp,

您必须更具体地满足您的要求,BLE规范提供的安全性是标准的,并且SDK支持BLE优惠的所有方案,我无法判断挑战 - 响应身份验证方案的完全相同你的要求是什么。

对安全概览的一些事情进行了总结,以便为您提供一些指导。如果激活BLE安全性,这意味着您的设备以交换数据,它们必须通过配对过程。因此,这意味着为了启动您的外围设备将在连接或设备将连接到中央的安全请求以及连接器的主站尝试以安全特性进行读取或写入时,访问将被拒绝拒绝访问或写入。必须通过配对方法(交换后续连接所需的键),或者他必须通过加密(如果设备先前配对,检查设备上存在的键是否匹配)。

BLE规范定义了3个安全级别,没有安全性,安全级别1和2.在安全级别1(我认为最适合您想要做的内容),您有两个选项,与加密和经过认证的配对进行加密,安全性1对BLE规范的加密认证配对意味着您必须为您的设备设置PIN或OOB数据代码,以便访问它并通过配对过程,因此BLE规范的身份验证是知道谁是谁在配对过程中另一侧的设备。一般而言,即使您使用Just Works方法(没有密钥条目),您只需与随机设备配对,您将能够实现挑战 - 响应身份验证方案,因为在每个后续连接上您将能够丢弃每个设备这不介绍在加密请求尝试中存储在外围设备中的EDIV和RAND键,以便重新恢复您存储的绑定数据。

在SDK和示例中,在某些示例中,您描述的方案在某些示例中没有完全实现,当您定义CFG_APP_Security时,包括安全处理程序(User_callback_config.h文件.app_pairing_request,.app_on_tk_exch_nomitm等)和函数在user_config.h文件中设置.security_request_scenario成员在user_config.h文件中,安全请求将发送到中央,设备通过配对过程,但您需要额外的实现来拒绝访问将请求连接的其他中心您必须设置安全设置。完整的安全示例是上面指示的例子。

谢谢mt_dialog.

razp.
离线
最后一次露面:1年7个月前
加入:2017-02-08 09:20
嗨MT,

嗨MT,

谢谢你的全面回应。
我们希望使用的身份验证方案在蓝牙核心规范Vol.2-5身份验证中定义。本节请参阅两种方案:“遗留身份验证”和“安全身份验证”。
我从查看SDK代码和写作的理解是没有实现这些身份验证方案。

1)是正确的吗?
2)您是否知道在SDK外部的此方案的任何实现?也许你的客户?
3)您是否知道是否在Android和iOS中实现了这些方案?

您的回复受到赞赏。
亲切的问候,
raz.

mt_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2015-06-08 11:34
嗨razp,

嗨razp,

1)关于安全身份验证,这是580不支持的东西,因为SoC系列使用的BLE堆栈仅使用4.2规格的强制性功能(它为4.2合格),这意味着安全连接aren'支持。关于遗留身份验证,这是自SDK支持的4.0规范以来,这是标准身份验证,因为在我的前一篇文章中提到了SDK。

2)关于在SDK上实施安全性和身份验证,我相信您已经通过教程5配对,绑定和安全性了解。

3)据我所知,大多数Android设备都支持这种方案(遗留安全性)。

谢谢mt_dialog.