Peer-to-Peer Protocols" href="http://ssben.damnprettypinkpussy.com/feed//concerts/and.htm" /> Damn Damn Pretty Concerts And GNUnet Documentation: The<img src="http://images.ibsys.com/2003/0402/2083517.jpg"/>Peer-to-Peer Protocols

Damn Damn Pretty Concerts And

Damn Damn

Damn Damn Pretty Concerts And GNUnet Documentation: ThePeer-to-Peer Protocols

Damn Damn Pretty Concerts And

由一台主机发给其他机器的,最基本的序列是HELLO,用于声明它在网络上存在。 HELLO的接收者返回PING,确认那台主机确实可达。 PING的接收者返回PONG,确认可接收。

随后,任何一方发送给另一方一个加密了SETKEYPING消息,启动一个连接。 接收者用另一个SETKEY确认,其中包含新的PING,已及和先收到的PING对应的PONG应答。 同样,这个PING以加密的PONG回答。 如果没有收到PONG,任意一方可以发送另一个SETKEY和PING。 如果在短时间内收到重复的SETKEY,密钥不应更换。 这个序列和启动TCP的三次握手非常相似。

下图表示一种可能的消息序列:

节点随后交换特定应用消息。 必须用NOISE使各分组大小一致。 MTU决定于传输层,并在HELLO消息中广告。 任何节点都可以用HANGUP终止连接。 长时间(约15分钟)不活动连接也被认为是终止连接。 HANGUP既不需要确认也不是必需的,但行为规范的节点都应实现它。

GNUnet主机之间交换的分组可以包含任意数目的消息(仅受制于传输层MTU大小)。

除加密消息外,GNUnet核心也是用附加信息扩展每个消息。 GNUnet核心添加校验和、带宽限制信息和序列信息,以避免重复处理消息。 加密、解密、校验由GNUnet核心完成,应用程序和传输代码都不需要关心这些。 由GNUnet核心给每个消息添加的消息头的格式如下:

GNUNET_TransportPacket_HEADER
偏移比特(bit)位
0-78-1516-2324-31
0纯文本的散列值(SHA-512)
64序列好,0代表纯文本(11)
68时间戳(秒)(NBO)
72带宽限制(字节每分钟)(NBO)

头后面紧跟各个消息。 再次说明,发送者标识也必须传送,以便核心可以选择正确的密钥解密。 然而,如何做随不同的传输层而不同。

HELLO

HELLO分组用于参与节点通过GNUnet广播信息。 每个GNUnet节点通过它的公钥K标识。 通过GNUnet,节点的公钥一般简化为K的散列值,简称为H(K)。

HELLO分组是节点传播其他节点公钥的方法。 此外,节点的标识和地址是绑定的。 如何定义地址依赖于底层所使用的传输机制。 例如,UDP服务使用IP和UDP端口号。 SMTP传输实现可能选择使用电子邮件地址。 GNUnet可以有多个地址,并且可以在任何时候切换地址,例如,如果IP是动态设定的,象DHCP或拨号的情况。 HELLO消息用于通知其他主机地址的改变。

安全考虑 恶意节点可能通过虚假地址干扰GNUnet。 在节点续传其他节点的HELLO消息时,恶意节点可以用无效地址替换原始节点地址。 为防止这种情况,HELLO消息的地址部分必须使用私钥签名。 为阻止恶意节点续传过时的地址,HELLO消息的签名部分也要包含时间辍,以声明HELLOd的有效期。 节点的管理员可以定义HELLO的有效期;管理员是判断地址有效期的最佳人选。

另外的安全问题在于那些主机使用非参与机器发送有效的、签名的HELLO消息。 这种攻击可以用流量淹没非参与主机(使GNUnet陷入执行攻击的境地),也因为接收者依赖于HELLO,使其很难在地址的海洋中找到有效的GNUnet主机。 GNUnet防止这种攻击的办法是发送PING到可信的主机,并且只信任接收到PONG的HELLO。 因此,恶意主机发送假冒HELLO将不会诱使GNUnet试图不断连接非参与节点。

接收者必须验证HELLO的签名,并检查HELLO没有过期。 节点应该删除已经失效很长时间的HELLO。 失效不久的HELLO可以属于重现的节点。 GNUnet节点可以试着连接这些节点,但它们的HELLO不应该再广播。 在没有建立加密连接的情况下,HELLO 可以发送到主机(以明文)。 这是需要的, 因为HELLO和SETKEY rDamn Damn Pretty Concerts And GNUnet Documentation: ThePeer-to-Peer Protocolsx t Pink eDamn Damn Pretty Concerts And GNUnet Documentation: ThePeer-to-Peer Protocolsf Pussy Damn Pink