TWI677806B - 阻斷中間人攻擊的用戶數據加密裝置及其方法 - Google Patents

阻斷中間人攻擊的用戶數據加密裝置及其方法 Download PDF

Info

Publication number
TWI677806B
TWI677806B TW106128912A TW106128912A TWI677806B TW I677806 B TWI677806 B TW I677806B TW 106128912 A TW106128912 A TW 106128912A TW 106128912 A TW106128912 A TW 106128912A TW I677806 B TWI677806 B TW I677806B
Authority
TW
Taiwan
Prior art keywords
key
data
identity code
processing unit
client
Prior art date
Application number
TW106128912A
Other languages
English (en)
Other versions
TW201913445A (zh
Inventor
曾守民
Shou-Min Tseng
Original Assignee
小松鼠軟體有限公司
Tsm Software Technology 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 小松鼠軟體有限公司, Tsm Software Technology Co. Ltd. filed Critical 小松鼠軟體有限公司
Priority to TW106128912A priority Critical patent/TWI677806B/zh
Publication of TW201913445A publication Critical patent/TW201913445A/zh
Application granted granted Critical
Publication of TWI677806B publication Critical patent/TWI677806B/zh

Links

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本發明係提供一種阻斷中間人攻擊的用戶數據加密裝置包含一金鑰庫、一身分碼資料庫、一傳輸端與一處理單元。金鑰庫提供公開金鑰與私密金鑰。身分碼資料庫儲存一唯一身分碼。傳輸端接收來自於一用戶端的一訪問請求。處理單元產生唯一身分碼、根據訪問請求自金鑰庫取得等公開金鑰之其中一者、自一伺服端取得一網頁並在網頁綁定一加密程式與公開金鑰、解密由加密程式根據公開金鑰而加密來自於用戶端的一資料,以及驗證資料、公開金鑰與唯一身分碼之至少一者是否有效以決定讓資料傳送至伺服端。本發明另提供一種阻斷中間人攻擊的用戶數據加密方法。

Description

阻斷中間人攻擊的用戶數據加密裝置及其方法
本發明是關於資訊安全的技術領域,特別是一種能夠阻斷中間人攻擊的用戶數據加密裝置及其方法。
傳統中,網際網路的資料型態涉及公開領域與私密領域的資料。未進行保護的私密領域的資料(可稱為敏感資料)如同公開領域的資料,可以直接顯示真實的資料。因此,在私密領域的資料(後稱為敏感資料),大多數網站會選擇安全通訊協定(Secure Sockets Layer,SSL)或傳輸層安全協議(Transport Layer Security,TLS)發送敏感資料,例如帳戶名稱和密碼。藉由上述的安全協定,可以避免用戶端利用瀏覽器將敏感資料發送到網站服務器的過程中,敏感資料遭到竊取或竄改。
然而,當SSL或TLS所需的憑證授予遭到破解而無法判斷憑證的真假、網絡釣魚網站攔截用戶端傳輸的資料、重放或偽造假資料,導致前述行為遠遠超出了SSL或TLS保護的範圍,使得加密的敏感資料仍處於危險的狀況,以下例舉數個情況:
情況一:若資料是純文本且僅受SSL保護,則當SSL被破壞時,或是經過Proxy/Reverse Proxy(代理伺服器/反向代理伺服器)SSL被解開後,敏 感數據將還原成本文未受保護,中間人(MITM,Man-In-The-Middle或稱攻擊者)可以直接使用用戶端的敏感數據即可登錄網站。
情況二:利用安全雜湊演算法(Secure Hash Algorithm,SHA)、MD5訊息摘要演算法或其他演算法對資料進行加密演算,藉以驗證例如用戶帳號或密碼。然而,在這種情況之下,中間人不必破解真正的帳戶名稱與密碼,只需要重新發送經前述加密演算的帳戶名稱或密碼,即有可能通過驗證。
情況三:如果使用例如資料加密標準(Data Encryption Standard,DES)、三重資料加密演算法(Triple Data Encryption Algorithm,TDEA)等對稱密鑰的演算法對資料進行加密。由於用戶端可從網站伺服器下載包含Javascript和HTML的網頁內容,下載過程中,相關的密鑰和加密程式也一併從網站伺服器下載。因此,中間人很容易藉由擷取網頁封包,進一步取得密鑰與加密程式,從而得以使用相同密鑰解開加密的敏感資料或使得情況三發生如同情況一的狀況。
情況四:如果使用例如RSA加密演算法、Elliptic曲線、迪菲-赫爾曼密鑰交換(Diffie-Hellman)等非對稱密鑰的演算法對資料進行加密,則公開金鑰和加密金鑰碼從網站伺服器下載。使用公開金鑰僅供加密輸入資料,但不能對其進行解密。採用本演算法需要利用存儲在網站伺服器的私密金鑰對其進行解密。因此,相較於其他的情況一至三,它提供了一種更安全的方式來保護用戶資料,即便傳輸資料被中間人截獲,中間人無法恢復密碼或敏感資料。然而,實際上,大多數使用非對稱密鑰來加密資料的網站並不會對不同網頁瀏覽請求來動態地改變加密的公開密鑰,導致中間人可以在不對敏感資料進行解密的情況下,可以重現登錄過程,因加密的資料總是與密鑰相同。因此,中間人 不需要知道真正密碼,只需要將加密的資料發送到伺服器,它將可以順利通過認證和授權過程,讓網站伺服器將能夠成功解密它。
有鑑於此,本發明提出一種阻斷中間人攻擊的用戶數據加密裝置及其方法,其可解決習知技術的缺點。
本發明之第一目的提供一種阻斷中間人攻擊的用戶數據加密方法,係在一用戶端提供一劃一資源***(URL)在一瀏覽器取得一伺服端的一網頁的過程中,利用動態產生的唯一身分碼與公開金鑰保護用戶端提交的資料,其中唯一身分碼是無法偽造、修改或變更。
本發明之第二目的提供前述阻斷中間人攻擊的用戶數據加密方法,可做成外部硬體加解密裝置(例如反向代理伺服器、Reverse Proxy)或是在網站伺服器之文件語言碼(超文件標示語言(HyperText Markup Language,HTML)、Javascript)嵌入加解密方法。
本發明之第三目的提供前述阻斷中間人攻擊的用戶數據加密方法,係利用公開金鑰進行加密,並透過唯一身分碼的正確性,進一步透過私密金鑰進行解密,以獲得用戶端提交的資料。
本發明之第四目的提供前述阻斷中間人攻擊的用戶數據加密方法,係能夠在提交的資料中,選擇特定的或預先選定的敏感資料(例如帳戶名稱、密碼等)進行加密。
本發明之第五目的提供前述阻斷中間人攻擊的用戶數據加密方法,在特定的時間內,利用一次性的唯一身分碼取得對應的私密金鑰,以在網頁伺服端開啟敏感資料。
本發明之第六目的提供前述阻斷中間人攻擊的用戶數據加密方法,提供的唯一身分碼可包含伺服器伺服時間(例如奈秒等級)的時間戳、密鑰對索引值、密鑰存活時間(例如秒等級)、檢查碼機制等,其中密鑰存活時間可以避免重複提交資料或短時間重播造成損害。
本發明之第七目的提供前述阻斷中間人攻擊的用戶數據加密方法,當唯一身分碼超過密鑰存活時間,唯一身分碼自身分碼資料庫移除。
本發明之第八目的提供一種阻斷中間人攻擊的用戶數據加密裝置,係用於阻斷中間人攻擊用戶端。
為達上述目的及其它目的,本發明係提供一種阻斷中間人攻擊的用戶數據加密裝置,其包含一金鑰庫、一身分碼資料庫、一傳輸端與一處理單元。金鑰庫提供複數公開金鑰與複數私密金鑰。其中,公開金鑰是隨機產生且公開金鑰是相關於私密金鑰。身分碼資料庫包含一儲存空間。供儲存一唯一身分碼。傳輸端連接金鑰庫與身分碼資料庫,供接收來自於一用戶端的一訪問請求。處理單元連接傳輸端。處理單元產生唯一身分碼、處理單元根據訪問請求自金鑰庫取得公開金鑰之其中一者、處理單元自一伺服端取得一網頁並在網頁綁定一加密程式與公開金鑰、處理單元解密由加密程式根據公開金鑰而加密來自於用戶端的一資料,以及處理單元驗證資料、公開金鑰與唯一身分碼之至少一者是否有效,以決定讓資料傳送至伺服端。其中,唯一身分碼包含一伺服時間、一密鑰存活時間與一密鑰對索引值的欄位。
為達上述目的及其它目的,本發明提供一種阻斷中間人攻擊的用戶數據加密方法,係根據一用戶端提供一劃一資源***(URL)在一瀏覽器取得一伺服端的一網頁,阻斷中間人攻擊的用戶數據加密方法包含(a)瀏覽器根據劃一資源***(URL)發出一訪問請求;(b)伺服端接收需要解密的訪問請求,從一金鑰庫(Key repository)取得一公開金鑰(public key),以及根據訪問請求,伺服 端輸出網頁對應的一文件語言碼;(c)在文件語言碼加入或嵌入一加密程式與公開金鑰,並產生一唯一身分碼(Unique ID),且唯一身分碼儲存在一身分碼資料庫(Unique ID repository),其中唯一身分碼至少包含一伺服時間、一密鑰對索引值與一密鑰存活時間的欄位;(d)瀏覽器在用戶端顯示文件語言碼,以供用戶端輸入一資料;(e)加密程式根據公開金鑰加密用戶端的資料之至少一部分;(f)檢核資料與唯一身分碼之至少一者的有效性,若資料與唯一身分碼是有效的,則執行步驟(g),若資料與唯一身分碼是無效的,則執行步驟(i);(g)根據公開金鑰取出對應的一私密金鑰,並利用私密金鑰解密經加密的資料;(h)傳送解密的資料至伺服端,以將網頁回傳至瀏覽器;以及(i)結束訪問請求。
相較於習知技術,本發明之阻斷中間人攻擊的用戶數據加密裝置及其方法,可以應用於保護敏感資料(例如帳戶、密碼)不被攔截和重新提交。本發明可以確保用戶端在瀏覽器、應用程序(APP)與網站服務器進行資料交換的過程中,不會被硬體或是軟體偽造或重複使用。縱然中間人可以擷取到資料,但本發明利用唯一身分碼的伺服時間與密鑰存活時間,可以確保一次性的資料不會再被使用。
10、10'‧‧‧阻斷中間人攻擊的用戶數據加密裝置
2‧‧‧用戶端
4‧‧‧瀏覽器
6‧‧‧網站伺服器
8‧‧‧網頁
12‧‧‧金鑰庫
122‧‧‧公開金鑰
124‧‧‧私密金鑰
14‧‧‧身分碼資料庫
142‧‧‧儲存空間
16‧‧‧傳輸端
18‧‧‧處理單元
VR‧‧‧訪問請求
UID‧‧‧唯一身分碼
EP‧‧‧加密程式
DA‧‧‧資料
S501-S509‧‧‧方法步驟
圖1係本發明第一實施例之阻斷中間人攻擊的用戶數據加密裝置的方塊圖。
圖2係說明圖1之唯一身分碼的格式示意圖。
圖3係說明圖1之一實施例的動作時序圖。
圖4係說明圖1之另一實施例的動作時序圖。
圖5係本發明第二實施例之阻斷中間人攻擊的用戶數據加密方法的流程圖。
為充分瞭解本發明之目的、特徵及功效,茲藉由下述具體之實施例,並配合所附之圖式,對本發明做一詳細說明,說明如後: 於本發明中,係使用「一」或「一個」來描述本文所述的單元、元件和組件。此舉只是為了方便說明,並且對本發明之範疇提供一般性的意義。因此,除非很明顯地另指他意,否則此種描述應理解為包括一個、至少一個,且單數也同時包括複數。
於本發明中,用語「包含」、「包括」、「具有」、「含有」或其他任何類似用語意欲涵蓋非排他性的包括物。舉例而言,含有複數要件的一元件、結構、製品或裝置不僅限於本文所列出的此等要件而已,而是可以包括未明確列出但卻是該元件、結構、製品或裝置通常固有的其他要件。除此之外,除非有相反的明確說明,用語「或」是指涵括性的「或」,而不是指排他性的「或」。
請參考圖1,係本發明第一實施例之阻斷中間人攻擊的用戶數據加密裝置的方塊圖。於圖1中,阻斷中間人攻擊的用戶數據加密裝置10包含一金鑰庫12、一身分碼資料庫14、一傳輸端16與一處理單元18。為便於說明,於此係一併揭露相關的部件,例如用戶端2、瀏覽器4、網站伺服器6與網頁8,該等部件之間可以透過例如符合網際網路規範的載體(例如導線、光纖等)進行通訊。其中,用戶端2指使用者;瀏覽器4使用者2可透過例如電腦、平板電腦、通訊手機開啟及用來顯示例如HTML或JavaScript等文件語言碼,例如IE、Chrome、safari、Firefox、opera及應用程序App等;網站伺服器6用來執行網頁8的主機。
金鑰庫12(Key repository)提供複數公開金鑰122與複數私密金鑰124,其中金鑰庫12可為記憶體、伺服器、硬碟、軟碟、光碟等。該等公開金鑰122是隨機產生且該等公開金鑰122是相關於該等私密金鑰124。一般而言,每一公開金鑰122對應每一私密金鑰124,藉以形成金鑰對(Key Pair)。
身分碼資料庫14具有一儲存空間142,其中身分碼資料庫14可為記憶體、伺服器、硬碟、軟碟、光碟等。儲存空間142能夠儲存一唯一身分碼UID,一併參考圖2,係唯一身分碼UID的欄位格式說明。
在圖2,唯一身分碼UID係以四個欄位為例說明,欄位分別為伺服時間(server time)、密鑰對(KeyPair)索引值、密鑰存活時間(timeout)(或稱超時)、驗證(checksum)。其分別地定義如下:
伺服時間:用戶端、瀏覽器或反向代理伺服器訪問網站伺服器6的時間,其時間可為奈秒(nano second)等級。
密鑰對索引值:密鑰對索引值對應金鑰庫12中公開金鑰122或私密金鑰124的索引值。
密鑰存活時間:唯一身分碼UID的存活時間(或稱有效時間)。舉例而言,當唯一身分碼UID被回傳至網站伺服器6時,其回傳的時間大於或等於伺服時間與密鑰存活時間,則整個唯一身分碼UID被視為無效的;反之,回傳的時間小於伺服時間與密鑰存活時間,則整個唯一身分碼UID被視為有效的。
驗證:用來驗證整個唯一身分碼UID是未經過變造的或是修改的,例如驗證可以透過雜湊函數打亂資料以建立雜湊值,其中雜湊值可由隨機字母與數字所組成。
因此,上述伺服時間、密鑰對索引值、密鑰存活時間,在進一步結合雜湊值,更可以用來確保唯一身分碼UID具有獨特性、唯一性與不可重複性。
傳輸端16連接金鑰庫12與身分碼資料庫14,例如傳輸端16是符合有線通訊規範或是無線通訊規範的單向或是雙向的連接埠。傳輸端16能夠接收來自於一用戶端2的一訪問請求VR。
處理單元18連接傳輸端16。處理單元18提供數種功能,其分別地羅列如下:
(1)處理單元18產生唯一身分碼UID。舉例而言,處理單元18執行一演算法依照各欄位的需求,建立前述所提及的唯一身分碼UID。
(2)處理單元18根據訪問請求VR自金鑰庫12取得該等公開金鑰122之其中一者。於另一實施例中,處理單元18可以預先地判斷訪問請求VR是否具有加密的功能,若訪問請求VR是為加密的,可以預先進行解碼。
(3)處理單元18自網站伺服器6取得網頁8,並在網頁8綁定一加密程式EP與公開金鑰122。於一實施例中,加密程式EP可預先選擇用戶端2的DA資料之至少一部分進行加密。其中,資料DA之至少一部分係相關於用戶端2的敏感資料。於此的好處為,選擇特定的欄位進行加密可以加快運算的速度,且加密欄位通常是用戶端2主動提供的資料或是cookie內已被儲存的資料。
(4)處理單元18解密由加密程式EP根據公開金鑰122而加密來自於用戶端2的資料DA(例如帳戶名稱、密碼等),例如經加密之後的帳戶名稱與密碼,並非為明碼,而是經由加密方式改變的,即經加密後的帳戶名稱與密碼已經不同原先輸入的資料DA。
(5)處理單元18驗證資料DA、唯一身分碼UID是否有效,以決定讓資料DA傳送至網站伺服器6。
(6)處理單元18執行一安全散列算法,以計算該文件語言碼與該唯一身分碼之至少一者,以形成加密的該文件語言碼與該唯一身分碼。
圖3,係說明圖1之一實施例的動作時序圖,時間序自左上向右下逐漸遞增。在圖3中,揭露用戶端2、瀏覽器4、網站伺服器6、網頁8與阻斷中間人攻擊的用戶數據加密裝置10。其中,阻斷中間人攻擊的用戶數據加密裝置10更包含金鑰庫12、身分碼資料庫14、傳輸端16與處理單元18。
用戶端2執行電腦(圖未示)的瀏覽器4,並在瀏覽器4中鍵入例如某一金融機構的網路銀行的劃一資源***(或稱網址)。瀏覽器4根據網址對網站伺服器6發出訪問請求VR,於本實施例中,訪問請求VR首先會被處理單元18接收。
處理單元18可能會預先判斷訪問請求VR是否有經過加密,若訪問請求VR是加密的,處理單元18會先進行解密,進而處理單元18執行兩個部分,其中一個部分是根據訪問請求VR連接至訪問請求VR所對應的網站伺服器6,另一部分是處理單元18根據訪問請求VR向金鑰庫12隨機地取得一把公開金鑰122,例如處理單元18根據一隨機函數產生一索引值,以及處理單元18根據索引值在金鑰庫12取得對應的公開金鑰122。因此,處理單元18取得索引值對應的公開金鑰122。
處理單元18等待網站伺服器6的網頁8的取得網站伺服器6之網頁8的文件語言碼。在處理單元18接收到文件語言碼之後,處理單元18進一步在文件語言碼加入加密程式EP與公開金鑰122。此外,處理單元18又根據文件語言碼、加密程式EP、公開金鑰122產生一唯一身分碼UID,以及文件語言碼、加密程式EP、公開金鑰122、唯一身分碼UID都被傳送至瀏覽器4。值得注意的是,加密程式EP預先設定有針對用戶端2的帳戶名稱與密碼進行加密的設定。唯一身分碼UID被儲存至身分碼資料庫14。
用戶端2可以透過瀏覽器4觀看到該金融機構的網路銀行的網頁8,例如網頁8顯示一對話框,讓用戶端2可以輸入欲登錄的帳戶名稱、密碼、驗 證碼、身分字號等。其中,網頁8除了上述的內容之外,更包含加密程式EP、公開金鑰122、唯一身分碼UID等內容。
用戶端2在瀏覽器4鍵入對應的帳戶名稱與密碼等的資料DA。此時,瀏覽器4根據用戶端2的資料DA,執行加密程式EP,加密程式EP是基於公開金鑰122而進行演算的。再者,由於加密程式EP在前以預先設定僅會對帳戶名稱與密碼進行加密,因此,用戶端2輸入的帳戶名稱與密碼皆經過加密,而非明碼,其不同於用戶端2輸入的內容。
此時,加密的資料DA、公開金鑰、唯一身分碼UID等由瀏覽器4傳送至處理單元18。處理單元18首先確認,唯一身分碼UID是否存在於身分碼資料庫14,若身分碼資料庫14不存在相同的唯一身分碼UID,則結束傳送資料DA至網站伺服器6;反之,若身分碼資料庫14確實存在相同的唯一身分碼UID,則處理單元18可能進一步判斷用戶端2是否曾經有發送過相同的唯一身分碼UID。
若未發送過唯一身分碼UID,則表示唯一身分碼UID是第一次發送。處理單元18進一步判斷網站伺服器6接收到唯一身分碼UID的時間是否小於伺服時間與密鑰存活時間的總和,若時間小於總和,則唯一身分碼UID應被視為有效的,可當做是用戶端2親自登錄;反之,唯一身分碼UID的時間大於伺服時間與密鑰存活時間的總和,則唯一身分碼UID被視為無效的,其係有可能被中間人攔截,重新登錄。又或者,若處理單元18判斷唯一身分碼UID已經發送過,則這個唯一身分碼UID很有可能是中間人進行重放的動作,則唯一身分碼UID被視為無效的。於本實施例中,若唯一身分碼UID屬於無效的,則在瀏覽器4顯示錯誤頁面。
若唯一身分碼UID屬於有效的,處理單元18解析公開金鑰122,以及自金鑰庫12根據公開金鑰122取得私密金鑰124,處理單元18進一步根據私 密金鑰124解密資料DA,並將資料DA傳送至網站伺服器6,此時的帳戶名稱與密碼解密成用戶端2輸入的明碼。網站伺服器6根據明碼的帳戶名稱與密碼,取得對應的帳戶資料。最終,帳戶資料透過文件語言碼的形式輸出在瀏覽器4。
圖4,係說明圖1之另一實施例的動作時序圖。在圖4中,揭露用戶端2、瀏覽器4、網站伺服器6、網頁8與阻斷中間人攻擊的用戶數據加密裝置10。其中,阻斷中間人攻擊的用戶數據加密裝置10'更包含金鑰庫12、身分碼資料庫14、傳輸端16與處理單元18。相較於圖3,圖4的傳輸端16與處理單元18係設置於網站伺服器6。
用戶端2執行電腦(圖未示)的瀏覽器4,並在瀏覽器4中鍵入例如某一金融機構的網路銀行的劃一資源***(或稱網址)。瀏覽器4根據網址對網站伺服器6發出訪問請求VR。
網站伺服器6接收到訪問請求VR之後,網站伺服器6向金鑰庫12取得公開金鑰122。網站伺服器6根據文件語言碼、加密程式EP、公開金鑰122產生一唯一身分碼UID,以及文件語言碼、加密程式EP、公開金鑰122、唯一身分碼UID都被傳送至瀏覽器4。值得注意的是,加密程式EP預先設定有針對用戶端2的帳戶名稱與密碼進行加密的設定。唯一身分碼UID被儲存至身分碼資料庫14。其中,加密程式EP、公開金鑰122可以被嵌入在文件語言碼。
用戶端2可以透過瀏覽器4觀看到金融機構的網路銀行的網頁8,例如網頁8顯示一對話框,讓用戶端2可以輸入欲登錄的帳戶名稱、密碼、驗證碼、身分字號等。其中,網頁8除了上述的內容之外,更包含加密程式EP、公開金鑰122、唯一身分碼UID等內容。
加密的資料DA、公開金鑰、唯一身分碼UID等由瀏覽器4傳送至網站伺服器6。網站伺服器6首先確認,唯一身分碼UID是否存在於身分碼資料庫14,若身分碼資料庫14不存在相同的唯一身分碼UID,則結束傳送資料DA至 網站伺服器6;反之,若身分碼資料庫14確實存在相同的唯一身分碼UID,則處理單元18可能進一步判斷用戶端2是否曾經有發送過相同的唯一身分碼UID。
若未發送過唯一身分碼UID,則表示唯一身分碼UID是第一次發送。網站伺服器6進一步判斷接收到唯一身分碼UID的時間是否小於伺服時間與密鑰存活時間的總和,若時間小於總和,則唯一身分碼UID應被視為有效的,可當做是用戶端2親自登錄;反之,唯一身分碼UID的時間大於伺服時間與密鑰存活時間的總和,則唯一身分碼UID被視為無效的,其係有可能被中間人攔截,重新登錄。又或者,若網站伺服器6判斷唯一身分碼UID已經發送過,則這個唯一身分碼UID很有可能是中間人進行重放的動作,則唯一身分碼UID被視為無效的。於本實施例中,若唯一身分碼UID屬於無效的,則在瀏覽器4顯示錯誤頁面。
若唯一身分碼UID屬於有效的,網站伺服器6解析公開金鑰122,以及自金鑰庫12根據公開金鑰122取得私密金鑰124,處理單元18進一步根據私密金鑰124解密資料DA,並將資料DA傳送至網站伺服器6,此時的帳戶名稱與密碼解密成用戶端2輸入的明碼。網站伺服器6根據明碼的帳戶名稱與密碼,取得對應的帳戶資料。最終,帳戶資料透過文件語言碼的形式輸出在瀏覽器4。
圖5,係本發明第二實施例之阻斷中間人攻擊的用戶數據加密方法的流程圖。於5圖中,阻斷中間人攻擊的用戶數據加密方法根據一用戶端提供一劃一資源***(URL)在一瀏覽器取得一伺服端的一網頁。
阻斷中間人攻擊的用戶數據加密方法起始於步驟S501,瀏覽器根據劃一資源***發出一訪問請求。於另一實施例中,本步驟更可包含一反向代理伺服器(reverse proxy)接收訪問請求以及向代理伺服器將訪問請求傳送至伺服端。
步驟S502,伺服端接收需要解密的訪問請求,從金鑰庫取得公開金鑰,以及根據訪問請求,伺服端輸出網頁對應的一文件語言碼。
步驟S503,在文件語言碼加入或嵌入一加密程式與公開金鑰,並產生一唯一身分碼,且唯一身分碼儲存在一身分碼資料庫。其中,唯一身分碼至少包含一伺服時間與一密鑰存活時間的欄位。於另一實施例中,加密程式可預先指定文件語言碼的一特殊字段執行。其中,加密程式選擇相關於用戶端的特殊字段或用戶端指定的特殊字段。
於另外一實施例中,還可以利用一安全散列算法計算文件語言碼與唯一身分碼之至少一者,以加密文件語言碼與唯一身分碼。
步驟S504,瀏覽器在用戶端顯示文件語言碼,以供用戶端輸入一資料。
步驟S505,加密程式根據公開金鑰加密用戶端的資料之至少一部分。
步驟S506,檢核資料與唯一身分碼之至少一者的有效性,若資料與唯一身分碼是有效的,則執行步驟S507,若資料與唯一身分碼是無效的,則執行步驟S509。舉例而言,檢核在身分碼資料庫存在唯一身分碼,且唯一身分碼僅能使用一次、在密鑰存活時間內使用或判斷資料是否重複傳輸。
步驟S507,根據公開金鑰取出對應的一私密金鑰,並利用私密金鑰解密經加密的資料。
步驟S508,傳送解密的資料至伺服端,以將網頁回傳至瀏覽器。
步驟S509,結束訪問請求。
本發明在上文中已以較佳實施例揭露,然熟習本項技術者應理解的是,該實施例僅用於描繪本發明,而不應解讀為限制本發明之範圍。應注意 的是,舉凡與該實施例等效之變化與置換,均應設為涵蓋於本發明之範疇內。因此,本發明之保護範圍當以申請專利範圍所界定者為準。

Claims (10)

  1. 一種阻斷中間人攻擊的用戶數據加密方法,係根據一用戶端提供一劃一資源***(URL)在一瀏覽器取得一伺服端的一網頁,該阻斷中間人攻擊的用戶數據加密方法包含:(a)該瀏覽器根據該劃一資源***發出一訪問請求;(b)該伺服端接收需要解密的該訪問請求,從一金鑰庫(Key repository)取得一公開金鑰(public key),以及根據該訪問請求,該伺服端產生該網頁對應的一文件語言碼;(c)輸出該文件語言碼至該瀏覽器,其中在該文件語言碼加入或嵌入一加密程式與該公開金鑰,並包括由一處理單元產生一唯一身分碼(Unique ID),且該唯一身分碼儲存在一身分碼資料庫(Unique ID repository),其中該唯一身分碼至少包含一伺服時間、一密鑰對(KeyPair)索引值與一密鑰存活時間的欄位;(d)該瀏覽器在該用戶端顯示該文件語言碼,以供該用戶端輸入一資料;(e)以該文件語言碼中的該加密程式根據該公開金鑰加密該用戶端的資料之至少一部分;(f)傳送經加密之該資料之至少一部分、該公開金鑰與該唯一身份碼至該處理單元,以檢核該資料與該唯一身分碼之至少一者的有效性,若該資料與該唯一身分碼是有效的,則執行步驟(g),若該資料與該唯一身分碼是無效的,則執行步驟(i);(g)於該處理單元中,根據該公開金鑰取出對應的一私密金鑰,並利用該私密金鑰解密經加密的該資料;(h)傳送解密的該資料至該伺服端,以將該網頁回傳至該瀏覽器;以及(i)結束該訪問請求。
  2. 如申請專利範圍第1項所述之阻斷中間人攻擊的用戶數據加密方法,其中在步驟(a)更包含一反向代理伺服器(reverse proxy)接收該訪問請求,以及該訪問請求傳送至該伺服端。
  3. 如申請專利範圍第1項所述之阻斷中間人攻擊的用戶數據加密方法,其中在步驟(c)更包含該加密程式預先指定該文件語言碼的一特殊字段執行。
  4. 如申請專利範圍第3項所述之阻斷中間人攻擊的用戶數據加密方法,其中該加密程式選擇相關於該用戶端的該特殊字段或該用戶端指定的該特殊字段。
  5. 如申請專利範圍第1項所述之阻斷中間人攻擊的用戶數據加密方法,其中在步驟(c)更包含利用一安全散列算法計算該文件語言碼與該唯一身分碼之至少一者,以加密該文件語言碼與該唯一身分碼。
  6. 如申請專利範圍第1項所述之阻斷中間人攻擊的用戶數據加密方法,其中在步驟(f)更包含檢核在該身分碼資料庫存在該唯一身分碼,且該唯一身分碼僅能使用一次或在該密鑰存活時間內使用。
  7. 如申請專利範圍第6項所述之阻斷中間人攻擊的用戶數據加密方法,其中在步驟(f)更包含判斷該資料是否重複傳輸。
  8. 一種阻斷中間人攻擊的用戶數據加密裝置,其包含:一金鑰庫,提供複數公開金鑰與複數私密金鑰,其中該等公開金鑰是隨機產生且該等公開金鑰是相關於該等私密金鑰;一身分碼資料庫,具有一儲存空間,供儲存一唯一身分碼;一傳輸端,係連接該金鑰庫與身分碼資料庫,供接收來自於一用戶端的一訪問請求;以及一處理單元,係連接該傳輸端,該處理單元產生該唯一身分碼、該處理單元根據該訪問請求自該金鑰庫取得該等公開金鑰之其中一者、該處理單元自一伺服端取得一網頁、該伺服端產生該網頁對應的一文件語言碼,並在該網頁對應的該文件語言碼綁定一加密程式與該公開金鑰、該處理單元解密由該加密程式根據該公開金鑰而加密來自於該用戶端的一資料的至少一部分、傳送經加密之該資料之至少一部分、該公開金鑰與該唯一身分碼至該處理單元,以及該處理單元驗證該資料與該唯一身分碼之至少一者是否有效,以決定讓以該等私密金鑰之一解密後的該資料傳送至該伺服端;其中該唯一身分碼包含一伺服時間、一密鑰對索引值與一密鑰存活時間的欄位。
  9. 如申請專利範圍第8項所述之阻斷中間人攻擊的用戶數據加密裝置,該處理單元更包含執行一安全散列算法計算該文件語言碼與該唯一身分碼之至少一者,以形成加密的該文件語言碼與該唯一身分碼。
  10. 如申請專利範圍第9項所述之阻斷中間人攻擊的用戶數據加密裝置,其中該加密程式預先選擇該用戶端的該資料之至少一部分進行加密,其中該資料之至少一部分係相關於該用戶端的敏感資料。
TW106128912A 2017-08-25 2017-08-25 阻斷中間人攻擊的用戶數據加密裝置及其方法 TWI677806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106128912A TWI677806B (zh) 2017-08-25 2017-08-25 阻斷中間人攻擊的用戶數據加密裝置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106128912A TWI677806B (zh) 2017-08-25 2017-08-25 阻斷中間人攻擊的用戶數據加密裝置及其方法

Publications (2)

Publication Number Publication Date
TW201913445A TW201913445A (zh) 2019-04-01
TWI677806B true TWI677806B (zh) 2019-11-21

Family

ID=66991657

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106128912A TWI677806B (zh) 2017-08-25 2017-08-25 阻斷中間人攻擊的用戶數據加密裝置及其方法

Country Status (1)

Country Link
TW (1) TWI677806B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464532A (zh) * 2020-03-31 2020-07-28 广东培正学院 信息加密方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110067095A1 (en) * 2009-09-14 2011-03-17 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
TWM418352U (en) * 2011-07-11 2011-12-11 zheng-dao Wu Security mechanism system for network transaction
CN103621008A (zh) * 2012-06-29 2014-03-05 华为技术有限公司 身份认证方法及装置
CN106576041A (zh) * 2014-06-27 2017-04-19 林建华 客户端与服务器之间相互验证的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110067095A1 (en) * 2009-09-14 2011-03-17 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
TWM418352U (en) * 2011-07-11 2011-12-11 zheng-dao Wu Security mechanism system for network transaction
CN103621008A (zh) * 2012-06-29 2014-03-05 华为技术有限公司 身份认证方法及装置
CN106576041A (zh) * 2014-06-27 2017-04-19 林建华 客户端与服务器之间相互验证的方法

Also Published As

Publication number Publication date
TW201913445A (zh) 2019-04-01

Similar Documents

Publication Publication Date Title
JP7007985B2 (ja) 鍵を有するリソースロケーター
JP6625211B2 (ja) 部分的に信頼できる第三者機関を通しての鍵交換
US10171250B2 (en) Detecting and preventing man-in-the-middle attacks on an encrypted connection
US10142111B2 (en) Binding digitally signed requests to sessions
KR101744747B1 (ko) 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법
US10298404B1 (en) Certificate echoing for session security
KR20130131682A (ko) 웹 서비스 사용자 인증 방법
US11700121B2 (en) Secure authorization for sensitive information
TW201018157A (en) Method and system for defeating the man in the middle computer hacking technique
US11997210B2 (en) Protection of online applications and webpages using a blockchain
WO2018030289A1 (ja) Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム
CN111464532A (zh) 信息加密方法及***
TWI677806B (zh) 阻斷中間人攻擊的用戶數據加密裝置及其方法
WO2014136665A1 (ja) 通信システム、クライアント端末、サーバ、データ通信方法及びデータ通信プログラム
KR102116902B1 (ko) Https에서의 쿠키 무결성 검증 방법
KR101101190B1 (ko) 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 프로그램을 기록한 매체
TWI670618B (zh) 配合一行動裝置實現的無密碼登入系統及方法