<html><body><span style="display:block;" class="xfm_78580644"><div><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">>What do you think about updates over Tor?</span><br/></div>
<div><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">Updates via Tor is acceptable: at least this excludes targeted updates for a specific user, which has already been practiced for compromise. It is better to host the update server in onion.</span></div>
<div><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;"><br data-mce-bogus="1"/></span></div>
<div><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">>On the site I see mentioning of PGPFone. Is code related?</span><br data-mce-bogus="1"/></div>
<div><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">PGPFone is an early development of Zimmerman, where the concept of ZRTP, the code for Windows and MAC only. First prototype of Torfone was based on this code but it is outdated and not compatible on protocol.</span></div>
<div><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;"><br data-mce-bogus="1"/></span></div>
<div><span class="xfmc1" style="font-family:Arial;font-size:10pt;line-height:12pt;">>Can you</span><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;"> </span>either give some script to setup environment for compilation, or<span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;"> </span>give detailed doc.</div>
<div>
<div>Torfone's IKE protocol and interactions between modules are previously described here:</div>
<div>https://github.com/gegel/torfone/blob/master/white.pdf</div>
<div>Links to buid instructions, prepared archives with source codes and executable files with GUI for Windows, Linux and Android, signed by my PGP, are here:</div>
<div>http://torfone.org/download/Torfone.txt</div>
<div><br data-mce-bogus="1"/></div>
</div>
<div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">>Do you have license there (like in each file)? Or do you want it to be a public domain?</span></div>
</div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">This is in public domain now.</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"><br data-mce-bogus="1"/></span></div>
<div>
<div><br/></div>
<div><span class="xfmc1" style="font-family:Arial;font-size:10pt;line-height:12pt;">You can write personally to me  about code details. The code style looks strange, but it was written not for OS but for bare metal. Right now I am debugging Torfone on two isolated platforms: Tor and transport on a single-board computer under Linux and cryptography + GUI on the Nucleo STM32F446RE board + TFT display. Code execution in Cortex RAM is denied. Exchanging</span> <span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">data </span><span class="xfmc1" style="font-family:Arial;font-size:10pt;line-height:12pt;">packets<span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;"> have</span></span><span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;"></span> fixed fields and unambiguous interpretation of data. Communication over UART  without any possibility of affecting the execution of the code <span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">in</span> trusted module. There is also an idea to port Torfon<span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">e</span> together with Tor on STM32F776 board, but for this we need to carefully study the Tor code, limit unnecessary memory allocation (leaving only 8 circuits - this is enough) and make wrappers for libevent<span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;">, </span>sockets<span class="xfmc1" style="font-size:10pt;line-height:12pt;font-family:Arial;"> etc.</span> for implementation on bare metal. This is a hard but interesting job.</div>
</div>
<div><br data-mce-bogus="1"/></div>
<div><br data-mce-bogus="1"/></div>
<div><i><span style="font-size:10pt;line-height:12pt;"><span style="font-family:Arial;">21 June 2020, 17:31:56, by "Mikalai Birukou" <</span><a href="mailto:mb@3nsoft.com" target="_blank"><span style="font-family:Arial;">mb@3nsoft.com</span></a><span style="font-family:Arial;">>:</span></span></i></div>
<div><br/></div>
<blockquote style="border-left:1px solid #cccccc;margin:0px 0px 0px 0.8ex;padding-left:1ex;">
<div style="display:block;">
<div><br/></div>
<blockquote type="cite" style="border-left:1px solid #cccccc;margin:0px 0px 0px 0.8ex;padding-left:1ex;">
<div></div>
<div style="display:block;">
<div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">Most
              messengers provide only the illusion of security. They
              sacrifice basic rules for the convenience of ordinary
              users without caring for those who really need security.</span></div>
<div><br/></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">Really
              safe messenger MUST:</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">-
              never updated remotely;</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">-
              does not integrate with other services (for example, does
              not use phone numbers or mail as an ID);</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">-
              has powerful ID protection in its protocol;</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">-
              provides plausible deniability of having contact in book.</span></div>
</div>
</div>
</blockquote>
<div>What do you think about updates over Tor?</div>
<div>In particular: app developer provides update url that is same for
      everyone. Clients only do GET request on that url. And client
      can/should come via Tor to hide its ip/identity.</div>
<div>And updates are allowed when user clicks button, i.e. never
      without the confirmation. Downloaded bytes' hashes can be
      calculated and compared to known safe version's hash. Friends
      should provide assurance, hashes should be calculated and checked
      by program, showing only confirmations as info for user.</div>
<div>Anonymity of client leaves to attacker only in-discriminant
      bundestrojaner scenario.</div>
<div>Thoughts, concerns, UI suggestions?</div>
<blockquote type="cite" style="border-left:1px solid #cccccc;margin:0px 0px 0px 0.8ex;padding-left:1ex;">
<div style="display:block;">
<div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">I
              tried to implement these requirements in my Torfone:
              <a href="https://github.com/gegel/torfone" target="_blank" rel="noreferrer noopener">https://github.com/gegel/torfone</a></span></div>
<div><br/></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">The
              onion address is generated locally and uses as ID.</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">Authentication
              is performed independently of Tor using own keys. The IDs
              of  caller and callee are protected with PFS (by adding
              the SPEKE protocol result to the hash of the signal's
              tDH). The session key is output using a simple DH: tDH
              result is used only for authentication. This makes it
              possible to receive calls from unauthenticated subscribers
              (with the corresponding notification). During a call any
              subscriber can add his or other contact to your address
              book, so you can explain the presence of a compromising
              contact in it. Open source makes it easy to check the
              protocol for leaks.</span></div>
</div>
</div>
</blockquote>
<div>Wow. This sounds cool. But may I voice issue #2 again? Can you
      either give some script to setup environment for compilation, or
      give detailed doc. This whole concept of usability first of all
      touches us, devs :) , then we try helping users.</div>
<div>On the site I see mentioning of PGPFone. Is code related? Or, do
      you take conceptual inspiration?</div>
<div>Can you spell out architecture? It can be doodly doc file(s) for
      project, and cc-ed/ref-ed here. We'll appreciate that.</div>
<div>Do you have license there (like in each file)? Or do you want it
      to be a public domain? If later, you can say this explicitly, like
      djb did with nacl.</div>
</div>
</blockquote></span></body></html>