Here are the "programs" used when booting a Nspire:
Boot1 is checking boot2 signature, then launching it.
Boot2 is checking OS signature, then launching it.
Up to now, we were believing that boot2 could be updated by a software, but not boot1.
Then, if we ever managed to factor the OS key, TI just would have to use a different signing key for new OSes. This would force you to update your boot2 to a new version that would launch the new OSes signed with the new key, but not the old OSes signed with the old key.
Then, we just had to factor the boot2 key.
If boot1 couldn't be updated by a software, only new TI-Nspire could get a new boot1 using a new key and refusing to load boot2 signed with the old key.
The TI-Nspire diagnostic software 1.3 can update the NAND ROM code
(boot2, diagnostic software, test program, OS). Here are the related messages:
The NandFlash has more than 20 bad blocks, please change it!!
Nand Flash Test
UpdatedNandFlash(528B)
NAND
Copy Nand Data To SD Card
SDCard Update NandFlash Code
Search Nand
Erasing the Nand
Copy Nand.bin to NandFlash
Search Nand.Chk
Copy Nand.bin to RAM
Copy RAM to NandFlash
Verify SDCard Update NandFlash Code
NandIDFlashFailed
Nandflash Check
Please enter nandflash address
Nandflash Address
Please input nandflash address again
ST Micro NAND128R3A
ST Micro NAND128W3A
ST Micro NAND128R4A
ST Micro NAND128W4A
ST Micro NAND256R3A
ST Micro NAND256W3A
ST Micro NAND256R4A
ST Micro NAND256W4A
ST Micro NAND512R3A
ST Micro NAND512W3A
ST Micro NAND512R4A
ST Micro NAND512W4A
ST Micro NAND01GR3A
ST Micro NAND01GW3A
ST Micro NAND01GR4A
ST Micro NAND01GW4A
NAND_BI_RSN_READ
NAND_BI_RSN_ERASE
NAND_BI_RSN_WRITE
NAND_BI_RSN_ECC
NAND_BI_RSN_TEST
Nand Flash Test
But... it also seems the TI-Nspire diagnostic software 1.3 can update NOR ROM code (boot1), by looking for a "Nor.raw" file on the external SD card.
NOR
Verify SDCard Update NorFlash Code
Search Nor.raw
Comparing Nor.raw with Norflash
SDCard Update NorFlash Code
Search Nor.Chk
Copy Nor.raw to RAM
Erasing the Norflash
Copy RAM to Norflash
NorFlash
NorFlash Test
NorFlash_ID
Then, as boot1 can be updated by a software, TI could make a new TI-Nspire OS which would update boot1 to a new version using a different key and boot2 to a new version signed with the new key. We wouldn't be able to load boot2 signed with the old key any more.
But... If I am right, boot1 is not signed.
Then, it means we would just have to disable the boot2 signature checking in boot1 in order to load a modified boot2 and then a modified OS...
Of course, TI could then release OSes that would update boot1 again
(and maybe won't want to run with the hacked boot1) but we would just have to disable that security by modifying the new OSes before installing them.
Did I make a mistake somewhere?
Does anybody have the courage to try something like that on Goplat's emulator ?
(for now...)I can give the diagnostic software 1.3 dump, in order to look for the flashing code.