Abstract:
A system for passively analyzing an aggregation of communication signals simultaneously passing through a network link performs spectral analysis on a trace of communication traffic through the network link. The spectral analysis identifies period components of the trace corresponding to different communication signals. A system for deterring the passive analysis of signals aggregates communication traffic through a network link, such that a plurality of signals simultaneously pass through the network link. The plurality of signals is regulated such that the data packets corresponding to the plurality of signals leave the network link at a common rate. A memory temporarily stores the data packets as they enter the network link, and a timer maintains a fixed time interval for releasing the data packets from the memory.

Description:
BACKGROUND OF THE INVENTION  
       CROSS-REFERENCE TO RELATED APPLICATION  
         [0001]    The present application claims benefit of U.S. Provisional Application No. 60/242,598 filed on Oct. 23, 2000, the entire contents of which is incorporated herein by reference.  
           [0002]    1. Field of the Invention  
           [0003]    The present invention relates generally to a method and system for detecting an encrypted data signal and for ensuring that an encrypted data signal is securely transmitted. More particularly, the present invention relates to the use of frequency analysis techniques to process an encrypted data signal, to detect the presence and characteristics of the signal as well as to minimize its detectability. That is, the present invention provides techniques for detecting and analyzing an encrypted data signal, and also provides techniques for minimizing the detectability of an encrypted data signal.  
           [0004]    2. Related Art  
           [0005]    How information is exchanged underwent major changes in the latter part of the Twentieth Century, and many of the changes can be attributed to the use of digital signals to store and send data. Today, it is common to transmit information over public communication networks, such as public switched telephone networks and other data networks. Examples of this include the prevalent use of electronic mail to communicate messages between parties, and the sharing of information in other ways via the Internet.  
           [0006]    Because of the public nature of communication networks such as the Internet, there is concern that the integrity of sensitive information may be compromised by those who intrude on a transmission without permission. Such sensitive information may include credit card information, banking information, confidential corporate information, and information relating to the trading of securities, for example. Fear of having their private information accessed by an unauthorized party has caused some to refrain from participating in “on-line” shopping and “on-line” banking, and has hindered a more widespread use of public communication networks for transmission of sensitive information. This has led some corporate entities to invest large sums of money to continuously improve the security of their information transmissions.  
           [0007]    There are two major types of security attacks on digital transmissions that can occur: active attacks and passive attacks. An active attack is one in which a data stream is modified or interrupted by an intruder, or a false data stream is created by an intruder. Examples of active attacks include the unauthorized alteration of information available from a site on the World Wide Web (Web), and the unauthorized prevention of access to information from a Web site. It should be understood that intruders need not be actual persons, but may be so-called software viruses and worms.  
           [0008]    In contrast, a passive attack is one in which a transmission is monitored but is not altered, and is akin to eavesdropping. One type of passive attack relates to the unauthorized access by an intruder to confidential transmissions. Examples of such access include the unauthorized reading of electronic mail and the unauthorized access to transmissions relating to sensitive financial transactions, such as computerized securities trading.  
           [0009]    Another type of passive attack relates to traffic analysis, in which transmission traffic is analyzed by an intruder to extract information about the transmissions themselves, as well as information about the communicating parties. Such information includes the location and identity of the communicating parties, and how long and how frequent the transmissions are. Analysis of transmission traffic may be used by an intruder to deduce what the transmissions pertain to, without directly accessing any of the transmissions themselves.  
           [0010]    For example, it has been said that one can tell when the Pentagon is planning a military operation by tracking the number of pizza deliveries to its facilities. Similarly, it has been said that some law firms leave their office lights on all the time, to prevent anyone from monitoring when their lawyers are working unusually long hours, which could indicate that they may be involved in preparing for an important matter for their known corporate clients, perhaps indicating that it is a good time to buy or sell that company&#39;s stock. Although the above examples do not involve the transmission of information over a communication network, it is not difficult to imagine an example in which an intruder monitors the traffic of transmissions from a large brokerage firm in an effort to obtain information on trends in the stock markets.  
           [0011]    On the other hand, there are many occasions in which it is desirable to be able to detect communications between parties, without actually “eavesdropping” or directly accessing the communications or modifying the communications in any way. For example, law enforcement agencies may want to confirm that a relationship exists between particular parties, by showing that those parties have communicated with each other via the Internet, without actually “tapping the line,” which generally requires a warrant.  
           [0012]    The present invention relates to passive attacks and provides techniques for performing traffic analysis of encrypted Internet transmissions to determine characteristics of the transmissions, such as the locations of the communicating parties. The present invention also provides countermeasures to the unauthorized traffic analysis of encrypted Internet transmissions.  
           [0013]    Basically, the Internet is a packet-switched network. The most common protocols used by computers and networks to communicate with one another via the Internet are the Transmission Control Protocol (TCP) and the Internet Protocol (IP), commonly known as TCP/IP. TCP breaks down a transmission into packets at the sending end and reassembles the packets at the receiving end. IP ensures that the packets are sent to the right destination.  
           [0014]    Generally, software called a TCP/IP stack is required to access the Internet. Diagrams illustrating the location of security features at various levels in a TCP/IP stack are shown in FIGS.  1 ( a )- 1 ( c ).  
           [0015]    A number of different approaches have been used to achieve different degrees of communication security on the Internet. One approach is to implement security at the application level, as shown in FIG. 1( c ), so that specific security measures are embedded within a particular application. Examples of this approach include the Secure Electronic Transaction (SET), which is a set of security protocols designed to protect credit-card transactions; the Secure Multi-purpose Internet Mail Extension (S/MIME) and Pretty Good Privacy (PGP) protocols, which are designed to protect electronic mail; and Kerberos, which is a set of authentication protocols designed to ensure authorized access to service applications. An advantage of application-level security is that it can be tailored to the needs of each application. However, one disadvantage of implementing security measures at the application level is that separate protocols must be developed for each application.  
           [0016]    Another approach is to implement security at the transport level, in a layer just above the TCP layer, as shown in FIG. 1( b ). For example, a measure of Web security may be obtained by using the Secure Sockets Layer (SSL) set of protocols. One advantage of transport-level security is that is operates on the transport of data, regardless of the application being used.  
           [0017]    In order to implement security at the network level, or at the IP layer shown in FIG. 1( a ), a set of protocols known as IP Security (IPsec) has been developed IPsec is capable of encrypting and/or authenticating all traffic at the IP layer, packet by packet, and may include a filtering function so that only selected packets are subjected to IPsec processing. An advantage of IPsec is that it is transparent to end users and applications. Details regarding the implementation of IPsec in a network are known to those involved in network security and, thus, will be omitted herein.  
           [0018]    Passive attacks generally are difficult to detect, because the intended recipient of a transmission receives the transmitted information uncorrupted. Therefore, instead of combating passive attacks through detection, efforts are usually directed to their prevention. The most commonly-used preventive technique is encryption.  
           [0019]    Encryption deals with the transformation of data, according to an algorithm, into a state that is difficult to decipher without knowing the decryption procedure, or key(s). That is, even if the algorithm is known, the encrypted data would be difficult to decipher without knowing at least one key. A diagram illustrating conventional encryption is shown in FIG. 2.  
           [0020]    As mentioned above, encryption can be implemented at a number of different layers of a TCP/IP stack: the application level, the transport level, and the network level. For example, one can encrypt the individual packets, each link in the transmission path, or the application data. The different layers have different associated encryption costs. Encrypting every link means that a private network must be kept completely disjoint from the public networks that do not encrypt their links. An application-level approach requires each application to provide its own means of security. For these reasons, much attention has been focussed on encryption of individual packets using IPsec.  
           [0021]    Notwithstanding the advances that have been made in encryption technology, traffic analysis can be performed on a single encrypted communication to determine what application was used for that communication. Thus, encryption alone is insufficient to prevent traffic analysis.  
           [0022]    One method proposed to remedy this problem is to aggregate, or mix, multiple traffic streams over a single security association between two points. It is generally believed that, for aggregated traffic, IPsec would provide communication privacy that largely is immune to traffic analysis. However, as the discussion below will reveal, it is possible to undo the effects of aggregation and to identify individual conversations in the mix even when IPsec is implemented.  
         SUMMARY OF INVENTION  
         [0023]    An object of the present invention is to provide a system for detecting patterns in encrypted IP traffic, in order to determine the vulnerabilities of the encrypted IP traffic.  
           [0024]    Another object of the present invention is to provide a system for deterring passive attacks on transmissions across communication networks.  
           [0025]    A further object of the present invention is provide a system that uses signal processing techniques to reveal patterns in encrypted IP traffic.  
           [0026]    Yet another object of the present invention is to provide a system for determining the location of communicating parties by passively analyzing IP traffic.  
           [0027]    Still another object of the present invention is to provide a system for masking patterns in encrypted IP traffic, as a defense against the extraction of confidential/sensitive information from the patterns.  
           [0028]    Yet another object of the present invention is to provide a system for masking packet arrival times and traffic flow shapes of encrypted IP traffic, to make it difficult to determine what applications are being used by the communicating parties over an encrypted link, and who the parties are, if the encrypted IP traffic is subjected to traffic analysis.  
           [0029]    According to the invention, information regarding the location of communicating parties is obtained from an encrypted stream of IP traffic by analyzing the stream of IP traffic stream using, for example, cepstral analysis techniques, wavelet analysis techniques, and Hidden Markov Models. Results of the analysis can yield patterns in the traffic stream, which, in turn, can be used to determine the location of the communicating parties sending the data packets. The invention also provides a system for preserving the confidentiality of communication signals by reshaping them to minimize the presence of detectable patterns.  
           [0030]    According to one aspect, the present invention provides an apparatus for analyzing signals in a trace of communication traffic through a network link. The trace corresponds to the arrival times of at least a first packet stream a second packet stream simultaneously passing through the network link, with the first and second packet streams respectively corresponding to first and second communications. A spectrum analyzer performs cepstral analysis of the trace, and identifies the periodic components of the signals corresponding to the first and second communications.  
           [0031]    According to another aspect of the present invention, patterns are detected in a trace of communication traffic through a network link by performing wavelet analysis to analyze the periodic components in the trace.  
           [0032]    In yet another aspect of the present invention, shapes are detected in a trace of communication traffic through a network link using Hidden Markov Models. Shapes in the trace are differentiated by training statistical models on a data set of a shape of the trace, comparing a training score for each of the statistical models with one another, and classifying the shape according to a statistical model with a highest training score.  
           [0033]    In still another aspect of the present invention, passive analysis of a plurality of signals that simultaneously pass through a network link is deterred by temporarily storing data packets entering the network link in a memory, and maintaining a fixed time interval for releasing the data packets from the memory. The data packets corresponding to the plurality of signals passing through the network link are thus regulated to leave the network link at a common rate.  
           [0034]    According to one embodiment, a method of analyzing aggregated signals in a trace of communication traffic is provided. The method includes the steps of: (i) obtaining a trace of communication traffic through a network link, the trace corresponding to the arrival times of at least a first packet stream and a second packet stream simultaneously passing through the network link, with the first and second packet streams respectively corresponding to first and second communications; (ii) performing cepstral analysis on the trace; and (iii) identifying periodic components in the signals corresponding to the first and second communications.  
           [0035]    According to another embodiment, a method for deterring separation of aggregated signals in network communications is provided. The method includes the steps of: (i) aggregating communication traffic through a network link, such that a plurality of signals simultaneously pass through the network link, wherein the plurality of signals are comprised of respective series of data packets; and (ii) regulating the plurality of signals through the network link, such that the series of data packets corresponding to the plurality of signals leaves the network link at a common rate. The regulating step utilizes a memory, which temporarily stores data packets entering the network link, and a timer, which maintains a fixed time interval for releasing the data packets from the memory.  
           [0036]    In another embodiment, a programmable computer for use in analyzing aggregated signals in a trace of communication traffic is provided. The programmable computer includes a memory with at least one region for storing computer-executable program code, and a processor for executing the program code stored in the memory. The program code includes code for performing cepstral analysis on a trace of communication traffic through a network link. The trace corresponds to the arrival times of at least a first packet stream and a second packet stream simultaneously passing through the network link, with the first and second packet streams respectively corresponding to first and second communications. The cepstral analysis identifies periodic components in the signals corresponding to the first and second communications.  
           [0037]    In yet another embodiment, a programmable computer for use in deterring separation of aggregated signals in network communications is provided. The programmable computer includes a memory with at least one region adapted to store computer executable program code, and a processor adapted to execute the program code stored in the memory. The program code includes: (i) code for aggregating communication traffic through a network link, such that a plurality of signals simultaneously pass through the network link, wherein the plurality of signals are comprised of respective series of data packets; and (ii) code for regulating the plurality of signals through the network link, such that the series of data packets corresponding to the plurality of signals leaves the network link at a common rate. The code for regulating controls a memory, which temporarily stores data packets entering the network link, and a timer, which maintains a fixed time interval for releasing the data packets from the memory.  
           [0038]    In still another embodiment, a computer-executable program stored on a computer-readable medium is provided. The program operates to analyze aggregated signals in a trace of communications traffic. The program includes code for performing cepstral analysis on a trace of communication traffic through a network link. The trace corresponds to the arrival times of at least a first packet stream and a second packet stream simultaneously passing through the network link, with the first and second packet streams respectively corresponding to first an second communications. The cepstral analysis identifies the periodic components in the signal corresponding to the first and second communications.  
           [0039]    In another embodiment, A computer-executable program stored on a computer-readable medium is provided. The program operates to deter separation of aggregated signals in network communications. The program includes: (i) code for aggregating communication traffic through a network link, such that a plurality of signals simultaneously pass through the network link, wherein the plurality of signals are comprised of respective series of data packets; and (ii) code for regulating the plurality of signals through the network link, such that the series of data packets corresponding to the plurality of signals leaves the network link at a common rate. The code for regulating controls a memory, which temporarily stores data packets entering the network link, and a timer, which maintains a fixed time interval for releasing the data packets from the memory.  
           [0040]    In still another embodiment, an apparatus for analyzing aggregated signals in a trace of communication traffic through a network link is provided. The trace corresponds to the arrival times of at least a first packet stream and a second packet stream simultaneously passing through the network link, with the first and second packet streams respectively corresponding to first and second communications. The apparatus includes cepstral analysis means for identifying periodic components in the signals corresponding to the first and second communications.  
           [0041]    In yet another embodiment, an apparatus for deterring separation of a plurality of signals that simultaneously pass through a network link includes: (i) memory means for temporarily storing data packets entering the network link; and (ii) timing means for maintaining a fixed time interval for releasing the data packets from the memory means. The series of data packets corresponding to the plurality of signals passing through the network link is regulated to leave the network link at a common rate.  
           [0042]    These and other objects, features, and advantages will be apparent from the following description of the preferred embodiments of the present invention. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0043]    The present invention will be more readily understood from a detailed description of the preferred embodiments taken in conjunction with the following figures.  
         [0044]    FIGS.  1 ( a )- 1 ( c ) illustrate the relative locations of security features in a TCP/IP stack, with  
         [0045]    [0045]FIG. 1( a ) corresponding to the network level;  
         [0046]    [0046]FIG. 1( b ) corresponding to the transport level; and  
         [0047]    [0047]FIG. 1( c ) corresponding to the application level.  
         [0048]    [0048]FIG. 2 illustrates a conventional encryption scheme that uses one or more keys.  
         [0049]    FIGS.  3 ( a )- 3 ( d ) are plots summarizing cepstral analysis.  
         [0050]    [0050]FIG. 4 schematically shows an apparatus for performing cepstral analysis.  
         [0051]    [0051]FIG. 5( a ) shows a FFT spectrum of a trace of IP traffic; and FIG. 5( b ) shows an enlargement of a portion of the spectrum of FIG. 5( a ).  
         [0052]    [0052]FIG. 6( a ) shows a cepstrum of the spectrum of FIG. 5( a ); and FIG. 6( b ) shows an enlargement of a portion of the cepstrum of FIG. 6( a ).  
         [0053]    [0053]FIG. 7 is a diagram illustrating a token bucket scheme.  
         [0054]    [0054]FIG. 8 schematically shows an apparatus for reshaping communication traffic. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0055]    Signal processing techniques developed for sonar and submarine acoustics and for speech recognition can be used to perform valuable traffic analysis on security associations containing IPsec-encrypted data from multiple traffic streams, that is, aggregated traffic streams. In particular, signal processing techniques can be used to identify individual traffic streams from the aggregate, and, in some cases, identify where each stream originates and terminates behind security gateways implementing IPsec.  
         [0056]    Prior to the present invention, the only use of signal processing techniques to analyze the shape of IP traffic has been the use of frequency analysis to study TCP round-trip times. One reason that signal processing techniques generally have not been used is that the data-communications curricula of colleges and universities emphasize queuing theory rather than signal processing as a method for analyzing data traffic. Thus, the concept of applying digital signal processing (DSP) techniques, most notably spectral analysis, to the traces of TCP/IP traffic is novel. The following discussion deals with how to apply signal processing techniques to traffic traces.  
         [0057]    Internet applications and protocols have distinctive transmission patterns, or shapes, that can be used to detect them, even after the data transmissions, or traffic, have been encrypted. The shapes result from features such as packet sizes, packet arrival times, and transmission intervals. Packet sizes can be masked using IPsec, because IPsec contains options to pad packet lengths to mask their true sizes. Masking packet arrival times and transmission intervals, however, is harder to accomplish. To date, there has been no attempt to conceal these traffic features of IP traffic.  
         [0058]    A trace of IP traffic listing the size of each packet transmitted and timestamps of when each packet was seen enables an intelligent observer to determine what applications were used to transmit those packets, because the applications&#39; individual protocols have identifying characteristics. For example, a bulk transfer of information is characterized by a stream of large packets sent in one direction, with corresponding fixed-size acknowledgments, such as 40-byte acknowledgments, sent in the opposite direction. In contrast, an interactive communication shows more variability than a bulk transfer, because an interactive communication involves variable-sized packets, corresponding to a user&#39;s keystrokes, being sent in one direction, and variable-sized packets being sent in the opposite direction in response.  
         [0059]    Traffic analysis can be performed by observing only the timestamps of the transmitted packets. For example, if a bulk transfer is compared with an interactive communication, and both are transmitted concurrently over a security association, or link, frequency analysis performed on the intervals between packets will reveal two different timing frequencies. The bulk transfer will show a characteristic frequency that is essentially the inverse of its round-trip time. This characteristic frequency results from the receiving end of the bulk transfer transmitting an acknowledgment to the sending end for each packet or group of packets received, thus prompting the sending end to transmit a new packet or group of packets in response. Since there is almost always more data ready to be sent, the send-receive-acknowledge protocol of a bulk transfer gives rise to a regular transmission pattern.  
         [0060]    On the other hand, an interactive communication will show a highly variable round-trip time that reflects not only the packet round-trip time but also the responder&#39;s thinking time, which is a process that follows the well-known Poisson probability distribution. Therefore, in the present example, an analysis of just a trace of the timestamps of transmitted packets can enable an observer to determine that the trace corresponds to both a bulk transfer and an interactive communication occurring simultaneously over the link.  
         [0061]    A trace of IP traffic can be analyzed using cepstral analysis. This technique is most commonly associated with speech signal processing, but has also been used to analyze seismic signals. The following is a brief description of cepstral analysis, and demonstrates how this technique can be used to separate various components of IP traffic.  
         [0062]    Consider a signal x(t), composed of two periodic signals a(t) and b(t). The spectrum of x(t), X(ω), varies as a function of frequency, or ω. Assume that X(ω) is a composite of a first spectrum, A(ω), and a second spectrum, B(ω), corresponding to signals A and B, respectively. Using a multiplicative model of the two spectra, A(ω) and B(ω), the spectral magnitude can be written as  
         | X (ω)=| A (ω)|| B (ω)|.  Eqn. 1  
         [0063]    The logarithm of Eqn. 1 is the linear equation  
         log| X (ω)=log| A (ω)|+log| B (ω)|.  Eqn. 2  
         [0064]    A graphical representation of Eqn. 2 is commonly referred to as a log-magnitude plot. The Fourier transform of the left-hand-side of Eqn. 2 is the cepstrum of X, given by  
               c        (   n   )       =       1     2      π              ∫     -   π     π          log                            X        (   ω   )                 jω                 n               ω       ,                     Eqn   .              3                               
 
         [0065]    where n is the order of the cepstral component. Usually, Fast Fourier Transform (FFT) techniques are used to determine c(n).  
         [0066]    FIGS.  3 ( a ) to  3 ( d ) summarize cepstral analysis, and FIG. 4 schematically depicts an apparatus for performing cepstral analysis. FIG. 3( a ) shows an aggregated signal X as a function of n, which is a time parameter, and FIG. 3( b ) shows the Fourier transform of X, with the spectral envelope of X shown by the dashed line. The logarithm of the Fourier transform of X is shown in FIG. 3( c ), with the spectral envelope superimposed. The cepstrum of X, or the Fourier transform of the log-magnitude plot of FIG. 3( c ), is shown in FIG. 3( d ).  
         [0067]    The cepstrum has large discrete values that correspond to periodic patterns in the input signals a(t) and b(t). Therefore, cepstral analysis can be used to identify the contributions to x(t) from a(t) and b(t).  
         [0068]    Historically, the signal processing community has been interested in two types of signals: periodic signals, which are characterized by intrinsic repetitions, and transient signals, which are characterized by perturbations that occur over a small time interval. Periodic waveforms (signals) are best analyzed by Fourier techniques. With this class of techniques, a signal is decomposed into its sinusoidal spectral components. Thus, signals that are fundamentally periodic (sinusoidal) tend to result in identifiable spectral lines. This characteristic is also widely used to identify very low level signals in the presence of additive noise. If the noise is random and does not contain periodic components, then its energy is diffused through the spectrum, whereas the energy of the signal itself is focused in one spectral bin.  
         [0069]    Standard Fast Fourier Transformation (FFT) analysis can be applied to a stream of data, or trace, representing the traffic of TCP/IP streams to extract patterns, or traffic shapes, that characterize the data. The detection of traffic shapes is somewhat complicated, and is essentially a three-part problem. The first part is to find a signal representation of the raw IP traffic, or the trace, that can lend itself to manipulation by signal-processing algorithms. The second part is to develop an analysis function that will extract from the trace the desired information about traffic shapes, where the analysis function is in an easily manipulated form. The second part is closely related to the choices made in the first part, and both parts are likely to undergo optimization through repeated iteration. Finally, the third part is to detect the signatures of the traffic shapes in the presence of extraneous data, or noise.  
         [0070]    In regard to the first part, the identifiable information of the shape of a TCP/IP transmission can be represented by a signal representation in the form of  
                 y        [   n   ]       =       ∑     i   =   0       Npackets   -   1            ∂     [     n   -     t   i       ]           ,           Eqn   .              4                               
 
         [0071]    where ∂[n−t i ]is the Dirac delta (impulse) function, and t i  is the arrival time of the packet. The signal of Eqn. 4 can be manipulated using spectral techniques.  
         [0072]    Note that Eqn. 4 does not take into account other information that may be available, such as packet size, for example. Such additional information may be taken in consideration when encoding the packets, such as encoding the time duration of the transmitted pulses, as well as when decoding a transmission, such as in a parameter for further differentiating the shapes of the different data streams from one another.  
         [0073]    If a straight FFT is applied to a signal representation of a trace of IP traffic, the resulting spectrum looks like FIG.  5 ( a ). Although a trained eye can see that there is an intrinsic pattern to the spectrum, because its level oscillates with a distinct period, the pattern is masked by the overall complexity of the spectrum. This complexity, or large bandwidth, results from the fact that the arrival times of packets are represented by impulse functions. Pulse trains of impulse functions have very wide bandwidths because they are of very limited time duration. Thus, their spectra are quite broad (and messy). However, the information of interest is the periodicity of the train of pulses, which is indicated by repetitions in spectral lines, also known as harmonics, and not just the lines themselves.  
         [0074]    [0074]FIG. 5( b ) is an enlargement of a small portion of the spectrum of FIG. 5( a ), showing its periodicity. FIG. 6( a ) shows the cepstrum of the spectrum of FIG. 5( a ), and represents packet-arrival data for the IP traffic. That is, given only the packet arrival times from the signal of the IP traffic, cepstral analysis was used to extract a packet-arrival periodicity from the data.  
         [0075]    The cepstrum of FIG. 6( a ) reveals several items of information about the IP traffic. A round-trip time of approximately 2010 seconds is indicated by the peak in the graph at 2010 clock ticks. FIG. 6( b ), which is an enlargement of the leftmost portion of FIG. 6( a ), shows an average time between when a packet is received and when it is acknowledged of 2 seconds, as indicated by the peak in the graph at 2 clock ticks. Another peak at around 104 clock ticks is likely the result of delayed TCP acknowledgments.  
         [0076]    By performing the above cepstral analysis, an observer can make a reasonably good guess as to the location of the communicating parties. The interval of 2 clock ticks indicates that one endpoint of the communication is very close to the observation point. By using the speed of light to estimate the distance from the observation point, a guess can be made as to the minimum distance that end must be from the observation point. If information about the topology of where the endpoint lies is available, then the observer has sufficient information to identify which machine corresponds to the endpoint.  
         [0077]    Thus, the above discussion demonstrates that standard techniques for encrypting IP traffic, including concealing the original packet sizes by padding them (as done by IPsec), do not provide adequate protection against traffic analysis based on observed packet arrival times.  
         [0078]    Exactly how vulnerable aggregated encrypted traffic is to traffic analysis is not known and apparently has not been studied prior to the investigation resulting in the present invention. The above example shows that even when information is encrypted and the original packet sizes are masked with padding, traffic analysis based on packet arrival times can be used to determine the location of the sender and the receiver, and, thus, to guess the identities of the communicating parties.  
         [0079]    The above examples deal with the case of a transfer of information between two parties. However, as mentioned earlier, the trend is to deter traffic analysis by aggregating traffic from multiple transmissions and then sending the aggregated traffic within one security association. In such a situation, an intruder does not know the contents of the transmitted packets, how many concurrent communications are taking place, or the final destination of any of the packets. The following discussion deals with ways to analyze aggregated traffic using detection theory originally developed for radar and sonar applications.  
         [0080]    In addition to the applying spectral techniques, such as cepstral analysis, to IP traffic analysis, other techniques for characterizing signals by their transient as well as their periodic qualities include wavelet analysis and statistical analysis using Hidden Markov Models.  
         [0081]    Wavelet analysis was developed in the 1980s as a way to analyze data over different time scales. That is, with wavelet analysis the same data can be simultaneously analyzed for small-scale features, such as the data/acknowledgment event doublets at a period of 2 clock ticks in FIG. 6( b ), as well as for larger features, such as the overall 2010 clock tick period of FIG. 6( a ). The periodicity of the trace, or signal, of IP traffic is readily observable through cepstral analysis, as discussed above. However, the range of scales in the trace, on the order of 10 4  or higher, complicates the use of other spectral techniques.  
         [0082]    Wavelet techniques can be used to analyze IP traffic with different scale settings, allowing fine, transient detail characteristics to be observed simultaneously with longer time-duration characteristics. Presently, wavelet analysis packages are readily available in commercial products such as Matlab®.  
         [0083]    Wavelet analysis decomposes a time series into time-frequency space, so that the dominant modes of variability can be determined, as well as how those modes vary with time. The steps involved in wavelet analysis are known and may include the following:  
         [0084]    1. Find a spectral transform of the time series.  
         [0085]    2. Choose a wavelet function and a set of scales to analyze the spectral transform.  
         [0086]    3. Construct a normalized wavelet function for each scale.  
         [0087]    4. Find a wavelet transform for each scale.  
         [0088]    5. Determine a “cone of influence” and a Fourier wavelength at each scale.  
         [0089]    6. Plot a wavelet power spectrum, e.g., a graph of scale as a function of time.  
         [0090]    7. Assume a background Fourier power spectrum at each scale, and use a chi-squared statistical technique to find a confidence (statistical significance) contour.  
         [0091]    In the first step, a continuous spectral transform or a discrete spectral transform of a trace of IP traffic is obtained. Although the following describes the use of a continuous spectral transform, it is to be understood that the description is adaptable to the use of a discrete spectral transform. In the continuous case, Fourier transformation can be performed on a sliding segment of the trace of time length T, with the trace having a time step of δt and a total length of Nδt. This gives frequencies from T −1  to (2δt) −1 . In the discrete case, the trace is transformed into a sequence of vectors of scale n. Naturally, the discrete case converges with the continuous case for large n.  
         [0092]    In the second step, a wavelet function, ψ0(η), is chosen, where η is a non-dimensional time parameter. To be a usable wavelet function, the function must have a zero mean and must be localized in both time and frequency space. For example, the Morlet wavelet may be used:  
         ψ 0 (η)=π −1/4   e   1ω     0     η   e   −η     2     /2 ,  Eqn. 5  
         [0093]    where ω 0  is a non-dimensional frequency.  
         [0094]    The continuous wavelet transform of a discrete sequence x n  is defined as the convolution of xn with a scaled and translated version of ψ 0 (η):  
                   W   n          (   s   )       =       ∑       n   ′     =   0       N   -   1              x   n     ·       ψ   *          [         (       n   ′     -   n     )        dt     s     ]             ,           Eqn   .              6                               
 
         [0095]    where the “*” indicates the complex conjugate and s is the wavelet scale. By varying the wavelet scale s and translating along n, the localized time index, a picture can be constructed showing both the amplitude of any features versus the scale, as well as how the amplitude varies with time. The subscript 0 on ψ has been dropped to indicate that ψ has also been normalized.  
         [0096]    To approximate the continuous wavelet transform, the convolution (Eqn. 6) should be done N times for each scale, where N is the number of points in the time series. By choosing N points, the convolution theorem allows us do all N convolutions simultaneously in Fourier space using a discrete Fourier transform (DFT). The DFT of x n  is  
                   X   ^     k     =       1   N            ∑     n   =   0       N   -   1              x   n                 -   2        π                                    kn   /   N                 ,           Eqn   .              7                               
 
         [0097]    where k=0 . . . N−1 is the frequency index. In the continuous limit, the Fourier transform of a function ψ(t/s) is given by {circumflex over (ψ)}(sω). By the convolution theorem, the wavelet transform is the inverse Fourier transform of the product:  
                   W   n          (   s   )       =       ∑     k   =   0       N   -   1                X   ^     k              ψ   ^     *          (     s                   ω   k       )                                    ω   k        n                 δ                 t             ,           Eqn   .              8                               
 
         [0098]    where the angular frequency is defined as  
               ω   k          {                 2                 π                 κ       N                 δ                 t       :     κ   ≤     N   2                       2      π                 κ       N                 δ                 t       :     κ   &gt;     N   2               .               Eqn   .              9                               
 
         [0099]    Using Eqn. 8 and a standard Fourier transform routine, the continuous wavelet transform can be calculated (for a given s) at all n simultaneously.  
         [0100]    In the third step, it is ensured that the wavelet transforms (Eqn. 8) at each scale s are directly comparable to each other by normalizing the transform to have unit energy:  
                 ψ   ^          (     s                   ω   k       )       =         (       2      π                 s       δ                 t       )       1   /   2                  ψ   ^     0          (     s                   ω   k       )       .               Eqn   .              10                               
 
         [0101]    With the normalizations, each scale s has the number of data points N given by  
                 ∑     k   =   0       N   -   1                     ψ   ^          (     s                   ω   k       )            2       =     N   .             Eqn   .              11                               
 
         [0102]    The fourth step is performed using Eqn. 8. In the fifth step, it is determined where “edge-effect” errors are important, such as the beginning and the end of the wavelet power spectrum, which is a combination of the real and imaginary parts of the wavelet transform W n (s), or  
         |W n (s)| 2 ,  Eqn. 12  
         [0103]    and the edge-effect errors are taken into account so that there is a minimum impact on the wavelet power spectrum.  
         [0104]    In the sixth step, the wavelet power spectrum is plotted as a contour plot. In the seventh step, a background level is assumed at each scale, and statistical methods, such as the chi-squared distribution, is used to determine the contour for a desired confidence level.  
         [0105]    The wavelet transform is essentially a bandpass filter of a uniform shape and varying location and width. Therefore, it is possible to reconstruct the original time series by deconvolution or an inverse filter. This is straightforward for an orthogonal wavelet transform (which has an orthogonal basis), but for the continuous wavelet transform it is complicated by the redundancy in time and scale. However, this redundancy also makes it possible to reconstruct the time series using a completely different wavelet function, the easiest of which is a delta (δ) function. In this case, the reconstructed time series is just the sum of the real part of the wavelet transform over all scales.  
         [0106]    The filter can be used with a defined threshold of wavelet power, which serves to remove the low-amplitude (noise) regions of the wavelet transform. This type of filtering removes noise at all frequencies, and can be used to locate single events in a broad power spectrum or multiple events that have varying frequency.  
         [0107]    Thus, the above discussions shows that wavelet analysis can be used to deconvolute a trace of aggregated IP traffic, so that contributions to the trace from individual communications can be separated. Wavelet analysis may be used to filter various shapes in the IP traffic, thus facilitating the identification of various types of communication, such as bulk transfers, interactive communications, acknowledgments, etc., for example, thereby also facilitating identification of the communicating parties.  
         [0108]    Statistical techniques may be used to analyze IP traffic by using a Hidden Markov Model (HMM) signal representation. A HMM representation incorporates the temporal aspect of transmission events as well as higher order characteristics, such as packet size, of each event. HMMs have been used for pattern matching in speech and natural language processing, and for transient-signal classification for sonar acoustic processors.  
         [0109]    A HMM can be considered a finite state machine, where transitions can occur between any two states, but in a probabilistic manner. For example, a model consists of states, a topology of connections between the states, and associated parameters, which are learned from examples in a training phase. Preferably, a generative model is used, wherein the states have outputs that are observed feature vectors. The probability density associated with the model is the probability density for the generation of the observed feature vectors in a sequence, which is estimated from training data.  
         [0110]    Any known training procedure may be used. Training for statistical sequence systems generally entails:  
         [0111]    1. using current parameters to estimate posterior probabilities for hidden variables; and  
         [0112]    2. using the posterior probabilities to determine new parameters that maximize an expectation of an output.  
         [0113]    For a Markov model, the probability density of the sequence is broken up into a combination of probability densities for the sub-sequences using a Markov assumption. The output of a Markov model is a deterministic event. For a HMM, the output is a probability density function. That is, for any observed output sequence, the generating state sequence of a HMM is hidden.  
         [0114]    In the case of IP traffic, each state has a measurable output, which can be either deterministic or probabilistic, and the outputs are events that are logged in the trace of the IP traffic, either directly or by some easily generated statistic or feature of the data.  
         [0115]    In the context of differentiating between shapes in a trace of IP traffic, a given HMM can be trained on a shape data set using a standard technique such as, for example, the Baum-Welch re-estimation technique. The trained HMM is then used to score unknown data sets using another standard technique such as, for example, the forward-backward procedure. That is, the Baum-Welch re-estimation technique is used to train a HMM model to a signal, and the forward-backward procedure is used to classify how well a trained HMM matches a new signal. In a classification context, several HMMs are each trained on a specific class of an unknown pattern, and the HMM that generates the highest score against the unknown pattern indicates the class of that pattern.  
         [0116]    As discussed above, one problem in detecting traffic patterns is determining which peaks or shapes in a cepstrum are of interest. Because there is no a priori information about the probability of there being a real shape to detect, probability theory dictates that the best option is to use the Neyman-Pearson Lemma.  
         [0117]    The Neyman-Pearson Lemma states that the optimum detector consists of comparing the value of a test statistic to a simple threshold. In such a case, there are two types of errors: Type 1 is a false alarm (FA), where an event detection is claimed even though there is no event there; and Type 2 is a miss, where an event fails to be detected. Unfortunately, the probability of FA cannot be reduced without increasing the probability of a miss. Adjusting an acceptable error threshold allows us to select a balance between these two errors.  
         [0118]    The probability of detection is given as  
           Prob{D}= 1 −Prob{Miss}.   Eqn. 13  
         [0119]    By fixing the false alarm probability (or rate), Prob{FA}, the probability of detection, Prob{D}, is maximized. A plot of Prob{D} vs. Prob{FA} as a function of the threshold is called a Receiver Operating Characteristic (ROC) Curve, and is the fundamental tool for tuning detection performance.  
         [0120]    With spectral techniques, such as those discussed above, the statistic to be generated is the value in each cepstral bin, corresponding to shapes with a given average periodicity. The detector used compares the value in each bin to fixed threshold values, and determines a shape to be present if the threshold values are exceeded.  
         [0121]    One approach to generating the threshold values for detecting a given shape periodicity, i.e., the detection threshold for one particular cepstral bin, is to assume there are K sets of “no shape present” event logs and L sets of “shape present” event logs.  
         [0122]    First, the cepstral statistics of the bin in question are generated using the technique discussed above:  
         [0123]    Compute T(k) for each “shape not present” trace, for k=1 . . . K; and  
         [0124]    Compute T(1) for each “shape present” trace, for l=1 . . . L.  
         [0125]    Second, as a function of the detection threshold, γ, the following is computed:  
                 nfa        (   γ   )       =         ∑     k   =   1     K          T        (   k   )         ≥   γ       ,           Eqn   .              14                               
 
         [0126]    where nfa(γ) is the number of incorrectly detected “no shape present” events, or false alarms, and  
               nd        (   γ   )       =         ∑     l   =   1     L          T        (   l   )         ≥     γ   ,               Eqn   .              15                               
 
         [0127]    where nd(γ) is the number of correctly detected “shape present” events.  
         [0128]    If K and L are chosen to be sufficiently large, it is possible to make good estimates of Prob{FA} and Prob{D}. Note that the two probabilities are still functions of γ.  
         [0129]    From the above calculations, there is enough information to generate a ROC curve for the detector. Various measures can be used to select the operating point, but the easiest to do initially is to fix Prob{FA} to an acceptable value, thus determining the resulting γ and Prob{D}.  
         [0130]    The above discussions deal with ways to analyze a trace of IP traffic, which may be used by law enforcement agencies and governmental investigative agencies to passively analyze the traffic of IP transmissions to obtain information regarding the transmissions and the communicating parties. Of more concern to the general public, however, is to be able to prevent the extraction of information, such as packet arrival times, from IP traffic.  
         [0131]    One technique is referred to as “filling the channel,” and thwarts traffic analysis by keeping the network channel busy all the time. That is, fake (dummy) IP traffic is transmitted when there is no real IP traffic present. Unfortunately, this technique only works on some types of networks. For instance, CSMA/CD networks and many wireless networks require a certain number of quiet periods for their media-access layer to work. The spacing of quiet times, which is necessary for those networks to properly function, can reveal information about the real IP traffic carried by those networks.  
         [0132]    An alternative to keeping the channel filled is to deliberately shape the IP traffic over the network channel to make it more regular. The simplest way to think of reshaping IP traffic is to think in terms of a fluid model, in which a bucket of fixed size has a hole cut in its bottom. As fluid is poured into the bucket, the fluid flows out of the hole at a particular rate. If the bucket is filled too fast, the fluid will also spill over the top of the bucket. Fluid that spills over the top is equivalent to lost data. The rate and pattern by which the bucket is filled, e.g., by a continuous stream from a hose or by discrete containers, represent IP traffic arriving at a network channel. The size of the bucket represents the queue of data.  
         [0133]    If the average rate at which fluid is poured into the bucket is measured, and a hole is cut in the bucket such that fluid always drains from the bucket at the measured rate, then, regardless of the pattern-of filling the bucket, there is always a finite bucket size sufficient to ensure that no fluid spills over the top, i.e., no data is lost. In terms of IP traffic analysis, analogy to the bucket model leads to the prediction that, for a given amount of traffic (fluid) and a sufficiently large amount of memory (bucket), any traffic pattern (drain rate out the hole) can be forced to be regular. Although, memory is often not large enough in IPsec encryption devices, modest increases in memory capacity can be used to make the IP traffic dramatically more regular. By reshaping the IP traffic to be more regular, traffic analysis becomes more difficult, because all network connections will appear to operate at the same basic frequency.  
         [0134]    The pattern or shape of communication traffic has a considerable impact on the network that carries the traffic. In general, current known traffic shaping schemes are variants of a single shaping scheme known as the token bucket scheme. FIG. 7 illustrates a token bucket  10 . Credits  20 , which correspond to rights to send a certain amount of data, are placed in the bucket  10  at a rate ρ. Arriving packets of data  30  are placed in a queue  40 , waiting to be sent. A packet is removed from the queue  40  and transmitted by a regulator  50 , or valve, when there are enough credits  20  in the bucket  10 .  
         [0135]    An example of how a token bucket scheme may be implemented in a communication network is shown in FIG. 8. Aggregated IP traffic X, made up of packets of data, arrives at a network link  6 . The network link  6  temporarily stores the packets in a memory  7 . The packets are released from the memory  7  one by one, when a timer  8  of the network link  6  determines that sufficient time has elapsed from when a previous packet was released. Accordingly, the IP traffic X′ leaving the network link  6  will reveal minimal information about the individual communicating parties, because the IP traffic X′ has been reshaped to reveal little to no information from analysis of its packet arrival rate at a subsequent network link.  
         [0136]    The types of token buckets that can be used to reshape traffic into various patterns number at least several hundred. The two extreme cases are correspond to a large bucket/fast rate and a small bucket/modest rate. A large token bucket, which holds a large number of credits and which has a very fast credit supply rate, will rarely, if ever, reshape traffic. This is because every arriving packet finds enough credits in the bucket immediately or shortly thereafter, as the bucket rapidly fills with credits, and is quickly transmitted. A small token bucket, which holds only one credit, for example, and which has a modest credit supply rate will typically space packets out at regular or nearly regular intervals equal to the inverse of the credit supply rate.  
         [0137]    The ability of token buckets to make packet transmissions look regular can be used to shape IP traffic, to make it less vulnerable to passive attacks, such as passive attacks by the signal analysis techniques discussed above. An increase in the regularity of IP traffic results in a decrease in the appearance of distinct peaks in the cepstra calculated from the IP traffic, thus resulting in a decrease in the detectability of particular communications.  
         [0138]    Depending on a particular IP traffic pattern, which can be determined using the signal analysis techniques discussed above, a number of different token bucket parameters can be varied to re-shape that traffic pattern. In addition, by using a series of token buckets, IP traffic may be further smoothed, thus further decreasing the presence of detectable peaks.  
         [0139]    While the present invention has been described with respect to what is presently considered to be the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, the invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.  
         [0140]    As will be appreciated, many different types of network communication systems can utilize the features of the present invention. The inventive methods can also be embodied on computer-executable code that is stored on a computer-readable medium, for example, a floppy disk, a hard drive, removable media, an optical memory, a magneto-optical memory, a RAM, a ROM, a flash memory, so-called “memory sticks,” and the like.