尽管有rfcomm安全设置,但Bluez hcidump仍然很清楚

时间:2016-07-05 17:29:52

标签: c security bluetooth bluez

检查以下情况:

  1. 我有两个使用libbluetooth(Bluez)的RFCOMM程序(slave和master),分别设置如下:

    opt |= RFCOMM_LM;
    opt |= RFCOMM_LM_AUTH;
    opt |= RFCOMM_LM_ENCRYPT;
    opt |= RFCOMM_LM_SECURE;
    
    opt |= RFCOMM_LM;
    opt |= RFCOMM_LM_MASTER;
    opt |= RFCOMM_LM_AUTH;
    opt |= RFCOMM_LM_ENCRYPT;
    opt |= RFCOMM_LM_SECURE;
    
  2. Hciconfig报告两个适配器都启用了加密和身份验证:

    dev @ ackbar:$ hciconfig hci0

    hci0:输入:BR / EDR总线:USB BD地址:01:1A:07:00:47:0C ACL MTU:310:10 SCO MTU:64:8 UP RUNNING PSCAN AUTH ENCRYPT RX字节:10187160 acl:66879 sco:0事件:180556错误:0 TX字节:1012442 acl:57039 sco:0命令:6787错误:0

    dev @ ackbar:$ hciconfig hci1

    hci1:输入:BR / EDR总线:USB BD地址:01:1A:07:00:47:0D ACL MTU:310:10 SCO MTU:64:8 UP RUNNING PSCAN AUTH ENCRYPT RX字节:2174821 acl:6303221 sco:0个事件:100个错误:0 TX字节:51000 acl:54982 sco:0命令:3458错误:0

  3. Wireshark和hcidump都报告两个适配器之间的通信是明文。我希望通过加密/加扰有效载荷来证明安全性,类似于在Wireshark中查看SSL / TLS流量。

    Recv:11111111应该是:348djwfoisdfg78sdfsdifods2#@ $%^& * ifgyuh

  4. 根据原始模式中的hcidump:

    > . E   . . . . @ . . . . . 1 1 1 1 1 1 1 
      1 1 1 1 1 1 1 1 . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
      . . . . . . . . . . . . . . . . . . . . 
    

    这引出了一个问题:

    是否可以保密,甚至可以应用所设置的选项?或者是内核/操作系统在解密后通过(稍后)钩子以明文形式发送重组数据。

    有没有更好的方法来验证这一点 - 显然使用工具的传统方法是不够的(我无法访问硬件嗅探器)? (至少用bt-agent检查销钉。)

1 个答案:

答案 0 :(得分:0)

根据StackOverflow(Does Bluetooth encrypt data?)上的这个答案 - 我相信数据已被解密,并且hcidump在发生该操作后以明文形式看到它。

验证这一点的唯一方法是使用昂贵且受限制的工具(或maaaybe软件定义的无线电,如ubertooth)。