999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的電視終端開機認證系統設計

2014-07-02 00:28:18陳褒丹張永輝
電視技術 2014年13期
關鍵詞:數據庫用戶信息

張 鋒,陳褒丹,張永輝

(海南大學信息科學技術學院,海南海口570228)

基于Android的電視終端開機認證系統設計

張 鋒,陳褒丹,張永輝

(海南大學信息科學技術學院,海南海口570228)

提出基于智能電視一體機的開機認證系統設計,包括3個模塊,分別是終端激活模塊、終端登錄模塊以及用戶自動登錄模塊。在終端激活模塊和終端登錄模塊設計過程中,利用MD5算法計算出終端登錄模塊和用戶登錄模塊訪問網絡服務器所需的終端令牌,進而獲取認證信息。利用數據庫技術將這些認證信息存儲到相應的數據庫中去,并通過基于該數據庫jar包的形式為商店產品提供獲取這些認證信息的API方法。系統測試表明,該設計實現了智能TV終端與網絡服務器之間的信息認證交互,數據正確,實時可靠。同時,為第三方商店產品提供的API方法正確可行,測試效果良好。

Android;終端;服務器;認證;MD5;HTTPS/HTTP;數據庫

隨著Android平臺的開放和不斷發展,基于Android操作系統的智能電視終端已經成為繼手機、平板電腦之后的又一個新的發展領域。許多網絡服務商正以Android TV平臺為載體,不斷推出基于自己網絡服務的商店產品。目前,TCL、創維、海信等知名品牌電視機廠商已推出商用化的Android TV。智能電視的發展又分為機頂盒加顯示屏與電視一體機兩個方向。一體機實際上是將電視機(顯示屏)和機頂盒合二為一。

市場上雖然已經存在大量的安卓機頂盒,但是大多機頂盒廠商為了節省生產成本并更好地搶占市場份額,選擇向用戶提供的都是市場上已經擁有的免費的應用軟件資源。基于此,多數機頂盒廠商在產品的設計過程中,并沒有過多考慮機頂盒的開機認證[1]。這給用戶使用終端產品獲取更好體驗性的資費資源帶來了不便,也埋下了用戶數據泄露的安全隱患。

與機頂盒相比,電視終端一體機的出現,將機頂盒和顯示終端進行整合。電視終端采用了開機認證環節,能夠使用戶在使用服務器提供的應用軟件資源時候獲得更好的用戶體驗。

與此同時,相對于現有的認證方案,本論文在電視終端一體機的開機認證設計中考慮到了數據的安全性,保證了每一臺電視終端設備在資費服務器端的認證是唯一的,這樣能夠有效地防止沒有獲得認證的產品盜取和訪問服務器端的資費資源。另外,本論文的電視終端開機認證中,還考慮了電視終端設備登錄數據的實時性,有效地防止了電視設備激活的失效,從而保證了用戶使用軟件資源的有效性。

1 Android系統架構

Android系統是基于Linux平臺的開源操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成。智能TV商家可以免費獲取Android源代碼,對源代碼進行修改或者添加,實現自己終端產品所需要的功能。Android系統架構[2]從下到上共4層,分別包括Linux內核、庫和運行時、Android框架層和應用程序層。具體如圖1所示。

圖1 Android系統體系結構

在其系統框架的第1、第2層之間劃分內核空間和用戶空間,第2、第3層之間是本地代碼層和Java代碼接口層,第3、第4層之間是Android框架層和應用程序兩層Java程序的接口,Android的系統API屬于其中的一部分。

1.1 Linux內核

Android驅動程序開發與典型的Linux驅動程序開發一樣。Android內核使用一個專門的Linux內核版本,由標準的Linux內核修改而來,繼承了Linux內核的許多優點,保留了Linux內核的主要架構。Android在文件系統、內存管理、進程間通信機制與電源管理方面進行了修改,添加了自己的相關驅動程序和新功能,應用性和擴展性較強。本文中采用的Android 4.2內核,通過編寫各個模塊代碼,并放進源碼包,使用Android.mk[3]文件進行編譯,并生成相應的APK文件,如圖2所示。

