基于nfc的通信方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于NFC的通信方法和裝置,并且尤其涉及在SE內(nèi)的基于NFC的通信方法和裝置、在智能終端內(nèi)的基于NFC的通信方法、安全單元和智能終端。
【背景技術(shù)】
[0002]可信執(zhí)行環(huán)境TEE (Trusted Execut1n Environment)技術(shù)能夠為諸如移動電話等智能終端提供受到硬件隔離保護(hù)的可信執(zhí)行環(huán)境/操作系統(tǒng)。智能終端上的與安全相關(guān)的應(yīng)用,即TEE應(yīng)用可以在TEE執(zhí)行以保證安全性。
[0003]近場通信NFC (Near Field Communicat1n)是一種近距離無線通信技術(shù),其基于射頻識別RFID (Rad1 Frequency Identificat1n)技術(shù),利用磁場感應(yīng)來實現(xiàn)智能終端間的近距離通信。
[0004]通常在諸如安卓、1S等多媒體執(zhí)行環(huán)境REE (Rich Execut1n Environment)中實現(xiàn)REE中的應(yīng)用的NFC功能。當(dāng)TEE應(yīng)用需要實現(xiàn)NFC功能時,存在以下的技術(shù)方案。
[0005]通過REE中的服務(wù)代理實現(xiàn)TEE應(yīng)用的NFC功能,如圖1所示。該方案利用智能終端上REE與NFC設(shè)備連接的能力,在REE中設(shè)置NFC服務(wù)代理為TEE應(yīng)用提供NFC能力。這里,NFC設(shè)備可以是NFC控制器(NFC Contro 11 er ),例如是設(shè)置在智能終端內(nèi)的NFC芯片。圖1示出REE下的NFC服務(wù)代理與在TEE中設(shè)置的NFC客戶基于預(yù)定的協(xié)議來實現(xiàn)TEE應(yīng)用的NFC功能。具體地,NFC服務(wù)代理經(jīng)由NFC客戶接收來自TEE應(yīng)用的消息并調(diào)用NFC協(xié)議棧來操作NFC設(shè)備以執(zhí)行具體的NFC功能,例如卡模擬、讀卡器功能等。由于TEE應(yīng)用和NFC設(shè)備之間的數(shù)據(jù)交互需要通過不安全的REE,TEE應(yīng)用難以被安全地執(zhí)行。例如,對于TEE下的交易應(yīng)用,經(jīng)由REE傳輸?shù)闹Ц缎畔⒖赡軙桓`取。
[0006]在其它方案中,通過在TEE中設(shè)置NFC驅(qū)動、實現(xiàn)NFC協(xié)議棧來為TEE應(yīng)用提供NFC能力,如圖2所示。為了兼容REE應(yīng)用的NFC功能,該方案需要在REE中額外設(shè)置NFC虛擬驅(qū)動與實際的TEE中的NFC驅(qū)動對接。由于TEE中的NFC驅(qū)動需要協(xié)調(diào)NFC協(xié)議棧、NFC虛擬驅(qū)動與NFC設(shè)備之間的通信,這將不可避免地增加在TEE的復(fù)雜性。另一方面,由于REE內(nèi)核并不包含NFC虛擬驅(qū)動,將REE內(nèi)核的原有NFC驅(qū)動改成NFC虛擬驅(qū)動也會增加REE的復(fù)雜性,尤其是隨著新的NFC設(shè)備的增加和REE內(nèi)核的升級,NFC虛擬驅(qū)動需要獨立地被維護(hù)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提出一種新的基于NFC的通信架構(gòu),該架構(gòu)使用新的連接路徑讓TEE應(yīng)用具備NFC能力。本發(fā)明通過利用安全單元SE (Security Element)作為TEE應(yīng)用和NFC設(shè)備的通信中介來實現(xiàn)TEE應(yīng)用的NFC能力。這里,SE是具有計算和存儲功能的獨立模塊(例如SIM卡、智能SD卡等),其提供安全機(jī)制保護(hù)在其中存儲的數(shù)據(jù)以及與外部設(shè)備通信的安全。SE和NFC設(shè)備之間可以通過基于單線協(xié)議SWP (Single Wire Protocol)協(xié)議的主機(jī)控制接口 HCI (Host Controller Interface)進(jìn)行通信。SE與TEE之間可以通過SE支持的接口(例如7816接口、SPI接口)通信。
[0008]本發(fā)明公開以下技術(shù)方案。
[0009]—種在SE內(nèi)的基于NFC的通信方法,包括:從TEE中的通信模塊接收第一消息,向NFC設(shè)備轉(zhuǎn)發(fā)所述第一消息,從所述NFC設(shè)備接收第二消息,向所述通信模塊轉(zhuǎn)發(fā)所述第二消息。
[0010]優(yōu)選地,包括用于建立TEE應(yīng)用和所述NFC設(shè)備之間的通信通道的過程,在該過程中,從所述通信模塊接收源自所述應(yīng)用的創(chuàng)建通道命令,向所述NFC設(shè)備轉(zhuǎn)發(fā)所述創(chuàng)建通道命令,從所述NFC設(shè)備接收包含通道號的返回消息,該通道號用于標(biāo)識所述應(yīng)用,向所述通信模塊轉(zhuǎn)發(fā)所述包含通道號的返回消息。
[0011 ] 優(yōu)選地,包括用于所述應(yīng)用和所述NFC設(shè)備之間的數(shù)據(jù)交互的過程,在該過程中,從所述NFC設(shè)備接收包含所述通道號和交互數(shù)據(jù)的消息,該交互數(shù)據(jù)來自NFC通信實體,向所述通信模塊轉(zhuǎn)發(fā)包含所述通道號和交互數(shù)據(jù)的消息,所述通道號用于供所述通信模塊確定所述應(yīng)用,從所述通信模塊接收源自所述應(yīng)用的針對所述NFC通信實體的響應(yīng)消息,向NFC設(shè)備轉(zhuǎn)發(fā)所述響應(yīng)消息。
[0012]優(yōu)選地,與所述通信模塊的消息傳遞和與所述NFC設(shè)備的消息傳遞使用相同的通信協(xié)議。
[0013]—種在SE內(nèi)的基于NFC的通信裝置,包括:第一模塊,用于從TEE中的通信模塊接收第一消息,第二模塊,用于向NFC設(shè)備轉(zhuǎn)發(fā)所述第一消息,第三模塊,用于從所述NFC設(shè)備接收第二消息,第四模塊,用于向所述通信模塊轉(zhuǎn)發(fā)所述第二消息。
[0014]優(yōu)選地,該裝置被配置成用于建立TEE應(yīng)用和所述NFC設(shè)備之間的通信通道,其中,所述第一模塊被配置成從所述通信模塊接收源自所述應(yīng)用的創(chuàng)建通道命令,所述第二模塊被配置成向所述NFC設(shè)備轉(zhuǎn)發(fā)所述創(chuàng)建通道命令,所述第三模塊被配置成從所述NFC設(shè)備接收包含通道號的返回消息,該通道號用于標(biāo)識所述應(yīng)用,所述第四模塊被配置成向所述通信模塊轉(zhuǎn)發(fā)所述包含通道號的返回消息。
[0015]優(yōu)選地,該裝置還被配置成用于收發(fā)所述應(yīng)用和所述NFC設(shè)備之間的交互數(shù)據(jù),其中,所述第三模塊被配置成從所述NFC設(shè)備接收包含所述通道號和交互數(shù)據(jù)的消息,該交互數(shù)據(jù)來自NFC通信實體,所述第四模塊被配置成向所述通信模塊轉(zhuǎn)發(fā)包含所述通道號和交互數(shù)據(jù)的消息,所述通道號用于供所述通信模塊確定所述應(yīng)用,所述第一模塊被配置成從所述通信模塊接收源自所述應(yīng)用的針對所述NFC通信實體的響應(yīng)消息,所述第二模塊被配置成向NFC設(shè)備轉(zhuǎn)發(fā)所述響應(yīng)消息。
[0016]優(yōu)選地,與所述通信模塊的消息傳遞和與所述NFC設(shè)備的消息傳遞使用相同的通信協(xié)議。
[0017]一種在智能終端內(nèi)的基于NFC的通信方法,該方法包括:當(dāng)所述智能終端運(yùn)行在TEE時,經(jīng)由SE,向NFC設(shè)備發(fā)送第一消息,經(jīng)由該SE,從所述NFC設(shè)備接收第二消息。
[0018]優(yōu)選地,包括用于建立TEE應(yīng)用和所述NFC設(shè)備之間的通信通道的過程,在該過程中,經(jīng)由所述SE,向所述NFC設(shè)備發(fā)送源自所述應(yīng)用的創(chuàng)建通道命令,經(jīng)由所述SE,從所述NFC設(shè)備接收包含通道號的返回消息,該通道號用于標(biāo)識所述應(yīng)用。
[0019]優(yōu)選地,包括用于所述應(yīng)用和所述NFC設(shè)備之間的數(shù)據(jù)交互的過程,在該過程中,經(jīng)由所述SE,從所述NFC設(shè)備接收包含所述通道號和交互數(shù)據(jù)的消息,該交互數(shù)據(jù)來自NFC通信實體,根據(jù)通道號確定所述應(yīng)用,經(jīng)由所述SE,向NFC設(shè)備發(fā)送針對所述NFC通信實體的響應(yīng)消息。
[0020]優(yōu)選地,基于所述SE與所述NFC設(shè)備之間的通信協(xié)議與所述SE通信消息。
[0021]—種在智能終端內(nèi)的基于NFC的通信裝置,該裝置被配置成:當(dāng)所述智能終端運(yùn)行在TEE時,經(jīng)由SE,向NFC設(shè)備發(fā)送第一消息,經(jīng)由該SE,從所述NFC設(shè)備接收第二消息。
[0022]優(yōu)選地,該裝置被配置成,建立TEE應(yīng)用和所述NFC設(shè)備之間的通信通道的過程,該裝置進(jìn)一步被配置成,經(jīng)由所述SE,向所述NFC設(shè)備發(fā)送源自所述應(yīng)用的創(chuàng)建通道命令,經(jīng)由所述SE,從所述NFC設(shè)備接收包含通道號的返回消息,該通道號用于標(biāo)識所述應(yīng)用。
[0023]優(yōu)選地,該裝置被配置成實現(xiàn)所述應(yīng)用和所述NFC設(shè)備之間的數(shù)據(jù)交互的過程,該裝置進(jìn)一步被配置成,經(jīng)由所述SE,從所述NFC設(shè)備接收包含所述通道號和交互數(shù)據(jù)的消息,該交互數(shù)據(jù)來自NFC通信實體,根據(jù)通道號確定所述應(yīng)用,經(jīng)由所述SE,向NFC設(shè)備發(fā)送針對所述NFC通信實體的響應(yīng)消息。
[0024]優(yōu)選地,該裝置被配置成基于所述SE與所述NFC設(shè)備之間的通信協(xié)議與所述SE通信消息。
【附圖說明】
[0025]在參照附圖閱讀了本發(fā)明的【具體實施方式】以后,本領(lǐng)域技術(shù)人員將會更清楚地了解本發(fā)明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,附圖僅僅用于配合【具體實施方式】說明本發(fā)明的技術(shù)方案,而并非意在對本發(fā)明的保護(hù)范圍構(gòu)成限制。
[0026]圖1是示出通過REE中的服務(wù)代理實現(xiàn)TEE應(yīng)用的NFC功能的框圖。
[0027]圖2是示出通過在TEE下設(shè)置NFC驅(qū)動、實現(xiàn)NFC協(xié)議棧為TEE應(yīng)用提供NFC能力的框圖。
[0028]圖3是示出根據(jù)一個實施例在SE內(nèi)的基于NFC的通信方法的消息傳遞的示意圖。
[0029]圖4是出示出了圖3中的通信模塊、SE、NFC的示意圖。
[0030]圖5是示出根據(jù)一個實施例在SE內(nèi)的基于NFC的通信方法的消息傳遞的示意圖。
【具體實施方式】
[0031]下面參照附圖,對本發(fā)明的【具體實施方式】作進(jìn)一步的詳細(xì)描述。應(yīng)當(dāng)理解的是,可對所描述的實施例進(jìn)行結(jié)構(gòu)和功能修改。另外,可針對任何給定的或特定的應(yīng)用,組合一個實施例的一個或多個特征與另一個實施例的一個或多個特征。
[0032]圖3是示出根據(jù)一個實施例在SE內(nèi)的基于NFC的通信方法的消息傳遞的示意圖。如圖3所示,該通信方法包括以下步驟:SE從TEE中的通信模塊接收第一消息,SE向NFC設(shè)備轉(zhuǎn)發(fā)第一消息,SE從NFC設(shè)備接收第二消息,以及SE向通信模塊轉(zhuǎn)發(fā)第二消息。這里,第一消息源自TEE應(yīng)用,第二消息可以源自NFC設(shè)備或者外部NFC通信實體(例如POS終端、移動通信終端)。通過上述步驟,TEE應(yīng)用與NFC設(shè)備之間的數(shù)據(jù)交互不通過不安全的REE,由此TEE應(yīng)用可以被安全地執(zhí)行。
[0033]優(yōu)選地,SE與通信模塊的消息傳遞和SE與NFC設(shè)備的消息傳遞可以使用相同的通信協(xié)議,例如HCI協(xié)議。由于SE與NFC設(shè)備之間的HCI協(xié)議并不復(fù)雜,在TEE中實現(xiàn)HCI協(xié)議棧不會增加TEE的復(fù)雜度。
[0034]現(xiàn)參考圖4,其示出了圖3中的通信模塊、SE、NFC設(shè)備的示意圖。如圖4所示,通信模塊被設(shè)置在能夠運(yùn)行REE和TEE兩種操作系統(tǒng)的智能終端中,NFC設(shè)備可以被設(shè)置在智能終端中或者附接到智能終端上,SE可以被設(shè)