(中國電信股份有限公司廣州研究院,廣東 廣州 510630)
基于TEE的移動終端數(shù)據(jù)安全研究與實現(xiàn)
陳淑珍,楊敏維,何峣
(中國電信股份有限公司廣州研究院,廣東 廣州 510630)
分析對比了移動終端數(shù)據(jù)安全的3種實現(xiàn)方式,提出了基于TEE的移動終端數(shù)據(jù)安全框架,并探討了典型TEE移動支付方案。在典型方案基礎(chǔ)上,創(chuàng)新性地提出了基于TEE的指紋動態(tài)調(diào)整支付額度的業(yè)務(wù)方案,最后給出了核心代碼實現(xiàn)。
移動終端;數(shù)據(jù)安全;移動支付;TEE
隨著移動互聯(lián)網(wǎng)及移動支付的普及,移動終端數(shù)據(jù)安全日益重要。由全球平臺組織(Global Plantform,GP)制定并推進的可信執(zhí)行環(huán)境 (trusted execution environment,TEE)標準,是面向移動終端,由硬件實現(xiàn),通過開辟移動終端主處理器內(nèi)部的安全區(qū)域,提供一個隔離的可信執(zhí)行環(huán)境。 終端通過分離 TEE和 REE (rich execution environment,富執(zhí)行環(huán)境)的軟硬件資源,實現(xiàn)對敏感數(shù)據(jù)的存儲與保護,確保TEE內(nèi)代碼和數(shù)據(jù)的安全性、機密性以及完整性。TEE的安全級別比REE安全級別更高,能夠滿足大多數(shù)應(yīng)用的安全需求。
特別在移動支付、移動辦公等對安全需求較高的領(lǐng)域,將指紋識別+TEE等技術(shù)引入移動終端,是一種更安全的數(shù)據(jù)安全保護機制,也成為產(chǎn)業(yè)鏈眾多終端廠商的選擇。
目前,產(chǎn)業(yè)鏈實現(xiàn)移動終端數(shù)據(jù)安全的方式主要有如下3種,如圖1所示。
(1)單域應(yīng)用級
圖1 移動終端數(shù)據(jù)安全3種實現(xiàn)方式
單域應(yīng)用級的安全機制就是permission機制。應(yīng)用訪問系統(tǒng)敏感數(shù)據(jù)或者特權(quán)資源,必須在 AndroidManifest. xml配置文件中進行權(quán)限申請,并在安裝時由用戶決定是否賦予相應(yīng)的權(quán)限。單域應(yīng)用級數(shù)據(jù)安全分為兩種方式:應(yīng)用級容器和雙容器。應(yīng)用級容器采用完全的應(yīng)用層數(shù)據(jù)隔離,提供基礎(chǔ)加解密功能,如沙箱技術(shù)、權(quán)限管控、SEAndroid等;雙容器基于系統(tǒng)層的雙存儲空間,實現(xiàn)數(shù)據(jù)軟隔離,如LXC、Docker Cgroups技術(shù)等。市面上終端廠商實采用單域應(yīng)用級方式實現(xiàn)“隱私空間”,完成數(shù)據(jù)加解密和隔離存儲,如三星GalaxyS4/5的KNOX應(yīng)用。
(2)雙域系統(tǒng)級
基于系統(tǒng)層的雙存儲空間,實現(xiàn)數(shù)據(jù)軟隔離。雙域系統(tǒng)級數(shù)據(jù)安全分為兩種方式:操作系統(tǒng)虛擬化和雙操作系統(tǒng)。操作系統(tǒng)虛擬化是同一個操作系統(tǒng),為不同應(yīng)用創(chuàng)建隔離的、獨立的執(zhí)行環(huán)境,并賦予不同的權(quán)限。雙操作系統(tǒng)是同一個公共內(nèi)核、REE內(nèi),分別安裝兩個不同的操作系統(tǒng),實現(xiàn)數(shù)據(jù)軟隔離。市面上主流安全終端,均基于雙域系統(tǒng)構(gòu)建了安全辦公環(huán)境、安全支付環(huán)境,如酷派鉑頓。
(3)TEE芯片硬件級
基于芯片的雙操作系統(tǒng),實現(xiàn)數(shù)據(jù)硬隔離。TEE芯片硬件級與雙域系統(tǒng)級的最大區(qū)別是:TEE是硬件實現(xiàn),集成在移動終端處理器內(nèi)部,硬件隔離出兩個執(zhí)行環(huán)境:REE和TEE,是獨立的兩個安全體系。REE是普通的非保密執(zhí)行環(huán)境,運行普通終端操作系統(tǒng),如Android;TEE是安全的保密執(zhí)行環(huán)境,硬件部分以硬件隔離提供基礎(chǔ)安全硬件能力(如安全存儲、安全加密、安全輸入輸出),目前芯片廠商主要采用ARM可信區(qū),技術(shù)成熟;軟件部分需加載安全操作系統(tǒng),如MobiCore、SEAndroid等,并基于安全操作系統(tǒng)與上層應(yīng)用、REE、SE交互,提供密鑰存儲、密鑰加解密、密鑰驗證、敏感數(shù)據(jù)存儲、可信應(yīng)用等系列安全服務(wù)。三星Galaxy S3歐版中,普通域安裝Android,安全域(security domain,SD)采用MobiCore安全OS,構(gòu)建安全的數(shù)據(jù)版權(quán)管理。華為Mate7基于TEE安裝SEAndroid,進行指紋安全存儲等。
移動終端3種數(shù)據(jù)安全實現(xiàn)方式對比見表1。
由于TEE芯片硬件級可實現(xiàn)數(shù)據(jù)硬隔離,為數(shù)據(jù)安全提供更高的安全性,成為了主流數(shù)據(jù)安全方式。如圖2所示,基于TEE的移動終端數(shù)據(jù)安全框架主要分為兩部分:TEE遠程管理平臺(TEEM)和TEE終端。
圖2 基于TEE的移動終端數(shù)據(jù)安全框架
TEEM是指TEE終端遠程管理平臺,負責TEE遠程管理和TA(trusted application,可信應(yīng)用)的生命周期遠程管理,是TEE能力入口點和安全應(yīng)用的匯聚點。TEEM通過REE中的 CA(client application,客戶端應(yīng)用)和TEE客戶端API,對TEE下發(fā)管理指令,實現(xiàn)對 TEE的管理與授權(quán)。TEEM也接受其他TAM所有方的請求,為其在TEE里創(chuàng)建相應(yīng)的安全域,且自己也是一個 TAM服務(wù)器,可以下載和管理自己安全域及 TA。TEEM主要功能包括:TEE上的可信應(yīng)用安全/刪除/變更、TEE安全域創(chuàng)建/刪除、TEE初始化/配置等。
TEE終端是指基于TEE的移動終端,是軟件+硬件的全面移動終端安全解決方案。TEE終端分為兩個獨立運行的環(huán)境區(qū)域:REE和TEE。REE作為普通執(zhí)行環(huán)境,即俗稱的Android系統(tǒng),是一個開放的系統(tǒng)平臺,可運行豐富的CA,具有通用處理器和硬件環(huán)境,負責處理應(yīng)用業(yè)務(wù)邏輯和UI;運行TAM業(yè)務(wù),負責與TEEM進行通信,同時具有訪問TEE的能力,作為可信任執(zhí)行環(huán)境,相當于硬件上隔離安全區(qū)域,加載安全專用系統(tǒng),具有專用處理器和硬件環(huán)境,負責運行簽名的TA,負責數(shù)據(jù)安全存儲(如根密鑰、指紋等密鑰存儲)、數(shù)據(jù)安全算法(如加解密)、數(shù)據(jù)隔離和數(shù)據(jù)安全訪問等。
基于TEE的移動終端數(shù)據(jù)安全框架實現(xiàn)了可信應(yīng)用加載、應(yīng)用安全訪問、數(shù)據(jù)安全存儲(如指紋存儲)、數(shù)據(jù)安全校驗(如指紋校驗、隱私數(shù)據(jù)加解密保護等)、數(shù)據(jù)安全算法等,具備安全性、可靠性、可維護性,廣泛應(yīng)用于移動支付、隱私數(shù)據(jù)保護、權(quán)限管控、移動辦公等業(yè)務(wù)場景。
4.1 典型TEE移動支付方案
現(xiàn)有移動支付方案中,移動支付應(yīng)用主要部署在REE,移動應(yīng)用密鑰主要存儲在后臺系統(tǒng)中,屬于應(yīng)用級保護,密鑰容易偽造、泄露。典型TEE移動支付方案中,移動支付應(yīng)用作為可信應(yīng)用部署在TEE中,并在TEE中完成密鑰存儲、加密服務(wù)等功能,密鑰保護等級屬于芯片級保護。
如圖3所示,基于TEE的移動支付方案中,TEE主要完成可信應(yīng)用(移動支付TA)的安裝部署、安全訪問,并通過生物識別、加密服務(wù)、可信UI為移動支付業(yè)務(wù)提供安全防護。
典型TEE移動支付方案的關(guān)鍵流程如下。
(1)可信應(yīng)用安裝部署
步驟1通過TEEM下發(fā)指令給REE,REE承載的CA通過代理訪問TEE,并創(chuàng)建SD。
圖3 典型TEE移動支付方案
步驟2通過向TEE的SD下載安裝移動支付業(yè)務(wù)的可信應(yīng)用。
步驟3也可在終端出廠時以預(yù)置的方式完成安裝部署。
(2)可信應(yīng)用安全訪問
步驟4REE承載支付CA,當支付時調(diào)用TEE進行身份認證。
(3)TEE安全防護
步驟 5通過生物識別,如指紋存儲,向支付應(yīng)用提供身份認證。
步驟 6通過安全算法,向支付應(yīng)用、隱私數(shù)據(jù)提供可信的加密服務(wù)。
步驟7通過可信UI,提供可信的安全輸入。
4.2 創(chuàng)新型TEE指紋動態(tài)調(diào)整支付額度方案
創(chuàng)新型 TEE指紋動態(tài)調(diào)整支付額度方案是在典型TEE移動支付方案基礎(chǔ)上,進行創(chuàng)新改進。與典型TEE移動支付方案一樣,在創(chuàng)新型 TEE指紋動態(tài)調(diào)整支付額度方案中,移動終端也可在TEE部署,運行可信任的移動支付可信應(yīng)用,并錄入指紋作為身份認證的密鑰。該方案最大的優(yōu)點和創(chuàng)新點是:利用移動終端TEE可錄入多個指紋的功能,為不同指紋關(guān)聯(lián)不同授權(quán)額度,每個指紋對應(yīng)一個額度,所有限制額度的處理都在終端側(cè) TEE中完成,與后臺無關(guān),從而彌補通過系統(tǒng)側(cè)限制額度導(dǎo)致的改造大、密碼記憶難等方面的不足。創(chuàng)新型TEE指紋動態(tài)調(diào)整支付額度方案支持多指紋多額度的動態(tài)調(diào)整,并可隱秘地啟動報警流程等。
(1)指紋授權(quán)級別登記流程
指紋授權(quán)級別登記流程如圖4所示。
步驟1用戶打開移動支付 CA,觸發(fā)指紋授權(quán)級別登記的功能,選擇一種級別(正常級別、限制級別 1、限制級別2等)后,CA調(diào)用Android的指紋API,提示用戶輸入對應(yīng)級別的指紋,用戶輸入指紋。
步驟2Android對指紋驗證成功后,CA通知TA本次指紋對應(yīng)的授權(quán)級別。
步驟3TA調(diào)用TEE的指紋功能,獲取最后一次成功驗證的指紋 ID,并把指紋 ID與對應(yīng)的授權(quán)級別進行綁定登記,綁定關(guān)系存儲在TEE中。用戶可繼續(xù)執(zhí)行步驟1,針對不同的授權(quán)級別錄入不同的指紋。
(2)指紋使用流程
指紋使用流程如圖5所示。
圖4 指紋授權(quán)級別登記流程
圖5 指紋使用流程
步驟1用戶打開移動支付 CA,在未進入應(yīng)用主功能界面之前,應(yīng)用調(diào)用Android的指紋API,提示用戶輸入指紋,用戶輸入指紋。
步驟2Android對指紋驗證成功后,應(yīng)用向TA查詢本次指紋對應(yīng)的授權(quán)級別。
步驟3TA調(diào)用TEE的指紋功能,獲取最后一次成功驗證的指紋ID,并從之前的登記記錄中,根據(jù)指紋ID查出對應(yīng)的授權(quán)級別。
步驟4TA向應(yīng)用返回授權(quán)級別。
步驟5應(yīng)用根據(jù)授權(quán)級別,對余額顯示、支付和轉(zhuǎn)賬額度進行正?;蛳拗频牟僮?。
步驟6應(yīng)用根據(jù)限制級別中的預(yù)先設(shè)置,選擇性地向后臺發(fā)出報警通知。
基于TEE的移動數(shù)據(jù)終端安全的核心代碼實現(xiàn)邏輯關(guān)系如圖6所示,關(guān)鍵實現(xiàn)邏輯包括:TEE初始化、TEE共享內(nèi)存申請及分配、TEE私有內(nèi)存數(shù)據(jù)的保存 (如保存指紋數(shù)據(jù)、保存指紋對應(yīng)的支付額度、權(quán)限管控等隱私數(shù)據(jù))、TEE私有內(nèi)存數(shù)據(jù)的讀取、TEE私有內(nèi)存數(shù)據(jù)處理(如指紋驗證、權(quán)限驗證等)。
圖6 代碼實現(xiàn)邏輯關(guān)系
(1)CA側(cè)函數(shù)調(diào)用
/*CA初始化TEE*/
TEEC_InitializeContext(NULL,context);
/*CA申請TEE的共享內(nèi)存,共享內(nèi)存是CA和TA之間傳遞數(shù)據(jù)的“池”*/
TEEC_AllocateSharedMemory(context,SharedMem0);
/*CA設(shè)置具體某個命令的輸入字段,輸入字段放置在共享內(nèi)存*/
TEEC_InvokeCommand(&session, FingerprintSetINparamsCmd,&operation,&origin);
/*CA設(shè)置具體某個命令的輸出字段,輸出字段放置在共享內(nèi)存*/
TEEC_InvokeCommand(&session, FingerprintGetOutparamsCmd,&operation,&origin);
/*CA調(diào)用TA,保存指紋*/
TEEC_InvokeCommand(&session, FingerprintStorageCmd,&operation,&origin);
/*CA調(diào)用TA,驗證指紋 */
TEEC_InvokeCommand(&session, FingerprintAuthenticateCmd,&operation,&origin);
/*CA調(diào)用TA,保存私密數(shù)據(jù),如指紋對應(yīng)的支付額度、權(quán)限管控等 */
TEEC_InvokeCommand(&session, FingerprintSetCAdataCmd,&operation,&origin);
/*CA調(diào)用TA,獲取私密數(shù)據(jù) */
TEEC_InvokeCommand(&session, FingerprintGetCAdataCmd,&operation,&origin);
(2)TA側(cè)函數(shù)調(diào)用
①/*指紋存儲*/
StorageCmd()
{
/*獲取 TA私有內(nèi)存的全局變量指針 fpdata,fpdata即CA送到TA的數(shù)據(jù)/*
/*fpdata->fingerprint表示 CA送來的指紋,變量fpdata->appid表示CA送來的應(yīng)用ID/*
FingerprintParams*fpdata=NULL;
fpdata=(FingerprintParams*)TEE_GetInstanceData();
/*根據(jù)摘要算法確定size_hash和block,對CA送來的指紋進行摘要計算,求出hash*/
TEE_AllocateOperation(&operation,HASH_ ALOGORITHMID,TEE_MODE_DIGEST,*size_hash);
…
TEE_DigestDoFinal(operation,fpdata->fingerprint+ i*block,remainder,hash,(size_t*)size_hash);
/*用應(yīng)用ID和指紋摘要散列構(gòu)造摘要的唯一存儲文件名,保存摘要*/
filename=fpdata->appid+hash
TEE_OpenPersistentObject(TEE_OBJECT_STORAGE_ PRIVATE,filename,strlen (filename),TEE_DATA_FLAG_ ACCESS_WRITE,(&persistent_storageobj));
TEE_WriteObjectData(persistent_storageobj,hash, size_hash);
}
②/*指紋驗證*/
AuthCmd()
{
/*獲取 TA私有內(nèi)存的全局變量指針 fpdata,fpdata即CA送到TA的數(shù)據(jù)/*
/*fpdata->fingerprint表示CA送來的指紋,變量fpdata->appid表示CA送來的應(yīng)用ID/*
FingerprintParams*fpdata=NULL;
fpdata=(FingerprintParams*)TEE_GetInstanceData();
/*根據(jù)摘要算法確定size_hash和block,對CA送來的指紋進行摘要計算,求出hash1*/
TEE_AllocateOperation (&operation, HASH_ ALOGORITHMID,TEE_MODE_DIGEST,*size_hash1);
…
TEE_DigestDoFinal(operation,fpdata->fingerprint+ i*block,remainder,hash1,(size_t*)size_hash1);
/*用應(yīng)用ID和指紋摘要hash1構(gòu)造摘要的唯一存儲文件名,取出存儲的指紋摘要*/
filename=fpdata->appid+hash1
TEE_OpenPersistentObject(TEE_OBJECT_STORAGE_ PRIVATE,filename,strlen(filename),TEE_DATA_FLAG_ ACCESS_READ,(&persistent_storageobj));
TEE_ReadObjectData(persistent_storageobj,hash2, *size_hash,&count);
/*對比hash1和hash2,如果相等則通過認證*/
}
③/*保存私密數(shù)據(jù),如指紋對應(yīng)的支付額度、指紋對應(yīng)的權(quán)限、隱私數(shù)據(jù)等*/
SetdataCmd()
{
/*獲取 TA私有內(nèi)存的全局變量指針 fpdata,fpdata即CA送到TA的數(shù)據(jù)*/
FingerprintParams*fpdata=NULL;
fpdata=(FingerprintParams*)TEE_GetInstanceData();
/*判斷fpdata中需要保存的字段,判斷依據(jù):要保存的字段長度不為0,不保存的字段長度為0*/
if(fpdata->字段1長度 !=0){
TEE_OpenPersistentObject(TEE_OBJECT_ STORAGE_PRIVATE,字段1,fpdata->字段1長度,TEE_ DATA_FLAG_ACCESS_WRITE,(&persistent_storageobj));
TEE_WriteObjectData (persistent_storageobj, fpdata->字段1,fpdata->字段1長度);
}
…
}
④/*獲取私密數(shù)據(jù)*/
GetdataCmd()
{
/*獲取 TA私有內(nèi)存的全局變量指針 fpdata,fpdata即TA送回CA的數(shù)據(jù)*/
FingerprintParams*fpdata=NULL;
fpdata=(FingerprintParams*)TEE_GetInstanceData();
/*判斷fpdata中需要保存的字段,判斷依據(jù):要保存的字段長度不為0,不保存的字段長度為0*/
if(fpdata->字段1長度 !=0)
{
TEE_OpenPersistentObject(TEE_OBJECT_STORAGE_PRIVATE,字段1,fpdata->字段1長度,TEE_ DATA_FLAG_ACCESS_READ,(&persistent_storageobj));
TEE_ReadObjectData(persistent_storageobj,fpdata->字段1,fpdata->字段1長度,
&count);
}
…
}
⑤/*CA送數(shù)據(jù)進TA*/
SetINparamsCmd(uint32_t nParamTypes,TEE_Param pParams[4])
{
/*獲取 TA私有內(nèi)存的全局變量指針 fpdata,fpdata保存CA送進TA的數(shù)據(jù)*/
FingerprintParams*fpdata=NULL;
fpdata=(FingerprintParams*)TEE_GetInstanceData();
/*把共享內(nèi)存中的字段送進TA的變量fpdata中,pParams即共享內(nèi)存*/
switch(pParams[0].value.a)
{
case字段1:
{
fpdata->字段1長度 =pParams[2].value.a;
fpdata->字段1:=TEE_Malloc(fpdata->字段1長度,0);
TEE_MemMove(fpdata->字段1,pParams[1]. memref.buffer,fpdata->字段1長度);
break;
}
…
}
//將fpdata設(shè)置為全局變量,供TA其他函數(shù)調(diào)用
TEE_SetInstanceData((void*)fpdata);
}
⑥*/*TA送數(shù)據(jù)回CA*/
GetOutparamsCmd(uint32_t nParamTypes,TEE_Param pParams[4])
{
/*獲取 TA私有內(nèi)存的全局變量指針 fpdata,fpdata保存TA送回CA的數(shù)據(jù)*/
FingerprintParams*fpdata=NULL;
fpdata=(FingerprintParams*)TEE_GetInstanceData();
/*把 TA的變量 fpdata的字段送回共享內(nèi)存中,pParams即共享內(nèi)存*/
switch(pParams[0].value.a)
{
case字段1:
{
TEE_MemMove(pParams[1].memref.buffer, fpdata->字段1,fpdata->字段1長度);
pParams[2].value.a=fpdata->字段1長度;
break;
}
…
}
}
⑦/*安全算法*/
enum TEE_CRYPTO_ALGORITHM_ID
{
TEE_ALG_AES_ECB_NOPAD=0x10000010,/**<算法:AES_ECB_NOPAD*/
TEE_ALG_DES_CBC_NOPAD=0x10000111,/**<算法:DES_CBC_NOPAD*/
TEE_ALG_RSA_NOPAD=0x60000030,/**<算法:RSA_NOPAD*/
TEE_ALG_MD5=0x50000001,/**<算法:MD5*/
TEE_ALG_SHA1=0x50000002,/**<算法:SHA1*/
TEE_ALG_SHA256=0x50000004,/**<算法:SHA256*/
…
};
在指紋+TEE方案中,將指紋存儲(密鑰存儲)、指紋驗證(密鑰驗證)和可信支付應(yīng)用加載到基帶芯片的TEE中處理,有助于提升數(shù)據(jù)安全處理環(huán)境的安全級別至CC EAL2+,是當前移動終端數(shù)據(jù)安全的主流選擇。未來伴隨著移動支付技術(shù)的迅猛發(fā)展和安全需求的不斷升級,運營商著重考慮結(jié)合SIM卡的SE安全能力,通過指紋+TEE+ SE方案,將數(shù)據(jù)安全處理環(huán)境的安全級別從CC EAL2+提升至CC EAL5+。指紋+TEE+SE方案還有助于運營商管控SIM卡,并提供TEE+SE的差異化安全能力,形成機卡一體化的移動終端數(shù)據(jù)安全解決方案,這必將是未來運營商在移動終端數(shù)據(jù)安全上的重要布局。
[1]張大偉,郭烜,韓臻.安全可信智能移動終端研究[J].中興通信技術(shù),2015,21(5):39-44. ZHANG D W,GUO X,HAN Z.Security and trusted intelligent mobile terminal[J].ZTE Technology Journal,2015,21(5):39-44.
[2]郭茂文.基于FIDO協(xié)議的指紋認證方案研究 [J].廣東通信技術(shù),2016,36(4):2-5. GUO M W.Research on fingerprint authentication scheme based on FIDO protocol[J].Guangdong Communication Technology,2016, 36(4):2-5.
[3]國煒,王宗岳.移動終端安全隔離技術(shù)分析 [J].移動通信, 2016,40(21). GUO W,WANG Z Y.Analysis on security isolation techniques on mobile terminal[J].Mobile Communications,2016,40(21).
[4]范冠男,董攀.基于TrustZone的可信執(zhí)行環(huán)境構(gòu)建技術(shù)研究[J].信息網(wǎng)絡(luò)安全,2016(3). FAN G N,DONG P.Research on trusted execution environment building technology based on TrustZone[J].Netinfo Security, 2016(3).
[5]紀祥敏,趙波,陳璐,等.基于信任擴展的可信云執(zhí)行環(huán)境[J].華中科技大學學報(自然科學版),2016,44(3):105-109. JI X M,ZHAO B,CHEN L,et al.Trusted cloud execution environment based on trust extension[J].Journal of Huazhong University of Science and Technology(Nature Science Edition), 2016,44(3):105-109.
[6]包依勤.TrustZone技術(shù)在Android系統(tǒng)中的安全性研究[J].物聯(lián)網(wǎng)技術(shù),2015(10):70-73. BAO Y Q.Research on the security of TrustZone technology in Android system[J].InternetofThings Technologies,2015(10):70-73.
Research and implementation of data security for mobile term inal based on TEE
CHEN Shuzhen,YANG Minwei,HE Yao
Guangzhou Research Institute of China Telecom Co.,Ltd.,Guangzhou 510630,China
The three kinds of data security scheme for mobile terminal were analyzed and compared.The framework of data security for mobile terminal based on TEE was proposed,and the typical mobile payment scheme based on TEE was discussed.On the basis of the typical scheme,an innovative business p lan based on TEE to ad just the payment amount of fingerprintsdynamically was proposed,and finally the core code was given.
mobile terminal,data security,mobile payment,trusted execution environment
TN929.5
:A
10.11959/j.issn.1000-0801.2017036
陳淑珍(1985-),女,中國電信股份有限公司廣州研究院工程師,主要研究方向為物聯(lián)網(wǎng)、安全、測試技術(shù)等。
楊敏維(1972-),男,中國電信股份有限公司廣州研究院高級工程師,主要研究方向為物聯(lián)網(wǎng)、安全、測試技術(shù)等。
何峣(1977-),男,中國電信股份有限公司廣州研究院高級工程師,主要研究方向為物聯(lián)網(wǎng)終端通信、安全、測試技術(shù)等。
2016-12-14;
2017-01-23