圖2 源碼編譯生成APK應用文件(截圖)

將這個APK程序和下文的另一個測試APK一起使用ADB工具push到Android TV指定的system/data目錄下,重啟TV,然后運行測試APK即可觀察到測試效果。

1.2 庫和運行時

Android將該層劃分為兩個部分,分別為庫和運行時。庫主要由C/C++語言實現,這些庫則通過應用程序框架層為Android開發人員開發應用程序提供服務;運行時主要指Dalvik。基于Android開發的應用程序都是在Dalvik虛擬機中運行的。另外,Dalvik虛擬機是基于寄存器的,可以根據硬件實現更大的優化。

1.3 Android框架層

應用程序框架層是Android系統框架的重要組成部分,該層為上層應用程序的開發人員提供APIs,它提供了應用程序所需要的各種組件。Android框架層中幾個重要的部分為Activity,Service,BroadcastReceiver,Content Provider[4]和Intent and Intent Filter。

1)Activity是Android應用程序最基本的組件,Android應用程序每個屏幕顯示都是通過繼承Activity來實現的,用戶可以通過這個屏幕實現想要的操作。一個應用程序可以由多個Activity組成。通常情況下,被指定為“主”的Activity,是在第一次啟動應用程序時,呈現給用戶在應用程序中的一個Activity。每一個Activity就可以開啟另一個Activity,以執行不同的動作。

2)Service服務是應用程序組件,可以在后臺執行長時間的操作,并且不提供用戶界面,其他應用程序可以啟動一個服務,即使用戶切換到其他的應用程序,這個服務仍然會繼續在后臺運行,一個組件可以綁定到服務實現交互操作和進程間通信。本認證系統設計中創建了bootService服務,并在該服務中實現了終端激活功能、終端登錄功能和用戶自動登錄功能。

3)BroadcastReceiver廣播接收器用來廣播通知,它可以同時向多個對象廣播他們需要的信息,也可以啟動Activity或Service來響應收到的信息。因此,本設計采用廣播機制,啟動bootService服務,從而啟動服務中實現的各個功能模塊。

4)一個應用程序只可以訪問自己創建的數據,然而,有時候需要在不同的應用程序間進行數據共享,這時候Content Provider則為不同應用程序間數據共享架起了橋梁。因為本設計中的終端認證系統需要從網絡服務器平臺獲取相應的數據,并且需要將這些數據提供給其他應用程序訪問。所以,在設計中采用ContentProvider來存儲從服務器返回的數據,并提供相應的jar包。這樣,第三方應用程序就可以引用jar包中提供的API方法來訪問數據庫中的相關數據。

5)Intent提供一種綁定機制,負責兩個不同組件之間的鏈接,如Activity。它可以完成應用程序多個屏幕顯示界面之間的切換工作。

2 終端開機認證功能設計

如圖3所示,終端認證接口系統在TV開機啟動時,BroadcastReceiver接收到系統的啟動消息boot_completed,從而啟動一個bootService服務。在bootService服務中需要完成設備激活接口模塊、設備登錄模塊和用戶自動登錄模塊的設計。

它們分別負責終端設備的激活功能、設備登錄功能以及獲取設備許可證的功能。并將相關的信息保存在本地的數據庫中,方便其他應用可以從本地數據庫中取到認證時候所需要的信息。

圖3 終端認證系統設計流程圖

2.1 終端激活模塊設計

終端激活模塊功能,即從未連接過給定網絡服務平臺終端,在該網絡平臺登記狀態為未激活,不能使用該網絡服務平臺提供的任何服務。因此,在新生產的終端第一次正常使用互聯網功能時,需要調用終端激活接口,并將終端在該服務平臺的登記狀態修改為正常,同時獲取訪問其他接口必須的相關參數。在正常使用情況下,每個終端只調用一次該終端模塊接口功能,正常使用后就無需再調用。

