srlabs / blue-merle

The blue-merle package enhances anonymity and reduces forensic traceability of the GL-E750 Mudi 4G mobile wi-fi router
BSD 3-Clause "New" or "Revised" License
171 stars 26 forks source link

Switch to ICCID for deterministic IMEI generation #15

Open rieck-srlabs opened 11 months ago

rieck-srlabs commented 11 months ago

Current Status

blue-merle's deterministic IMEI generation currently likely does not work for PIN-protected SIM cards. If the PIN is not verified, get_imsi() in imei_generate.py returns an empty string (""). This is because a SIM's IMSI can only be read out after the SIM's PIN is verified (or PIN verification is disabled). For PIN-protected SIM cards where the PIN has not been verified when blue-merle runs, the same IMEI will always be generated.

This has not yet been practically tested and validated.

Improvement Potential

Use a SIM's ICCID for deterministic IMEI generation. The ICCID ("Integrated Circuit Card Identifier") is a globally unique identifier for smart cards. It can be read out even prior to PIN verification.

Notes

To read a SIM's IMSI, use the CIMI AT command. To read a SIM's ICCID, use the QCCID AT command.