一種安全設置終端系統時間方法和系統與流程
2024-04-03 17:17:05 3

本發明涉及通信技術領域,特別涉及一種安全設置終端系統時間方法和系統。
背景技術:
用戶在使用安全性有要求的終端(如POS終端)時,有時會發現POS的系統時間發生偏差,由於處於使用態下的POS不提供修改系統時間的功能,對發生時間偏差的終端,客服整改時,需要拆機,進入維修態,以便修改POS系統時間。這樣導致維修後的POS需要重新進行下載密鑰等操作。從而使得系統時間的修改相對複雜和麻煩。
技術實現要素:
為此,需要提供一種安全設置終端系統時間方法,解決現有終端在安全的情況下修改系統時間麻煩的問題。
為實現上述目的,發明人提供了一種安全設置終端系統時間的方法,技術方案如下:
一種安全設置終端系統時間的方法,包括步驟:
服務端獲取認證帳號,服務端判斷所述認證帳號是否有設置系統時間權限;若有,服務端發送第一待認證數據給客戶端工具,所述客戶端工具從U-KEY獲取操作員證書,所述U-KEY包括:操作員私鑰;客戶端工具使用所述操作員私鑰對所述第一待認證數據進行加密,生成第一認證數據,客戶端工具發送所述操作員證書和所述第一認證數據給服務端;服務端對第一認證數據進行認證;若認證通過,終端發送第二待認證數據給客戶端工具,客戶端工具發送所述第二待認證數據給服務端;服務端接收所述第二待認證數據,服務端對所述第二待認證數據進行認證,若認證通過,服務端使用認證私鑰對所述第二待認證數據進行加密生成第二認證數據,服務端發送所述第二認證數據給終端;終端使用認證公鑰對所述第二認證數據進行認證,若認證通過,服務端使用認證私鑰加密系統時間,並通過客戶端發送加密後的系統時間給終端;
終端使用認證公鑰對加密後的系統時間進行解密,並設置終端的系統時間為解密後的系統時間。
進一步的,在服務端獲取認證帳號前,還包括步驟:服務端生成認證公私鑰對,服務端發送認證公鑰到終端;終端接收所述認證公鑰。
進一步的,終端使用認證公鑰對所述第二認證數據進行認證,包括步驟:終端使用所述認證公鑰對所述第二認證數據進行解密,獲取所述第二認證數據中的待認證數據明文,比對所述第二認證數據中的待認證數據明文與所述第二待認證數據是否一致,若一致,認證通過。
進一步的,服務端對第一認證數據進行認證,包括步驟:服務端接收所述操作員證書,服務端提取所述操作員證書中的公鑰,服務端使用所述公鑰對所述第一認證數據進行解密,獲取所述第一認證數據中的待認證數據明文,比對所述第一認證數據中的待認證數據明文與所述第一待認證數據是否一致,若一致,認證通過。
進一步的,所述第一待認證數據是隨機數,所述第二待認證數據至少包括:終端序列號、主板特徵碼和隨機數。
為實現上述目的,發明人還提供了一種安全設置終端系統時間系統,技術方案如下:
一種安全設置終端系統時間系統,包括:服務端、終端、客戶端工具;所述服務端用於:服務端獲取認證帳號,服務端判斷所述認證帳號是否有設置系統時間權限,若有,服務端發送第一待認證數據給客戶端工具;所述客戶端工具用於:從U-KEY獲取操作員證書,所述U-KEY包括:操作員私鑰,及使用所述操作員私鑰對所述第一待認證數據進行加密,生成第一認證數據,客戶端工具發送所述操作員證書和所述第一認證數據給服務端;所述服務端還用於:對第一認證數據進行認證;若認證通過,所述終端用於:發送第二待認證數據給客戶端工具;所述客戶端工具還用於:發送所述第二待認證數據給服務端;所述服務端還用於:服務端接收所述第二待認證數據,服務端對所述第二待認證數據進行認證,若認證通過,服務端使用認證私鑰對所述第二待認證數據進行加密生成第二認證數據,服務端發送所述第二認證數據給終端;所述終端還用於:終端使用認證公鑰對所述第二認證數據進行認證;若認證通過,所述服務端還用於使用認證私鑰加密系統時間,並通過客戶端發送加密後的系統時間給終端;
所述終端還用於使用認證公鑰對加密後的系統時間進行解密,並設置終端的系統時間為解密後的系統時間。
進一步的,所述服務端用於:在服務端獲取認證帳號前,服務端生成認證公私鑰對,服務端發送認證公鑰到終端;所述終端還用於:接收所述認證公鑰。
進一步的,所述終端還用於:終端使用所述認證公鑰對所述第二認證數據進行解密,獲取所述第二認證數據中的待認證數據明文,比對所述第二認證數據中的待認證數據明文與所述第二待認證數據是否一致,若一致,認證通過。
進一步的,所述服務端還用於:服務端接收所述操作員證書,服務端提取所述操作員證書中的公鑰,服務端使用所述公鑰對所述第一認證數據進行解密,獲取所述第一認證數據中的待認證數據明文,比對所述第一認證數據中的待認證數據明文與所述第一待認證數據是否一致,若一致,認證通過。
進一步的,所述第一待認證數據是隨機數,所述第二待認證數據至少包括:終端序列號、主板特徵碼和隨機數。
本發明的有益效果是:維修人員通過使用帳號登錄認證,服務端判斷該帳號是否有權限設置系統時間,如果有權限設置系統時間。則使用操作員使用U-KEY,服務端認證該U-KEY的合法性,如果認證U-KEY是合法的,則服務端根據從終端獲取第二待認證數據,生成第二認證數據,終端對第二認證數據通過後,才允許對終端進行設置系統時間操作,整個過程採用雙因素認證,大大確保了安全性,並且對終端設置系統時間是經過服務端認可的合法行為,確保了設置系統時間操作的合法性。以及設置系統時間不需要拆機和重新下載密鑰,方便了系統時間的設置。
附圖說明
圖1為本發明一種安全設置終端系統時間方法的流程圖;
圖2為本發明一種安全設置終端系統時間系統的模塊圖。
附圖標記說明:
10、服務端,
20、終端,
30、客戶端工具,
40、U-KEY,
401、操作員證書,
402、操作員私鑰。
具體實施方式
為詳細說明技術方案的技術內容、構造特徵、所實現目的及效果,以下結合具體實施例並配合附圖詳予說明。
請參閱圖1,在本實施例中,U-KEY是插在客戶端工具上,U-KEY包括:操作員私鑰,本實施例中,客戶端工具為PC,其中U-KEY中存儲有操作員證書及操作員私鑰,當U-KEY插在客戶端工具上後,客戶端工具上安裝有交互軟體,使得客戶端工具可以從U-KEY上獲取操作員證書和直接使用操作員私鑰。其次本實施例中在PC上安裝有特定的APP,在APP登錄界面,需要維修人員輸入帳號密碼登錄系統;通過帳號密碼登錄系統,服務端會對帳號密碼做權限判斷,確保了帳戶的合法性。
在其他實施例中,也可以通過瀏覽器直接輸入特定的網址,同樣也是需要維修人員輸入帳號密碼登錄系統。
具體實施步驟如下:步驟S101:生成認證公私鑰對Pr,Pu,包括認證公鑰Pu和認證私鑰Pr。首先我們確保終端、服務端和客戶端工具要聯網,聯網後,服務端會生成認證公私鑰對Pr,Pu,並且把認證公鑰Pu發送給終端,既步驟S102:預置認證公鑰Pu在終端上。通過預先設置好認證公鑰Pu在終端上,是為了後面服務端從終端獲取第二待認證數據,服務端判斷第二待認證數據的合法性,確認合法後,服務端會使用所述私鑰Pr對第二待認證數據進行加密,生成第二認證數據,服務端會發生所述第二認證數據給終端,終端就可以使用預先預置好的認證公鑰Pu來對第二認證數據進行解密,獲取到第二認證數據的明文。
待預置好認證公鑰Pu在終端上後,進入步驟S103:帳號登錄認證。本實施例中客戶端工具上安裝有特定的APP,在APP登錄界面,維修人員輸入帳號密碼登錄系統。
其中服務端存儲有所有合法的帳號密碼,也包括這些帳號所對應的權限。步驟S104帳號是否有權限設置系統時間,具體步驟如下:維修人員輸入帳號密碼,服務端獲取維修人員輸入的帳號密碼,判斷該帳號密碼是否存儲在服務端中,如果存儲在服務端中,維修人員成功登陸系統,同時服務端也會進一步去獲取該帳號的權限,判斷該帳號是否有權限設置系統時間。通過服務端對帳號密碼的權限認證,確保了後續操作的合法性。
在某些實施例中,可能需要臨時對帳號的權限就行修改,或者某些終端不允許進行設置系統時間操作,那麼可以根據需要通過在服務端直接開啟或關閉某些帳號的權限。另外因為終端序列號可以唯一標識一個終端,因此服務端也可以根據終端序列號,來限制某些終端不允許進行設置系統時間操作,整個操作簡單便攜快速。
服務端驗證帳號擁有權限設置系統時間後,進入步驟S105:認證操作員U-KEY合法性。具體步驟如下:
客戶端工具從服務端獲取第一待認證數據;首先服務端自己生成第一待認證數據,本實施例中第一待認證數據是16位元組隨機數,客戶端工具再去從服務端獲取第一待認證數據。
在其它實施例中,第一待認證數據也可以是其它字節的隨機數,可以是32位元組的字母、數字和特殊符號等等的組合,本實施例中通過每次生成16位元組隨機數,確保了每次產生的隨機數不一樣。
客戶端工具使用U-KEY生成第一認證數據;客戶端工具收到第一待認證數據後,客戶端工具使用U-KEY中存儲的操作員私鑰對第一待認證數據進行加密,加密後生成第一認證數據。通過使用U-KEY中存儲的操作員私鑰對第一待認證數據進行加密,確保了生成的第一認證數據在數據傳輸的過程中不會被其它非法的U-KEY截取,去冒充真正合法的U-KEY,引發安全性問題。
生成第一認證數據後,客戶端工具將第一認證數據和操作員證書發給服務端進行認證,既步驟S106:U-KEY是否合法;這邊的認證是指服務端通過對接收到的第一認證數據進行解密,獲取明文,比對明文是否與服務端的第一待認證數據相同,如果相同,則U-KEY通過了服務端的認證,獲得了服務端的認可,既U-KEY取得了可以從服務端獲取信息並且給服務端發送信息的權限。其中這邊所發送的操作員證書裡面含有可以解密第一認證數據的公鑰,是為了方便服務端收到以後可以提取裡面的公鑰,再去解密第一認證數據。比如第一待認證數據是:D1,使用操作員私鑰S對其進行加密,生成第一認證數據:D2,操作員私鑰S對應的公鑰是G,客戶端工具把D2和含有G的證書發送給了服務端,服務端從證書中提取G,再用G去解密D2,獲取到D2的明文信息。比對D1與D2的明文信息是否一致,如果一致,U-KEY通過了服務端的認證;如果不一致,U-KEY不通過服務端的認證。
服務端確認U-KEY合法以後,進入步驟S107:獲取第二待認證數據,具體步驟如下:
客戶端工具從終端獲取第二待認證數據;同樣地,終端生成第二待認證數據,本實施例中第二待認證數據是終端序列號、主板特徵碼和隨機數的組合,這邊的終端序列號和主板特徵碼具有唯一性,可以唯一標識一個終端。在本實施例中隨機數為16位元組隨機數,在其他實施例中,隨機數可以為其他位數的字母或者字符都可以。通過使用具有唯一標識終端的終端序列號、主板特徵碼與隨機數的組合,確保了第二待認證數據的唯一性。
終端生成第二待認證數據後,客戶端工具就去獲取第二待認證數據。
客戶端工具獲取第二待認證數據後,發送所述第二待認證數據給服務端,服務端通過對第二待認證數據進行認證,來判斷終端設備信息是否合法,如果合法。服務端使用認證私鑰(既預置好的認證私鑰Pr)對第二待認證數據進行加密,生成第二認證數據。
在本實施例中,出於安全性要求較高的考慮,因為每個終端使用的認證公鑰都是不一樣的,因此在服務端判斷終端信息的時候,不僅僅判斷其合法性,同時也根據該終端信息,使用與該終端對應的私鑰對待認證數據進行加密。通過使用私鑰對待認證數據進行加密,確保了生成的認證數據在數據傳輸的過程中不會被其它非法者截取,去冒充真正合法的服務端,對終端進行欺騙,引發安全性問題。
而在一些其他的實施例中,出於方便性和通用性的考慮,每個終端使用的認證公鑰是一樣的,因此服務端只需判斷終端信息的合法性,並且服務端用通用的私鑰對待認證數據進行加密。
步驟S108:返回第二認證數據,具體如下:服務端通過客戶端工具把第二認證數據發送給終端,終端對其進行認證,既步驟S109:認證第二認證數據是否通過,具體如下:終端使用步驟S102中預置好的認證公鑰Pu對第二認證數據進行解密,獲得第二認證數據的明文,比對所述第二認證數據的明文與第二待認證數據是否一致,如果一致,則認證通過。
若認證通過,既意味著服務端也通過了終端的認可,那麼通過服務端認可的U-KEY的持有者便有權限可以使用客戶端工具對終端進行合法的設置系統時間,避免了非法操作,並且在U-KEY通過服務端認證通過以後,後續的步驟都可以自動完成,大大提高了設置系統時間的速度。而後在步驟S110中,服務端使用認證私鑰加密系統時間,而後進入步驟S111通過客戶端發送加密後的系統時間給終端;步驟S112終端使用認證公鑰對加密後的系統時間進行解密,並設置終端的系統時間為解密後的系統時間。這樣就可以完成終端系統時間的設定,而不用對終端進行拆解,方便了終端系統時間的設定。
請參閱圖2,在某些實施例中,本發明一種安全設置終端系統時間系統的方案如下:
系統包括:服務端10、終端20和客戶端工具30,其中U-KEY40是插在客戶端工具30上,U-KEY40包括:操作員私鑰402,本實施例中,客戶端工具30為PC,其中U-KEY40中存儲有終端根認證公鑰證書下屬的操作員證書401及操作員私鑰402,當U-KEY40插在客戶端工具30上後,客戶端工具30上安裝有交互軟體,使得客戶端工具30通過交互軟體可以獲取到操作員證書401及直接使用操作員私鑰402。
本系統中,服務端10用於:生成認證公私鑰對Pr,Pu,並且把認證公鑰Pu發送給終端20。發送好後。
本實施例中客戶端工具30上安裝有特定的APP,在APP登錄界面,維修人員輸入帳號密碼登錄系統。
其中服務端10存儲有所有合法的帳號密碼,也包括這些帳號所對應的權限。維修人員輸入帳號密碼,服務端10獲取維修人員輸入的帳號密碼,判斷該帳號密碼是否存儲在服務端10中,如果存儲在服務端10中,維修人員成功登陸系統,同時服務端10也會進一步去獲取該帳號的權限,判斷該帳號是否有權限設置系統時間。通過服務端10對帳號密碼的權限認證,確保了後續操作的合法性。
服務端10驗證帳號擁有權限設置系統時間後,認證操作員U-KEY40合法性。具體如下:
客戶端工具30從服務端10獲取第一待認證數據;首先服務端10自己生成第一待認證數據,本實施例中第一待認證數據是16位元組隨機數,客戶端工具30再去從服務端10獲取第一待認證數據。
客戶端工具30使用U-KEY生成第一認證數據;客戶端工具30收到第一待認證數據後,客戶端工具30使用U-KEY中存儲的操作員私鑰402對第一待認證數據進行加密,加密後生成第一認證數據。通過使用U-KEY中存儲的操作員私鑰402對第一待認證數據進行加密,確保了生成的第一認證數據在數據傳輸的過程中不會被其它非法的U-KEY40截取,去冒充真正合法的U-KEY40,引發安全性問題。
生成第一認證數據後,客戶端工具30將第一認證數據和操作員證書401發給服務端10進行認證;這邊的認證是指服務端10通過對接收到的第一認證數據進行解密,獲取明文,比對明文是否與服務端10的第一待認證數據相同,如果相同,則U-KEY40通過了服務端10的認證,獲得了服務端10的認可,既U-KEY40取得了可以從服務端10獲取信息並且給服務端10發送信息的權限。
服務端10確認U-KEY40合法以後,客戶端工具30從終端獲20取第二待認證數據;同樣地,終端20生成第二待認證數據,本實施例中第二待認證數據是終端序列號、主板特徵碼和隨機數的組合,這邊的終端序列號和主板特徵碼具有唯一性,可以唯一標識一個終端20。通過使用具有唯一標識終端的終端序列號、主板特徵碼與隨機數的組合,確保了第二待認證數據的唯一性。
終端20生成第二待認證數據後,客戶端工具30就去獲取第二待認證數據。
客戶端工具30獲取第二待認證數據後,發送所述第二待認證數據和終端信息給服務端10,服務端10通過對第二待認證數據進行認證,來判斷終端設備信息是否合法,如果合法。服務端10使用認證私鑰(既預置好的私鑰Pr)對第二待認證數據進行加密,生成第二認證數據。
服務端10通過客戶端工具30把第二認證數據發送給終端20,終端20對其進行認證,具體如下:終端20使用預置好的認證公鑰Pu對第二認證數據進行解密,獲得第二認證數據的明文,比對所述第二認證數據的明文與第二待認證數據是否一致,如果一致,則認證通過。
若認證通過,既意味著服務端10也通過了終端20的認可,那麼通過服務端10認可的U-KEY40的持有者便有權限可以使用客戶端工具30對終端20進行合法的設置系統時間,避免了非法操作,並且在U-KEY40通過服務端10認證通過以後,後續的步驟都可以自動完成,大大提高了設置系統時間的速度。
認證通過後,服務端還用於使用認證私鑰加密系統時間,並通過客戶端發送加密後的系統時間給終端;所述終端還用於使用認證公鑰對加密後的系統時間進行解密,並設置終端的系統時間為解密後的系統時間。這樣就在安全的前提下,完成了系統時間的設定,而不用拆機,方便了系統時間的設定。
本發明所有實施例中,如果認證不合法或者帳號沒有相應的權限,則方法提前結束,系統中的數據流也就不會流向下一個模塊。
需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句「包括……」或「包含……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的要素。此外,在本文中,「大於」、「小於」、「超過」等理解為不包括本數;「以上」、「以下」、「以內」等理解為包括本數。
本領域內的技術人員應明白,上述各實施例可提供為方法、裝置、或電腦程式產品。這些實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。上述各實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機設備可讀取的存儲介質中,用於執行上述各實施例方法所述的全部或部分步驟。所述計算機設備,包括但不限於:個人計算機、伺服器、通用計算機、專用計算機、網絡設備、嵌入式設備、可編程設備、智能移動終端、智能家居設備、穿戴式智能設備、車載智能設備等;所述的存儲介質,包括但不限於:RAM、ROM、磁碟、磁帶、光碟、快閃記憶體、U盤、移動硬碟、存儲卡、記憶棒、網絡伺服器存儲、網絡雲存儲等。
上述各實施例是參照根據實施例所述的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到計算機設備的處理器以產生一個機器,使得通過計算機設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機設備以特定方式工作的計算機設備可讀存儲器中,使得存儲在該計算機設備可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機設備上,使得在計算機設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已經對上述各實施例進行了描述,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改,所以以上所述僅為本發明的實施例,並非因此限制本發明的專利保護範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍之內。