本環節中規避了采用HTTPPOST方法導致的數據泄露問題。而是在終端激活設計時,采用了HTTPSPOST的方法實現終端激活。HTTPS,超文本安全傳輸協議,是以安全為目標的HTTP[5]通道,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。SSL提供加密服務,防止數據中途被竊取,確保數據在傳輸過程中不被改變和泄露,保證了電視終端產品訪問服務器資源的合法性。

HTTPS交互過程分為兩個階段,第一階段是終端獲取服務器的證書,并驗證證書的內容是否可信,第二階段是終端和服務器進行握手協議,并進行數據傳輸。在此設計中,終端向服務器發送終端設備ID號和終端設備類型devicemodel兩個字段等JSON[6]格式數據,并指明其使用對稱的密鑰,通過服務器的證書來交換密鑰,完成一次握手過程,終端與服務器通信數據如圖4所示。

圖4 終端與服務器通信數據(截圖)

終端從服務器獲取響應的JSON數據,并解析出服務器返回的設備編號dnum和設備激活碼activekey。此外,還需要使用MD5算法[7],計算出終端令牌didtoken,并將其存儲在ContentProvider數據庫HuanData.db中,如圖5所示。

圖5 數據表中存儲的數據(截圖)

2.2 終端登錄模塊設計

終端登錄模塊實現每次終端關機并重新開機后,在正常使用互聯網功能時,調用該模塊接口,用來更新設備激活碼activekey,防止activekey失效,保證了用戶在電視終端使用軟件資源的有效性。這里采用HTTP POST方法實現終端登錄模塊的設計。HTTP是超文本傳輸協議,它較HTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者為80,后者為443。終端登錄模塊中終端與服務器數據通信過程如圖6所示。

2.3 用戶自動登錄模塊設計

在用戶自動登錄模塊中,同樣采用HTTP POST的方法實現終端與服務器之間的數據通信,通信過程如圖7所示。該模塊接口根據終端登錄的信息來完成自動登錄功能,從服務器獲取到的數據中,解析出用戶登錄成功標識token和相應的賬號信息huanid,并存儲于數據庫數據表中,如圖8所示。此外還需要更新設備激活碼activekey和終端令牌didtoken。

圖6 終端與服務器數據通信(截圖)

圖7 終端與服務器通信過程

圖8 數據表存儲數據(截圖)

比較圖5和圖8就可以發現數據已經更新到對應的數據表字段中去了。

2.4 MD5算法計算終端令牌

MD5即Message-Digest Algorithm 5(消息摘要算法五)的簡稱,是當前計算機領域用于確保信息傳輸完整一致而廣泛使用的散列算法之一。

MD5算法是輸入不定長度的信息,輸出則是固定長度128 bit的算法。在MD5算法中,首先需要對信息進行填充,使其位長對512取余后的結果等于448。因此,信息的位長將被擴展至N×512+448,N為一個非負整數。

填充的具體方法是:首先,在信息后面填充一個1和若干個0,直到滿足上面的條件時停止用0對信息進行填充。然后,在這個結果后面附加一個64位二進制,該64位二進制表示的是填充前信息的長度,如圖9所示。

圖9 信息長度填充

經過這兩步的處理,現在的信息長度為(N+1)× 512 bit,即長度正好是512的整數倍數,滿足了后續數據處理中對信息長度的要求。

MD5初始的128位值為初始鏈接變量[8],為4組8位16進制數,分別為:A=0x67452301,B=0xefcdab89,C= 0x98badcfe,D=0x98badcfe。將128 bit初始信息與分組后的N+1個512 bit數據進行HASH循環算法,得到新的128 bit新信息,依次循環,直到與第N組512 bit數據HASH算法后,就得到了最終的128 bit的MD5散列,總體流程如圖10所示。

圖10 MD5算法流程

