有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java通过蓝牙在安卓应用程序和pc应用程序之间发送敏感数据

我必须通过蓝牙在安卓应用程序和java应用程序之间发送敏感数据。我仍然有一些关于实施的问题。该应用程序将不会在Google Play中发布

  • 蓝牙加密是否足以保证设备的安全 我的数据
  • 我还应该在应用层加密数据吗?
    • 进行密钥交换的好做法是什么

共 (1) 个答案

  1. # 1 楼答案

    蓝牙使用E0进行加密,自1999年以来,这种加密每年都会被破坏多一点(在已发表的论文中,甚至可能在其他地方……)和ECDH表示密钥协议,它在设计上容易受到中间人攻击之类的攻击
    此外,较旧的蓝牙设备可能根本不使用加密,整个协议存在更多的设计缺陷,并且有现成的漏洞利用工具包

    2007年,有人就一些其他已知问题发表了评论;我没有读过,但也许你会感兴趣(但请记住,那是8年前的事了。今天,情况更糟了。)

    所以,取决于你到底在做什么,以及它应该有多安全,你可能想自己做每件事。当你谈论加密时,你应该首先考虑你到底想要保护什么。加密将阻止有人读取传输的数据,但它不会阻止某些“邪恶”设备让你相信它是真正的接收器(简而言之,身份验证)

    对于加密本身,AES是可以的。密钥交换是一个问题,如果两个设备都没有任何开始。。。如果可以为某些身份验证部署(非对称)密钥。填充并使用它们来帮助生成AES会话密钥,这将非常有帮助(加上身份验证,您可以使用例如ECDH而不会出现MITM问题)