TW201901515A - 阻擋非授權應用程式方法以及使用該方法的裝置 - Google Patents

阻擋非授權應用程式方法以及使用該方法的裝置 Download PDF

Info

Publication number
TW201901515A
TW201901515A TW106118822A TW106118822A TW201901515A TW 201901515 A TW201901515 A TW 201901515A TW 106118822 A TW106118822 A TW 106118822A TW 106118822 A TW106118822 A TW 106118822A TW 201901515 A TW201901515 A TW 201901515A
Authority
TW
Taiwan
Prior art keywords
application
digital certificate
processing unit
session key
file
Prior art date
Application number
TW106118822A
Other languages
English (en)
Other versions
TWI627554B (zh
Inventor
吳光輝
劉靜林
Original Assignee
威盛電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 威盛電子股份有限公司 filed Critical 威盛電子股份有限公司
Application granted granted Critical
Publication of TWI627554B publication Critical patent/TWI627554B/zh
Publication of TW201901515A publication Critical patent/TW201901515A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本發明的實施例提出一種阻擋非授權應用程式方法,由處理單元載入並執行母板支援服務的程式碼時實施,包含以下步驟。從應用程式接收輸入參數,以及藉由檢查輸入參數的內容以判斷應用程式是否通過驗證。當應用程式通過驗證時,亂數產生會話秘鑰,儲存會話秘鑰至文件並且儲存此文件至儲存裝置中只能被母板支援服務及應用程式存取的路徑。回覆路徑及文件的檔名給應用程式。

Description

阻擋非授權應用程式方法以及使用該方法的裝置
本發明關連於一種電腦安全技術,特別是一種阻擋非授權應用程式方法以及使用該方法的裝置。
於電腦安全情境,駭客尋找並攻擊電腦系統中的弱點。企業通常會因為這些攻擊而遭受傷害,例如危害電腦服務、客戶私人資料遭竊、降低利潤或聲譽等。為防止電腦系統遭受攻擊,需要一種阻擋非授權應用程式方法以及使用該方法的裝置。
本發明的實施例提出一種阻擋非授權應用程式方法,由處理單元載入並執行母板支援服務的程式碼時實施,包含以下步驟。從應用程式接收輸入參數,以及藉由檢查輸入參數的內容以判斷應用程式是否通過驗證。當應用程式通過驗證時,亂數產生會話秘鑰,儲存會話秘鑰至文件並且儲存此文件至儲存裝置中只能被母板支援服務及應用程式存取的路徑。回覆路徑及文件的檔名給應用程式,使得應用程式可從文件取得會話秘鑰並使用會話秘鑰加密及解密於母板支援服務及應用程式間傳遞的資料。
本發明的實施例另提出一種阻擋非授權應用程式 方法,包含以下步驟。第一電腦裝置中的處理單元從第二電腦裝置接收請求,其中包含電子申請表,以及電子申請表包含版本編號以及客戶識別碼。處理單元使用一把私鑰加密電子申請表以產生數位憑證,其中,私鑰相應於一把公鑰,此公鑰儲存於母板中的非揮發性記憶體。此母板設置於第一電腦裝置及第二電腦裝置之外的電子設備。處理單元回覆數位憑證給上述電腦裝置。
本發明的實施例提出一種阻擋非授權應用程式裝置,包含處理單元。處理單元傳送請求給服務器,包含應用程式的數位憑證。當從服務器接收到請求允許時,於指定目錄下讀取文件中的會話秘鑰,使用會話秘鑰加密通訊資料,傳送加密後的通訊資料給服務器。
本發明的實施例另提出一種阻擋非授權應用程式裝置,包含處理單元。處理單元從客戶端接收請求,包含應用程式的數位憑證,以及透過檢查數位憑證判斷請求是否合法。當請求合法時,處理單元產生會話秘鑰,於指定目錄下建立文件,從數位憑證中取得使用者識別碼,設定文件的存取權限為只能被指定使用者識別碼的處理讀取,將會話秘鑰儲存至文件,以及回覆請求允許給客戶端。
100‧‧‧區域網路/網際網路
110‧‧‧母板生產者的電腦
130‧‧‧設備製造者的電腦
150_1、...、150_n‧‧‧母板
210‧‧‧處理單元
220‧‧‧非揮發性記憶體
230‧‧‧輸出/入介面
240_1、...、240_m‧‧‧硬體裝置
250‧‧‧揮發性記憶體
260‧‧‧通訊介面
270‧‧‧儲存裝置
310‧‧‧處理單元
320‧‧‧顯示單元
330‧‧‧輸入裝置
340‧‧‧儲存單元
350‧‧‧記憶體
360‧‧‧通訊介面
S411~S437‧‧‧方法步驟
S511~S591‧‧‧方法步驟
610‧‧‧母板支援服務
630‧‧‧應用程式
650_1、...、650_3‧‧‧狀態資料庫
670_1、...、670_5‧‧‧數位憑證
710‧‧‧服務器
711‧‧‧公鑰
713‧‧‧會話秘鑰
715‧‧‧文件
730‧‧‧客戶端
731‧‧‧應用程式
733‧‧‧數位憑證
733a‧‧‧私鑰
733b‧‧‧電子申請表
735‧‧‧通訊資料
第1圖係依據本發明實施例的網路架構示意圖。
第2圖係依據本發明實施例的電子設備的系統架構圖。
第3圖係依據本發明實施例的電腦裝置的系統架構圖。
第4圖係依據本發明實施例的數位憑證產生方法。
第5A至5B圖係依據本發明實施例的阻擋非授權應用程式方法,於處理單元載入並執行相應於母板支援服務的初始化事件的程式碼時實施。
第6A至6F圖係依據本發明實施例之應用程式驗證示意圖。
第7圖係依據本發明實施例之阻擋非授權應用程式裝置的方塊圖。
第8圖係依據本發明實施例之阻擋非授權應用程式裝置的方法流程圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
本發明實施例提出一種網路架構,用以實施電子 設備(electronic equipment)的製造。第1圖係依據本發明實施例的網路架構示意圖。母板生產者可寫入母板支援服務(board support service)及公鑰(public key)至母板(mother board)150_1至150_n中的非揮發性記憶體,例如,唯讀記憶體(ROM,Read-only Memory)、可抹除可程式唯讀記憶體(Erasable Programmable Read Only Memory)、快閃記憶體(flash memory)等。母板支援服務為底層的驅動程式庫(driver library),當母板上的處理單元執行母板支援服務時,控制連接於母板的硬體裝置。母板150_1至150_n可被設備製造者組裝至不同的電子設備中,例如,工業用個人電腦(industrial PC)、數位看板(digital billboard)、銷售時點情報系統(point-of-sale system)、監控系統(surveillance systems)、物聯網(IoT,Internet of Things)設備等。工業用個人電腦可用來進行製程控制以及/或取得量測資料。數位看板可設計來於一天的多個時段顯示跑馬文字或不同畫面。銷售時點情報系統可包含結帳機台,包括電子收銀抽屜、條碼掃描器、信用卡讀取設備、收據或發票列印設備或以上的任意組合。銷售時點情報系統用以記錄每一筆剛發生的銷售,使得可即時反應在庫存紀錄上。監控系統可包含監控主機及監控攝相頭。監控攝相頭可為視訊攝像頭,用以監視特定區域,而監控主機可包含紀錄裝置,用以紀錄及壓縮從監控攝相頭取得的影像,以及儲存壓縮視訊至可供搜尋的資料庫。物聯網設備可為實體裝置,嵌入電子電路、軟體、感測器及連接器,使得此裝置可與其他連接裝置交換資料。物聯網設備允許裝置進行感測,以及跨網路基礎建設進行控制。物聯網設備包括如 照明控制系統、智慧電視、門禁控制系統等。設備製造者的電腦130可藉由區域網路(LAN,Local Area Network)或網際網路(Internet)100連接上母板生產者的電腦110。電腦130可傳送請求至電腦110,請求中包含申請表。接著,電腦130從電腦110取得數位憑證(digital certificate),並將數位憑證整合入設備製造者開發的應用程式,用以操作母板支援服務。應用程式可為安卓應用程式(Android App)。安桌作業系統的文件系統權限管理沿用於Linux作業系統。於安卓作業系統中,為保證安全性,每個應用程式都有唯一的軟體包名稱(package name)。執行時,應用程式的處理(process)都有唯一的使用者識別碼(UID,User Identifier)。特定處理建立的文件只有相應軟體包名稱的應用程式可被允許存取。電腦130將包含數位憑證的應用程式寫入母板150_1至150_n中的非揮發性記憶體。於另一些實施例中,電腦130可不從電腦110取得數位憑證,而只寫入應用程式至母板150_1至150_n中的非揮發性記憶體。
第2圖係依據本發明實施例的電子設備的系統架構圖。此系統架構可實施於工業用個人電腦、數位看板、銷售時點情報系統、監控系統、物聯網設備中之任一者。系統架構可包含一個母板,母板上至少設置非揮發性記憶體220及處理單元210。母板生產者於出廠前寫入公鑰及母板支援服務的程式碼至非揮發性記憶體220。非揮發性記憶體220可為唯讀記憶體、可抹除可程式唯讀記憶體、快閃記憶體等。處理單元210可使用多種方式實施,例如以專用硬體電路或通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或 其他具運算能力的處理器),並且在執行程式碼或軟體時,提供之後所描述的功能。系統架構另包含儲存裝置270,用以讓母板生產者於出廠前儲存狀態資料庫,狀態資料庫於初始時儲存客戶識別碼為0及版本編號為0的紀錄。於另一些實施例中,客戶識別碼及版本編號亦可初始為NULL或其他可代表初始狀態的數值。於此須注意的是,狀態資料庫儲存於只能被母板支援服務存取的目錄下。儲存裝置270可為硬碟、光碟、固態硬碟等。儲存裝置270更可讓設備製造者儲存應用程式的程式碼,以及由母板生產者提供的及數位憑證。系統架構另包含揮發性記憶體250用以儲存執行過程中需要的資料,例如,變數、資料表(data tables)、資料結構等。處理單元210於載入並執行母板支援服務時,可透過輸出/入介面230控制硬體裝置240_1至240_m中之一者,或者是從硬體裝置240_1至240_m中之一者讀取資料。輸出/入介面230可為一般性輸出入介面(GPIO,General-purpose input/output interface)。硬體裝置240_1至240_m中之任一者可為顯示控制器(display controller)、列印控制器(print controller)、實時時鐘(real-time clock)、重新啟動看門狗計數器(reboot watchdog timer)等。系統架構另包含通訊介面260,讓處理單元210可藉以跟其他電子裝置進行溝通。通訊介面260可以是區域網路(local area network,LAN)通訊模組、無線區域網路通訊模組(Wireless LAN)、通用序列匯流排(USB,Universal Serial Bus)通訊模組或其他通訊模組。
第3圖係依據本發明實施例的電腦裝置的系統架構圖。此系統架構可實施於如電腦110及130中之任一者,或其 他具運算能力的裝置,至少包含處理單元310。處理單元310可使用多種方式實施,例如以專用硬體電路或通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行程式碼或軟體時,提供之後所描述的功能。系統架構另包含記憶體350用以儲存執行過程中需要的資料,例如,變數、資料表、資料結構等,以及儲存單元340,用以儲存各式各樣的電子檔案。系統架構另包含通訊介面360,讓處理單元310可藉以跟其他電子裝置進行溝通。通訊介面360可以是區域網路通訊模組、無線區域網路通訊模組或其他通訊模組。輸入裝置330可包含鍵盤、滑鼠、觸控面板等。使用者可按壓鍵盤上的硬鍵來輸入字元,藉由操作滑鼠來控制鼠標,或者是在觸控面板製造手勢來控制執行中的應用程式。手勢可包含單擊、雙擊、單指拖曳、多指拖曳等,但不限定於此。顯示單元320可包含顯示面板(例如,薄膜液晶顯示面板、有機發光二極體面板或其他具顯示能力的面板),用以顯示輸入的字元、數字、符號、拖曳鼠標的移動軌跡、繪製的圖案或應用程式所提供的畫面,提供給使用者觀看。
為阻擋非授權應用程式使用母板支援服務,母板生產者可提供數位憑證給合法的設備製造者,用以整合到設備製造者開發的應用程式。第4圖係依據本發明實施例的數位憑證產生方法。此方法由母板生產者的電腦110及設備製造者的電腦330協同執行,虛線的左邊描述電腦110的處理單元310於載入並執行相關程式碼時實施的步驟,而虛線的右邊描述電腦130的處理單元310於載入並執行相關程式碼時實施的步驟。此 方法開始於由電腦130的處理單元310透過其通訊介面360發出請求給電腦110(步驟S431)。請求中包含電子申請表(electronic application),使用可被電腦110解析的結構化格式儲存,包含版本編號(version number)、軟體包名稱、客戶識別碼(customer ID)、有效日期(expiration date)等資訊。結構化格式可為固定或可變儲存格長度的一維陣列(one-dimensional array)。軟體包名稱可符合安卓應用程式的命名規則。範例電子申請表如下所示: 電腦110的處理單元310透過其通訊介面360接收到請求後(步驟S411),使用私鑰加密請求中的申請表以產生數位憑證,此私鑰相應於母板的非揮發性記憶體220中儲存的公鑰(步驟S413),以及透過其通訊介面360傳送數位憑證給個人電腦130(步驟S415)。於此須注意的是,在正常情況下,以私鑰加密的內容可以被公鑰解密。然而,當公鑰與私鑰不相配時,解密後的內容只是亂碼而無法辨認。於步驟S413,電腦110的處理單元310可使用習知的演算法搭配私鑰產生數位憑證。電腦130的處理單元310透過其通訊介面360接收到數位憑證後(步驟S433),寫入應用程式的程式碼及數位憑證至母板的儲存裝置270(步驟S435),以及將數位憑證綁定至應用程式,作為應 用程式的資源(步驟S437)。於步驟S437,處理單元310可使用安卓作業系統開發平台提供的應用程式介面來綁定數位憑證至應用程式。
當應用程式欲使用母板支援服務提供的方法前,需要先實例化(instantiate)母板支援服務,並選擇性地提供數位憑證。當實例化母板支援服務時,會觸發初始化事件(initialization event)。於初始化事件中,母板支援服務可執行一連串的判斷,用以阻擋非授權應用程式。第5A至5B圖係依據本發明實施例的阻擋非授權應用程式方法,於處理單元210載入並執行相應於母板支援服務的初始化事件的程式碼時實施。此方法開始於從應用程式取得輸入參數(步驟S511),並判斷輸入參數中是否包含數位憑證(步驟S513)。當輸入參數中不包含數位憑證時(步驟S513中”否”的路徑),接著判斷狀態資料庫是否處於初始狀態(步驟S571)。於步驟S571,若狀態資料庫中的版本編號為初始狀態時,則判斷狀態資料庫為初始狀態。當狀態資料庫是否處於初始狀態時(步驟S571中”是”的路徑),亂數產生預定長度的會話秘鑰(session key),儲存會話秘鑰至一個文件,並且儲存文件至儲存裝置270中只能被母板支援服務及應用程式存取的路徑(步驟S573),接著,回覆文件的路徑及檔名給應用程式(步驟S575)。於步驟S273,母板支援服務可於目錄”/data”下相應於此軟體包名稱的私有檔案夾下建立一份新的文件,並且設定此文件的權限為只能被相應於軟體包名稱的指定UID的處理讀取,其中UID用來唯一識別此應用程式於執行時的處理,並且將會話秘鑰儲存至此文件。須了解的 是,在檔案系統的權限控制下,只有具有此軟體包名稱的應用程式才能存取目錄”/data”下相應於此軟體包名稱的私有檔案夾中的任何文件。此外,在檔案系統的權限控制下,只有具有相應於軟體包名稱的指定UID的處理才能存取此文件。因此,只有通過檔案系統的權限檢查的應用程式才可讀取文件中的會話秘鑰並使用會話秘鑰加密傳送給母板支援服務的資料,以及解密從母板支援服務接收的資料。當狀態資料庫不處於初始狀態時(步驟S571中”否”的路徑),終止母板支援服務的實例化,用以讓母板支援服務的實例化失敗,並且回覆錯誤訊息給應用程式(步驟S591)。
當輸入參數中包含數位憑證時(步驟S513中”是”的路徑),使用非揮發性記憶體220中儲存的公鑰解密數位憑證(步驟S531),接著,判斷是否解密成功(步驟S533)。於步驟S533,當解密後的內容可解析出電子申請表,範例參考表1所示,則代表解密成功;反之,解密失敗。當解密失敗時(步驟S533中”否”的路徑),執行之前所述的步驟S591。當解密成功時(步驟S533中”是”的路徑),更判斷狀態資料庫是否處於初始狀態(步驟S551)。當狀態資料庫處於初始狀態時(步驟S551中”是”的路徑),將狀態資料庫中的客戶識別碼及版本編號更新為數位憑證中的客戶識別碼及版本編號(步驟S559),接著執行之前所述的步驟S573及S575。當狀態資料庫不處於初始狀態時(步驟S551中”否”的路徑),執行後續三個判斷:解密資料中的客戶識別碼是否相符於狀態資料庫中儲存的客戶識別碼(步驟S553);解密資料中的版本編號是否較新於狀態資料庫中的版 本編號(步驟S555);以及解密資料中的版本編號是否較舊於狀態資料庫中的版本編號(步驟S557)。當解密資料中的客戶識別碼不相符於狀態資料庫中儲存的客戶識別碼時(步驟S553中”否”的路徑),代表此應用程式可能為駭客植入的非授權應用程式,接著執行之前所述的步驟S591。當解密資料中的客戶識別碼相符於狀態資料庫中儲存的客戶識別碼但解密資料中的版本編號較舊於狀態資料庫中的版本編號時(步驟S553中”是”的路徑接著步驟S555中”否”的路徑並接著步驟S557中”是”的路徑),代表此應用程式可能為駭客竊取舊的授權應用程式試圖進行攻擊,接著執行之前所述的步驟S591。當解密資料中的客戶識別碼相符於狀態資料庫中儲存的客戶識別碼及解密資料中的版本編號相同於狀態資料庫中的版本編號時(步驟S553中”是”的路徑接著步驟S555中”否”的路徑並接著步驟S557中”否”的路徑),代表此為授權應用程式,接著執行之前所述的步驟S573及步驟S575。當解密資料中的客戶識別碼相符於狀態資料庫中儲存的客戶識別碼及解密資料中的版本編號較新於狀態資料庫中的版本編號時(步驟S553中”是”的路徑接著步驟S555中”是”的路徑),代表此為新版本的授權應用程式,接著執行之前所述的步驟S559、步驟S573及步驟S575。
以下舉出數個情境來說明第5圖所述的方法:第6A至6F圖係依據本發明實施例之應用程式驗證示意圖。應用程式驗證於處理單元210載入及執行母板支援服務610及應用程式630的程式碼時實施。第6A至6F圖中所示的資料傳遞又可稱為處理程序間通訊(IPC,Inter-Process Communication)。
參考第6A圖,假設應用程式開發者尚未申請數位憑證,此時,狀態資料庫650_1處於初始狀態,舉例來說,版本編號v=0及客戶編號為cid=0:母板支援服務610接收到應用程式630發送的不包含數位憑證的實例化請求”New BSService(C_KEY=NULL)”及發現狀態資料庫650_1處於初始狀態(沿著步驟S513中”否”及步驟S571中”是”的路徑)。接著,母板支援服務610回覆儲存裝置270中儲存會話秘鑰的路徑及檔名”Path/File_Name(SessionKey)”給應用程式630(步驟S575)。於是,應用程式630可讀取文件中的會話秘鑰並使用會話秘鑰加密傳送給母板支援服務610的資料,以及解密從母板支援服務610接收的資料。
參考第6B圖,假設應用程式開發者已申請數位憑證且第一次使用母板支援服務610,此時,狀態資料庫650_1處於初始狀態,舉例來說,版本編號為v=0及客戶編號為cid=0:母板支援服務610接收到應用程式630發送的包含數位憑證的實例化請求”New BSService(C_KEY)”後,成功解密數位憑證670_1及發現狀態資料庫650_1處於初始狀態(沿著步驟S513中”是”、步驟S533中”是”及步驟S551中”是”的路徑)。接著,母板支援服務610更新狀態資料庫650_1成為版本編號為v=1及客戶編號為cid=A(如狀態資料庫650_2所示)(步驟S559),以及,回覆儲存裝置270中儲存會話秘鑰的路徑及檔名”Path/File_Name(SessionKey)”給應用程式630(步驟S575)。於是,應用程式630可讀取文件中的會話秘鑰並使用會話秘鑰加密傳送給母板支援服務610的資料,以及解密從母板支援服 務610接收的資料。
參考第6C圖,假設駭客想冒用應用程式開發者而試圖透過母板支援服務610危害電子裝置,此時的狀態資料庫650_2中的版本編號為v=1及客戶編號為cid=A:母板支援服務610接收到應用程式630發送的包含數位憑證的實例化請求”New BSService(C_KEY)”,成功解密數位憑證670_2,發現狀態資料庫650_2不處於初始狀態及解密資料中的客戶識別碼cid=B不相符於狀態資料庫650_2中儲存的客戶識別碼cid=A(沿著步驟S513中”是”、步驟S533中”是”、步驟S551中”否”及步驟S553中”否”的路徑)。接著,母板支援服務610終止母板支援服務610的實例化,並且回覆錯誤訊息ERR給應用程式(步驟S591)。
參考第6D圖,假設應用程式開發者更新數位憑證為新版本,此時,狀態資料庫650_2中的版本編號為v=1及客戶編號為cid=A:母板支援服務610接收到應用程式630發送的包含數位憑證的實例化請求”New BSService(C_KEY)”,成功解密數位憑證670_3,發現狀態資料庫650_2不處於初始狀態,解密資料中的客戶識別碼cid=A相符於狀態資料庫650_2中儲存的客戶識別碼cid=A且解密資料中的版本編號v=2較新於狀態資料庫650_2中儲存的版本編號v=1(沿著步驟S513中”是”、步驟S533中”是”、步驟S551中”否”、步驟S553中”是”及步驟S555中”是”的路徑)。接著,母板支援服務610更新狀態資料庫650_2成為版本編號為v=2(如狀態資料庫650_2所示)(步驟S559),以及,回覆儲存裝置270中儲存會話秘鑰的路徑及檔 名”Path/File_Name(SessionKey)”給應用程式630(步驟S575)。於是,應用程式630可讀取文件中的會話秘鑰並使用會話秘鑰加密傳送給母板支援服務610的資料,以及解密從母板支援服務610接收的資料。
參考第6E圖,假設駭客竊取應用程式開發者申請過的舊版本數位憑證並試圖透過母板支援服務610危害電子裝置,此時,狀態資料庫650_3中的版本編號為v=2及客戶編號為cid=A:母板支援服務610接收到應用程式630發送的包含數位憑證的實例化請求”New BSService(C_KEY)”,成功解密數位憑證670_4,發現狀態資料庫650_3不處於初始狀態,解密資料中的客戶識別碼cid=A相符於狀態資料庫650_2中儲存的客戶識別碼cid=A但解密資料中的版本編號v=1較舊於狀態資料庫650_3中儲存的版本編號v=2(沿著步驟S513中”是”、步驟S533中”是”、步驟S551中”否”、步驟S553中”是”、步驟S555中”否”及步驟S557中”否”的路徑)。接著,母板支援服務610終止母板支援服務610的實例化,並且回覆錯誤訊息ERR給應用程式(步驟S591)。
參考第6F圖,假設駭客假造數位憑證並試圖透過母板支援服務610危害電子裝置:母板支援服務610於接收到應用程式630發送的包含數位憑證的實例化請求”New BSService(C_KEY)”,且解密數位憑證670_5時發現為亂碼(沿著步驟S513中”是”及步驟S533中”否”的路徑)。母板支援服務610終止母板支援服務610的實例化,並且回覆錯誤訊息ERR給應用程式(步驟S591)。
第7圖係依據本發明實施例之阻擋非授權應用程式裝置的方塊圖。第8圖係依據本發明實施例之阻擋非授權應用程式裝置的方法流程圖。於一些實施例中,阻擋非授權應用程式裝置可包含服務器(server)710。於另一些實施例中,阻擋非授權應用程式裝置可包含客戶端(client)730。於更另一些實施例中,阻擋非授權應用程式裝置可包含服務器710及客戶端730。服務器710及客戶端730中之任一者包含一或多個處理單元,當載入並執行相關軟體或韌體時實施以下所述功能。服務器710儲存公鑰711,而客戶端730儲存應用程式731,應用程式731包含數位憑證733。服務器710從客戶端730接收到包含數位憑證733的請求,數位憑證733包含私鑰733a及電子申請表733b(步驟S810)。接著,服務器710使用公鑰711解密數位憑證以得到第一計算結果(步驟S820),使用安全散列演算法(Secure hash algorithm),例如SHA-256演算法,對數位憑證733中的電子申請表733b進行計算以得到第二計算結果(步驟S830),並且比較第一及第二計算結果以產生驗證結果(步驟S840)。如果第一及第二計算結果不相符,則代表此請求非法,服務器710回覆請求拒絕給客戶端730,使得客戶端730結束應用程式731的執行(步驟S850)。如果第一及第二計算結果相符,則代表此請求合法,產生會話秘鑰713(步驟S860),於指定目錄下建立一份文件715(步驟S870),從數位憑證733中的申請表733b取得UID,設定文件715的存取權限為只能被此UID的處理讀取(步驟S880),將會話秘鑰713儲存至文件715(步驟S890),以及回覆請求允許給客戶端730(步驟S850’)。客戶端730於指定目錄下讀 取文件715中的會話秘鑰713(步驟S8100),以及使用會話秘鑰713加密通訊資料735(步驟S8110)。客戶端730及服務器710間傳送及接收加密後的通訊資料735(步驟S8120)。
本發明實施例提出的阻擋非授權應用程式方法以及使用該方法的裝置,將數位憑證整合入設備製造者開發的應用程式。每次應用程式請求操作母板支援服務時,操作母板支援服務檢查數位憑證是否合法,並且在偵測到請求為非法時,阻擋應用程式操作母板支援服務,用以避免硬體遭受惡意攻擊。
雖然第2及3圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第4及5圖的方法流程圖採用特定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。

