TWI828306B - 一種電子設備 - Google Patents
一種電子設備 Download PDFInfo
- Publication number
- TWI828306B TWI828306B TW111133529A TW111133529A TWI828306B TW I828306 B TWI828306 B TW I828306B TW 111133529 A TW111133529 A TW 111133529A TW 111133529 A TW111133529 A TW 111133529A TW I828306 B TWI828306 B TW I828306B
- Authority
- TW
- Taiwan
- Prior art keywords
- trusted application
- identification information
- native
- information
- byte code
- Prior art date
Links
- 238000011161 development Methods 0.000 claims abstract description 126
- 230000006870 function Effects 0.000 claims description 46
- 238000006243 chemical reaction Methods 0.000 claims description 31
- 238000012546 transfer Methods 0.000 claims description 24
- 238000013500 data storage Methods 0.000 claims description 21
- 238000005516 engineering process Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 abstract description 49
- 230000015654 memory Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 26
- 102100033029 Carbonic anhydrase-related protein 11 Human genes 0.000 description 24
- 101000867841 Homo sapiens Carbonic anhydrase-related protein 11 Proteins 0.000 description 24
- 101001075218 Homo sapiens Gastrokine-1 Proteins 0.000 description 24
- 238000004891 communication Methods 0.000 description 22
- 238000004590 computer program Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 230000006378 damage Effects 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
Abstract
本發明公開了一種電子設備、可信應用調用方法、裝置、設備及介質,用於準確的管理可信應用。本發明中CA發起調用資訊後,可信應用開發平臺可以接收該調用資訊,並從可信應用開發平臺包含的至少兩個TEE OS分別對應的原生可信應用中,確定調用資訊攜帶的第一標識資訊對應的原生可信應用,將調用資訊發送給第一標識資訊對應的原生可信應用;第一標識資訊對應的原生可信應用接收調用資訊,並根據調用資訊攜帶的第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定第二標識資訊對應的位元組碼可信應用,並根據調用資訊,調用第二標識資訊對應的位元組碼可信應用,實現在原生可信應用中管理多個位元組碼可信應用,實現準確管理可信應用的目的。
Description
本發明屬於可信應用調用技術領域,尤其是關於一種電子設備、可信應用調用方法、裝置、設備及介質。
移動通信技術的發展帶來了移動終端技術的快速發展,現代的移動終端設備提供了強大而靈活的普通執行環境(Rich Execution Environment,REE),但同時也導致設備容易受到安全威脅。可信執行環境(Trusted Execution Environment,TEE)是為了解決當前移動終端設備存在的安全風險而提出的技術方案。TEE和REE平行運行於同一個設備上,TEE能夠保證在可信的環境中進行敏感性資料的存儲、處理和保護,並為授權的安全軟體(可信軟體)提供了安全的執行環境,通過執行保護、保密、完整和資料存取權限實現了端到端的安全。其中,可信應用(Trusted Application,TA)運行於TEE上,用戶端應用(Client Application,CA)運行於REE上,CA通過調用TA,從而使用TEE及TA提供的安全功能。
傳統的可信應用一般是基於可信執行環境作業系統(TEE OS)上運行的機器碼程式。針對同一應用,通常需要為華為iTrustee、高通QSEE等不同的TEE OS硬體平臺開發不同版本的可信應用,以適應不同的TEE OS硬體平臺的使用需求。因此開發可適用於多個TEE OS,可跨不同TEE OS硬體平臺使用的可信應用十分必要。
然而,即便開發出可適用於多個TEE OS,可跨不同TEE OS硬體平臺使用的可信應用,如何管理該可信應用也是目前亟需解決的一個技術問題。
本發明提供了一種電子設備、可信應用調用方法、裝置、設備及介質,用於準確的管理可信應用。
第一方面,本發明提供了一種電子設備,該電子設備包括:用戶端應用CA和可信應用開發平臺;
該CA,用於發起對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,其中該調用資訊中攜帶該電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;
該可信應用開發平臺,用於接收該調用資訊,根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用,並將該調用資訊發送給該第一標識資訊對應的原生可信應用;
該第一標識資訊對應的原生可信應用,用於接收該調用資訊,根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;
該第二標識資訊對應的位元組碼可信應用,用於接收該第一標識資訊對應的原生可信應用的調用,並根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該電子設備還包括:
創建模組,用於基於支援跨平臺功能的位元組碼技術,創建該可信應用開發平臺,其中該可信應用開發平臺聯結至少兩個可信執行環境作業系統分別對應的原生可信應用。
在一種可能的實施方式中,該第一標識資訊對應的原生可信應用,具體用於若接收到的調用資訊為訪問請求,則創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令;
該第二標識資訊對應的位元組碼可信應用,具體用於若接收到該第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,該第一標識資訊對應的原生可信應用,具體用於若接收到的調用資訊為調用命令,則將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該第二標識資訊對應的位元組碼可信應用,還用於識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用;
該第一標識資訊對應的原生可信應用,具體用於若接收到該位置資訊,基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該第二標識資訊對應的位元組碼可信應用,還用於將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用;
該第一標識資訊對應的原生可信應用,還用於將該執行結果發送給該CA。
在一種可能的實施方式中,該第一標識資訊對應的原生可信應用,具體用於若接收到的調用資訊為關閉會話資訊,則向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,並關閉原生可信應用會話;
該第二標識資訊對應的位元組碼可信應用,具體用於若接收到該第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;
該第一標識資訊對應的原生可信應用,具體用於銷毀原生可信應用實例。
在一種可能的實施方式中,該第一標識資訊對應的原生可信應用,還用於為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,該電子設備還包括:可信執行環境作業系統TEE OS;
該TEE OS,用於接收該CA發起的該調用資訊,並將該調用資訊發送給該可信應用開發平臺;
該可信應用開發平臺,具體用於基於TEE OS提供的第一全球平臺組織GP介面或自有介面,接收該TEE OS發送的該調用資訊。
在一種可能的實施方式中,該第一標識資訊對應的原生可信應用,具體用於基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用;
該第二標識資訊對應的位元組碼可信應用,具體用於基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
第二方面,本發明還提供了一種可信應用調用方法,該方法應用於原生可信應用,該方法包括:
接收可信應用開發平臺發送的調用資訊,其中,該調用資訊中攜帶電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;使該第二標識資訊對應的位元組碼可信應用接收該第一標識資訊對應的原生可信應用的調用,並使該第二標識資訊對應的位元組碼可信應用根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,若接收到的調用資訊為訪問請求,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第一指令後,創建位元組碼可信應用實例,並使該第二標識資訊對應的位元組碼可信應用基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,若接收到的調用資訊為調用命令,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該接收可信應用開發平臺發送的調用資訊之後,該將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用之前,該方法還包括:
接收第二標識資訊對應的位元組碼可信應用發送的位置資訊;其中,該位置資訊為該第二標識資訊對應的位元組碼可信應用在識別到自身資料存儲位置的位置資訊時發送的;
該將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用包括:
基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該方法還包括:
若接收到該第二標識資訊對應的位元組碼可信應用發送的執行結果,將該執行結果發送給該CA;其中,該執行結果為該第二標識資訊對應的位元組碼可信應用對該調用命令執行完成後發送的。
在一種可能的實施方式中,若接收到的調用資訊為關閉會話資訊,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
關閉原生可信應用會話,並向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第二指令時,關閉位元組碼可信應用會話,並使該第二標識資訊對應的位元組碼可信應用銷毀位元組碼可信應用實例;
銷毀原生可信應用實例。
在一種可能的實施方式中,該方法還包括:
為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,該調用該第二標識資訊對應的位元組碼可信應用包括:
基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用。
第三方面,本發明提供了一種可信應用調用方法,該方法應用於位元組碼可信應用,該方法包括:
接收第一標識資訊對應的原生可信應用的調用;該調用為該第一標識資訊對應的原生可信應用在接收到可信應用開發平臺發送的調用資訊,該第一標識資訊對應的原生可信應用根據調用資訊中攜帶的第二標識資訊,從安裝在該第一標識資訊對應的原生可信應用自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用時,該第一標識資訊對應的原生可信應用根據該調用資訊,對該第二標識資訊對應的位元組碼可信應用發起的;其中,該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該調用資訊中攜帶的電子設備的第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作包括:
若接收到該第一標識資訊對應的原生可信應用發送的打開會話的第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話;其中,該第一指令為該第一標識資訊對應的原生可信應用在識別到接收到的調用資訊為訪問請求,該第一標識資訊對應的原生可信應用創建原生可信應用實例,並基於該原生可信應用實例打開原生可信應用會話時發送的。
在一種可能的實施方式中,該打開位元組碼可信應用會話之後,接收該第一標識資訊對應的原生可信應用轉交的調用命令之前,該方法還包括:
識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用,使該第一標識資訊對應的原生可信應用接收該位置資訊時,並使該第一標識資訊對應的原生可信應用基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該方法還包括:
將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用;使該第一標識資訊對應的原生可信應用將該執行結果發送給該CA。
在一種可能的實施方式中,該根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作包括:
若接收到該第一標識資訊對應的原生可信應用發送的關閉會話的第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;其中,該第二指令為該第一標識資訊對應的原生可信應用在接收到的調用資訊為關閉會話資訊時,該第一標識資訊對應的原生可信應用向該第二標識資訊對應的位元組碼可信應用發送的。
在一種可能的實施方式中,該接收第一標識資訊對應的原生可信應用的調用包括:
基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
第四方面,本發明還提供了一種可信應用調用裝置,該裝置應用於原生可信應用,該裝置包括:
第一接收模組,用於接收可信應用開發平臺發送的調用資訊,其中,該調用資訊中攜帶電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
調用模組,用於根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;使該第二標識資訊對應的位元組碼可信應用接收該第一標識資訊對應的原生可信應用的調用,並使該第二標識資訊對應的位元組碼可信應用根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該調用模組,具體用於若接收到的調用資訊為訪問請求,創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第一指令後,創建位元組碼可信應用實例,並使該第二標識資訊對應的位元組碼可信應用基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,該調用模組,具體用於若接收到的調用資訊為調用命令,將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該調用模組,還用於接收第二標識資訊對應的位元組碼可信應用發送的位置資訊;其中,該位置資訊為該第二標識資訊對應的位元組碼可信應用在識別到自身資料存儲位置的位置資訊時發送的;
該調用模組,具體用於基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該裝置還包括:
發送模組,用於若接收到該第二標識資訊對應的位元組碼可信應用發送的執行結果,將該執行結果發送給該CA;其中,該執行結果為該第二標識資訊對應的位元組碼可信應用對該調用命令執行完成後發送的。
在一種可能的實施方式中,該調用模組,具體用於若接收到的調用資訊為關閉會話資訊,關閉原生可信應用會話,並向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第二指令時,關閉位元組碼可信應用會話,並使該第二標識資訊對應的位元組碼可信應用銷毀位元組碼可信應用實例;
銷毀原生可信應用實例。
在一種可能的實施方式中,該裝置還包括:
配置模組,用於為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,該調用模組,具體用於基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用。
第五方面,本發明提供了一種可信應用調用裝置,該裝置應用於位元組碼可信應用,該裝置包括:
第二接收模組,用於接收第一標識資訊對應的原生可信應用的調用;該調用為該第一標識資訊對應的原生可信應用在接收到可信應用開發平臺發送的調用資訊,該第一標識資訊對應的原生可信應用根據調用資訊中攜帶的第二標識資訊,從安裝在該第一標識資訊對應的原生可信應用自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用時,該第一標識資訊對應的原生可信應用根據該調用資訊,對該第二標識資訊對應的位元組碼可信應用發起的;其中,該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該調用資訊中攜帶的電子設備的第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
執行模組,用於根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該執行模組,具體用於若接收到該第一標識資訊對應的原生可信應用發送的打開會話的第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話;其中,該第一指令為該第一標識資訊對應的原生可信應用在識別到接收到的調用資訊為訪問請求,該第一標識資訊對應的原生可信應用創建原生可信應用實例,並基於該原生可信應用實例打開原生可信應用會話時發送的。
在一種可能的實施方式中,該執行模組,還用於識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用,使該第一標識資訊對應的原生可信應用接收該位置資訊時,並使該第一標識資訊對應的原生可信應用基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該執行模組,還用於將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用;使該第一標識資訊對應的原生可信應用將該執行結果發送給該CA。
在一種可能的實施方式中,該執行模組,具體用於若接收到該第一標識資訊對應的原生可信應用發送的關閉會話的第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;其中,該第二指令為該第一標識資訊對應的原生可信應用在接收到的調用資訊為關閉會話資訊時,該第一標識資訊對應的原生可信應用向該第二標識資訊對應的位元組碼可信應用發送的。
在一種可能的實施方式中,該第二接收模組,具體用於基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
第六方面,本發明提供了一種電子設備,該電子設備至少包括處理器和記憶體,該處理器用於執行記憶體中存儲的電腦程式時實現如上述任一所述可信應用調用方法的步驟。
第七方面,本發明提供了一種電腦可讀存儲介質,其存儲有電腦程式,該電腦程式被處理器執行時實現如上述任一所述可信應用調用方法的步驟。
由於本發明中CA發起調用資訊後,可信應用開發平臺可以接收該調用資訊,並從可信應用開發平臺聯結的至少兩個(多個)TEE OS分別對應的原生可信應用中,確定調用資訊攜帶的電子設備的第一標識資訊對應的原生可信應用,將調用資訊發送給第一標識資訊對應的原生可信應用;第一標識資訊對應的原生可信應用接收調用資訊,並根據調用資訊攜帶的第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定第二標識資訊對應的位元組碼可信應用,並根據調用資訊,調用第二標識資訊對應的位元組碼可信應用;第二標識資訊對應的位元組碼可信應用可以接收第一標識資訊對應的原生可信應用的調用,並根據第一標識資訊對應的原生可信應用的調用,執行對應的操作,從而可以準確調用第二標識資訊的位元組碼可信應用,實現在原生可信應用中管理多個位元組碼可信應用,實現準確管理可信應用的目的。
為了準確的管理可信應用,本發明提供了一種電子設備、可信應用調用方法、裝置、設備及介質。
為使本發明的目的和實施方式更加清楚,下面將結合本發明示例性實施例中的附圖,對本發明示例性實施方式進行清楚、完整地描述,顯然,描述的示例性實施例僅是本發明一部分實施例,而不是全部的實施例。
本發明中說明書和權利要求書及上述附圖中的術語「第一」、「第二」、「第三」等是用於區別類似或同類的物件或實體,而不必然意味著限定特定的順序或先後次序,除非另外注明。應該理解這樣使用的用語在適當情況下可以互換。
術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋但不排他的包含,例如,包含了一系列元件的產品或設備不必限於清楚地列出的所有元件,而是可包括沒有清楚地列出的或對於這些產品或設備固有的其它元件。
最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。
實施例1:
圖1示出了一些實施例提供的第一種電子設備結構示意圖,該電子設備包括:用戶端應用(CA)11和可信應用開發平臺12;
該CA11,用於發起對該可信應用開發平臺12聯結的與該CA11對應的可信執行環境作業系統的原生可信應用的調用資訊,其中該調用資訊中攜帶該電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;
該可信應用開發平臺12,用於接收該調用資訊,根據該第一標識資訊,從該可信應用開發平臺12聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用,並將該調用資訊發送給該第一標識資訊對應的原生可信應用;
該第一標識資訊對應的原生可信應用13,用於接收該調用資訊,根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用14,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用14;
該第二標識資訊對應的位元組碼可信應用14,用於接收該第一標識資訊對應的原生可信應用13的調用,並根據該第一標識資訊對應的原生可信應用13的調用,執行對應的操作。
在一種可能的實施方式中,本發明的電子設備可以是PC、移動終端等設備,也可以是伺服器等。圖2示出了一些實施例提供的第二種電子設備結構示意圖,參閱圖2,示例性的,電子設備中的可信執行環境作業系統(TEE OS)可以為華為iTrustee、高通QSEE等任一TEE OS。
在一種可能的實施方式中,針對每個TEE OS,可以創建該TEE OS對應的可信應用(為方便描述,稱為原生可信應用)。其中,創建TEE OS對應的可信應用可以採用現有技術,在此不再贅述。在一種可能的實施方式中,為了針對任一應用,開發出可適用於多個TEE OS,可跨不同TEE OS硬體平臺使用的可信應用,從而降低可信應用的開發週期以及開發成本,電子設備中還可以包括創建模組,該創建模組可以基於支援跨平臺功能的位元組碼技術(如WebAssembly位元組碼技術等),創建聯結多個(至少兩個)TEE OS分別對應的原生可信應用(為方便描述,稱為Native TA)的可信應用開發平臺12(可信應用開發框架)。其中,WebAssembly是由主流流覽器廠商組成的萬維網聯盟(World Wide Web Consortium,W3C)社區團體制定的一個新的規範,其定義了一個可移植、體積小、載入快並且相容萬維網(Web)的全新格式。
本發明可以基於支援跨平臺功能的位元組碼技術(如WebAssembly位元組碼技術等),將多個TEE OS分別對應的Native TA構建為一個可信應用開發平臺12,該可信應用開發平臺12可以向上提供統一的開發介面,如可信應用開發平臺12可以向上提供統一的全球平臺組織(Global Platform,GP)介面,可信應用開發者可以無需再關注TEE OS硬體平臺的具體版本,只需基於該可信應用開發平臺12,針對例如建設銀行、農業銀行等任一應用,開發該應用對應的可信應用(為方便描述,稱為位元組碼可信應用)即可,該位元組碼可信應用(為方便描述,稱為Bytecode Trusted Application,BTA)是基於可信應用開發平臺12開發的可適用於不同的TEE OS,可跨不同的TEE OS硬體平臺使用的可信應用。本發明針對每個應用,可以只開發一個對應的可信應用,相比相關技術中,針對每個應用,需要為不同的TEE OS硬體平臺分別開發一個可信應用,需要為同一個應用開發多個不同版本的可信應用而言,本發明可以縮短可信應用的開發週期、降低開發成本,同時還可以達到「一次開發,多終端部署」的目的,實現應用的快速部署推廣。
參閱圖2,在一種可能的實施方式中,電子設備中的可信執行環境作業系統(TEE OS)可以接收CA11發起的調用資訊,並將該調用資訊發送給可信應用開發平臺12;可信應用開發平臺12可以基於TEE OS提供的全球平臺組織(Global Platform,GP)介面(為方便描述,稱為第一GP介面)或TEE OS提供的自有介面,接收TEE OS發送的調用資訊。
在一種可能的實施方式中,可以預先在第一標識資訊對應的原生可信應用13中配置轉換介面,第一標識資訊對應的原生可信應用13可以基於該預先配置的轉換介面,調用第二標識資訊對應的位元組碼可信應用14。
在一種可能的實施方式中,考慮到由於存在大量的相關技術中已經開發的只適用於華為iTrustee或高通QSEE等單一TEE OS硬體平臺,不能跨不同TEE OS硬體平臺使用的可信應用(為方便描述,稱為單一可信應用),這些單一可信應用通常基於預先配置的GP介面直接與TEE OS交互,為了使這些單一可信應用也可以作為本發明中的BTA運行在原生可信應用中,本發明可以為位元組碼可信應用預先配置一個GP介面(為方便描述,稱為第二GP介面),任一位元組碼可信應用(包括單一可信應用)均可以基於該第二GP介面,接收第一標識資訊對應的原生可信應用13的調用。
在一種可能的實施方式中,當需要使用可信執行環境(Trusted Execution Environment,TEE)提供的安全功能時,電子設備中的用戶端應用(Client Application,CA)11可以發起對可信應用開發平臺12中包含的與CA11對應的TEE OS的原生可信應用的調用資訊。示例性的,假設電子設備的TEE OS是華為iTrustee,該電子設備中的CA11可以發起對可信應用開發平臺12中包含的華為iTrustee TEE OS對應的原生可信應用的調用資訊。在一種可能的實施方式中,調用資訊中可以攜帶電子設備的標識資訊(為方便描述,稱為第一標識資訊)以及待調用的任一應用的位元組碼可信應用的標識資訊(為方便描述,稱為第二標識資訊)。其中,第一標識資訊和第二標識資訊可以根據需求靈活設置,本發明對此不做具體限定。示例性的,電子設備的第一標識資訊可以包括電子設備的型號、電子設備的品牌等標識資訊。在一種可能的實施方式中,第一標識資訊中除了包含電子設備的型號、電子設備的品牌等標識資訊之外,還可以包含電子設備適用的原生可信應用的名稱、原生可信應用版本號等原生可信應用的標識資訊。位元組碼可信應用的第二標識資訊可以為位元組碼可信應用的名稱、供應商名稱等標識資訊。
CA11發起調用資訊,可信應用開發平臺12接收到該調用資訊後,可以根據調用資訊中攜帶的電子設備的第一標識資訊,從可信應用開發平臺12自身聯結的至少兩個(多個)TEE OS分別對應的Native TA中,確定電子設備的第一標識資訊對應的Native TA,並將調用資訊發送給第一標識資訊對應的Native TA。示例性的,如果電子設備的品牌為華為,電子設備的第一標識資訊可以包括華為、華為品牌的電子設備(終端)適用的原生可信應用的名稱以及原生可信應用版本號等,則可信應用開發平臺12可以將華為iTrustee TEE OS對應的原生可信應用確定為第一標識資訊對應的原生可信應用。
在一種可能的實施方式中,可以將多個(至少兩個)TEE OS分別對應的原生可信應用直接集成在可信應用開發平臺12中,可信應用開發平臺12中包含(聯結)多個TEE OS分別對應的原生可信應用。在一種可能的實施方式中,考慮到如果將多個TEE OS分別對應的原生可信應用均集成在可信應用開發平臺12中時,可信應用開發平臺12佔用的空間可能較大。為了節省空間,可信應用開發平臺12中可以先只包含(聯結)多個TEE OS分別對應的原生可信應用的標識資訊,可信應用開發平臺12根據電子設備的標識資訊與原生可信應用的標識資訊的對應關係,確定了電子設備的第一標識資訊對應的原生可信應用的標識資訊後,可以通過空中下載技術(OTA),從與可信應用開發平臺12聯結的後端應用平臺中,將第一標識資訊對應的原生可信應用下載並安裝到可信應用開發平臺12中。在一種可能的實施方式中,可信應用開發平臺12中包含了第一標識資訊對應的原生可信應用後,可以將第一訪問請求發送給第一標識資訊對應的原生可信應用(Native TA)。
在一種可能的實施方式中,可以預先將至少一個應用的位元組碼可信應用(BTA)安裝在Native TA的資料區等設定位置處,BTA可以基於WebAssembly虛擬機器運行於Native TA之內。第一標識資訊的Native TA13在接收到調用資訊後,可以根據調用資訊中攜帶的第二標識資訊,從安裝在自身中的至少一個BTA中,確定第二標識資訊對應的BTA14,並根據該調用資訊,調用第二標識資訊對應的BTA14。
在一種可能的實施方式中,第二標識資訊對應的BTA14可以接收第一標識資訊的Native TA13的調用,並可以根據該調用,執行對應的操作。
由於本發明中CA11發起調用資訊後,可信應用開發平臺12可以接收該調用資訊,並從可信應用開發平臺12聯結的至少兩個(多個)TEE OS分別對應的原生可信應用中,確定調用資訊攜帶的電子設備的第一標識資訊對應的原生可信應用,將調用資訊發送給第一標識資訊對應的原生可信應用;第一標識資訊對應的原生可信應用13接收調用資訊,並根據調用資訊攜帶的第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定第二標識資訊對應的位元組碼可信應用14,並根據調用資訊,調用第二標識資訊對應的位元組碼可信應用14;第二標識資訊對應的位元組碼可信應用14可以接收第一標識資訊對應的原生可信應用13的調用,並根據第一標識資訊對應的原生可信應用13的調用,執行對應的操作,從而可以準確調用第二標識資訊的位元組碼可信應用,實現在原生可信應用中管理多個位元組碼可信應用,實現準確管理可信應用的目的。
實施例2:
為了可以準確管理可信應用,在上述實施例的基礎上,在本發明實施例中,該第一標識資訊對應的原生可信應用13,具體用於若接收到的調用資訊為訪問請求,則創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用14發送打開會話的第一指令;
該第二標識資訊對應的位元組碼可信應用14,具體用於若接收到該第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,CA11發起的調用資訊可以為訪問請求。具體的,第一標識資訊的Native TA13如果識別到接收到的調用資訊為訪問請求,則可以先創建原生可信應用實例,然後基於該原生可信應用實例打開原生可信應用會話,並根據訪問請求中攜帶的第二標識資訊,向第二標識資訊對應的BTA14發送打開會話的指令(為方便描述,稱為第一指令)。示例性的,參閱圖2,第一標識資訊的Native TA13可以先基於創建實例入口函數(TA_CreateEntryPoint)實現創建原生可信應用實例,並初始化位元組碼可信應用的WebAssembly虛擬機器的運行環境。然後基於打開會話入口函數(TA_OpenSessionEntryPoint)實現打開原生可信應用會話;並基於轉換介面來調用位元組碼可信應用的轉換入口的打開會話入口函數(WA_OpenSessionEntryPoint),實現向第二標識資訊對應的BTA14發送打開會話的第一指令。
在一種可能的實施方式中,第二標識資訊對應的BTA14在接收到第一指令後,可以創建位元組碼可信應用實例,並基於位元組碼可信應用實例,打開位元組碼可信應用會話。在一種可能的實施方式中,第二標識資訊對應的BTA14識別到轉換入口的打開會話入口函數(WA_OpenSessionEntryPoint)被調用後,第二標識資訊對應的BTA14可以認為接收到第一指令,繼而可以先調用位元組碼可信應用的創建實例入口函數(TA_CreateEntryPoint)實現創建位元組碼可信應用實例,然後再調用位元組碼可信應用的打開會話入口函數(TA_OpenSessionEntryPoint)實現打開位元組碼可信應用會話,從而打開第二標識資訊對應的位元組碼可信應用14會話。
在一種可能的實施方式中,當第二標識資訊的BTA14打開位元組碼可信應用會話後,第一標識資訊的Native TA13可以向CA11返回會話打開成功的確認資訊。CA11接收到確認資訊後,可以繼而發起調用命令。
為了可以準確管理可信應用,在上述各實施例的基礎上,在本發明實施例中,該第一標識資訊對應的原生可信應用13,具體用於若接收到的調用資訊為調用命令,則將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用14。
在一種可能的實施方式中,如果CA11發起的調用資訊為調用命令。第一標識資訊的Native TA13識別到接收到的調用資訊為調用命令時,可以將該調用命令轉交(如透傳等)給第二標識資訊對應的BTA14。示例性的,參閱圖2,第一標識資訊的Native TA13識別到接收到的調用資訊為調用命令時,可以認為需要調用原生可信應用的發送命令入口函數(TA_InvokeCommandEntryPoint),並基於轉換介面來調用位元組碼可信應用的轉換入口的發送命令函數(WA_InvokeCommandEntry),第二標識資訊的BTA14識別到轉換入口的發送命令函數(WA_InvokeCommandEntry)被調用後,可以調用命令入口函數(TA_InvokeCommandEntryPoint),接收原生可信應用轉交的調用命令,並執行調用命令中對應的操作。
在一種可能的實施方式中,第二標識資訊的BTA14在創建位元組碼可信應用實例,並打開位元組碼可信應用會話之後,可以識別第二標識資訊的BTA14自身資料存儲位置的位置資訊,並將該位置資訊返回給第一標識資訊對應的原生可信應用13。示例性的,可以將位置資訊設置在會話上下文(sessionContext)中,通過會話上下文雙極指標,將位元組碼可信應用會話上下文指標返回給第一標識資訊對應的原生可信應用13,從而實現將位置資訊返回給第一標識資訊對應的原生可信應用13。在一種可能的實施方式中,BTA可以基於如下代碼將位置資訊返回給第一標識資訊的Native TA13:
TEE_Result TA_OpenSessionEntryPoint(uint32_t paramTypes,
TEE_Param params[4],
void **sessionContext)。
第一標識資訊的Native TA13接收到位置資訊時,在將調用命令轉交給第二標識資訊對應的BTA14時,可以基於該位置資訊,快捷準確地將調用命令轉交給該位置資訊標識的第二標識資訊對應的位元組碼可信應用14。在一種可能的實施方式中,可以基於如下代碼將調用命令轉交給第二標識資訊對應的BTA14:
TEE_Result TA_InvokeCommandEntryPoint(void *sessionContext, uint32_t cmd_id, uint32_t paramTypes, TEE_Param params[4])。
在一種可能的實施方式中,第二標識資訊對應的BTA14根據調用命令,執行對應的操作後,還可以將對調用命令的執行結果返回給第一標識資訊的Native TA13。第一標識資訊的Native TA13可以將執行結果發送給CA11。在一種可能的實施方式中,CA11接收到執行結果後,可以繼而發起關閉會話資訊。
為了可以準確管理可信應用,在上述各實施例的基礎上,在本發明實施例中,該第一標識資訊對應的原生可信應用13,具體用於若接收到的調用資訊為關閉會話資訊,則向該第二標識資訊對應的位元組碼可信應用14發送關閉會話的第二指令,並關閉原生可信應用會話;
該第二標識資訊對應的位元組碼可信應用14,具體用於若接收到該第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;
該第一標識資訊對應的原生可信應用13,具體用於銷毀原生可信應用實例。
在一種可能的實施方式中,CA11發起的調用資訊可以為關閉會話資訊。參閱圖2,第一標識資訊的Native TA13識別到接收到的調用資訊為關閉會話資訊時,可以調用原生可信應用的關閉會話入口函數(TA_CloseSessionEntryPoint)來關閉原生可信應用會話,並基於轉換介面,調用位元組碼可信應用的轉換入口的關閉會話入口函數(WA_CloseSessionEntryPoint),實現向第二標識資訊對應的BTA14發送關閉會話的指令(為方便描述,稱為第二指令)。
在一種可能的實施方式中,第二標識資訊對應的BTA14的轉換入口的關閉會話入口函數(WA_CloseSessionEntryPoint)被調用後,第二標識資訊對應的BTA14可以認為接收到第二指令,繼而可以調用位元組碼可信應用的關閉會話入口函數(TA_CloseSessionEntryPoint)實現關閉位元組碼可信應用會話,並通過調用位元組碼可信應用的銷毀實例入口函數(TA_DestroyEntryPoint)實現銷毀位元組碼可信應用實例。第一標識資訊的Native TA13可以繼而調用原生可信應用的銷毀原生可信應用實例函數(TA_DestroyEntryPoint)實現銷毀原生可信應用實例。
在一種可能的實施方式中,也可以是第二標識資訊對應的BTA14接收到第二指令後,只調用位元組碼可信應用的關閉會話入口函數(TA_CloseSessionEntryPoint)實現關閉位元組碼可信應用會話。然後第一標識資訊的Native TA13可以繼而調用原生可信應用的銷毀原生可信應用實例函數(TA_DestroyEntryPoint)來銷毀原生可信應用實例,並基於轉換介面來調用位元組碼可信應用的轉換入口的銷毀實例入口函數(WA_DestroyEntryPoint),第二標識資訊對應的BTA14識別到轉換入口的銷毀實例入口函數(WA_DestroyEntryPoint)被調用後,可以調用位元組碼可信應用的銷毀實例入口函數(TA_DestroyEntryPoint)實現對位元組碼可信應用實例的銷毀。
為方便理解,下面再通過一個具體實施例對本發明提供的可信應用調用過程進行舉例說明。圖3示出了一些實施例提供的第一種可信應用調用過程示意圖,如圖3所示,電子設備中的CA11發起訪問請求(打開原生可信應用會話)。在一種可能的實施方式中,CA11可以通過調用打開會話函數(TEEC_OpenSession)實現發起訪問請求,訪問請求中可以攜帶(指定)電子設備的第一標識資訊以及待調用的任一應用的位元組碼可信應用的第二標識資訊。在一種可能的實施方式中,CA11可以基於如下代碼發起訪問請求:
PARAM[0]: TEE_PARAM_TYPE_VALUE_INOUT,
params[0].value.a = INSTALL_TA – 命令ID
PARAM[1]: TEE_PARAM_TYPE_MEMREF_INPUT, params[1].memref.buffer - BTA名字
PARAM[2]: TEE_PARAM_TYPE_MEMREF_INPUT, params[2].memref.buffer - SP名字
PARAM[3]: TEE_PARAM_TYPE_MEMREF_INPUT, params[3].memref.buffer - BTA的二進位內容
CA11發起訪問請求後,電子設備中的TEE OS可以接收CA11發起的訪問資訊,並將該調用信息發送給可信應用開發平臺12。可信應用開發平臺12接收訪問資訊,並根據第一標識資訊,從可信應用開發平臺12聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定第一標識資訊對應的原生可信應用,並將調用資訊發送給第一標識資訊對應的原生可信應用。
第一標識資訊對應的Native TA13可以先基於創建實例入口函數(TA_CreateEntryPoint)實現創建原生可信應用實例,然後基於打開會話入口函數(TA_OpenSessionEntryPoint)實現打開原生可信應用會話;並基於轉換介面來調用位元組碼可信應用的轉換入口的打開會話入口函數(WA_OpenSessionEntryPoint),實現向第二標識資訊對應的BTA14發送打開會話的第一指令。
第二標識資訊對應的BTA14識別到轉換入口的打開會話入口函數(WA_OpenSessionEntryPoint)被調用後,第二標識資訊對應的BTA14可以先調用位元組碼可信應用的創建實例入口函數(TA_CreateEntryPoint)實現創建位元組碼可信應用實例,然後再調用位元組碼可信應用的打開會話入口函數(TA_OpenSessionEntryPoint)實現打開(創建)位元組碼可信應用會話。
在一種可能的實施方式中,第二標識資訊對應的BTA14在創建位元組碼可信應用實例,並打開位元組碼可信應用會話之後,可以識別第二標識資訊對應的BTA14自身資料存儲位置的位置資訊,並將該位置資訊返回給第一標識資訊對應的原生可信應用13。其中,可以將位置資訊設置在會話上下文(sessionContext)中,通過會話上下文雙極指標,將位元組碼可信應用會話上下文指標返回給第一標識資訊對應的原生可信應用13。
在一種可能的實施方式中,第一標識資訊對應的Native TA13接收到位置資訊時,可以將該位置資訊(sessionContext)保存在原生可信應用會話上下文中。TEE OS也可以保存原生可信應用會話上下文(sessionContext)。
第一標識資訊對應的Native TA13可以向CA11返回會話打開成功的確認資訊。CA11接收到確認資訊後,可以繼而發起調用命令。電子設備中的TEE OS可以接收CA11發起的調用命令,並通過載入識別原生可信應用會話上下文,將調用命令發送給第一標識資訊對應的Native TA13。
第一標識資訊對應的Native TA13識別到接收到的調用資訊為調用命令時,可以將該調用命令轉交給第二標識資訊對應的BTA14。其中,第一標識資訊的Native TA13可以調用原生可信應用的發送命令入口函數(TA_InvokeCommandEntryPoint),從會話上下文(sessionContext)中定位第二標識資訊對應的BTA14,並基於轉換介面來調用第二標識資訊的BTA14的轉換入口的發送命令函數(WA_InvokeCommandEntry),第二標識資訊的BTA14識別到轉換入口的發送命令函數(WA_InvokeCommandEntry)被調用後,可以調用命令入口函數(TA_InvokeCommandEntryPoint),接收原生可信應用轉交的調用命令,並執行調用命令中對應的操作。
第二標識資訊對應的BTA14根據調用命令,執行對應的操作後,還可以將對調用命令的執行結果返回給第一標識資訊對應的Native TA13。第一標識資訊對應的Native TA13可以將執行結果發送給CA11。
在一種可能的實施方式中,CA11接收到執行結果後,可以繼而發起關閉會話資訊。第一標識資訊對應的Native TA13接收關閉會話資訊,識別到接收到的調用資訊為關閉會話資訊時,可以調用原生可信應用的關閉會話入口函數(TA_CloseSessionEntryPoint)來關閉原生可信應用會話,並基於轉換介面,調用位元組碼可信應用的轉換入口的關閉會話入口函數(WA_CloseSessionEntryPoint),第二標識資訊對應的BTA14可以繼而調用位元組碼可信應用的關閉會話入口函數(TA_CloseSessionEntryPoint)實現關閉位元組碼可信應用會話,並通過調用位元組碼可信應用的銷毀實例入口函數(TA_DestroyEntryPoint)實現銷毀位元組碼可信應用實例。第一標識資訊對應的Native TA13可以繼而調用原生可信應用的銷毀原生可信應用實例函數(TA_DestroyEntryPoint)實現銷毀原生可信應用實例。同時,TEE OS可以釋放原生可信應用會話上下文(sessionContext)。
實施例3:
為了實現多個BTA之間的資料存儲隔離,保證每個BTA的資料安全,在上述各實施例的基礎上,在本發明實施例中,該第一標識資訊對應的原生可信應用13,還用於為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,Native TA在安裝每個BTA時,可以為每個BTA分別配置一個獨立的子目錄,例如當任一BTA根據調用執行對應的操作,需要打開或者創建一個檔時,Native TA可以總是在BTA提供的訪問檔的路徑中添加對應的子目錄作為首碼;即Native TA可以針對每個BTA,基於該BTA對應的獨立的子目錄,為該BTA配置特定的訪問路徑,使該BTA只能訪問該BTA對應的獨立的子目錄中的檔資訊,而不能訪問其他目錄中的檔資訊。
在一種可能的實施方式中,為了實現多個BTA之間的資料存儲隔離,子目錄以及BTA提供的訪問檔的路徑可以為獨立的路徑(絕對路徑),而非包含有如「..」表示上一級目錄等的相對路徑。
由於本發明可以為每個BTA分別配置一個獨立的子目錄,每個BTA只能訪問自身獨有的子目錄中的檔資訊,而無法訪問不屬於自己許可權的其他BTA的檔資訊,從而可以實現多個BTA之間的資料存儲隔離,保證了資料安全。
實施例4:
基於相同的技術構思,本發明提供了一種可信應用調用方法,該方法應用於原生可信應用,圖4示出了一些實施例提供的第二種可信應用調用過程示意圖,如圖4所示,該過程包括以下步驟:
S401:接收可信應用開發平臺發送的調用資訊;其中,該調用資訊中攜帶電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
S402:根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;使該第二標識資訊對應的位元組碼可信應用接收該第一標識資訊對應的原生可信應用的調用,並使該第二標識資訊對應的位元組碼可信應用根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,若接收到的調用資訊為訪問請求,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第一指令後,創建位元組碼可信應用實例,並使該第二標識資訊對應的位元組碼可信應用基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,若接收到的調用資訊為調用命令,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該接收可信應用開發平臺發送的調用資訊之後,該將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用之前,該方法還包括:
接收第二標識資訊對應的位元組碼可信應用發送的位置資訊;其中,該位置資訊為該第二標識資訊對應的位元組碼可信應用在識別到自身資料存儲位置的位置資訊時發送的;
該將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用包括:
基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該方法還包括:
若接收到該第二標識資訊對應的位元組碼可信應用發送的執行結果,將該執行結果發送給該CA;其中,該執行結果為該第二標識資訊對應的位元組碼可信應用對該調用命令執行完成後發送的。
在一種可能的實施方式中,若接收到的調用資訊為關閉會話資訊,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
關閉原生可信應用會話,並向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第二指令時,關閉位元組碼可信應用會話,並使該第二標識資訊對應的位元組碼可信應用銷毀位元組碼可信應用實例;
銷毀原生可信應用實例。
在一種可能的實施方式中,該方法還包括:
為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,該調用該第二標識資訊對應的位元組碼可信應用包括:
基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用。
實施例5:
基於相同的技術構思,本發明提供了一種可信應用調用裝置,該裝置應用於原生可信應用(第一標識資訊對應的原生可信應用),圖5示出了一些實施例提供的第一種可信應用調用裝置示意圖,如圖5所示,該裝置包括:
第一接收模組51,用於接收可信應用開發平臺發送的調用資訊,其中,該調用資訊中攜帶電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
調用模組52,用於根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;使該第二標識資訊對應的位元組碼可信應用接收該第一標識資訊對應的原生可信應用的調用,並使該第二標識資訊對應的位元組碼可信應用根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該調用模組52,具體用於若接收到的調用資訊為訪問請求,創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第一指令後,創建位元組碼可信應用實例,並使該第二標識資訊對應的位元組碼可信應用基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,該調用模組52,具體用於若接收到的調用資訊為調用命令,將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該調用模組52,還用於接收第二標識資訊對應的位元組碼可信應用發送的位置資訊;其中,該位置資訊為該第二標識資訊對應的位元組碼可信應用在識別到自身資料存儲位置的位置資訊時發送的;
該調用模組52,具體用於基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該裝置還包括:
發送模組,用於若接收到該第二標識資訊對應的位元組碼可信應用發送的執行結果,將該執行結果發送給該CA;其中,該執行結果為該第二標識資訊對應的位元組碼可信應用對該調用命令執行完成後發送的。
在一種可能的實施方式中,該調用模組52,具體用於若接收到的調用資訊為關閉會話資訊,關閉原生可信應用會話,並向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第二指令時,關閉位元組碼可信應用會話,並使該第二標識資訊對應的位元組碼可信應用銷毀位元組碼可信應用實例;
銷毀原生可信應用實例。
在一種可能的實施方式中,該裝置還包括:
配置模組,用於為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,該調用模組52,具體用於基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用。
實施例6:
基於相同的技術構思,本發明還提供了一種電子設備,圖6示出了一些實施例提供的第一種電子設備結構示意圖,如圖6所示,包括:處理器61、通信介面62、記憶體63和通信匯流排64,其中,處理器61,通信介面62,記憶體63通過通信總64完成相互間的通信;
該記憶體63中存儲有電腦程式,當該程式被該處理器61執行時,使得該處理器61執行如下步驟:
接收可信應用開發平臺發送的調用資訊,其中,該調用資訊中攜帶電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;使該第二標識資訊對應的位元組碼可信應用接收該第一標識資訊對應的原生可信應用的調用,並使該第二標識資訊對應的位元組碼可信應用根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該處理器61,具體用於若接收到的調用資訊為訪問請求,創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第一指令後,創建位元組碼可信應用實例,並使該第二標識資訊對應的位元組碼可信應用基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,該處理器61,具體用於若接收到的調用資訊為調用命令,將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該處理器61,還用於接收第二標識資訊對應的位元組碼可信應用發送的位置資訊;其中,該位置資訊為該第二標識資訊對應的位元組碼可信應用在識別到自身資料存儲位置的位置資訊時發送的;
基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該處理器61,還用於若接收到該第二標識資訊對應的位元組碼可信應用發送的執行結果,將該執行結果發送給該CA;其中,該執行結果為該第二標識資訊對應的位元組碼可信應用對該調用命令執行完成後發送的。
在一種可能的實施方式中,該處理器61,具體用於若接收到的調用資訊為關閉會話資訊,關閉原生可信應用會話,並向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第二指令時,關閉位元組碼可信應用會話,並使該第二標識資訊對應的位元組碼可信應用銷毀位元組碼可信應用實例;
銷毀原生可信應用實例。
在一種可能的實施方式中,該處理器61,還用於為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,該處理器61,具體用於基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用。
由於上述電子設備解決問題的原理與可信應用調用方法相似,因此上述電子設備的實施可以參見方法的實施,重複之處不再贅述。
上述電子設備提到的通信匯流排可以是外設部件互連標準(Peripheral Component Interconnect,PCI)匯流排或延伸工業標準架構(Extended Industry Standard Architecture,EISA)匯流排等。該通信匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
通信介面62用於上述電子設備與其他設備之間的通信。
記憶體可以包括隨機存取記憶體(Random Access Memory,RAM),也可以包括非易失性記憶體(Non-Volatile Memory,NVM),例如至少一個磁碟記憶體。可選地,記憶體還可以是至少一個位於遠離前述處理器的存儲裝置。
上述處理器可以是通用處理器,包括中央處理器、網路處理器(Network Processor,NP)等;還可以是數位指令處理器(Digital Signal Processing,DSP)、專用積體電路、現場可程式設計門陳列或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。
實施例7:
基於相同的技術構思,本發明實施例提供了一種電腦可讀存儲介質,該電腦可讀存儲介質內存儲有可由電子設備執行的電腦程式,當該程式在該電子設備上運行時,使得該電子設備執行時實現如下步驟:
接收可信應用開發平臺發送的調用資訊,其中,該調用資訊中攜帶電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;使該第二標識資訊對應的位元組碼可信應用接收該第一標識資訊對應的原生可信應用的調用,並使該第二標識資訊對應的位元組碼可信應用根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,若接收到的調用資訊為訪問請求,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第一指令後,創建位元組碼可信應用實例,並使該第二標識資訊對應的位元組碼可信應用基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
在一種可能的實施方式中,若接收到的調用資訊為調用命令,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該接收可信應用開發平臺發送的調用資訊之後,該將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用之前,該方法還包括:
接收第二標識資訊對應的位元組碼可信應用發送的位置資訊;其中,該位置資訊為該第二標識資訊對應的位元組碼可信應用在識別到自身資料存儲位置的位置資訊時發送的;
該將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用包括:
基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該方法還包括:
若接收到該第二標識資訊對應的位元組碼可信應用發送的執行結果,將該執行結果發送給該CA;其中,該執行結果為該第二標識資訊對應的位元組碼可信應用對該調用命令執行完成後發送的。
在一種可能的實施方式中,若接收到的調用資訊為關閉會話資訊,該根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用包括:
關閉原生可信應用會話,並向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,使該第二標識資訊對應的位元組碼可信應用在接收到該第二指令時,關閉位元組碼可信應用會話,並使該第二標識資訊對應的位元組碼可信應用銷毀位元組碼可信應用實例;
銷毀原生可信應用實例。
在一種可能的實施方式中,該方法還包括:
為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
在一種可能的實施方式中,該調用該第二標識資訊對應的位元組碼可信應用包括:
基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用。
上述電腦可讀存儲介質可以是電子設備中的處理器能夠存取的任何可用介質或資料存放裝置,包括但不限於磁性記憶體如軟碟、硬碟、磁帶、磁光碟(MO)等、光學記憶體如CD、DVD、BD、HVD等、以及半導體記憶體如ROM、EPROM、EEPROM、非易失性記憶體(NAND FLASH)、固態硬碟(SSD)等。
實施例8:
基於相同的技術構思,本發明提供了一種可信應用調用方法,該方法應用於位元組碼可信應用,圖7示出了一些實施例提供的第三種可信應用調用過程示意圖,如圖7所示,該過程包括以下步驟:
S701:接收第一標識資訊對應的原生可信應用的調用;該調用為該第一標識資訊對應的原生可信應用在接收到可信應用開發平臺發送的調用資訊,該第一標識資訊對應的原生可信應用根據調用資訊中攜帶的第二標識資訊,從安裝在該第一標識資訊對應的原生可信應用自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用時,該第一標識資訊對應的原生可信應用根據該調用資訊,對該第二標識資訊對應的位元組碼可信應用發起的;其中,該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該調用資訊中攜帶的電子設備的第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
S702:根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作包括:
若接收到該第一標識資訊對應的原生可信應用發送的打開會話的第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話;其中,該第一指令為該第一標識資訊對應的原生可信應用在識別到接收到的調用資訊為訪問請求,該第一標識資訊對應的原生可信應用創建原生可信應用實例,並基於該原生可信應用實例打開原生可信應用會話時發送的。
在一種可能的實施方式中,該打開位元組碼可信應用會話之後,接收該第一標識資訊對應的原生可信應用轉交的調用命令之前,該方法還包括:
識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用,使該第一標識資訊對應的原生可信應用接收該位置資訊時,並使該第一標識資訊對應的原生可信應用基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該方法還包括:
將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用;使該第一標識資訊對應的原生可信應用將該執行結果發送給該CA。
在一種可能的實施方式中,該根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作包括:
若接收到該第一標識資訊對應的原生可信應用發送的關閉會話的第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;其中,該第二指令為該第一標識資訊對應的原生可信應用在接收到的調用資訊為關閉會話資訊時,該第一標識資訊對應的原生可信應用向該第二標識資訊對應的位元組碼可信應用發送的。
在一種可能的實施方式中,該接收第一標識資訊對應的原生可信應用的調用包括:
基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
實施例9:
基於相同的技術構思,本發明提供了一種可信應用調用裝置,該裝置應用於位元組碼可信應用,圖8示出了一些實施例提供的第二種可信應用調用裝置示意圖,如圖8所示,該裝置包括:
第二接收模組81,用於接收第一標識資訊對應的原生可信應用的調用;該調用為該第一標識資訊對應的原生可信應用在接收到可信應用開發平臺發送的調用資訊,該第一標識資訊對應的原生可信應用根據調用資訊中攜帶的第二標識資訊,從安裝在該第一標識資訊對應的原生可信應用自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用時,該第一標識資訊對應的原生可信應用根據該調用資訊,對該第二標識資訊對應的位元組碼可信應用發起的;其中,該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該調用資訊中攜帶的電子設備的第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
執行模組82,用於根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該執行模組82,具體用於若接收到該第一標識資訊對應的原生可信應用發送的打開會話的第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話;其中,該第一指令為該第一標識資訊對應的原生可信應用在識別到接收到的調用資訊為訪問請求,該第一標識資訊對應的原生可信應用創建原生可信應用實例,並基於該原生可信應用實例打開原生可信應用會話時發送的。
在一種可能的實施方式中,該執行模組82,還用於識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用,使該第一標識資訊對應的原生可信應用接收該位置資訊時,並使該第一標識資訊對應的原生可信應用基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該執行模組82,還用於將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用;使該第一標識資訊對應的原生可信應用將該執行結果發送給該CA。
在一種可能的實施方式中,該執行模組82,具體用於若接收到該第一標識資訊對應的原生可信應用發送的關閉會話的第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;其中,該第二指令為該第一標識資訊對應的原生可信應用在接收到的調用資訊為關閉會話資訊時,該第一標識資訊對應的原生可信應用向該第二標識資訊對應的位元組碼可信應用發送的。
在一種可能的實施方式中,該第二接收模組81,具體用於基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
實施例10:
基於相同的技術構思,本發明還提供了一種電子設備,圖9示出了一些實施例提供的第二種電子設備結構示意圖,如圖9所示,包括:處理器91、通信介面92、記憶體93和通信匯流排94,其中,處理器91,通信介面92,記憶體93通過通信匯流排94完成相互間的通信;
該記憶體93中存儲有電腦程式,當該程式被該處理器91執行時,使得該處理器91執行如下步驟:
接收第一標識資訊對應的原生可信應用的調用;該調用為該第一標識資訊對應的原生可信應用在接收到可信應用開發平臺發送的調用資訊,該第一標識資訊對應的原生可信應用根據調用資訊中攜帶的第二標識資訊,從安裝在該第一標識資訊對應的原生可信應用自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用時,該第一標識資訊對應的原生可信應用根據該調用資訊,對該第二標識資訊對應的位元組碼可信應用發起的;其中,該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺中聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該調用資訊中攜帶的電子設備的第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該處理器91,具體用於若接收到該第一標識資訊對應的原生可信應用發送的打開會話的第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話;其中,該第一指令為該第一標識資訊對應的原生可信應用在識別到接收到的調用資訊為訪問請求,該第一標識資訊對應的原生可信應用創建原生可信應用實例,並基於該原生可信應用實例打開原生可信應用會話時發送的。
在一種可能的實施方式中,該處理器91,還用於識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用,使該第一標識資訊對應的原生可信應用接收該位置資訊時,並使該第一標識資訊對應的原生可信應用基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該處理器91,還用於將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用;使該第一標識資訊對應的原生可信應用將該執行結果發送給該CA。
在一種可能的實施方式中,該處理器91,具體用於若接收到該第一標識資訊對應的原生可信應用發送的關閉會話的第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;其中,該第二指令為該第一標識資訊對應的原生可信應用在接收到的調用資訊為關閉會話資訊時,該第一標識資訊對應的原生可信應用向該第二標識資訊對應的位元組碼可信應用發送的。
在一種可能的實施方式中,該處理器91,具體用於基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
上述電子設備提到的通信匯流排可以是外設部件互連標準(Peripheral Component Interconnect,PCI)匯流排或延伸工業標準架構(Extended Industry Standard Architecture,EISA)匯流排等。該通信匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
通信介面92用於上述電子設備與其他設備之間的通信。
記憶體可以包括隨機存取記憶體(Random Access Memory,RAM),也可以包括非易失性記憶體(Non-Volatile Memory,NVM),例如至少一個磁碟記憶體。可選地,記憶體還可以是至少一個位於遠離前述處理器的存儲裝置。
上述處理器可以是通用處理器,包括中央處理器、網路處理器(Network Processor,NP)等;還可以是數位指令處理器(Digital Signal Processing,DSP)、專用積體電路、現場可程式設計門陳列或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。
實施例11:
基於相同的技術構思,本發明實施例提供了一種電腦可讀存儲介質,該電腦可讀存儲介質內存儲有可由電子設備執行的電腦程式,當該程式在該電子設備上運行時,使得該電子設備執行時實現如下步驟:
接收第一標識資訊對應的原生可信應用的調用;該調用為該第一標識資訊對應的原生可信應用在接收到可信應用開發平臺發送的調用資訊,該第一標識資訊對應的原生可信應用根據調用資訊中攜帶的第二標識資訊,從安裝在該第一標識資訊對應的原生可信應用自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用時,該第一標識資訊對應的原生可信應用根據該調用資訊,對該第二標識資訊對應的位元組碼可信應用發起的;其中,該調用資訊為該可信應用開發平臺在接收到用戶端應用CA發起的對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,該可信應用開發平臺根據該調用資訊中攜帶的電子設備的第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用時發送的;
根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作。
在一種可能的實施方式中,該根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作包括:
若接收到該第一標識資訊對應的原生可信應用發送的打開會話的第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話;其中,該第一指令為該第一標識資訊對應的原生可信應用在識別到接收到的調用資訊為訪問請求,該第一標識資訊對應的原生可信應用創建原生可信應用實例,並基於該原生可信應用實例打開原生可信應用會話時發送的。
在一種可能的實施方式中,該打開位元組碼可信應用會話之後,接收該第一標識資訊對應的原生可信應用轉交的調用命令之前,該方法還包括:
識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用,使該第一標識資訊對應的原生可信應用接收該位置資訊時,並使該第一標識資訊對應的原生可信應用基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
在一種可能的實施方式中,該方法還包括:
將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用;使該第一標識資訊對應的原生可信應用將該執行結果發送給該CA。
在一種可能的實施方式中,該根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作包括:
若接收到該第一標識資訊對應的原生可信應用發送的關閉會話的第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;其中,該第二指令為該第一標識資訊對應的原生可信應用在接收到的調用資訊為關閉會話資訊時,該第一標識資訊對應的原生可信應用向該第二標識資訊對應的位元組碼可信應用發送的。
在一種可能的實施方式中,該接收第一標識資訊對應的原生可信應用的調用包括:
基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
上述電腦可讀存儲介質可以是電子設備中的處理器能夠存取的任何可用介質或資料存放裝置,包括但不限於磁性記憶體如軟碟、硬碟、磁帶、磁光碟(MO)等、光學記憶體如CD、DVD、BD、HVD等、以及半導體記憶體如ROM、EPROM、EEPROM、非易失性記憶體(NAND FLASH)、固態硬碟(SSD)等。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用存儲介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
S401~S402、S701~S702:步驟
11:用戶端應用(CA)
12:可信應用開發平臺
13:第一標識資訊對應的原生可信應用
14:第二標識資訊對應的位元組碼可信應用
51:第一接收模組
52:調用模組
61:處理器
62:通信介面
63:記憶體
64:通信匯流排
81:第二接收模組
82:執行模組
91:處理器
92:通信介面
93:記憶體
94:通信匯流排
為了更清楚地說明本發明實施例或相關技術中的實施方式,下面將對實施例或相關技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖:
圖1示出了一些實施例提供的第一種電子設備結構示意圖;
圖2示出了一些實施例提供的第二種電子設備結構示意圖;
圖3示出了一些實施例提供的第一種可信應用調用過程示意圖;
圖4示出了一些實施例提供的第二種可信應用調用過程示意圖;
圖5示出了一些實施例提供的第一種可信應用調用裝置示意圖;
圖6示出了一些實施例提供的第一種電子設備結構示意圖;
圖7示出了一些實施例提供的第三種可信應用調用過程示意圖;
圖8示出了一些實施例提供的第二種可信應用調用裝置示意圖;
圖9示出了一些實施例提供的第二種電子設備結構示意圖。
Claims (9)
- 一種電子設備,其特徵在於,該電子設備包括:用戶端應用CA和可信應用開發平臺;該CA,用於發起對該可信應用開發平臺聯結的與該CA對應的可信執行環境作業系統的原生可信應用的調用資訊,其中該調用資訊中攜帶該電子設備的第一標識資訊及任一應用的位元組碼可信應用的第二標識資訊;該可信應用開發平臺,用於接收該調用資訊,根據該第一標識資訊,從該可信應用開發平臺聯結的至少兩個可信執行環境作業系統分別對應的原生可信應用中,確定該第一標識資訊對應的原生可信應用,並將該調用資訊發送給該第一標識資訊對應的原生可信應用;該第一標識資訊對應的原生可信應用,用於接收該調用資訊,根據該第二標識資訊,從安裝在自身中的至少一個位元組碼可信應用中,確定該第二標識資訊對應的位元組碼可信應用,並根據該調用資訊,調用該第二標識資訊對應的位元組碼可信應用;該第二標識資訊對應的位元組碼可信應用,用於接收該第一標識資訊對應的原生可信應用的調用,並根據該第一標識資訊對應的原生可信應用的調用,執行對應的操作;該第一標識資訊對應的原生可信應用,還用於為每個位元組碼可信應用分別配置一個獨立的子目錄;針對每個位元組碼可信應用,基於該位元組碼可信應用對應的獨立的子目錄,為該位元組碼可信應用配置特定的訪問路徑,使該位元組碼可信應用訪問對應的獨立的子目錄中的檔資訊。
- 如請求項1所述的電子設備,其中,該電子設備還包括: 創建模組,用於基於支援跨平臺功能的位元組碼技術,創建該可信應用開發平臺,其中該可信應用開發平臺聯結至少兩個可信執行環境作業系統分別對應的原生可信應用。
- 如請求項1所述的電子設備,其中,該第一標識資訊對應的原生可信應用,具體用於若接收到的調用資訊為訪問請求,則創建原生可信應用實例,基於該原生可信應用實例打開原生可信應用會話;並向該第二標識資訊對應的位元組碼可信應用發送打開會話的第一指令;該第二標識資訊對應的位元組碼可信應用,具體用於若接收到該第一指令,創建位元組碼可信應用實例,並基於該位元組碼可信應用實例,打開位元組碼可信應用會話。
- 如請求項1所述的電子設備,其中,該第一標識資訊對應的原生可信應用,具體用於若接收到的調用資訊為調用命令,則將該調用命令轉交給該第二標識資訊對應的位元組碼可信應用。
- 如請求項4所述的電子設備,其中,該第二標識資訊對應的位元組碼可信應用,還用於識別自身資料存儲位置的位置資訊,並將該位置資訊返回給該第一標識資訊對應的原生可信應用;該第一標識資訊對應的原生可信應用,具體用於若接收到該位置資訊,基於該位置資訊,將該調用命令轉交給該位置資訊標識的該第二標識資訊對應的位元組碼可信應用。
- 如請求項4所述的電子設備,其中,該第二標識資訊對應的位元組碼可信應用,還用於將對該調用命令的執行結果返回給該第一標識資訊對應的原生可信應用; 該第一標識資訊對應的原生可信應用,還用於將該執行結果發送給該CA。
- 如請求項3所述的電子設備,其中,該第一標識資訊對應的原生可信應用,具體用於若接收到的調用資訊為關閉會話資訊,則向該第二標識資訊對應的位元組碼可信應用發送關閉會話的第二指令,並關閉原生可信應用會話;該第二標識資訊對應的位元組碼可信應用,具體用於若接收到該第二指令,關閉位元組碼可信應用會話,並銷毀位元組碼可信應用實例;該第一標識資訊對應的原生可信應用,具體用於銷毀原生可信應用實例。
- 如請求項1所述的電子設備,其中,該電子設備還包括:可信執行環境作業系統TEE OS;該TEE OS,用於接收該CA發起的該調用資訊,並將該調用資訊發送給該可信應用開發平臺;該可信應用開發平臺,具體用於基於TEE OS提供的第一全球平臺組織GP介面或自有介面,接收該TEE OS發送的該調用資訊。
- 如請求項1至8中任一項所述的電子設備,其中,該第一標識資訊對應的原生可信應用,具體用於基於預先配置的轉換介面,調用該第二標識資訊對應的位元組碼可信應用;該第二標識資訊對應的位元組碼可信應用,具體用於基於預先配置的第二GP介面,接收該第一標識資訊對應的原生可信應用的調用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275954.X | 2021-10-29 | ||
CN202111275954.XA CN114036524A (zh) | 2021-10-29 | 2021-10-29 | 一种电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202318236A TW202318236A (zh) | 2023-05-01 |
TWI828306B true TWI828306B (zh) | 2024-01-01 |
Family
ID=80136068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111133529A TWI828306B (zh) | 2021-10-29 | 2022-09-05 | 一種電子設備 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN114036524A (zh) |
TW (1) | TWI828306B (zh) |
WO (1) | WO2023071424A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036524A (zh) * | 2021-10-29 | 2022-02-11 | 中国银联股份有限公司 | 一种电子设备 |
CN116700629B (zh) * | 2023-08-01 | 2023-09-26 | 北京中电华大电子设计有限责任公司 | 数据处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160191246A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | System and method for providing global platform compliant trusted execution environment |
TW201729089A (zh) * | 2015-11-18 | 2017-08-16 | China Unionpay Co Ltd | 用於可信執行環境的可信應用產生及安裝方法 |
CN107689868A (zh) * | 2017-09-12 | 2018-02-13 | 北京握奇智能科技有限公司 | 客户端应用与可信应用的通信方法、装置以及终端 |
CN112926032A (zh) * | 2021-03-26 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 用于处理和运行字节码的方法、装置及字节码运行系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211627A1 (en) * | 2009-02-13 | 2010-08-19 | Mobitv, Inc. | Reprogrammable client using a uniform bytecode model |
US8935746B2 (en) * | 2013-04-22 | 2015-01-13 | Oracle International Corporation | System with a trusted execution environment component executed on a secure element |
US11943368B2 (en) * | 2017-11-03 | 2024-03-26 | Microsoft Technology Licensing, Llc | Provisioning trusted execution environment based on chain of trust including platform |
CN114036524A (zh) * | 2021-10-29 | 2022-02-11 | 中国银联股份有限公司 | 一种电子设备 |
CN114021141A (zh) * | 2021-10-29 | 2022-02-08 | 中国银联股份有限公司 | 一种电子设备、可信应用调用方法、装置、设备及介质 |
-
2021
- 2021-10-29 CN CN202111275954.XA patent/CN114036524A/zh active Pending
-
2022
- 2022-08-15 WO PCT/CN2022/112614 patent/WO2023071424A1/zh unknown
- 2022-09-05 TW TW111133529A patent/TWI828306B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160191246A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | System and method for providing global platform compliant trusted execution environment |
TW201729089A (zh) * | 2015-11-18 | 2017-08-16 | China Unionpay Co Ltd | 用於可信執行環境的可信應用產生及安裝方法 |
CN107689868A (zh) * | 2017-09-12 | 2018-02-13 | 北京握奇智能科技有限公司 | 客户端应用与可信应用的通信方法、装置以及终端 |
CN112926032A (zh) * | 2021-03-26 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 用于处理和运行字节码的方法、装置及字节码运行系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202318236A (zh) | 2023-05-01 |
WO2023071424A1 (zh) | 2023-05-04 |
CN114036524A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI828306B (zh) | 一種電子設備 | |
US8904518B2 (en) | Information processing device, information processing method, and program distribution system | |
TWI598814B (zh) | 用於管理及診斷配備有統一可延伸韌體介面(uefi)相容韌體的計算裝置之系統與方法 | |
US9191388B1 (en) | Trusted security zone communication addressing on an electronic device | |
TWI793053B (zh) | 一種電子設備、可信應用調用方法、裝置、設備及介質 | |
CN109614147B (zh) | 一种phy寄存器读写方法和装置 | |
CN103379481B (zh) | 一种实现安全防护的方法 | |
WO2018001091A1 (zh) | 虚拟网络功能vnf更新方法、装置和vnf包 | |
WO2009130391A1 (en) | Launching an midp-based target application from a launcher application | |
WO2020177430A1 (zh) | 应用加固的方法、装置、计算设备及计算机存储介质 | |
CN111831308A (zh) | 快充设备的固件更新方法、程序、快充设备及存储介质 | |
WO2020259163A1 (zh) | 设备部署方法及装置、设备运行方法及电子设备 | |
WO2023273994A1 (zh) | 智能合约执行的方法、系统、装置和存储介质 | |
WO2024011827A1 (zh) | 一种隐私计算系统、方法、装置、设备及介质 | |
CN104036194A (zh) | 一种应用程序中泄露隐私数据的漏洞检测方法及装置 | |
WO2023123850A1 (zh) | 一种固件可信根的实现方法、装置、设备和可读存储介质 | |
CN112000382A (zh) | 一种Linux系统启动方法、装置及可读存储介质 | |
US11900128B2 (en) | Modularized basic input output system (BIOS) firmware activation | |
WO2023168913A1 (zh) | Sdk与接入应用的兼容方法、装置、设备及介质 | |
WO2023016151A1 (zh) | Linux系统安全应用的软件框架及创建方法 | |
CN115688120A (zh) | 安全芯片固件导入方法、安全芯片及计算机可读存储介质 | |
US20220327044A1 (en) | Generating a software application | |
US20230359741A1 (en) | Trusted boot method and apparatus, electronic device, and readable storage medium | |
WO2021102849A1 (zh) | 资源获取方法、装置以及电子设备 | |
CN112612474A (zh) | 产品移植方法、装置、存储介质和电子设备 |