一種用戶敏感信息的保護方法和系統與流程
2023-09-18 17:56:25 2
本發明屬於信息安全技術領域和網際網路通信領域,更具體地,涉及一種用戶敏感信息的保護方法和系統。
背景技術:
隨著網際網路和移動網際網路的快速發展,網上信息及業務系統的安全防護問題日益突出,各政府部門或企事業單位為了保證身份認證或交易認證過程中用戶的敏感信息不被竊取,往往採用專門的信息安全外設(例如智能密鑰設備、智慧卡等)配合主機實現登錄或網上交易,目前用戶的敏感信息(包括pin碼、用戶帳號和密碼、轉帳信息等)通常都是在主機端接收來自用戶的錄入,然後傳送到外部設備,或在專用的信息安全外設上直接錄入。
然而,目前這種身份認證或交易認證系統存在兩方面的技術問題:首先,目前通過主機接收用戶錄入敏感信息然後傳送到外部設備的方式,敏感信息在錄入的過程中必然會有明文出現在主機內存中的過程,從而導致敏感信息容易被黑客通過鍵盤劫持、內存攻擊、截屏等方式非法盜取,給用戶的使用帶來巨大的安全風險;此外,通過專用的信息安全外設直接錄入敏感信息的方式,需要信息安全外設具有鍵盤以供用戶輸入,這會增加信息安全外設的硬體成本。
技術實現要素:
針對現有技術的以上缺陷或改進需求,本發明提供了一種數據輸入的保護方法和系統,其目的在於,解決現有身份認證或交易認證系統存在的敏感信息容易被黑客非法盜取,給用戶的使用帶來巨大的安全風險、以及由於需要為外部設備配置鍵盤所帶來的硬體成本增加的技術問題。
為實現上述目的,按照本發明的一個方面,提供了一種用戶敏感信息的保護方法,包括以下步驟:
(1)外部設備對構成用戶敏感信息的所有基本元素進行隨機布局,並將布局方式通過屏幕顯示給用戶,構成用戶敏感信息的所有基本元素可以為數字、字符、字母或其任意組合;
(2)外部設備對構成用戶敏感信息的所有基本元素進行逐個加密,以得到每個基本元素對應的密文數據,並將該密文數據及相應的布局方式發送給主機;
(3)主機存儲接收到的密文數據及布局方式,以統一的符號、字母或數字替換密文數據中的所有元素,並以與步驟(1)中外部設備相同的布局方式將替換後的所有元素顯示給用戶;
(4)主機接收用戶通過查看外部設備屏幕上顯示的基本元素及其布局後輸入的用戶敏感信息,記錄該用戶敏感信息對應的密文數據,並將該密文數據發送到外部設備;
(5)外部設備採用與步驟(3)的加密算法相對應的解密算法對來自主機的密文數據進行解密操作,從而得到用戶真實輸入的用戶敏感信息。
優選地,所述加密算法為古典加密中的替換加密算法,步驟(2)的具體實現過程是,依次對每個構成用戶敏感信息的基本元素,在事先存儲的字典中找到對應的字典元素,並將該字典元素作為該基本元素對應的加密結果,並判斷得到的加密結果是否與之前的加密結果相同,如果不同,則建立二者之間的一對一映射關係,轉入下一個基本元素,如果相同,則在字典中重新隨機取一個字典元素,將該字典元素作為該基本元素對應的加密結果,重複上述步驟,直到所有構成用戶敏感信息的基本元素都具有相應的密文數據為止。
優選地,所述加密算法為古典加密中的移位加密算法;如果構成用戶敏感信息基本元素的是純數字,則經過移位加密算法處理後的加密結果等於(該數字+s)mod n,其中s表示移位的位數,n表示加密採用的進位的位數,如果構成用戶敏感信息基本元素的是字母,則經過移位加密算法處理後的加密結果是(該字母的序號+s)mod 26,如果構成用戶敏感信息基本元素是字符,則先對所有字符進行有序數字編碼,隨後經過移位加密算法處理後的加密結果等於(該字符對應的數字+s)mod n。
按照本發明的另一方面,提供了一種用戶敏感信息的保護方法,包括以下步驟:
(1)外部設備對構成用戶敏感信息的所有基本元素進行隨機布局,並將布局方式通過屏幕顯示給用戶,構成用戶敏感信息的所有基本元素可以為數字、字符、字母或其任意組合;
(2)外部設備生成隨機密鑰,利用隨機密鑰對構成用戶敏感信息的所有基本元素進行逐個流密碼加密,以得到每個基本元素對應的密文數據,並將該密文數據及相應的布局方式發送給主機;
(3)主機存儲接收到的密文數據及布局方式,以統一的符號、字母或數字替換密文數據中的所有元素,並以與步驟(1)中外部設備相同的布局方式將替換後的所有元素顯示給用戶;
(4)主機接收用戶通過查看外部設備屏幕上顯示的明文數據對應輸入的密文數據,並將該密文數據發送到外部設備;
(5)外部設備採用與步驟(3)的加密算法相對應的解密算法對來自主機的密文數據進行解密操作,從而得到用戶真實輸入的敏感信息。
優選地,步驟(2)的具體實現過程是,首先隨機產生一個密鑰,並將該密鑰與構成用戶敏感信息的第一個元素進行流加密運算,然後隨機產生下一個密鑰,並將該密鑰與構成用戶敏感信息的下一個元素進行流加密運算,並判斷得到的運算結果是否與之前的加密結果相同,如果不同,則轉入下一個元素並重複上述流加密運算步驟,如果相同,則再次隨機產生密鑰,並重複上述判斷步驟和流加密運算步驟,以此類推,直到構成用戶敏感信息的每一個基本元素都處理完畢為止,從而得到每一個元素對應的密文數據。
優選地,用戶是通過查看外部設備屏幕上顯示的基本元素布局,在主機上通過滑鼠點擊或者觸摸步驟(3)的布局方式中該元素相應的位置,從而完成在主機上用戶敏感信息的輸入操作。
按照本發明的另一方面,提供了一種用戶敏感信息的保護系統,包括:
第一模塊,其設置於外部設備中,用於對構成用戶敏感信息的所有基本元素進行隨機布局,並將布局方式通過屏幕顯示給用戶,構成用戶敏感信息的所有基本元素可以為數字、字符、字母或其任意組合;
第二模塊,其設置於外部設備中,用於對構成用戶敏感信息的所有基本元素進行逐個加密,以得到每個基本元素對應的密文數據,並將該密文數據及相應的布局方式發送給主機;
第三模塊,其設置於主機中,用於存儲接收到的密文數據及布局方式,以統一的符號、字母或數字替換密文數據中的所有元素,並以與步驟(1)中外部設備相同的布局方式將替換後的所有元素顯示給用戶;
第四模塊,其設置於主機中,用於接收用戶通過查看外部設備屏幕上顯示的基本元素及其布局後輸入的用戶敏感信息,記錄該用戶敏感信息對應的密文數據,並將該密文數據發送到外部設備;
第五模塊,其設置於外部設備中,用於採用與步驟(3)的加密算法相對應的解密算法對來自主機的密文數據進行解密操作,從而得到用戶真實輸入的用戶敏感信息。
按照本發明的另一方面,提供了一種用戶敏感信息的保護系統,包括:
第一模塊,其設置於外部設備中,用於對構成用戶敏感信息的所有基本元素進行隨機布局,並將布局方式通過屏幕顯示給用戶,構成用戶敏感信息的所有基本元素可以為數字、字符、字母或其任意組合;
第二模塊,其設置於外部設備中,用於生成隨機密鑰,利用隨機密鑰對構成用戶敏感信息的所有基本元素進行逐個流密碼加密,以得到每個基本元素對應的密文數據,並將該密文數據及相應的布局方式發送給主機;
第三模塊,其設置於主機中,用於存儲接收到的密文數據及布局方式,以統一的符號、字母或數字替換密文數據中的所有元素,並以與步驟(1)中外部設備相同的布局方式將替換後的所有元素顯示給用戶;
第四模塊,其設置於主機中,用於接收用戶通過查看外部設備屏幕上顯示的明文數據對應輸入的密文數據,並將該密文數據發送到外部設備;
第五模塊,其設置於外部設備中,用於採用與步驟(3)的加密算法相對應的解密算法對來自主機的密文數據進行解密操作,從而得到用戶真實輸入的敏感信息。
優選地,外部設備是智能密鑰設備、移動POS機或版權保護設備,主機是PC、筆記本電腦或手機。
總體而言,通過本發明所構思的以上技術方案與現有技術相比,能夠取得下列有益效果:
(1)由於在本發明方法中,用戶的敏感信息並不會直接顯示在主機的屏幕上(顯示在主機屏幕上的是統一的符號、字母或數字),也不會出現在主機的內存中,因此黑客無法通過鍵盤劫持、內存攻擊、截屏等方式非法盜取用戶的敏感信息,從而增加了用戶使用時的安全性。
(2)在本發明中,外部設備不需要配備鍵盤供用戶輸入,用戶僅僅只需要通過點擊滑鼠或者觸控螢幕的方式即可完成在主機屏幕上的明文數據輸入操作,從而降低了外部設備的硬體成本。
附圖說明
圖1是根據本發明第一實施方式的用戶敏感信息的保護方法的流程圖。
圖2是根據本發明第二實施方式的用戶敏感信息的保護方法的流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。此外,下面所描述的本發明各個實施方式中所涉及到的技術特徵只要彼此之間未構成衝突就可以相互組合。
如圖1所示,本發明用戶敏感信息的保護方法包括以下步驟:
(1)外部設備對構成用戶敏感信息的所有基本元素進行隨機布局,並將布局方式通過屏幕顯示給用戶,構成用戶敏感信息的所有基本元素可以為數字、字符、字母或其任意組合;具體而言,當用戶敏感信息為純數字時,則構成其的所有基本元素為數字0到數字9,當用戶敏感信息還包含字母時,則構成其的所有基本元素還應包括大小寫的字母a至z,當用戶敏感信息還包括特殊字符時,則構成其的所有基本元素還應包括鍵盤上常用的字符,諸如~、!、@、#、$、%、^、&、*、(、)、-、+、{、}、:、「、、?、[、]等。
在本實施方式中,外部設備是智能密鑰設備、移動POS機(MPOS)、版權保護設備等信息安全外設。
構成用戶敏感信息的所有基本元素顯示時的布局方式可以是任意的,比如顯示為一行、一列或者矩陣形式。
例如,構成純數字用戶敏感信息的所有基本元素隨機布局並顯示的方式是
(2)外部設備對構成用戶敏感信息的所有基本元素進行逐個加密,以得到每個基本元素對應的密文數據,並將該密文數據及相應的布局方式發送給主機;在本實施方式中,主機是帶鍵盤輸入的PC、筆記本電腦、手機等。
具體而言,所使用的加密算法包括有古典加密中的替換加密算法、移位加密算法或其組合;
例如,針對步驟(1)中的例子,使用替換加密算法、移位加密算法或其組合後,數字0到數字9對應的密文數據分別是:
0–ab
1-3b
2–f5
3-e5
4-cc
5-a2
6-aa
7-dd
8-4a
9-c1
其相應的排列布局方式為:
當採用古典加密中的替換加密算法時,本步驟的具體實現過程是,依次對每個構成用戶敏感信息的基本元素,在事先存儲的字典(其中建立有構成用戶敏感信息基本元素與事先存儲在字典中的字典元素之間的一對一映射關係)中找到對應的字典元素,並將該字典元素作為該基本元素對應的加密結果,並判斷得到的加密結果是否與之前的加密結果相同,如果不同,則建立二者之間的一對一映射關係,轉入下一個基本元素,如果相同,則在字典中重新隨機取一個字典元素,將該字典元素作為該基本元素對應的加密結果,重複上述步驟,直到所有構成用戶敏感信息的基本元素都具有相應的密文數據為止。
當採用古典加密中的移位加密算法時,如果構成用戶敏感信息基本元素的是純數字,則經過移位加密算法處理後的加密結果等於(該數字+s)mod n,其中s表示移位的位數,其為任意自然數,n表示加密採用的進位的位數。
針對上述實例而言,針對元素5而言,如果移位的位數是2,並採用十進位加密,則加密結果是等於(5+2)mod 10=7。
如果構成用戶敏感信息基本元素的是字母,則經過移位加密算法處理後的加密結果是(該字母的序號+s)mod 26,其中s表示移位的位數,其為任意自然數。
如果構成用戶敏感信息基本元素是字符,則先對所有字符進行有序數字編碼,隨後經過移位加密算法處理後的加密結果等於(該字符對應的數字+s)mod n,其中s表示移位的位數,其為任意自然數,n表示所有字符的個數。
如圖2所示,作為另一個替換實施方式,本步驟也可以是:
(2』)外部設備生成隨機密鑰,利用隨機密鑰對構成用戶敏感信息的所有基本元素進行逐個流密碼加密,以得到每個基本元素對應的密文數據,並將該密文數據及相應的布局方式發送給主機;
具體而言,流密碼加密運算包括異或、RC-4、SEAL算法等。
本步驟的具體實現過程是,首先隨機產生一個密鑰,並將該密鑰與構成用戶敏感信息的第一個元素進行流加密運算,然後隨機產生下一個密鑰,並將該密鑰與構成用戶敏感信息的下一個元素進行流加密運算,並判斷得到的運算結果是否與之前的加密結果相同,如果不同,則轉入下一個元素並重複上述流加密運算步驟,如果相同,則再次隨機產生密鑰,並重複上述判斷步驟和流加密運算步驟,以此類推,直到構成用戶敏感信息的每一個基本元素都處理完畢為止,得到每一個元素對應的密文數據。
針對上述實例而言,本步驟中首先生成加密密鑰:
然後將該加密密鑰和步驟(1)中的基本元素數據進行異或,得到密文的排列布局為:
(3)主機存儲接收到的密文數據及布局方式,以統一的符號、字母或數字替換密文數據中的所有元素,並以與步驟(1)中外部設備相同的布局方式將替換後的所有元素顯示給用戶;
(4)主機接收用戶通過查看外部設備屏幕上顯示的基本元素及其布局後輸入的用戶敏感信息,記錄該用戶敏感信息對應的密文數據,並將該密文數據發送到外部設備;具體而言,用戶是通過查看外部設備屏幕上顯示的基本元素布局,在主機上通過滑鼠點擊或者觸摸步驟(3)的布局方式中該元素相應的位置,從而完成在主機上用戶敏感信息的輸入操作;
例如,用戶需要輸入的pin碼是5132,則主機接收到的密文數據就是a2,3b,e5,f5(如果是採用替換加密算法)。
(5)外部設備採用與步驟(3)的加密算法相對應的解密算法對來自主機的密文數據進行解密操作,從而得到用戶真實輸入的用戶敏感信息。
本領域的技術人員容易理解,以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。