加密的TCP通讯全过程

网上介绍c#加密解密的文章和代码都说的不太明白,现用最直白语言说一下

首先3个概念,1、不可逆加密2、可逆对称加密3、可逆非对称加密

1、不可逆加密,大家最熟悉的一种,md5 sha1就是,加密后就不能解密,只能用于存储密码和校验文件变动,不能用于网络通讯。

2、可逆对称加密,用一个钥匙把内容加密,只要有这个钥匙的人就可以解密,就像登录windows,要一个密码,只要有密码谁都能登录,但是如果没有这密钥,就很难很难解密,就像破解windows密码需要穷尽一样。非常适合网络加密通讯。如果客户和服务器都有着把钥匙,那么通讯过程是保密的,即使通讯内容被截获,看到的也是一堆乱七八糟的加密后的byte,通讯内容是安全的。

但是这就产生一个问题了,客户端有这把钥匙在程序某个部分,如果被反编译或者什么的被人发现了,那么以后所有客户端和服务器通讯都可以被截获者解密,从而失去了加密意义,所以这把钥匙服务器要经常变换不能事先给客户端,需要每次通讯前才给客户端,但是这样这把钥匙还是可以被截获着截获,所以如何安全发送这把钥匙就成了关键,只要钥匙安全了,那么整个对称加密就安全了,如果钥匙被人发现了,这个过程就没有秘密可言。

所以可逆非对称加密就出现了

3、可逆非对称加密,客户端和服务器通讯的时候,客户端先用非对称加密生成2把随机钥匙,一把叫公钥一把叫密钥,关键就在这里,用这个公钥加密的内容不能用公钥解密,只能用密钥解密,客户端把公钥发送给服务器,服务器用这个客户端生成的公钥把某内容加密后返还给客户端,客户端用那把密钥解密。

仔细看看这个过程,假定有个拦截者,一开始,客户把公钥发送给服务器,比如让拦截者给截获了,服务器返回用这个公钥加密的内容,也让拦截者给截获了,拦截者想用这个公钥解密,但是发现不行,公钥加密的内容只能用密钥才能解密,公钥只起一个加密作用。那密钥在哪呢?在客户端那个程序的内存里,并没有通过网络发送(而且呢,这个公钥和密钥是临时随机生成的,在内存里,当客户端不运行的时候即使反编译该程序也看不到),客户端那个程序就可以解密,而拦截者即使截获了公钥和公钥加密的内容,也是白忙一场一点用都没有。所以服务器返回的那段用公钥加密的内容是安全的。

 

大家是不是发现非对称加密比对称加密要安全不知道多少倍啊,全随机的,那直接全都用非对称加密就天下太平了那还要对称加密干什么呢?但是非对称虽好,但是却很慢,不能对大量的通信内容进行加密通信(不知道,反正都这么说),只能开始通信的时候用这种方式传送一点很重要的内容。

那用来传送点什么内容呢?

 

用来传送对称加密的那边钥匙就非常合适,2部分不是说对称加密唯一不安全的地方就是那边钥匙的传送过程不安全么,那么先用非对称加密传送对称加密的钥匙,这样对称加密的钥匙的传送过程就安全了,钥匙安全问题解决了所以对称加密和非对称加密就一样安全了,这时就关闭非对称加密,以后都用对称加密了,速度也上来了。这就是非对称加密和对称加密配合使用的过程,网上很多应用都是这种方式。

 

在.net下实现这3种加密太容易了,都是封装好的不能再好的类。过程几行就完了。对称加密用TripleDESCryptoServiceProvider,最大支持24字节(192位)的加密,非对称用RSACryptoServiceProvider。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: Profinet通讯协议是一种以太网协议,用于实现工业自动化系统中设备之间的数据传输和通讯。它是由德国自动化技术协会(Profibus Nutzerorganisation)制定并推广的。 Profinet使用TCP/IP作为通信基础,具有高实时性和高可靠性。它支持多种传输媒介,如以太网、无线网络和光纤等,可以灵活地满足不同需求。此外,Profinet还支持设备自动配置和拓扑自动识别,简化了系统的安装和维护过程。 Profinet协议可以与常见的工业以太网通讯协议相互兼容,如Modbus TCP和EtherNet/IP,实现不同厂商的设备的互操作性。这降低了系统集成的复杂性,方便用户选择和组合不同品牌的设备。 Profinet提供了各种服务和功能,如实时数据传输、远程诊断、定时同步和红外设备管理等。它支持广播、多播和单播等不同的通讯模式,确保数据的及时和准确传递。此外,Profinet还提供了多种安全机制,如身份认证和数据加密,保护系统的机密性和完整性。 Profinet广泛应用于自动化领域的各种设备和系统,如机械制造、过程控制、物流和能源管理等。它为工业自动化系统的高效运行和管理提供了一个可靠、灵活和安全的通讯平台。 ### 回答2: Profinet是一种通信协议,广泛应用于工业自动化领域。它是以太网协议的一种变体,用于实现工业设备之间的实时数据交换和通信。 Profinet采用了标准的以太网技术和协议,具备高带宽、高可靠性和实时性的特点。它支持多种通信模式,包括实时通信、普通以太网通信和配置与诊断通信,能够满足不同类型的工业应用需求。 Profinet提供了灵活的网络拓扑结构,支持星形、总线、环形和网状等多种连接方式。它还支持多种物理介质,如铜缆、光纤和无线等,可以根据具体应用场景选择合适的物理连接方式。 Profinet实现了实时数据交换,能够满足工业自动化中要求严格的实时控制需求。它支持周期性实时通信和异步实时通信,并具备高精度的时间同步功能,保证各个设备之间的数据传输和控制同步性。 Profinet还具备灵活的配置与诊断功能,可以实现自动设备识别、参数设置和故障诊断等。通过集成配置工具和网络管理系统,可以方便地对Profinet网络进行配置和监测,提高系统的可靠性和维护性。 总而言之,Profinet通信协议是工业自动化领域的一种重要通信技术,具备高带宽、高可靠性和实时性的特点。它通过实现实时数据交换和灵活的配置与诊断功能,为工业设备之间的通信和控制提供了可靠的基础。 ### 回答3: Profinet是一种工业通信协议,用于实现工业自动化系统中各个设备之间的通信。它是一种开放的标准化协议,能够实现实时和非实时的数据交换,具有高性能和可靠性。 Profinet协议在工业自动化领域得到了广泛的应用。它可以应用于各种设备,包括传感器、执行器、PLC等,并能够与其他通信协议兼容。Profinet支持多协议栈,包括TCP/IP、UDP/IP和RTSP等,可以适应不同的网络需求。 Profinet采用以太网作为物理传输介质,因此具有较高的传输速率和可扩展性。它支持全双工通信和多点通信,能够实现设备之间的实时数据传输,并支持远程配置和监控。此外,Profinet还具有自动配置和自适应性的特点,能够提高系统的可靠性和灵活性。 Profinet协议还提供了丰富的网络安全功能,包括身份验证、数据加密和访问控制等,以确保通信的安全性和可靠性。它还支持网络管理和诊断功能,可以实时监测和管理系统中的各个设备,提高系统的维护效率。 总之,Profinet通讯协议是一种高性能、可靠性和安全性的工业通信协议,它在工业自动化系统中发挥着重要的作用,能够实现设备之间的实时数据交换,提高系统的效率和生产能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值