通常128 bit的MD5散列值用32位的十六進制數字表示。在終端激活模塊和終端登錄模塊設計中,終端令牌didtoken的獲取就是采用MD5算法計算得到。先將設備ID號deviceid與設備激活碼activekey直接拼接,再計算拼接后數據的MD5值,即為終端令牌didtoken,最后將其存儲到相應的數據表字段當中去。

3 數據庫存儲設計

用戶系統的相關信息在開機啟動的過程中被保存在一個數據庫中,該數據庫設計的字段信息為:deviceid(設備唯一指定的ID號),dnum(設備唯一指定的編號),devicemodel(設備類型),activekey(設備激活碼),didtoken (終端ID令牌),token(用戶登錄成功標識),huanid(設備登錄特定網絡服務的賬號),TerminalactivatedTag(終端激活標志),如表1所示。

數據的存取過程如圖11所示,存取字段信息如圖5和圖8所示。由于數據庫數據需要被第三方的應用程序訪問,所以采用ContentProvider組件,因為該組件可以在不同的應用程序之間進行數據共享。

表1 數據庫數據表字段

圖11 數據庫數據讀寫訪問

數據設計完成后,需要為此數據庫提供可訪問其數據的基于jar包的API調用方式,這樣其他應用程序通過此API可以獲取到數據庫中存儲的認證信息。這里設計了一個簡單的測試程序HuanProviderTest.apk,在該APK中使用ContentResolver類對象resolver從數據庫中獲取相應的認證信息,API測試結果如圖12所示。

圖12 API測試結果(截圖)

終端認證系統設計和測試結果表明:

1)終端開機,調用服務訪問遠程服務器,實現終端與服務器之間的通信,并從服務器獲得對應的響應認證信息,通信數據正常,實時可靠。

2)終端認證信息數據庫存儲正常,設計對應的jar包能夠為第三方應用程序提供獲取數據庫中認證信息的API方法,測試效果正確可靠。

4 結語

智能電視Android平臺已經進入聯網電視領域,不同的網絡服務商都提供基于自己網絡服務平臺的一系列應用商店。要想正常使用這些應用商店里的產品,就不得不在終端向特定的網絡服務平臺獲取信息認證,獲取相應的權限認證后,才可以使用商店里的軟件產品。本文正是基于Android平臺,考慮了用戶使用電視終端產品時的數據安全性和有效性。電視一體機終端完成了終端激活模塊、終端登錄模塊以及用戶自動登錄模塊的設計,從而設計出安全可靠的終端認證系統。通過終端認證系統獲取到了網絡服務器的一些認證信息,這為用戶使用電視終端產品提供了更好的應用資源的體驗性和訪問數據的安全性。另外,應用該認證系統的終端除了基于Android操作系統的智能電視一體機終端外,還可以推廣到機頂盒等智能終端領域。這在加強機頂盒以及智能電視一體機的管理與認證方面有著重要的意義。

[1]屈有軍.智能互聯網電視機頂盒管理及認證解決方案[J].通訊世界,2013,3(15):35-36.

[2]韓超.Android核心原理與系統級應用高效開發[M].北京:電子工業出版社,2012.

[3]王振麗.Android底層開發技術實戰詳解——內核、移植和驅動[M].北京:電子工業出版社,2012.

[4]羅升陽.Android系統源代碼情景分析[M].北京:電子工業出版社,2012.

[5]林汝澤,徐媛媛,方凱,等.基于HTTP協議的Android手機數據同步實現[J].信息通信,2013,31(1):96.

[6]王曉禹,石麗.基于JSON實現Android智能終端與Web服務器“面向對象”的信息交換[J].數字技術與應用,2012,2(4):224-225.

[7]易紅軍,佘名高.MD5算法與數字簽名[J].計算機與數字工程,2006,12(5):44-46.

[8]張裔智,趙毅,湯小斌.MD5算法研究[J].計算機科學,2008,12(7): 295-297.

Design of Term inal Boot Authentication System Based on Android TV

