I understand that unlocking the bootloader will wipe my Android phone, but have been looking around for why. Seems to be by design, but what is the reasoning for that design? Is it some security concern, some obscure technical reason, or just for lulz? I'm looking for something solid to chew on here, something more than because "that's how it is".
It's a security concern. The Android documentation doesn't provide a lot of elaboration, stating simply:
The procedure must be confirmed on-screen, and deletes the user data for privacy reasons.
However, the privacy concern is relatively straightforward to extrapolate. Once the bootloader is unlocked, the device can be flashed with unsigned images. This means that it is relatively trivial to root the device, and there are actually multiple ways it can be done, such as:
- Flashing a system image with root tools built in
- Flashing a boot image that runs
adbdwith root by default (an "unsecure" image)
- Flashing a recovery image, then using that to overwrite the system or boot partitions with ones that allow root access
Once root is obtained, all of the information on
/data essentially becomes accessible. This could be emails, contact information, or many other pieces of personal information that you likely don't want in the wrong hands. Therefore, it makes sense to wipe all of this data during the unlocking procedure to ensure that there is no off-the-shelf "official" way of bypassing the sandboxing restrictions implemented by the Android operating system, which would thereby allow someone to steal personal data.
Of course, there may be ways to root without wiping on some devices, but they rely on exploits rather than official methods like a bootloader unlock, meaning they are basically bugs.
Its a good question as to the motive in why they insist on this when getting manufacturers to make the handsets for carriers.
The reason, I think, why carriers enforce "locked bootloaders", is really simplistic, in the event of handsets being stolen, and a tech-savvy thief can unlock it, it wipes the personal data in place thus ensuring that contacts etc are removed.
And, in a what I would perceive, a twisted roundabout-way, the victim will not get billed for unsolicited texts/calls etc to their own contacts (i.e. billing for calls etc) made whilst the handset is stolen, that is, if it is still in original state, i.e. locked, that is, provided the relevant authorities have been informed.
So the desire for the thief to infiltrate and get at the handset to work with another carrier would force the thief to unlock the boot-loader.. I would be inclined to believe its for that reason, carriers are in fact, protecting themselves and covering their position in maintaining the contractual clauses with the customers...(this is only hearsay based on what I have read about carriers)
And yet carriers, still maintain their stance in selling handsets with locked boot-loaders despite uproar from the community, i.e. lack of openness, difficulties in modding etc and do try scare off using this tactic "Unlocking boot-loader voids the warranty".
Some carriers would even get the manufacturers to make the handsets impossible to unlock - for example, Orange's San Diego, which was released earlier on in 2012, circa February, Intel-based chip-set running Android - it took 8 months to get it rooted, and by then, the community declined..the detrimental side effect was that the price of that handset dramatically dropped a lot and lost its value due to zero openness and the developer community lost interest in modding for it!
All a boot-loader is - its a piece of code, and if received instructions via
fastboot -i 0x0fce oem unlock [SOME_HEX_KEY] or similar, to unlock, the boot-loader code is instructed to wipe the
/data partition - nothing more. It does not physically damage the screen, functionality, RAM, charging etc.. FUD (Fear, Uncertainty and Doubt)
With what I have written, hopefully makes sense.