嗨,我想在此参考设计中启用安全功能。我通过了所有步骤表单教程和软件部分指南。现在DA1485设备从手机询问了PIN码,但其所有服务都是免费的手机免费访问,并且可以在没有代码确认的情况下工作。
PS。当然,专有的应用程序DSP跳过连接,但我的一个可以在没有任何确认的情况下搭配和工作。
嗨Andrey_Kiselnikov,
你能澄清你使用哪个SDK?请注意,安全教程基于SDK 6.0.4。强烈建议使用最新版本的SDK6.0.8。
谢谢,PM_DIALOG.
我使用这个项目包中的SDK。在此项目附加的发布说明中写道,它基于SDK 6.0.6。
您好,您对此问题有任何更新吗?
您必须更改每个特征的许可才能被授权。如果您将特性设置为AUTH这意味着您将为特性添加安全性并需要授权。您能否澄清您使用的安全方案?请检查user_default_hnd_conf结构的.security_request_scenario到user_config.h标题文件中。使用def_sec_req_ne option选项在读/写的读/写期间需要授权,并且使用def_sec_req_on_connect在连接期间需要授权
我检查了这两种情况。使用def_sec_req_on_connect授权所需,但我可以通过设备跳过并读取和写入数据。使用def_sec_req_never,我可以在没有任何安全请求的情况下完成所有内容。此外,我在使用DA14580设备的论坛上发现了同样的问题(连接附加的链接)。https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...- 软件/仅限允许配对 - 请求 - PIN码
PS。通过选择参数“def_sec_req_never”,启用了读取和写入操作的安全请求非常奇怪。
您能从SDK6的默认BLE_APP_SECURY IDUCTION中下载固件吗?你面对同样的问题吗?我已经测试过,我无法复制你的问题。此外,如果您开发自己的应用程序,或者如果您尝试修改默认BLE_APP_SECURY示例,请澄清您是否可以澄清?def_sec_req_never称为安全方案,并不意味着在通过选择参数读取和写入操作时启用安全性。请注意,每个特征都有自己的安全性。请检查您是否使用app_set_prf_srv_perm(task_id_custs1,app_custs1_sec_req);命令。此命令启用所有特征的安全性并覆盖将它们放入数据库中的权限。所以,如果使用此,您将能够在没有任何安全请求的情况下访问数据库的所有特征。您发布的过去的线程适用于DA14680芯片而不是DA14580,因此这不会帮助您。
我使用DSPS V6.150.2参考项目(https://support.dialog-semicondiondiondum/resource/da14585-dialog-serial -...),而不是ble_app_security示例。因此,我需要在此参考项目中启用安全性。问题是,此参考设计提供了对配对请求的所有服务,但我启用了所有安全设置。
DSP参考应用程序不支持安全性,因此如果要使用此应用程序,则需要自己实现。正如我已经提到的那样,DSPS演示不使用安全功能,因此设备之间没有配对,这就是为什么您能够在不配对的情况下读取/写入该特征。您可以通过在da1458x_config_basic.h中设置cfg_app_security定义来启用安全性,并且还将成员Security_Request_scenario更改为def_sec_req_on_connect,以便在连接时请求安全性。这将根据位于User_Security_Information中的User_Config.h文件中的参数来绑定您的设备。请检查一下ble_app_security.为了了解如何实现安全功能的SDK示例。此外,我强烈建议您遵循这些步骤教程5:配对,粘接与安全“在DSP中启用安全性。您将能够在”教程“部分的”文档“选项卡中找到教程,也可以在以下链接以下
https://support.dialog-seminile.com/system/files/restricted/training_05_ble_security_example_v1.1.pdf.
在开始在论坛之前,我在上一篇文章中完成了所有这些步骤。问题是,在启用所有安全功能(根据培训5手册)后,以及软件部分指南的建议我有下一个情况:1.尝试将设备连接到电话后,该设备向手机应用程序发送配对请求2.我看到一个带有PIN码入口文本框的系统对话框窗口3.我可以跳过这个窗口,阅读和写作服务仍然可以从手机中获得
因此,我需要帮助更改user_app_callbacks结构或default_app_on_connection函数,因为它在获取代码交换过程的结果之前,它可以启用所有服务。
请从SDK的BLE_APP_SECURY示例中检查USER_APP_INIT()函数。如果定义了BLE_APP_SEC,则将执行app_set_prf_srv_perm(task_id_custs1,app_custs1_sec_req)。根据app_custs1_sec_req定义,此函数设置配置文件的服务权限访问权限。请您将App_custs1_sec_req更改为srv_perm_auth?似乎安全从配置文件数据库中禁用了安全性
此函数 - app_set_prf_srv_perm()在“DSPS-V61502”项目中,但从未执行,我应该在哪里添加它来执行?
嗨,有没有人?
3.我可以跳过这个窗口,阅读和写作服务仍然可以从手机中获得
如果拒绝配对,则应调用GapC_Bond_ind_Handler(),此功能将断开电话。
static const struct ke_msg_handler app_sec_process_handlers [] ={.......{gapc_bond_ind,(ke_msg_func_t)gapc_bond_ind_handler},
谢谢,但如果我输入错误的密钥,则该程序仅进入“GAPC_BOND_IND_HAND_HANDLER”中的“GAPC_PAIRING_FAILED:”。如果我在电话屏幕上逃脱这个窗口或忽略它,程序仍然可以工作。
嗨安德烈,
您可以在use_config.h中测试不同的IO功能类型。我认为您应该禁用用户在手机上转义配对窗口。你能用Light Bule来测试你的固件吗?
/ *************************************************************设备IO功能(@see gap_io_cap)** - 只显示GAP_IO_CAP_DISPLAY_ONLY* - GAP_IO_CAP_DISPLAY_YES_NO显示是否* - 仅限GAP_IO_CAP_KB_ONLY键盘* - GAP_IO_CAP_NO_INPUT_NO_OUTPUT无输入无输出* - GAP_IO_CAP_KB_DISPLAY键盘显示**仅选择一个选项。************************************************************* /#define user_cfg_feat_io_cap gap_io_cap_no_input_no_output // gap_io_cap_display_yes_no
测试它们,它仍然能够连接而不确认密钥。
我通过替换在密钥_succeed案例之后在安全任务状态机中替换发送功能消息功能来找到解决方案。
很高兴您的问题已得到修复。谢谢你的迹象。
嗨Andrey_Kiselnikov.
我想要在DSP上添加对功能,
你可以给我你的源代码吗?
嗨Andrey_Kiselnikov,
你能澄清你使用哪个SDK?请注意,安全教程基于SDK 6.0.4。强烈建议使用最新版本的SDK6.0.8。
谢谢,PM_DIALOG.
我使用这个项目包中的SDK。在此项目附加的发布说明中写道,它基于SDK 6.0.6。
您好,您对此问题有任何更新吗?
嗨Andrey_Kiselnikov,
您必须更改每个特征的许可才能被授权。如果您将特性设置为AUTH这意味着您将为特性添加安全性并需要授权。您能否澄清您使用的安全方案?请检查user_default_hnd_conf结构的.security_request_scenario到user_config.h标题文件中。使用def_sec_req_ne option选项在读/写的读/写期间需要授权,并且使用def_sec_req_on_connect在连接期间需要授权
谢谢,PM_DIALOG.
我检查了这两种情况。使用def_sec_req_on_connect授权所需,但我可以通过设备跳过并读取和写入数据。使用def_sec_req_never,我可以在没有任何安全请求的情况下完成所有内容。此外,我在使用DA14580设备的论坛上发现了同样的问题(连接附加的链接)。https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...- 软件/仅限允许配对 - 请求 - PIN码
PS。通过选择参数“def_sec_req_never”,启用了读取和写入操作的安全请求非常奇怪。
您好,您对此问题有任何更新吗?
嗨Andrey_Kiselnikov,
您能从SDK6的默认BLE_APP_SECURY IDUCTION中下载固件吗?你面对同样的问题吗?我已经测试过,我无法复制你的问题。此外,如果您开发自己的应用程序,或者如果您尝试修改默认BLE_APP_SECURY示例,请澄清您是否可以澄清?def_sec_req_never称为安全方案,并不意味着在通过选择参数读取和写入操作时启用安全性。请注意,每个特征都有自己的安全性。请检查您是否使用app_set_prf_srv_perm(task_id_custs1,app_custs1_sec_req);命令。此命令启用所有特征的安全性并覆盖将它们放入数据库中的权限。所以,如果使用此,您将能够在没有任何安全请求的情况下访问数据库的所有特征。您发布的过去的线程适用于DA14680芯片而不是DA14580,因此这不会帮助您。
谢谢,PM_DIALOG.
我使用DSPS V6.150.2参考项目(https://support.dialog-semicondiondiondum/resource/da14585-dialog-serial -...),而不是ble_app_security示例。因此,我需要在此参考项目中启用安全性。问题是,此参考设计提供了对配对请求的所有服务,但我启用了所有安全设置。
嗨Andrey_Kiselnikov,
DSP参考应用程序不支持安全性,因此如果要使用此应用程序,则需要自己实现。正如我已经提到的那样,DSPS演示不使用安全功能,因此设备之间没有配对,这就是为什么您能够在不配对的情况下读取/写入该特征。您可以通过在da1458x_config_basic.h中设置cfg_app_security定义来启用安全性,并且还将成员Security_Request_scenario更改为def_sec_req_on_connect,以便在连接时请求安全性。这将根据位于User_Security_Information中的User_Config.h文件中的参数来绑定您的设备。请检查一下ble_app_security.为了了解如何实现安全功能的SDK示例。此外,我强烈建议您遵循这些步骤教程5:配对,粘接与安全“在DSP中启用安全性。您将能够在”教程“部分的”文档“选项卡中找到教程,也可以在以下链接以下
https://support.dialog-seminile.com/system/files/restricted/training_05_ble_security_example_v1.1.pdf.
谢谢,PM_DIALOG.
在开始在论坛之前,我在上一篇文章中完成了所有这些步骤。问题是,在启用所有安全功能(根据培训5手册)后,以及软件部分指南的建议我有下一个情况:
1.尝试将设备连接到电话后,该设备向手机应用程序发送配对请求
2.我看到一个带有PIN码入口文本框的系统对话框窗口
3.我可以跳过这个窗口,阅读和写作服务仍然可以从手机中获得
因此,我需要帮助更改user_app_callbacks结构或default_app_on_connection函数,因为它在获取代码交换过程的结果之前,它可以启用所有服务。
嗨Andrey_Kiselnikov,
请从SDK的BLE_APP_SECURY示例中检查USER_APP_INIT()函数。如果定义了BLE_APP_SEC,则将执行app_set_prf_srv_perm(task_id_custs1,app_custs1_sec_req)。根据app_custs1_sec_req定义,此函数设置配置文件的服务权限访问权限。请您将App_custs1_sec_req更改为srv_perm_auth?似乎安全从配置文件数据库中禁用了安全性
谢谢,PM_DIALOG.
此函数 - app_set_prf_srv_perm()在“DSPS-V61502”项目中,但从未执行,我应该在哪里添加它来执行?
您好,您对此问题有任何更新吗?
嗨,有没有人?
嗨Andrey_Kiselnikov,
3.我可以跳过这个窗口,阅读和写作服务仍然可以从手机中获得
如果拒绝配对,则应调用GapC_Bond_ind_Handler(),此功能将断开电话。
static const struct ke_msg_handler app_sec_process_handlers [] =
{
.......
{gapc_bond_ind,(ke_msg_func_t)gapc_bond_ind_handler},
谢谢,但如果我输入错误的密钥,则该程序仅进入“GAPC_BOND_IND_HAND_HANDLER”中的“GAPC_PAIRING_FAILED:”。如果我在电话屏幕上逃脱这个窗口或忽略它,程序仍然可以工作。
嗨安德烈,
您可以在use_config.h中测试不同的IO功能类型。我认为您应该禁用用户在手机上转义配对窗口。
你能用Light Bule来测试你的固件吗?
/ ************************************************************
*设备IO功能(@see gap_io_cap)
*
* - 只显示GAP_IO_CAP_DISPLAY_ONLY
* - GAP_IO_CAP_DISPLAY_YES_NO显示是否
* - 仅限GAP_IO_CAP_KB_ONLY键盘
* - GAP_IO_CAP_NO_INPUT_NO_OUTPUT无输入无输出
* - GAP_IO_CAP_KB_DISPLAY键盘显示
*
*仅选择一个选项。
************************************************************
* /
#define user_cfg_feat_io_cap gap_io_cap_no_input_no_output // gap_io_cap_display_yes_no
测试它们,它仍然能够连接而不确认密钥。
我通过替换在密钥_succeed案例之后在安全任务状态机中替换发送功能消息功能来找到解决方案。
嗨Andrey_Kiselnikov,
很高兴您的问题已得到修复。谢谢你的迹象。
谢谢,PM_DIALOG.
嗨Andrey_Kiselnikov.
我想要在DSP上添加对功能,
你可以给我你的源代码吗?