TW201525759A - 一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器 - Google Patents

一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器 Download PDF

Info

Publication number
TW201525759A
TW201525759A TW102149397A TW102149397A TW201525759A TW 201525759 A TW201525759 A TW 201525759A TW 102149397 A TW102149397 A TW 102149397A TW 102149397 A TW102149397 A TW 102149397A TW 201525759 A TW201525759 A TW 201525759A
Authority
TW
Taiwan
Prior art keywords
time
key
computer software
verification
time key
Prior art date
Application number
TW102149397A
Other languages
English (en)
Inventor
Hsiu-Kang Chen
Original Assignee
Sage Information Systems Co Ltd
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 Sage Information Systems Co Ltd filed Critical Sage Information Systems Co Ltd
Priority to TW102149397A priority Critical patent/TW201525759A/zh
Publication of TW201525759A publication Critical patent/TW201525759A/zh

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器,係使用一次性金鑰產生器來進行電腦軟體的驗證,該一次性金鑰產生器依據授權金鑰、硬體識別碼及當前時間產生並輸出一次性金鑰,該電腦軟體接收並解碼該一次性金鑰以獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,依據該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間判斷該一次性金鑰是否驗證成功。透過以基於授權金鑰、時間及硬體識別碼所產生的一次性金鑰來進行電腦軟體驗證,可有效阻卻違法使用者盜拷電腦軟體或盜用電腦軟體的行為。

Description

