TWI709099B - 透過作業系統驗證密碼以進行加解密之系統及方法 - Google Patents

透過作業系統驗證密碼以進行加解密之系統及方法 Download PDF

Info

Publication number
TWI709099B
TWI709099B TW107133352A TW107133352A TWI709099B TW I709099 B TWI709099 B TW I709099B TW 107133352 A TW107133352 A TW 107133352A TW 107133352 A TW107133352 A TW 107133352A TW I709099 B TWI709099 B TW I709099B
Authority
TW
Taiwan
Prior art keywords
operating system
account
password
module
target
Prior art date
Application number
TW107133352A
Other languages
English (en)
Other versions
TW202013291A (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 臺灣網路認證股份有限公司
Priority to TW107133352A priority Critical patent/TWI709099B/zh
Publication of TW202013291A publication Critical patent/TW202013291A/zh
Application granted granted Critical
Publication of TWI709099B publication Critical patent/TWI709099B/zh

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

一種透過作業系統驗證密碼以進行加解密之系統及方法,其透過在輸入包含密碼的帳號資料後,呼叫作業系統之應用程式介面,使作業系統判斷帳號資料是否通過驗證,並在帳號資料通過驗證時,使用密碼加密或解密作業目標之技術手段,可以達成產生兼顧安全性與可用性之應用程式的加密方式的技術功效。

Description

透過作業系統驗證密碼以進行加解密之系統及方法
一種加解密系統及方法,特別係指一種透過作業系統驗證密碼以進行加解密之系統及方法。
隨著硬體與網路技術的發展,行動裝置的選擇越來越多,推陳出新的速度也越來越快。而隨著行動裝置的發展,行動裝置逐漸取代傳統的電腦。
由於人們越來越習慣在行動裝置上完成以往使用電腦所進行的事情,例如查找資料、玩遊戲、購物、繳費、查看帳戶等,因此,安裝於行動裝置的各種應用程式儲存越來越多與使用者相關的敏感資料,例如銀行帳號資料、信用卡資料、個人資料、憑證等,為了保護這些敏感資料,某些應用程式在開發時會寫入一個固定的金鑰,讓應用程式使用固定的金鑰加密敏感資料,但這樣的方式實際上並不安全,一旦應用程式所使用的固定金鑰被破解,使用相同應用程式之使用者的敏感資料通通有被取得的風險。
因此,有的應用程式將金鑰改為使用與行動裝置有關的裝置識別資料,例如行動裝置或行動裝置中特定硬體元件的序號、IMEI等,由於裝置識別資料大多與行動裝置為一對一的對應關係,因此,即使某一台行動裝置上之應用程式所使用的金鑰被破解,但使用相同應用程式之其他裝置所使用的金鑰不同,因此,使用相同應用程式之其他裝置上的敏感資料仍然無法被輕易取得。
然而,上述使用與行動裝置有關的裝置識別資料做為金鑰的方式並不是適合所有的應用程式,而僅僅適合無需備份的應用程式,因為每個行動裝置的裝置識別資料不同,表示安裝於各個行動裝置上之相同應用程式所使用的金鑰也不相同,使用某個行動裝置之裝置識別資料所加密的檔案無法使用其他行動裝置之裝置識別資料解密,因此,在該行動裝置上的應用程式被複製到其他行動裝置上時,將無法被使用。
綜上所述,可知先前技術中長期以來一直存在安全性較低的加密方式可以在所有應用程式中被使用,但安全性較高的加密方式僅有部分應用程式可以使用的問題,因此有必要提出改進的技術手段,來解決此一問題。
有鑒於先前技術存在安全性較高之加密方式僅有部分應用程式適合使用的問題,本發明遂揭露一種透過作業系統驗證密碼以進行加解密之系統及方法,其中:
本發明所揭露之透過作業系統驗證密碼以進行加解密之系統,應用於安裝於作業系統之應用程式中,該系統至少包含:目標選擇模組,用以選擇作業目標;輸入模組,用以提供輸入帳號資料,帳號資料包含作業系統所記錄之目標帳號及與目標帳號對應之密碼;系統呼叫模組,用以呼叫作業系統之應用程式介面,使作業系統判斷帳號資料是否通過驗證;加解密模組,用以於帳號資料通過驗證時,使用密碼加密或解密作業目標。
本發明所揭露之透過作業系統驗證密碼以進行加解密之方法,應用於安裝於作業系統之應用程式中,其步驟至少包括:選擇作業目標;提供輸入帳號資料,帳號資料包含作業系統所記錄之目標帳號及與目標帳號對應之密碼;呼叫作業系統之應用程式介面,使作業系統判斷帳號資料是否通過驗證;當帳號資料通過驗證時,使用密碼加密或解密作業目標。
本發明所揭露之系統與方法如上,與先前技術之間的差異在於本發明透過輸入帳號資料後,呼叫作業系統之應用程式介面,使作業系統判斷帳號資料是否通過驗證,並在帳號資料通過驗證時,使用密碼加密或解密作業目標,藉以解決先前技術所存在的問題,並可以達成使應用程式之加密方式兼顧安全性與可用性的技術功效。
以下將配合圖式及實施例來詳細說明本發明之特徵與實施方式,內容足以使任何熟習相關技藝者能夠輕易地充分理解本發明解決技術問題所應用的技術手段並據以實施,藉此實現本發明可達成的功效。
本發明可以由作業系統完成預先登錄在作業系統中之目標帳號的驗證,並使用通過驗證之目標帳號所對應的密碼對指定的檔案加密或解密,藉以提供使用者足夠的安全性以及可使用性。
本發明應用在計算設備上,本發明所提之計算設備包含但不限於一個或多個處理器、一個或多個記憶體模組、以及連接不同元件(包括記憶體模組和處理器)的匯流排等元件,例如,計算設備可以是手機、平板、導航裝置、多媒體播放機、電子書閱讀機、電子辭典、掌上型電動玩具等。透過所包含之多個元件,計算設備可以載入並執行作業系統,使作業系統在計算設備上運行,同時,計算設備也可以執行安裝於作業系統中的應用程式。
本發明所提之計算設備的匯流排可以包含一種或多個類型,例如包含資料匯流排(data bus)、位址匯流排(address bus)、控制匯流排(control bus)、擴充功能匯流排(expansion bus)、及/或局域匯流排(local bus)等類型的匯流排。計算設備的匯流排包括但不限於並列的工業標準架構(ISA)匯流排、周邊元件互連(PCI)匯流排、視頻電子標準協會(VESA)局域匯流排、以及串列的通用序列匯流排(USB)、快速周邊元件互連(PCI-E)匯流排等。
本發明所提之計算設備的處理器與匯流排耦接。處理器包含暫存器(Register)組或暫存器空間,暫存器組或暫存器空間可以完全在處理晶片上,或全部或部分在處理晶片外並經由專用電氣連接及/或經由匯流排耦接至處理器。處理器可為處理單元、微處理器或任何合適的處理元件。若計算設備為多處理器設備,也就是計算設備包含多個處理器,則計算設備所包含的處理器都相同或類似,且透過匯流排耦接與通訊。
計算設備的處理器可以與晶片組耦接或透過匯流排與晶片組電性連接。晶片組是由一個或多個積體電路(IC)組成,包含記憶體控制器以及周邊輸出入(I/O)控制器。晶片組通常提供了輸出入和記憶體管理功能、以及提供多個通用及/或專用暫存器、計時器等,其中,上述之通用及/或專用暫存器與計時器可以讓耦接或電性連接至晶片組的一個或多個處理器存取或使用。另外,記憶體控制器以及周邊輸出入控制器可以包含在一個積體電路內,也可以使用兩個或更多的積體電路實現。
處理器可以透過記憶體控制器存取記憶體模組和大容量儲存區中的資料,例如,記憶體控制器可以存取包含快取記憶體、或硬碟機中的資料。上述之記憶體模組包含任何類型的揮發性記憶體(volatile memory)及/或非揮發性(non-volatile memory, NVRAM)記憶體,例如靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、快閃記憶體(Flash)、唯讀記憶體(ROM)等。上述之大容量儲存區可以包含任何類型的儲存裝置,例如,硬碟機、光碟、磁帶機、隨身碟(快閃記憶體)、固態硬碟(Solid State Disk, SSD)、或任何其他儲存裝置等。
處理器也可以透過周邊輸出入控制器經由周邊輸出入匯流排與周邊輸出裝置、周邊輸入裝置、通訊介面、以及GPS接收器等周邊裝置或介面通訊。周邊輸入裝置可以是任何類型的輸入裝置,例如鍵盤、滑鼠、軌跡球、觸控板、搖桿等,周邊輸出裝置可以是任何類型的輸出裝置,例如顯示器、印表機等,周邊輸入裝置與周邊輸出裝置也可以是同一裝置,例如觸控螢幕等。通訊介面可以包含無線通訊介面及/或有線通訊介面,無線通訊介面可以包含支援Wi-Fi、Zigbee等無線區域網路、藍牙、紅外線、近場通訊(NFC)、行動通訊網路或其他無線資料傳輸協定的介面,有線通訊介面可為乙太網路設備、非同步傳輸模式(ATM)設備、DSL數據機、纜線(Cable)數據機等。處理器可以週期性地輪詢(polling)各種周邊裝置與介面,使得計算設備能夠進行資料的輸入與輸出,也能夠與具有上述描述之元件的另一個計算設備進行通訊。
以下先以「第1圖」本發明所提之透過作業系統驗證密碼以進行加解密之系統架構圖來說明本發明的系統運作。如「第1圖」所示,本發明之系統應用於應用程式100中,含有目標選擇模組110、輸入模組120、系統呼叫模組130、以及加解密模組150。其中,應用程式100被安裝於作業系統11中,作業系統11在計算設備10中運行,且計算設備10的處理器在執行應用程式100的程式碼後,本發明所提之目標選擇模組110、輸入模組120、系統呼叫模組130、以及加解密模組150等模組可以被產生並運作。
目標選擇模組110負責選擇作業目標。目標選擇模組110所選擇的作業目標為應用程式100所包含的一個或多個檔案或與應用程式100安裝在同一作業系統11中之一個或多個其他程式。其中,目標選擇模組110可以依據設定選擇特定的一個或多個作業目標,也可以依據使用者使用計算設備10之周邊輸入裝置所產生的確認、選取或點擊等目標選擇訊號選擇使用者指定的一個或多個作業目標。
輸入模組120負責提供輸入帳號資料,更詳細的,輸入模組120可以依據計算設備10之周邊輸入裝置所產生鍵入、滑動或點擊等操作訊號輸入帳號資料。輸入模組120提供輸入的帳號資料包含目標帳號及與目標帳號對應的密碼,其中,目標帳號通常已被安裝應用程式100之作業系統11所記錄。換句話說,被安裝應用程式100之作業系統11中可以記錄一個或多個帳號,而目標帳號是被安裝應用程式100之作業系統11所記錄之帳號中的一個。
一般而言,輸入模組120提供輸入之目標帳號與密碼通常都是由一定數量的字母、數字與符號任意排列而成。輸入模組120除了可以依據使用者使用計算設備10的周邊輸入裝置依序輸入目標帳號中的字母、數字、或符號之操作所產生之帳號輸入訊號轉換產生目標帳號外,也可以透過計算設備10的周邊輸出裝置顯示系統呼叫模組130由作業系統11取得之作業系統11所記錄的所有帳號,並依據使用者使用周邊輸入裝置進行點擊或選取之操作所產生的帳號選擇訊號選擇其中一個被顯示的帳號,被選擇的帳號即為目標帳號。另外,輸入模組120除了將使用者使用周邊輸入裝置依序輸入字母、數字、與符號之操作所產生的密碼輸入訊號轉換產生為密碼外,也可以將使用者使用周邊輸入裝置輸入手勢、選擇圖片等操作所產生的密碼輸入訊號轉換為密碼,藉以透過周邊輸入裝置提供使用者輸入密碼。
系統呼叫模組130負責呼叫安裝應用程式100之作業系統11所提供的應用程式介面(API),並負責接收所呼叫之應用程式介面所傳送的資料或訊號,其中,隨著需求的不同,系統呼叫模組130所呼叫的應用程式介面也會不同。例如,系統呼叫模組130可以呼叫取得帳號的應用程式介面,使得作業系統11透過計算設備10的處理器將所記錄的所有帳號傳回給系統呼叫模組130。
又如,系統呼叫模組130可以呼叫帳號驗證的應用程式介面,並將輸入模組120提供輸入的帳號資料透過帳號驗證的應用程式介面提供給作業系統11,使得作業系統11可以透過計算設備10的處理器判斷系統呼叫模組130所提供的帳號資料是否通過驗證,並可以將判斷結果傳回系統呼叫模組130。
也就是說,作業系統11可以透過計算設備10的處理器判斷系統呼叫模組130所傳送之帳號資料中的目標帳號是否為作業系統11所記錄的帳號之一,並判斷帳號資料中與目標帳號對應的密碼是否與作業系統11所記錄之目標帳號的密碼相同。若作業系統11判斷帳號資料中的目標帳號不是作業系統11所記錄的帳號,則作業系統11可以判斷帳號資料沒有通過驗證,又若作業系統11判斷帳號資料中的目標帳號為作業系統11所記錄的帳號,但帳號資料中與目標帳號對應的密碼與作業系統11所記錄之目標帳號的密碼不同,作業系統11同樣可以判斷帳號資料沒有通過驗證。換句話說,只有在作業系統11判斷帳號資料中的目標帳號是作業系統11所記錄的帳號,且帳號資料中與目標帳號對應的密碼與作業系統11所記錄之目標帳號的密碼也相同,作業系統11才可以判斷帳號資料通過驗證。
值得一提的是,在大部分的作業系統11中,系統呼叫模組130需要獲得作業系統11的帳號資訊使用權限才可以呼叫作業系統11所提供之與帳號相關的應用程式介面。一般而言,使用者可以操做作業系統11使得作業系統11透過計算設備10的處理器先行設定應用程式100擁有帳號資訊使用權限;若使用者沒有預先在作業系統11中設定應用程式100擁有帳號資訊使用權限,則在系統呼叫模組130呼叫與帳號相關的應用程式介面時,系統呼叫模組130可以透過計算設備10的周邊輸出裝置提示使用者到作業系統11中設定應用程式100擁有帳號資訊使用權限,或是由處理器執行作業系統11的特定程序使得作業系統11透過周邊輸出裝置詢問使用者是否讓應用程式100擁有帳號資訊使用權限。其中,當使用者透過計算設備10的周邊輸入裝置選擇同意讓應用程式100擁有帳號資訊使用權限時,作業系統11可以透過處理器設定應用程式100擁有帳號資訊使用權限,反之,作業系統11通常可以拒絕系統呼叫模組130的呼叫。因此,在系統呼叫模組130呼叫作業系統11所提供的應用程式介面前,可以先判斷使用者是否在作業系統11中先行設定應用程式100擁有帳號資訊使用權限,例如透過作業系統11所提供的應用程式介面檢查應用程式100是否擁有帳號資訊使用權限或檢查應用程式100的設定值(但本發明並不以此為限),若應用程式100擁有帳號資訊使用權限,則系統呼叫模組130可以呼叫作業系統11所提供的應用程式介面,若應用程式100沒有帳號資訊使用權限,則系統呼叫模組130可以產生並顯示設定應用程式100擁有帳號資訊使用權限的提示訊息;但實際上,系統呼叫模組130也可以不判斷而直接呼叫作業系統11所提供的應用程式介面,若應用程式100擁有帳號資訊使用權限,則系統呼叫模組130可以直接取得作業系統11所記錄之所有帳號,而若應用程式100沒有帳號資訊使用權限,則系統呼叫模組130將無法取得作業系統11所記錄之任何帳號,在部分的實施例中,作業系統11可以透過處理器產生錯誤訊息或警示訊息並透過周邊輸出裝置顯示被產生的錯誤訊息或警示訊息,或是透過處理器產生應用程式100需要擁有帳號資訊使用權限的提示訊息並透過周邊輸出裝置顯示被產生的提示訊息。
加解密模組150負責在系統呼叫模組130所接收到判斷結果表示帳號資料通過驗證時,使用輸入模組120提供輸入之帳號資料中的密碼加密或解密目標選擇模組110所選擇的作業目標。而若系統呼叫模組130所接收到判斷結果表示帳號資料沒有通過驗證,則加解密模組150可以拒絕對目標選擇模組110所選擇的作業目標進行加密或解密的操作。其中,加解密模組150可以將多個作業目標組合併加密為一個資料檔,也可以分別對各個作業目標加密產生多個資料檔。
一般而言,加解密模組150可以依據應用程式100的定義或使用者的操作,選擇加密或解密目標選擇模組110所選擇的作業目標,但本發明並不以此為限。
在部分的實施例中,加解密模組150可以依據輸入模組120提供輸入之帳號資料中的密碼產生金鑰,並可以使用所產生的金鑰加密或解密作業目標。例如,加解密模組150可以依據被做為密碼之圖片的數量及/或順序產生金要、或對被做為密碼之手勢的軌跡運算以產生金鑰,但本發明並不以此為限。
接著以第一實施例來解說本發明的運作系統與方法,並請參照「第2A圖」本發明所提之透過作業系統驗證密碼以進行加解密之方法流程圖。在本實施例中,假設本發明應用在資料備份還原程式中,藉以在備份還原的過程中被保護被備份出來的所有資料。
在使用者執行資料備份還原程式(應用程式100)中的備份功能後,目標選擇模組110可以選擇作業目標(步驟210)。在本實施例中,假設使用者可以透過目標選擇模組110所提供的目標選擇介面選擇安裝於作業系統11中的所有程式與所有檔案,目標選擇模組110可以將使用者所選擇之安裝於作業系統11中的所有程式與檔案)做為作業目標。
在目標選擇模組110選擇作業目標後,輸入模組120可以提供輸入帳號資料(步驟220)。在本實施例中,假設如「第2B圖」之流程所示,系統呼叫模組130可以呼叫作業系統11所提供的應用程式介面以取得作業系統11所記錄之所有帳號(步驟222),並可以將所取得之所有帳號提供給輸入模組120,輸入模組120可以顯示系統呼叫模組130所取得之所有帳號的清單,並可以提供使用者選擇其中一個帳號做為目標帳號(步驟224),以及在使用者選擇目標帳號後,提供使用者輸入與被選擇之目標帳號對應的密碼(步驟226),如此,使用者便可以透過輸入模組120完成帳號資料的輸入。
要說明的是,在系統呼叫模組130可以呼叫作業系統11所提供的應用程式介面以取得作業系統11所記錄之所有帳號(步驟222)時,系統呼叫模組130需要獲得帳號資訊使用權限。在本實施例中,系統呼叫模組130可以直接呼叫作業系統11所提供的應用程式介面,若使用者已預先設定應用程式100擁有帳號資訊使用權限,則系統呼叫模組130可以順利的呼叫作業系統11所提供的應用程式介面;若使用者沒有預先設定應用程式100擁有帳號資訊使用權限,則在系統呼叫模組130呼叫應用程式介面時,作業系統11可以彈出確認視窗或對話方塊詢問使用者是否讓應用程式100擁有帳號資訊使用權限,假設使用者選擇同意,則系統呼叫模組130可以順利的呼叫作業系統11所提供的應用程式介面,但要是使用者選擇不同,則應用程式100顯示錯誤訊息並關閉。
在輸入模組120提供輸入帳號資料(步驟220)後,系統呼叫模組130可以呼叫作業系統11的應用程式介面,並透過所呼叫之應用程式介面將輸入模組120提供輸入的帳號資料傳送給作業系統11,使得作業系統11可以判斷系統呼叫模組130所傳送之帳號資料中的目標帳號與相對應的密碼是否通過驗證(步驟230),並可以透過系統呼叫模組130所呼叫的應用程式介面將判斷結果傳回系統呼叫模組130。
在系統呼叫模組130取得作業系統11傳回的判斷結果後,加解密模組150可以依據系統呼叫模組130所取得之判斷結果判斷輸入模組120提供輸入的帳號資料是否通過驗證(步驟240)。若加解密模組150判斷輸入模組120提供輸入的帳號資料沒有通過驗證,則加解密模組150將不會執行加密或解密作業。
而若加解密模組150判斷輸入模組120提供輸入的帳號資料通過驗證,則加解密模組150可以使用輸入模組120提供輸入之帳號資料中的密碼執行加密或解密作業(步驟250)。在本實施例中,由於此時是備份功能被執行,因此,加解密模組150可以執行加密作業,假設加解密模組150可以將目標選擇模組110所選擇的作業目標(安裝於作業系統11中的所有程式與檔案)組合為一個檔案後,使用輸入模組120提供輸入的密碼對組合產生的檔案加密以產生一個資料檔,如此,資料備份還原程序便完成資料備份作業。
當使用者要將所備份的資料還原時,可以執行資料備份還原程式(應用程式100)中的還原功能,則目標選擇模組110可以選擇作業目標(步驟210)。在本實施例中,假設使用者可以透過目標選擇模組110所提供的目標選擇介面選擇先前備份產生的資料檔,目標選擇模組110可以顯示資料檔中所包含的所有檔案與程式,並提供使用者選擇,若使用者選擇了其中的兩個程式以及一個檔案,則目標選擇模組110可以將使用者所選擇的程式與檔案做為作業目標。
在目標選擇模組110選擇作業目標後,輸入模組120可以提供輸入帳號資料(步驟220)。在本實施例中,假設同樣如「第2B圖」之流程,使用者可以透過輸入模組120完成帳號資料的輸入。
在輸入模組120提供輸入帳號資料(步驟220)後,系統呼叫模組130可以呼叫作業系統11的應用程式介面,並透過所呼叫之應用程式介面將輸入模組120提供輸入的帳號資料傳送給作業系統11,使得作業系統11可以判斷系統呼叫模組130所傳送之帳號資料中的目標帳號與相對應的密碼是否通過驗證(步驟230),並可以透過系統呼叫模組130所呼叫的應用程式介面將判斷結果傳回系統呼叫模組130。
在系統呼叫模組130取得作業系統11傳回的判斷結果後,加解密模組150可以依據系統呼叫模組130所取得之判斷結果判斷輸入模組120提供輸入的帳號資料是否通過驗證(步驟240)。若加解密模組150判斷輸入模組120提供輸入的帳號資料通過驗證,則加解密模組150可以使用輸入模組120提供輸入之帳號資料中的密碼執行加密或解密作業(步驟250)。在本實施例中,由於此時是還原功能被執行,因此,加解密模組150可以執行解密作業,也就是使用輸入模組120提供輸入的密碼解密目標選擇模組110所選擇的作業目標,也就是解密使用者所選擇的兩個程式與一個檔案,如此,資料備份還原程式便完成資料還原作業。
如此,透過本發明,只要使用者所使用者裝置上的作業系統11可以提供本發明之系統呼叫模組130所呼叫的應用程式介面,不論使用者是在同一裝置上進行備份還原,或是在不同裝置上進行備份還原,都可以順利的完成,不會發生在還原時無法解密不同裝置上所進行之備份資料的問題。
繼續以第二實施例來解說本發明的運作系統與方法,同樣請參照「第2A圖」。在本實施例中,假設本發明被用來保護應用程式100之資料庫中所記錄之資料,但本發明並不以此為限。
在應用程式100開始執行時,或是應用程式100需要存取資料庫時,本發明可以被執行以解密資料庫,使得應用程式100可以存取資料庫。首先,目標選擇模組110可以選擇作業目標(步驟210)。在本實施例中,由於此時應用程式100為了要進行資料存取,因此應用程式100可以定義作業目標為資料庫,如此,目標選擇模組110可以依據應用程式100的定義,選擇資料庫做為作業目標。
在目標選擇模組110選擇作業目標(步驟210)後,輸入模組120可以提供輸入帳號資料(步驟220)。在本實施例中,假設使用者可以預先在應用程式100中設定之帳號資料,加解密模組150可以加密使用者所設定的帳號資料並儲存,如此,當輸入模組120需要提供輸入帳號資料時,加解密模組150可以將預先儲存在應用程式100中之帳號資料解密,使得輸入模組120可以取得解密後之帳號資料,藉以完成帳號資料的輸入。
之後,系統呼叫模組130可以呼叫作業系統11的應用程式介面,並透過所呼叫之應用程式介面將輸入模組120輸入帳號資料傳送給作業系統11,使得作業系統11可以判斷系統呼叫模組130所傳送之帳號資料中的目標帳號與相對應的密碼是否通過驗證(步驟230),並可以透過系統呼叫模組130所呼叫的應用程式介面將判斷結果傳回系統呼叫模組130。在本實施例中,假設系統呼叫模組130呼叫作業系統11的應用程式介面時,系統呼叫模組130需要獲得帳號資訊使用權限,否則作業系統11將拒絕系統呼叫模組130的呼叫,則系統呼叫模組130可以先判斷使用者是否在作業系統11中先行設定應用程式100擁有帳號資訊使用權限,若使用者沒有預先設定應用程式100擁有帳號資訊使用權限,則系統呼叫模組130可以產生並顯示提示訊息以提示使用者設定應用程式100擁有帳號資訊使用權限,並可以在使用者設定應用程式100擁有帳號資訊使用權限後,再次判斷使用者是否在作業系統11中先行設定應用程式100擁有帳號資訊使用權限;而若系統呼叫模組130判斷使用者已設定應用程式100擁有帳號資訊使用權限,則系統呼叫模組130可以順利的呼叫作業系統11所提供的應用程式介面,若使用者在安裝應用程式100時已設定應用程式100擁有帳號資訊使用權限,則系統呼叫模組130可以順利的呼叫作業系統11所提供的應用程式介面。
在作業系統11透過系統呼叫模組130所呼叫的應用程式介面將判斷結果傳回系統呼叫模組130後,若加解密模組150判斷輸入模組120提供輸入的帳號資料沒有通過驗證,則應用程式100可以產生錯誤訊息並關閉。
而若加解密模組150判斷輸入模組120提供輸入的帳號資料通過驗證,則加解密模組150可以使用輸入模組120輸入帳號資料中的密碼執行加密或解密作業(步驟250)。在本實施例中,由於此時應用程式100準備要存取資料庫,因此,加解密模組150可以依據應用程式100的定義執行解密作業,也就是使用輸入模組120所輸入之密碼解密應用程式100的資料庫。
在應用程式100被關閉時,本發明同樣會被執行以加密需要被保護的資料庫。首先,目標選擇模組110可以選擇作業目標(步驟210)。在本實施例中,應用程式100同樣可以定義作業目標為資料庫,如此,目標選擇模組110可以依據應用程式100的定義,選擇資料庫做為作業目標。
在目標選擇模組110選擇作業目標(步驟210)後,輸入模組120可以提供輸入帳號資料(步驟220)。在本實施例中,假設輸入模組120可以直接使用前述解密資料庫時所取得的帳號資料,也可以如前述,由加解密模組150可以將使用者預先在應用程式100中所設定之帳號資料解密,使得輸入模組120取得解密後之帳號資料以完成帳號資料的輸入。
之後,系統呼叫模組130可以呼叫作業系統11的應用程式介面,並透過所呼叫之應用程式介面將輸入模組120輸入帳號資料傳送給作業系統11,使得作業系統11可以判斷系統呼叫模組130所傳送之帳號資料中的目標帳號與相對應的密碼是否通過驗證(步驟230),並可以透過系統呼叫模組130所呼叫的應用程式介面將判斷結果傳回系統呼叫模組130。
若加解密模組150判斷輸入模組120提供輸入的帳號資料通過驗證,則加解密模組150可以使用輸入模組120輸入之帳號資料中的密碼執行加密或解密作業(步驟250)。在本實施例中,由於此時應用程式100準備要關閉,因此,加解密模組150可以依據應用程式100的定義執行加密作業,也就是使用輸入模組120所輸入之密碼加密應用程式100的資料庫。
如此,透過本發明,應用程式100中所記錄的資料可以獲得保護,同時,即使應用程式100被備份到不同裝置上執行,只要安裝應用程式之裝置的作業系統11提供本發明所呼叫之應用程式介面,應用程式100的資料庫同樣可以順利的完成解密與加密作業,不會因為安裝在不同裝置上而導致無法存取原有的 資料。
上述兩實施例中,在加解密模組150使用輸入模組120輸入之帳號資料中的密碼加密或解密目標選擇模組110所選擇的作業目標時(步驟250)時,加解密模組150可以先依據輸入模組120輸入之密碼產生金鑰,再使用金鑰加密或解密作業目標。例如,當輸入模組120提供輸入之密碼為手勢、圖片、或是選擇特定的選項時,加解密模組150可以依據被輸入之手勢的軌跡、圖片的資訊或圖片分析後的資料、或被選擇之選項的內容或相對應的資料產生金鑰,再使用金鑰加密或解密作業目標。
綜上所述,可知本發明與先前技術之間的差異在於具有輸入帳號資料後,呼叫作業系統之應用程式介面,使作業系統判斷帳號資料是否通過驗證,並在帳號資料通過驗證時,使用密碼加密或解密作業目標之技術手段,藉由此一技術手段可以來解決先前技術所存在安全性較高之加密方式僅有部分應用程式適合使用的問題,進而達成使應用程式之加密方式兼顧安全性與可用性的技術功效。
再者,本發明之透過作業系統驗證密碼以進行加解密之方法,可實現於硬體、軟體或硬體與軟體之組合中,亦可在電腦系統中以集中方式實現或以不同元件散佈於若干互連之電腦系統的分散方式實現。
雖然本發明所揭露之實施方式如上,惟所述之內容並非用以直接限定本發明之專利保護範圍。任何本發明所屬技術領域中具有通常知識者,在不脫離本發明所揭露之精神和範圍的前提下,對本發明之實施的形式上及細節上作些許之更動潤飾,均屬於本發明之專利保護範圍。本發明之專利保護範圍,仍須以所附之申請專利範圍所界定者為準。
10:計算設備11:作業系統100:應用程式110:目標選擇模組120:輸入模組130:系統呼叫模組150:加解密模組步驟210:選擇作業目標步驟220:提供輸入帳號資料,帳號資料包含作業系統所記錄之目標帳號及相對應之密碼步驟222:取得作業系統所記錄之所有帳號步驟224:提供由所有帳號中選出目標帳號步驟226:提供輸入與目標帳號對應之密碼步驟230:呼叫作業系統之應用程式介面,使作業系統判斷目標帳號及密碼是否通過驗證步驟240:判斷帳號資料是否通過驗證步驟250:使用密碼加密或解密作業目標
第1圖為本發明所提之透過作業系統驗證密碼以進行加解密之系統架構圖。 第2A圖為本發明所提之透過作業系統驗證密碼以進行加解密之方法流程圖。 第2B圖為本發明所提之輸入目標帳號及密碼之方法流程圖。
步驟210:選擇作業目標
步驟220:提供輸入帳號資料,帳號資料包含作業系統所記錄之目標帳號及相對應之密碼
步驟230:呼叫作業系統之應用程式介面,使作業系統判斷目標帳號及密碼是否通過驗證
步驟240:判斷帳號資料是否通過驗證
步驟250:使用密碼加密或解密作業目標