Claims (21)

  1. 一種阻擋非授權應用程式方法,由一處理單元載入並執行一母板支援服務的程式碼時實施,包含:從一應用程式接收一輸入參數;藉由檢查上述輸入參數的內容以判斷上述應用程式是否通過驗證;當上述應用程式通過驗證時,亂數產生一會話秘鑰,儲存上述會話秘鑰至一文件並且儲存上述文件至一儲存裝置中只能被上述母板支援服務及上述應用程式存取的一路徑;以及回覆上述路徑及上述文件的一檔名給上述應用程式,使得上述應用程式從上述文件取得上述會話秘鑰並使用上述會話秘鑰加密及解密於上述母板支援服務及上述應用程式間傳遞的資料。
  2. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,其中,上述母板支援服務及上述應用程式間的資料傳遞為處理程序間通訊。
  3. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,於儲存上述會話秘鑰至一文件並且儲存上述文件至一儲存裝置中只能被上述母板支援服務及上述應用程式存取的一路徑的步驟中更包含:於相應於上述應用程式的一軟體包名稱的一私有檔案夾下建立上述文件; 設定上述文件的一權限為只能被相應於上述軟體包名稱的一指定UID的一處理讀取;以及將上述會話秘鑰儲存至上述文件。
  4. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,其中,當一儲存裝置儲存的一狀態資料庫處於一初始狀態時,判斷上述應用程式通過驗證。
  5. 如申請專利範圍第4項所述的阻擋非授權應用程式方法,更包含:使用一非揮發性記憶體儲存的一公鑰解密上述數位憑證以取得一第一客戶識別碼及一第一版本編號;以及更新上述狀態資料庫中的一第二客戶識別碼及一第二版本編號成為上述第一客戶識別碼及上述第一版本編號。
  6. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,其中,上述輸入參數包含一數位憑證,以及,當一儲存裝置儲存的一狀態資料庫中的一客戶識別碼與上述數位憑證中的一客戶識別碼不相符時,判斷上述應用程式不通過驗證。
  7. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,其中,上述輸入參數包含一數位憑證,以及,當上述數位憑證中的一第一客戶識別碼與一儲存裝置儲存的一狀態資料庫中的一第二客戶識別碼相符,但上述數位憑證中的一第一版本編號較新於上述狀態資料庫中的一第二版本編號時,判斷上述應用程式通過驗證。
  8. 如申請專利範圍第7項所述的阻擋非授權應用程式方法,更包含: 使用一非揮發性記憶體儲存的一公鑰解密上述數位憑證以取得上述第一客戶識別碼及上述第一版本編號;以及更新上述狀態資料庫中的上述第二版本編號成為上述第一版本編號。
  9. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,其中,上述輸入參數包含一數位憑證,以及,當上述數位憑證中的一客戶識別碼與一儲存裝置儲存的一狀態資料庫中的一客戶識別碼相符,但上述數位憑證中的一版本編號較舊於上述狀態資料庫中的一版本編號時,判斷上述應用程式不通過驗證。
  10. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,其中,上述輸入參數包含一數位憑證,以及,當解密上述數位憑證失敗時,判斷上述應用程式不通過驗證。
  11. 如申請專利範圍第1項所述的阻擋非授權應用程式方法,其中,上述母板支援服務及上述應用程式執行於Linux或安卓作業系統。
  12. 一種阻擋非授權應用程式方法,包含:一第一電腦裝置中的一第一處理單元從一第二電腦裝置接收一請求,其中,上述請求包含一電子申請表,以及上述電子申請表包含一版本編號以及一客戶識別碼;上述第一處理單元使用一私鑰加密上述電子申請表以產生一數位憑證,其中,上述私鑰相應於一公鑰,上述公鑰儲存於一母板中的一非揮發性記憶體,上述母板設置於上述 第一電腦裝置及上述第二電腦裝置之外的一電子設備;以及上述第一處理單元回覆上述數位憑證給上述第二電腦裝置。
  13. 如申請專利範圍第12項所述的阻擋非授權應用程式方法,更包含:一第二電腦裝置中的一第二處理單元從上述第一電腦裝置接收上述數位憑證;上述第二處理單元寫入一應用程式的程式碼及上述數位憑證至上述母板的一儲存裝置;以及上述第二處理單元將上述數位憑證綁定至上述應用程式,作為上述應用程式的一資源。
  14. 如申請專利範圍第13項所述的阻擋非授權應用程式方法,更包含:上述母板中的一第三處理單元於執行一母板支援服務的程式碼時,從上述應用程式接收一輸入參數;上述第三處理單元藉由檢查上述輸入參數的內容以判斷上述應用程式是否通過驗證;當上述應用程式通過驗證時,上述第三處理單元亂數產生一會話秘鑰,儲存上述會話秘鑰至一文件並且儲存上述文件至上述儲存裝置中只能被上述母板支援服務及上述應用程式存取的一路徑;以及回覆上述路徑及上述文件的一檔名給上述應用程式,使得上述應用程式從上述文件取得上述會話秘鑰並使用上述會 話秘鑰加密及解密於上述母板支援服務及上述應用程式間傳遞的資料。
  15. 如申請專利範圍第14項所述的阻擋非授權應用程式方法,於儲存上述會話秘鑰至一文件並且儲存上述文件至一儲存裝置中只能被上述母板支援服務及上述應用程式存取的一路徑的步驟中更包含:於相應於上述應用程式的一軟體包名稱的一私有檔案夾下建立上述文件;設定上述文件的一權限為只能被相應於上述軟體包名稱的一指定UID的一處理讀取;以及將上述會話秘鑰儲存至上述文件。
  16. 如申請專利範圍第12項所述的阻擋非授權應用程式方法,其中,上述第一電腦裝置透過一區域網路或一網際網路連接至上述第二電腦裝置。
  17. 一種阻擋非授權應用程式裝置,包含:一處理單元,傳送一請求給一服務器,其中,上述請求包含一應用程式的一數位憑證;以及當從上述服務器接收到一請求允許時,於一目錄下讀取一文件中的一會話秘鑰,使用上述會話秘鑰加密一通訊資料,傳送上述加密後的通訊資料給上述服務器。
  18. 如申請專利範圍第17項所述的阻擋非授權應用程式裝置,其中,當上述處理單元接收到一請求拒絕時,結束上述應用程式的執行。
  19. 一種阻擋非授權應用程式裝置,包含: 一處理單元,從一客戶端接收一請求,其中,上述請求包含一應用程式的一數位憑證;透過檢查上述數位憑證判斷上述請求是否合法;以及,當上述請求合法時,產生一會話秘鑰,於一目錄下建立一文件,從上述數位憑證中取得一使用者識別碼,設定上述文件的一存取權限為只能被上述使用者識別碼的一處理讀取,將上述會話秘鑰儲存至上述文件,以及回覆一請求允許給上述客戶端。
  20. 如申請專利範圍第19項所述的阻擋非授權應用程式裝置,其中,當上述請求非法時,上述處理單元回覆一請求拒絕給上述客戶端,使得上述客戶端結束上述應用程式的執行。
  21. 如申請專利範圍第19項所述的阻擋非授權應用程式裝置,其中,上述處理單元使用一公鑰解密上述數位憑證以得到一第一計算結果;使用一安全散列演算法對上述數位憑證中的一電子申請表進行計算以得到一第二計算結果;當上述第一計算結果與上述第二計算結果相符時,代表上述請求合法。
