TWI540459B - 資料傳輸方法及系統與客戶端之資料傳輸方法 - Google Patents

資料傳輸方法及系統與客戶端之資料傳輸方法 Download PDF

Info

Publication number
TWI540459B
TWI540459B TW104102126A TW104102126A TWI540459B TW I540459 B TWI540459 B TW I540459B TW 104102126 A TW104102126 A TW 104102126A TW 104102126 A TW104102126 A TW 104102126A TW I540459 B TWI540459 B TW I540459B
Authority
TW
Taiwan
Prior art keywords
hash code
verification hash
verification
server
client
Prior art date
Application number
TW104102126A
Other languages
English (en)
Other versions
TW201627909A (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 TW104102126A priority Critical patent/TWI540459B/zh
Priority to CN201510181221.8A priority patent/CN104852906B/zh
Priority to US14/946,812 priority patent/US9866390B2/en
Application granted granted Critical
Publication of TWI540459B publication Critical patent/TWI540459B/zh
Publication of TW201627909A publication Critical patent/TW201627909A/zh

Links

Classifications

    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

資料傳輸方法及系統與客戶端之資料傳輸方法
本發明有關於一種資料傳輸方法,特別是一種適於客戶端與伺服器的資料傳輸方法及系統與客戶端之資料傳輸方法。
一般來說,伺服器與客戶端之間都會需要進行資料傳輸的操作。為了避免複製封包重發事件以及增加資料傳輸的安全性,大都必須藉由加密金鑰的方式進行認證。其中,認證的方式有時間認證方式與交換加密金鑰的方式。
傳統的時間認證方式,需要對時間進行同步,除了會造成時間傳輸誤差,且處理速度也會造成誤差,因此時間認證保護的範圍較為局限。另外,交換加密金鑰方式,可能需要長時間交握和交換金鑰動作,使得系統的降低效能並增加系統的負擔。因此,伺服器與客戶端之間的資料傳輸上仍有改善的空間。
有鑑於此,本發明提供一種資料傳輸方法及系統與客 戶端之資料傳輸方法,藉以增加資料傳輸的安全性。
本發明提供一種資料傳輸方法,適於客戶端與伺服器。此資料傳輸方法包括下列步驟。客戶端產生起始值。伺服器回應起始值,以產生第一時間。客戶端產生第二時間與第一驗證雜湊碼,其中第一驗證雜湊碼與第一時間及第二時間相關。伺服器產生隨機變數與第二驗證雜湊碼,其中第二驗證雜湊碼與第一時間、隨機變數及第一驗證雜湊碼相關。客戶端產生第一傳輸資料與第三驗證雜湊碼,其中第三驗證雜湊碼與第一傳輸資料、第一驗證雜湊碼及第二驗證雜湊碼相關。伺服器產生回應信息與第四驗證雜湊碼,其中第四驗證雜湊碼與回應信息、第二驗證雜湊碼及第三驗證雜湊碼相關。
本發明提供一種資料傳輸系統,包括客戶端與伺服器。客戶端用以產生起始值。伺服器用以回應起始值產生第一時間。其中,客戶端回應第一時間,以產生第二時間與第一驗證雜湊碼,其中第一驗證雜湊碼與第一時間及第二時間相關。伺服器回應第二時間與第一驗證雜湊碼,以產生隨機變數與第二驗證雜湊碼,其中第二驗證雜湊碼與第一時間、隨機變數及第一驗證雜湊碼相關。客戶端回應隨機變數與第二驗證雜湊碼,以產生第一傳輸資料與第三驗證雜湊碼,其中第三驗證雜湊碼與第一傳輸資料、第一驗證雜湊碼及第二驗證雜湊碼相關。伺服器回應第一傳輸資料與第三驗證雜湊碼,以產生第一回應信息與第四驗證雜湊碼,其中第四驗證雜湊碼與第一回應信息、第二驗證雜湊碼及第三驗證雜湊碼相關。
本發明提供一種客戶端之資料傳輸方法,適於與伺服器進行資料傳輸。此客戶端之資料傳輸方法包括下列步驟。產生起始值。依據伺服器回應起始值而回傳之第一時間,產生第二時間與第一驗證雜湊碼,其中第一驗證雜湊碼與第一時間及第二時間相關。依據伺服器回應第二時間與第一驗證雜湊碼而回傳之隨機變數與第二驗證雜湊碼,產生第一傳輸資料與第三驗證雜湊碼,其中第二驗證雜湊碼與第一時間、隨機變數及第一驗證雜湊碼相關,第三驗證雜湊碼與第一傳輸資料、第一驗證雜湊碼及第二驗證雜湊碼相關。
本實施例所提供之資料傳輸方法及系統與客戶端之資料傳輸方法,藉由客戶端在接收到伺服器所發出的信息(例如第一時間或驗證雜湊碼)後才據以產生對應的信息(例如傳輸資料與對應的驗證雜湊碼),以及伺服器端在接收到客戶端所發出的信息(例如第二時間、驗證雜湊碼或傳輸資料)後才據以產生對應的信息(例如回應信息及對應的驗證雜湊碼)。如此一來,可以達成連線認證各自獨立、避免複製封包,重發攻擊、訊息尚未取得回覆前不得重發訊息,以增加資料傳輸的安全性。
以上之關於本發明內容之說明及以下之實施方式之說明用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
100‧‧‧訊息溝通系統
110‧‧‧客戶端
120‧‧‧伺服器
圖1為本發明之第一實施例所揭露之資料傳輸方法的流程圖。
圖2為本發明之第一實施例之資料傳輸系統之客戶端與伺服器之間之資料傳輸的示意圖。
圖3為圖1之步驟S108的詳細流程圖。
圖4為圖1之步驟S110的詳細流程圖。
圖5為圖1之步驟S112的詳細流程圖。
圖6為本發明之第二實施例所揭露之資料傳輸方法的流程圖。
圖7為本發明之第二實施例之客戶端與伺服器之間之資料傳輸的示意圖。
圖8為圖6之步驟S602的詳細流程圖。
圖9為圖6之步驟S604的詳細流程圖。
圖10為本發明之第三實施例所揭露之客戶端之資料傳輸方法的流程圖。
圖11為本發明之第四實施例所揭露之客戶端之資料傳輸方法的流程圖。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施 例進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者系統不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者系統所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、商品或者系統中還存在另外的相同要素。
圖1為本發明之第一實施例所揭露之資料傳輸方法的流程圖。圖2為本發明之第一實施例之資料傳輸系統之資料傳輸的示意圖。本實施例之資料傳輸方法適於包括客戶端110與伺服器120的資料傳輸系統100,也就是用於客戶端110與伺服器120之間的資料傳輸。其中,客戶端110可為手機、平板電腦、一般桌上型或攜帶型電腦等操作裝置,或是各式可具有連網功能之硬體設備,諸如網路攝影機(IP Cam)、智能家電或穿戴式裝置等。伺服器120可為一般實體之伺服機器或是雲端伺服器等實體或虛擬設備。
在步驟S102中,客戶端110產生起始值。也就是說,客戶端110向伺服器120發送起始值,以作為要開始向伺服器120輸出資料的依據。
在步驟S104中,伺服器120回應起始值,以產生第一時 間TS。也就是說,當伺服器120接收到客戶端110所發出的起始值時,伺服器120例如提取當前的伺服器時間作為第一時間TS,並輸出此第一時間TS予客戶端110。
在步驟S106中,客戶端110產生第二時間TC與第一驗證雜湊碼VH1( ),其中第一驗證雜湊碼VH1( )與第一時間TS及第二時間TC相關。也就是說,當客戶端110接收到伺服器120所發出的第一時間TS時,客戶端110例如提取當前客戶端110的時間作為第二時間TC,且產生第一驗證雜湊碼VH1( ),並輸出第二時間TC與第一驗證雜湊碼VH1( )。在本實施例中,第一驗證雜湊碼VH1( )例如為經雜湊函數(Hash)換算後之結果,且此第一驗證雜湊碼VH1( )包括共享金鑰K(Shared Key)、第一時間TS與第二時間TC,亦即第一驗證雜湊碼為VH1(K+TS+TC)。並且,第二時間TC與第一驗證雜湊碼VH1( )可表示為TC+VH1(K+TS+TC)
在步驟S108中,伺服器120產生隨機變數Rand與第二驗證雜湊碼VH2( ),其中第二驗證雜湊碼VH2( )與第一時間TS、隨機變數Rand及第一驗證雜湊碼VH1( )相關。也就是說,當伺服器120接收到客戶端110所發出的第二時間TC與第一驗證雜湊碼VH1( )時,伺服器120會據以產生隨機變數Rand與第二驗證雜湊碼VH2( ),並輸出隨機變數Rand與第二驗證雜湊碼VH2( )。在本實施例中,隨機變數Rand例如為64位元的變數或其他由系統自動亂數產生之參數等。第二驗證雜湊碼VH2( )例如為經雜湊函數換算之結果,且此第二驗證雜湊碼 VH2( )包括共享金鑰K、第一時間TS、隨機變數Rand與第一驗證雜湊碼VH1( ),亦即第二驗證雜湊碼VH2( )為VH2(K+TS+Rand+VH1( ))。並且,隨機變數Rand與第二驗證雜湊碼VH2( )可表示成Rand+VH2(K+TS+Rand+VH1( ))。
在步驟S110中,客戶端110產生第一傳輸資料V1與第三驗證雜湊碼VH3( ),其中第三驗證雜湊碼VH3( )與第一傳輸資料V1、第一驗證雜湊碼VH1( )及第二驗證雜湊碼VH2( )相關。也就是說,當客戶端110接收到伺服器120所發出的隨機變數Rand與第二驗證雜湊碼VH2( )時,客戶端110會據以產生第一傳輸資料V1與第三驗證雜湊碼VH3( ),並輸出第一傳輸資料V1與第三驗證雜湊碼VH3( )。在本實施例中,第一傳輸資料V1為需要客戶端110傳輸至伺服器120的資料。第三驗證雜湊碼VH3( )例如為經雜湊函數換算之結果,且此第三驗證雜湊碼VH3( )包括共享金鑰K、第一雜湊函數h1( )與第一傳輸資料V1,而第一雜湊函數h1( )包括第一驗證雜湊碼VH1( )與第二驗證雜湊碼VH2( ),亦即第三驗證雜湊碼VH3( )為VH3(K+h1(VH1( )|VH2( ))+V1)。並且,第一傳輸資料V1與第三驗證雜湊碼VH3( )可表示成V1+VH3(K+h1(VH1( )|VH2( ))+V1)。
在步驟S112中,伺服器120產生第一回應信息R1與第四驗證雜湊碼VH4( ),其中第四驗證雜湊碼VH4( )與第一回應信息R1、第二驗證雜湊碼VH2( )及第三驗證雜湊碼VH3( )相關。也就是說,當伺服器120接收到客戶端110所發出的第一傳輸資料V1與第三驗證雜 湊碼VH3( )時,伺服器120會據以產生第一回應信息R1與第四驗證雜湊碼VH4( ),並輸出第一回應信息R1與第四驗證雜湊碼VH4( )。在本實施例中,第一回應信息R1為伺服器120回應接收到客戶端110所發出之資料的信息,第四驗證雜湊碼VH4( )為經雜湊函數換算之結果,且此第四驗證雜湊碼VH4( )包括共享金鑰K、第二雜湊函數h2( )與第一回應信息R1,而第二雜湊函數h2( )包括第二驗證雜湊碼VH2( )與第三驗證雜湊碼VH3( ),亦即,亦即第四驗證雜湊碼為VH4(K+h2(VH2( )|VH3( ))+R1)。並且,第一傳輸資料V1與第四驗證雜湊碼VH4可表示成R1+VH4(K+h2(VH2( )|VH3( ))+R1)。
藉由上述的說明可知,在客戶端110與伺服器120之間傳輸資料,都需要有前一次所接收到的信息(例如時間或對應的驗證雜湊碼),並將此信息搭配欲傳輸的資料內容加密後成雜湊函數作為本次所欲傳輸的資料。如此一來,可以達成連線認證各自獨立、避免複製封包,重發攻擊、訊息尚未取得回覆前不得重發訊息,以增加資料傳輸的安全性。
圖3為圖1之步驟S108的詳細流程圖。在步驟S302中,接收第二時間與第一驗證雜湊碼。在步驟S304中,判斷第二時間與第一驗證雜湊碼是否正確。也就是說,伺服器120會將第二時間及第一驗證雜湊碼進行分析,例如將第二時間及第一驗證雜湊碼依據預設的演算法進行解碼,以判斷第二時間及第一驗證雜湊碼是否能經由演算法解碼,進而判斷第二時間及第一驗證雜湊碼的正確性。
當判斷第二時間與第一驗證雜湊碼正確時,表示伺服器120接收到正確的信息,則進入步驟S306,伺服器120產生隨機變數與第二驗證雜湊碼。當判斷第二時間與第一驗證雜湊碼不正確時,表示伺服器120接收到錯誤的信息,則進入步驟S308,伺服器120不產生隨機變數與第二驗證雜湊碼。接著,客戶端110直至經過預設時間(步驟S310)後都沒有收到來自伺服器120的回應,則再回到步驟S102,使得客戶端110再次產生起始值,重新執行本實施例之資料傳輸方法的流程。
圖4為圖1之步驟S110的詳細流程圖。在步驟S402中,接收隨機變數與第二驗證雜湊碼。在步驟S404中,判斷隨機變數與第二驗證雜湊碼是否正確。也就是說,客戶端110會將伺服器120傳來之隨機變數Rand與第二驗證雜湊碼VH2( )進行分析,例如將隨機變數與第二驗證雜湊碼依據預設的演算法進行解碼,以判斷隨機變數與第二驗證雜湊碼是否能經由演算法解碼,進而判斷隨機變數與第二驗證雜湊碼的正確性。
當判斷隨機變數與第二驗證雜湊碼正確時,表示客戶端110接收到正確的信息,則進入步驟S406,客戶端110產生第一傳輸資料與第三驗證雜湊碼。當判斷隨機變數Rand與第二驗證雜湊碼VH2( )不正確時,表示客戶端110接收到錯誤的信息,則進入步驟S408,客戶端110不產生第一傳輸資料與第三驗證雜湊碼,並等待伺服器120重新產生並傳送隨機變數與第二驗證雜湊碼。
接著,在一預設時間內持續等候(步驟S410),且在步驟S412中,將持續判斷伺服器120是否重新傳送隨機變數與第二驗證雜湊碼。當判斷伺服器120重新傳送隨機變數與第二驗證雜湊碼時,則回到步驟404,以重新判斷隨機變數與第二驗證雜湊碼是否正確。當判斷伺服器120未重新傳送隨機變數與第二驗證雜湊碼時且超過預設時間,則回到步驟S102,使得客戶端110再次產生起始值,以重新執行本實施例之資料傳輸方法的流程。
圖5為圖1之步驟S112的詳細流程圖。在步驟S502中,接收第一傳輸資料與第三驗證雜湊碼。在步驟S504中,判斷第一傳輸資料與第三驗證雜湊碼是否正確。也就是說,伺服器120會將第一傳輸資料V1與第三驗證雜湊碼VH3( )進行分析,例如將第一傳輸資料與第三驗證雜湊碼依據預設的演算法進行解碼,以判斷第一傳輸資料與第三驗證雜湊碼是否能經由演算法解碼,進而判斷第一傳輸資料與第三驗證雜湊碼的正確性。
當判斷第一傳輸資料與第三驗證雜湊碼正確時,表示伺服器120接收到正確的信息,則進入步驟S506,伺服器120產生第一回應信息R1與第四驗證雜湊碼VH4( )。當判斷第一傳輸資料與第三驗證雜湊碼不正確時,表示伺服器120接收到錯誤的信息,則進入步驟S508,伺服器120不產生第一回應信息與第四驗證雜湊碼,並等待客戶端重新傳送第一傳輸資料與第三驗證雜湊碼。接著,客戶端110直至經過預設時間(步驟S510)後都沒有收到來自伺服器120的回應,則 再回到步驟S102,使得客戶端110再次產生起始值,重新執行本實施例之資料傳輸方法的流程。
圖6為本發明之第二實施例所揭露之資料傳輸方法的流程圖。圖7為本發明之第二實施例之客戶端與伺服器之間之資料傳輸的示意圖。本實施例之資料傳輸方法適於客戶端110與伺服器120,也就是用於客戶端110與伺服器120之間的資料傳輸。其中,客戶端110可為手機、平板電腦、一般桌上型或攜帶型電腦等操作裝置,或是各式可具有連網功能之硬體設備,諸如IPCam、智能家電或穿戴式裝置等。伺服器端120可為一般實體之伺服機器或是雲端伺服器等實體或虛擬設備。其中,圖6之步驟S102、S104、S106、S108、S110與S112與圖1之步驟S102、S104、S106、S108、S110與S112相同或相似,可參考圖1之實施例的說明,故在此不再贅述。
在步驟S602,客戶端110產生第i傳輸資料與第(n-2)驗證雜湊碼,其中第(n-2)驗證雜湊碼與第i傳輸資料、第(n-4)驗證雜湊碼及第(n-3)驗證雜湊碼相關,i為大於1的正整數,n=2i+3。
在步驟S604中,伺服器120產生第i回應信息與第(n-1)驗證雜湊碼,其中第(n-1)驗證雜湊碼與第i回應信息、第(n-3)驗證雜湊碼及第(n-2)驗證雜湊碼相關。
接著,在步驟S604執行完成後,可先進入步驟S606,i=i+1,再回到步驟S602,並重複步驟S602與S604,以持續進行資料傳輸及驗證的操作。
進一步來說,客戶端110產生第i傳輸資料與第(n-2)驗證雜湊碼例如滿足以下公式(1):Vi+VHn-2(K+hn-4(VHn-4( )|VHn-3( ))+Vi); (公式1)
其中,Vi為第i傳輸資料,VHn-2( )為第(n-2)驗證雜湊碼,VHn-4( )為第(n-4)驗證雜湊碼,VHn-3( )為第(n-3)驗證雜湊碼,hn-4( )為第(n-4)雜湊函數,K為共享金鑰。
伺服器120產生第i回應信息與第(n-1)驗證雜湊碼例如滿足以下公式(2):Ri+VHn-1(K+hn-3(VHn-3( )|VHn-2( ))+Ri); (公式2)
其中,Ri為第i回應信息,VHn-1( )為第(n-1)驗證雜湊碼。
舉例來說,當客戶端110接收到伺服器120所發出的第一回應信息與第四驗證雜湊碼時(步驟S112),客戶端110會據以產生第二傳輸資料(i=2)與第五驗證雜湊碼(n=2i+3=7)(步驟S602),並輸出第二傳輸資料V2與第五驗證雜湊碼VH5( )。其中,第二傳輸資料與第五驗證雜湊碼例如可表示為V2+VH5(K+h3(VH3( )|VH4( ))+V2),而V2為第二傳輸資料,VH5( )為第五驗證雜湊碼,VH3( )為第三驗證雜湊碼,VH4為第四驗證雜湊碼,h3( )為(VH3( )|VH4( ))經雜湊函數換算之結果的第三雜湊函數,K為共享金鑰。
接著,當伺服器120接收到客戶端110所發出的第二傳輸資料與第五驗證雜湊碼時(步驟S602),伺服器120會據以產生第二 回應信息(i=2)與第六驗證雜湊碼,並輸出第二回應信息與第六驗證雜湊碼(步驟S604)。其中,第二回應信息R2與第六驗證雜湊碼VH6( )例如可表示為R2+VH6(K+h4(VH4( )|VH5( ))+R2),而R2為第二回應信息,VH6( )為第六驗證雜湊碼,VH4( )為第四驗證雜湊碼,VH5( )為第五驗證雜湊碼,h4( )為(VH4( )|VH5( ))經雜湊函數換算之結果的第四雜湊函數,K為共享金鑰。
在步驟S604執行完成後,則進入i=i+1的步驟S606後,再回到步驟S602(即i=3,n=9),以持續進行客戶端110與伺服器120之間的資料傳輸。也就是說,當客戶端110接收到伺服器120所發出的第二回應信息R2與第六驗證雜湊碼VH6( )時(步驟S604),客戶端110會據以產生第三傳輸資料(即i=3)與第七驗證雜湊碼(n=2i+3=9)(步驟S602),並輸出第三傳輸資料與第七驗證雜湊碼。其中,第三傳輸資料與第七驗證雜湊碼例如可表示為V3+VH7(K+h5(VH5( )|VH6( ))+V3),而V3為第三傳輸資料,VH7( )為第七驗證雜湊碼,VH5( )為第五驗證雜湊碼,VH6( )為第六驗證雜湊碼,h5( )為(VH5( )|VH6( ))經雜湊函數換算之結果的第五雜湊函數,K為共享金鑰。
之後,當伺服器120接收到客戶端110所發出的第三傳輸資料與第七驗證雜湊碼(步驟S602)時,伺服器120會據以產生第三回應信息(i=3)與第八驗證雜湊碼(n=9)(步驟S604),並輸出第三回應信息R3與第八驗證雜湊碼VH8( )。其中,第三回應信息與第八驗證雜湊碼例如可表示為R3+VH8(K+h6(VH6( )|VH7( ))+R3),而R3為第三 回應信息,VH8( )為第八驗證雜湊碼,VH6( )為第六驗證雜湊碼,VH7( )為第七驗證雜湊碼,h6( )為(VH6( )|VH7( ))經雜湊函數換算之結果的第六雜湊函數,K為共享金鑰。其餘客戶端110與伺服器120之間的資料傳輸方式(即i=4,5,6,...)則可類推,故在此不再贅述。
圖8為圖6之步驟S602的詳細流程圖。在步驟S802中,接收第(i-1)回應信息與第(n-3)驗證雜湊碼。在步驟S804中,判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否正確。也就是說,客戶端110會將第(i-1)回應信息與第(n-3)驗證雜湊碼進行分析,例如將第(i-1)回應信息與第(n-3)驗證雜湊碼依據預設的演算法進行解碼,以判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否能經由演算法解碼,進而判斷第(i-1)回應信息與第(n-3)驗證雜湊碼的正確性。
當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼正確時,表示客戶端110接收到正確的信息,則進入步驟S806,客戶端110產生第i傳輸資料與第(n-2)驗證雜湊碼。當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼不正確時,表示客戶端110接收到錯誤的信息,則進入步驟S808中,客戶端110不產生第i傳輸資料與第(n-2)驗證雜湊碼,並等待伺服器120重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼。
接著,在一預設時間內持續偵測(步驟S810),且在步驟S812中,將判斷伺服器120是否重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼。當判斷伺服器重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼時,則回到步驟804,以重新判斷第(i-1)回應信息與第(n-3)驗證雜 湊碼是否正確。當判斷伺服器120未重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼時,則回到步驟S102,使得客戶端110再次產生起始值,以重新執行本實施例之資料傳輸方法的流程。
圖9為圖6之步驟S604的詳細流程圖。在步驟S902中,接收第i傳輸資料與第(n-2)驗證雜湊碼。在步驟S904中,判斷第i傳輸資料與第(n-2)驗證雜湊碼是否正確。也就是說,伺服器120會將第i傳輸資料與第(n-2)驗證雜湊碼進行分析,例如將第i傳輸資料與第(n-2)驗證雜湊碼依據預設的演算法進行解碼,以判斷第i傳輸資料與第(n-2)驗證雜湊碼是否能經由演算法解碼,進而判斷第i傳輸資料與第(n-2)驗證雜湊碼的正確性。
當判斷第i傳輸資料與第(n-2)驗證正確時,表示伺服器120接收到正確的信息,則進入步驟S906,伺服器120產生第i回應信息與第(n-1)驗證雜湊碼。當判斷第i傳輸資料與第(n-2)驗證不正確時,表示伺服器120接收到錯誤的信息,則進入步驟S908,伺服器120不產生第i回應信息與第(n-1)驗證雜湊碼。接著,客戶端110直至經過預設時間(步驟S910)後都沒有收到來自伺服器120的回應,則再回到步驟S102,使得客戶端110再次產生起始值,重新執行本實施例之資料傳輸方法的流程。
藉由上述的說明可知,在客戶端110與伺服器120之間傳輸資料,都需要有前一次所接收到的信息(例如時間或對應的驗證雜湊碼),並將此信息搭配欲傳輸的資料內容加密後成雜湊函數作為 本次所欲傳輸的資料。如此一來,可以達成連線認證各自獨立、避免複製封包,重發攻擊、訊息尚未取得回覆前不得重發訊息,以增加資料傳輸的安全性。
圖10為本發明之第三實施例所揭露之客戶端之資料傳輸方法的流程圖。本實施例之客戶端之資料傳輸方法適於與伺服器進行資料傳輸。並且,客戶端與伺服器之間的對應關係可參考第2圖,故在此不再贅述。
在步驟S1002中,產生起始值。在步驟S1004中,依據伺服器回應起始值而回傳之第一時間TS,產生第二時間TC與第一驗證雜湊碼VH1( ),其中第一驗證雜湊碼VH1( )與第一時間TS及相第二時間TC關。
在步驟S1006中,依據伺服器回應第二時間TC與第一驗證雜湊碼VH1( )而回傳之隨機變數Rand與第二驗證雜湊碼VH2( ),產生第一傳輸資料V1與第三驗證雜湊碼VH3( ),其中第二驗證雜湊碼VH2( )與第一時間TS、隨機變數Rand及第一驗證雜湊碼VH1( )相關,而第三驗證雜湊碼VH3( )與第一傳輸資料V1、第一驗證雜湊碼VH1( )及第二驗證雜湊碼VH2( )相關。並且,本實施例的相關操作,可參考圖1~圖5的實施方式,故在此不再贅述。
圖11為本發明之第四實施例所揭露之客戶端之資料傳輸方法的流程圖。其中,圖11之步驟S1002、S1004、S1006與圖10之步驟S1002、S1004、S1006相同或相似,可參考圖10之實施例的說 明,故在此不再贅述。
在步驟S1102中,依據伺服器回應第(i-1)傳輸資料與第(n-4)驗證雜湊碼而回傳之第(i-1)回應信息與第(n-3)驗證雜湊碼,產生第i傳輸資料與第(n-2)驗證雜湊碼,其中第(n-2)驗證雜湊碼第i傳輸資料、第(n-4)驗證雜湊碼與第(n-3)驗證雜湊碼相關,i為大於1的正整數,n=2i+3。並且,本實施例的相關操作,可參考圖6~圖9的實施方式,故在此不再贅述。
本實施例所提供之資料傳輸方法及系統與客戶端之資料傳輸方法,藉由客戶端在接收到伺服器所發出的信息(例如第一時間或驗證雜湊碼)後才據以產生對應的信息(例如傳輸資料與對應的驗證雜湊碼),以及伺服器端在接收到客戶端所發出的信息(例如第二時間、驗證雜湊碼或傳輸資料)後才據以產生對應的信息(例如回應信息及對應的驗證雜湊碼)。如此一來,可以達成連線認證各自獨立、避免複製封包,重發攻擊、訊息尚未取得回覆前不得重發訊息,以增加資料傳輸的安全性。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。

Claims (20)

  1. 一種資料傳輸方法,適於一客戶端與一伺服器,該資料傳輸方法包括:該客戶端產生一起始值;該伺服器回應該起始值,以產生一第一時間;該客戶端產生一第二時間與一第一驗證雜湊碼,其中該第一驗證雜湊碼與該第一時間及該第二時間相關;該伺服器產生一隨機變數與一第二驗證雜湊碼,其中該第二驗證雜湊碼與該第一時間、該隨機變數及該第一驗證雜湊碼相關;該客戶端產生一第一傳輸資料與一第三驗證雜湊碼,其中該第三驗證雜湊碼與該第一傳輸資料、該第一驗證雜湊碼及該第二驗證雜湊碼相關;該伺服器產生一第一回應信息與一第四驗證雜湊碼,其中該第四驗證雜湊碼與該第一回應信息、該第二驗證雜湊碼及該第三驗證雜湊碼相關;該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼,其中該第(n-2)驗證雜湊碼與該第i傳輸資料、該第(n-4)驗證雜湊碼及該第(n-3)驗證雜湊碼相關,i為大於1的正整數,n=2i+3;該伺服器產生第i回應信息與第(n-1)驗證雜湊碼,其中第(n-1)驗證雜湊碼與第i回應信息、第(n-3)驗證雜湊碼及第(n-2)驗證雜湊碼相關;以及重複上述執行該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼以及該伺服器產生第i回應信息與第(n-1)驗證雜湊碼。
  2. 如請求項1所述之資料傳輸方法,其中該第一驗證雜湊碼包括一共享金鑰、該第一時間與該第二時間;該第二驗證雜湊碼包括該共享金鑰、該第一時間、該隨機變數與該第一驗證雜湊碼;該第三驗證雜湊碼包括該共享金鑰、一第一雜湊函數與該第一傳輸資料,而該第一雜湊函數包括該第一驗證雜湊碼與該第二驗證雜湊碼;該第四驗證雜湊碼包括該共享金鑰、一第二雜湊函數與該第一回應信息,而該第二雜湊函數包括該第二驗證雜湊碼與該第三驗證雜湊碼。
  3. 如請求項1所述之資料傳輸方法,其中該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼滿足以下公式:Vi+VHn-2(K+hn-4(VHn-4( )|VHn-3( ))+Vi);其中,Vi為第i傳輸資料,VHn-2( )為第(n-2)驗證雜湊碼,VHn-4( )為第(n-4)驗證雜湊碼,VHn-3( )為第(n-3)驗證雜湊碼,hn-4( )為雜湊函數,K為一共享金鑰;其中,該伺服器產生第i回應信息與第(n-1)驗證雜湊碼滿足以下公式:Ri+VHn-1(K+hn-3(VHn-3( )|VHn-2( ))+Ri);其中,Ri為第i回應信息,VHn-1( )為第(n-1)驗證雜湊碼,VHn-3( )為第(n-3)驗證雜湊碼,VHn-2( )為第(n-2)驗證雜湊碼,hn-3( )為第(n-3)雜湊函數,K為該共享金鑰。
  4. 如請求項1所述之資料傳輸方法,其中該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼的步驟包括:接收第(i-1)回應信息與第(n-3)驗證雜湊碼; 判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否正確;當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼正確時,該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼;當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼不正確時,該客戶端不產生第i傳輸資料與第(n-2)驗證雜湊碼,並等待該伺服器重新產生第(i-1)回應信息與第(n-3)驗證雜湊碼;一預設時間內,判斷該伺服器是否重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼;當判斷該伺服器重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼時,則回到判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否正確的步驟;以及當判斷該伺服器未重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼時,則回到該客戶端產生該起始值的步驟。
  5. 如請求項1所述之資料傳輸方法,其中該伺服器產生第i回應信息與第(n-1)驗證雜湊碼的步驟包括:接收第i傳輸資料與第(n-2)驗證雜湊碼;判斷第i傳輸資料與第(n-2)驗證是否正確;當判斷第i傳輸資料與第(n-2)驗證正確時,該伺服器產生第i回應信息與第(n-1)驗證雜湊碼;以及當判斷第i傳輸資料與第(n-2)驗證不正確時,該伺服器不產生第i回應信息與第(n-1)驗證雜湊碼,且經過一預設時間後,回到該客戶端產生該起始值的步驟。
  6. 如請求項1所述之資料傳輸方法,其中該伺服器產生該隨機變數 與該第二驗證雜湊碼的步驟包括:接收該第二時間與該第一驗證雜湊碼;判斷該第二時間與該第一驗證雜湊碼是否正確;當判斷該第二時間與該第一驗證雜湊碼正確時,該伺服器產生該隨機變數與該第二驗證雜湊碼;以及當判斷該第二時間與該第一驗證雜湊碼不正確時,該伺服器不產生該隨機變數與該第二驗證雜湊碼,且經過一預設時間後,回到該客戶端產生該起始值的步驟。
  7. 如請求項1所述之資料傳輸方法,其中該客戶端產生該第一傳輸資料與該第三驗證雜湊碼的步驟包括:接收該隨機變數與該第二驗證雜湊碼;判斷該隨機變數與該第二驗證雜湊碼是否正確;當判斷該隨機變數與該第二驗證雜湊碼正確時,該客戶端產生該第一傳輸資料與該第三驗證雜湊碼;當判斷該第二時間與該第一驗證雜湊碼不正確時,該客戶端不產生該第一傳輸資料與該第三驗證雜湊碼,並等待該伺服器重新產生該隨機變數與該第二驗證雜湊碼;一預設時間內,判斷該伺服器是否重新傳送該隨機變數與該第二驗證雜湊碼;當判斷該伺服器重新傳送該隨機變數與該第二驗證雜湊碼時,則回到判斷該隨機變數與該第二驗證雜湊碼是否正確的步驟;以及當判斷該伺服器未重新傳送該隨機變數與該第二驗證雜湊碼 時,則回到該客戶端產生該起始值的步驟。
  8. 如請求項1所述之資料傳輸方法,其中該伺服器產生該第一回應信息與該第四驗證雜湊碼的步驟包括:接收該第一傳輸資料與該第三驗證雜湊碼;判斷該第一傳輸資料與該第三驗證雜湊碼是否正確;當判斷該第一傳輸資料與該第三驗證雜湊碼正確時,該伺服器產生該第一回應信息與該第四驗證雜湊碼;以及當判斷該第一傳輸資料與該第三驗證雜湊碼不正確時,該伺服器不產生該第一回應信息與該第四驗證雜湊碼,且經過一預設時間後,回到該客戶端產生該起始值的步驟。
  9. 一種資料傳輸系統,包括:一客戶端,用以產生一起始值;以及一伺服器,用以回應該起始值產生該第一時間,其中,該客戶端回應該第一時間,以產生一第二時間與一第一驗證雜湊碼,其中該第一驗證雜湊碼與該第一時間及該第二時間相關;其中,該伺服器回應該第二時間與該第一驗證雜湊碼,以產生一隨機變數與一第二驗證雜湊碼,其中該第二驗證雜湊碼與該第一時間、該隨機變數及該第一驗證雜湊碼相關;其中,該客戶端回應該隨機變數與該第二驗證雜湊碼,以產生一第一傳輸資料與一第三驗證雜湊碼,其中該第三驗證雜湊碼與該第一傳輸資料、該第一驗證雜湊碼及該第二驗證雜湊碼相關;其中,該伺服器回應該第一傳輸資料與該第三驗證雜湊碼, 以產生一回應信息與一第四驗證雜湊碼,其中該第四驗證雜湊碼與該回應信息、該第二驗證雜湊碼及該第三驗證雜湊碼相關;其中,該客戶端更回應第(i-1)回應信息與第(n-3)驗證雜湊碼,以產生第i傳輸資料與第(n-2)驗證雜湊碼,其中第(n-2)驗證雜湊碼與該第i傳輸資料、第(n-4)驗證雜湊碼及第(n-3)驗證雜湊碼相關,i為大於1的正整數,n=2i+3;其中,該伺服器更回應第i傳輸資料與第(n-2)驗證雜湊碼,以產生第i回應信息與第(n-1)驗證雜湊碼,其中第(n-1)驗證雜湊碼與第i回應信息、第(n-3)驗證雜湊碼及第(n-2)驗證雜湊碼相關。
  10. 如請求項9所述之資料傳輸系統,其中該第一驗證雜湊碼包括一共享金鑰、該第一時間與該第二時間;該第二驗證雜湊碼包括該共享金鑰、該第一時間、該隨機變數與該第一驗證雜湊碼;該第三驗證雜湊碼包括該共享金鑰、一第二雜湊函數與該第一傳輸資料,而該第二雜湊函數包括該第一驗證雜湊碼與該第二驗證雜湊碼;該第四驗證雜湊碼包括該共享金鑰、一第二雜湊函數與該第一回應信息,而該第二雜湊函數包括該第二驗證雜湊碼與該第三驗證雜湊碼。
  11. 如請求項9所述之資料傳輸系統,其中該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼滿足以下公式:Vi+VHn-2(K+hn-4(VHn-4( )|VHn-3( ))+Vi);其中,Vi為第i傳輸資料,VHn-2( )為第(n-2)驗證雜湊碼,VHn-4( )為第(n-4)驗證雜湊碼,VHn-3( )為第(n-3)驗證雜湊碼,hn-4( )為第(n-4)雜湊函數,K為一共享金鑰; 其中,該伺服器產生第i回應信息與第(n-1)驗證雜湊碼滿足以下公式:Ri+VHn-1(K+hn-3(VHn-3( )|VHn-2( ))+Ri);其中,Ri為第i回應信息,VHn-1( )為第(n-1)驗證雜湊碼,VHn-3( )為第(n-3)驗證雜湊碼,VHn-2( )為第(n-2)驗證雜湊碼,hn-3( )為第(n-3)雜湊函數,K為該共享金鑰。
  12. 如請求項9所述之資料傳輸系統,其中該客戶端接收第(i-1)回應信息與第(n-3)驗證雜湊碼,並判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否正確,當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼正確時,該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼,當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼不正確時,該客戶端不產生第i傳輸資料與第(n-2)驗證雜湊碼,並等待該伺服器重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼,一預設時間內,該客戶端判斷該伺服器是否重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼,當判斷該伺服器重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼時,則該客戶端再次判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否正確,直到判斷第(i-1)回應信息與第(n-3)驗證雜湊碼正確,以產生第i傳輸資料與第(n-2)驗證雜湊碼為止,當判斷該伺服器未重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼時,則該客戶端再次產生該起始值。
  13. 如請求項9所述之資料傳輸系統,其中該伺服器接收第i傳輸資料與第(n-2)驗證,並判斷第i傳輸資料與第(n-2)驗證是否正確,當判斷第i傳輸資料與第(n-2)驗證正確時,該伺服器產生第i回應信息 與第(n-1)驗證雜湊碼,當判斷第i傳輸資料與第(n-2)驗證不正確時,該伺服器不產生第i回應信息與第(n-1)驗證雜湊碼,且經過一預設時間後,該客戶端再次產生該起始值。
  14. 如請求項9所述之資料傳輸系統,其中該伺服器接收該第二時間與該第一驗證雜湊碼,並判斷該第二時間與該第一驗證雜湊碼是否正確,當判斷該第二時間與該第一驗證雜湊碼正確時,該伺服器產生該隨機變數與該第二驗證雜湊碼,當判斷該第二時間與該第一驗證雜湊碼不正確時,該伺服器不產生該隨機變數與該第二驗證雜湊碼,且經過一預設時間後,該客戶端再次產生該起始值。
  15. 如請求項9所述之資料傳輸系統,其中該客戶端接收該隨機變數與該第二驗證雜湊碼,並判斷該隨機變數與該第二驗證雜湊碼是否正確,當判斷該隨機變數與該第二驗證雜湊碼正確時,該客戶端產生該第一傳輸資料與該第三驗證雜湊碼,當判斷該第二時間與該第一驗證雜湊碼不正確時,該客戶端不產生該第一傳輸資料與該第三驗證雜湊碼,並等待該伺服器重新傳送該隨機變數與該第二驗證雜湊碼,一預設時間內,該客戶端判斷該伺服器是否重新傳送該隨機變數與該第二驗證雜湊碼,當判斷該伺服器重新傳送該隨機變數與該第二驗證雜湊碼時,該客戶端再次判斷該隨機變數與該第二驗證雜湊碼,直到判斷隨機變數與該第二驗證雜湊碼正確,以產生該第一傳輸資料與該第三驗證雜湊碼為止,當判斷該伺服器未重新傳送該隨機變數與該第二驗證雜湊碼時,則該客戶端再次產生該起始值。
  16. 如請求項9所述之資料傳輸系統,其中該伺服器接收該第一傳輸 資料與該第三驗證雜湊碼,並判斷該第一傳輸資料與該第三驗證雜湊碼是否正確,當判斷該第一傳輸資料與該第三驗證雜湊碼正確時,該伺服器產生該第一回應信息與該第四驗證雜湊碼,當判斷該第一傳輸資料與該第三驗證雜湊碼不正確時,該伺服器產生該第一回應信息與該第四驗證雜湊碼,且經過一預設時間後,該客戶端再次產生該起始值的步驟。
  17. 一種客戶端之資料傳輸方法,適於與一伺服器進行資料傳輸,該客戶端之資料傳輸方法包括:產生一起始值;依據該伺服器回應該起始值而回傳之一第一時間,產生一第二時間與一第一驗證雜湊碼,其中該第一驗證雜湊碼與該第一時間及該第二時間相關;依據該伺服器回應該第二時間與該第一驗證雜湊碼而回傳之一隨機變數與一第二驗證雜湊碼,產生一第一傳輸資料與一第三驗證雜湊碼,其中該第二驗證雜湊碼與該第一時間、該隨機變數及該第一驗證雜湊碼相關,該第三驗證雜湊碼與該第一傳輸資料、該第一驗證雜湊碼及該第二驗證雜湊碼相關;依據該伺服器回應第(i-1)傳輸資料與第(n-4)驗證雜湊碼而回傳之第(i-1)回應信息與第(n-3)驗證雜湊碼,產生第i傳輸資料與第(n-2)驗證雜湊碼,其中第(n-2)驗證雜湊碼與第i傳輸資料、第(n-4)驗證雜湊碼及第(n-3)驗證雜湊碼相關,i為大於1的正整數,n=2i+3。
  18. 如請求項17所述之客戶端的資料傳輸方法,其中該客戶端產生第 i傳輸資料與第(n-2)驗證雜湊碼滿足以下公式:Vi+VHn-2(K+hn-4(VHn-4( )|VHn-3( ))+Vi);其中,Vi為第i傳輸資料,VHn-2( )為第(n-2)驗證雜湊碼,VHn-4( )為第(n-4)驗證雜湊碼,VHn-3( )為第(n-3)驗證雜湊碼,hn-4( )為第(n-4)雜湊函數,K為一共享金鑰;其中,該伺服器回傳之第i回應信息與第(n-1)驗證雜湊碼滿足以下公式:Ri+VHn-1(K+hn-3(VHn-3( )|VHn-2( ))+Ri);其中,Ri為第i回應信息,VHn-1( )為第(n-1)驗證雜湊碼,VHn-3( )為第(n-3)驗證雜湊碼,VHn-2( )為第(n-2)驗證雜湊碼,hn-3( )為第(n-3)雜湊函數,K為該共享金鑰。
  19. 如請求項17所述之客戶端的資料傳輸方法,其中該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼的步驟包括:接收第(i-1)回應信息與第(n-3)驗證雜湊碼;判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否正確;當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼正確時,該客戶端產生第i傳輸資料與第(n-2)驗證雜湊碼;當判斷第(i-1)回應信息與第(n-3)驗證雜湊碼不正確時,該客戶端不產生第i傳輸資料與第(n-2)驗證雜湊碼,並等待該伺服器重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼;一預設時間內,判斷該伺服器是否重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼;當判斷該伺服器重新傳送第(i-1)回應信息與第(n-3)驗證雜湊 碼時,則回到判斷第(i-1)回應信息與第(n-3)驗證雜湊碼是否正確的步驟;以及當判斷該伺服器未重新傳送第(i-1)回應信息與第(n-3)驗證雜湊碼時,則回到該客戶端產生該起始值的步驟。
  20. 如請求項17所述之客戶端的資料傳輸方法,其中該客戶端產生該第一傳輸資料與該第三驗證雜湊碼的步驟包括:接收該隨機變數與該第二驗證雜湊碼;判斷該隨機變數與該第二驗證雜湊碼是否正確;當判斷該隨機變數與該第二驗證雜湊碼正確時,該客戶端產生該第一傳輸資料與該第三驗證雜湊碼;當判斷該第二時間與該第一驗證雜湊碼不正確時,該客戶端不產生該第一傳輸資料與該第三驗證雜湊碼,並等待該伺服器重新傳送該隨機變數與該第二驗證雜湊碼;一預設時間內,判斷該伺服器是否重新傳送該隨機變數與該第二驗證雜湊碼;當判斷該伺服器重新傳送該隨機變數與該第二驗證雜湊碼時,則回到判斷該隨機變數與該第二驗證雜湊碼是否正確的步驟;以及當判斷該伺服器未重新傳送該隨機變數與該第二驗證雜湊碼時,則回到該客戶端產生該起始值的步驟。
TW104102126A 2015-01-22 2015-01-22 資料傳輸方法及系統與客戶端之資料傳輸方法 TWI540459B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW104102126A TWI540459B (zh) 2015-01-22 2015-01-22 資料傳輸方法及系統與客戶端之資料傳輸方法
CN201510181221.8A CN104852906B (zh) 2015-01-22 2015-04-16 数据传输方法及系统与客户端的数据传输方法
US14/946,812 US9866390B2 (en) 2015-01-22 2015-11-20 Data transmitting method suitable to client and server, data transmitting system and data transmitting method for client suitable to transmit and receive data to and from server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104102126A TWI540459B (zh) 2015-01-22 2015-01-22 資料傳輸方法及系統與客戶端之資料傳輸方法

Publications (2)

Publication Number Publication Date
TWI540459B true TWI540459B (zh) 2016-07-01
TW201627909A TW201627909A (zh) 2016-08-01

Family

ID=53852262

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104102126A TWI540459B (zh) 2015-01-22 2015-01-22 資料傳輸方法及系統與客戶端之資料傳輸方法

Country Status (3)

Country Link
US (1) US9866390B2 (zh)
CN (1) CN104852906B (zh)
TW (1) TWI540459B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI620087B (zh) * 2017-02-15 2018-04-01 財團法人資訊工業策進會 驗證伺服器、驗證方法及其電腦程式產品
JP2020120235A (ja) * 2019-01-23 2020-08-06 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
EP3716177A1 (en) * 2019-03-25 2020-09-30 IPCO 2012 Limited A method, apparatus and computer program for verifying the integrity of electronic messages

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373509B2 (en) * 2003-12-31 2008-05-13 Intel Corporation Multi-authentication for a computing device connecting to a network
US7694335B1 (en) * 2004-03-09 2010-04-06 Cisco Technology, Inc. Server preventing attacks by generating a challenge having a computational request and a secure cookie for processing by a client
US7617322B2 (en) * 2006-09-29 2009-11-10 Microsoft Corporation Secure peer-to-peer cache sharing
US8468347B2 (en) * 2009-02-19 2013-06-18 Emc Corporation Secure network communications
CN102307197B (zh) * 2011-08-29 2014-02-19 浙江中烟工业有限责任公司 多级安全互联平台的可信增强子系统
CN102255924B (zh) * 2011-08-29 2013-11-06 浙江中烟工业有限责任公司 基于可信计算的多级安全互联平台及其处理流程
CN102904893B (zh) * 2012-10-22 2016-08-10 深圳中兴网信科技有限公司 验证装置和验证方法
US9443108B1 (en) * 2014-06-27 2016-09-13 Amazon Technologies, Inc. Secure timestamping

Also Published As

Publication number Publication date
CN104852906B (zh) 2018-03-30
CN104852906A (zh) 2015-08-19
US20160218877A1 (en) 2016-07-28
US9866390B2 (en) 2018-01-09
TW201627909A (zh) 2016-08-01

Similar Documents

Publication Publication Date Title
Singelée et al. Distance bounding in noisy environments
KR101486782B1 (ko) 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증
Das et al. An efficient multi‐gateway‐based three‐factor user authentication and key agreement scheme in hierarchical wireless sensor networks
US20190103964A1 (en) Methods for encrypted data communications
Studer et al. Don't bump, shake on it: The exploitation of a popular accelerometer-based smart phone exchange and its secure replacement
Huth et al. Securing systems on the Internet of Things via physical properties of devices and communications
Sun et al. A security authentication scheme in machine‐to‐machine home network service
KR20160095201A (ko) 컴퓨팅 디바이스에 대한 액세스 제어를 제공하기 위한 방법들, 시스템들 및 매체들
EP3602997B1 (en) Mutual authentication system
US20150149777A1 (en) Mobile terminal, terminal and authentication method using security cookie
US10637652B2 (en) Method and system for exchanging cryptographic keys with an unauthenticated device
TW201635177A (zh) 點對點連線及建立方法及其通訊系統
TWI540459B (zh) 資料傳輸方法及系統與客戶端之資料傳輸方法
US10389702B2 (en) Entity authentication method and device with Elliptic Curve Diffie Hellman (ECDH) key exchange capability
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN105656854B (zh) 一种验证无线局域网络用户来源的方法、设备及系统
EP3361691B1 (en) Method and device for verifying validity of identity of entity
US20220052842A1 (en) Methods and devices for remote integrity verification
JP6475271B2 (ja) ゲートウェイ装置、機器、及び通信システム
Zhu et al. Robust and simple multi-server authentication protocol without verification table
JP7119537B2 (ja) 検知システムおよび検知方法
EP3361692B1 (en) Multi-ttp-based method and device for verifying validity of identity of entity
EP3361690B1 (en) Multi-ttp-based method and device for verifying validity of identity of entity
KR101875528B1 (ko) 경량 장치를 위한 스테가노그래피 기법에 기반한 통신 방법
EP4356634A1 (en) Digest access authentication for a client device