The main reason not to use public key is to avoid the key management issues associated with public-private key infrastructure. We don't want to maintain centralized key server, and distributed architecture like web-of-trust/key-signing-party is still too much a hassle for average person so far. The lifecycle of public-private key (eg key revocation) is another issue for most people. We want the solution to be simple enough for the mainstream users; any one with JackPair devices should be able to understand and make use of it immediately without prior setup, and more importantly, to use it securely with minimal effort.
For people that understand and can handle the key management issue correctly, public-private key is definitely a better solution. In the future version of JackPair, we'll try to add the support of public-private key, and hopefully make the design of User Experience simple enough for the mass public to adopt web-of-trust public key model.
Why not just use a software based solution?
Software apps can be deployed only for smart phone or PC; it won’t work if the other party you’re calling does not use smart phone or PC. Also, the installation and configuration of software can be a daunting task for the general public.
As a standalone hardware device, JackPair solves the above problems throught its 3.5mm analog audio jacks, which is the industry standard interface for almost all mobile phones on the market today. And for those older phones & PC without 3.5mm audio jack, JackPair provides adapter cables that anyone knows how to plug in. Compared with software solution, there's no app to install, no password to remember, and you can take JackPair anywhere with you.
The other important reason is that, it's very difficult for software solutions to guarantee the security of the smart phone it's running on top of. (Just look at how messy the anti-virus industry is today.) If the smart phone itsef is compromised, then all bets are off and the security practice by software app alone is pointless.
To make it even worse, running encryption software on top of compromised operating system might give you a false sense of security, which makes you even more vulnerable than no security at all; because if you are aware of security danger, then you'd probably make less privacy disclosure over the phone.
Does it work with only one JackPair? Or, can I just buy one JackPair and have my voice encrypted?
No, both ends of the phone call need to plug in their JackPair devices for the encryption and decryption to work symmetrically. To split the cost among your friends, you can buy our $89 Single Pack, and tell all your friends to do the same. It’s also a good way to help spreading the words out!
Do I have to buy multiple sets of JackPair for talking with different friends?
No, a single JackPair device can pair up with any other single JackPair device over an established phone call. So everybody needs one and only one JackPair device.
Do I have to configure and match up two JackPairs before sending one of them to my friend for secure talk?
No, JackPair devices are matched up dynamically over established phone calls when one of them have its JackPair button pushed. To make sure you are pairing up with the right calling party (instead of man-in-the-middle), you verify that the same Pairing Code is read from the voice of your calling party over the same phone call.
How does JackPair prevent Man-in-the-Middle (MitM) attack?
The Pairing Code in JackPair is designed to detect Man-in-the-Middle attack (see the picture of “Why We Need Pairing Code” for illustration.) Pairing Code is the non-reversible derivative (ie, hash code) of the OTSK (One-Time-Secret-Key), which is created on the fly at both ends with the same value (see the picture of “Why JackPair Is Secure” for illustration). By recognizing the other party’s voice that reads out the same Pairing Code over the phone call, you can be assured that no one in the middle is bridging your call.
It’s alleged that NSA has the ability to synthesize any given human voice in real time. If this is a concern, you can also verify the Pairing Code through “out-of-band” channels like instant messenger, or add your own integrity check on top of Pairing Code; for example, read the MD5 hash, instead of the Pairing Code itself, to the other party.
The 3-digit Pairing Code is too short!
The 3-digit ("123") Paring Code you see in this web page is just for illustration purpose. The current OLED used in JackPair can display up to 32 digits, though we think 10-12 digits is probably good enough, and more friendly for human reading.
Does JackPair support 3-way conference calls?
No. JackPair cannot support 3-way conference calls (yet). We are aiming at easy-to-use and affordability/low-cost at this stage, so the design of JackPair is Keeping-It-Simple-Stupid with point-to-point topology. We'll have more bandwidth to work on 3-way design when JackPair becomes popular through your support!
Is JackPair a voice scrambler?
No, JackPair is not your WW-II analog audio scrambler, which is easy to break and gives you a false sense of security. All human voice traffic between two matching JackPair devices are protected by full digital encryption through keys generated on the fly and thrown away immediately after.
What key exchange algorithm is used in JackPair?
We are using Diffie-Hellman at this point, and working on Elliptic curve Diffie-Hellman. See the picture titled “Why JackPair Is Secure” above for illustration.
What cipher algorithm is used to encrypt the audio in JackPair?
Synchronous stream cipher is used, with XOR'ed key-stream resulted from pseudo random number generator using OTSK as seed, and periodic marker flag for re-synchronization.
With limited bandwidth and latency constraint for JackPair to work over voice channel of mobile phones, we cannot afford standard block ciphers like AES, which requires more computing resource and has larger packet size, in comparison to stream cipher. JackPair's OTSK (One-Time-Secret-Key) design also makes it a natural fit for stream cipher, as the same key is never reused. Specifically, the stream cipher we are using is based on Salsa20, which is now one of the final eSTREAM portfolio, after years of scrutiny from the industry.
Does it work with mobile phones that have severely limited bandwidth? What audio codec is used in JackPair?
JackPair uses audio codec from Codec2, which has reasonable good sound quality at 1.2kbps. We have tested JackPair on top of GSM AMR 4.75 (Adaptive Multi-Rate, 4.75kbps) and HR (Half-Rate, 6.5kbps).
How do you deal with GSM codec that removes static noise and disables fax-modem transmission?
Unlike traditional fax-modem technologies, our modem is designed from scratch to fight off the optimization done by GSM codec, including memory-less codec, voice activity detection (VAD)., automatic gain control (AGC) etc.. Basically we have to use synthesized voice to make mobile phones & media servers believe our signal is human voice, not just modulated waves.
How could I be sure you will not introduce some backdoor into the hardware? Given that you are based in the US, aren't you legally obligated to cooperate with the security agencies? (Read: Lavabit's case)
In JackPair, neither the traffic nor the key goes through AWIT, so there's absolutely nothing that AWIT can provide to the security agencies. The key exchange protocol in JackPair is based on the well-known Diffie-Hellman-Merkel algorithm, which allows the creation of shared key without exposing it outside JackPair box (see the animation of "Why JackPair is Secure" in our kickstarter page). And, since JackPair works over established voice phone calls, the voice traffic never go through AWIT, either.
Also notice that there's no Internet connection on JackPair, wired or wireless, which makes it immune to network-based hacking. Besides audio jacks, the only other interface on JackPair is its USB port, which is used only for battery re-charge in JackPair. The end-to-end encryption does not require any connectivity to third party, including us at AWIT, for JackPair to work, and the encryption cipher algorithm used in JackPair (Salsa20) is also open source and well-examined by tine industry. We're striving to keep ourselves out of the loop by technical design.
As a US company, we do have to comply with US laws, but the technical design of JackPair makes it free from backdoor or obligation on our part.
So far in 2018, we have never received and complied with any government request for information. We are going to update this message on 06/03/2018. -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org