一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器
本發明係有關於驗證方法、驗證系統及一次性金鑰產生器,尤其更有關於電腦軟體的驗證方法、驗證系統及一次性金鑰產生器。
近年來,盜拷電腦軟體或盜用電腦軟體的事件層出不窮,這些使用者的違法使用電腦軟體行為,嚴重侵害了電腦軟體開發者的智慧財產權,並造成電腦軟體開發者商業利益上的重大損失,也成為資訊科技進步的絆腳石。
為阻卻使用者違法盜拷電腦軟體或盜用電腦軟體的行為,各種科技保護措施陸續被提出,其中於電腦軟體中,最常見的科技保護措施是以產品授權金鑰進行驗證。當使用者第一次執行電腦軟體時,須輸入產品授權金鑰以進行電腦軟體的授權驗證,若該產品授權金鑰驗證成功,則允許使用者使用該電腦軟體。若該產品金鑰驗證失敗,則不允許使用者使用該電腦軟體。
然而,習知輸入產品授權金鑰的驗證方法存在重大漏洞。由於習知輸入產品授權金鑰的驗證方法僅能判斷當前輸入的產品授權金鑰是否合法,並無法對使用者取得或使用產品授權金鑰的方式做任何限制。因此,使用者僅須取得一組合法產品授權金鑰,便可同時於多個使用者電腦裝置上永久違法使用該電腦軟體,而使電腦軟體開發者的商業利益蒙受嚴重損失。
是以,習知輸入產品授權金鑰的授權驗證方法無法有效阻卻盜拷電腦軟體或盜用電腦軟體的行為,而亟待更有效的授權驗證方法被提出。
本發明之主要目的,係在於提供一種電腦軟體的驗證方法、驗證系統及一次性金鑰產生器,透過一次性金鑰產生器基於一電腦軟體的授權金鑰、當前時間及一使用者電腦裝置的硬體識別碼所產生的一次性金鑰,對在該使用者電腦裝置上安裝的該電腦軟體進行授權驗證,以阻卻違法使用者盜拷電腦軟體或盜用電腦軟體的行為。
為達上述目的,本發明提供一種電腦軟體的驗證系統,包括:一一次性金鑰產生器,用以接受觸發以產生一一次性金鑰,該一次性金鑰產生器包括:一儲存模組,儲存有一授權金鑰及一硬體識別碼,其中該硬體識別碼係對應至一已合法授權的使用者電腦裝置;一計時器模組,用以提供當前時間;一金鑰產生模組,連接該儲存模組及該計時器模組,並依據該授權金鑰、該硬體識別碼及當前時間產生該一次性金鑰;及一輸出模組,連接該金鑰產生模組,用以輸出該一次性金鑰;及一電腦軟體,用以安裝於該使用者電腦裝置中,該電腦軟體於啟動時接收並解碼該一次性金鑰以獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,並依據該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,對該一次性金鑰進行驗證。
本發明更進一步揭露一種一次性金鑰產生器,用於一電腦軟體的驗證,該一次性金鑰產生器包括:一儲存模組,儲存有一授權金鑰及一硬體識別碼,其中該硬體識別碼係對應至一已合法授權的使用者電腦裝置,該授權金鑰為該電腦軟體使用的一經過合法授權的產品授權金鑰,並且該電腦軟體安裝於該使用者電腦裝置中;一計時器模組,用以提供當前時間;一金鑰產生模組,連接該儲存模組及該計時器模組,並於該一次性金鑰產生器接受觸發後,依據該授權金鑰、該硬體識別碼及當前時間產生一一次性金鑰;及一輸出模組,連接該金鑰產生模組,用以輸出該一次性金鑰。
本發明更進一步揭露一種電腦軟體的驗證方法,係使用一一次性金鑰產生器來進行一電腦軟體的驗證,其中該電腦軟體安裝於一使用者電腦裝置中,該驗證方法包括:a)該一次性金鑰產生器接受一次性金鑰的產生請求;b)依據一授權金鑰、一硬體識別碼及當前時間產生一一次性金鑰,其中該硬體識別碼係對應至已合法授權的該使用者電腦裝置;c)輸出該一次性金鑰;d)該電腦軟體於被執行時接收該一次性金鑰;e)解碼該一次性金鑰以獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間;f)依據該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,對該一次性金鑰進行驗證。
相較於先前技術,本發明通過將硬體識別碼作為一次性金鑰的產生因子,可限制已獲得授權之電腦裝置方可通過驗證;通過將當前時間作為一次性金鑰的產生因子,並將金鑰的時效性加入驗證判斷條件,可使授權驗證更為嚴謹。通過上述技術手段,本發明可有效阻卻違法使用者的盜拷電腦軟體或盜用電腦軟體行為。
1、3‧‧‧驗證系統
10‧‧‧一次性金鑰產生器
100‧‧‧儲存模組
102‧‧‧計時器模組
104‧‧‧金鑰產生模組
106‧‧‧輸出模組
108‧‧‧網路傳輸模組
12‧‧‧使用者電腦裝置
120‧‧‧輸入設備
122‧‧‧傳輸設備
14、34‧‧‧電腦軟體
16、36‧‧‧更新伺服器
18、38‧‧‧網路
180、182、184、186、380、382、384、386、388‧‧‧連線
200‧‧‧SIM卡
202‧‧‧積體電路貼片
204‧‧‧晶片
206‧‧‧貼片電性接觸墊
208‧‧‧SIM卡電性接觸墊
210‧‧‧行動裝置
212‧‧‧SIM卡安裝槽
214‧‧‧符記產生裝置
216‧‧‧顯示螢幕
218‧‧‧按鍵
340‧‧‧雲端電腦裝置
S402-S412‧‧‧步驟
S502-S538‧‧‧步驟
第一圖為本發明第一較佳具體實施例的驗證系統架構圖。
第二A~二C圖為本發明之一次性金鑰產生器的第一較佳具體實施方式。
第二D圖為本發明之一次性金鑰產生器的第二較佳具體實施方式。
第三圖為本發明第二較佳具體實施例的驗證系統架構圖。
第四圖為本發明第三較佳具體實施例的驗證方法流程圖。
第五A~五B圖為本發明第四較佳具體實施例的驗證方法流程圖。
為能夠更加詳盡的了解本發明之特點與技術內容,請參閱以下所述之說明及附圖,然而所附圖示僅供參考說明之用,而非用來加以限制。
首請參閱第一圖,為本發明第一較佳具體實施例的授權驗證系統架構圖。如第一圖所示,本發明揭露了一種電腦軟體的授權驗證系統1,該驗證系統1主要包括:一次性金鑰產生器10及電腦軟體14。其中,該電腦軟體14係安裝於使用者電腦裝置12中。
該一次性金鑰產生器10係用以產生一次性金鑰,該一次性金鑰係用於該電腦軟體14的授權驗證,較佳地,該一次性金鑰產生器10係由該電腦軟體14的供應商所提供。該一次金鑰產生器10可為但不限於符記產生裝置(token device)。
如第一圖所示,該一次性金鑰產生器10主要包括儲存模組100、計時器模組102、金鑰產生模組104及輸出模組106。該儲存模組100儲存有授權金鑰及硬體識別碼。較佳地,該硬體識別碼係由獲得合法授權的使用者所提供,再由該電腦軟體14的供應商將該授權金鑰及該硬體識別碼儲存至該一次性金鑰產生器10的該儲存模組100中。於本發明之另一實施例中,使用者亦可透過網路更新該一次性金鑰產生器10中的該授權金鑰及該硬體識別碼。
該授權金鑰係該電腦軟體14使用的、經過合法授權的產品授權金鑰,該授權金鑰主要可為由數字、文字或符號所組成之序號或經加密之二元碼,但不應以此為限。該硬體識別碼係對應至已合法授權的該使用者電腦裝置12。具體而言,該硬體識別碼係如同該使用者電腦裝置12的身份辨識碼(ID number),由於不同的電腦裝置通常具有不同的硬體識別碼,因此,透過該硬體識別碼可分辨不同的電腦裝置。該硬體識別碼較佳地可為硬碟序號(HDD Serial Number)、國際行動設備識別(IMEI)號碼、行動設備識別碼(MEID)、行動資料號碼(CDN)、整合電路卡識別(ICCID)號碼、物理位置(mac address)、系統ID(System ID,SID)或設備ID(device ID)等,但不以此為限。
該計時器模組102係如同該一次性金鑰產生器10的系統時鐘,可提供當前時間。該金鑰產生模組104連接該儲存模組100及該計時器模組102,並可由該儲存模組100取得該授權金鑰與該硬體識別碼,由該計時器模組102取得當前時間。該金鑰產生模組104可依據該授權金鑰、該硬體識別碼及當前時間產生該一次性金鑰,其中,上述所指的當前時間,即為該一次性金鑰的產生時間。較佳地,該一次性金鑰可經過對稱式加密或非對稱式加密後產生,而於其他實施例中,該一次性金鑰亦可不經加密直接產生,不應加以限定。
該一次性金鑰產生器10所產生的該一次性金鑰,可為用來直接輸入至該使用者電腦裝置12以進行授權驗證的序列字串、需經掃描方可傳輸至該使用者電腦裝置12以進行授權驗證的二維條碼、需經匯入方可傳輸至該使用者電腦裝置12中以進行授權驗證的金鑰檔案或可由該使用者電腦裝置12自行執行以進行對電腦軟體14進行授權驗證的執行檔等,不應加以限定。
該輸出模組106連接該金鑰產生模組104,用以通過一輸出方式輸出該一次性金鑰。該輸出方式可為但不限於將序列字串或二維條碼輸出至顯示螢幕、將金鑰檔案或執行檔以有線/無線傳輸方式輸出至該使用者電腦裝置12等,不加以限定。
該電腦軟體14於啟動時,係通過該使用者電腦裝置12的螢幕顯示請求輸入該一次性金鑰之訊息,並且再通過一接收方式接收該一次性金鑰。該接收方式可為但不限於透過該使用者電腦裝置12的輸入設備120接收使用者所輸入之該一次性金鑰、透過該使用者電腦裝置12的傳輸設備122以無線/有線傳輸方式接收該一次性金鑰產生器10輸出的該一次性金鑰等。於本發明之另一實施例中,該輸出模組106本身即可為顯示螢幕,可將該一次性金鑰以二維條碼的形式顯示至該顯示螢幕中,而該輸入設備120可為影像擷取器,該使用者電腦裝置12可透過該影像擷取器擷取該二維條碼並傳遞給該電腦軟體14。
值得一提的是,該輸出模組106與該傳輸設備122間的無線傳輸方式可為但不限於近場通訊傳輸(Near Field Communication,NFC)、藍芽無線傳輸(bluetooth)、紅外線無線傳輸(Infrared)、Wi-Fi無線傳輸、長期演進無線傳輸(Long Term Evolution,LTE)、寬頻分碼多工存取無線傳輸(Wide band Code Division Multiple Access,WCDMA)、全球互通微波存取無線傳輸(Worldwide Interoperability for Microwave Access,WiMAX)。該輸出模組106與該傳輸設備122間的有線傳輸方式可為但不限於通用序列匯流排傳輸(Universal Serial Bus,USB)、RS232訊號傳輸(Recommend Standard number 232)、光纖網路傳輸(Optical Fiber)、雙絞線傳輸(Twist Pair)、同軸電纜傳輸(Coaxial Cable)。於本發明之另一實施例中,該輸出模組106與該傳輸設備122兩端可分別使用不同的有線傳輸方式。
該電腦軟體14取得該一次性金鑰後,接著對該一次性金鑰進行解碼,以從該一次性金鑰中獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,並依據該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,對該一次性金鑰進行驗證。
於本發明之另一實施例中,該電腦軟體14進一步記錄臨界值,並由該使用者電腦裝置12取得當前時間。該電腦軟體14判斷該授權金鑰是否與其使用的、一經過合法授權的產品授權金鑰相符、該硬體識別碼與該使用者電腦裝置12的硬體識別碼是否相符及當前時間與該一次性金鑰產生時間之差距是否小於該臨界值,若該授權金鑰與該產品授權金鑰相符、該硬體識別碼與該使用者電腦裝置12的硬體識別碼相符且當前時間與該一次性金鑰產生時間之差距小於該臨界值,則該電腦軟體14判斷該一次性金鑰驗證成功。值得一提的是,若當前時間與該一次性金鑰產生時間之差距不小於該臨界值,即便該授權金鑰合法且該硬體識別碼與該使用者電腦裝置12的硬體識別碼相符,該電腦軟體14仍將判定該一次性金鑰無效而驗證失敗。
舉例來說,在該授權金鑰與該產品授權金鑰相符、該硬體識別碼與該使用者電腦裝置12的硬體識別碼相符之前提下,若該臨界值為5分鐘,該一次性金鑰產生時間為2013年12月31日17:28,當前時間為2013年12月31日17:30,該一次性金鑰產生時間與當前時間相差為2分鐘,小於臨界值的5分鐘,故該電腦軟體14將判定該一次性金鑰有效而驗證成功;若該臨界值為5分鐘,該一次性金鑰產生時間為2013年12月31日17:23,當前時間為2013年12月31日17:30,該一次性金鑰產生時間與當前時間相差為7分鐘,大於臨界值的5分鐘,則該電腦軟體14將判定該一次性金鑰無效。雖於本實施例中,該臨界值為5分鐘,但不應以此為限,亦可為30秒或7日,可視電腦軟體供應商的銷售策略而定。
於本發明之另一實施例中,該電腦軟體14還可進一步記錄一個驗證有效期限。當該電腦軟體14未記錄一個驗證有效日,或是判斷當前時間已超過該驗證有效日時,該電腦軟體14會通過該使用者電腦設備12顯示一提示訊息,並強迫使用者再次輸入該一次性金鑰,以重新進行驗證。若該電腦軟體14判斷使用者所輸入之該一次性金鑰通過前述驗證,則該電腦軟體14會將當前時間或該一次性金鑰的產生時間加上該驗證有效期限,以獲得該驗證有效日,並記錄該驗證有效日。
舉例來說,若該驗證有效期限為一個月,當前時間為2013年12月31日17:30,則當該電腦軟體14判斷該一次性金鑰通過前述驗證後,即將當前時間加上一個月,以產生該驗證有效日(即為2014年1月31日17:30),並記錄該驗證有效日。於該驗證有效日到期前,使用者皆不需再次驗證便可無限制地使用該電腦軟體14。若該驗證有效日到期,則該電腦軟體14無法繼續使用,使用者需再次以該一次性金鑰產生器10產生一次性金鑰,並重複上述驗證步驟,以令該電腦軟體14重新計算並記錄一個新的驗證有效日。雖於本實施例中該驗證有效期限為一個月,但不應以此為限,亦可為數個月或1年等,可視電腦軟體供應商銷售策略及所需安全性而定。
於本發明之又一實施例中,該一次性金鑰產生器10的該儲存模組100可進一步儲存一次性金鑰產生期限。該金鑰產生模組104在要產生該一次性金鑰之前,係進一步判斷當前時間是否超過該一次性金鑰產生期限。若當前時間未超過該一次性金鑰產生期限,則允許產生該一次性金鑰;若當前時間超過該一次性金鑰產生期限,則不允許產生該一次性金鑰。
舉例來說,若一次性金鑰產生期限為2013年12月28日17:30,當前時間為2013年12月31日17:30,由於當前時間已超過該一次性金鑰產生期限,故該金鑰產生模組104不允許產生該一次性金鑰;再例如,若一次性金鑰產生期限為2014年1月28日17:30,當前時間為2013年12月31日17:30,由於當前時間並未超過該一次性金鑰產生期限,故該金鑰產生模組104允許產生該一次性金鑰。雖於本實施例中係以日期作為是否允許產生該一次性金鑰之判斷依據,但不應以此為限,亦可以該一次性金鑰的累計產生次數或剩餘可產生次數作為是否允許產生該一次性金鑰之判斷依據,可視電腦軟體供應商銷售策略及所需安全性而定。
於本發明之另一較佳具體實施例中,該驗證系統1可進一步包括更新伺服器16,該更新伺服器16儲存有最新版之該授權金鑰及/或該硬體識別碼。該一次性金鑰產生器10進一步包括網路傳輸模組108。該網路傳輸模組108連接該儲存模組100,並可通過網路18,以連線184、180之路徑連線至該更新伺服器16。該網路傳輸模組108自該更新伺服器16取得最新版之該授權金鑰或該硬體識別碼,並儲存至該儲存模組100。雖於本實施例中,該一次性金鑰產生器10係以自身之該網路傳輸模組108連線至該更新伺服器16進行該授權金鑰或該硬體識別碼的更新,但不應以此為限,該一次性金鑰產生器10亦可通過連接該使用者電腦裝置12,以連線186、182、180之路徑連線至該更新伺服器16,進行該授權金鑰或該硬體識別碼的更新。
續請參閱第二A到二C圖,為本發明之一次性金鑰產生器的一較佳具體實施例。於本實施例中,該一次性金鑰產生器係積體電路貼片202,該積體電路貼片202貼附於用戶識別模組(Subscriber Identity Module,SIM)卡200上。該積體電路貼片202包括晶片204及貼片電性接觸墊206,該晶片204用以實現第一圖的一次性金鑰產生器10。該SIM卡200包括SIM卡電性接觸墊208。較佳地,該晶片204中儲存有可實現一次性金鑰產生器之功能的程式。
當該積體電路貼片202貼附於該SIM卡200時,該貼片電性接觸墊206與該SIM卡電性接觸墊208電性連接。當貼附該積體電路貼片202後的該SIM卡200安裝於行動裝置210的SIM卡安裝槽212時,該行動裝置210可通過該貼片電性接觸墊206同時讀取該晶片204及該SIM卡200。藉此,使用者可操作該行動裝置210,以SIM卡工具包(Tool Kit)方式執行該晶片204內的程式,以產生該一次性金鑰。於此實施例中,該一次性金鑰可通過該行動裝置210的螢幕來顯示,或由該行動裝置210通過有線/無線方式傳送至該使用者電腦裝置12,不加以限定。
通過該積體電路貼片202實現一次性金鑰產生器10,使用者僅需取得該積體電路貼片202即可便捷地以即有的行動裝置來產生該一次性金鑰,因而該電腦軟體14的供應商可大幅節省該一次性金鑰產生器10的製造成本。
續請參閱第二D圖,為本發明之一次性金鑰產生器的另一較佳具體實施例。於本實施例中,該一次性金鑰產生器10係符記產生裝置(token device)214,較佳地,該符記產生裝置214為卡片式符記產生裝置,可與晶片卡或磁條卡共同設置於單一卡片中。當使用者按下該符記產生裝置214上的按鍵218後,該符記產生裝置214產生一組一次性金鑰,並顯示於顯示螢幕216中。藉此,使用者可將該一次性金鑰透過第一圖所示之該使用者電腦裝置12的輸入設備120輸入至該電腦軟體14中,以進行該電腦軟體14的驗證。
續請參閱第三圖,為本發明第二較佳具體實施例的電腦軟體的驗證系統架構圖。本實施例之一次性金鑰產生器30、使用者電腦裝置32、電腦軟體34、網路38、更新伺服器36及連線382、384、386、380係分別與第一圖之一次性金鑰產生器10、使用者電腦裝置12、電腦軟體14、網路18、更新伺服器16及連線182、184、186、180完全相同,在此不再贅述。本實施例與第一圖差異在於,本實施例之該電腦軟體34係儲存於雲端電腦裝置340中,使用者可透過該網路38,以連線382、388的路徑連線至該雲端電腦裝置340,以執行該電腦軟體34。該電腦軟體34被執行後,可通過該使用者電腦裝置32的螢幕提示使用者輸入一次性金鑰,以進行與前述段落相同之電腦軟體的驗證。
續請參閱第四圖,為本發明第三較佳具體實施例的電腦軟體的授權驗證方法流程圖。本實施例之電腦軟體的授權驗證方法主要係由第一圖所示之該驗證系統1來進行說明但亦可由第三圖所示該驗證系統3來加以實現,不應加以限定。
如第四圖所示,首先開始該電腦軟體14的驗證。步驟S402:該一次性金鑰產生器10接受一次性金鑰的產生請求,較佳地,係由使用者按壓該一次性金鑰產生器10上所設置之按鍵,或執行可實現該一次性金鑰產生器10之程式,以觸發該產生請求。
接著執行步驟S404:該一次性金鑰產生器10依據授權金鑰、硬體識別碼及當前時間產生一次性金鑰,其中該硬體識別碼係對應至已合法授權的該使用者電腦裝置12、該授權金鑰係該電腦軟體14使用的、經過合法授權的產品授權金鑰、並且該一次性金鑰產生器10將當前時間視為該一次性金鑰的產生時間。
接著執行步驟S406:該一次性金鑰產生器10輸出該一次性金鑰。並且執行步驟S408:該電腦軟體14接收該一次性金鑰。
接著執行步驟S410:該電腦軟體14解碼該一次性金鑰以獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間。步驟S412:該電腦軟體14依據該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,對該一次性金鑰進行驗證。
續請參閱第五A~五B圖,為本發明第四較佳具體實施例的電腦軟體的驗證方法流程圖。本實施例之電腦軟體的驗證方法主要係由第一圖所示的該驗證系統1來說明但亦可由第三圖所示之該驗證系統3來加以實現,不以此為限。首先開始該電腦軟體14的驗證,並跳至步驟S502或S504。
步驟S502:該更新伺服器16傳送最新版的該授權金鑰或該硬體識別碼至該一次性金鑰產生器10。該一次性金鑰產生器10取得該授權金鑰或該硬體識別碼後,即可跳至步驟S508。
步驟S504:該電腦軟體14判斷是否已記錄一驗證有效日,或是當前時間是否超過該驗證有效日。若該電腦軟體14未記錄該驗證有效日,或當前時間超過該驗證有效日時,則執行步驟S506:要求輸入該一次性金鑰,以進行驗證,並跳至步驟S508;若該電腦軟體14已記錄該驗證有效日,且當前時間未超過該驗證有效日時,則直接跳至步驟S536:允許使用該電腦軟體14。
值得一提的是,步驟S502與步驟S504、506為兩組獨立步驟,雖於第五A圖中係步驟S502與步驟S504、506兩組擇一執行,但不應以此為限,亦可步驟S502、S504、S506皆執行,或皆不執行。
步驟S508:該一次性金鑰產生器10接受一次性金鑰的產生請求,並跳至步驟S510。
步驟S510:該一次性金鑰產生器10判斷當前時間是否超過該一次性金鑰產生期限。若當前時間未超過該一次性金鑰產生期限,則跳至步驟S512;若當前時間超過該一次性金鑰產生期限,則執行步驟S514:不產生該一次性金鑰。
步驟S512:該一次性金鑰產生器10依據授權金鑰、硬體識別碼及當前時間產生該一次性金鑰,其中該硬體識別碼係對應至已合法授權的該使用者電腦裝置12、該授權金鑰係該電腦軟體14使用的、經過合法授權的產品授權金鑰、並且該一次性金鑰產生器10將當前時間視為該一次性金鑰的產生時間。接著執行步驟S516。
步驟S516:該一次性金鑰產生器10輸出該一次性金鑰。接著執行步驟S518。
步驟S518:該電腦軟體14接收該一次性金鑰,接著執行步驟S520。
步驟S520:該電腦軟體14解碼該一次性金鑰以獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間。接著執行步驟S522。
步驟S522:該電腦軟體14判斷該授權金鑰是否與該產品授權金鑰相符。若該電腦軟體14判斷該授權金鑰與該產品授權金鑰相符,則執行步驟S524,反之則執行步驟S538:該電腦軟體14提示驗證失敗訊息,並結束該電腦軟體14的驗證動作。
步驟S524:該電腦軟體14判斷該硬體識別碼是否與該使用者電腦裝置12的硬體識別碼相符。若該電腦軟體14判斷該硬體識別碼與該使用者電腦裝置12的硬體識別碼相符,則執行步驟S526,反之則執行步驟S538:該電腦軟體14提示驗證失敗訊息,並結束該電腦軟體14的驗證動作。
步驟S526:該電腦軟體14判斷當前時間與該一次性金鑰的產生時間之差距是否小於該臨界值。若該電腦軟體14判斷當前時間與該一次性金鑰的產生時間之差距小於該臨界值,則執行步驟S528,反之則執行步驟S538:該電腦軟體14提示驗證失敗訊息,並結束該電腦軟體14的驗證動作。
值得一提的是,於本實施例中係以步驟S522、S524、S526之順序進行說明,但並非用以限定步驟S522、S524、S526之執行順序。步驟S522、S524、S526之間並無實質先後順序關係,實可依實際所需而進行改變。
步驟S528:該電腦軟體14提示驗證成功訊息,並執行步驟S530。
步驟S530:允許使用該電腦軟體14,並執行步驟S532。
步驟S532:該電腦軟體14將當前時間或該一次性金鑰的產生時間加上該驗證有效期限,作為該電腦軟體14的該驗證有效日。接著,於該電腦軟體14的使用過程中,執行步驟S534:該電腦軟體14持續判斷當前時間是否超過該驗證有效日,並且於當前時間超過該驗證有效日時,重新要求輸入該一次性金鑰,以再次進行驗證。
雖於上述實施例中,係在步驟S528執行結束後,接著執行步驟S530,但此僅為本發明之一實施例。於本發明之另一實施例中,亦可省略步驟S530,而僅執行步驟S532、S534,或是僅執行步驟S530,省略步驟S532、S534,不加以限定。
本發明通過將硬體識別碼作為一次性金鑰的產生因子之一,僅有已獲得授權之電腦裝置可通過驗證,可有效避免使用者同時於多個使用者電腦裝置上違法安裝/使用電腦軟體。
本發明通過將進行驗證的時間與該一次性金鑰的產生時間的差距作為判斷授權驗證是否通過的條件之一,可有效限制使用者取得一次性金鑰至進行授權驗證的時間。即便使用者以違法方式取得合法的一次性金鑰,由於本發明的一次性金鑰具有時效性,且以違法方式取得的一次性金鑰往往已距離該一次性金鑰的產生時間相當久。最終,該以違法方式取得的一次性金鑰,將因過期而無法通過授權驗證。本發明透過上述技術手段可有效阻卻盜拷電腦軟體或盜用電腦軟體的行為。
另,本發明之電腦軟體記錄有驗證有效日,當驗證有效日到期時,電腦軟體將要求使用者重新進行授權驗證。本發明通過以驗證有效日來判斷是否請求使用者重新進行驗證,限制使用者必須定期進行驗證,可有效避免於習知技術中,使用者破解電腦軟體的產品授權金鑰後便可永久使用該電腦軟體的問題,而有效阻卻盜拷電腦軟體或盜用電腦軟體的行為。
本發明通過以網路更新該一次性金鑰產生器的該授權金鑰或該硬體識別碼,當使用者取得新授權或變更授權內容後,可以簡便快捷的方式更新該一次性金鑰的產生因子,而不需重新換發該一次性金鑰產生器,可有效節省使用者新增授權或授權內容變更後的等待生效時間,亦可有效節省電腦軟體供應商製造該一次性金鑰產生器的成本。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
S402-S412‧‧‧步驟

