[ARM程序分析与设计] Device Management

[复制链接]
 楼主| galaxy9229 发表于 2008-8-14 11:00 | 显示全部楼层 |阅读模式
<br />SyncML&nbsp;device&nbsp;management<br /><B>Article&nbsp;Outline</B><br /><B>[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#why]<font color=#999900>Why&nbsp;device&nbsp;management?</font>[/url]</B><br /><B>[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#why2]<font color=#999900>Why&nbsp;SyncML?</font>[/url]</B><br /><B>[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#sync]<font color=#999900>SyncML&nbsp;Device&nbsp;Management&nbsp;Protocol</font>[/url]</B><br /><B>[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#imp]<font color=#999900>Implementing&nbsp;SyncML</font>[/url]</B><br /><B>[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#notes]<font color=#999900>Final&nbsp;notes</font>[/url]</B><br /><B>[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#about]<font color=#999900>About&nbsp;the&nbsp;author</font>[/url]</B><br />With&nbsp;pervasive&nbsp;devices&nbsp;overwhelming&nbsp;today's&nbsp;market,&nbsp;developers&nbsp;need&nbsp;a&nbsp;standard&nbsp;protocol&nbsp;to&nbsp;set&nbsp;up&nbsp;and&nbsp;reconfigure&nbsp;devices,&nbsp;update&nbsp;software,&nbsp;and&nbsp;register&nbsp;new&nbsp;services&nbsp;remotely.&nbsp;The&nbsp;SyncML&nbsp;Device&nbsp;Management&nbsp;Protocol&nbsp;helps&nbsp;you&nbsp;do&nbsp;just&nbsp;that&nbsp;without&nbsp;having&nbsp;to&nbsp;commit&nbsp;to&nbsp;a&nbsp;proprietary&nbsp;protocol<br />Why&nbsp;device&nbsp;management?<br />&quot;...&nbsp;a&nbsp;billion&nbsp;people&nbsp;interacting&nbsp;with&nbsp;a&nbsp;million&nbsp;e-businesses&nbsp;with&nbsp;a&nbsp;trillion&nbsp;intelligent&nbsp;devices&nbsp;interconnected...&quot;&nbsp;--Lou&nbsp;Gerstner,&nbsp;Chairman&nbsp;IBM<br />Ubiquitous&nbsp;access&nbsp;to&nbsp;information&nbsp;is&nbsp;vital&nbsp;in&nbsp;today's&nbsp;fast-moving&nbsp;computing&nbsp;world.&nbsp;If&nbsp;it&nbsp;isn't&nbsp;already,&nbsp;the&nbsp;market&nbsp;will&nbsp;soon&nbsp;be&nbsp;flooded&nbsp;with&nbsp;different&nbsp;types&nbsp;of&nbsp;pervasive&nbsp;devices.&nbsp;These&nbsp;include&nbsp;Personal&nbsp;Digital&nbsp;Assistants&nbsp;(PDAs)&nbsp;with&nbsp;network&nbsp;access,&nbsp;as&nbsp;well&nbsp;as&nbsp;a&nbsp;new&nbsp;class&nbsp;of&nbsp;not-so-personal,&nbsp;but&nbsp;more&nbsp;consumer-oriented&nbsp;devices,&nbsp;such&nbsp;as&nbsp;in-vehicle&nbsp;information&nbsp;systems,&nbsp;home&nbsp;service&nbsp;gateways,&nbsp;kiosks,&nbsp;and&nbsp;set-top&nbsp;boxes.&nbsp;And&nbsp;as&nbsp;those&nbsp;devices&nbsp;become&nbsp;more&nbsp;popular&nbsp;and&nbsp;more&nbsp;complicated,&nbsp;the&nbsp;task&nbsp;of&nbsp;setting&nbsp;up&nbsp;and&nbsp;reconfiguring&nbsp;devices,&nbsp;updating&nbsp;software,&nbsp;and&nbsp;registering&nbsp;new&nbsp;services&nbsp;automatically&nbsp;becomes&nbsp;more&nbsp;challenging.&nbsp;Therefore,&nbsp;we&nbsp;need&nbsp;a&nbsp;standard&nbsp;protocol&nbsp;that&nbsp;will&nbsp;allow&nbsp;service&nbsp;providers,&nbsp;device&nbsp;manufacturers,&nbsp;and&nbsp;corporate&nbsp;information&nbsp;management&nbsp;departments&nbsp;to&nbsp;perform&nbsp;the&nbsp;following&nbsp;tasks&nbsp;remotely:<UL><li>Configure&nbsp;new&nbsp;devices&nbsp;<li>Upgrade&nbsp;software&nbsp;on&nbsp;devices&nbsp;<li>Upload&nbsp;new&nbsp;applications&nbsp;<li>Perform&nbsp;backup&nbsp;and&nbsp;restoration&nbsp;<li>Track&nbsp;hardware&nbsp;inventory&nbsp;<li>Collect&nbsp;data&nbsp;from&nbsp;the&nbsp;devices&nbsp;<li>Control&nbsp;devices&nbsp;remotely&nbsp;<li>Implement&nbsp;service&nbsp;discovery&nbsp;and&nbsp;provisioning<br /></li></UL><br />This&nbsp;article&nbsp;gives&nbsp;you&nbsp;an&nbsp;under-the-hood&nbsp;look&nbsp;into&nbsp;the&nbsp;SyncML&nbsp;(Synchronization&nbsp;Markup&nbsp;Language)&nbsp;Device&nbsp;Management&nbsp;Protocol&nbsp;--&nbsp;an&nbsp;emerging&nbsp;and&nbsp;efficient&nbsp;solution&nbsp;that&nbsp;has&nbsp;gained&nbsp;wide&nbsp;support&nbsp;among&nbsp;major&nbsp;industry&nbsp;players.<br />[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#top]<font color=#999900>Back&nbsp;to&nbsp;top</font>[/url]<br />Why&nbsp;SyncML?<br />Currently,&nbsp;there&nbsp;are&nbsp;several&nbsp;proprietary&nbsp;protocols&nbsp;you&nbsp;can&nbsp;use&nbsp;to&nbsp;manage&nbsp;devices,&nbsp;but&nbsp;there&nbsp;is&nbsp;no&nbsp;current&nbsp;standard&nbsp;device&nbsp;management&nbsp;protocol.&nbsp;If&nbsp;you&nbsp;consider&nbsp;the&nbsp;non-interoperability&nbsp;issues&nbsp;that&nbsp;come&nbsp;with&nbsp;multiple&nbsp;proprietary&nbsp;protocols,&nbsp;this&nbsp;is&nbsp;a&nbsp;disconcerting&nbsp;fact.&nbsp;Unless&nbsp;the&nbsp;industry&nbsp;proposes&nbsp;a&nbsp;standard&nbsp;device&nbsp;management&nbsp;protocol,&nbsp;a&nbsp;plethora&nbsp;of&nbsp;incompatible&nbsp;protocols&nbsp;will&nbsp;consume&nbsp;it,&nbsp;whereas&nbsp;a&nbsp;standard&nbsp;device&nbsp;management&nbsp;protocol&nbsp;would&nbsp;cater&nbsp;to&nbsp;all&nbsp;industry&nbsp;segments.<br />The&nbsp;SyncML&nbsp;Initiative,&nbsp;led&nbsp;by&nbsp;more&nbsp;than&nbsp;640&nbsp;companies,&nbsp;including&nbsp;Ericsson,&nbsp;IBM,&nbsp;Nokia,&nbsp;and&nbsp;Motorola,&nbsp;has&nbsp;designed&nbsp;a&nbsp;highly-interoperable&nbsp;device&nbsp;management&nbsp;(DM)&nbsp;protocol.&nbsp;The&nbsp;initiative&nbsp;successfully&nbsp;created&nbsp;an&nbsp;industry&nbsp;standard&nbsp;data&nbsp;synchronization&nbsp;protocol.&nbsp;Now&nbsp;industry&nbsp;leaders&nbsp;in&nbsp;both&nbsp;the&nbsp;client&nbsp;and&nbsp;server&nbsp;segment&nbsp;are&nbsp;in&nbsp;the&nbsp;process&nbsp;of&nbsp;designing&nbsp;and&nbsp;promoting&nbsp;the&nbsp;SyncML&nbsp;Device&nbsp;Management&nbsp;Protocol,&nbsp;in&nbsp;hopes&nbsp;of&nbsp;making&nbsp;it&nbsp;the&nbsp;future&nbsp;standard.<br />The&nbsp;SyncML&nbsp;Initiative&nbsp;is&nbsp;now&nbsp;a&nbsp;part&nbsp;of&nbsp;the&nbsp;Open&nbsp;Mobile&nbsp;Alliance&nbsp;(OMA),&nbsp;which&nbsp;consists&nbsp;of&nbsp;groups&nbsp;like&nbsp;WAP&nbsp;Forum,&nbsp;Location&nbsp;Interoperability&nbsp;Forum,&nbsp;and&nbsp;MMS&nbsp;Interoperability&nbsp;Group.&nbsp;By&nbsp;being&nbsp;a&nbsp;part&nbsp;of&nbsp;this&nbsp;widespread&nbsp;industry&nbsp;organization,&nbsp;SyncML's&nbsp;acceptance&nbsp;as&nbsp;a&nbsp;standard&nbsp;device&nbsp;management&nbsp;solution&nbsp;will&nbsp;likely&nbsp;increase&nbsp;significantly.<br />[url&nbsp;href=http://www.aepona.com/learn_about/whitepapers3.html#top]<font color=#999900>Back&nbsp;to&nbsp;top</font>[/url]<br />SyncML&nbsp;Device&nbsp;Management&nbsp;Protocol<br /><B>The&nbsp;history</B><br />The&nbsp;initiative's&nbsp;team&nbsp;of&nbsp;designers&nbsp;began&nbsp;developing&nbsp;SyncML&nbsp;DM&nbsp;in&nbsp;2001,&nbsp;while&nbsp;later&nbsp;holding&nbsp;its&nbsp;first&nbsp;public&nbsp;real-time&nbsp;demonstration&nbsp;in&nbsp;Amsterdam&nbsp;in&nbsp;January&nbsp;2002.&nbsp;At&nbsp;that&nbsp;time,&nbsp;the&nbsp;team&nbsp;instantly&nbsp;implemented&nbsp;changes&nbsp;to&nbsp;preferences&nbsp;and&nbsp;settings&nbsp;of&nbsp;five&nbsp;different&nbsp;handsets&nbsp;via&nbsp;live&nbsp;connections&nbsp;to&nbsp;five&nbsp;different&nbsp;servers.&nbsp;The&nbsp;team&nbsp;released&nbsp;SyncML&nbsp;DM&nbsp;1.1&nbsp;in&nbsp;February&nbsp;2002&nbsp;and&nbsp;held&nbsp;the&nbsp;first&nbsp;engineering&nbsp;event&nbsp;of&nbsp;SyncML&nbsp;DM&nbsp;in&nbsp;Las&nbsp;Vegas&nbsp;the&nbsp;following&nbsp;September.&nbsp;SyncML&nbsp;Device&nbsp;Management&nbsp;1.1.1&nbsp;is&nbsp;the&nbsp;current&nbsp;version.<br /><B>SyncML&nbsp;design</B><br />SyncML&nbsp;DM&nbsp;is&nbsp;a&nbsp;client-server&nbsp;protocol&nbsp;where&nbsp;the&nbsp;server&nbsp;manages&nbsp;the&nbsp;software&nbsp;on&nbsp;the&nbsp;client&nbsp;device.&nbsp;The&nbsp;protocol's&nbsp;designers&nbsp;created&nbsp;it&nbsp;with&nbsp;the&nbsp;following&nbsp;in&nbsp;mind:<UL><li>Mobile&nbsp;devices,&nbsp;which&nbsp;have&nbsp;limited&nbsp;resources&nbsp;such&nbsp;as&nbsp;processing&nbsp;power&nbsp;and&nbsp;memory&nbsp;<li>Wireless&nbsp;networks,&nbsp;which&nbsp;have&nbsp;low&nbsp;bandwidth&nbsp;and&nbsp;high&nbsp;network&nbsp;latency<br /></li></UL><br />The&nbsp;protocol&nbsp;is&nbsp;generic&nbsp;and&nbsp;designed&nbsp;to&nbsp;reuse&nbsp;the&nbsp;SyncML&nbsp;DataSync&nbsp;document&nbsp;type&nbsp;definition&nbsp;(DTD).&nbsp;Figure&nbsp;1&nbsp;shows&nbsp;a&nbsp;typical&nbsp;scenario&nbsp;of&nbsp;a&nbsp;SyncML&nbsp;server&nbsp;managing&nbsp;any&nbsp;networked&nbsp;device&nbsp;implementing&nbsp;SyncML.<br /><B>Figure&nbsp;1.&nbsp;Seamless&nbsp;management&nbsp;of&nbsp;devices&nbsp;through&nbsp;SyncML</B><br /><img src="file:///E:/Study/work%20doc/Arm%20study/Device%20Management.files/1_fig1.gif"><br /><B>SyncML&nbsp;consists&nbsp;of&nbsp;the&nbsp;following&nbsp;parts:</B><UL><li>Data&nbsp;model:&nbsp;The&nbsp;data&nbsp;offered&nbsp;for&nbsp;remote&nbsp;manipulation&nbsp;(for&nbsp;example,&nbsp;browser&nbsp;and&nbsp;mail&nbsp;settings).&nbsp;<li>Protocols:&nbsp;The&nbsp;protocols&nbsp;used&nbsp;between&nbsp;a&nbsp;management&nbsp;server&nbsp;and&nbsp;a&nbsp;mobile&nbsp;device.&nbsp;<li>Policy:&nbsp;The&nbsp;policy&nbsp;that&nbsp;decides&nbsp;who&nbsp;can&nbsp;manipulate&nbsp;a&nbsp;particular&nbsp;parameter&nbsp;or&nbsp;update&nbsp;a&nbsp;particular&nbsp;object&nbsp;in&nbsp;the&nbsp;device.&nbsp;<li>Security:&nbsp;The&nbsp;authentication&nbsp;mechanism&nbsp;between&nbsp;the&nbsp;client&nbsp;and&nbsp;the&nbsp;server,&nbsp;the&nbsp;integrity&nbsp;of&nbsp;message&nbsp;exchanges,&nbsp;and&nbsp;the&nbsp;confidentiality&nbsp;of&nbsp;the&nbsp;message&nbsp;exchanged.&nbsp;<li>Bootstrap:&nbsp;How&nbsp;the&nbsp;management&nbsp;server&nbsp;provisions&nbsp;a&nbsp;new&nbsp;client&nbsp;to&nbsp;enable&nbsp;it&nbsp;to&nbsp;start&nbsp;a&nbsp;management&nbsp;session.&nbsp;<li>Notification:&nbsp;The&nbsp;way&nbsp;the&nbsp;server&nbsp;notifies&nbsp;the&nbsp;client&nbsp;to&nbsp;start&nbsp;a&nbsp;management&nbsp;session.<br /></li></UL><br /><B>Data&nbsp;model</B><br />There&nbsp;are&nbsp;two&nbsp;elements&nbsp;in&nbsp;the&nbsp;SyncML's&nbsp;data&nbsp;model:&nbsp;a&nbsp;device&nbsp;management&nbsp;tree,&nbsp;which&nbsp;contains&nbsp;objects&nbsp;for&nbsp;manipulation,&nbsp;and&nbsp;the&nbsp;Device&nbsp;Description&nbsp;Framework,&nbsp;which&nbsp;consists&nbsp;of&nbsp;meta-information&nbsp;about&nbsp;the&nbsp;tree.<br />Device&nbsp;management&nbsp;tree:&nbsp;To&nbsp;be&nbsp;managed,&nbsp;a&nbsp;device&nbsp;must&nbsp;expose&nbsp;its&nbsp;internal&nbsp;data&nbsp;to&nbsp;the&nbsp;management&nbsp;server.&nbsp;The&nbsp;management&nbsp;tree&nbsp;organizes&nbsp;all&nbsp;the&nbsp;management&nbsp;objects&nbsp;in&nbsp;the&nbsp;device&nbsp;as&nbsp;a&nbsp;hierarchical&nbsp;tree&nbsp;structure,&nbsp;where&nbsp;a&nbsp;URI&nbsp;can&nbsp;uniquely&nbsp;address&nbsp;the&nbsp;management&nbsp;object.&nbsp;SyncML&nbsp;DM&nbsp;standardizes&nbsp;three&nbsp;things:<UL><li>The&nbsp;rules&nbsp;for&nbsp;adding,&nbsp;deleting,&nbsp;modifying,&nbsp;and&nbsp;retrieving&nbsp;the&nbsp;node's&nbsp;contents&nbsp;<li>The&nbsp;way&nbsp;in&nbsp;which&nbsp;you&nbsp;specify&nbsp;access&nbsp;control&nbsp;rights&nbsp;for&nbsp;adding,&nbsp;modifying,&nbsp;deleting,&nbsp;and&nbsp;accessing&nbsp;the&nbsp;nodes&nbsp;<li>The&nbsp;different&nbsp;type&nbsp;of&nbsp;nodes&nbsp;in&nbsp;the&nbsp;tree&nbsp;and&nbsp;their&nbsp;properties<br /></li></UL><br /><B>Device&nbsp;Description&nbsp;Framework:</B>&nbsp;If&nbsp;the&nbsp;server&nbsp;manages&nbsp;the&nbsp;device,&nbsp;then&nbsp;it&nbsp;needs&nbsp;to&nbsp;know&nbsp;the&nbsp;device's&nbsp;tree&nbsp;structure.&nbsp;That&nbsp;tree&nbsp;structure&nbsp;cannot&nbsp;be&nbsp;standardized&nbsp;because&nbsp;of&nbsp;the&nbsp;countless&nbsp;devices&nbsp;with&nbsp;different&nbsp;functionality&nbsp;in&nbsp;the&nbsp;market.&nbsp;Hence,&nbsp;you&nbsp;must&nbsp;enable&nbsp;the&nbsp;management&nbsp;server&nbsp;to&nbsp;know&nbsp;the&nbsp;tree&nbsp;structure&nbsp;and&nbsp;its&nbsp;properties.&nbsp;To&nbsp;do&nbsp;so,&nbsp;the&nbsp;client&nbsp;vendor&nbsp;describes&nbsp;the&nbsp;internal&nbsp;tree&nbsp;structure&nbsp;when&nbsp;it&nbsp;releases&nbsp;the&nbsp;device&nbsp;to&nbsp;market.&nbsp;The&nbsp;SyncML&nbsp;DM&nbsp;Device&nbsp;Description&nbsp;Framework&nbsp;describes&nbsp;a&nbsp;common&nbsp;tree&nbsp;format,&nbsp;so&nbsp;the&nbsp;management&nbsp;server&nbsp;can&nbsp;easily&nbsp;understand&nbsp;the&nbsp;devices.<br /><B>Protocols</B><br />As&nbsp;with&nbsp;any&nbsp;protocol,&nbsp;SyncML&nbsp;specifies&nbsp;the&nbsp;syntax&nbsp;and&nbsp;semantics&nbsp;of&nbsp;messages&nbsp;exchanged&nbsp;between&nbsp;a&nbsp;client&nbsp;and&nbsp;a&nbsp;server.&nbsp;The&nbsp;Representation&nbsp;Protocol&nbsp;specification&nbsp;describes&nbsp;the&nbsp;syntax;&nbsp;the&nbsp;Device&nbsp;Management&nbsp;Protocol&nbsp;specifies&nbsp;the&nbsp;semantics.<br /><B>Representation&nbsp;Protocol:</B>&nbsp;SyncML's&nbsp;Representation&nbsp;Protocol&nbsp;defines&nbsp;the&nbsp;syntax&nbsp;of&nbsp;the&nbsp;exchanged&nbsp;message.&nbsp;SyncML&nbsp;DM&nbsp;operations&nbsp;are&nbsp;bound&nbsp;into&nbsp;a&nbsp;SyncML&nbsp;package,&nbsp;which&nbsp;is&nbsp;a&nbsp;conceptual&nbsp;frame&nbsp;for&nbsp;one&nbsp;or&nbsp;more&nbsp;SyncML&nbsp;DM&nbsp;messages.&nbsp;Those&nbsp;messages&nbsp;are&nbsp;well-formed&nbsp;XML&nbsp;documents&nbsp;identified&nbsp;by&nbsp;the&nbsp;SyncML&nbsp;root&nbsp;or&nbsp;document&nbsp;element&nbsp;type.&nbsp;Each&nbsp;message&nbsp;consists&nbsp;of&nbsp;a&nbsp;header&nbsp;(SyncHdr)&nbsp;and&nbsp;a&nbsp;message&nbsp;body&nbsp;(SyncBody).&nbsp;The&nbsp;header&nbsp;specifies&nbsp;routing,&nbsp;versioning,&nbsp;and&nbsp;session&nbsp;information,&nbsp;while&nbsp;the&nbsp;message&nbsp;body&nbsp;acts&nbsp;as&nbsp;a&nbsp;container&nbsp;for&nbsp;one&nbsp;or&nbsp;more&nbsp;SyncML&nbsp;DM&nbsp;commands.&nbsp;The&nbsp;commands&nbsp;are&nbsp;containers&nbsp;for&nbsp;other&nbsp;element&nbsp;types&nbsp;that&nbsp;describe&nbsp;the&nbsp;command's&nbsp;specifics.&nbsp;The&nbsp;server&nbsp;sends&nbsp;commands&nbsp;like&nbsp;Add,&nbsp;Copy,&nbsp;Delete,&nbsp;and&nbsp;Replace&nbsp;to&nbsp;manipulate&nbsp;the&nbsp;management&nbsp;tree,&nbsp;and&nbsp;uses&nbsp;the&nbsp;Get&nbsp;command&nbsp;to&nbsp;retrieve&nbsp;the&nbsp;contents&nbsp;of&nbsp;a&nbsp;particular&nbsp;node.&nbsp;The&nbsp;client&nbsp;returns&nbsp;the&nbsp;contents&nbsp;through&nbsp;a&nbsp;Result&nbsp;command.&nbsp;And&nbsp;a&nbsp;Status&nbsp;command&nbsp;conveys&nbsp;another&nbsp;command's&nbsp;execution&nbsp;results.<br /><B>The&nbsp;Representation&nbsp;Protocol&nbsp;defines&nbsp;two&nbsp;DTDs:</B><UL><li>SyncML&nbsp;DTD,&nbsp;which&nbsp;specifies&nbsp;the&nbsp;basic&nbsp;SyncML&nbsp;message&nbsp;format.&nbsp;SyncML&nbsp;specifies&nbsp;various&nbsp;commands;&nbsp;the&nbsp;elements&nbsp;of&nbsp;these&nbsp;commands&nbsp;are&nbsp;specified&nbsp;in&nbsp;this&nbsp;DTD.&nbsp;<li>Meta-Information&nbsp;DTD,&nbsp;which&nbsp;contains&nbsp;the&nbsp;data&nbsp;formats.&nbsp;Different&nbsp;SyncML&nbsp;commands&nbsp;carry&nbsp;data&nbsp;in&nbsp;different&nbsp;formats.&nbsp;Information&nbsp;about&nbsp;this&nbsp;data&nbsp;sits&nbsp;in&nbsp;a&nbsp;meta-element&nbsp;formatted&nbsp;according&nbsp;to&nbsp;this&nbsp;DTD.<br /></li></UL><br /><B>Figure&nbsp;2&nbsp;illustrates&nbsp;a&nbsp;conceptual&nbsp;SyncML&nbsp;message.</B><br /><B>Figure&nbsp;2.&nbsp;Conceptual&nbsp;SyncML&nbsp;message</B><br /><img src="file:///E:/Study/work%20doc/Arm%20study/Device%20Management.files/1_fig2.gif"><br /><B>Device&nbsp;Management&nbsp;Protocol:</B>&nbsp;SyncML&nbsp;Device&nbsp;Management&nbsp;Protocol&nbsp;specifies&nbsp;the&nbsp;handshake&nbsp;mechanism&nbsp;and&nbsp;the&nbsp;rules&nbsp;to&nbsp;follow&nbsp;for&nbsp;a&nbsp;successful&nbsp;management&nbsp;session,&nbsp;including&nbsp;the:<UL><li>State&nbsp;machine&nbsp;for&nbsp;the&nbsp;client&nbsp;and&nbsp;server&nbsp;<li>Commands&nbsp;that&nbsp;the&nbsp;server&nbsp;and&nbsp;the&nbsp;client&nbsp;can&nbsp;send&nbsp;<li>Method&nbsp;by&nbsp;which&nbsp;the&nbsp;client&nbsp;and&nbsp;server&nbsp;authenticate&nbsp;each&nbsp;other&nbsp;<li>Process&nbsp;for&nbsp;checking&nbsp;the&nbsp;integrity&nbsp;of&nbsp;the&nbsp;message&nbsp;exchanged&nbsp;<li>Mechanisms&nbsp;for&nbsp;sending&nbsp;objects&nbsp;greater&nbsp;than&nbsp;the&nbsp;transport&nbsp;message&nbsp;size<br /></li></UL><br /><B>Figure&nbsp;3&nbsp;describes&nbsp;the&nbsp;two&nbsp;phases&nbsp;of&nbsp;a&nbsp;management&nbsp;session:&nbsp;the&nbsp;setup&nbsp;phase&nbsp;and&nbsp;the&nbsp;management&nbsp;phase.</B><br /><B>Figure&nbsp;3.&nbsp;Message&nbsp;sequence&nbsp;diagram</B><br /><img src="file:///E:/Study/work%20doc/Arm%20study/Device%20Management.files/1_fig3.gif"><br /><B>Setup&nbsp;phase:</B>&nbsp;Package&nbsp;0,&nbsp;from&nbsp;the&nbsp;server,&nbsp;is&nbsp;an&nbsp;optional&nbsp;package&nbsp;wherein&nbsp;the&nbsp;server&nbsp;uses&nbsp;an&nbsp;out-of-band&nbsp;signaling&nbsp;mechanism&nbsp;to&nbsp;notify&nbsp;the&nbsp;client&nbsp;to&nbsp;connect&nbsp;and&nbsp;establish&nbsp;a&nbsp;management&nbsp;session.<br />Package&nbsp;1,&nbsp;from&nbsp;the&nbsp;client,&nbsp;contains&nbsp;the&nbsp;session&nbsp;information,&nbsp;the&nbsp;credentials,&nbsp;an&nbsp;alert&nbsp;specifying&nbsp;if&nbsp;the&nbsp;client&nbsp;connected&nbsp;voluntarily&nbsp;or&nbsp;if&nbsp;the&nbsp;server&nbsp;asked&nbsp;it&nbsp;to&nbsp;connect,&nbsp;and&nbsp;the&nbsp;device&nbsp;information.<br />Package&nbsp;2,&nbsp;from&nbsp;the&nbsp;server,&nbsp;contains&nbsp;status&nbsp;codes&nbsp;for&nbsp;the&nbsp;commands&nbsp;the&nbsp;client&nbsp;sent&nbsp;in&nbsp;with&nbsp;package&nbsp;1.&nbsp;It&nbsp;contains&nbsp;credential&nbsp;information&nbsp;if&nbsp;required&nbsp;by&nbsp;the&nbsp;client&nbsp;and&nbsp;management&nbsp;commands.&nbsp;If&nbsp;the&nbsp;server&nbsp;does&nbsp;not&nbsp;send&nbsp;any&nbsp;management&nbsp;commands&nbsp;in&nbsp;this&nbsp;package,&nbsp;the&nbsp;session&nbsp;ends.<br />If&nbsp;the&nbsp;credential&nbsp;information&nbsp;is&nbsp;incorrect&nbsp;or&nbsp;not&nbsp;specified,&nbsp;the&nbsp;setup&nbsp;phase&nbsp;may&nbsp;go&nbsp;through&nbsp;several&nbsp;iterations.<br /><B>Management&nbsp;phase:</B>&nbsp;Package&nbsp;3,&nbsp;from&nbsp;the&nbsp;client,&nbsp;contains&nbsp;responses&nbsp;to&nbsp;the&nbsp;management&nbsp;commands&nbsp;the&nbsp;server&nbsp;sent&nbsp;in&nbsp;package&nbsp;2.&nbsp;The&nbsp;response&nbsp;includes&nbsp;status&nbsp;of&nbsp;a&nbsp;management&nbsp;operation&nbsp;and&nbsp;results&nbsp;if&nbsp;the&nbsp;server&nbsp;requested&nbsp;any&nbsp;information.&nbsp;If&nbsp;the&nbsp;server&nbsp;did&nbsp;not&nbsp;send&nbsp;any&nbsp;commands&nbsp;in&nbsp;package&nbsp;2&nbsp;and&nbsp;did&nbsp;not&nbsp;request&nbsp;the&nbsp;client&nbsp;to&nbsp;send&nbsp;the&nbsp;next&nbsp;message,&nbsp;then&nbsp;the&nbsp;client&nbsp;does&nbsp;not&nbsp;send&nbsp;this&nbsp;package&nbsp;and&nbsp;the&nbsp;session&nbsp;ends.<br />Package&nbsp;4&nbsp;from&nbsp;the&nbsp;server&nbsp;contains&nbsp;management&nbsp;commands.<br />The&nbsp;management&nbsp;phase&nbsp;might&nbsp;go&nbsp;through&nbsp;several&nbsp;iterations,&nbsp;during&nbsp;which&nbsp;the&nbsp;server&nbsp;sends&nbsp;the&nbsp;commands&nbsp;and&nbsp;the&nbsp;client&nbsp;responds&nbsp;to&nbsp;them.<br /><B>Policy</B><br />To&nbsp;manage&nbsp;different&nbsp;objects,&nbsp;a&nbsp;device&nbsp;could&nbsp;connect&nbsp;to&nbsp;different&nbsp;servers.&nbsp;For&nbsp;example,&nbsp;it&nbsp;could&nbsp;connect&nbsp;to&nbsp;a&nbsp;service&nbsp;provider's&nbsp;management&nbsp;server&nbsp;in&nbsp;order&nbsp;to&nbsp;manage&nbsp;the&nbsp;service&nbsp;operator's&nbsp;settings,&nbsp;or&nbsp;it&nbsp;could&nbsp;connect&nbsp;to&nbsp;a&nbsp;device&nbsp;manufacturer's&nbsp;management&nbsp;server&nbsp;to&nbsp;manage&nbsp;some&nbsp;applications.&nbsp;Therefore,&nbsp;you&nbsp;need&nbsp;a&nbsp;policy&nbsp;that&nbsp;allows&nbsp;you&nbsp;to&nbsp;have&nbsp;specific&nbsp;servers&nbsp;for&nbsp;specific&nbsp;operations&nbsp;on&nbsp;the&nbsp;tree&nbsp;nodes.&nbsp;Access&nbsp;Control&nbsp;Lists&nbsp;(ACL)&nbsp;specify&nbsp;this&nbsp;policy&nbsp;in&nbsp;SyncML&nbsp;DM.<br />SyncML&nbsp;DM&nbsp;specifies&nbsp;the&nbsp;ACL&nbsp;syntax,&nbsp;its&nbsp;setting&nbsp;rules,&nbsp;inheritance&nbsp;properties,&nbsp;and&nbsp;more.<br /><B>Security</B><br />Security&nbsp;plays&nbsp;an&nbsp;important&nbsp;role&nbsp;in&nbsp;device&nbsp;management&nbsp;because&nbsp;of&nbsp;the&nbsp;sensitive&nbsp;information&nbsp;transferred&nbsp;from&nbsp;the&nbsp;server&nbsp;to&nbsp;the&nbsp;client.&nbsp;A&nbsp;malicious&nbsp;management&nbsp;server&nbsp;can&nbsp;take&nbsp;complete&nbsp;control&nbsp;of&nbsp;the&nbsp;client&nbsp;if&nbsp;you&nbsp;don't&nbsp;ensure&nbsp;its&nbsp;security.&nbsp;SyncML&nbsp;DM&nbsp;has&nbsp;the&nbsp;following&nbsp;provisions&nbsp;to&nbsp;implement&nbsp;a&nbsp;secure&nbsp;solution:<UL><li><B>Authentication:</B>&nbsp;Validates&nbsp;either&nbsp;the&nbsp;device&nbsp;or&nbsp;management&nbsp;server&nbsp;identity.&nbsp;You&nbsp;achieve&nbsp;authentication&nbsp;through&nbsp;a&nbsp;mechanism&nbsp;where&nbsp;both&nbsp;the&nbsp;client&nbsp;and&nbsp;the&nbsp;server&nbsp;can&nbsp;challenge&nbsp;each&nbsp;other&nbsp;for&nbsp;the&nbsp;credential&nbsp;information,&nbsp;such&nbsp;as&nbsp;a&nbsp;user&nbsp;ID&nbsp;and&nbsp;password.&nbsp;You&nbsp;can&nbsp;send&nbsp;credentials&nbsp;using&nbsp;B64&nbsp;encoding&nbsp;of&nbsp;a&nbsp;user&nbsp;ID&nbsp;and&nbsp;password,&nbsp;or&nbsp;a&nbsp;more&nbsp;secure&nbsp;Message&nbsp;Digest&nbsp;Algorithm&nbsp;(MD5),&nbsp;which&nbsp;includes&nbsp;a&nbsp;nonce.&nbsp;The&nbsp;challenger&nbsp;specifies&nbsp;the&nbsp;scheme&nbsp;that&nbsp;will&nbsp;be&nbsp;used&nbsp;while&nbsp;the&nbsp;SyncML&nbsp;message&nbsp;header&nbsp;carries&nbsp;the&nbsp;credential&nbsp;information.&nbsp;<li><B>Integrity:&nbsp;</B>A&nbsp;message&nbsp;ascertains&nbsp;its&nbsp;content&nbsp;or,&nbsp;at&nbsp;a&nbsp;minimum,&nbsp;can&nbsp;detect&nbsp;whether&nbsp;its&nbsp;content&nbsp;has&nbsp;been&nbsp;modified&nbsp;or&nbsp;corrupted.&nbsp;You'll&nbsp;need&nbsp;integrity&nbsp;when&nbsp;the&nbsp;client&nbsp;uses&nbsp;an&nbsp;insecure&nbsp;transport.&nbsp;By&nbsp;computing&nbsp;a&nbsp;keyed&nbsp;Hashing&nbsp;for&nbsp;Message&nbsp;Authentication&nbsp;(HMAC)&nbsp;of&nbsp;the&nbsp;entire&nbsp;message&nbsp;with&nbsp;a&nbsp;shared&nbsp;secret&nbsp;and&nbsp;sending&nbsp;them&nbsp;in&nbsp;the&nbsp;transport&nbsp;header,&nbsp;you'll&nbsp;achieve&nbsp;integrity&nbsp;of&nbsp;the&nbsp;message&nbsp;exchanged&nbsp;between&nbsp;the&nbsp;client&nbsp;and&nbsp;server.&nbsp;The&nbsp;message&nbsp;recipient&nbsp;then&nbsp;recomputes&nbsp;the&nbsp;HMAC&nbsp;based&nbsp;on&nbsp;the&nbsp;received&nbsp;message&nbsp;and&nbsp;the&nbsp;shared&nbsp;secret.&nbsp;If&nbsp;the&nbsp;hash&nbsp;matches,&nbsp;it&nbsp;implies&nbsp;that&nbsp;the&nbsp;message&nbsp;has&nbsp;not&nbsp;been&nbsp;tampered&nbsp;with;&nbsp;otherwise,&nbsp;the&nbsp;message&nbsp;is&nbsp;discarded.&nbsp;<li><br /><B>Confidentiality</B>:&nbsp;Keeps&nbsp;contents&nbsp;secret&nbsp;from&nbsp;all&nbsp;but&nbsp;the&nbsp;two&nbsp;entities&nbsp;exchanging&nbsp;the&nbsp;message.&nbsp;It&nbsp;does&nbsp;not&nbsp;limit&nbsp;the&nbsp;message's&nbsp;visibility&nbsp;(open&nbsp;to&nbsp;eavesdropping),&nbsp;but&nbsp;it&nbsp;does&nbsp;prevent&nbsp;a&nbsp;third&nbsp;entity&nbsp;from&nbsp;interpreting&nbsp;the&nbsp;transmitted&nbsp;data.&nbsp;Effectively,&nbsp;this&nbsp;prevents&nbsp;anyone&nbsp;but&nbsp;the&nbsp;intended&nbsp;sender&nbsp;and&nbsp;intended&nbsp;recipient&nbsp;from&nbsp;understanding&nbsp;the&nbsp;message's&nbsp;contents.<br /><B>There&nbsp;are&nbsp;two&nbsp;types&nbsp;of&nbsp;confidentiality&nbsp;in&nbsp;SyncML&nbsp;DM:</B><li><br />Confidentiality&nbsp;of&nbsp;information&nbsp;being&nbsp;transferred&nbsp;over&nbsp;a&nbsp;transport&nbsp;protocol.&nbsp;SyncML&nbsp;DM&nbsp;does&nbsp;not&nbsp;specify&nbsp;how&nbsp;to&nbsp;maintain&nbsp;this&nbsp;type&nbsp;of&nbsp;confidentiality.&nbsp;However,&nbsp;you&nbsp;can&nbsp;achieve&nbsp;it&nbsp;in&nbsp;one&nbsp;of&nbsp;two&nbsp;ways:&nbsp;using&nbsp;a&nbsp;transport&nbsp;protocol&nbsp;that&nbsp;supports&nbsp;encryption&nbsp;like&nbsp;Transport&nbsp;Layer&nbsp;Security&nbsp;(TLS)&nbsp;or&nbsp;HTTPS&nbsp;or&nbsp;encrypting&nbsp;the&nbsp;management&nbsp;objects,&nbsp;which&nbsp;the&nbsp;client&nbsp;or&nbsp;server&nbsp;can&nbsp;decrypt.<li><br />Confidentiality&nbsp;of&nbsp;information&nbsp;between&nbsp;device&nbsp;management&nbsp;servers.&nbsp;You&nbsp;can&nbsp;use&nbsp;ACLs&nbsp;to&nbsp;control&nbsp;a&nbsp;server's&nbsp;rights&nbsp;to&nbsp;access,&nbsp;update,&nbsp;or&nbsp;delete&nbsp;information&nbsp;in&nbsp;the&nbsp;client's&nbsp;management&nbsp;tree.</li></UL>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

69

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部