TWI677806B - User data encryption device and method for blocking man-in-the-middle attack - Google Patents
User data encryption device and method for blocking man-in-the-middle attack Download PDFInfo
- 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
Links
Landscapes
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本發明係提供一種阻斷中間人攻擊的用戶數據加密裝置包含一金鑰庫、一身分碼資料庫、一傳輸端與一處理單元。金鑰庫提供公開金鑰與私密金鑰。身分碼資料庫儲存一唯一身分碼。傳輸端接收來自於一用戶端的一訪問請求。處理單元產生唯一身分碼、根據訪問請求自金鑰庫取得等公開金鑰之其中一者、自一伺服端取得一網頁並在網頁綁定一加密程式與公開金鑰、解密由加密程式根據公開金鑰而加密來自於用戶端的一資料,以及驗證資料、公開金鑰與唯一身分碼之至少一者是否有效以決定讓資料傳送至伺服端。本發明另提供一種阻斷中間人攻擊的用戶數據加密方法。The invention provides a user data encryption device for blocking man-in-the-middle attacks, which includes a key database, an identity code database, a transmission end and a processing unit. The keystore provides public and private keys. The identity code database stores a unique identity code. The transmitting end receives an access request from a user end. The processing unit generates one of the unique identification codes, obtains a public key such as a public key from a key store according to an access request, obtains a web page from a server, binds an encryption program and a public key to the web page, and decrypts the encryption program according to the public The key encrypts a piece of data from the client, and verifies whether at least one of the data, the public key, and the unique identification code is valid to decide to send the data to the server. The invention also provides a user data encryption method for blocking man-in-the-middle attacks.
Description
本發明是關於資訊安全的技術領域,特別是一種能夠阻斷中間人攻擊的用戶數據加密裝置及其方法。 The invention relates to the technical field of information security, in particular to a user data encryption device and method capable of blocking man-in-the-middle attacks.
傳統中,網際網路的資料型態涉及公開領域與私密領域的資料。未進行保護的私密領域的資料(可稱為敏感資料)如同公開領域的資料,可以直接顯示真實的資料。因此,在私密領域的資料(後稱為敏感資料),大多數網站會選擇安全通訊協定(Secure Sockets Layer,SSL)或傳輸層安全協議(Transport Layer Security,TLS)發送敏感資料,例如帳戶名稱和密碼。藉由上述的安全協定,可以避免用戶端利用瀏覽器將敏感資料發送到網站服務器的過程中,敏感資料遭到竊取或竄改。 Traditionally, the type of data on the Internet relates to public domain and private domain data. Unprotected data in the private domain (which can be referred to as sensitive data) is like public domain data, and it can directly display the true data. Therefore, in the field of privacy (hereinafter referred to as sensitive information), most websites will choose to send sensitive information such as account names and security protocols (Secure Sockets Layer (SSL) or Transport Layer Security (TLS)). password. With the above security protocol, it is possible to prevent sensitive data from being stolen or tampered with during the process of the client sending sensitive data to the web server using a browser.
然而,當SSL或TLS所需的憑證授予遭到破解而無法判斷憑證的真假、網絡釣魚網站攔截用戶端傳輸的資料、重放或偽造假資料,導致前述行為遠遠超出了SSL或TLS保護的範圍,使得加密的敏感資料仍處於危險的狀況,以下例舉數個情況: However, when the certificate required for SSL or TLS is cracked and the authenticity of the certificate cannot be determined, the phishing website intercepts the data transmitted by the client, replays or falsifies the fake data, causing the aforementioned behavior to go far beyond the protection of SSL or TLS Range, so that encrypted sensitive data is still in a dangerous situation. Here are a few examples:
情況一:若資料是純文本且僅受SSL保護,則當SSL被破壞時,或是經過Proxy/Reverse Proxy(代理伺服器/反向代理伺服器)SSL被解開後,敏 感數據將還原成本文未受保護,中間人(MITM,Man-In-The-Middle或稱攻擊者)可以直接使用用戶端的敏感數據即可登錄網站。 Case 1: If the data is plain text and only protected by SSL, when SSL is broken or after the Proxy / Reverse Proxy (SSL) Sensing data will be restored to unprotected text. Man-in-the-middle (MITM, Man-In-The-Middle, or attacker) can use the sensitive data of the client to log in to the website.
情況二:利用安全雜湊演算法(Secure Hash Algorithm,SHA)、MD5訊息摘要演算法或其他演算法對資料進行加密演算,藉以驗證例如用戶帳號或密碼。然而,在這種情況之下,中間人不必破解真正的帳戶名稱與密碼,只需要重新發送經前述加密演算的帳戶名稱或密碼,即有可能通過驗證。 Case 2: Use Secure Hash Algorithm (SHA), MD5 message digest algorithm or other algorithms to encrypt the data to verify, for example, the user account or password. However, in this case, the middleman does not need to crack the real account name and password, but only needs to resend the account name or password calculated by the aforementioned encryption calculation, and then it is possible to pass the verification.
情況三:如果使用例如資料加密標準(Data Encryption Standard,DES)、三重資料加密演算法(Triple Data Encryption Algorithm,TDEA)等對稱密鑰的演算法對資料進行加密。由於用戶端可從網站伺服器下載包含Javascript和HTML的網頁內容,下載過程中,相關的密鑰和加密程式也一併從網站伺服器下載。因此,中間人很容易藉由擷取網頁封包,進一步取得密鑰與加密程式,從而得以使用相同密鑰解開加密的敏感資料或使得情況三發生如同情況一的狀況。 Case three: If a symmetric key algorithm such as Data Encryption Standard (DES), Triple Data Encryption Algorithm (TDEA) is used to encrypt the data. Since the client can download web page content including Javascript and HTML from the web server, the related keys and encryption programs are also downloaded from the web server during the download process. Therefore, the middleman can easily obtain the key and the encryption program by retrieving the webpage packet, so as to be able to use the same key to unlock the encrypted sensitive data or make situation three happen like situation one.
情況四:如果使用例如RSA加密演算法、Elliptic曲線、迪菲-赫爾曼密鑰交換(Diffie-Hellman)等非對稱密鑰的演算法對資料進行加密,則公開金鑰和加密金鑰碼從網站伺服器下載。使用公開金鑰僅供加密輸入資料,但不能對其進行解密。採用本演算法需要利用存儲在網站伺服器的私密金鑰對其進行解密。因此,相較於其他的情況一至三,它提供了一種更安全的方式來保護用戶資料,即便傳輸資料被中間人截獲,中間人無法恢復密碼或敏感資料。然而,實際上,大多數使用非對稱密鑰來加密資料的網站並不會對不同網頁瀏覽請求來動態地改變加密的公開密鑰,導致中間人可以在不對敏感資料進行解密的情況下,可以重現登錄過程,因加密的資料總是與密鑰相同。因此,中間人 不需要知道真正密碼,只需要將加密的資料發送到伺服器,它將可以順利通過認證和授權過程,讓網站伺服器將能夠成功解密它。 Case 4: If the data is encrypted using asymmetric key algorithms such as RSA encryption algorithm, Elliptic curve, Diffie-Hellman key exchange, public key and encryption key code Download from a web server. The public key is used only to encrypt the input data, but it cannot be decrypted. Using this algorithm requires decryption using the private key stored on the web server. Therefore, compared with other cases one to three, it provides a more secure way to protect user data. Even if the transmission data is intercepted by the middleman, the middleman cannot recover the password or sensitive data. However, in fact, most websites that use asymmetric keys to encrypt information do not dynamically change the encrypted public key for different web browsing requests, resulting in middlemen being able to decrypt sensitive information without Reproduce the login process because the encrypted data is always the same as the key. So the middleman No need to know the real password, just send the encrypted data to the server, it will pass the authentication and authorization process smoothly, so that the web server will be able to successfully decrypt it.
有鑑於此,本發明提出一種阻斷中間人攻擊的用戶數據加密裝置及其方法,其可解決習知技術的缺點。 In view of this, the present invention provides a user data encryption device and method for blocking man-in-the-middle attacks, which can solve the shortcomings of the conventional technology.
本發明之第一目的提供一種阻斷中間人攻擊的用戶數據加密方法,係在一用戶端提供一劃一資源定位器(URL)在一瀏覽器取得一伺服端的一網頁的過程中,利用動態產生的唯一身分碼與公開金鑰保護用戶端提交的資料,其中唯一身分碼是無法偽造、修改或變更。 A first object of the present invention is to provide a user data encryption method for blocking man-in-the-middle attacks. The method is to provide a uniform resource locator (URL) on a client side and obtain a web page on a server side from a browser. The unique identity code and public key of protect the data submitted by the client, and the unique identity code cannot be forged, modified or changed.
本發明之第二目的提供前述阻斷中間人攻擊的用戶數據加密方法,可做成外部硬體加解密裝置(例如反向代理伺服器、Reverse Proxy)或是在網站伺服器之文件語言碼(超文件標示語言(HyperText Markup Language,HTML)、Javascript)嵌入加解密方法。 A second object of the present invention is to provide the aforementioned user data encryption method for blocking man-in-the-middle attacks, which can be made into an external hardware encryption and decryption device (such as a reverse proxy server, Reverse Proxy) or a document language code on a web server ( HyperText Markup Language (HTML), Javascript) embedded encryption and decryption methods.
本發明之第三目的提供前述阻斷中間人攻擊的用戶數據加密方法,係利用公開金鑰進行加密,並透過唯一身分碼的正確性,進一步透過私密金鑰進行解密,以獲得用戶端提交的資料。 A third object of the present invention is to provide the foregoing user data encryption method for blocking man-in-the-middle attacks, which is encrypted by using a public key, and further decrypted by a private key through the correctness of the unique identity code, to obtain the user-submitted data.
本發明之第四目的提供前述阻斷中間人攻擊的用戶數據加密方法,係能夠在提交的資料中,選擇特定的或預先選定的敏感資料(例如帳戶名稱、密碼等)進行加密。 A fourth object of the present invention is to provide the aforementioned user data encryption method for blocking man-in-the-middle attacks, which can select specific or pre-selected sensitive data (such as account name, password, etc.) for encryption in the submitted data.
本發明之第五目的提供前述阻斷中間人攻擊的用戶數據加密方法,在特定的時間內,利用一次性的唯一身分碼取得對應的私密金鑰,以在網頁伺服端開啟敏感資料。 A fifth object of the present invention is to provide the aforementioned user data encryption method for blocking man-in-the-middle attacks. In a specific time, a one-time unique identity code is used to obtain a corresponding private key to open sensitive data on the web server.
本發明之第六目的提供前述阻斷中間人攻擊的用戶數據加密方法,提供的唯一身分碼可包含伺服器伺服時間(例如奈秒等級)的時間戳、密鑰對索引值、密鑰存活時間(例如秒等級)、檢查碼機制等,其中密鑰存活時間可以避免重複提交資料或短時間重播造成損害。 A sixth object of the present invention is to provide the foregoing user data encryption method for blocking man-in-the-middle attacks. The unique identity code provided may include a time stamp of a server's servo time (e.g. nanosecond level), a key pair index value, and a key survival time (Such as second level), check code mechanism, etc., where the key survival time can avoid repeated submission of data or short-term replay to cause damage.
本發明之第七目的提供前述阻斷中間人攻擊的用戶數據加密方法,當唯一身分碼超過密鑰存活時間,唯一身分碼自身分碼資料庫移除。 A seventh object of the present invention is to provide the foregoing user data encryption method for blocking man-in-the-middle attacks. When the unique identity code exceeds the key survival time, the unique identity code itself is removed from the database.
本發明之第八目的提供一種阻斷中間人攻擊的用戶數據加密裝置,係用於阻斷中間人攻擊用戶端。 An eighth object of the present invention is to provide a user data encryption device for blocking man-in-the-middle attacks, which is used to block man-in-the-middle attacks on user terminals.
為達上述目的及其它目的,本發明係提供一種阻斷中間人攻擊的用戶數據加密裝置,其包含一金鑰庫、一身分碼資料庫、一傳輸端與一處理單元。金鑰庫提供複數公開金鑰與複數私密金鑰。其中,公開金鑰是隨機產生且公開金鑰是相關於私密金鑰。身分碼資料庫包含一儲存空間。供儲存一唯一身分碼。傳輸端連接金鑰庫與身分碼資料庫,供接收來自於一用戶端的一訪問請求。處理單元連接傳輸端。處理單元產生唯一身分碼、處理單元根據訪問請求自金鑰庫取得公開金鑰之其中一者、處理單元自一伺服端取得一網頁並在網頁綁定一加密程式與公開金鑰、處理單元解密由加密程式根據公開金鑰而加密來自於用戶端的一資料,以及處理單元驗證資料、公開金鑰與唯一身分碼之至少一者是否有效,以決定讓資料傳送至伺服端。其中,唯一身分碼包含一伺服時間、一密鑰存活時間與一密鑰對索引值的欄位。 To achieve the above and other objectives, the present invention provides a user data encryption device that blocks man-in-the-middle attacks, which includes a key database, an identity code database, a transmission end, and a processing unit. The key library provides a plurality of public keys and a plurality of private keys. The public key is randomly generated and the public key is related to the private key. The identity code database includes a storage space. For storing a unique identity code. The transmitting end is connected to the key database and the identity code database for receiving an access request from a user terminal. The processing unit is connected to the transmission end. The processing unit generates one of the unique identification codes, the processing unit obtains the public key from the key store according to the access request, the processing unit obtains a web page from a server, binds an encryption program and the public key to the web page, and the processing unit decrypts An encryption program encrypts a piece of data from the client based on the public key, and the processing unit verifies whether at least one of the data, the public key, and the unique identity code is valid to determine the data to be transmitted to the server. The unique identity code includes fields of a servo time, a key survival time, and a key pair index value.
為達上述目的及其它目的,本發明提供一種阻斷中間人攻擊的用戶數據加密方法,係根據一用戶端提供一劃一資源定位器(URL)在一瀏覽器取得一伺服端的一網頁,阻斷中間人攻擊的用戶數據加密方法包含(a)瀏覽器根據劃一資源定位器(URL)發出一訪問請求;(b)伺服端接收需要解密的訪問請求,從一金鑰庫(Key repository)取得一公開金鑰(public key),以及根據訪問請求,伺服 端輸出網頁對應的一文件語言碼;(c)在文件語言碼加入或嵌入一加密程式與公開金鑰,並產生一唯一身分碼(Unique ID),且唯一身分碼儲存在一身分碼資料庫(Unique ID repository),其中唯一身分碼至少包含一伺服時間、一密鑰對索引值與一密鑰存活時間的欄位;(d)瀏覽器在用戶端顯示文件語言碼,以供用戶端輸入一資料;(e)加密程式根據公開金鑰加密用戶端的資料之至少一部分;(f)檢核資料與唯一身分碼之至少一者的有效性,若資料與唯一身分碼是有效的,則執行步驟(g),若資料與唯一身分碼是無效的,則執行步驟(i);(g)根據公開金鑰取出對應的一私密金鑰,並利用私密金鑰解密經加密的資料;(h)傳送解密的資料至伺服端,以將網頁回傳至瀏覽器;以及(i)結束訪問請求。 In order to achieve the above and other objectives, the present invention provides a user data encryption method for blocking man-in-the-middle attacks, which is based on a uniform resource locator (URL) provided by a client to obtain a web page on a server from a browser to block A man-in-the-middle attack user data encryption method includes (a) the browser sends an access request according to a uniform resource locator (URL); (b) the server receives the access request that needs to be decrypted, and obtains a key request from a key repository. Public key (public key), and according to the access request, the server Output a document language code corresponding to the webpage; (c) add or embed an encryption program and public key to the document language code, and generate a unique ID (Unique ID), and the unique ID is stored in an identity code database (Unique ID repository), where the unique identity code includes at least a field of servo time, a key pair index value, and a key lifetime; (d) the browser displays the file language code on the client for input by the client A data; (e) the encryption program encrypts at least a part of the client's data based on the public key; (f) checks the validity of at least one of the data and the unique identity code, and executes if the data and the unique identity code are valid Step (g), if the data and the unique identity code are invalid, perform step (i); (g) take out a corresponding private key based on the public key, and use the private key to decrypt the encrypted data; (h ) Sending the decrypted data to the server to return the webpage to the browser; and (i) ending the access request.
相較於習知技術,本發明之阻斷中間人攻擊的用戶數據加密裝置及其方法,可以應用於保護敏感資料(例如帳戶、密碼)不被攔截和重新提交。本發明可以確保用戶端在瀏覽器、應用程序(APP)與網站服務器進行資料交換的過程中,不會被硬體或是軟體偽造或重複使用。縱然中間人可以擷取到資料,但本發明利用唯一身分碼的伺服時間與密鑰存活時間,可以確保一次性的資料不會再被使用。 Compared with the conventional technology, the user data encryption device and method for blocking man-in-the-middle attacks of the present invention can be applied to protect sensitive data (such as accounts and passwords) from being intercepted and resubmitted. The invention can ensure that the user terminal will not be forged or reused by hardware or software during the process of data exchange between the browser, the application program (APP) and the website server. Even though the middleman can retrieve the data, the present invention uses the unique identity code's servo time and key survival time to ensure that one-time data will not be used again.
10、10'‧‧‧阻斷中間人攻擊的用戶數據加密裝置 10, 10'‧‧‧ User data encryption device blocking man-in-the-middle attacks
2‧‧‧用戶端 2‧‧‧Client
4‧‧‧瀏覽器 4‧‧‧ Browser
6‧‧‧網站伺服器 6‧‧‧Web Server
8‧‧‧網頁 8‧‧‧ website
12‧‧‧金鑰庫 12‧‧‧Key Store
122‧‧‧公開金鑰 122‧‧‧public key
124‧‧‧私密金鑰 124‧‧‧Private Key
14‧‧‧身分碼資料庫 14‧‧‧ Identity Code Database
142‧‧‧儲存空間 142‧‧‧Storage
16‧‧‧傳輸端 16‧‧‧Transmission
18‧‧‧處理單元 18‧‧‧ processing unit
VR‧‧‧訪問請求 VR‧‧‧Access Request
UID‧‧‧唯一身分碼 UID‧‧‧Unique Identity Code
EP‧‧‧加密程式 EP‧‧‧Encryption Program
DA‧‧‧資料 DA‧‧‧ Information
S501-S509‧‧‧方法步驟 S501-S509‧‧‧Method steps
圖1係本發明第一實施例之阻斷中間人攻擊的用戶數據加密裝置的方塊圖。 FIG. 1 is a block diagram of a user data encryption device for blocking man-in-the-middle attacks according to a first embodiment of the present invention.
圖2係說明圖1之唯一身分碼的格式示意圖。 FIG. 2 is a diagram illustrating the format of the unique identity code of FIG. 1.
圖3係說明圖1之一實施例的動作時序圖。 FIG. 3 is a timing diagram illustrating the operation of the embodiment of FIG. 1.
圖4係說明圖1之另一實施例的動作時序圖。 FIG. 4 is a timing diagram illustrating the operation of another embodiment of FIG. 1.
圖5係本發明第二實施例之阻斷中間人攻擊的用戶數據加密方法的流程圖。 FIG. 5 is a flowchart of a user data encryption method for blocking a man-in-the-middle attack according to a second embodiment of the present invention.
為充分瞭解本發明之目的、特徵及功效,茲藉由下述具體之實施例,並配合所附之圖式,對本發明做一詳細說明,說明如後: 於本發明中,係使用「一」或「一個」來描述本文所述的單元、元件和組件。此舉只是為了方便說明,並且對本發明之範疇提供一般性的意義。因此,除非很明顯地另指他意,否則此種描述應理解為包括一個、至少一個,且單數也同時包括複數。 In order to fully understand the purpose, features and effects of the present invention, the following specific embodiments are used in conjunction with the accompanying drawings to make a detailed description of the present invention, which will be described later: In the present invention, "a" or "an" is used to describe the units, elements and components described herein. This is only for convenience of explanation and provides a general meaning to the scope of the present invention. Therefore, unless it is obvious that he meant otherwise, such a description should be understood to include one, at least one, and also the plural.
於本發明中,用語「包含」、「包括」、「具有」、「含有」或其他任何類似用語意欲涵蓋非排他性的包括物。舉例而言,含有複數要件的一元件、結構、製品或裝置不僅限於本文所列出的此等要件而已,而是可以包括未明確列出但卻是該元件、結構、製品或裝置通常固有的其他要件。除此之外,除非有相反的明確說明,用語「或」是指涵括性的「或」,而不是指排他性的「或」。 In the present invention, the terms "including", "including", "having", "containing" or any other similar terms are intended to cover non-exclusive inclusions. For example, an element, structure, article, or device containing a plurality of elements is not limited to only those elements listed herein, but may include an element, structure, article, or device that is not explicitly listed but is generally inherent to the element, structure, article, or device Other requirements. In addition, unless expressly stated to the contrary, the term "or" means an inclusive "or" rather than an exclusive "or".
請參考圖1,係本發明第一實施例之阻斷中間人攻擊的用戶數據加密裝置的方塊圖。於圖1中,阻斷中間人攻擊的用戶數據加密裝置10包含一金鑰庫12、一身分碼資料庫14、一傳輸端16與一處理單元18。為便於說明,於此係一併揭露相關的部件,例如用戶端2、瀏覽器4、網站伺服器6與網頁8,該等部件之間可以透過例如符合網際網路規範的載體(例如導線、光纖等)進行通訊。其中,用戶端2指使用者;瀏覽器4使用者2可透過例如電腦、平板電腦、通訊手機開啟及用來顯示例如HTML或JavaScript等文件語言碼,例如IE、Chrome、safari、Firefox、opera及應用程序App等;網站伺服器6用來執行網頁8的主機。 Please refer to FIG. 1, which is a block diagram of a user data encryption device for blocking man-in-the-middle attacks according to a first embodiment of the present invention. In FIG. 1, a user data encryption device 10 that blocks man-in-the-middle attacks includes a key database 12, an identity code database 14, a transmission end 16, and a processing unit 18. For the convenience of explanation, related parts are disclosed here, such as the client 2, the browser 4, the web server 6, and the web page 8. These parts can be transmitted through, for example, an Internet-compliant carrier (such as a wire, Fiber, etc.) for communication. Among them, the client 2 refers to the user; the user 4 of the browser 4 can be opened by, for example, a computer, a tablet, a communication phone and used to display a document language code such as HTML or JavaScript, such as IE, Chrome, safari, Firefox, opera, Application App, etc .; the web server 6 is used to execute the host of the web page 8.
金鑰庫12(Key repository)提供複數公開金鑰122與複數私密金鑰124,其中金鑰庫12可為記憶體、伺服器、硬碟、軟碟、光碟等。該等公開金鑰122是隨機產生且該等公開金鑰122是相關於該等私密金鑰124。一般而言,每一公開金鑰122對應每一私密金鑰124,藉以形成金鑰對(Key Pair)。 The key repository 12 (Key repository) provides a plurality of public keys 122 and a plurality of private keys 124. The key repository 12 may be a memory, a server, a hard disk, a floppy disk, an optical disk, or the like. The public keys 122 are randomly generated and the public keys 122 are related to the private keys 124. Generally speaking, each public key 122 corresponds to each private key 124 to form a key pair.
身分碼資料庫14具有一儲存空間142,其中身分碼資料庫14可為記憶體、伺服器、硬碟、軟碟、光碟等。儲存空間142能夠儲存一唯一身分碼UID,一併參考圖2,係唯一身分碼UID的欄位格式說明。 The identity code database 14 has a storage space 142, wherein the identity code database 14 may be a memory, a server, a hard disk, a floppy disk, an optical disk, and the like. The storage space 142 can store a unique identity code UID. Referring to FIG. 2 together, it is a description of a field format of the unique identity code UID.
在圖2,唯一身分碼UID係以四個欄位為例說明,欄位分別為伺服時間(server time)、密鑰對(KeyPair)索引值、密鑰存活時間(timeout)(或稱超時)、驗證(checksum)。其分別地定義如下: In Figure 2, the unique identity code UID uses four fields as an example. The fields are the server time, the key pair (KeyPair) index value, and the key timeout (timeout). ), Verification (checksum). They are defined separately as follows:
伺服時間:用戶端、瀏覽器或反向代理伺服器訪問網站伺服器6的時間,其時間可為奈秒(nano second)等級。 Servo time: The time it takes for the client, browser, or reverse proxy server to access the web server 6, and its time can be nanosecond.
密鑰對索引值:密鑰對索引值對應金鑰庫12中公開金鑰122或私密金鑰124的索引值。 Index value of the key pair: The index value of the key pair corresponds to the index value of the public key 122 or the private key 124 in the key library 12.
密鑰存活時間:唯一身分碼UID的存活時間(或稱有效時間)。舉例而言,當唯一身分碼UID被回傳至網站伺服器6時,其回傳的時間大於或等於伺服時間與密鑰存活時間,則整個唯一身分碼UID被視為無效的;反之,回傳的時間小於伺服時間與密鑰存活時間,則整個唯一身分碼UID被視為有效的。 Key lifetime: The lifetime (or validity time) of the unique identity code UID. For example, when the unique identity code UID is returned to the web server 6 and the time returned is greater than or equal to the servo time and the key survival time, the entire unique identity code UID is considered invalid; otherwise, the reply If the transmission time is less than the servo time and the key survival time, the entire unique identity code UID is considered valid.
驗證:用來驗證整個唯一身分碼UID是未經過變造的或是修改的,例如驗證可以透過雜湊函數打亂資料以建立雜湊值,其中雜湊值可由隨機字母與數字所組成。 Verification: It is used to verify that the entire unique identity code UID has not been altered or modified. For example, verification can be performed by hashing data to create a hash value. The hash value can be composed of random letters and numbers.
因此,上述伺服時間、密鑰對索引值、密鑰存活時間,在進一步結合雜湊值,更可以用來確保唯一身分碼UID具有獨特性、唯一性與不可重複性。 Therefore, the above-mentioned servo time, key pair index value, and key survival time, combined with the hash value, can be used to ensure that the unique identity code UID is unique, unique, and non-repeatable.
傳輸端16連接金鑰庫12與身分碼資料庫14,例如傳輸端16是符合有線通訊規範或是無線通訊規範的單向或是雙向的連接埠。傳輸端16能夠接收來自於一用戶端2的一訪問請求VR。 The transmitting end 16 is connected to the key database 12 and the identity code database 14. For example, the transmitting end 16 is a unidirectional or bidirectional port that complies with the wired communication standard or the wireless communication standard. The transmitting end 16 can receive an access request VR from a user end 2.
處理單元18連接傳輸端16。處理單元18提供數種功能,其分別地羅列如下: The processing unit 18 is connected to the transmission end 16. The processing unit 18 provides several functions, which are listed as follows:
(1)處理單元18產生唯一身分碼UID。舉例而言,處理單元18執行一演算法依照各欄位的需求,建立前述所提及的唯一身分碼UID。 (1) The processing unit 18 generates a unique identity code UID. For example, the processing unit 18 executes a calculation algorithm to establish the aforementioned unique identification code UID according to the requirements of each field.
(2)處理單元18根據訪問請求VR自金鑰庫12取得該等公開金鑰122之其中一者。於另一實施例中,處理單元18可以預先地判斷訪問請求VR是否具有加密的功能,若訪問請求VR是為加密的,可以預先進行解碼。 (2) The processing unit 18 obtains one of the public keys 122 from the key store 12 according to the access request VR. In another embodiment, the processing unit 18 can determine in advance whether the access request VR has an encryption function. If the access request VR is encrypted, it can be decoded in advance.
(3)處理單元18自網站伺服器6取得網頁8,並在網頁8綁定一加密程式EP與公開金鑰122。於一實施例中,加密程式EP可預先選擇用戶端2的DA資料之至少一部分進行加密。其中,資料DA之至少一部分係相關於用戶端2的敏感資料。於此的好處為,選擇特定的欄位進行加密可以加快運算的速度,且加密欄位通常是用戶端2主動提供的資料或是cookie內已被儲存的資料。 (3) The processing unit 18 obtains the web page 8 from the web server 6, and binds an encryption program EP and the public key 122 to the web page 8. In one embodiment, the encryption program EP may select at least a part of the DA data of the client 2 for encryption in advance. Among them, at least part of the data DA is sensitive data related to the client 2. The advantage here is that selecting a specific field for encryption can speed up the calculation, and the encrypted field is usually the data provided by the client 2 or the data stored in the cookie.
(4)處理單元18解密由加密程式EP根據公開金鑰122而加密來自於用戶端2的資料DA(例如帳戶名稱、密碼等),例如經加密之後的帳戶名稱與密碼,並非為明碼,而是經由加密方式改變的,即經加密後的帳戶名稱與密碼已經不同原先輸入的資料DA。 (4) The processing unit 18 decrypts the data DA (such as account name, password, etc.) encrypted by the encryption program EP based on the public key 122 from the client terminal 2, for example, the encrypted account name and password are not clear codes, but It is changed through encryption, that is, the encrypted account name and password are different from the original data DA.
(5)處理單元18驗證資料DA、唯一身分碼UID是否有效,以決定讓資料DA傳送至網站伺服器6。 (5) The processing unit 18 verifies whether the data DA and the unique identification code UID are valid, so as to decide to let the data DA be transmitted to the web server 6.
(6)處理單元18執行一安全散列算法,以計算該文件語言碼與該唯一身分碼之至少一者,以形成加密的該文件語言碼與該唯一身分碼。 (6) The processing unit 18 executes a secure hash algorithm to calculate at least one of the document language code and the unique identity code to form the encrypted document language code and the unique identity code.
圖3,係說明圖1之一實施例的動作時序圖,時間序自左上向右下逐漸遞增。在圖3中,揭露用戶端2、瀏覽器4、網站伺服器6、網頁8與阻斷中間人攻擊的用戶數據加密裝置10。其中,阻斷中間人攻擊的用戶數據加密裝置10更包含金鑰庫12、身分碼資料庫14、傳輸端16與處理單元18。 FIG. 3 is a timing diagram illustrating the operation of the embodiment of FIG. 1, and the time sequence is gradually increased from the upper left to the lower right. In FIG. 3, the client 2, the browser 4, the web server 6, the web page 8 and the user data encryption device 10 that blocks man-in-the-middle attacks are disclosed. The user data encryption device 10 that blocks man-in-the-middle attacks further includes a key library 12, an identity code database 14, a transmission end 16, and a processing unit 18.
用戶端2執行電腦(圖未示)的瀏覽器4,並在瀏覽器4中鍵入例如某一金融機構的網路銀行的劃一資源定位器(或稱網址)。瀏覽器4根據網址對網站伺服器6發出訪問請求VR,於本實施例中,訪問請求VR首先會被處理單元18接收。 The client 2 executes a browser 4 of a computer (not shown), and enters in the browser 4 a uniform resource locator (or web address) of an online bank of a financial institution, for example. The browser 4 sends an access request VR to the web server 6 according to the website address. In this embodiment, the access request VR is first received by the processing unit 18.
處理單元18可能會預先判斷訪問請求VR是否有經過加密,若訪問請求VR是加密的,處理單元18會先進行解密,進而處理單元18執行兩個部分,其中一個部分是根據訪問請求VR連接至訪問請求VR所對應的網站伺服器6,另一部分是處理單元18根據訪問請求VR向金鑰庫12隨機地取得一把公開金鑰122,例如處理單元18根據一隨機函數產生一索引值,以及處理單元18根據索引值在金鑰庫12取得對應的公開金鑰122。因此,處理單元18取得索引值對應的公開金鑰122。 The processing unit 18 may determine in advance whether the access request VR is encrypted. If the access request VR is encrypted, the processing unit 18 first decrypts it, and then the processing unit 18 executes two parts, one of which is based on the access request VR connected to The other part of the web server 6 corresponding to the access request VR is that the processing unit 18 randomly obtains a public key 122 from the key store 12 according to the access request VR. For example, the processing unit 18 generates an index value according to a random function, and The processing unit 18 obtains the corresponding public key 122 from the key store 12 according to the index value. Therefore, the processing unit 18 obtains the public key 122 corresponding to the index value.
處理單元18等待網站伺服器6的網頁8的取得網站伺服器6之網頁8的文件語言碼。在處理單元18接收到文件語言碼之後,處理單元18進一步在文件語言碼加入加密程式EP與公開金鑰122。此外,處理單元18又根據文件語言碼、加密程式EP、公開金鑰122產生一唯一身分碼UID,以及文件語言碼、加密程式EP、公開金鑰122、唯一身分碼UID都被傳送至瀏覽器4。值得注意的是,加密程式EP預先設定有針對用戶端2的帳戶名稱與密碼進行加密的設定。唯一身分碼UID被儲存至身分碼資料庫14。 The processing unit 18 waits for the web page 8 of the web server 6 to obtain the document language code of the web page 8 of the web server 6. After the processing unit 18 receives the document language code, the processing unit 18 further adds the encryption program EP and the public key 122 to the document language code. In addition, the processing unit 18 generates a unique identity code UID according to the document language code, the encryption program EP, and the public key 122, and the document language code, the encryption program EP, the public key 122, and the unique identity UID are transmitted to the browser 4. It is worth noting that the encryption program EP has preset settings for encrypting the account name and password of the client 2. The unique identification code UID is stored in the identification code database 14.
用戶端2可以透過瀏覽器4觀看到該金融機構的網路銀行的網頁8,例如網頁8顯示一對話框,讓用戶端2可以輸入欲登錄的帳戶名稱、密碼、驗 證碼、身分字號等。其中,網頁8除了上述的內容之外,更包含加密程式EP、公開金鑰122、唯一身分碼UID等內容。 The client 2 can view the web page 8 of the financial institution's internet bank through the browser 4. For example, the web page 8 displays a dialog box, so that the client 2 can enter the account name, password, and verification to log in to. ID, ID, etc. The webpage 8 includes content such as an encryption program EP, a public key 122, and a unique identity code UID in addition to the content described above.
用戶端2在瀏覽器4鍵入對應的帳戶名稱與密碼等的資料DA。此時,瀏覽器4根據用戶端2的資料DA,執行加密程式EP,加密程式EP是基於公開金鑰122而進行演算的。再者,由於加密程式EP在前以預先設定僅會對帳戶名稱與密碼進行加密,因此,用戶端2輸入的帳戶名稱與密碼皆經過加密,而非明碼,其不同於用戶端2輸入的內容。 The client 2 enters the data DA such as the corresponding account name and password in the browser 4. At this time, the browser 4 executes the encryption program EP based on the data DA of the client 2, and the encryption program EP is calculated based on the public key 122. Moreover, because the encryption program EP previously set only the account name and password to be encrypted, the account name and password entered by the client 2 are encrypted instead of clear codes, which is different from what the client 2 enters .
此時,加密的資料DA、公開金鑰、唯一身分碼UID等由瀏覽器4傳送至處理單元18。處理單元18首先確認,唯一身分碼UID是否存在於身分碼資料庫14,若身分碼資料庫14不存在相同的唯一身分碼UID,則結束傳送資料DA至網站伺服器6;反之,若身分碼資料庫14確實存在相同的唯一身分碼UID,則處理單元18可能進一步判斷用戶端2是否曾經有發送過相同的唯一身分碼UID。 At this time, the encrypted data DA, the public key, the unique identification code UID, and the like are transmitted from the browser 4 to the processing unit 18. The processing unit 18 first confirms whether the unique identity code UID exists in the identity code database 14. If the identity code database 14 does not have the same unique identity code UID, it ends transmitting data DA to the web server 6; otherwise, if the identity code The database 14 does have the same unique identification code UID, and the processing unit 18 may further determine whether the user terminal 2 has ever sent the same unique identification code UID.
若未發送過唯一身分碼UID,則表示唯一身分碼UID是第一次發送。處理單元18進一步判斷網站伺服器6接收到唯一身分碼UID的時間是否小於伺服時間與密鑰存活時間的總和,若時間小於總和,則唯一身分碼UID應被視為有效的,可當做是用戶端2親自登錄;反之,唯一身分碼UID的時間大於伺服時間與密鑰存活時間的總和,則唯一身分碼UID被視為無效的,其係有可能被中間人攔截,重新登錄。又或者,若處理單元18判斷唯一身分碼UID已經發送過,則這個唯一身分碼UID很有可能是中間人進行重放的動作,則唯一身分碼UID被視為無效的。於本實施例中,若唯一身分碼UID屬於無效的,則在瀏覽器4顯示錯誤頁面。 If the unique identity code UID has not been sent, it means that the unique identity code UID is sent for the first time. The processing unit 18 further determines whether the time when the web server 6 received the unique identity code UID is less than the sum of the servo time and the key survival time. If the time is less than the sum, the unique identity code UID should be considered valid and can be regarded as a user End 2 logs in personally; on the contrary, if the unique ID code UID time is greater than the sum of the servo time and the key survival time, the unique ID code UID is considered invalid, which may be intercepted by the middleman and re-logged in. Or, if the processing unit 18 determines that the unique identity code UID has been sent, it is likely that this unique identity code UID is an action performed by a middleman, and the unique identity code UID is considered invalid. In this embodiment, if the unique identification code UID is invalid, an error page is displayed on the browser 4.
若唯一身分碼UID屬於有效的,處理單元18解析公開金鑰122,以及自金鑰庫12根據公開金鑰122取得私密金鑰124,處理單元18進一步根據私 密金鑰124解密資料DA,並將資料DA傳送至網站伺服器6,此時的帳戶名稱與密碼解密成用戶端2輸入的明碼。網站伺服器6根據明碼的帳戶名稱與密碼,取得對應的帳戶資料。最終,帳戶資料透過文件語言碼的形式輸出在瀏覽器4。 If the unique identification code UID is valid, the processing unit 18 parses the public key 122, and obtains the private key 124 from the key library 12 based on the public key 122, and the processing unit 18 further The secret key 124 decrypts the data DA and transmits the data DA to the web server 6. At this time, the account name and password are decrypted into the clear code input by the client 2. The web server 6 obtains the corresponding account data according to the clear account name and password. Finally, the account data is output in the browser 4 in the form of document language codes.
圖4,係說明圖1之另一實施例的動作時序圖。在圖4中,揭露用戶端2、瀏覽器4、網站伺服器6、網頁8與阻斷中間人攻擊的用戶數據加密裝置10。其中,阻斷中間人攻擊的用戶數據加密裝置10'更包含金鑰庫12、身分碼資料庫14、傳輸端16與處理單元18。相較於圖3,圖4的傳輸端16與處理單元18係設置於網站伺服器6。 FIG. 4 is a timing diagram illustrating the operation of another embodiment of FIG. 1. In FIG. 4, a client 2, a browser 4, a web server 6, a web page 8, and a user data encryption device 10 that blocks man-in-the-middle attacks are disclosed. The user data encryption device 10 ′ that blocks man-in-the-middle attacks further includes a key database 12, an identity code database 14, a transmission end 16, and a processing unit 18. Compared with FIG. 3, the transmitting end 16 and the processing unit 18 of FIG. 4 are disposed on the web server 6.
用戶端2執行電腦(圖未示)的瀏覽器4,並在瀏覽器4中鍵入例如某一金融機構的網路銀行的劃一資源定位器(或稱網址)。瀏覽器4根據網址對網站伺服器6發出訪問請求VR。 The client 2 executes a browser 4 of a computer (not shown), and enters in the browser 4 a uniform resource locator (or web address) of an online bank of a financial institution, for example. The browser 4 issues an access request VR to the web server 6 based on the website address.
網站伺服器6接收到訪問請求VR之後,網站伺服器6向金鑰庫12取得公開金鑰122。網站伺服器6根據文件語言碼、加密程式EP、公開金鑰122產生一唯一身分碼UID,以及文件語言碼、加密程式EP、公開金鑰122、唯一身分碼UID都被傳送至瀏覽器4。值得注意的是,加密程式EP預先設定有針對用戶端2的帳戶名稱與密碼進行加密的設定。唯一身分碼UID被儲存至身分碼資料庫14。其中,加密程式EP、公開金鑰122可以被嵌入在文件語言碼。 After the web server 6 receives the access request VR, the web server 6 obtains the public key 122 from the key store 12. The web server 6 generates a unique identity code UID according to the document language code, the encryption program EP, and the public key 122, and the document language code, the encryption program EP, the public key 122, and the unique identity UID are all transmitted to the browser 4. It is worth noting that the encryption program EP has preset settings for encrypting the account name and password of the client 2. The unique identification code UID is stored in the identification code database 14. The encryption program EP and the public key 122 may be embedded in a document language code.
用戶端2可以透過瀏覽器4觀看到金融機構的網路銀行的網頁8,例如網頁8顯示一對話框,讓用戶端2可以輸入欲登錄的帳戶名稱、密碼、驗證碼、身分字號等。其中,網頁8除了上述的內容之外,更包含加密程式EP、公開金鑰122、唯一身分碼UID等內容。 The client terminal 2 can view the web page 8 of the financial institution's internet bank through the browser 4. For example, the web page 8 displays a dialog box, so that the client terminal 2 can enter the account name, password, verification code, and identity number to log in. The webpage 8 includes content such as an encryption program EP, a public key 122, and a unique identity code UID in addition to the content described above.
加密的資料DA、公開金鑰、唯一身分碼UID等由瀏覽器4傳送至網站伺服器6。網站伺服器6首先確認,唯一身分碼UID是否存在於身分碼資料庫14,若身分碼資料庫14不存在相同的唯一身分碼UID,則結束傳送資料DA至 網站伺服器6;反之,若身分碼資料庫14確實存在相同的唯一身分碼UID,則處理單元18可能進一步判斷用戶端2是否曾經有發送過相同的唯一身分碼UID。 The encrypted data DA, public key, unique identification code UID, etc. are transmitted from the browser 4 to the web server 6. The web server 6 first confirms whether the unique identification code UID exists in the identification code database 14. If the same unique identification code UID does not exist in the identification code database 14, it ends transmitting data DA to Web server 6; Conversely, if the same unique identification code UID does exist in the identification code database 14, the processing unit 18 may further determine whether the client 2 has ever sent the same unique identification code UID.
若未發送過唯一身分碼UID,則表示唯一身分碼UID是第一次發送。網站伺服器6進一步判斷接收到唯一身分碼UID的時間是否小於伺服時間與密鑰存活時間的總和,若時間小於總和,則唯一身分碼UID應被視為有效的,可當做是用戶端2親自登錄;反之,唯一身分碼UID的時間大於伺服時間與密鑰存活時間的總和,則唯一身分碼UID被視為無效的,其係有可能被中間人攔截,重新登錄。又或者,若網站伺服器6判斷唯一身分碼UID已經發送過,則這個唯一身分碼UID很有可能是中間人進行重放的動作,則唯一身分碼UID被視為無效的。於本實施例中,若唯一身分碼UID屬於無效的,則在瀏覽器4顯示錯誤頁面。 If the unique identity code UID has not been sent, it means that the unique identity code UID is sent for the first time. The web server 6 further determines whether the time to receive the unique identity code UID is less than the sum of the servo time and the key survival time. If the time is less than the sum, the unique identity code UID should be considered valid and can be regarded as the client 2 himself On the contrary, if the unique UID time is greater than the sum of the servo time and the key survival time, the unique UID is considered invalid, which may be intercepted by a middleman and re-logged in. Or, if the website server 6 determines that the unique identity UID has been sent, the unique identity UID is likely to be a replay action by the middleman, and the unique identity UID is considered invalid. In this embodiment, if the unique identification code UID is invalid, an error page is displayed on the browser 4.
若唯一身分碼UID屬於有效的,網站伺服器6解析公開金鑰122,以及自金鑰庫12根據公開金鑰122取得私密金鑰124,處理單元18進一步根據私密金鑰124解密資料DA,並將資料DA傳送至網站伺服器6,此時的帳戶名稱與密碼解密成用戶端2輸入的明碼。網站伺服器6根據明碼的帳戶名稱與密碼,取得對應的帳戶資料。最終,帳戶資料透過文件語言碼的形式輸出在瀏覽器4。 If the unique identification code UID is valid, the web server 6 parses the public key 122 and obtains the private key 124 from the key library 12 based on the public key 122. The processing unit 18 further decrypts the data DA according to the private key 124, and The data DA is transmitted to the web server 6, and the account name and password at this time are decrypted into the clear code input by the client 2. The web server 6 obtains the corresponding account data according to the clear account name and password. Finally, the account data is output in the browser 4 in the form of document language codes.
圖5,係本發明第二實施例之阻斷中間人攻擊的用戶數據加密方法的流程圖。於5圖中,阻斷中間人攻擊的用戶數據加密方法根據一用戶端提供一劃一資源定位器(URL)在一瀏覽器取得一伺服端的一網頁。 FIG. 5 is a flowchart of a user data encryption method for blocking man-in-the-middle attacks according to a second embodiment of the present invention. In Figure 5, a user data encryption method that blocks man-in-the-middle attacks is based on a uniform resource locator (URL) provided by a client to obtain a web page on a server from a browser.
阻斷中間人攻擊的用戶數據加密方法起始於步驟S501,瀏覽器根據劃一資源定位器發出一訪問請求。於另一實施例中,本步驟更可包含一反向代理伺服器(reverse proxy)接收訪問請求以及向代理伺服器將訪問請求傳送至伺服端。 The user data encryption method for blocking man-in-the-middle attacks starts at step S501, and the browser sends an access request according to the uniform resource locator. In another embodiment, this step may further include a reverse proxy server receiving the access request and transmitting the access request to the proxy server to the server.
步驟S502,伺服端接收需要解密的訪問請求,從金鑰庫取得公開金鑰,以及根據訪問請求,伺服端輸出網頁對應的一文件語言碼。 Step S502: The server receives the access request that needs to be decrypted, obtains the public key from the key store, and according to the access request, the server outputs a file language code corresponding to the web page.
步驟S503,在文件語言碼加入或嵌入一加密程式與公開金鑰,並產生一唯一身分碼,且唯一身分碼儲存在一身分碼資料庫。其中,唯一身分碼至少包含一伺服時間與一密鑰存活時間的欄位。於另一實施例中,加密程式可預先指定文件語言碼的一特殊字段執行。其中,加密程式選擇相關於用戶端的特殊字段或用戶端指定的特殊字段。 In step S503, an encryption program and a public key are added or embedded in the document language code, and a unique identity code is generated, and the unique identity code is stored in an identity code database. The unique identification code includes at least a field of a servo time and a key survival time. In another embodiment, the encryption program may execute a special field of the document language code in advance. Among them, the encryption program selects special fields related to the client or special fields specified by the client.
於另外一實施例中,還可以利用一安全散列算法計算文件語言碼與唯一身分碼之至少一者,以加密文件語言碼與唯一身分碼。 In another embodiment, a secure hash algorithm can be used to calculate at least one of the document language code and the unique identity code to encrypt the document language code and the unique identity code.
步驟S504,瀏覽器在用戶端顯示文件語言碼,以供用戶端輸入一資料。 In step S504, the browser displays the language code of the file on the user terminal for the user terminal to input a data.
步驟S505,加密程式根據公開金鑰加密用戶端的資料之至少一部分。 Step S505: The encryption program encrypts at least a part of the data of the client according to the public key.
步驟S506,檢核資料與唯一身分碼之至少一者的有效性,若資料與唯一身分碼是有效的,則執行步驟S507,若資料與唯一身分碼是無效的,則執行步驟S509。舉例而言,檢核在身分碼資料庫存在唯一身分碼,且唯一身分碼僅能使用一次、在密鑰存活時間內使用或判斷資料是否重複傳輸。 In step S506, the validity of at least one of the data and the unique identification code is checked. If the data and the unique identification code are valid, step S507 is performed. If the data and the unique identification code are invalid, step S509 is performed. For example, check that the identity code database is in the unique identity code, and that the unique identity code can only be used once, used within the key lifetime, or whether the data is repeatedly transmitted.
步驟S507,根據公開金鑰取出對應的一私密金鑰,並利用私密金鑰解密經加密的資料。 Step S507: Take out a corresponding private key according to the public key, and use the private key to decrypt the encrypted data.
步驟S508,傳送解密的資料至伺服端,以將網頁回傳至瀏覽器。 Step S508: Send the decrypted data to the server to return the webpage to the browser.
步驟S509,結束訪問請求。 Step S509: End the access request.
本發明在上文中已以較佳實施例揭露,然熟習本項技術者應理解的是,該實施例僅用於描繪本發明,而不應解讀為限制本發明之範圍。應注意 的是,舉凡與該實施例等效之變化與置換,均應設為涵蓋於本發明之範疇內。因此,本發明之保護範圍當以申請專利範圍所界定者為準。 The present invention has been disclosed in the foregoing with a preferred embodiment, but those skilled in the art should understand that this embodiment is only for describing the present invention, and should not be interpreted as limiting the scope of the present invention. Should pay attention It is to be understood that all changes and substitutions equivalent to this embodiment should be included in the scope of the present invention. Therefore, the scope of protection of the present invention shall be defined by the scope of the patent application.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106128912A TWI677806B (en) | 2017-08-25 | 2017-08-25 | User data encryption device and method for blocking man-in-the-middle attack |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106128912A TWI677806B (en) | 2017-08-25 | 2017-08-25 | User data encryption device and method for blocking man-in-the-middle attack |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201913445A TW201913445A (en) | 2019-04-01 |
| TWI677806B true TWI677806B (en) | 2019-11-21 |
Family
ID=66991657
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106128912A TWI677806B (en) | 2017-08-25 | 2017-08-25 | User data encryption device and method for blocking man-in-the-middle attack |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI677806B (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111464532A (en) * | 2020-03-31 | 2020-07-28 | 广东培正学院 | Information encryption method and system |
| TWI891083B (en) * | 2023-10-06 | 2025-07-21 | 長茂科技股份有限公司 | Cybersecurity proxy authentication system and method |
Citations (5)
| 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 (en) * | 2012-06-29 | 2014-03-05 | 华为技术有限公司 | Identity authentication method and device |
| CN103621008B (en) | 2012-06-29 | 2016-11-30 | 华为技术有限公司 | Identity authentication method and device |
| CN106576041A (en) * | 2014-06-27 | 2017-04-19 | 林建华 | Method of mutual verification between a client and a server |
-
2017
- 2017-08-25 TW TW106128912A patent/TWI677806B/en active
Patent Citations (5)
| 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 (en) * | 2012-06-29 | 2014-03-05 | 华为技术有限公司 | Identity authentication method and device |
| CN103621008B (en) | 2012-06-29 | 2016-11-30 | 华为技术有限公司 | Identity authentication method and device |
| CN106576041A (en) * | 2014-06-27 | 2017-04-19 | 林建华 | Method of mutual verification between a client and a server |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201913445A (en) | 2019-04-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7007985B2 (en) | Resource locator with key | |
| JP6625211B2 (en) | Key exchange through partially trusted third parties | |
| US10171250B2 (en) | Detecting and preventing man-in-the-middle attacks on an encrypted connection | |
| CN104662864B (en) | The convenient authentication method of user and device that mobile authentication is applied are used | |
| CN102624740B (en) | A kind of data interactive method and client, server | |
| US10142111B2 (en) | Binding digitally signed requests to sessions | |
| US11700121B2 (en) | Secure authorization for sensitive information | |
| KR101744747B1 (en) | Mobile terminal, terminal and method for authentication using security cookie | |
| US11997210B2 (en) | Protection of online applications and webpages using a blockchain | |
| US10298404B1 (en) | Certificate echoing for session security | |
| KR20130131682A (en) | Method for web service user authentication | |
| CN111464532A (en) | Information encryption method and system | |
| CN107548542B (en) | User authentication method with enhanced integrity and security | |
| WO2018030289A1 (en) | Ssl communication system, client, server, ssl communication method, and computer program | |
| TWI677806B (en) | User data encryption device and method for blocking man-in-the-middle attack | |
| WO2014136665A1 (en) | Communications system, client terminal, server, data communications method, and data communications program | |
| CN106130996B (en) | A kind of website attack protection verifying system and method | |
| KR102116902B1 (en) | Method for verifying integrity of cookies in https | |
| KR101101190B1 (en) | A medium on which a secure communication system, method and computer program for executing the method are recorded. | |
| TWI670618B (en) | Login system implemented along with a mobile device without password and method thereof |