Claims (18)

  1. 一種電腦軟體的驗證系統,包括:
    一一次性金鑰產生器,用以接受觸發以產生一一次性金鑰,該一次性金鑰產生器包括:
    一儲存模組,儲存有一授權金鑰及一硬體識別碼,其中該硬體識別碼係對應至一已合法授權的使用者電腦裝置;
    一計時器模組,用以提供當前時間;
    一金鑰產生模組,連接該儲存模組及該計時器模組,依據該授權金鑰、該硬體識別碼及當前時間產生該一次性金鑰;及
    一輸出模組,連接該金鑰產生模組,用以輸出該一次性金鑰;及
    一電腦軟體,用以安裝於該使用者電腦裝置中,該電腦軟體於啟動時接收並解碼該一次性金鑰以獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,並依據該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,對該一次性金鑰進行驗證。
  2. 如申請專利範圍第1項所述之電腦軟體的驗證系統,其中更包括一更新伺服器,該更新伺服器儲存有最新版之該授權金鑰與該硬體識別碼,該一次性金鑰產生器進一步包括一網路傳輸模組,該網路傳輸模組連接該儲存模組,並通過網路連線至該更新伺服器,該網路傳輸模組自該更新伺服器取得最新版之該授權金鑰或該硬體識別碼,並儲存至該儲存模組。
  3. 如申請專利範圍第1項所述之電腦軟體的驗證系統,其中該儲存模組進一步儲存有一一次性金鑰產生期限;該金鑰產生模組於接受觸發後判斷當前時間是否超過該一次性金鑰產生期限,並於判斷當前時間未超過該一次性金鑰產生期限時產生該一次性金鑰。
  4. 如申請專利範圍第1項所述之電腦軟體的驗證系統,其中該電腦軟體記錄一臨界值,並由該使用者電腦裝置取得當前時間;該電腦軟體判斷該授權金鑰是否與其使用的一經過合法授權的產品授權金鑰相符、該硬體識別碼與該使用者電腦裝置的硬體識別碼是否相符、及當前時間與該一次性金鑰的產生時間之差距是否小於該臨界值,若該授權金鑰與該產品授權金鑰相符、該硬體識別碼與該使用者電腦裝置的硬體識別碼相符、且當前時間與該一次性金鑰產生時間之差距小於該臨界值,則該電腦軟體判斷該一次性金鑰驗證成功。
  5. 如申請專利範圍第1項所述之電腦軟體的驗證系統,其中該電腦軟體進一步記錄一驗證有效期限;該電腦軟體將當前時間或該一次性金鑰的產生時間加上該驗證有效期限,以產生並記錄一驗證有效日,該電腦軟體於被執行時持續判斷當前時間是否超過該驗證有效日,並且於當前時間超過該驗證有效日時,重新要求輸入該一次性金鑰,以再次進行驗證。
  6. 一種一次性金鑰產生器,用於一電腦軟體的驗證,該一次性金鑰產生器包括:
    一儲存模組,儲存有一授權金鑰及一硬體識別碼,其中該硬體識別碼係對應至一已合法授權的使用者電腦裝置,該授權金鑰為該電腦軟體使用的一經過合法授權的產品授權金鑰,並且該電腦軟體安裝於該使用者電腦裝置中;
    一計時器模組,用以提供當前時間;
    一金鑰產生模組,連接該儲存模組及該計時器模組,並於該一次性金鑰產生器接受觸發後,依據該授權金鑰、該硬體識別碼及當前時間產生一一次性金鑰;及
    一輸出模組,連接該金鑰產生模組,用以輸出該一次性金鑰。
  7. 如申請專利範圍第6項所述之一次性金鑰產生器,其中該一次性金鑰產生器係一積體電路貼片,用以貼附於一用戶識別模組(Subscriber Identity Module,SIM)卡上。
  8. 如申請專利範圍第6項所述之一次性金鑰產生器,其中該一次性金鑰產生器係一符記產生裝置(token device)。
  9. 如申請專利範圍第8項所述之一次性金鑰產生器,其中該輸出模組係顯示螢幕,用以顯示該一次性金鑰。
  10. 如申請專利範圍第6項所述之一次性金鑰產生器,其中該儲存模組進一步儲存有一一次性金鑰產生期限;該金鑰產生模組於接受觸發後判斷當前時間是否超過該一次性金鑰產生期限,並於判斷當前時間未超過該一次性金鑰產生期限時產生該一次性金鑰。
  11. 一種電腦軟體的驗證方法,係使用一一次性金鑰產生器來進行一電腦軟體的驗證,其中該電腦軟體安裝於一使用者電腦裝置中,該驗證方法包括:
    a)該一次性金鑰產生器接受一次性金鑰的產生請求;
    b)依據一授權金鑰、一硬體識別碼及當前時間產生一一次性金鑰,其中該硬體識別碼係對應至已合法授權的該使用者電腦裝置;
    c)輸出該一次性金鑰;
    d)該電腦軟體於被執行時接收該一次性金鑰;
    e)解碼該一次性金鑰以獲得該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間;
    f)依據該授權金鑰、該硬體識別碼及該一次性金鑰的產生時間,對該一次性金鑰進行驗證。
  12. 如申請專利範圍第11項所述之電腦軟體的驗證方法,其中該一次性金鑰產生器進一步包括一顯示螢幕;於該步驟c中,該一次性金鑰產生器輸出該一次性金鑰至該顯示螢幕;於該步驟d中,該電腦軟體接收使用者通過該使用者電腦裝置的一輸入設備所輸入之該一次性金鑰。
  13. 如申請專利範圍第11項所述之電腦軟體的驗證方法,其中,於該步驟d之前,進一步包括下列步驟:
    d1)該電腦軟體判斷是否已記錄一驗證有效日,及當前時間是否超過該驗證有效日;
    d2)若該電腦軟體未記錄該驗證有效日,或當前時間超過該驗證有效日時,則要求輸入該一次性金鑰,以進行驗證。
  14. 如申請專利範圍第11項所述之電腦軟體的驗證方法,其中,該一次性金鑰產生器經由網路連線至一更新伺服器;於該步驟a之前,進一步包括一步驟a0:該更新伺服器傳送該授權金鑰或該硬體識別碼至該一次性金鑰產生器。
  15. 如申請專利範圍第11項所述之電腦軟體的驗證方法,其中該一次性金鑰產生器進一步儲存有一一次性金鑰產生期限;於該步驟a之後,進一步包括下列步驟:
    a1)判斷當前時間是否超過該一次性金鑰產生期限;
    a2)若當前時間未超過該一次性金鑰產生期限,則執行步驟b。
  16. 如申請專利範圍第11項所述之電腦軟體的驗證方法,其中該步驟f包括下列步驟:
    f1)判斷該授權金鑰是否與該電腦軟體使用的一經過合法授權的產品授權金鑰相符;
    f2)判斷該硬體識別碼是否與該使用者電腦裝置的硬體識別碼相符;
    f3)判斷當前時間與該一次性金鑰產生時間之差距是否小於一臨界值;
    f4)若該授權金鑰與該產品授權金鑰相符、該硬體識別碼與該使用者電腦裝置的硬體識別碼相符、且當前時間與該一次性金鑰產生時間之差距小於該臨界值,則判斷該一次性金鑰驗證成功。
  17. 如申請專利範圍第16項所述之電腦軟體的驗證方法,其中於該步驟f4之後進一步包括一步驟f5:若該一次性金鑰驗證成功,則允許使用該電腦軟體。
  18. 如申請專利範圍第16項所述之電腦軟體的驗證方法,其中更包括下列步驟:
    g)該一次性金鑰驗證成功後,則將當前時間或該一次性金鑰的產生時間加上一驗證有效期限,作為該電腦軟體的一驗證有效日;及
    h)該電腦軟體於被執行時持續判斷當前時間是否超過該驗證有效日,並且於當前時間超過該驗證有效日時,重新要求輸入該一次性金鑰,以再次進行驗證。
