Cryptophone Source Code
All GSMK CryptoPhone products come with their full source code published for review and to ensure provable security.
The ‘source code’ is the blueprint of how each CryptoPhone operates, and computer programmers can read this code. Cryptography/security is a fine art, and one simple error can introduce a serious flaw into the product. Customers of communication security devices have always had to fear not only programming errors, but also so-called “back doors”. Such a back door would allow certain people to listen into encrypted calls at any time, for instance by revealing (part of) the cryptographic key during the call.
Introducing a back door into a crypto system does not even require active cooperation of the manufacturer of the equipment. All it takes is one bribed programmer to compromise an entire product.
We prevent this by allowing anyone to review our source code. And even if you do not understand the source code yourself, you may find some comfort in knowing that there is a large academic community that likes a challenge, and will try to tackle our product. So any back door or programming error can (and will!) be found by eager students or security experts. Of course we tried our very best to write the code as well as we know how to. On top of this we have asked some of the world’s leading security consultants to look at critical parts of it. The conclusions of these ongoing evaluations are publicly accessible. So in theory you would not need to trust us at all, because you could verify everything yourself. This public review process is also the only reliable method for us to make sure that we are the only ones paying our developers ;-).
Why are you the only vendor offering the source code for review to anybody?
We can only assume that other vendors have something to hide. They might be afraid of competition and want to protect so called “trade secrets”. The nice thing about our products is that we have no (trade) secrets, and invite everyone to make interoperable products based on the published protocol. We believe in standards that are open for anybody to join – as long as they go and implement their own product and do not steal from our published source.
Some manufacturers of cryptographic equipment that are also currently in the business of selling secure mobile phones, have a track record of hidden cooperation with intelligence agencies and interested private parties. Some of them are not even using publicly scrutinized and standardized crypto algorithms (like Diffie-Hellman, SHA256, AES and Twofish that we use), but “proprietary” encryption methods that are not available for public evaluation. Several “proprietary” crypto-algorithms that were not subject to public review have been shown to be easily breakable in the past, like the COMP128 algorithm that is in use in many GSM networks for authentication, so the “proprietary crypto” approach has to be regarded as very risky. GSMK CryptoPhones contain only algorithms that are published, well known and thoroughly reviewed by the academic cryptography community.
How can I make sure that the firmware on my CryptoPhone is compiled from the same source that you publish and have reviewed?
We take a number of steps to ensure that you really get the correct firmware. The source code repository for all CryptoPhones is held on a computer that only our trusted developers can make changes to, and that is secured against physical access. After the security review by outside experts, but before each version of the firmware is released and used in the production of CryptoPhones, the source is compiled by a number of security experts who then publish the secure cryptographic SHA256-hash of the binary and of the source it is compiled from.