Claims (10)

  1. 一種透過作業系統驗證密碼以進行加解密之方法,係應用於一應用程式,該應用程式安裝於一作業系統中,該作業系統記錄至少一帳號及與該至少一帳號對應之一密碼,該方法至少包含下列步驟:選擇一作業目標;提供輸入一帳號資料;呼叫該作業系統之一應用程式介面,並透過該應用程式介面提供該帳號資料給該作業系統,使該作業系統依據該至少一帳號及該密碼判斷該帳號資料是否通過驗證;及透過該應用程式介面取得該作業系統所傳回之一判斷結果,當該判斷結果表示該帳號資料通過驗證時,使用該密碼加密或解密該作業目標。
  2. 如申請專利範圍第1項所述之透過作業系統驗證密碼以進行加解密之方法,其中選擇該作業目標之步驟為選擇該應用程式中之至少一檔案或選擇安裝於該作業系統中之至少一其他程式或檔案。
  3. 如申請專利範圍第1項所述之透過作業系統驗證密碼以進行加解密之方法,其中提供輸入帳號資料之步驟為取得該作業系統所記錄之所有帳號,並提供由該些帳號中選出其中之一做為該目標帳號,及提供輸入與該目標帳號對應之該密碼。
  4. 如申請專利範圍第1項所述之透過作業系統驗證密碼以進行加解密之方法,其中該方法於呼叫該作業系統之該應用程式介面之步驟前,更包含獲得帳號資訊使用權限之步驟。
  5. 如申請專利範圍第1項所述之透過作業系統驗證密碼以進行加解密之方法,其中使用該密碼加密或解密該作業目標之步驟更包含依據該密碼產生一金鑰,並使用該金鑰加密或解密該作業目標。
  6. 一種透過作業系統驗證密碼以進行加解密之系統,係應用於一計算設備中,該系統至少包含:一作業系統,由該計算設備所執行,用以記錄至少一帳號及與該至少一帳號對應之一密碼,及提供一應用程式介面;及一應用程式,安裝於該作業系統中,由該計算設備執行,其中更包含:一目標選擇模組,用以選擇一作業目標;一輸入模組,用以提供輸入一帳號資料;一系統呼叫模組,用以呼叫該應用程式介面,並透過該應用程式介面提供該帳號資料給該作業系統,使該作業系統依據該至少一帳號及該密碼判斷該帳號資料是否通過驗證,及用以透過該應用程式介面取得該作業系統所傳回之一判斷結果;及一加解密模組,用以於該判斷結果表示該帳號資料通過驗證時,使用該密碼加密或解密該作業目標。
  7. 如申請專利範圍第6項所述之透過作業系統驗證密碼以進行加解密之系統,其中該作業目標為該應用程式中之至少一檔案或安裝於該作業系統中之至少一其他程式或檔案。
  8. 如申請專利範圍第6項所述之透過作業系統驗證密碼以進行加解密之系統,其中該輸入模組更用以透過該系統呼叫模組取得該作業系統所記錄 之所有帳號,並提供由該些帳號中選出其中之一做為該目標帳號,及提供輸入與該目標帳號對應之該密碼。
  9. 如申請專利範圍第6項所述之透過作業系統驗證密碼以進行加解密之系統,其中該系統呼叫模組更用以獲得帳號資訊使用權限以呼叫該應用程式介面。
  10. 如申請專利範圍第6項所述之透過作業系統驗證密碼以進行加解密之系統,其中該加解密模組更用以依據該密碼產生一金鑰,並使用該金鑰加密或解密該作業目標。
