Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何制作IOS应用程序*require*DNSSec?_Security_Ios_Networking_Iphone - Fatal编程技术网

Security 如何制作IOS应用程序*require*DNSSec?

Security 如何制作IOS应用程序*require*DNSSec?,security,ios,networking,iphone,Security,Ios,Networking,Iphone,我需要确保我的IOS应用程序在连接到给定服务器时需要DNSSec。如何确保DNS调用始终使用此选项 DNSSec处于操作系统级别。你在应用程序中唯一可以控制的就是连接到服务器的方法。只需在您的所有通信中使用。由于在操作系统级别不可用,我认为您最好的选择是通过比操作系统更仔细地检查SSL服务器来保护您的应用程序。有关详细信息,请参阅。我建议将您希望收到的CA证书嵌入到您的应用程序中,并将其逐字节与信任链的根进行比较 这被称为。您必须将DNS库合并到源代码中。尝试使用libunbound。使用lib

我需要确保我的IOS应用程序在连接到给定服务器时需要DNSSec。如何确保DNS调用始终使用此选项

DNSSec处于操作系统级别。你在应用程序中唯一可以控制的就是连接到服务器的方法。只需在您的所有通信中使用。

由于在操作系统级别不可用,我认为您最好的选择是通过比操作系统更仔细地检查SSL服务器来保护您的应用程序。有关详细信息,请参阅。我建议将您希望收到的CA证书嵌入到您的应用程序中,并将其逐字节与信任链的根进行比较


这被称为。

您必须将DNS库合并到源代码中。尝试使用libunbound。使用libunbound,您可以验证DNSSEC答案。这样,您就可以尝试使用DANE来保护SSL证书

DNSSEC在操作系统级别上可用,iOS 10+是系统的一部分。您可以在使用查询DNS时使用标志来使用它

如果你想保护你的TLS连接,你必须在
urlSession(\uu:didReceive:completionHandler:)
方法中实现dns查询


但是,您应该知道,有一些公共dns服务器(如OpenDNS),这看起来ios还不支持dnssec。好奇地检查一下,你为什么要这样做?@Mike我的iOS用户使用Wifi,我假设你已经设置了SSL?因为即使您的DNS查询总是返回正确的响应,您的会话数据仍然可以被透明地代理和修改。@Mike Yep,我知道。检查我的个人资料中的链接。DNSSec将允许我验证在DNS中发布的密钥,即使SSL攻击未受到攻击,但您如何使用此方法使用高级(例如)HTTP API?一旦你发送了URL,一切都结束了。您无法比较DNS回复的准确性。你甚至不能发送
http://If 您的高级HTTP库不支持DNSSEC,那么您需要自己进行DNS查找(使用unbound),如果结果有效,则使用HTTP API发出命令。注意:您不能在HTTP请求中使用该域,因为HTTP库可能会以非DNSSEC的方式进行DNS查找,如果该域被DNS毒害,库仍将连接到恶意站点。您需要将已验证的IP地址传递到HTTP库(并在需要时使用/添加主机头)