Comment by m463

4 days ago

This is a technical problem.

Instead of wiping and rebooting, it should wipe while showing a lame spreadsheet application, or possibly a grocery list.

I don’t think a judge would be impressed by this. If anything it actually makes the legal case easier: there’s a legitimate use for a wiping feature on a phone (e.g. for theft or tampering), but actively producing false information demonstrates an intent to deceive or mislead.

  • Easier solution: phone wipes itself if passcode is not entered every X hours

    • GrapheneOS already has an auto-reboot feature that can be set to time intervals ranging from 10 minutes to 72 hours. Rebooting puts the device back in before first unlock (BFU) state. This wipes all memory contents, including the encryption keys. Any unlock attempt will have to go through the secure element, which is basically impossible to tamper with (no successful attacks on the Titan M2 so far, or the Apple SEP for that matter), and includes substantial security mechanisms, such as throttling key derivations (through the Weaver API), or insider attack resistance (requiring user authentication before new firmware can be flashed to the secure element).

      Leaked documents from mobile forensics companies, such as Cellebrite or XRY confirm this. It's impossible to crack a Pixel with GrapheneOS in BFU state. See https://grapheneos.social/@GrapheneOS/112462758257739953 and https://grapheneos.social/@GrapheneOS/112826067364945164

    • Deadmans-switch, nice. I always had a weird fascination for that kind of mechanism, because it inverts the whole situation. Where before you have to actively wipe a phone, now them taking your phone may be the mechanism that triggers the wipe.

      4 replies →

    • There's a problem with that too: it would often force the owner of the phone to input the code when outside a secure environment, so a simple video surveillance could obtain the code.

      4 replies →

  • Deceiving a kidnapper into thinking you complied with their order to unlock your phone would be a legitimate use.

    • My RSA app accepts a PIN before it generates a passcode. If I enter the wrong PIN, it’ll generate a wrong passcode.

      Do, I guess the cops will continue to beat me until I produce a valid passcode.

      3 replies →

That would be a bad idea. GrapheneOS operates under the assumption that every attacker has encyclopedic knowledge of GOS at all times. This is by far not an unreasonable assumption. GrapheneOS does not add features relying on ignorance that they exist.

The duress wipe feature shuts the device down to let RAM discharge, this is an important step to remove any components of decryption before they can be lifted.

  • What about a duress timer working as the reboot timer but it wipes if you don't unlock within the time period. Would that have any advantages for destruction of evidence or deniability?

    • That would not be viable because the hardware does not support it. It cannot be implemented in the OS because the OS can be turned off or exploited endlessly.

      For GOS to consider it, it would likely need to be backed by the secure element.

      Duress PIN is deemed acceptable to implement in the OS because it is expected that the user is the one to enter it, so it has not fallen into the hands of attackers who may bypass it. Once attackers have it, you are effectively gambling. Account for that in your threat model and do not let it get to that point.

Or just don't wipe your phone and let the reboot timer do its work and bring your phone to BFU state, effectively uncrackable.

  • Or turn your phone off while transiting airports. Not a catch-all solution in life, but considering the extra-lack of rights we have there, it makes sense. No need for them if you write down your confirmation number before arriving for departure, in order to get your ticket printed. On landing, have it off until you clear TSA and Customs.

    It shouldn't be this way, but oh well.