TW107133352A 2018-09-21 2018-09-21 透過作業系統驗證密碼以進行加解密之系統及方法 TWI709099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107133352A TWI709099B (zh) 2018-09-21 2018-09-21 透過作業系統驗證密碼以進行加解密之系統及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107133352A TWI709099B (zh) 2018-09-21 2018-09-21 透過作業系統驗證密碼以進行加解密之系統及方法

Publications (2)

Publication Number Publication Date
TW202013291A TW202013291A (zh) 2020-04-01
TWI709099B true TWI709099B (zh) 2020-11-01

Family

ID=71130487

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107133352A TWI709099B (zh) 2018-09-21 2018-09-21 透過作業系統驗證密碼以進行加解密之系統及方法

Country Status (1)

Country Link
TW (1) TWI709099B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI263432B (en) * 2005-06-24 2006-10-01 Hitrust Com Inc Data security method for storage apparatus and storage media and electronic device
TWI447583B (zh) * 2012-02-10 2014-08-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
TWI599189B (zh) * 2013-11-27 2017-09-11 蘋果公司 在一電子裝置上使用於驗證頻道上傳達的密碼之認證之佈建
TWI623852B (zh) * 2015-10-14 2018-05-11 Finalcode Inc Access management system, file access system, encryption device and recording medium
TWM575144U (zh) * 2018-09-21 2019-03-01 臺灣網路認證股份有限公司 A computing device that verifies a password through an operating system for encryption and decryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI263432B (en) * 2005-06-24 2006-10-01 Hitrust Com Inc Data security method for storage apparatus and storage media and electronic device
TWI447583B (zh) * 2012-02-10 2014-08-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
TWI599189B (zh) * 2013-11-27 2017-09-11 蘋果公司 在一電子裝置上使用於驗證頻道上傳達的密碼之認證之佈建
TWI623852B (zh) * 2015-10-14 2018-05-11 Finalcode Inc Access management system, file access system, encryption device and recording medium
TWM575144U (zh) * 2018-09-21 2019-03-01 臺灣網路認證股份有限公司 A computing device that verifies a password through an operating system for encryption and decryption