TW106118822A 2017-05-10 2017-06-07 阻擋非授權應用程式方法以及使用該方法的裝置 TWI627554B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710323921.5A CN107169344B (zh) 2017-05-10 2017-05-10 阻挡非授权应用程序的方法以及使用该方法的装置
??201710323921.5 2017-05-10

Publications (2)

Publication Number Publication Date
TWI627554B TWI627554B (zh) 2018-06-21
TW201901515A true TW201901515A (zh) 2019-01-01

Family

ID=59813815

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106118822A TWI627554B (zh) 2017-05-10 2017-06-07 阻擋非授權應用程式方法以及使用該方法的裝置

Country Status (3)

Country Link
US (1) US10701061B2 (zh)
CN (1) CN107169344B (zh)
TW (1) TWI627554B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756867B (zh) * 2020-10-16 2022-03-01 財團法人工業技術研究院 在作業系統標記物件標籤及產生安全政策的方法及系統

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552827B2 (en) * 2014-09-02 2020-02-04 Google Llc Dynamic digital certificate updating
TWI675340B (zh) * 2018-02-14 2019-10-21 神雲科技股份有限公司 程式驗證方法
CN109474418B (zh) * 2019-01-22 2023-04-07 杭州网易智企科技有限公司 文档加密方法、文档解密方法、装置、介质和计算设备
US10601806B1 (en) * 2019-02-22 2020-03-24 Capital One Services, Llc Runtime identity confirmation for restricted server communication control
US11157624B2 (en) * 2019-08-14 2021-10-26 Silicon Motion, Inc. Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory
TWI705687B (zh) * 2019-09-09 2020-09-21 新唐科技股份有限公司 用於資料加解密的金鑰管理裝置及處理器晶片
US20230126605A1 (en) * 2021-10-22 2023-04-27 Micron Technology, Inc. Authenticated reading of memory system data

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
US7515718B2 (en) * 2000-12-07 2009-04-07 Igt Secured virtual network in a gaming environment
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
TW200805081A (en) * 2006-07-07 2008-01-16 Systex Corp Non-centralized software updating system and method thereof
US8332631B2 (en) * 2010-11-22 2012-12-11 Intel Corporation Secure software licensing and provisioning using hardware based security engine
US9325683B2 (en) * 2012-06-18 2016-04-26 Infosys Limited Mobile application management framework
CN103634265B (zh) * 2012-08-20 2019-01-11 腾讯科技(深圳)有限公司 安全认证的方法、设备及系统
ITMI20121639A1 (it) * 2012-10-02 2014-04-03 Bit4Id S R L Metodo per effettuare una firma digitale
US8646060B1 (en) * 2013-07-30 2014-02-04 Mourad Ben Ayed Method for adaptive authentication using a mobile device
CN103517273B (zh) * 2013-10-09 2017-04-12 中国联合网络通信集团有限公司 认证方法、管理平台和物联网设备
CN103685323B (zh) * 2014-01-02 2016-08-17 中国科学院信息工程研究所 一种基于智能云电视网关的智能家居安全组网实现方法
CN104219055A (zh) * 2014-09-10 2014-12-17 天津大学 一种基于nfc的点对点可信认证方法
WO2016081837A1 (en) * 2014-11-21 2016-05-26 Interdigital Patent Holdings, Inc. Using security posture information to determine access to services
US9965270B2 (en) * 2015-07-01 2018-05-08 Quanta Computer Inc. Updating computer firmware
CN105451231B (zh) * 2015-12-29 2019-04-02 乐鑫信息科技(上海)股份有限公司 一种安全低功耗代理设备的物联网配置方法及系统
CN105577370A (zh) * 2016-02-29 2016-05-11 赵运磊 一种应用于客户-服务器环境的认证密钥协商方法
CN106101097A (zh) * 2016-06-08 2016-11-09 美的集团股份有限公司 家电设备及其与云服务器的通讯系统及方法、云服务器
CN106059869B (zh) * 2016-07-26 2019-06-18 北京握奇智能科技有限公司 一种物联网智能家居设备安全控制方法及系统
CN106385679A (zh) * 2016-08-30 2017-02-08 乐视控股(北京)有限公司 一种共享wifi密码的方法和装置
CN106656502B (zh) * 2016-09-26 2020-09-01 上海兆芯集成电路有限公司 计算机系统及安全执行的方法
CN106357493B (zh) * 2016-10-08 2021-08-06 Tcl科技集团股份有限公司 家电设备与智能终端的绑定方法和装置
US10719616B2 (en) * 2016-10-25 2020-07-21 Beatport, LLC Secure content access system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756867B (zh) * 2020-10-16 2022-03-01 財團法人工業技術研究院 在作業系統標記物件標籤及產生安全政策的方法及系統
US11775643B2 (en) 2020-10-16 2023-10-03 Industrial Technology Research Institute Method and system for labeling object and generating security policy of operating system

