TOR原生数据填充方式(Channel Padding)

TOR源码阅读(三)(Channelpadding.c&Channelpadding.h) 先从函数开始: Channelpadding.c包含以下函数实现: STATIC int channelpadding_get_netflow_inactive_timeout_ms(constchannel_t *chan) 函数功能说明: 该函数会生成一个随机的不活动网络流生存周期,以毫秒为单位,其范围由一致性参数,协商结果,配置或默认值决定。一致性参数强制指定... 阅读详情

TOR本身已经做了这个功能了,今天发现。TOR 0.3.1.7版本加入的流量分析阻力,ChannelPadding,2017年9月

颇为绝望。今天才在GITHUB上看见TOR padding specification。

然后赶紧找了找官方的版本更新说明 原文如下:

Major features (traffic analysis resistance):

  • Connections between clients and relays now send a padding cell in each direction every 1.5 to 9.5 seconds (tunable via consensus parameters). This padding will not resist specialized eavesdroppers, but it should be enough to make many ISPs' routine network flow logging less useful in traffic analysis against Tor users.

    Padding is negotiated using Tor's link protocol, so both relays and clients must upgrade for this to take effect. Clients may still send padding despite the relay's version by setting ConnectionPadding 1 in torrc, and may disable padding by setting ConnectionPadding 0 in torrc. Padding may be minimized for mobile users with the torrc option ReducedConnectionPadding. Implements Proposal 251 and Section 2 of Proposal 254; closes ticket 16861.

  • Relays will publish 24 hour totals of padding and non-padding cell counts to their extra-info descriptors, unless PaddingStatistics 0 is set in torrc. These 24 hour totals are also rounded to multiples of 10000.

原文地址:点击打开链接

总的大体意思是 在中继和客户端间每1.5到9.6秒发送一个填充数据元在所有方向上(可通过一致性参数调整),填充不针对专门的窃听者,但能够破坏ISP常规网络流记录对TOR用户的流量分析。填充使用TOR链接协议,因此中继和客户端必须进行升级才可使用。客户端仍然可以发送填充,只要中继版本里的torrc设置了连接填充为1,并可通过设置为0来禁用。当移动用户设置了ReducedConnectionPadding 在torrc里时,填充会在最小的方式进行。中继会24小时发送填充数据元和非填充数据元(基于他们额外信息描述符),除非torrc设置了PaddingStatistics 为0。


好吧,大体意思是这样,那我们再来看看,具体是什么情况。来尝试看看TOR的Specification是怎么描述这个功能的。

Github上的TOR-SPEC

1.1 概览

TOR支持两种级别的覆盖流量,连接级别填充和链路级别填充。

连接级别的填充使用 CELL_PADDING数据元命令用来填充流量,而链路级别填充使用RELAY_COMMAND_DROP中继命令。CELL_PADDING是单跳的,且可被中继将之与正常流量区分开(内部检查器),而无法被外部区分(外部观察者)

RELAY_COMMAND_DROP是多跳的,并且对途经的中继不可见,因为中继命令域已被(circuit)链路层加密。并且,TOR的”可识别“域允许RELAY_COMMAND_DROP填充流量发送至该链路中的任意中间节点。

如今只有单跳的CELL_PADDING被使用(其实我看了一下0.3.1.7,貌似多跳的RELAY_COMMAND_DROP也被使用了)

连接级别的填充:</

深入理解Go Channel Golang使用Groutine和channels实现了CSP(Communicating Sequential Processes)模型,channles在goroutine的通信和同步中承担着重要的角色。在GopherCon 2017中,Golang专家Kavya深入介绍了 Go Channels 的内部机制,以及运行时调度器和内存管理系统是如何支持Channel的,本文根据Kavya的ppt学 阅读详情

相关推荐

yolov3--16--一文详解卷积操作中的padding填充操作

Yolov-1-TX2上用YOLOv3训练自己数据集的流程(VOC2007-TX2-GPU) Yolov--2--一文全面了解深度学习性能优化加速引擎---TensorRT Yolov--3--TensorRT中yolov3性能优化加速(基于caffe) yolov-5-目标检测:YOLOv2算法原理详解 yolov--8--Tensorflow实现YOLO v3 yolov--9--Y...

