Dual concealment method and system of segment size quantization and intra-session bucket mapping permutation
Patent Information
- Application Number
- CN202611223836.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-13
- Publication Date
- 2026-10-20
- Estimated Expiration
- 2046-08-13
AI Technical Summary
[0006]第三种方案存在于前述两种方法共有的局限性中,即现有方案的处理过程通常是确定性的
(1)本发明通过为每个媒体会话生成唯一随机置换参数,并对基础桶集合进行动态变换,使得同一基础桶在不同媒体会话中对应不同的有效桶值。由于有效映射桶集合随会话而变化,同一媒体分段在不同媒体会话中被量化至不同的目标大小值,导致同一视频内容在不同媒体会话中呈现出的分段大小序列各不相同;因此,攻击者无法将多次观测到的流量序列进行跨会话对齐和聚合,也无法利用离线采集的指纹库对在线传输的视频进行匹配识别,打破了分段大小与视频内容之间的稳定映射关系,从根本上破坏了指纹特征的跨会话可迁移性,有效抵御了基于分段大小序列的指纹识别攻击。
Smart Images

Figure CN122741247B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network security and privacy protection technology, and in particular to a dual hiding method and system of segment size quantization and session bucket mapping permutation. Background Technology
[0002] With the rapid development of internet streaming media services, video transmission has become a major component of network traffic. To improve bandwidth utilization and adapt to different network conditions, modern streaming media systems generally employ Variable Bitrate (VBR) encoding technology to compress video content. A key feature of VBR encoding is that the size of video segments dynamically changes according to the complexity of the scene content: smaller segments for simple scenes (such as static backgrounds) and larger segments for complex scenes (such as high-speed motion scenes); this size difference typically fluctuates within a range of several orders of magnitude.
[0003] However, while this variation in segment size brings advantages in coding efficiency, it also introduces serious privacy risks. Research shows that even in encrypted transmission environments, attackers can still passively monitor network traffic to obtain the ciphertext payload length of each video segment, thereby recovering the original segment size sequence. Because the content characteristics of different videos determine that their segment size sequences have unique statistical patterns and waveform characteristics, attackers can compare the observed sequences with a pre-established video fingerprint database, using methods such as Pearson correlation coefficient, dynamic time warping, or deep learning classification to accurately identify the specific video content a user is watching. This type of attack is called a segment size sequence-based fingerprinting attack, posing a substantial threat to the privacy and security of streaming media users.
[0004] In response to the above problems, the industry has proposed some defense solutions, but all of them have obvious flaws: The first approach is constant bit rate padding. This method uniformly pads all segments to the maximum possible length, such as 5MB, thus completely eliminating size differences. While this method can completely block attacks based on size characteristics, in practice, it typically results in over 200% additional bandwidth overhead, which is unacceptable for the operating costs of mobile network users and content delivery networks.
[0005] The second approach is fixed-bucket quantization. This method maps continuous segment sizes to a set of predefined discrete values, such as grouping sizes into several fixed increments [200KB, 500KB, 1MB...]. While this method reduces feature resolution to some extent, it does not change the monotonic mapping relationship where large segments map to large buckets and small segments map to small buckets. Attackers can still achieve high recognition accuracy simply by retraining the recognition model on the quantized discrete sequences.
[0006] The third approach suffers from a limitation shared by the two methods mentioned above: the processing in existing solutions is typically deterministic. For the same video content, regardless of which session it is transmitted in, the resulting sequence of segment sizes is completely consistent. This cross-session alignment allows attackers to aggregate and analyze traffic data collected multiple times, effectively eliminating the impact of random noise such as network jitter, thereby further improving attack accuracy.
[0007] Therefore, there is an urgent need for a defense method that can fundamentally break the stable mapping relationship between segment size and video content while reasonably controlling bandwidth consumption, eliminate the portability of cross-session fingerprints, and prevent attackers from using offline fingerprint databases to identify online video content. Summary of the Invention
[0008] To address the aforementioned problems, this invention provides a dual-hiding method and system of segment size quantization and session bucket mapping permutation. This solves the technical problem of breaking the stable mapping relationship between segment size and video content while keeping bandwidth overhead within an acceptable range, thus eliminating the portability of cross-session fingerprints and preventing attackers from using offline fingerprint databases to identify online video content.
[0009] This invention provides a dual hiding method combining segment size quantization and session bucket mapping permutation, the method comprising: Generate a basic bucket set based on the preset bandwidth overhead limit; When a new media session is detected to be starting, a unique random permutation parameter for the current media session is generated; The base bucket set is dynamically transformed using the unique random permutation parameter to construct the effective mapping bucket set of the current media session, so that the same base bucket corresponds to different effective bucket values in different media sessions. Obtain the actual size value of the media segment to be transmitted in the current media session, and determine the target size value corresponding to the actual size value in the set of valid mapping buckets; Based on the difference between the target size value and the actual size value, invalid data is filled at the end of the media segment to be transmitted, and the transmission length of the filled media segment to be transmitted is equal to the target size value before transmission.
[0010] Furthermore, the generation strategy for the basic bucket set includes one or more of the following: geometric sequence strategy, arithmetic sequence strategy, and clustering-based strategy.
[0011] Furthermore, based on the preset bandwidth overhead limit, a basic bucket set is generated, specifically including: The basic bucket set is generated using a geometric progression strategy; wherein the ratio between two adjacent basic buckets is determined by the upper limit of bandwidth overhead, so that the filling ratio after rounding up any real size value is less than the upper limit of bandwidth overhead.
[0012] Furthermore, the ratio between two adjacent basic buckets is equal to the sum of 1 and the upper limit of bandwidth overhead.
[0013] Furthermore, the basic bucket set is dynamically transformed using the unique random permutation parameter to construct the effective mapping bucket set of the current media session. Specifically, this includes: using a numerical transformation strategy to transform the values of each bucket in the basic bucket set as a whole to obtain the effective mapping bucket set of the current media session.
[0014] Furthermore, the numerical transformation strategy includes one or more of the following: random scaling transformation strategy, random offset transformation strategy, and index replacement strategy.
[0015] Furthermore, the random scaling transformation strategy specifically includes: generating a random scaling factor for the current media session, multiplying each bucket value in the base bucket set by the random scaling factor to obtain the effective mapping bucket set for the current media session; The random offset transformation strategy specifically includes: generating a random offset for the current media session; adding the random offset to each bucket value in the base bucket set to obtain the effective mapping bucket set for the current media session; The index replacement strategy specifically includes: generating a random replacement table for the current media session; rearranging the order of bucket values in the basic bucket set according to the random replacement table to obtain the effective mapping bucket set for the current media session.
[0016] Furthermore, determining the target size value corresponding to the true size value in the set of effective mapping buckets specifically includes: finding the minimum value greater than or equal to the true size value in the set of effective mapping buckets and using it as the target size value.
[0017] Furthermore, the invalid data is a randomly generated byte sequence, and the padding position is located at the end of the payload of the media segment to be transmitted.
[0018] On the other hand, the present invention also provides a dual hiding system of segment size quantization and session bucket mapping permutation, including a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any of the above methods.
[0019] In summary, this invention provides a dual hiding method and system combining segment size quantization and session bucket mapping permutation, which achieves the following advantages compared to existing technologies: (1) This invention generates unique random permutation parameters for each media session and dynamically transforms the basic bucket set, so that the same basic bucket corresponds to different effective bucket values in different media sessions. Since the effective mapping bucket set changes with the session, the same media segment is quantized to different target size values in different media sessions, resulting in different segment size sequences for the same video content in different media sessions; therefore, attackers cannot perform cross-session alignment and aggregation of multiple observed traffic sequences, nor can they use offline collected fingerprint databases to match and identify online transmitted videos, breaking the stable mapping relationship between segment size and video content, fundamentally destroying the cross-session transferability of fingerprint features, and effectively resisting fingerprint recognition attacks based on segment size sequences.
[0020] (2) This invention generates a basic bucket set by setting a preset bandwidth overhead limit and using an exponential growth strategy, ensuring that the additional padding overhead generated when any real size value is rounded up to the target size value does not exceed the preset bandwidth overhead limit. Compared to a constant bit rate padding scheme that uniformly pads all segments to the maximum length, this invention can flexibly control bandwidth overhead within the range of 5% to 20%, significantly reducing bandwidth waste while ensuring privacy protection. It is suitable for scenarios sensitive to bandwidth costs, such as mobile networks and content delivery networks.
[0021] (3) This invention proposes a variety of numerical transformation strategies, such as random scaling transformation, random offset transformation, and index permutation, which can be flexibly selected according to the actual application scenario. These numerical transformation strategies can all achieve the core effect of the same basic bucket corresponding to different effective bucket values in different media sessions, and do not require modification of the underlying transmission protocol or encoding format, resulting in low deployment cost and strong compatibility. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0023] Figure 1 This is a flowchart illustrating the dual hiding method and system of segment size quantization and session bucket mapping permutation provided by the present invention. Detailed Implementation
[0024] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0025] It should be noted that, in the description of the embodiments of the present invention, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a method, step, or apparatus that includes a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to the method, step, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of additional identical elements in the method, step, or apparatus that includes the element.
[0026] To address the technical challenge of breaking the stable mapping relationship between segment size and video content and eliminating the portability of cross-session fingerprints while keeping bandwidth overhead within an acceptable range, this invention provides a dual-hiding method and system of segment size quantization and session-internal bucket mapping permutation. Applied to a streaming media server, it is used to hide the size of output video segments. By allowing the same video to exhibit different traffic size sequences in different media sessions under controllable bandwidth overhead, the portability of fingerprints is completely destroyed, preventing attackers from using offline fingerprint databases to identify online video content.
[0027] The core of this invention lies in achieving feature hiding of media segment size through a dual mechanism of basic bucket generation and dynamic bucket mapping transformation; such as Figure 1 As shown, the method includes: S100: Generate a basic bucket set based on the preset bandwidth overhead limit.
[0028] It should be noted that the preset bandwidth overhead limit refers to the maximum allowable additional padding ratio of the system, that is, the upper limit of the ratio of the padding data volume to the original segment size, usually expressed as a percentage. This limit is used to control the density distribution of the basic bucket set, so that the additional overhead incurred when any real size value is rounded up to the target size value does not exceed this limit.
[0029] Furthermore, the upper limit for bandwidth overhead ranges from 5% to 20%; this range strikes a good balance between privacy protection and bandwidth costs.
[0030] This invention allows for flexible selection of a basic bucket set generation strategy based on the actual application scenario. Specifically, the basic bucket set generation strategy includes one or more of the following: a geometric sequence strategy, an arithmetic sequence strategy, and a clustering-based strategy.
[0031] Preferably, a geometric progression strategy is used to generate the basic bucket set. The geometric progression strategy refers to the ratio between any two adjacent basic buckets being a fixed constant. ,Right now .
[0032] As one embodiment, a basic bucket set is generated according to a preset bandwidth overhead limit, specifically including: generating the basic bucket set using a geometric progression strategy; wherein, the ratio between two adjacent basic buckets is determined by the bandwidth overhead limit, so that the filling ratio after rounding up any real size value is less than the bandwidth overhead limit.
[0033] In other words, the basic bucket set is determined by the maximum bandwidth overhead. The decision is made by controlling the multiple relationship between two adjacent basic buckets, ensuring that the proportion of extra padding data when rounding up any segment of actual size to the nearest bucket value will not exceed a preset bandwidth overhead limit. In other words, the extra overhead incurred when rounding up any actual size value to the target size value does not exceed the bandwidth overhead limit. Through a geometric progression strategy, this invention can strictly control bandwidth overhead within a preset range, significantly reducing bandwidth waste compared to a constant bit rate padding scheme that uniformly fills all segments to the maximum length.
[0034] Furthermore, the ratio between two adjacent basic buckets is equal to the sum of 1 and the upper limit of bandwidth overhead, i.e., the ratio. Specifically, an exponentially growing set of basic buckets is... Among them, the basic bucket is , This represents the number of buckets.
[0035] It should be noted that, This is the starting bucket value of the basic bucket set, and its determination methods include: setting a fixed value as the starting bucket value according to the streaming media protocol specification or actual business scenario; for example, for common streaming media transmission scenarios, it can be set to... = 100KB, to cover the vast majority of segment sizes. Furthermore, the starting bucket value can be dynamically determined based on the actual received segment size at system startup or when the first segment arrives. Determining the starting bucket value Then, according to the preset bandwidth overhead limit The subsequent bucket values are generated sequentially using a geometric progression strategy, and so on, until the bucket value exceeds the preset maximum segment size threshold or reaches the preset maximum number of buckets.
[0036] The arithmetic sequence strategy refers to a strategy where the difference between two adjacent basic buckets is a fixed constant. ,Right now The bucket set generated by the arithmetic sequence strategy is evenly distributed on the numerical axis, making it suitable for scenarios where the size distribution of the segments is relatively concentrated.
[0037] Clustering-based strategies involve pre-collecting a large number of real-size samples of streaming media segments and dividing the samples into N clusters using clustering algorithms such as K-means, with the center or boundary value of each cluster serving as the base bucket. Clustering-based strategies can adaptively adapt to the actual data distribution and achieve lower average filling overhead with the same number of buckets.
[0038] For example, an administrator can preset a bandwidth consumption cap based on actual bandwidth costs and privacy protection requirements. For example, a preset bandwidth consumption cap... = 10%, indicating that the allowed additional padding overhead does not exceed 10% of the original segment size; starting bucket value Using a geometric sequence strategy, the ratio between two adjacent basic buckets is... The resulting set of basic buckets is For any media segment's actual size, rounding up to the nearest target size will not incur additional padding overhead exceeding a preset bandwidth limit of 10%. For example, if the actual sizes of video segments are 101KB, 105KB, 109KB, and 111KB, rounding up to the nearest target size results in 110KB, 110KB, 110KB, and 121KB; the corresponding padding amounts are 9KB, 5KB, 1KB, and 10KB; and the corresponding padding ratios are 9 / 101≈8.9%, 5 / 105≈4.8%, 1 / 109≈0.9%, and 10 / 111≈9.0%. This means that each bucket is 10% larger than the previous bucket. For an actual size value falling between two adjacent buckets, its distance from the previous bucket will not exceed 10% of the previous bucket's value; that is, the padding ratio for all segments will not exceed 10%.
[0039] S200: When a new media session is detected to be starting, generate unique random permutation parameters for the current media session.
[0040] It's important to note that a new media session refers to an independent media transmission connection established between the client and the streaming media server. Each new media session has a unique session ID, generated by the server when the session is established. Typical session establishment scenarios include, but are not limited to: a user opening a new video playback page, a user switching playback content, and re-establishing a connection after a network interruption. A new media session is considered to have begun whenever a new session ID is detected or a new session establishment request is received.
[0041] Each time a new media session is established, a unique random permutation parameter is generated independently for that session. This parameter is only valid within the lifetime of that session, and the random permutation parameters are different between different sessions. By assigning different random permutation parameters to each session, the same video content is mapped to different target size values in different sessions, thereby breaking the cross-session portability of fingerprints.
[0042] The unique random permutation parameter is a random number or random sequence used to dynamically transform the base bucket set; it is generated independently and is different for each session.
[0043] As an example, the unique random permutation parameter can be generated by either a random number generator or by a hash operation between a session identifier and a preset global seed.
[0044] The method involves using a random number generator to generate a random number within a specified range as the unique random permutation parameter, or using the server CPU's built-in hardware random number generator to directly generate a random number as the unique random permutation parameter. The random number generator can be based on the operating system's entropy source; for example, for a random scaling transformation strategy, generating a random number with a value range of... The random floating-point number is used as the random scaling factor.
[0045] The generation method, based on a hash operation using a session identifier and a preset global seed, specifically involves: obtaining the session identifier of the current media session, concatenating it with the preset global seed, calculating the hash value using a cryptographic hash function (such as SHA-256), and then mapping the hash value to the required parameter value range. This method does not require calling an additional random number generator, and all segments within the same session share the same parameters, ensuring mapping consistency.
[0046] It should be noted that, regardless of the generation method used, it is necessary to ensure that the unique random permutation parameters generated by different sessions have sufficient randomness and independence in order to avoid fingerprint transferability residues caused by parameter collisions.
[0047] S300: Dynamically transform the basic bucket set using a unique random permutation parameter to construct the effective mapping bucket set for the current media session, so that the same basic bucket corresponds to different effective bucket values in different media sessions.
[0048] By combining the base bucket with the unique random permutation parameter of the current media session, the base bucket set can be dynamically transformed, so that the same base bucket corresponds to different effective bucket values in different media sessions. This is the key prerequisite for mapping the same media segment to different target size values in different sessions.
[0049] As one embodiment, a unique random permutation parameter is used to dynamically transform the base bucket set to construct the effective mapping bucket set for the current media session. Specifically, this involves using a numerical transformation strategy to transform each bucket value in the base bucket set as a whole, resulting in the effective mapping bucket set for the current media session. Through this numerical transformation strategy, the present invention can achieve session-level differentiation of bucket values without changing the overall structure of the base bucket set, allowing the same base bucket to correspond to different effective bucket values in different sessions.
[0050] Specifically, numerical transformation strategies include one or more of the following: random scaling transformation strategy, random offset transformation strategy, and index replacement strategy. It should be noted that the unique random replacement parameter includes the random scaling factor, the random offset, and any one or more elements in the random replacement table; its specific form depends on the numerical transformation strategy employed. That is, when using a random scaling transformation strategy, the unique random replacement parameter is the random scaling factor; when using a random offset transformation strategy, the unique random replacement parameter is the random offset; and when using an index replacement strategy, the unique random replacement parameter is the random replacement table.
[0051] All three strategies can transform the bucket values by introducing session-level randomness without changing the number of bucket values and the overall distribution structure in the base bucket set, thereby disrupting the cross-session stability of fingerprint features and enabling the same base bucket to correspond to different effective bucket values in different sessions.
[0052] As an example, the random scaling transformation strategy specifically includes: generating a random scaling factor for the current media session, multiplying each bucket value in the base bucket set by the random scaling factor, and obtaining the effective mapping bucket set for the current media session.
[0053] The random scaling factor is used to perform a multiplicative transformation on each bucket value in the base bucket set. It's important to note that the range of values for the random scaling factor is related to the density distribution of the base bucket set; that is, the random scaling factor's value range is within a certain range. Random floating-point numbers between, where This is a preset bandwidth overhead limit; this value range ensures that the relative spacing between bucket values in the scaled effective mapping bucket set remains consistent with the base bucket set, preventing coverage blind spots in the effective mapping bucket set due to excessive scaling. It ensures that any real-world size value can find a minimum value greater than or equal to itself in the effective mapping bucket set as the target size value, guaranteeing the completeness of mapping coverage and ensuring that the padding overhead does not exceed the preset bandwidth overhead limit. The random scaling factor generation method includes: calling a secure random number generator to generate uniformly distributed random floating-point numbers within the value range, which serve as the random scaling factor for the current media session. For example, when... When the random scaling factor has a range of values, it is: .
[0054] In a stochastic scaling transformation strategy, the stochastic scaling factor The range of values is For example, when At that time, the basic bucket set is Random scaling factor The range of values is Generate a random scaling factor for the current media session, such as 1.02 for session A and 1.08 for session B. Then multiply each bucket value in the base bucket set by... This yields the set of valid mapping buckets for the current session. Specifically, it includes the random scaling factor for session A. Then the set of valid mapping buckets is: Random scaling factor for Session B Then the set of valid mapping buckets is: It can be seen that the effective bucket value corresponding to the same basic bucket (e.g., 110KB) is 112.2KB in session A and 118.8KB in session B. Therefore, for media segments with the same actual size (e.g., 105KB), the effective bucket value needs to be rounded up to 112.2KB in session A (with 7.2KB of padding) and rounded up to 118.8KB in session B (with 13.8KB of padding). This achieves different effective bucket values for the same basic bucket in different media sessions, ensuring that bandwidth overhead does not exceed the preset 10% and providing resistance to fingerprinting through session-level differentiated mapping.
[0055] As an example, the random offset transformation strategy specifically includes: generating a random offset for the current media session; adding the random offset to each bucket value in the base bucket set to obtain the effective mapping bucket set for the current media session.
[0056] It should be noted that the random offset is a non-zero value, which can be positive or negative, and is used to perform an additive transformation on each bucket value in the base bucket set.
[0057] Random offsets can be generated in two ways: fixed-range generation or adaptive-range generation.
[0058] Fixed range generation includes: presetting a maximum offset amplitude. ,exist and Generate uniformly distributed random numbers within the range as random offsets. The value can be preset by the administrator or determined based on the average spacing of the basic bucket set. For example, the larger the spacing of the basic buckets, the greater the offset can be, and the smaller the spacing of the basic buckets, the less the offset can be, so as to ensure the completeness of the mapping coverage.
[0059] Adaptive range generation includes dynamically determining the offset range based on the density distribution of the base bucket set. Specifically, it involves calculating the minimum spacing between adjacent bucket values in the base bucket set. Set the offset range as This ensures that the relative order of the bucket values in the effective mapping bucket set after the offset is not disordered, thus maintaining the monotonicity of the mapping.
[0060] In the random offset transformation strategy, the base bucket set is: Generate a random offset for the current media session. For example, if the random offset of session A is 5 and the random offset of session B is -3, then add 'd' to each bucket value in the base bucket set to obtain the effective mapping bucket set for the current session. Specifically, if the random offset of session A is 5, then the effective mapping bucket set is: If the random offset of session B is -3, then the effective set of mapping buckets is: It can be seen that the effective bucket value corresponding to the same base bucket (e.g., 110KB) is 115KB in session A and 107KB in session B. Therefore, for media segments with the same actual size (e.g., 105KB), the effective bucket value needs to be rounded up to 115KB in session A (with 10KB of padding), and rounded up to 107KB in session B (with 2KB of padding). Session-level differentiation is also achieved through offset transformation.
[0061] As an example, the index replacement strategy specifically includes: generating a random replacement table for the current media session; rearranging the values of each bucket in the base bucket set according to the random replacement table to obtain the effective mapping bucket set for the current media session.
[0062] It should be noted that the random permutation table is an array of length N, representing the new permutation order of the N bucket values in the base bucket set, used to rearrange the order of the bucket values in the base bucket set. The random permutation table can be generated using the Fisher-Yates shuffling algorithm, specifically: initializing a sequential array perm of length N, where perm[i] = i, i = 0, 1, …, N-1; decrementing from i = N-1 to 1, each time generating a random integer j in the range [0, i], and swapping the values of perm[i] and perm[j]; the final perm array is the random permutation table for the current media session. In this way, it is guaranteed that N! equally probable random permutations are generated, ensuring that the permutation tables generated by different sessions have sufficient randomness and independence.
[0063] In the index replacement strategy, the basic bucket set is: A random permutation table is generated for the current media session. This table defines the new order of bucket values in the base bucket set. For example, if the permutation table for session A is [2,0,3,1,…], it means original index 0 → new index 2, original index 1 → new index 0, etc. The bucket values in the base bucket set are then rearranged according to this random permutation table to obtain the effective mapping bucket set for the current session. Specifically, the base bucket set, in index order, is: {100 (index 0), 110 (index 1), 121 (index 2), 133.1 (index 3), …}, and the random permutation table for session A is: [2,0,3,1,…]. Therefore, the effective mapping bucket set is: If the random permutation table for session B is [1,3,0,2,…], then the set of valid mapping buckets is: Under the index replacement strategy, although the bucket values themselves remain unchanged, the order in which they are arranged changes, causing the same actual size value to be mapped to different target size values in different sessions. In this case, for media segments with the same actual size value (e.g., 105KB), it needs to be rounded up to 121KB (16KB of padding) in session A, and rounded up to 110KB (5KB of padding) in session B. By replacing the bucket order, the same basic bucket can correspond to different effective bucket values in different sessions without changing the bucket values themselves, resulting in a more lightweight deployment.
[0064] S400: Obtain the actual size value of the media segment to be transmitted in the current media session, and determine the target size value corresponding to the actual size value in the set of valid mapping buckets.
[0065] As one example, determining the target size value corresponding to the true size value within the set of valid mapping buckets specifically includes: finding the smallest value greater than or equal to the true size value in the set of valid mapping buckets and using it as the target size value. This rounding-up quantization method ensures that the padded segment length is just enough to accommodate the original data, while keeping the padded amount within a minimum range.
[0066] Furthermore, determining the target size value corresponding to the actual size value in the set of valid mapping buckets also includes: when the actual size value is greater than all valid bucket values in the set of valid mapping buckets, selecting the maximum value in the set of valid mapping buckets as the target size value, and performing a trimming process on the media segment to be transmitted so that the transmission length of the padded media segment to be transmitted is equal to the target size value.
[0067] The method also includes recording relevant information about the media segments that have undergone clipping, for subsequent analysis and adjustment of the generation strategy for the base bucket set.
[0068] For example, the set of valid mapping buckets for the current media session A is If the actual size of a media segment is 105 KB, then the minimum value greater than or equal to 105 KB in the set of valid mapping buckets is searched, which is 112.2 KB. This value is used as the target size, with a padding of 7.2 KB. If the actual size is 140 KB, then all bucket values are less than 140 KB. In this case, the maximum value of 135.762 KB is selected as the target size, with a padding of -4.235 KB. During actual transmission, 4.235 KB is clipped, and the segment overflow is recorded.
[0069] S500: Based on the difference between the target size value and the actual size value, invalid data is filled at the end of the media segment to be transmitted, so that the transmission length of the filled media segment is equal to the target size value before transmission.
[0070] As an example, invalid data is a randomly generated sequence of bytes, padded at the end of the payload of the media segment to be transmitted. Using a random byte sequence for padding prevents attackers from inferring the original segment size by analyzing the patterns in the padded data, further enhancing privacy protection.
[0071] Specifically, the actual size value is The target size is Then the filling amount Call the secure random number generator to generate a number of lengths. A random byte sequence is appended to the end of the original media segment data, making the total length of the padded data equal to... The padded data packet is then sent to the client via the transport layer.
[0072] For example, the set of valid mapping buckets for the current media session A is If the actual size is 105 KB and the target size is 112.2 KB, then the padding is 7.2 KB. The system generates a 7.2 KB random byte sequence, appends it to the end of the original 105 KB segment data, and sends a data packet with a total length of 112.2 KB. Upon receiving the packet, the client removes the 7.2 KB padding data according to the protocol's parsing rules, restoring the original 105 KB media segment data for decoding and playback.
[0073] Through the processing of this invention, the same video content, with a real size of 105KB, appears as 112.2KB in session A and 108KB in session B, exhibiting different traffic size characteristics in the two transmissions. Attackers cannot align and aggregate the sequences observed in session A and session B, nor can they use a pre-collected fingerprint database for matching and identification, effectively resisting fingerprint identification attacks based on segment size sequences.
[0074] To prevent attackers from inferring the content size characteristics of media segments by analyzing the transmission time intervals of media segments, this invention further introduces an independent timing control mechanism decoupled from data size characteristics. Specifically, when transmitting padded media segments to be transmitted, a transmission timing strategy independent of segment size is adopted, thereby ensuring that the transmission timing does not dynamically change with the segment size, thus preventing attackers from using timing information for inference attacks and enhancing overall privacy protection capabilities.
[0075] Transmission timing strategies include one or more of the following: fixed time interval, introduction of random delay, or dynamic adaptation.
[0076] Fixed-interval transmission means that regardless of how the size of the padded segments changes, a segment is sent at a preset fixed time interval to ensure that the transmission rhythm does not fluctuate with the data size. For example, a segment is sent every 100 ms.
[0077] Introducing random delay refers to adding a controllable random delay, such as ±20 ms, to a fixed interval to mask the slight differences in transmission time caused by padding.
[0078] Dynamic adaptation strategy refers to adaptively adjusting the transmission timing parameters based on the current session's bandwidth status or historical transmission records, while ensuring that the timing distribution does not leak segment size information.
[0079] Through an independent timing control mechanism, dual protection is achieved by blurring the size feature and stabilizing the timing feature. Even if an attacker attempts to infer the original segment size through the timing side channel, the attack will fail due to the independence of the timing strategy. As an intermediate coordination layer between the padding mechanism and the transmission engine, the independent timing control mechanism effectively prevents attackers from switching to the timing dimension for side channel analysis after the data size feature has been blurred, thus improving the anti-attack capability and robustness of privacy protection.
[0080] On the other hand, the present invention also provides a dual hiding system of segment size quantization and session bucket mapping permutation, including a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any of the above methods.
[0081] Specifically, the system includes: The bucket configuration module is used to generate a basic bucket set based on a preset bandwidth overhead limit; The session permutation module is used to generate a unique random permutation parameter for the current media session when a new media session is detected to start, and to dynamically transform the base bucket set using the unique random permutation parameter to construct a valid mapping bucket set for the current media session, so that the same base bucket corresponds to different valid bucket values in different media sessions. The size quantization module is used to obtain the true size value of the media segment to be transmitted in the current media session, and determine the target size value corresponding to the true size value in the set of valid mapping buckets; The lightweight padding module is used to pad the end of the media segment to be transmitted with invalid data based on the difference between the target size value and the actual size value, so that the transmission length of the padded media segment to be transmitted is equal to the target size value before transmission.
[0082] Furthermore, the system also includes a strategy linkage module, which connects with the lightweight filling module to collaboratively control the transmission timing of media segments. This module triggers the transmission strategy after filling is complete, ensuring that the transmission time interval does not expose information as the segment size changes.
[0083] This system can be deployed on a streaming media server, running as middleware or a plugin, to process video segments output by the streaming media server in real time. The system's workflow is as follows: Upon system startup, the bucket configuration module reads the preset bandwidth overhead limit configuration, generates a basic bucket set, and stores it in memory. When a new media session is detected, the session permutation module calls the random number generator to generate unique random permutation parameters for the current media session and constructs an effective mapping bucket set according to the numerical transformation strategy. For each media segment to be transmitted in the media session, the size quantization module intercepts the segment data, obtains its true size value, and searches for the minimum value greater than or equal to the true size value in the effective mapping bucket set as the target size value. The lightweight padding module calculates the padding amount, generates a random byte sequence, appends it to the end of the segment payload, and hands the padded segment over to the lower-level transmission module for transmission to the client. S200-S500 are repeated continuously until the session ends. Through the above system, the segment size characteristics can be hidden without modifying the existing streaming media transmission protocol and encoding format, effectively resisting fingerprinting attacks based on segment size sequences.
[0084] The other technical features of the system are consistent with those of the method, and will not be elaborated here.
[0085] In summary, this invention reduces feature resolution and controls bandwidth overhead by rounding up the true size of media segments to a discrete bucket value. On the other hand, it generates a random permutation parameter for each media session and dynamically transforms the basic bucket set, so that the segment size sequence of the same video content is different in different media sessions, making it impossible for attackers to establish a stable fingerprint mapping relationship, thereby achieving effective privacy protection with low bandwidth overhead.
[0086] It should be noted that, for the sake of simplicity, the foregoing embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0087] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0088] In the several embodiments provided in this application, it should be understood that the disclosed methods or systems can be implemented in other ways. For example, the embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
[0089] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0090] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0091] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0092] Those skilled in the art will understand that all or part of the circuits in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, which may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0093] The foregoing description is merely an exemplary embodiment of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Those skilled in the art will readily conceive of embodiments of this disclosure upon considering the specification and practicing the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described herein. The specification and embodiments are to be considered exemplary only, and the scope and spirit of this disclosure are defined by the claims.
[0094] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0095] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A dual hiding method combining segment size quantization and session bucket mapping permutation, characterized in that, The method includes: Generate a basic bucket set based on the preset bandwidth overhead limit; When a new media session is detected to be starting, a unique random permutation parameter for the current media session is generated; The base bucket set is dynamically transformed using the unique random permutation parameter to construct the effective mapping bucket set for the current media session, so that the same base bucket corresponds to different effective bucket values in different media sessions; specifically, it includes: using a numerical transformation strategy to transform each bucket value in the base bucket set as a whole to obtain the effective mapping bucket set for the current media session; The numerical transformation strategy includes one or more of the following: random scaling transformation strategy, random offset transformation strategy, and index replacement strategy; The random scaling transformation strategy specifically includes: generating a random scaling factor for the current media session, multiplying each bucket value in the basic bucket set by the random scaling factor to obtain the effective mapping bucket set for the current media session; The random offset transformation strategy specifically includes: generating a random offset for the current media session; adding the random offset to each bucket value in the base bucket set to obtain the effective mapping bucket set for the current media session; The index replacement strategy specifically includes: generating a random replacement table for the current media session; rearranging the order of bucket values in the basic bucket set according to the random replacement table to obtain the effective mapping bucket set for the current media session; Obtain the actual size value of the media segment to be transmitted in the current media session, and determine the target size value corresponding to the actual size value in the set of valid mapping buckets; Based on the difference between the target size value and the actual size value, invalid data is filled at the end of the media segment to be transmitted, and the transmission length of the filled media segment to be transmitted is equal to the target size value before transmission.
2. The dual hiding method of segment size quantization and session bucket mapping permutation according to claim 1, characterized in that, The generation strategy for the basic bucket set includes one or more of the following: geometric sequence strategy, arithmetic sequence strategy, and clustering-based strategy.
3. The dual hiding method of segment size quantization and session bucket mapping permutation according to claim 2, characterized in that, Based on the preset bandwidth overhead limit, a basic bucket set is generated, specifically including: The basic bucket set is generated using a geometric progression strategy; wherein the ratio between two adjacent basic buckets is determined by the upper limit of bandwidth overhead, so that the filling ratio after rounding up any real size value is less than the upper limit of bandwidth overhead.
4. The dual hiding method of segment size quantization and session bucket mapping permutation according to claim 3, characterized in that, The ratio between two adjacent basic buckets is equal to the sum of 1 and the upper limit of bandwidth overhead.
5. The dual hiding method of segment size quantization and session bucket mapping permutation according to claim 1, characterized in that, Determining the target size value corresponding to the true size value in the set of effective mapping buckets specifically includes: finding the minimum value that is greater than or equal to the true size value in the set of effective mapping buckets, and using it as the target size value.
6. The dual hiding method of segment size quantization and session bucket mapping permutation according to claim 1, characterized in that, The invalid data is a randomly generated byte sequence, and the padding position is located at the end of the payload of the media segment to be transmitted.
7. A dual hiding system combining segmented size quantization and session bucket mapping permutation, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Message forwarding method and device based on token bucket
CN101557348A
Unbalanced privacy set intersection calculation method, system, device and medium
CN120658524A