Open OMA DM Kevin Chang OMA DM server component Bootstrap generator Web UI Command script Command parser Authentication Module Log AES CCM SyncML parser Content Management Content Management DDF WBXML parser Large Object encoder Download Descriptor Device Tree parser Packet parser Large Object decoder SIP provision WSP packet generator AAA connection module Libevent HTTP MySQL Database HTTPS TCP/Socket HTTPS UDP/Socket TCP/Socket Main process MySQL Data Base Command result Commands EMSK or BEK Command Prov SyncML Generator Msg Log Logger Provision Data collector Provisoon Data AAA server socket Device ID Provision server socket TCP WBXML convertor Bootstrap information Flow controller P1/ Result Device IP ServerID Device IP Provision Server socket WSP notification WSP bootstrap UDP 4. Get command from DB OMA Server Core MySQL DB 3. Choice work queue. 6. Update work flow 1. Send notification packet Flow Controller / Scheduler Handler 4. Send command to device 7. Update job status 2. Device connect to server socket 5. Receive command result WSP notification Content Server 1. Get Download DescriptorDownload Descriptor Download Agent Add new download record and generate download ticket Content Logger 2. Download FW Firmware 3. Report download statusStatus Report Update download ticket Device Tree Discover FUMO Download Descriptor • • • • • • • • • • • <?xml version="1.0" encoding="UTF-8" ?> <media xmlns="http://www.openmobilealliance.org/xmlns/dd"> <DDVersion>1.0</DDVersion> <name>fw_name</name> <type>application/octet-stream</type> <description>fw_name.ipk</description> <objectURI>http://omadm.kevindm.com.tw/fw_name.ipk</objectURI> <size>123456</size> <installNotifyURI>http://omadm.kevindm.com.tw</installNotifyURI> <vendor>KevinDM</vendor> </media> Bootstrap Server ID, client name,client,pw, server name, server pw… SyncML WBXML ServerID: Client Name: Client PW: Server Name: Server PW: BEK=HMAC(EMSK|“bek@wimaxforum.org”) AES-CCM Ciphertext WSP Packet KevinDM 00112233445566 test_client KevinDM test_server SyncML bootstrap Sample WIB DNS AAA 4. DNS SRV query _wimax-bootstrap._tcp.domain 2. Send BEK, IP, MAC to OMA DM Server 1. NAI={sm=1}MAC@realm WIB/OMA DM 5. Get bootstrap payload http://x.x.x.x/bootstrap.wib?msid=MAC&protocol={0}&version=0 11 010 10... 3. Generate encrypted Bootstra AAA connection module