View Single Post
Old Feb 9th, 2006, 1:00 AM   #1
lakshmikar
Newbie
 
Join Date: Feb 2006
Posts: 1
Rep Power: 0 lakshmikar is on a distinguished road
can some one give me an approach to the solution

Update Package Container (UPC) for Secure, Interoperable Content Ingestion
4.1. Introduction
A major stumbling block for FOTA interoperability is the distribution and management of proprietary firmware update package formats. In a practical deployment, a typical OEM needs to send update packages to several operators and a typical operator needs to receive update packages from a number of OEMs and software vendors. In addition to the raw package binaries, the appropriate meta-data associated with each update package must also be communicated. This meta-data may include parameters such as the OEM name, phone model designation, the source firmware version, and the target firmware version. Unfortunately, these updates may come from several different sources with different FOTA vendor specific formats. The 1.0 release of the Update Package Container (UPC) specifications addresses the interoperability and security needs of this issue:
a) The self-contained UPC that contains metadata as well as the data
b) The UPC with some or all of the data replaced by references to external entities (such as websites or portals) that contain the actual data
c) The use of an “enveloping” signature.
The UPC provides support for:
1) a plurality of update packages;
2) a plurality of manufacturer / model combinations;
3) a plurality of version transitions for a given manufacturer / model; and
4) optional references to external update packages.
There are several advantages in generating a self-contained Update Package Container that comprises metadata as well as actual data for the update packages, rather than just references to external data. Thus, OTAFF recommends the use of a self-contained UPC.
4.2. The DTD
The following is a DTD that provides for recursive definition of a TRANSITION element. The TRANSITION element encapsulates an update package. An UPDATEPACKAGE INCLUDES a signature, which can be a digital signature, a CRC, and MD5 checksum, etc.
A DEVICE element encapsulates one or more TARGET elements, wherein one instance of TARGET can be ‘firmware’ and another instance can be ‘OS’, etc.

<!DOCTYPE UPDATEPACKAGECONTAINER PUBLIC
[
<!-- ========================================================= -->
<!-- THE UPDATEPACKAGECONTAINER STRUCTURE -->
<!-- ======================================================== -->
<!ELEMENT UPC (UPDATEPACKAGECONTAINER, MIMETYPE, dsignature) >
<!ATTLIST UPC xmlns:ds CDATA #FIXED http://www.w3.org/2000/09/xmldsig# >
<!ELEMENT UPDATEPACKAGECONTAINER (DESCRIPTION, DEVICE+)>
<!ATTLIST UPDATEPACKAGECONTAINER Id ID #IMPLIED>
<!ELEMENT DEVICE (DESCRIPTION, MANUFACTURER, MODEL, DEPLOYMENT, TARGET+) >
<!ELEMENT TARGET (TRANSITION+) >
<!ATTLIST TARGET name CDATA #REQUIRED>
<!ELEMENT MANUFACTURER (#PCDATA) >
<!ELEMENT MODEL (#PCDATA) >
<!ELEMENT DEPLOYMENT (#CDATA) >
<!ELEMENT TRANSITION (ORIGINALVERSION, UPDATEDVERSION, UPKG) >
<!ELEMENT ORIGINALVERSION (#PCDATA) >
<!ELEMENT UPDATEDVERSION (#PCDATA) >
<!ELEMENT UPKG (UPDATEPACKAGE, UPDATETYPE, dsignature)>
<!ELEMENT UPDATEPACKAGE (NAME, DESCRIPTION, VENDOR*,PARAMETERS*, CREATIONDATE, SIZE, DOWNLOADTIME, REFLASHTIME, DATATYPE, (DATA | PACKAGE | REFERENCE), UPDATEPURPOSE, SEVERITY) >
<!ATTLIST UPDATEPACKAGE Id ID #IMPLIED>
<!ELEMENT PACKAGE (DATA) >
<!ELEMENT REFERENCE (#CDATA)>
<!ELEMENT NAME (#PCDATA) >
<!ELEMENT DESCRIPTION (#CDATA) >
<!ELEMENT VENDOR (VENDORNAME, VENDORDETAILS, PARAMETERS* ) >
<!ELEMENT VENDORNAME (#CDATA) >
<!ELEMENT VENDORDETAILS (#CDATA) >
<!ELEMENT PARAMETERS (PARAMETER*) >
<!ELEMENT PARAMETER (PARAMETERNAME, PARAMETERVALUE) >
<!ELEMENT PARAMETERNAME (#CDATA) >
<!ELEMENT PARAMETERVALUE (#PCDATA) >
<!ELEMENT CREATIONDATE (#PCDATA) >
<!ELEMENT SIZE (#PCDATA)>
<!ELEMENT DOWNLOADTIME (#PCDATA)>
<!ELEMENT REFLASHTIME (#PCDATA)>
<!ELEMENT DATATYPE (#PCDATA)>
<!ELEMENT DATA (#PCDATA)>
<!ELEMENT UPDATETYPE (#CDATA)>
<!ELEMENT UPDATEPURPOSE (#CDATA)>
<!ELEMENT SEVERITY (#PCDATA)>
lakshmikar is offline   Reply With Quote