What Guy said.
On Fri, Oct 5, 2018 at 4:11 PM Guy Harris <g...@alum.mit.edu> wrote:
>
> On Sep 30, 2018, at 10:47 AM, Peter Wu <pe...@lekensteyn.nl> wrote:
>
> > Requirements for block placement:
> > - No requirement. Producers are allowed to write the block anywhere.
> >  Disadvantages for consumers: requires a two-pass scan to collect
> >  secrets before they are used.
> > - Place secrets before the packet blocks that require them. Consumers
> >  can read and decrypt in one pass. Disadvantage: producers cannot
> >  always guarantee availability of secrets while writing the capture.
> > - Place a single secret block before the first packet block. Consumers
> >  can read and decrypt in one pass. Disadvantage: requires producers to
> >  post-process (rewrite) the capture file to insert secrets.
>
> The third of those appears to be a special case of the second of those.  I 
> don't see any need to require the secrets to be before the *first* packet 
> block if the first packet block doesn't require the secret; presumably 
> "before the packet blocks that require them" just means "*somewhere* before 
> the packet blocks that require them", which is *allowed* to be "before all 
> packet blocks in the file" but not *required* to be "before all packet blocks 
> in the file".
>
> If the secret isn't available by the time the first packet requiring the 
> secret for decryption is ready to be written to the capture, *somebody* will 
> have to do some form of two-pass processing.
>
> The first option says the consumer must do so; that's inconvenient for a 
> consumer doing one-pass processing (tcpdump, TShark without the -2 option), 
> and isn't even really good for at least some consumers doing two-pass 
> processing (Wireshark, TShark with the -2 option), because dissection is done 
> on the first pass.
>
> The second and third option require either the producer, or some 
> post-processor, to write a new version of the file putting the secrets before 
> the packets that require them.  The producer isn't necessarily responsible 
> for doing so; one might have tcpdump, or dumpcap (or some program using 
> dumpcap, such as TShark or Wireshark) write out a capture with no secrets, 
> and then have another program (a utility, or Wireshark after having read in 
> the file and then given the secret in question) write out a new file with the 
> secrets early enough in the file ("before all the packet blocks" is probably 
> the simplest implementation).
>
> A producer that *does* happen to have the secret available before seeing any 
> packets that require the secret *could* write it directly.
> ___________________________________________________________________________
> Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
> Archives:    https://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
>              mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to