ZHANG Feng,CHEN Baodan,ZHANG Yonghui
(College of Information Science and Technology,Hainan University,Haikou 570228,China)

The design of terminal boot certification system based on intelligent TV is proposed in this paper,including threemodules,that is,the terminal activationmodule,the terminal loginmodule and the user automatic loginmodule.In the designing of terminalactivationmodule and terminal login module design,the MD5 algorithm is applied to calculate the terminal token which is needed when the terminal loginmodule and the user automatic login module access to the network service,getting the authentication information data.Furthermore,database technology is used to store the authentication information,and it provides the APImethod of obtaining the certification information for the store products through the format of package.The testing results of this system show that the design could correctly and reliably realize the interaction of authentication information between smart TV terminal and network server.Meanwhile,the APImethods provided for store product operate correctly and feasibly,and the test results are excellent.

Android;terminal;server;authentication;MD5;HTTPS/HTTP;database

TN87

A

?? 盈

2014-02-08

【本文獻信息】張鋒,陳褒丹,張永輝.基于Android的電視終端開機認證系統設計[J].電視技術,2014,38(13).

海南自然科學基金項目(613156);海南省引進集成創新項目(YJJC20130007)

張 鋒(1988—),碩士生,主研嵌入式系統設計;

陳褒丹(1962— ),碩士生導師,主研無線通信、網絡通信等;

張永輝(1974— ),博士生導師,主要研究方向為嵌入式系統、智能檢測技術、數字信號處理等。

猜你喜歡
數據庫用戶信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产精品永久不卡免费视频| 免费一级无码在线网站| 9999在线视频| 欧美国产综合视频| 亚洲国产综合自在线另类| 色天天综合| 色视频国产| 免费A级毛片无码免费视频| av在线手机播放| 91色爱欧美精品www| 91小视频在线观看免费版高清| 欧美福利在线| 99尹人香蕉国产免费天天拍| 亚洲高清资源| 色噜噜在线观看| 国产小视频在线高清播放| 特级aaaaaaaaa毛片免费视频 | 国产97色在线| 精品国产黑色丝袜高跟鞋| 67194成是人免费无码| 第一区免费在线观看| 久久久亚洲色| 国产成人精品综合| 日韩欧美国产综合| 中文字幕欧美日韩高清| 99精品热视频这里只有精品7| 国产一区免费在线观看| 美女被操91视频| 久久激情影院| 国产尤物在线播放| 国产成人禁片在线观看| 97精品久久久大香线焦| 黄色网在线| 久久综合九色综合97网| 手机在线免费不卡一区二| 久久福利网| 中文毛片无遮挡播放免费| 永久毛片在线播| 国产乱人免费视频| 日韩无码黄色| 欧洲高清无码在线| 二级特黄绝大片免费视频大片| 亚洲乱伦视频| 伊人AV天堂| 欧美日韩第二页| 亚洲一区二区三区中文字幕5566| 亚洲精品自拍区在线观看| 国产丝袜丝视频在线观看| 91成人免费观看| 欧美一级夜夜爽www| 91成人免费观看| 久久永久视频| 天天爽免费视频| 欧美日韩综合网| 精品久久人人爽人人玩人人妻| 免费精品一区二区h| 久久大香香蕉国产免费网站| 国产精品手机在线观看你懂的| 国产欧美视频在线观看| 亚洲人成人无码www| 91欧美在线| 国产精品香蕉| 好紧好深好大乳无码中文字幕| 操美女免费网站| 青青热久免费精品视频6| jizz国产视频| 免费看av在线网站网址| 亚洲日韩Av中文字幕无码| 欧美中文一区| 青青热久麻豆精品视频在线观看| 最新亚洲av女人的天堂| 2021国产精品自拍| 成人综合久久综合| 国产97视频在线| 欧美一级在线播放| 91九色最新地址| 尤物国产在线| 视频二区国产精品职场同事| 91视频首页| 综合色88| 久久人妻xunleige无码| 亚洲欧美成人综合|