I found a very interesting information about SAM3X8E and would like to share it:
The data sheet says (Page 41):
9.1.4 Boot Strategies The system always boots at address 0x0. To ensure maximum boot possibilities, the memory layout can be changed via GPNVM. A general-purpose NVM (GPNVM1) bit is used to boot either on the ROM (default) or from the Flash. The GPNVM bit can be cleared or set respectively through the "Clear General-purpose NVM Bit" and "Set General-purpose NVM Bit" commands of the EEFC User Interface. Setting GPNVM Bit 1 selects the boot from the Flash, clearing it selects the boot from the ROM. Asserting ERASE clears GPNVM Bit 1 and thus selects the boot from the ROM by default. GPNVM2 enables to select if Flash 0 or Flash 1 is used for the boot. Setting GPNVM bit 2 selects the boot from Flash 1, clearing it selects the boot from Flash 0.
If this is true maybe could be possible to have a firmware in Flash 0 that programs Flash 1 or vice versa. That means that this firmware could interface potentially to any peripheral (Uart, CAN, USB Mass storage, Ethernet, etc) to program new firmware, then write proper value in the GPNVM and restart booting from the flash area where the new firmware resides. In this way it could be possible to program Arduino Due from any peripheral.