<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi all,<br>
    <br>
    at GlobaLeaks we are going to implement a feature that want to
    mitigate time correlation attacks between a Whistleblower submitting
    something and a Receiver, receiving a notification that there's a
    new leak outstanding to be accessed.<br>
    <br>
    We already had a internal discussion and received some valuable
    suggestions and comments available here
    <a class="moz-txt-link-freetext" href="https://github.com/globaleaks/GlobaLeaks/issues/264">https://github.com/globaleaks/GlobaLeaks/issues/264</a> .<br>
    <br>
    However being the argument possibly tricky, we would like to subject
    to suggestion, criticism and review the proposal.<br>
    <br>
    That's a summary of the context:<br>
    <meta charset="utf-8">
    <h3 style="margin: 1em 0px 15px; line-height: 1.7; font-size: 1.5em;
      padding: 0px; font-weight: bold; cursor: text; position: relative;
      color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans,
      clean, sans-serif; font-style: normal; font-variant: normal;
      letter-spacing: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">Overview</h3>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">When a whistleblower submits to a globaleaks node all
      receivers that they have selected as recipients for their
      submission will receive a notification informing them that a new
      submission has occurred. Other whistleblower interactions also
      trigger a notification (that should therefore be protected from
      timing attacks) and such interactions are:</p>
    <ul style="padding: 0px 0px 0px 30px; margin: 15px 0px; color:
      rgb(51, 51, 51); font-family: Helvetica, arial, freesans, clean,
      sans-serif; font-size: 13px; font-style: normal; font-variant:
      normal; font-weight: normal; letter-spacing: normal; line-height:
      22px; orphans: auto; text-align: start; text-indent: 0px;
      text-transform: none; white-space: normal; widows: auto;
      word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">
      <li>
        <p style="margin: 15px 0px;">A new comment is added to an
          existing submission by a WB</p>
      </li>
      <li>
        <p style="margin: 15px 0px;">A new comment is added to an
          existing submission by a Receiver</p>
      </li>
      <li>
        <p style="margin: 15px 0px;">A new file is uploaded to an
          existing submission by a WB</p>
      </li>
    </ul>
    <h3 style="margin: 1em 0px 15px; line-height: 1.7; font-size: 1.5em;
      padding: 0px; font-weight: bold; cursor: text; position: relative;
      color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans,
      clean, sans-serif; font-style: normal; font-variant: normal;
      letter-spacing: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">Goals</h3>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">We are interested in mitigating correlation attacks based
      on the dispatching of notifications for interactions performed by
      a whistleblower. It should not be possible (or harder) for an
      attacker to determine which person is a whistleblower for a
      certain submission based on their capabilities (more on that
      below).</p>
    <h3 style="margin: 1em 0px 15px; line-height: 1.7; font-size: 1.5em;
      padding: 0px; font-weight: bold; cursor: text; position: relative;
      color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans,
      clean, sans-serif; font-style: normal; font-variant: normal;
      letter-spacing: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">Adversary model A</h3>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">Their goal is to find which user has performed a certain
      submission on a globaleaks node.</p>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">This adversary has the following capabilities:</p>
    <ul style="padding: 0px 0px 0px 30px; margin: 15px 0px; color:
      rgb(51, 51, 51); font-family: Helvetica, arial, freesans, clean,
      sans-serif; font-size: 13px; font-style: normal; font-variant:
      normal; font-weight: normal; letter-spacing: normal; line-height:
      22px; orphans: auto; text-align: start; text-indent: 0px;
      text-transform: none; white-space: normal; widows: auto;
      word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">
      <li>
        <p style="margin: 15px 0px;">They can read the content of
          notification messages.</p>
      </li>
      <li>
        <p style="margin: 15px 0px;">They can perform a new submission
          to a globaleaks node and therefore trigger notifications (i.e.
          they are capable of doing a<span class="Apple-converted-space"> </span><em>flooding</em><span
            class="Apple-converted-space"> </span><em>blending</em><span
            class="Apple-converted-space"> </span>attack)</p>
      </li>
      <li>
        <p style="margin: 15px 0px;">A log of traffic from N users they
          suspect to have blown the whistle. This log includes the
          timestamp of when the request was made, the response was
          received and the size of the payload.</p>
      </li>
      <li>
        <p style="margin: 15px 0px;">The log of the notification
          traffic. This includes the timestamp of when the notification
          was dispatched and the size of it. The content of the
          notification will be either encrypted (model A) or plaintext
          (model B).</p>
      </li>
    </ul>
    <h3 style="margin: 1em 0px 15px; line-height: 1.7; font-size: 1.5em;
      padding: 0px; font-weight: bold; cursor: text; position: relative;
      color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans,
      clean, sans-serif; font-style: normal; font-variant: normal;
      letter-spacing: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">Adversary model B</h3>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">This adversary has all the capabilities of the above
      adversary, but they do not have the ability of reading the content
      of the notification messages.</p>
    <h3 style="margin: 1em 0px 15px; line-height: 1.7; font-size: 1.5em;
      padding: 0px; font-weight: bold; cursor: text; position: relative;
      color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans,
      clean, sans-serif; font-style: normal; font-variant: normal;
      letter-spacing: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">Adversary model C</h3>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">All of the above except the receiver is not trusted: their
      goal is to de-anonymise the WB.</p>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">Is this any different from Adversary A, that is an
      adversary that has the ability to read the notification emails
      because they are not encrypted?</p>
    <h4 style="margin: 1em 0px 15px; line-height: 1.7; font-size: 1.2em;
      padding: 0px; font-weight: bold; cursor: text; position: relative;
      color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans,
      clean, sans-serif; font-style: normal; font-variant: normal;
      letter-spacing: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(251, 251, 251);">Example real world scenario</h4>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">The GL node is a GL node for a private company. The
      adversary is a Manager of The Company that wants to find out who
      blew the whistle on the fact that he is recycling money through a
      shell company in the island of mann.<br>
      Since they are on the receiver list, because the globaleaks node
      was configured to have a plurality of receivers, they will be able
      to read the content of the notification emails.</p>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">The whistleblower decided to blow the whistle on from their
      office and the office network has a proxy that logs every HTTP
      request being done.</p>
    <p style="margin: 15px 0px; color: rgb(51, 51, 51); font-family:
      Helvetica, arial, freesans, clean, sans-serif; font-size: 13px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: 22px; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(251, 251,
      251);">When the Manager receives a notification that a new
      submission has been done to the globaleaks site they take the
      timestamp of such notification and look at the traffic logs for
      that period of time to see who was generating traffic during that
      period of time and based on this they should not be able to
      distinguish normal Tor user (or people loading the cover traffic
      widget) from the whistleblower.</p>
    <br>
    Thanks in advance for opinion!<br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Fabio Pietrosanti (naif)
HERMES - Center for Transparency and Digital Human Rights
<a class="moz-txt-link-freetext" href="http://logioshermes.org">http://logioshermes.org</a> - <a class="moz-txt-link-freetext" href="http://globaleaks.org">http://globaleaks.org</a> - <a class="moz-txt-link-freetext" href="http://tor2web.org">http://tor2web.org</a></pre>
  </body>
</html>