TW102149397A 2013-12-31 2013-12-31 一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器 TW201525759A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102149397A TW201525759A (zh) 2013-12-31 2013-12-31 一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102149397A TW201525759A (zh) 2013-12-31 2013-12-31 一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器

Publications (1)

Publication Number Publication Date
TW201525759A true TW201525759A (zh) 2015-07-01

Family

ID=54197665

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102149397A TW201525759A (zh) 2013-12-31 2013-12-31 一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器

Country Status (1)

Country Link
TW (1) TW201525759A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2551907A (en) * 2016-05-30 2018-01-03 Silverleap Tech Limited Increased security through ephemeral keys for software virtual contactless card in a mobile phone

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2551907A (en) * 2016-05-30 2018-01-03 Silverleap Tech Limited Increased security through ephemeral keys for software virtual contactless card in a mobile phone
GB2551907B (en) * 2016-05-30 2019-11-20 Silverleap Tech Limited Method and system for providing a symmetric keypair with a master key and a transient derived key

Similar Documents

Publication Publication Date Title
US9973518B2 (en) Apparatus and method for checking message and user terminal
US8479000B2 (en) Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit
CN111164627B (zh) 信息处理装置、信息处理系统、信息处理方法以及程序
CN101496020B (zh) 控制数字内容的未授权使用的方法、系统和相关设备
JP4533935B2 (ja) ライセンス認証システム及び認証方法
US10706130B2 (en) System and method for software activation and license tracking
CN112313648A (zh) 认证系统、认证方法、应用提供装置、认证装置以及认证用程序
CN103744686A (zh) 智能终端中应用安装的控制方法和系统
US20160330030A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Hash Value And Method Of Detecting Forgery Of Application Program Using The Same
CN111538517A (zh) 一种服务器固件升级方法、系统及电子设备和存储介质
KR101422451B1 (ko) 콘텐츠 또는 어플리케이션의 제공 시스템, 콘텐츠 또는 어플리케이션의 제공 시스템의 제어 방법, 단말 장치, 단말 장치의 제어 방법, 인증 장치, 인증 장치의 제어 방법, 및 정보 기억 매체
WO2014183704A1 (zh) 一种软件注册的控制方法、认证服务器及终端
JP2012033148A (ja) 情報処理装置、情報処理方法およびプログラム
CN111143788B (zh) 许可证处理方法、电子设备、存储介质
CN112632481A (zh) 用于对软件进行授权的方法、终端设备及存储介质
JP2011100411A (ja) 認証代行サーバ装置、認証代行方法及びプログラム
TW201525759A (zh) 一種電腦軟體的驗證系統、驗證方法及一次性金鑰產生器
KR20090000256A (ko) Drm 디바이스의 시간 정보를 업데이트하기 위한 방법 및그 시스템
JP4834686B2 (ja) コンテンツ配布システム及びコンテンツ配布方法
JP6307610B2 (ja) データ改竄検知装置、データ改竄検知方法、及びプログラム
CN103699535A (zh) 网页加载方法及终端设备
JP2015207152A (ja) アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法
KR101561771B1 (ko) 휴대용 단말기를 이용한 소프트웨어 복제방지 및 권한인증 장치 및 그 방법
TWI466527B (zh) 根據裝置識別碼產生通行碼的系統、方法及該系統中的伺服端裝置
CN112579998A (zh) 信息交互平台中的网页访问方法、管理系统和电子设备