<story><title>Extracting Qualcomm&apos;s KeyMaster Keys – Breaking Android Full Disk Encryption</title><url>https://bits-please.blogspot.com/2016/06/extracting-qualcomms-keymaster-keys.html</url></story><parent_chain></parent_chain><comment><author>koolba</author><text>Full disk encryption (FDE) is a UX issue, not a technical one. You don&amp;#x27;t need a secure cryptographic processor, but the UX sucks without one.&lt;p&gt;A simple, working, FDE setup would be something like LUKS running at boot:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    1. Turn on phone
    2. Phone loads up initial bootstrap OS
    3. Phone prompts user for master key
    4. Master key is used to unlock volume
    5. Regular OS boot continues
&lt;/code&gt;&lt;/pre&gt;
If the master key has enough entropy, brute forcing it becomes impossible. The phone won&amp;#x27;t &amp;quot;disable&amp;quot; as there&amp;#x27;s no self-destructing component (i.e. &amp;quot;secure crypto chip&amp;quot;) but that doesn&amp;#x27;t mean it can be cracked. Boil as many oceans as you&amp;#x27;d like, you&amp;#x27;re not going to brute force 256 bits of entropy.&lt;p&gt;The UX problem is that the master key is a PITA to enter if it&amp;#x27;s long enough to be cryptographically secure. That&amp;#x27;s what a crypto chip is supposed to solve. A limited number of attempts with a shorter passphrase.</text></comment>
<story><title>Extracting Qualcomm&apos;s KeyMaster Keys – Breaking Android Full Disk Encryption</title><url>https://bits-please.blogspot.com/2016/06/extracting-qualcomms-keymaster-keys.html</url></story><parent_chain></parent_chain><comment><author>sdl</author><text>So if I understood correctly, there are 5 requirements for such a system to be secure:&lt;p&gt;&lt;pre&gt;&lt;code&gt;  1: secure&amp;#x2F;unmodifiable cryptographic processor
  2: with unremovable rate limiting
  3: and exclusive access to a hardware key
  
  4: cryptographic processor has the only function of encrypting user data based on
  5: hardware key and a user supplied pin&amp;#x2F;key
&lt;/code&gt;&lt;/pre&gt;
Errors done by Qualcomm:&lt;p&gt;&lt;pre&gt;&lt;code&gt;  Violated 3: Hardware key not exclusivly readable by cryptographic processor
  Violated 5: Encryption based on derived key
&lt;/code&gt;&lt;/pre&gt;
Anything I overlooked?&lt;p&gt;(edited: formatting)</text></comment>