canmove, Confirmed users
1,220
edits
No edit summary |
Ptheriault (talk | contribs) No edit summary |
||
| Line 18: | Line 18: | ||
}} | }} | ||
{{SecReview | {{SecReview | ||
|SecReview feature goal | |SecReview feature goal | ||
FOTA: Full over-the-air updates (i.e. Gonk/Drivers + Gecko + Gaia) | ===FOTA Updates=== | ||
Purpose: Only for security bugs that can't be fixed in Gecko or Gaia. Ideally are never needed for shipping devices. | FOTA: Full over-the-air updates (i.e. Gonk/Drivers + Gecko + Gaia) <br> | ||
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=778084 | Purpose: Only for security bugs that can't be fixed in Gecko or Gaia. Ideally are never needed for shipping devices. <br> | ||
Wiki: https://wiki.mozilla.org/Gaia/System/Updates/Gonk | Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=778084 <br> | ||
Frequency: Immediate for critical security bugs. Quarterly for any non-critical security bugs, if needed. If there are no bug fixes in a given quarter, there is no quarterly update. | Wiki: https://wiki.mozilla.org/Gaia/System/Updates/Gonk <br> | ||
Integrity checking: Update packages will be signed .mar files (inside the mar file will be a zip file containing the update) | Frequency: Immediate for critical security bugs. Quarterly for any non-critical security bugs, if needed. If there are no bug fixes in a given quarter, there is no quarterly update.<br> | ||
Update server(s): Currently AUS, production undecided | Integrity checking: Update packages will be signed .mar files (inside the mar file will be a zip file containing the update) <br> | ||
Delivery: Updates will be provided over a private APN? (what about Wifi?) | Update server(s): Currently AUS, production undecided.<br> | ||
Delivery: Updates will be provided over a private APN? (what about Wifi?) <br> | |||
Notes: | |||
*Full flash of kernel & drivers etc | |||
*android devices use recovery partition to achieve this | |||
*our updates use this | |||
*use google/android update scripting language | |||
*download update via existing firefox delivery mechanism (updater & mar) | |||
*download a mar file (delivery & signing) | |||
*updater runs to check signatures and update details | |||
*sets up recovery partition (recovery commands) | |||
*reboot in to recovery mode | |||
Backup keys possible in mar file, but nbot in android | *return back to normal mode | ||
*status checking afterwards | |||
*recovery mode also checks a signature of the oem key | |||
*Backup keys possible in mar file, but nbot in android | |||
====Gecko/Gaia Updates==== | ====Gecko/Gaia Updates==== | ||
Purpose: Automatic updates of b2g "userspace" (gecko, built-in apps and dependencies; not third-party apps) | Purpose: Automatic updates of b2g "userspace" (gecko, built-in apps and dependencies; not third-party apps) <br> | ||
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=715816 | Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=715816 <br> | ||
Wiki: https://wiki.mozilla.org/Gaia/System/Updates/GeckoGaia | Wiki: https://wiki.mozilla.org/Gaia/System/Updates/GeckoGaia <br> | ||
Frequency: | Frequency:<br> | ||
*42 weeks (ESR) > update cycle > 6 weeks (Firefox) | |||
*Current proposal is 18 weeks | |||
Integrity checking: | Integrity checking: <br> | ||
*MAR Signing (see https://bugzilla.mozilla.org/show_bug.cgi?id=783638) | |||
*Background information on the MAR file format: https://wiki.mozilla.org/Software_Update:MAR and how signing currently works before Bug 783638. | |||
*Gaia apps also signed as per packaged apps? | |||
Update server(s): | Update server(s): Not decided yet.<br> | ||
Delivery: Updates will be provided over a private APN. (Wifi? Download to PC then USB update?) | Delivery: Updates will be provided over a private APN. (Wifi? Download to PC then USB update?) <br> | ||
Update flow: https://wiki.mozilla.org/images/4/46/SystemUpdates_Flow1.pdf | Update flow: https://wiki.mozilla.org/images/4/46/SystemUpdates_Flow1.pdf <br> | ||
Notes:<br> | |||
*very similar to firefox updates | |||
*system partition is read-only | |||
*updater mounts the partitition as read-write | |||
*in case of error the device is rebooted | |||
*UI is based on chromeEvents | |||
*system gaia apps hosted inside system partition | |||
* size is important | |||
|SecReview alt solutions=- Why three signatures? | |SecReview alt solutions=- Why three signatures? | ||
* support for contractual relationships | * support for contractual relationships | ||