天明宇朗的博客 6249

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04

编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017)

weixin_49199313的博客 398

【信息科学与工程学】【通信工程】第八十六篇 通信网络设备及通信网络组网的所有学科知识01

编号001类型网络虚拟化与覆盖技术网络领域数据中心网络子领域大二层网络 / 网络虚拟化核心数学方程式/算法模型核心算法:VXLAN封装与解封装。关键在于24位VNI(虚拟网络标识符)到物理网络的三层IP地址的映射。封装:收到原始以太帧后,为其添加 VXLAN 头部(含 VNI)、外层 UDP 头(目的端口 4789)、外层 IP 头(源 IP 为本地 VTEP IP,目的 IP 为对端 VTEP IP)以及外层 MAC 头。解封装:对端 收到报文后,剥离外层头部,根据内层帧的目的 MAC 和 VNI 进行二

weixin_49199313的博客 833

【信息科学与工程学】【安全领域】第三十五篇 网络安全算法表

编号算法名称算法的逐步骤思考推理的数学方程式和分解的数学方程式参数/变量列表复杂度(时间/空间)1​AES (高级加密标准)​1. 密钥扩展:从初始密钥生成轮密钥。 2. 初始轮: 3. 主轮循环(Nr-1轮):  - SubBytes:(非线性字节替换)  - ShiftRows:对状态矩阵的行进行循环移位。  - MixColumns:(在GF(2⁸)上的矩阵乘法)  - AddRoundKey: 4. 最终轮:执行SubBytes、ShiftRows、AddR

weixin_49199313的博客 1373

【信息科学与工程学】【审计学】第一篇 招投标领域审计算法02

给定人、事、时、地、物等实体集合V和证据事实集合F, 构建一个概率图模型, 计算任意两个实体/事实之间存在关联关系的概率。:构建一个深度贝叶斯网络, 其中顶层为待推断的心理特征P, 中间层为可观测的行为模式B, 底层为多模态证据E。:基于现场痕迹、行为模式、通讯内容等证据E, 推断嫌疑人的心理特征向量P(如反社会性、冲动性、策划能力)。:对高风险的案件, 自动检索关联当事人、律师涉及的其他历史案件, 形成关联视图。:定义如“当事人-律师-当事人”、“当事人-多案件”等路径, 捕捉隐蔽关联。

weixin_49199313的博客 418

基于SDN与TCN的流量预测及智能调度系统实现

网络流量管理是数据中心运维的核心挑战,传统网络依赖手工配置难以应对突发拥塞。SDN(软件定义网络)通过控制器集中掌控全网状态,为智能调度提供了可能。基于OpenFlow协议,控制器可周期性采集交换机流表与端口统计,形成高可靠时序数据。随后利用时序卷积网络(TCN)对链路负载进行多步预测,结合分位数修正机制,提前识别潜在拥塞点。预测结果通过组表权重调整动态调度流量,实现路径无缝切换。本文以Ryu控制器和PyTorch为例,阐述从数据采集、特征工程、模型训练到Docker容器化部署的完整链路,并通过Minine

weixin_42662293的博客 113

Tor网络流量数据集

流量内容 •Web Browsing: Firefox and Chrome •Email: SMPTS, POP3S and IMAPS •Chat: ICQ, AIM, Skype, Facebook and Hangouts •Streaming: Vimeo and Youtube •File Transfer: Skype, FTP over SSH (SFTP) and FTP over SSL (FTPS) using Filezilla and an external service •VoIP: Facebook, Skype and Hangouts voice calls •P2P: uTorrent and Transmission (Bittorrent) 使用该流量做实验,请注明出处,加拿大一个网络空间实验室的,详细的可以私信我。

PAM4信号测试实战:从眼图分析到误码率测量的技术演进

在高速数字系统设计中,信号完整性测试是确保数据传输可靠性的核心环节。其基本原理在于通过时域和频域分析,精确评估信号在传输过程中的质量衰减与失真。随着数据速率向56Gbps及以上演进,传统的NRZ编码面临带宽瓶颈,而PAM4调制技术通过在每个符号周期内承载更多比特信息,成为提升信道效率的关键路径。这项技术的工程价值在于,它允许在相同带宽下实现翻倍的数据吞吐量,这对于数据中心互联、PCIe 6.0及800G以太网等高速接口至关重要。然而,PAM4信号电平间距更小,对噪声和抖动极为敏感,导致其原始误码率显著升高,

