这只是一个非常普遍的问题,但是谁能告诉我,我什么时候使用openSSL,什么时候使用IPSEC来保护互联网上的数据传输?它们似乎都在做同样的事情,只是在不同的网络协议级别上。所以我不是绝对确定为什么我们需要这两个。
感谢您的帮助
发布于 2010-09-20 06:07:50
是的,不同级别的网络协议。一个是在操作系统中实现的,另一个是在应用程序中实现的。
所以两者都需要的原因是:
发布于 2011-11-28 08:01:46
您完全搞错了,buddy...IPSEC是两台机器之间安全通信所必需的。
就像您想要向其他机器发送数据包,但希望没有人能够确定您使用的是什么协议(tcp/udp)。等),然后使用此IPSEC。而且,关于IPSEC还有很多需要探索的地方。
openssl可以说只是一个加密/认证函数库。
一个明显的区别可以通过一个小例子来理解。
假设你想要保护两台机器之间的流量,所以你创建了安全的加密包,将它发送到另一台机器上,它需要根据安全associations.All进行解密这是IPSEC协议的一部分。
当您在发送机上加密数据包时,您可能已经使用了一些C/Linux函数来加密packet.This,这正是openssl发挥作用的地方。
类似地,在另一端,当您将捕获数据包并提取所需部分时,您可以使用您机器上使用的openssl函数对其进行解密。
我尽我最大的努力去解释...希望它能帮上忙!如果你还有任何疑问,请清除!
发布于 2011-11-28 08:10:11
IPSec基于在后台运行的配置文件,并对两台机器之间的所有数据进行加密。这种加密是基于IP对、发起者和响应者(至少这是他们在我的工作场所使用的配置,或多或少符合标准)。然后对两台机器之间的所有IP流量进行加密。既不显示流量的类型也不显示流量的内容。它有自己的封装,封装了整个数据包(包括数据包以前拥有的所有报头)。然后在另一端对数据包进行解封装(如果是单词的话),以获得完全形成的数据包(不仅仅是有效载荷)。加密可能使用SSL提供的加密(例如OpenSSL)。
另一方面,SSL对数据进行加密,然后您可以随心所欲地使用它。你可以把它放在USB上,然后交给别人,或者只是在本地加密它,以防止数据被盗,或者通过互联网或网络发送它(在这种情况下,数据包本身不会被加密,只有有效载荷将被SSL加密)。
https://stackoverflow.com/questions/3747584
复制相似问题