Also Published As

Publication number Publication date
CN107169344B (zh) 2020-04-21
US10701061B2 (en) 2020-06-30
TWI627554B (zh) 2018-06-21
CN107169344A (zh) 2017-09-15
US20180332030A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
TWI627554B (zh) 阻擋非授權應用程式方法以及使用該方法的裝置
CN108900464B (zh) 电子装置、基于区块链的数据处理方法和计算机存储介质
JP7402183B2 (ja) 小さいフットプリントのエンドポイント・データ損失防止(dlp)
CN108369622B (zh) 软件容器注册表服务
US7930563B2 (en) Reliability platform configuration measurement, authentication, attestation and disclosure
EP3500972B1 (en) Protection feature for data stored at storage service
US9582656B2 (en) Systems for validating hardware devices
US11409884B2 (en) Security profiling of system firmware and applications from an OOB appliance at a differentiated trust boundary
JP5500458B2 (ja) プロセッサメインメモリのメモリコンテンツのセキュリティ保護
CN110675144A (zh) 加强区块链交易的不可抵赖性
EP2727040B1 (en) A secure hosted execution architecture
JP6072091B2 (ja) アプリケーション・プログラム用の安全なアクセス方法および安全なアクセス装置
CN110832479A (zh) 用于软件激活和许可证跟踪的系统和方法
JP2004265286A (ja) 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理
US20140208409A1 (en) Access to data stored in a cloud
CN107292176A (zh) 用于访问计算设备的可信平台模块的方法和系统
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
US20210243030A1 (en) Systems And Methods To Cryptographically Verify An Identity Of An Information Handling System
US20220141029A1 (en) Using multi-factor and/or inherence-based authentication to selectively enable performance of an operation prior to or during release of code
US11409878B2 (en) Trusted sequence for computing devices via hashes
US20170019258A1 (en) Methods for securing an account-management application and apparatuses using the same
Zobaed et al. Confidential computing across edge-to-cloud for machine learning: A survey study
CN116089967B (zh) 数据防回滚方法和电子设备
US20230237162A1 (en) Systems and methods for remote secure erasure of fingerprint data from information handling systems
Gurulian et al. Reprint of “You can’t touch this: Consumer-centric android application repackaging detection”