weixin_42522817的博客 657

使用基于物质点法(MPM)的Anura3D模拟沙柱坍塌

本博客使用开源软件Anura3D软件模拟了一个沙柱坍塌的过程,这个软件是基于基于物质点法(MPM)设计的

weixin_59902634的博客 4042

QT+SOEM主站协议库实战指南—从编译到嵌入式应用

本文提供了一份QT与SOEM开源EtherCAT主站协议库的集成实战指南。详细介绍了在Windows和Linux平台下编译SOEM库的步骤,并讲解了如何将其无缝集成到QT项目中,构建具备实时监控与控制功能的工业上位机应用。内容涵盖从环境搭建、核心协议开发到嵌入式部署与优化的全流程,为开发高性价比、自主可控的工业控制解决方案提供完整路径。

u6v7w8x的博客 437

在Mac下配置用VSCode编写C/C++程序的环境

前言    最近需要编写一些C/C++程序,由于体量都不是很大所以想要追求一个轻量化的编辑和编译环境,于是想起了在Dock栏吃灰的VSCode。通过查找资料,包括VSCode的官方文档,最终配置实现了Mac下基于VSCode的C/C++编辑环境搭建。 正文    在配置环境之前先检查一下机器上都安装了什么C++编译器,通过以下两条命令可以查看是否安装了g++/clang编译器,本人两种编...

Kalikali的专栏 5万+

手把手教你用STM32F103实现CAN总线双机通信(基于CubeMX+HAL库)

本文详细介绍了基于STM32F103和STM32CubeMX工具实现CAN总线双机通信的完整流程。文章重点解析了CAN总线在嵌入式物联网应用中的优势,并深入讲解了波特率计算、过滤器配置、接收中断处理等关键细节,提供了实用的代码框架和可靠传输方案,帮助开发者规避常见陷阱,构建稳定的工业级通信系统。

weixin_29193259的博客 479

STM32G0/G4电机控制中三角函数与浮点运算优化实战

三角函数(sin/cos)和浮点运算是电机矢量控制(FOC)的核心基础,直接影响Clark/Park变换、SVPWM及观测器的实时性与精度。在资源受限的MCU上,标准math.h库因无硬件FPU支持而引发严重时序抖动,导致电流环延迟、转矩脉动增大甚至系统复位。通过硬件加速(如STM32G4的CORDIC协处理器)或定制化定点算法(如STM32G0的查表+线性插值),可将sin/cos计算从数十微秒压缩至1–3 μs量级,提升30倍以上效率。该方案广泛适用于BLDC/PMSM驱动、伺服控制及高动态响应嵌入式运

weixin_35751412的博客 107

Xilinx FPGA ICAP原语实现多重配置

众所周知,常见的FPGA通常为SRAM结构,固件程序一般存放在外置的串行Flash中,比如SPI Flash,M25P16或N25Q128等。 FPGA启动时,一般先从SPI起始地址开始加载数据到内部的SRAM,加载完成、校验通过则会直接运行。 那么有没有可能在SPI Flash中存放两个或多个FPGA固件呢?

whik1194的博客 4612

基于Simulink的超级电容快速响应特性建模与仿真

本文介绍了基于Simulink的超级电容快速响应特性建模与仿真方法。主要内容包括:超级电容的工作原理、一阶RC等效电路模型及其动态电压方程;通过Simulink搭建超级电容模型的两种方法(Simscape Electrical推荐方案和基础模块透明教学方案);仿真100A×100ms放电脉冲下的电压响应特性,并与锂电池进行动态对比;分析超级电容在混合储能系统中的功率分配优势。文章还提供了工程实践要点和扩展方向,如电压均衡、温度影响评估以及与DC-DC变换器集成等。通过建模实践,验证了超级电容在毫秒级响应、高

xiaoheshang_123的博客 98

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: git备忘
下一篇: TOR源码阅读(三)(Channelpadding.c&Channelpadding.h)
西土城想念伦敦
博客等级 码龄10年 21粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值