TWI807707B - 安全性軟體更新系統、方法及電腦可讀媒介 - Google Patents
安全性軟體更新系統、方法及電腦可讀媒介 Download PDFInfo
- Publication number
- TWI807707B TWI807707B TW111110366A TW111110366A TWI807707B TW I807707 B TWI807707 B TW I807707B TW 111110366 A TW111110366 A TW 111110366A TW 111110366 A TW111110366 A TW 111110366A TW I807707 B TWI807707 B TW I807707B
- Authority
- TW
- Taiwan
- Prior art keywords
- software
- key
- electronic device
- file
- software update
- Prior art date
Links
Images
Landscapes
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Storage Device Security (AREA)
Abstract
本發明揭露一種安全性軟體更新系統、方法及電腦可讀媒介,係由電子裝置透過網路從軟體更新伺服器中下載加密軟體,且由使用者身分模組卡中之Applet單元利用第一金鑰對之私鑰對加密軟體之檔頭進行解密以取得會議金鑰,再由軟體版本處理單元利用會議金鑰對加密軟體之檔身進行解密以取得新版軟體。繼之,由軟體版本處理單元對新版軟體進行雜湊運算以產生第一雜湊值,再由Applet單元利用第二金鑰對之公鑰對加密軟體之檔尾進行解密以產生第二雜湊值,俾於Applet單元比對出第一雜湊值與第二雜湊值為一致時,由軟體版本處理單元以新版軟體取代相關聯之舊版軟體。
Description
本發明係關於一種軟體更新技術,特別是指一種安全性軟體更新系統、方法及電腦可讀媒介。
在一現有技術中,提出一種軟體更新方法,係先對原生軟體包執行加密及壓縮以得到發行軟體包,再依據行動裝置之下載要求將發行軟體包自服務伺服器傳送至行動裝置,進而檢查行動裝置之電量是否大於第一電量及行動裝置是否正在充電,以解壓縮發行軟體包。惟,此軟體更新方法並無法提供安全性與來源身分驗證,亦無法確認發行軟體包之來源是否合法。
又,在另一現有技術中,提出一種線上更新韌體之方法,係由控制裝置提出請求命令至網頁伺服器,以依據請求命令之回應自網頁伺服器取得一待更新韌體清單與一可更新電子裝置清單,再依據待更新韌體清單與可更新電子裝置清單確認一待更新韌體與一電子裝置資料;然後,由網頁伺服器傳送待更新韌體至對應於電子裝置資料之電子裝置中,以確認電子裝置產生一更新完成信號,俾透過瀏覽器顯示更新完成訊息。然而,
此現有技術並無法達成安全性韌體更新之功效。
此外,上述現有技術皆無法善用使用者身分模組(Subscriber Identity Module;SIM)卡具有加解密運算與安全儲存資料之功能,無法將使用者身分模組卡作為硬體式安全元件以取代安全性不足之軟體式安全元件,亦無法將具有加解密功能之Applet單元置入使用者身分模組卡中以執行加解密、產生金鑰對或驗證簽章,也無法對加密軟體進行解密且驗證新版軟體之來源之安全性或合法性,更無法利用金鑰對之私鑰對加密軟體進行解密,還無法將新版軟體加密封裝成檔頭、檔身與檔尾。
因此,如何提供一種創新之軟體(如韌體)更新技術,以解決上述之任一問題或提供相關之功能(服務),已成為本領域技術人員之一大研究課題。
本發明提供一種創新之安全性軟體更新系統、方法及電腦可讀媒介,係善用電子裝置之使用者身分模組卡具有加解密運算與安全儲存資料之功能,亦能將使用者身分模組卡作為硬體式安全元件以取代安全性不足之軟體式安全元件,或將Applet單元置入使用者身分模組卡中以執行加解密、產生金鑰對或驗證簽章,或者對加密軟體進行解密且驗證新版軟體之來源之安全性或合法性,抑或者利用金鑰對之私鑰對加密軟體進行解密,又或者將新版軟體加密封裝成檔頭、檔身與檔尾。
本發明之安全性軟體更新系統包括:一電子裝置,係具有一使用者身分模組卡與一軟體版本處理單元,且使用者身分模組卡儲存有一
Applet單元、一第一金鑰對之私鑰與一第二金鑰對之公鑰;以及一安全性軟體更新系統,係透過網路連結或通訊電子裝置,且安全性軟體更新系統具有一軟體更新伺服器以儲存一具有檔頭、檔身與檔尾之加密軟體;其中,電子裝置透過網路從軟體更新伺服器中下載具有檔頭、檔身與檔尾之加密軟體,以將加密軟體之檔頭之資料傳送至電子裝置之使用者身分模組卡,再由使用者身分模組卡中之Applet單元利用第一金鑰對之私鑰對加密軟體之檔頭之資料進行解密以取得一會議金鑰,進而由電子裝置之軟體版本處理單元利用會議金鑰對加密軟體之檔身之資料進行解密以取得一新版軟體,且其中,電子裝置之軟體版本處理單元對新版軟體進行雜湊運算以產生一第一雜湊值,再由使用者身分模組卡中之Applet單元利用第二金鑰對之公鑰對加密軟體之檔尾之資料進行解密以產生一第二雜湊值,俾於使用者身分模組卡中之Applet單元驗證或比對出第一雜湊值與第二雜湊值兩者為一致時,由電子裝置之軟體版本處理單元利用新版軟體以取代相關聯之舊版軟體。
本發明之安全性軟體更新方法包括:提供一具有使用者身分模組卡與軟體版本處理單元之電子裝置、以及一具有軟體更新伺服器之安全性軟體更新系統,其中,使用者身分模組卡儲存有一Applet單元、一第一金鑰對之私鑰與一第二金鑰對之公鑰,且軟體更新伺服器儲存有一具有檔頭、檔身與檔尾之加密軟體;由電子裝置透過網路從軟體更新伺服器中下載具有檔頭、檔身與檔尾之加密軟體,以將加密軟體之檔頭之資料傳送至電子裝置之使用者身分模組卡,再由使用者身分模組卡中之Applet單元利用第一金鑰對之私鑰對加密軟體之檔頭之資料進行解密以取得一會議金
鑰,進而由電子裝置之軟體版本處理單元利用會議金鑰對加密軟體之檔身之資料進行解密以取得一新版軟體;以及由電子裝置之軟體版本處理單元對新版軟體進行雜湊運算以產生一第一雜湊值,再由使用者身分模組卡中之Applet單元利用第二金鑰對之公鑰對加密軟體之檔尾之資料進行解密以產生一第二雜湊值,俾於使用者身分模組卡中之Applet單元驗證或比對出第一雜湊值與第二雜湊值兩者為一致時,由電子裝置之軟體版本處理單元利用新版軟體以取代相關聯之舊版軟體。
本發明之電腦可讀媒介應用於計算裝置或電腦中,係儲存有指令,以執行上述安全性軟體更新方法。
為讓本發明之上述特徵與優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明。在以下描述內容中將部分闡述本發明之額外特徵及優點,且此等特徵及優點將部分自所述描述內容可得而知,或可藉由對本發明之實踐習得。應理解,前文一般描述與以下詳細描述二者均為例示性及解釋性的,且不欲約束本發明所欲主張之範圍。
1:安全性軟體更新系統
10:電子裝置
11:使用者身分模組(SIM)卡
12:Applet單元
13:數據機
14:處理模組
15:記憶模組
16:軟體版本處理單元
20:安全性軟體更新子系統
21:金鑰資料庫
22:軟體更新伺服器
A1:第一金鑰對之公鑰
A2:第一金鑰對之私鑰
B1:第二金鑰對之公鑰
B2:第二金鑰對之私鑰
C:會議金鑰
D:加密軟體
D1:檔頭
D2:檔身
D3:檔尾
E1:新版軟體
E2:舊版軟體
H1:第一雜湊值
H2:第二雜湊值
N:網路
S01至S04:步驟
S11至S19:步驟
S21至S27:步驟
圖1為本發明之安全性軟體更新系統之架構示意圖。
圖2為本發明之安全性軟體更新系統及其方法中,有關產生與存儲金鑰之流程示意圖。
圖3為本發明之安全性軟體更新系統及其方法中,有關產生加密軟體之流程示意圖。
圖4為本發明之安全性軟體更新系統及其方法中,有關加密軟體之解密或驗證之流程示意圖。
以下藉由特定之具體實施形態說明本發明之實施方式,熟悉此技術之人士可由本說明書所揭示之內容了解本發明之其它優點與功效,亦可因而藉由其它不同具體等同實施形態加以施行或運用。
圖1為本發明之安全性軟體更新系統1之架構示意圖。如圖所示,安全性軟體更新系統1可包括透過網路N互相連結或通訊之至少一電子裝置10與一安全性軟體更新子系統20。電子裝置10可具有一使用者身分模組(SIM)卡11、一Applet單元(程式)12、一數據機13、一處理模組14、一記憶模組15與一軟體版本處理單元(程式)16等,而安全性軟體更新子系統20可具有一金鑰資料庫21與一軟體更新伺服器22等。Applet單元(程式)12可儲存於使用者身分模組卡11中,且軟體版本處理單元(程式)16可儲存於記憶模組15中。
同時,本發明所述「網路」可為有線網路、無線網路、行動通訊網路、網際網路、區域網路(LAN)、無線區域網路(WLAN)、廣域網路(WAN)、都會區域網路(MAN)、虛擬專用網路(VPN)等,「連結」或「通訊」代表有線或無線連結或通訊,「至少一」代表一個以上(如一、二或三個以上),且「加解密」代表加密與解密。「軟體」可包括各種軟體(software)或韌體(firmware),且韌體可為嵌入於硬體(如硬體裝置)中之軟體。在一實施例中,軟體版本處理單元(程式)16、安全性軟體更新子系統20、軟體更新伺服器22、加密軟體D、新版軟體E1、舊版軟體E2等,可分別為韌體版本處理程式、安全性韌體更新子系統、韌體更新伺服器、加密韌體、新
版韌體、舊版韌體等,但不以此為限。
在一實施例中,電子裝置10可為具有使用者身分模組卡11之行動裝置、物聯網裝置、車聯網裝置等,行動裝置可為具有使用者身分模組卡11之智慧手機、智慧手錶、個人數位助理等,物聯網裝置可為具有使用者身分模組卡11之電腦(如平板電腦/筆記型電腦/桌上型電腦/個人電腦)、智慧家電(如智慧電視/智慧冰箱)、智慧水表、智慧電表、智慧路燈、監視器、遊戲機等,車聯網裝置可為具有使用者身分模組卡11之車用設備(如車機)等。處理模組14可為處理器(處理晶片/處理電路)、處理軟體(處理程式)等,且處理器可為微處理器(microprocessor)、微控制器(Microcontroller Unit; MCU)、中央處理器(Central Processing Unit;CPU)、圖形處理器(Graphics Processing Unit;GPU)等。記憶模組15可為記憶體(如隨機存取記憶體RAM)、記憶卡、儲存器、儲存單元、硬碟、隨身碟、資料庫等各種儲存媒介,軟體版本處理單元(程式)16可為新版軟體處理程式、韌體版本處理程式等。安全性軟體更新子系統20可為對具有使用者身分模組卡11之電子裝置10進行軟體(如韌體)更新之後台系統等,金鑰資料庫21可為用以儲存第一金鑰對之公鑰A1與第二金鑰對之私鑰B2等之資料庫、記憶體、儲存器或各種儲存媒介,軟體更新伺服器22可為對具有使用者身分模組卡11之電子裝置10進行軟體(如韌體)更新之伺服器(如伺服主機)等。但是,本發明並不以此為限。
詳言之,電子裝置10之使用者身分模組卡11可作為電子裝置10或其行動通訊之身分認證,且使用者身分模組卡11可執行Applet單元(程式)12並儲存第一金鑰對之私鑰A2及第二金鑰對之公鑰B1。Applet
單元(程式)12可安裝在使用者身分模組卡11中以執行加解密、產生第一金鑰對或驗證簽章。數據機13可具有通訊功能,以由數據機13將具有使用者身分模組卡11之電子裝置10透過網路N(如行動通訊網路)連結或通訊安全性軟體更新子系統20或其軟體更新伺服器22。處理模組14可執行各種軟體程式(如韌體程式),且記憶模組15可儲存各種軟體資料(如韌體資料)與軟體版本處理單元(程式)16。軟體版本處理單元(程式)16可在電子裝置10內執行軟體版本(如韌體版本)之檢查、進行加密軟體D(如加密韌體)之解密及/或合法性之驗證等。
安全性軟體更新子系統20之軟體更新伺服器22可透過網路N連結或通訊具有使用者身分模組卡11之電子裝置10,金鑰資料庫21可儲存第一金鑰對之公鑰A1與第二金鑰對之私鑰B2,第一金鑰對之公鑰A1作為使用者身分模組卡11之公鑰,且第二金鑰對之私鑰B2作為安全性軟體更新子系統20之私鑰。
本發明可將使用者身分模組卡11作為電子裝置10之硬體式安全元件,且由使用者身分模組卡11執行Applet單元(程式)12以產生為非對稱式加密金鑰對之第一金鑰對。具有使用者身分模組卡11之電子裝置10可將Applet單元(程式)12所產生之第一金鑰對之公鑰A1傳送至安全性軟體更新子系統20以儲存於金鑰資料庫21中,並將Applet單元(程式)12所產生之第一金鑰對之私鑰A2儲存於使用者身分模組卡11。
安全性軟體更新子系統20可產生為非對稱式加密金鑰對之第二金鑰對,以將第二金鑰對之私鑰B2儲存於安全性軟體更新子系統20之金鑰資料庫21,且由安全性軟體更新子系統20將第二金鑰對之公鑰B1
透過網路N傳送至電子裝置10以儲存於使用者身分模組卡11。
本發明可先將新版軟體E1上架至安全性軟體更新子系統20,以於安全性軟體更新子系統20收到具有使用者身分模組卡11之電子裝置10有關下載新版軟體E1之請求(即電子裝置10之軟體版本處理單元(程式)16向安全性軟體更新子系統20請求下載新版軟體E1)時,由軟體更新伺服器22自動產生一會議金鑰(Session Key)C,再由軟體更新伺服器22利用會議金鑰C對新版軟體E1進行加密以產生或得到檔身D2。又,軟體更新伺服器22可從金鑰資料庫21中取出第一金鑰對之公鑰A1,再由軟體更新伺服器22利用第一金鑰對之公鑰A1對會議金鑰C進行加密以產生或得到檔頭D1。同時,軟體更新伺服器22亦可從金鑰資料庫21中取出第二金鑰對之私鑰B2,再由軟體更新伺服器22利用第二金鑰對之私鑰B2對新版軟體E1之雜湊值進行加密運算以產生或得到一簽章作為檔尾D3。繼之,軟體更新伺服器22可將檔頭D1、檔身D2與檔尾D3三者組成或合併成一加密軟體D,以由軟體更新伺服器22將加密軟體D透過網路N下載至具有使用者身分模組卡11之電子裝置10。
電子裝置10之使用者身分模組卡11可儲存第一金鑰對之私鑰A2與第二金鑰對之公鑰B1,以於具有使用者身分模組卡11之電子裝置10透過網路N從軟體更新伺服器22中下載完成加密軟體D時,由電子裝置10之軟體版本處理單元(程式)16將加密軟體D之檔頭D1之資料透過數據機13傳送至使用者身分模組卡11,再由使用者身分模組卡11中之Applet單元(程式)12利用第一金鑰對之私鑰A2對加密軟體D之檔頭D1之資料進行解密以取得會議金鑰C。
然後,軟體版本處理單元(程式)16可利用會議金鑰C對加密軟體D之檔身D2之資料進行解密以取得新版軟體E1,再由軟體版本處理單元(程式)16對新版軟體E1進行雜湊運算以產生或得到第一雜湊值H1。繼之,使用者身分模組卡11中之Applet單元(程式)12可利用使用者身分模組卡11所儲存之第二金鑰對之公鑰B1對加密軟體D之檔尾D3(如簽章)之資料進行解密以產生或得到第二雜湊值H2,再由使用者身分模組卡11中之Applet單元(程式)12驗證或比對第一雜湊值H1與第二雜湊值H2兩者是否一致或相符?若第一雜湊值H1與第二雜湊值H2兩者之驗證或比對結果為一致或相符(例如兩者相同、相應或匹配),則由軟體版本處理單元(程式)16移除與新版軟體E1相關聯之舊版軟體E2以更換成新版軟體E1、或者將舊版軟體E2更新或升級成新版軟體E1,亦即軟體版本處理單元(程式)16可利用新版軟體E1以取代、更新或升級相關聯之舊版軟體E2。
本發明可利用使用者身分模組卡11具有加解密運算與金鑰安全性儲存之功能,以由具有使用者身分模組卡11之電子裝置10對新版軟體E1進行解密與認證。亦即,具有使用者身分模組卡11之電子裝置10可透過網路N從安全性軟體更新子系統20之軟體更新伺服器22中下載加密軟體D至記憶模組15,再由軟體版本處理單元(程式)16利用會議金鑰C對記憶模組15中加密軟體D之檔身D2之資料進行解密以取得新版軟體E1,有利於達成新版軟體E1在網路N上傳送之安全性,也能避免新版軟體E1遭到洩露。又,使用者身分模組卡11中之Applet單元(程式)12能驗證新版軟體E1之簽章(即加密軟體D之檔尾D3),以利確認新版軟體E1之來源之正確性。
本發明之加密軟體D可將已上架至安全性軟體更新子系統20中之新版軟體E1加密封裝成檔頭D1、檔身D2與檔尾D3等三個部分。檔頭D1可為利用第一金鑰對之公鑰A1對會議金鑰C進行加密所產生之內容,且檔頭D1之資料長度可為例如固定值L1。檔身D2可為利用會議金鑰C對新版軟體E1進行加密所產生之內容,且檔身D2之資料長度取決於新版軟體E1之大小而為例如變動值L2。檔尾D3(如簽章)可為先對新版軟體E1進行雜湊運算以取得新版軟體E1之雜湊值,再利用第二金鑰對之私鑰B2對新版軟體E1之雜湊值進行加密運算所產生之簽章(如簽章內容),且檔尾D3(如簽章)之資料長度可為例如固定值L3。加密軟體D之格式可為檔頭D1依序附加檔身D2與檔尾D3(即檔頭D1附加檔身D2再附加檔尾D3),且三者之總資料長度為「檔頭D1之固定值L1」加上「檔身D2之變動值L2」加上「檔尾D3之固定值L3」。
圖2為本發明之安全性軟體更新系統1及其方法中有關產生與存儲金鑰之流程示意圖,並參閱圖1予以說明。
首先,如圖1所示,電子裝置10之使用者身分模組(SIM)卡11產生第一金鑰對,且在一實施例中,第一金鑰對可為使用者身分模組卡11利用有關橢圓曲線密碼學(Elliptic Curve Cryptography;ECC)或李維斯特-薩莫爾-阿德曼(RSA)之非對稱式加密演算法所產生之金鑰,其中,RSA代表羅納德.李維斯特(Ron Rivest)、阿迪.薩莫爾(Adi Shamir)與倫納德.阿德曼(Leonard Adleman)三人。安全性軟體更新子系統20產生第二金鑰對,且在一實施例中,第二金鑰對可為安全性軟體更新子系統20利用有關橢圓曲線密碼學(ECC)或李維斯特-薩莫爾-阿德曼(RSA)之非對稱式加密演算
法所產生之金鑰。第一金鑰對之私鑰A2與第二金鑰對之公鑰B1儲存於電子裝置10之使用者身分模組卡11,且第一金鑰對之公鑰A1與第二金鑰對之私鑰B2儲存於安全性軟體更新子系統20之金鑰資料庫21。
申言之,如圖2所示,在步驟S01中,將Applet單元(程式)12安裝至電子裝置10之使用者身分模組卡11。
在步驟S02中,由使用者身分模組卡11利用非對稱式加密演算法以產生或得到為非對稱式加密金鑰對之第一金鑰對,再將第一金鑰對之私鑰A2儲存於使用者身分模組卡11。在一實施例中,第一金鑰對可包括由使用者身分模組卡11利用非對稱式加密演算法所產生之公鑰與私鑰,且非對稱式加密演算法可為橢圓曲線密碼學(ECC)演算法或李維斯特-薩莫爾-阿德曼(RSA)演算法等。
在步驟S03中,由電子裝置10將使用者身分模組卡11所產生之第一金鑰對之公鑰A1取出,以由電子裝置10將第一金鑰對之公鑰A1與使用者身分模組卡11之唯一識別碼(如使用者識別碼(user identifier;UID))進行配對,再由電子裝置10將使用者身分模組卡11之唯一識別碼(UID)所配對之第一金鑰對之公鑰A1透過網路N傳送至安全性軟體更新子系統20以儲存於金鑰資料庫21。在一實施例中,使用者身分模組卡11之唯一識別碼(UID)可為使用者身分模組卡11之卡號(如積體電路卡識別碼(Integrate circuit card identity;ICCID),或者為使用者身分模組卡之晶片唯一序號(Serial Number;SN)。
在步驟S04中,由安全性軟體更新子系統20利用非對稱式加密演算法以產生為非對稱式加密金鑰對之第二金鑰對,再將第二金鑰對
之私鑰B2儲存於安全性軟體更新子系統20之金鑰資料庫21,且由安全性軟體更新子系統20將第二金鑰對之公鑰B1透過網路N傳送至電子裝置10以儲存於使用者身分模組卡11。在一實施例中,第二金鑰對可包括由安全性軟體更新子系統20利用非對稱式加密演算法所產生之公鑰與私鑰,且非對稱式加密演算法可為橢圓曲線密碼學(ECC)演算法或李維斯特-薩莫爾-阿德曼(RSA)演算法等。
圖3為本發明之安全性軟體更新系統1及其方法中有關產生加密軟體D之流程示意圖,並參閱圖1予以說明。
如圖3所示,在步驟S11中,將新版軟體E1上架至安全性軟體更新子系統20。
在步驟S12至步驟S13中,當安全性軟體更新子系統20收到具有使用者身分模組卡11之電子裝置10有關下載新版軟體E1之請求(即電子裝置10之軟體版本處理單元16向安全性軟體更新子系統20請求下載新版軟體E1)時,由軟體更新伺服器22自動產生一會議金鑰(Session Key)C。在一實施例中,會議金鑰C可為軟體更新伺服器22利用對稱式加密演算法所產生之金鑰,且對稱式加密演算法可為資料加密標準(Data Encryption Standard;DES)演算法、三重資料加密演算法(Triple Data Encryption Algorithm;3DES)或高級加密標準(Advanced Encryption Standard;AES)演算法等。
在步驟S14至步驟S15中,由安全性軟體更新子系統20之軟體更新伺服器22從金鑰資料庫21中取出電子裝置10之使用者身分模組卡11之唯一識別碼(如UID)所配對或對應之第一金鑰對之公鑰A1,再
由軟體更新伺服器22利用第一金鑰對之公鑰A1對會議金鑰C進行加密以產生或得到檔頭D1。例如,檔頭D1之資料長度可為固定值L1。
在步驟S16中,由軟體更新伺服器22利用會議金鑰C對新版軟體E1進行加密以產生或得到檔身D2。例如,檔身D2之資料長度可為變動值L2,且檔身D2之資料長度取決於新版軟體E1之大小。
在步驟S17中,由軟體更新伺服器22利用雜湊演算法以計算出新版軟體E1之雜湊值。在一實施例中,雜湊演算法可為安全雜湊演算法256位元(Secure Hash Algorithm 256-bit;SHA256)、訊息摘要演算法第五版(Message-Digest Algorithm 5;MD5)或雜湊運算訊息認證碼(Hash-based Message Authentication Code;HMAC)演算法等,且新版軟體E1之雜湊值可具有固定之資料長度。
在步驟S18中,由軟體更新伺服器22利用金鑰資料庫21所儲存之第二金鑰對之私鑰B2對新版軟體E1之雜湊值進行加密運算以產生或得到一簽章作為檔尾D3。在一實施例中,簽章(檔尾D3)可具有橢圓曲線密碼學(ECC)或李維斯特-薩莫爾-阿德曼(RSA)等之簽章格式,且檔尾D3(如簽章)之資料長度可為固定值L3。
在步驟S19中,由軟體更新伺服器22將檔頭D1、檔身D2與檔尾D3三者組成或合併成一加密軟體D。在一實施例中,加密軟體D之格式可為檔頭D1依序附加檔身D2與檔尾D3(即檔頭D1附加檔身D2再附加檔尾D3),且三者之總資料長度為「檔頭D1之固定值L1」加上「檔身D2之變動值L2」加上「檔尾D3之固定值L3」。
圖4為本發明之安全性軟體更新系統1及其方法中有關加密
軟體D之解密或驗證之流程示意圖,並參閱圖1予以說明。
如圖4所示,在步驟S21中,當將使用者身分模組卡11裝入電子裝置10中,且將具有使用者身分模組卡11之電子裝置10進行或完成開機時,由具有使用者身分模組卡11之電子裝置10開始執行儲存於記憶模組15中之軟體版本處理單元(程式)16,以由軟體版本處理單元(程式)16透過網路N連線至安全性軟體更新子系統20,再由軟體版本處理單元(程式)16檢查安全性軟體更新子系統20是否有新版軟體E1?若是(即安全性軟體更新子系統20有新版軟體E1),則由具有使用者身分模組卡11之電子裝置10準備下載加密軟體D。反之,若否(即安全性軟體更新子系統20無新版軟體E1),則由軟體版本處理單元(程式)16結束此次之檢查作業或離開安全性軟體更新子系統20。
在步驟S22中,當電子裝置10之軟體版本處理單元(程式)16檢查出安全性軟體更新子系統20具有新版軟體E1時,由具有使用者身分模組卡11之電子裝置10透過網路N從軟體更新伺服器22中下載具有檔頭D1、檔身D2與檔尾D3之加密軟體D至電子裝置10之記憶模組15。在一實施例中,加密軟體D可為檔頭D1依序附加檔身D2與檔尾D3(即檔頭D1附加檔身D2再附加檔尾D3)之檔案。
在步驟S23中,由軟體版本處理單元(程式)16將加密軟體D之檔頭D1之資料透過數據機13傳送至使用者身分模組卡11,再由使用者身分模組卡11中之Applet單元(程式)12利用使用者身分模組卡11所儲存之第一金鑰對之私鑰A2對加密軟體D之檔頭D1之資料進行解密以取得會議金鑰C。在一實施例中,第一金鑰對可包括利用非對稱式加密演算法
所產生之公鑰與私鑰,且非對稱式加密演算法可為橢圓曲線密碼學(ECC)演算法或李維斯特-薩莫爾-阿德曼(RSA)演算法等。會議金鑰C可為利用對稱式加密演算法所產生之金鑰,且對稱式加密演算法可為資料加密標準(DES)演算法、三重資料加密演算法(3DES)或高級加密標準(AES)演算法等。
在步驟S24中,由電子裝置10之軟體版本處理單元(程式)16利用會議金鑰C對加密軟體D之檔身D2之資料進行解密以取得新版軟體E1。
在步驟S25中,由電子裝置10之軟體版本處理單元(程式)16利用雜湊演算法對新版軟體E1進行雜湊運算以產生或得到一第一雜湊值H1。在一實施例中,雜湊演算法可為安全雜湊演算法256位元(SHA256)、訊息摘要演算法第五版(MD5)或雜湊運算訊息認證碼(HMAC)演算法等。
在步驟S26中,由電子裝置10之軟體版本處理單元(程式)16將加密軟體D之檔尾D3(如簽章)之資料透過數據機13傳送至使用者身分模組卡11,再由使用者身分模組卡11中之Applet單元(程式)12利用使用者身分模組卡11所儲存之第二金鑰對之公鑰B1對加密軟體D之檔尾D3(如簽章)之資料進行解密以產生或得到一第二雜湊值H2。在一實施例中,第二金鑰對可包括利用非對稱式加密演算法所產生之公鑰與私鑰,且非對稱式加密演算法可為橢圓曲線密碼學(ECC)演算法或李維斯特-薩莫爾-阿德曼(RSA)演算法等。
在步驟S27中,由使用者身分模組卡11中之Applet單元(程式)12驗證或比對第一雜湊值H1與第二雜湊值H2兩者是否一致或相符?
若第一雜湊值H1與第二雜湊值H2兩者之驗證或比對結果為一致或相符(例如兩者相同、相應或匹配),則Applet單元(程式)12確認新版軟體E1為可信任之軟體,且由電子裝置10之軟體版本處理單元(程式)16移除與新版軟體E1相關聯之舊版軟體E2以更換成新版軟體E1、或者將舊版軟體E2更新或升級成新版軟體E1,亦即軟體版本處理單元(程式)16可利用新版軟體E1以取代、更新或升級電子裝置10中相關聯之舊版軟體E2。
另外,本發明還提供一種針對安全性軟體更新方法之電腦可讀媒介,係應用於具有處理器及/或記憶體的計算裝置或電腦中,且電腦可讀媒介儲存有指令,並可利用計算裝置或電腦透過處理器及/或記憶體執行電腦可讀媒介,以於執行電腦可讀媒介時執行上述內容。例如,處理器可為微處理器、微控制器(MCU)、中央處理器(CPU)、圖形處理器(GPU)等,記憶體可為隨機存取記憶體(RAM)、記憶卡、硬碟(如雲端/網路硬碟)、資料庫等,但不以此為限。
綜上,本發明之安全性軟體更新系統、方法及電腦可讀媒介至少具有下列特色、優點或技術功效。
一、本發明能善用電子裝置之使用者身分模組(SIM)卡具有加解密運算與安全儲存資料之功能,亦能將Applet單元(程式)置入使用者身分模組卡中以利執行加解密、產生金鑰對或驗證簽章,也能將使用者身分模組卡所產生之第一金鑰對之私鑰與軟體更新伺服器所產生之第二金鑰對之公鑰儲存於使用者身分模組卡中。
二、本發明能將使用者身分模組卡作為電子裝置之硬體式安全元件,以利透過使用者身分模組卡中之軟體版本處理單元(程式)對加密
軟體進行解密,亦能驗證新版軟體之來源之安全性或合法性。
三、本發明之使用者身分模組卡中之軟體版本處理單元(程式)驗證能新版軟體之簽章(即加密軟體之檔尾),以利確認新版軟體之來源之正確性。
四、本發明之使用者身分模組卡為硬體式安全元件,可以取代安全性不足之軟體式安全元件,亦可替代傳統之安全晶片以減少硬體成本。
五、本發明之安全性軟體更新系統能提供安全性資料加密與認證之資料結構或系統架構,以利新版軟體之資料能受到加密保護,亦能驗證新版軟體之來源之正確性。
六、本發明之具有使用者身分模組卡之電子裝置能透過網路從安全性軟體更新子系統之軟體更新伺服器中下載加密軟體,再利用第一金鑰對之私鑰對加密軟體進行解密,以利達成新版軟體在網路上傳送之安全性,也能避免新版軟體遭到洩露。
七、本發明之加密軟體能將已上架至安全性軟體更新子系統中之新版軟體加密封裝成檔頭、檔身與檔尾(如簽章),以利新版軟體在網路上傳送之安全性。
上述實施形態僅例示性說明本發明之原理、特點及其功效,並非用以限制本發明之可實施範疇,任何熟習此項技藝之人士均能在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。任何使用本發明所揭示內容而完成之等效改變及修飾,均仍應為申請專利範圍所涵蓋。因此,本發明之權利保護範圍應如申請專利範圍所列。
1:安全性軟體更新系統
10:電子裝置
11:使用者身分模組(SIM)卡
12:Applet單元
13:數據機
14:處理模組
15:記憶模組
16:軟體版本處理單元
20:安全性軟體更新子系統
21:金鑰資料庫
22:軟體更新伺服器
A1:第一金鑰對之公鑰
A2:第一金鑰對之私鑰
B1:第二金鑰對之公鑰
B2:第二金鑰對之私鑰
C:會議金鑰
D:加密軟體
D1:檔頭
D2:檔身
D3:檔尾
E1:新版軟體
E2:舊版軟體
H1:第一雜湊值
H2:第二雜湊值
N:網路
Claims (18)
- 一種安全性軟體更新系統,包括:一電子裝置,係具有一使用者身分模組卡與一軟體版本處理單元,且該電子裝置之該使用者身分模組卡儲存有一Applet單元、一第一金鑰對之私鑰與一第二金鑰對之公鑰;以及一安全性軟體更新子系統,係透過網路連結或通訊具有已儲存該Applet單元、該第一金鑰對之私鑰與該第二金鑰對之公鑰之該使用者身分模組卡之該電子裝置,且該安全性軟體更新子系統具有一軟體更新伺服器以儲存一具有檔頭、檔身與檔尾之加密軟體;其中,該電子裝置透過該網路從該安全性軟體更新子系統之該軟體更新伺服器中下載具有該檔頭、檔身與檔尾之該加密軟體,以將具有該檔頭、檔身與檔尾之該加密軟體之檔頭之資料傳送至該電子裝置之該使用者身分模組卡,再由該電子裝置之該使用者身分模組卡中之該Applet單元利用該第一金鑰對之私鑰對具有該檔頭、檔身與檔尾之該加密軟體之檔頭之資料進行解密以取得一會議金鑰,進而由該電子裝置之該軟體版本處理單元利用該會議金鑰對具有該檔頭、檔身與檔尾之該加密軟體之檔身之資料進行解密以取得一新版軟體,且其中,該電子裝置之該軟體版本處理單元對該新版軟體進行雜湊運算以產生一第一雜湊值,再由該電子裝置之該使用者身分模組卡中之該Applet單元利用該第二金鑰對之公鑰對具有該檔頭、檔身與檔尾之該加密軟體之檔尾之資料進行解密以產生一第二雜湊值,俾於該電子裝置之該使用者身分模組卡中之該Applet單元驗證或比對出該第一雜湊值與該第二雜湊值兩者為一致時,由該電子裝置之該軟體版本處理單元利用對具有該檔頭、檔身與檔尾之該加密軟體之檔身之資料進行解密所取得之該新版軟體以取代相關聯之舊版軟體。
- 如請求項1所述之安全性軟體更新系統,其中,該使用者身分模組卡係作為該電子裝置之硬體式安全元件,且該安全性軟體更新子系統更具有一金鑰資料庫,其中,該使用者身分模組卡執行該Applet單元以產生為非對稱式加密金鑰對之該第一金鑰對,再由該電子裝置將該Applet單元所產生之該第一金鑰對之公鑰傳送至該安全性軟體更新子系統以儲存於該金鑰資料庫,且將該Applet單元所產生之該第一金鑰對之私鑰儲存於該使用者身分模組卡。
- 如請求項1所述之安全性軟體更新系統,其中,該安全性軟體更新子系統更具有一金鑰資料庫,該安全性軟體更新子系統產生為非對稱式加密金鑰對之該第二金鑰對,以由該安全性軟體更新子系統將該第二金鑰對之私鑰儲存於該金鑰資料庫,且將該第二金鑰對之公鑰透過該網路傳送至該電子裝置以儲存於該使用者身分模組卡。
- 如請求項1所述之安全性軟體更新系統,其中,該安全性軟體更新子系統更具有一金鑰資料庫,該使用者身分模組卡與該安全性軟體更新子系統皆利用非對稱式加密演算法以分別產生該第一金鑰對與該第二金鑰對,再將該第一金鑰對之私鑰與該第二金鑰對之公鑰儲存於該電子裝置之該使用者身分模組卡,且將該第一金鑰對之公鑰與該第二金鑰對之私鑰儲存於該金鑰資料庫。
- 如請求項1所述之安全性軟體更新系統,其中,該電子裝置更具有一數據機,以於該電子裝置透過該網路從該軟體更新伺服器中下載完成該加密軟體時,由該電子裝置之該軟體版本處理單元將該加密軟體之檔頭之資料透過該數據機傳送至該使用者身分模組卡,再由該使用者身分模組卡中之該Applet單元利用該第一金鑰對之私鑰對該加密軟體之檔頭之資料進行解密以取得該會議金鑰。
- 如請求項1所述之安全性軟體更新系統,其中,該電子裝置更具有一記憶模組,以由該電子裝置透過該網路從該安全性軟體更新子系統之該軟體更新伺服器中下載該加密軟體至該記憶模組,再由該軟體版本處理單元利用該會議金鑰對該記憶模組中該加密軟體之檔身之資料進行解密以取得該新版軟體。
- 如請求項1所述之安全性軟體更新系統,其中,該安全性軟體更新子系統更具有一金鑰資料庫,且該電子裝置將該使用者身分模組卡所產生之該第一金鑰對之公鑰取出,以由該電子裝置將該第一金鑰對之公鑰與該使用者身分模組卡之唯一識別碼進行配對,再由該電子裝置將該使用者身分模組卡之該唯一識別碼所配對之該第一金鑰對之公鑰透過該網路傳送至該安全性軟體更新子系統以儲存於該金鑰資料庫。
- 如請求項1所述之安全性軟體更新系統,其中,當該安全性軟體更新子系統收到該電子裝置有關下載該新版軟體之請求時,由該安全性軟體更新子系統之該軟體更新伺服器利用對稱式加密演算法以產生該會議金鑰。
- 如請求項1所述之安全性軟體更新系統,其中,該安全性軟體更新子系統更具有一金鑰資料庫,且該金鑰資料庫儲存有該電子裝置之該使用者身分模組卡之唯一識別碼所配對或對應之該第一金鑰對之公鑰,其中,該軟體更新伺服器利用該第一金鑰對之公鑰對該會議金鑰進行加密以產生該檔頭,且該軟體更新伺服器利用該會議金鑰對該新版軟體進行加密以產生該檔身。
- 一種安全性軟體更新方法,包括:提供一具有使用者身分模組卡與軟體版本處理單元之電子裝置、以及一具有軟體更新伺服器之安全性軟體更新子系統,其中,該電子裝置之該 使用者身分模組卡儲存有一Applet單元、一第一金鑰對之私鑰與一第二金鑰對之公鑰,且該安全性軟體更新子系統之該軟體更新伺服器儲存有一具有檔頭、檔身與檔尾之加密軟體;由該電子裝置透過網路從該安全性軟體更新子系統之該軟體更新伺服器中下載具有該檔頭、檔身與檔尾之該加密軟體,以將具有該檔頭、檔身與檔尾之該加密軟體之檔頭之資料傳送至該電子裝置之該使用者身分模組卡,再由該電子裝置之該使用者身分模組卡中之該Applet單元利用該第一金鑰對之私鑰對具有該檔頭、檔身與檔尾之該加密軟體之檔頭之資料進行解密以取得一會議金鑰,進而由該電子裝置之該軟體版本處理單元利用該會議金鑰對具有該檔頭、檔身與檔尾之該加密軟體之檔身之資料進行解密以取得一新版軟體;以及由該電子裝置之該軟體版本處理單元對該新版軟體進行雜湊運算以產生一第一雜湊值,再由該電子裝置之該使用者身分模組卡中之該Applet單元利用該第二金鑰對之公鑰對具有該檔頭、檔身與檔尾之該加密軟體之檔尾之資料進行解密以產生一第二雜湊值,俾於該電子裝置之該使用者身分模組卡中之該Applet單元驗證或比對出該第一雜湊值與該第二雜湊值兩者為一致時,由該電子裝置之該軟體版本處理單元利用對具有該檔頭、檔身與檔尾之該加密軟體之檔身之資料進行解密所取得之該新版軟體以取代相關聯之舊版軟體。
- 如請求項10所述之安全性軟體更新方法,其中,該使用者身分模組卡係作為該電子裝置之硬體式安全元件,且該使用者身分模組卡執行該Applet單元以產生為非對稱式加密金鑰對之該第一金鑰對,再由該電子裝置將該Applet單元所產生之該第一金鑰對之公鑰傳送至該安全性 軟體更新子系統以儲存於金鑰資料庫,且將該Applet單元所產生之該第一金鑰對之私鑰儲存於該使用者身分模組卡。
- 如請求項10所述之安全性軟體更新方法,更包括由該安全性軟體更新子系統產生為非對稱式加密金鑰對之該第二金鑰對,以由該安全性軟體更新子系統將該第二金鑰對之私鑰儲存於金鑰資料庫,且將該第二金鑰對之公鑰透過該網路傳送至該電子裝置以儲存於該使用者身分模組卡。
- 如請求項10所述之安全性軟體更新方法,更包括當該電子裝置透過該網路從該軟體更新伺服器中下載完成該加密軟體時,由該電子裝置之該軟體版本處理單元將該加密軟體之檔頭之資料透過數據機傳送至該使用者身分模組卡,再由該使用者身分模組卡中之該Applet單元利用該第一金鑰對之私鑰對該加密軟體之檔頭之資料進行解密以取得該會議金鑰。
- 如請求項10所述之安全性軟體更新方法,更包括由該電子裝置透過該網路從該安全性軟體更新子系統之該軟體更新伺服器中下載該加密軟體至該電子裝置之記憶模組,再由該軟體版本處理單元利用該會議金鑰對該記憶模組中該加密軟體之檔身之資料進行解密以取得該新版軟體。
- 如請求項10所述之安全性軟體更新方法,更包括由該電子裝置將該使用者身分模組卡所產生之該第一金鑰對之公鑰取出,以由該電子裝置將該第一金鑰對之公鑰與該使用者身分模組卡之唯一識別碼進行配對,再由該電子裝置將該使用者身分模組卡之該唯一識別碼所配對之該第一金鑰對之公鑰透過該網路傳送至該安全性軟體更新子系統以儲存於金鑰資料庫。
- 如請求項10所述之安全性軟體更新方法,更包括當該安全性軟體更新子系統收到該電子裝置有關下載該新版軟體之請求時,由該安全性軟體更新子系統之該軟體更新伺服器利用對稱式加密演算法以產生該會議金鑰。
- 如請求項10所述之安全性軟體更新方法,更包括由該安全性軟體更新子系統之金鑰資料庫儲存該電子裝置之該使用者身分模組卡之唯一識別碼所配對或對應之該第一金鑰對之公鑰,且由該軟體更新伺服器利用該第一金鑰對之公鑰對該會議金鑰進行加密以產生該檔頭,再由該軟體更新伺服器利用該會議金鑰對該新版軟體進行加密以產生該檔身。
- 一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行如請求項10至17之任一者所述之安全性軟體更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111110366A TWI807707B (zh) | 2022-03-21 | 2022-03-21 | 安全性軟體更新系統、方法及電腦可讀媒介 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111110366A TWI807707B (zh) | 2022-03-21 | 2022-03-21 | 安全性軟體更新系統、方法及電腦可讀媒介 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI807707B true TWI807707B (zh) | 2023-07-01 |
TW202338598A TW202338598A (zh) | 2023-10-01 |
Family
ID=88149154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111110366A TWI807707B (zh) | 2022-03-21 | 2022-03-21 | 安全性軟體更新系統、方法及電腦可讀媒介 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI807707B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200609777A (en) * | 2004-09-07 | 2006-03-16 | Inventec Appliances Corp | Method for downloading software interface of handheld equipment |
TW200711436A (en) * | 2005-06-30 | 2007-03-16 | Advanced Micro Devices Inc | Secure patch system |
TW200920066A (en) * | 2007-10-17 | 2009-05-01 | Stars Technology Ltd | Information security transmission system |
CN106250770A (zh) * | 2015-06-03 | 2016-12-21 | 三星电子株式会社 | 用于对内容加密的电子设备和方法 |
CN108509787A (zh) * | 2018-03-14 | 2018-09-07 | 深圳市中易通安全芯科技有限公司 | 一种程序认证方法 |
CN110098933A (zh) * | 2018-01-29 | 2019-08-06 | 卓望数码技术(深圳)有限公司 | 一种手机应用自动身份认证方法和系统 |
CN113676445A (zh) * | 2021-07-05 | 2021-11-19 | 国网上海能源互联网研究院有限公司 | 一种适用于传输配电物联网文件的方法及系统 |
-
2022
- 2022-03-21 TW TW111110366A patent/TWI807707B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200609777A (en) * | 2004-09-07 | 2006-03-16 | Inventec Appliances Corp | Method for downloading software interface of handheld equipment |
TW200711436A (en) * | 2005-06-30 | 2007-03-16 | Advanced Micro Devices Inc | Secure patch system |
TW200920066A (en) * | 2007-10-17 | 2009-05-01 | Stars Technology Ltd | Information security transmission system |
CN106250770A (zh) * | 2015-06-03 | 2016-12-21 | 三星电子株式会社 | 用于对内容加密的电子设备和方法 |
CN110098933A (zh) * | 2018-01-29 | 2019-08-06 | 卓望数码技术(深圳)有限公司 | 一种手机应用自动身份认证方法和系统 |
CN108509787A (zh) * | 2018-03-14 | 2018-09-07 | 深圳市中易通安全芯科技有限公司 | 一种程序认证方法 |
CN113676445A (zh) * | 2021-07-05 | 2021-11-19 | 国网上海能源互联网研究院有限公司 | 一种适用于传输配电物联网文件的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202338598A (zh) | 2023-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839391B2 (en) | Method and apparatus for secure offline payment | |
CN103888251B (zh) | 一种云环境中虚拟机可信保障的方法 | |
JP5611768B2 (ja) | データセンタへのプラットフォームの内包検証 | |
US8375220B2 (en) | Methods and systems for secure remote wake, boot, and login to a computer from a mobile device | |
CN107086981B (zh) | 受控安全代码认证 | |
US20190028267A1 (en) | In-vehicle computer system, vehicle, key generation device, management method, key generation method, and computer program | |
WO2020073513A1 (zh) | 基于区块链的用户认证方法及终端设备 | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
US8681642B2 (en) | Equipment-information transmitting apparatus, service control apparatus, equipment-information transmitting method, and computer products | |
TW201732669A (zh) | 受控的安全碼鑑認 | |
CN105718807B (zh) | 基于软tcm和可信软件栈的安卓系统及其可信认证系统与方法 | |
CN110874478B (zh) | 密钥处理方法及装置、存储介质和处理器 | |
US20050137889A1 (en) | Remotely binding data to a user device | |
CN108768963B (zh) | 可信应用与安全元件的通信方法和系统 | |
WO2008122171A1 (fr) | Procédé de pilotage de sécurité et système associé, procédé de génération d'une signature de codage et procédé d'authentification | |
WO2011119300A2 (en) | System and methods for remote maintenance in an electronic network with multiple clients | |
WO2018166163A1 (zh) | Pos终端控制方法、pos终端、服务器及存储介质 | |
CN111901304B (zh) | 移动安全设备的注册方法和装置、存储介质、电子装置 | |
KR20070075715A (ko) | 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템 | |
JP2018117185A (ja) | 情報処理装置、情報処理方法 | |
CN114499892B (zh) | 固件启动方法、装置、计算机设备及可读存储介质 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN110838919A (zh) | 通信方法、存储方法、运算方法及装置 | |
WO2011150650A1 (zh) | 密钥授权信息管理方法及装置 | |
TWI807707B (zh) | 安全性軟體更新系統、方法及電腦可讀媒介 |