Also Published As

Publication number Publication date
TW202013291A (zh) 2020-04-01

Similar Documents

Publication Publication Date Title
US11630903B1 (en) Secure public key acceleration
CN100470565C (zh) 安全许可证管理
CN107408183B (zh) 通过安全硬化管理代理进行的设备证实
US10846696B2 (en) Apparatus and method for trusted execution environment based secure payment transactions
US9582656B2 (en) Systems for validating hardware devices
KR100692347B1 (ko) 플랫폼 구성 레지스터를 리세트하기 위한 시스템 및 방법
CN101529366B (zh) 可信用户界面对象的标识和可视化
CN107431924B (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
US7900252B2 (en) Method and apparatus for managing shared passwords on a multi-user computer
EP2947594A2 (en) Protecting critical data structures in an embedded hypervisor system
US20190026442A1 (en) Offline activation for application(s) installed on a computing device
US20070234073A1 (en) Random password automatically generated by bios for securing a data storage device
TW201539247A (zh) 密碼輸入與確認方法及其系統
CN105283921A (zh) 非易失性存储器的操作
WO2023061262A1 (zh) 图像处理方法、装置、设备及存储介质
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
US10148669B2 (en) Out-of-band encryption key management system
WO2024064425A1 (en) Managing unique secrets in distributed systems
TWM575144U (zh) A computing device that verifies a password through an operating system for encryption and decryption
TWI709099B (zh) 透過作業系統驗證密碼以進行加解密之系統及方法
EP3044721B1 (en) Automatic pairing of io devices with hardware secure elements
US8935771B2 (en) System, method, and computer security device having virtual memory cells
US20050044408A1 (en) Low pin count docking architecture for a trusted platform
TWI698823B (zh) 於簽章時驗證使用者身分之系統及方法
TWM583978U (zh) 使用實體載具儲存數位憑證以進行線上交易之系統