两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法

文檔序號:7794453閱讀:192來源:國知局
一種數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種數(shù)據(jù)傳輸方法及系統(tǒng),可以保證數(shù)據(jù)傳輸和數(shù)據(jù)存取的安全性,該方法包括:與第一客戶端匹配連接的智能密鑰設(shè)備接收到第一觸發(fā)指令,隨機生成目標密鑰,加密數(shù)據(jù)明文得到數(shù)據(jù)密文;第一客戶端獲取至少一個第二用戶的公鑰,加密目標密鑰得到至少一個第二用戶對應的目標密鑰密文;將數(shù)據(jù)密文和授權(quán)列表發(fā)送給服務端存儲;服務端接收第二客戶端發(fā)送的數(shù)據(jù)獲取請求;當授權(quán)列表中有第二用戶的用戶信息時將數(shù)據(jù)密文和目標密鑰密文發(fā)送給第二客戶端;與第二客戶端匹配連接的智能密鑰設(shè)備利用第二用戶的私鑰解密目標密鑰密文,得到目標密鑰;使用目標密鑰解密數(shù)據(jù)密文,得到數(shù)據(jù)明文。
【專利說明】一種數(shù)據(jù)傳輸方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種電子【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)傳輸方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,通過網(wǎng)絡實現(xiàn)的數(shù)據(jù)存取和數(shù)據(jù)共享技術(shù)為數(shù)以億計的用戶提供了生活和工作上的便捷。特定范圍內(nèi)的用戶,也可以利用這一技術(shù)搭建運行在其內(nèi)部網(wǎng)絡中的存取共享服務,服務端的維護與管理均可以自行控制,以實現(xiàn)數(shù)據(jù)可共享給該范圍內(nèi)的全部用戶。然而,現(xiàn)有的文件存取技術(shù)的安全性保障停留在用戶與服務端取得連接時,需要輸入PIN碼,以驗證身份,但是,這種方式安全性不高,隨著黑客手段的愈發(fā)高明,破解一個用戶密碼變得簡單易行,這對于數(shù)據(jù)的安全性和用戶的隱私來說,是極大的隱患。
[0003]因此,現(xiàn)今需要一種安全性更高的數(shù)據(jù)傳輸方法,以保證數(shù)據(jù)存取的安全。
[0004]另外,現(xiàn)有技術(shù),在進行共享數(shù)據(jù)傳輸時,共享數(shù)據(jù)可以被所有用戶下載使用,無法控制非法用戶對共享數(shù)據(jù)的下載,無法保證數(shù)據(jù)的傳輸安全性。
[0005]因此,如何解決數(shù)據(jù)存取時的安全性,且如何將數(shù)據(jù)共享給指定用戶,非指定用戶無法獲取數(shù)據(jù),保障用戶數(shù)據(jù)的傳輸安全性,均是亟待解決的技術(shù)問題。

【發(fā)明內(nèi)容】

[0006]本發(fā)明旨在解決現(xiàn)有的數(shù)據(jù)存取和傳輸安全性差的問題之一。
[0007]本發(fā)明的主要目的在于提供一種數(shù)據(jù)傳輸方法。
[0008]本發(fā)明的另一目的在于提供一種數(shù)據(jù)傳輸系統(tǒng)。
[0009]為達到上述目的,本發(fā)明的技術(shù)方案具體是這樣實現(xiàn)的:
[0010]本發(fā)明一方面提供了一種數(shù)據(jù)傳輸方法,包括:
[0011]與第一客戶端匹配連接的第一用戶智能密鑰設(shè)備接收到第一觸發(fā)指令,隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文;
[0012]所述第一客戶端獲取至少一個第二用戶的公鑰,并使用所述至少一個第二用戶的公鑰加密所述目標密鑰,得到所述至少一個第二用戶對應的目標密鑰密文;
[0013]所述第一客戶端將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端,所述數(shù)據(jù)密文的授權(quán)列表包括所述至少一個第二用戶的用戶信息和對應的目標密鑰密文;
[0014]所述服務端存儲所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表;
[0015]所述服務端接收所述第二客戶端發(fā)送的所述第二用戶的數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求包括所述第二用戶的用戶信息;
[0016]當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,所述服務端將所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文發(fā)送給所述第二客戶端;
[0017]所述第二客戶端接收所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文;
[0018]與所述第二客戶端匹配連接的第二用戶智能密鑰設(shè)備利用第二用戶的私鑰解密所述第二用戶對應的目標密鑰密文,得到所述目標密鑰;
[0019]所述第二客戶端使用所述目標密鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0020]此外,該方法還包括:
[0021]所述第一客戶端向所述服務端發(fā)送第一用戶的認證請求消息;
[0022]所述服務端利用服務端私鑰加密第一隨機數(shù),得到第一隨機數(shù)密文,將所述第一隨機數(shù)密文發(fā)送給所述第一客戶端;
[0023]與所述第一客戶端匹配連接的所述第一用戶智能密鑰設(shè)備利用所述服務端的公鑰解密所述第一隨機數(shù)密文,得到第二隨機數(shù),并利用第一用戶的私鑰加密所述第二隨機數(shù),得到第二隨機數(shù)密文,將所述第二隨機數(shù)密文通過所述第一客戶端發(fā)送給所述服務端;
[0024]所述服務端利用所述第一用戶的公鑰解密所述第二隨機數(shù)密文,得到第三隨機數(shù),當所述第一隨機數(shù)與和所述第三隨機數(shù)一致時,向所述第一客戶端發(fā)送認證成功響應消息。
[0025]此外,該方法還包括:
[0026]與所述第一客戶端匹配連接的所述第一用戶智能密鑰設(shè)備接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端;
[0027]所述服務端存儲所述數(shù)據(jù)密文;
[0028]所述服務端接收所述第一客戶端發(fā)送的所述第一用戶的數(shù)據(jù)獲取請求;
[0029]所述服務端將所述數(shù)據(jù)密文發(fā)送給所述第一客戶端;
[0030]所述第一客戶端接收所述數(shù)據(jù)密文,利用所述第一用戶的私鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0031]此外,當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中沒有存儲所述第二用戶對應的用戶信息時,所述服務端不執(zhí)行將所述數(shù)據(jù)密文發(fā)送給所述第二客戶端的操作。
[0032]此外,所述用戶信息為所述第二用戶的用戶名和/或所述第二用戶的公鑰。
[0033]本發(fā)明另一方面提供了一種數(shù)據(jù)傳輸系統(tǒng),包括:第一客戶端、第一用戶智能密鑰設(shè)備、服務端、第二客戶端、和第二用戶智能密鑰設(shè)備,其中,
[0034]所述第一用戶智能密鑰設(shè)備與所述第一客戶端匹配連接;
[0035]所述第二用戶智能密鑰設(shè)備與所述第二客戶端匹配連接;
[0036]所述第一用戶智能密鑰設(shè)備,用于接收第一觸發(fā)指令,隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文;
[0037]所述第一客戶端,用于獲取至少一個第二用戶的公鑰,并使用所述至少一個第二用戶的公鑰加密所述目標密鑰,得到所述至少一個第二用戶對應的目標密鑰密文,將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端,所述數(shù)據(jù)密文的授權(quán)列表包括所述至少一個第二用戶的用戶信息和對應的目標密鑰密文;
[0038]所述服務端,用于接收所述第一客戶端發(fā)送的所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表;并存儲所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表,接收所述第二客戶端發(fā)送的所述第二用戶的數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求包括所述第二用戶的用戶信息,并當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,將所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文發(fā)送給所述第二客戶端;[0039]所述第二客戶端,用于向所述服務端發(fā)送第二用戶的數(shù)據(jù)獲取請求,并接收所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文;
[0040]所述第二用戶智能密鑰設(shè)備,用于利用第二用戶的私鑰解密所述第二用戶對應的目標密鑰密文,得到所述目標密鑰;
[0041]所述第二客戶端,還用于使用所述目標密鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0042]此外,該系統(tǒng)中:
[0043]所述第一客戶端,還用于向所述服務端發(fā)送第一用戶的認證請求消息;
[0044]所述服務端,還用于利用服務端私鑰加密第一隨機數(shù),得到第一隨機數(shù)密文,將所述第一隨機數(shù)密文發(fā)送給所述第一客戶端;
[0045]所述第一用戶智能密鑰設(shè)備,還用于利用所述服務端的公鑰解密所述第一隨機數(shù)密文,得到第二隨機數(shù),并利用第一用戶的私鑰加密所述第二隨機數(shù),得到第二隨機數(shù)密文,將所述第二隨機數(shù)密文通過所述第一客戶端發(fā)送給所述服務端;
[0046]所述服務端,還用于利用所述第一用戶的公鑰解密所述第二隨機數(shù)密文,得到第三隨機數(shù),當所述第一隨機數(shù)與和所述第三隨機數(shù)一致時,向所述第一客戶端發(fā)送認證成功響應消息。
[0047]此外,該系統(tǒng)中:
[0048]所述第一用戶智能密鑰設(shè)備,還用于接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端;
[0049]所述服務端,還用于存儲所述數(shù)據(jù)密文,接收所述第一客戶端發(fā)送的所述第一用戶的數(shù)據(jù)獲取請求,將所述數(shù)據(jù)密文發(fā)送給所述第一客戶端;
[0050]所述第一客戶端,還用于接收所述數(shù)據(jù)密文,利用所述第一用戶的私鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0051]此外,所述服務端,還用于當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中沒有存儲所述第二用戶對應的用戶信息時,不執(zhí)行將所述數(shù)據(jù)密文發(fā)送給所述第二客戶端的操作。
[0052]此外,所述用戶信息為所述第二用戶的用戶名和/或所述第二用戶的公鑰。
[0053]由上述本發(fā)明提供的技術(shù)方案可以看出,采用了本發(fā)明提供的數(shù)據(jù)傳輸方法及系統(tǒng),第一用戶通過第一客戶端向服務端發(fā)送數(shù)據(jù)密文和該數(shù)據(jù)密文的授權(quán)列表,使得位于該授權(quán)列表中的第二用戶具有權(quán)限對該數(shù)據(jù)密文進行下載,沒有位于該授權(quán)列表中的用戶無法對該數(shù)據(jù)密文進行下載,進而保證第一用戶的數(shù)據(jù)的私密性和安全性;并且由于第一用戶的數(shù)據(jù)密文是使用目標密鑰加密的,而目標密鑰是使用第二用戶公鑰加密的,即使沒有位于該授權(quán)列表中的用戶通過非法手段獲得了第一用戶的數(shù)據(jù)密文,也會因為無法獲得第二用戶的私鑰對目標密鑰密文進行解密,導致無法獲得目標密鑰,進而無法對數(shù)據(jù)密文進行解密,可見,采用本發(fā)明實施例提供的數(shù)據(jù)傳輸方法及系統(tǒng)保證了數(shù)據(jù)傳輸和數(shù)據(jù)存取的安全性。通過使用第一用戶的公鑰加密數(shù)據(jù),使得只有擁有第一用戶私鑰的第一用戶才能解密該數(shù)據(jù),保障了第一用戶數(shù)據(jù)的安全性。
【專利附圖】

【附圖說明】
[0054]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
[0055]圖1為本發(fā)明實施例1提供的數(shù)據(jù)傳輸方法的交互流程圖;
[0056]圖2為本發(fā)明實施例1提供的數(shù)據(jù)傳輸方法的第一客戶端通過服務端認證的流程圖;
[0057]圖3為本發(fā)明實施例1提供的第一用戶上傳非共享數(shù)據(jù)的交互流程圖;
[0058]圖4為本發(fā)明實施例2提供的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0059]下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
[0060]在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于
附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或數(shù)量或位置。
[0061]在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
[0062]下面將結(jié)合附圖對本發(fā)明實施例作進一步地詳細描述。
[0063]實施例1
[0064]圖1出示了本發(fā)明的數(shù)據(jù)傳輸方法的流程圖,參見圖1,本發(fā)明的數(shù)據(jù)傳輸方法,包括:
[0065]101,與第一客戶端匹配連接的第一用戶智能密鑰設(shè)備接收到第一觸發(fā)指令,隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文;
[0066]在本實施例中,也可由第一客戶端隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文。
[0067]可選的,本步驟的一種實現(xiàn)方式為:第一客戶端的顯示屏上可以提供一個人機交互界面,在該人機交互界面上設(shè)有可以實現(xiàn)“共享存儲”的按鈕,當用戶選中該“共享存儲”的按鈕時,將會產(chǎn)生第一觸發(fā)命令,第一客戶端檢測到該第一觸發(fā)命令時,執(zhí)行隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文的操作。或者第一客戶端檢測到該第一觸發(fā)命令時,發(fā)送指令至與第一客戶端匹配連接的第一用戶智能密鑰設(shè)備,第一用戶智能密鑰設(shè)備收到指令后,執(zhí)行隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文的操作。
[0068]需要說明的是,本實施例中第一客戶端是指第一用戶進行數(shù)據(jù)上傳或者下載時所使用的客戶端,該第一客戶端與第一用戶的智能密鑰設(shè)備相連,該智能密鑰設(shè)備可以為USB-Key,相連方式可以為使用USB接口、音頻接口或DOCK接口與第一客戶端直接連接,也可以通過無線的方式與第一客戶端連接,其中無線的方式可以是射頻、紅外、藍牙或NFC等等;
[0069]其中,數(shù)據(jù)明文是第一用戶需要共享存儲的數(shù)據(jù);
[0070]第一觸發(fā)指令,可以用來實現(xiàn)將第一用戶需要共享存儲的數(shù)據(jù)(也就是數(shù)據(jù)明文)加密后上傳至服務端,并且加密后得到的數(shù)據(jù)密文僅限于經(jīng)過第一用戶授權(quán)后的第二用戶進行訪問下載,沒有經(jīng)過第一用戶授權(quán)后的第二用戶無法進行訪問下載。
[0071]隨機生成的目標密鑰可以是隨機生成的一串數(shù)字,一串字符,也可以是字符與數(shù)字的組合,目標密鑰生成的隨機性,使得目標密鑰難以預測,保障了使用目標密鑰加密的數(shù)據(jù)明文的安全性。
[0072]102,所述第一客戶端獲取至少一個第二用戶的公鑰,并使用所述至少一個第二用戶的公鑰加密所述目標密鑰,得到所述至少一個第二用戶對應的目標密鑰密文;
[0073]具體的,第一客戶端獲取至少一個第二用戶的公鑰,具體方案可以是:
[0074]方式一:第一客戶端預存公鑰信息列表,公鑰信息列表中記錄每個用戶的用戶信息和對應的公鑰;第一客戶端可以從公鑰信息列表中讀取至少一個第二用戶的公鑰;
[0075]方式二:或者,第一用戶智能密鑰設(shè)備預存公鑰信息列表,公鑰信息列表中記錄每個用戶的用戶信息和對應的公鑰;第一用戶智能密鑰設(shè)備可以從公鑰信息列表中讀取至少一個第二用戶的公鑰,發(fā)送給第一客戶端;
[0076]方式三:或者,本實施例中的服務端可以預先保存有公鑰信息列表,該列表記錄了每個用戶的用戶信息和對應的公鑰;當?shù)谝豢蛻舳诵枰獜姆斩讼螺d時,向服務端發(fā)送獲取公鑰的請求,請求中包括第二用戶的用戶信息,服務端在公鑰信息列表中查找第二用戶的用戶名對應的公鑰,并發(fā)送至第一客戶端;
[0077]方案四:或者,本實施例中的服務端可以預先保存有公鑰信息列表,該列表記錄了每個用戶的用戶信息和對應的公鑰;當?shù)谝豢蛻舳诵枰獜姆斩讼螺d時,向服務端發(fā)送獲取公鑰信息列表的請求,服務端發(fā)送公鑰信息列表至第一客戶端。
[0078]其中,第二用戶是經(jīng)過第一用戶授權(quán),可以對服務端上保存的第一用戶的數(shù)據(jù)密文進行下載的用戶。
[0079]選擇哪些用戶作為第二用戶,以及選擇一個還是多個第二用戶可以由第一用戶根據(jù)實際需要進行確定。
[0080]可選的,在本步驟中的,使用所述至少一個第二用戶的公鑰加密所述目標密鑰的操作,也可以由與第一客戶端匹配連接的第一用戶智能密鑰設(shè)備完成。
[0081]103,所述第一客戶端將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端,所述數(shù)據(jù)密文的授權(quán)列表包括所述至少一個第二用戶的用戶信息和對應的目標密鑰密文;
[0082]具體的,所述用戶信息為用戶名和/或公鑰。
[0083]該用戶信息是用于唯一標識用戶的一種信息。不同的用戶具有的用戶信息互不相同。
[0084]在上述數(shù)據(jù)密文的授權(quán)列表中記錄的第二用戶是,經(jīng)過第一用戶授權(quán)后有權(quán)限對該數(shù)據(jù)密文進行下載的用戶。
[0085]本步驟中通過將數(shù)據(jù)密文和該數(shù)據(jù)密文的授權(quán)列表上傳給服務端,使得服務端可以清楚獲知哪些用戶具有對該數(shù)據(jù)密文的操作權(quán)限。
[0086]需要說明的是,第一客戶端可以根據(jù)實際應用的需要,針對不同的數(shù)據(jù)密文來生成包括不同第二用戶的授權(quán)列表,以方便對不同的數(shù)據(jù)密文有針對性地進行差異化授權(quán)。
[0087]例如,第一客戶端需要上傳兩組數(shù)據(jù)明文:數(shù)據(jù)明文A和數(shù)據(jù)明文B,可以分別針對數(shù)據(jù)明文A和數(shù)據(jù)明文B生成各自的授權(quán)列表。數(shù)據(jù)明文A授權(quán)列表包括三個第二用戶的用戶信息和對應的目標密鑰密文,可以允許用戶甲、用戶乙和用戶丙下載;數(shù)據(jù)明文B授權(quán)列表包括四個用戶的用戶信息和對應的目標密鑰密文,可以允許用戶甲、用戶乙、用戶丁和用戶戊下載。
[0088]104,所述服務端存儲所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表;
[0089]105,所述服務端接收所述第二客戶端發(fā)送的所述第二用戶的數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求包括所述第二用戶的用戶信息;
[0090]其中,第二客戶端是指第二用戶進行數(shù)據(jù)上傳或者下載時所使用的客戶端。
[0091]第二用戶的用戶信息可以是第二用戶的用戶名和/或公鑰。
[0092]具體實現(xiàn)時,上述第一客戶端和第二客戶端可以是不同的物理客戶端,例如,用戶A(該用戶A相當于第一用戶)使用電腦A(相當于第一客戶端)進行數(shù)據(jù)上傳或者下載,用戶B (該用戶B相當于第二用戶)使用電腦B (相當于第二客戶端)進行數(shù)據(jù)上傳或者下載;
[0093]或者,該第一客戶端和第二客戶端也可以是相同的物理客戶端;例如,用戶A(該用戶A相當于第一用戶)使用電腦C(相當于第一客戶端)進行數(shù)據(jù)上傳或者下載,用戶B(該用戶B相當于第二用戶)使用電腦C(相當于第二客戶端)進行數(shù)據(jù)上傳或者下載。
[0094]106,當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,所述服務端將所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文發(fā)送給所述第二客戶端;
[0095]具體的,服務端根據(jù)第二用戶的用戶信息,判斷在請求獲取的數(shù)據(jù)密文的授權(quán)列表中是否存儲有第二用戶的用戶信息;
[0096]當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,則從該授權(quán)列表中獲取該第二用戶對應的目標密鑰密文,連同所述數(shù)據(jù)密文一起發(fā)送給第二客戶端。
[0097]從而可以保證位于授權(quán)列表中的第二用戶具有權(quán)限獲得第一用戶上傳的數(shù)據(jù)密文,沒有位于授權(quán)列表中的第二用戶不具有權(quán)限獲得第一用戶上傳的數(shù)據(jù)密文,進而保障了第一用戶在服務端存儲的數(shù)據(jù)的安全性和私密性。
[0098]實際應用時,可選的,當請求獲取的數(shù)據(jù)密文的授權(quán)列表中沒有存儲所述第二用戶對應的用戶信息時,還可以向第二客戶端發(fā)送數(shù)據(jù)獲取失敗或者沒有權(quán)限獲取數(shù)據(jù)的響應消息,以通知第二客戶端數(shù)據(jù)獲取失敗,或者沒有權(quán)限獲取數(shù)據(jù)。
[0099]107,所述第二客戶端接收所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文;[0100]108,與所述第二客戶端匹配連接的第二用戶智能密鑰設(shè)備利用第二用戶的私鑰解密所述第二用戶對應的目標密鑰密文,得到所述目標密鑰;
[0101]由于第二用戶對應的目標密鑰密文是使用第二用戶的公鑰進行的加密,因而只有第二用戶的私鑰可以對該第二用戶對應的目標密鑰密文進行解密。而第二用戶的私鑰保存在第二用戶的智能密鑰設(shè)備中,具有無法被導出或者讀出的特點,進而保證了第二用戶對應的目標密鑰密文只能由第二用戶實現(xiàn)解密。這也意味著,即使其他任何用戶通過非法手段獲得了該第二用戶對應的目標密鑰密文,也會由于無法獲取第二用戶的私鑰,導致無法對該第二用戶對應的目標密鑰密文進行解密,進而也就無法利用目標密鑰對數(shù)據(jù)密文進行解密??梢?,使用第二用戶的公鑰加密得到的目標密鑰密文,可以保證該目標密鑰密文的安全性。
[0102]109,第二客戶端使用所述目標密鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0103]在本實施例中,使用目標密鑰解密數(shù)據(jù)密文的操作,也可以由與第二客戶端匹配連接的智能密鑰設(shè)備完成。
[0104]采用了本實施例提供的數(shù)據(jù)傳輸方法,第一用戶通過第一客戶端向服務端發(fā)送數(shù)據(jù)密文和該數(shù)據(jù)密文的授權(quán)列表,使得位于該授權(quán)列表中的第二用戶具有權(quán)限對該數(shù)據(jù)密文進行下載,沒有位于該授權(quán)列表中的用戶無法對該數(shù)據(jù)密文進行下載,進而保證第一用戶的數(shù)據(jù)的私密性和安全性;并且由于第一用戶的數(shù)據(jù)密文是使用目標密鑰加密的,而目標密鑰是使用第二用戶公鑰加密的,即使沒有位于該授權(quán)列表中的用戶通過非法手段獲得了第一用戶的數(shù)據(jù)密文,也會因為無法獲得第二用戶的私鑰對目標密鑰密文進行解密,導致無法獲得目標密鑰,進而無法對數(shù)據(jù)密文進行解密,可見,采用本實施例提供的方法保證了數(shù)據(jù)傳輸和數(shù)據(jù)存取的安全性。通過使用第一用戶的公鑰加密數(shù)據(jù),使得只有擁有第一用戶私鑰的第一用戶才能解密該數(shù)據(jù),保障了第一用戶數(shù)據(jù)的安全性。
[0105]另外,本實施例中,為進一步保障數(shù)據(jù)傳輸?shù)陌踩?,在所述第一客戶端將所述?shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端之前,本發(fā)明實施例提供的方法還可以包括服務端對第一客戶端進行身份認證的過程,參見圖2,具體實現(xiàn)如下:
[0106]201,所述第一客戶端向所述服務端發(fā)送第一用戶的認證請求消息;
[0107]202,所述服務端利用服務端私鑰加密第一隨機數(shù),得到第一隨機數(shù)密文,將所述第一隨機數(shù)密文發(fā)送給所述第一客戶端;
[0108]203,與所述第一客戶端匹配連接的所述第一用戶智能密鑰設(shè)備利用所述服務端的公鑰解密所述第一隨機數(shù)密文,得到第二隨機數(shù),并利用第一用戶的私鑰加密所述第二隨機數(shù),得到第二隨機數(shù)密文,將所述第二隨機數(shù)密文通過所述第一客戶端發(fā)送給所述服務端;
[0109]204,所述服務端利用所述第一用戶的公鑰解密所述第二隨機數(shù)密文,得到第三隨機數(shù),當所述第一隨機數(shù)與和所述第三隨機數(shù)一致時,向所述第一客戶端發(fā)送認證成功響應消息。
[0110]具體的,上述流程為如果第一用戶智能密鑰設(shè)備擁有正確的服務端公鑰,可解密第一隨機數(shù)密文,得到正確的第二隨機數(shù),如果服務端也擁有第一用戶智能密鑰設(shè)備的公鑰,可解密第二隨機數(shù)密文,得到正確的第三隨機數(shù),如果第三隨機數(shù)與第一隨機數(shù)相同,進而通過服務端的身份驗證。[0111]在本實施例中,服務端也可以在將數(shù)據(jù)密文發(fā)送給第二客戶端之前,采用上述身份認證流程實現(xiàn)對第二客戶端的身份認證,第二客戶端通過服務端的身份認證后,可以與服務端進行進一步的數(shù)據(jù)交互,具體流程與第一客戶端的身份認證流程相同,在此不再贅述。
[0112]通過執(zhí)行上述身份認證流程帶來的有益效果是:在第一用戶通過第一客戶端向服務端發(fā)送數(shù)據(jù)密文和數(shù)據(jù)密文的授權(quán)列表之前,通過上述身份認證流程,可以使得服務端對第一用戶的身份合法性進行認證,也就是通過身份認證的第一用戶可以向服務端上傳數(shù)據(jù),沒有通過身份認證的第一用戶,無法向服務端執(zhí)行上傳數(shù)據(jù)的操作,進而可以避免非法身份用戶上傳異常數(shù)據(jù)到服務端所帶來的數(shù)據(jù)存儲風險,保證合法身份用戶上傳的數(shù)據(jù)安全性;
[0113]相應地,在第二用戶通過第二客戶端從服務端下載數(shù)據(jù)之前,通過上述身份認證流程,可以使得服務端對第二用戶的身份合法性進行認證,也就是通過身份認證的第二用戶可以接收到服務端發(fā)送的數(shù)據(jù)密文等信息,沒有通過身份認證的第二用戶,無法接收服務端發(fā)送的數(shù)據(jù)密文等信息,進而可以避免服務端上的數(shù)據(jù)被非法用戶下載,保證服務端上數(shù)據(jù)在下載時的安全性。
[0114]上述圖1和圖2所示的方法清楚記載了第一用戶上傳共享數(shù)據(jù)時,如何針對共享數(shù)據(jù)進行差異化授權(quán)下載的實現(xiàn)方案,下面,本實施例還提供一種當?shù)谝挥脩羯蟼鞣枪蚕頂?shù)據(jù),也就是第一用戶的非共享數(shù)據(jù)僅限于第一用戶進行下載操作,對除第一用戶之外的用戶不進行授權(quán)下載的實現(xiàn)方案,如圖3所示,具體實現(xiàn)流程如下:
[0115]301,與所述第一客戶端匹配連接的所述第一用戶智能密鑰設(shè)備接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端;
[0116]可選的,本步驟的一種實現(xiàn)方式為:第一客戶端的顯示屏上可以提供一個人機交互界面,在該人機交互界面上設(shè)有可以實現(xiàn)“備份上傳”的按鈕,當用戶選中該“備份上傳”的按鈕時,將會產(chǎn)生第二觸發(fā)命令,即用戶選擇了需上傳數(shù)據(jù)并不共享給他人,僅用戶本人可下載。
[0117]需要說明的是,本實施例中第一客戶端是指第一用戶進行數(shù)據(jù)上傳或者下載時所使用的客戶端,該第一客戶端與第一用戶的智能密鑰設(shè)備相連,該智能密鑰設(shè)備可以為USB-Key,相連方式可以為使用USB接口、音頻接口或DOCK接口與第一客戶端直接連接,也可以通過無線的方式與第一客戶端連接,其中無線的方式可以是射頻、紅外、藍牙或NFC等等;
[0118]其中,數(shù)據(jù)明文是第一用戶需要上傳存儲的數(shù)據(jù);
[0119]第二觸發(fā)指令,可以用來實現(xiàn)將第一用戶需要上傳備份的數(shù)據(jù)(也就是數(shù)據(jù)明文)加密后上傳至服務端,并且加密后得到的數(shù)據(jù)密文僅限于第一用戶自己訪問下載,其他用戶無法進行訪問下載。
[0120]可選的,在本步驟中,也可以是第一客戶端接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端;
[0121]在本步驟中,與數(shù)據(jù)密文同時發(fā)送給服務端的還可以包括第一用戶的用戶信息;
[0122]該用戶信息時用于唯一標識用戶的一種信息。不同的用戶具有的用戶信息互不相同。[0123]進一步,第一用戶的用戶信息可以是第一用戶的用戶名和/或公鑰。
[0124]302,所述服務端存儲所述數(shù)據(jù)密文;
[0125]在本步驟中,服務端還可存儲第一用戶的用戶信息;
[0126]即服務端可存儲第一用戶的用戶名和/或公鑰。
[0127]303,所述服務端接收所述第一客戶端發(fā)送的所述第一用戶的數(shù)據(jù)獲取請求;
[0128]在該實施例中,第一用戶的數(shù)據(jù)獲取請求中可以包括第一用戶的用戶信息。
[0129]進一步,第一用戶的數(shù)據(jù)獲取請求中可以包括第一用戶的用戶名和/或公鑰。
[0130]具體實現(xiàn)時,第一客戶端可以是不同的物理客戶端,例如,用戶A(該用戶相當于第一用戶),使用電腦A (相當于第一客戶端)進行數(shù)據(jù)上傳,用戶A在使用電腦B時,希望獲取已上傳的數(shù)據(jù)明文,即可使用電腦B進行數(shù)據(jù)下載,此時,由于電腦B也是用戶A在使用(即第一用戶在使用),所以電腦B相當于第一客戶端。
[0131]304,所述服務端將所述數(shù)據(jù)密文發(fā)送給所述第一客戶端;
[0132]在本實施例中,服務端還可判斷數(shù)據(jù)獲取請求中的第一用戶的用戶信息是否與服務端存儲的第一用戶的用戶信息相同,如果相同,則將數(shù)據(jù)密文發(fā)送給第一客戶端。如果不相同,不執(zhí)行將數(shù)據(jù)密文發(fā)送給第一客戶端的操作。
[0133]305,所述第一客戶端接收所述數(shù)據(jù)密文,利用所述第一用戶的私鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0134]本實施例中,在第一用戶通過第一客戶端上傳非共享數(shù)據(jù)時,也即是第一用戶上傳的數(shù)據(jù)僅限于第一用戶進行下載,不允許其他用戶下載時,通過采用上述方法對數(shù)據(jù)進行加密上傳服務端后,由于數(shù)據(jù)密文是采用第一用戶的公鑰進行的加密,只能通過第一用戶的私鑰進行解密,而第一用戶的私鑰保存在第一用戶的智能密鑰設(shè)備,無法被導出,因而保證了第一用戶上傳的數(shù)據(jù)只能由第一用戶解密得到,其他用戶即使通過非法手段獲得了第一用戶的數(shù)據(jù)密文,也會因為無法得到第一用戶的私鑰導致無法解密第一用戶的數(shù)據(jù)密文。
[0135]實施例2
[0136]圖4出示了本發(fā)明的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖,參見圖4,本發(fā)明的數(shù)據(jù)傳輸系統(tǒng),包括:第一客戶端21、第一用戶智能密鑰設(shè)備22、服務端23、第二客戶端24、和第二用戶智能密鑰設(shè)備25,其中,
[0137]所述第一用戶智能密鑰設(shè)備22與所述第一客戶端21匹配連接;
[0138]需要說明的是,本實施例中第一客戶端21是指第一用戶進行數(shù)據(jù)上傳或者下載時所使用的客戶端,該第一客戶端21與第一用戶的智能密鑰設(shè)備22相連,該智能密鑰設(shè)備22可以為USB-Key,相連方式可以為使用USB接口、音頻接口或DOCK接口與第一客戶端21直接連接,也可以通過無線的方式與第一客戶端21連接,其中無線的方式可以是射頻、紅夕卜、藍牙或NFC等等。
[0139]所述第二用戶智能密鑰設(shè)備25與所述第二客戶端24匹配連接;
[0140]需要說明的是,本實施例中第二客戶端24是指第二用戶進行數(shù)據(jù)上傳或者下載時所使用的客戶端,該第二客戶端24與第一用戶的智能密鑰設(shè)備25相連,該智能密鑰設(shè)備25可以為USB-Key,相連方式可以為使用USB接口、音頻接口或DOCK接口與第二客戶端24直接連接,也可以通過無線的方式與第二客戶端24連接,其中無線的方式可以是射頻、紅外、藍牙或NFC等等。
[0141]所述第一用戶智能密鑰設(shè)備22,用于接收第一觸發(fā)指令,隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文;
[0142]在本實施例中,數(shù)據(jù)明文是第一用戶需要共享存儲的數(shù)據(jù);
[0143]在本實施例中,第一客戶端21也可用于隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文。
[0144]可選的,第一客戶端21在實現(xiàn)接收第一觸發(fā)指令,隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文這一功能時,可以采用的一種實現(xiàn)方式為--第一客戶端21的顯示屏上可以提供一個人機交互界面,在該人機交互界面上設(shè)有可以實現(xiàn)“共享存儲”的按鈕,當用戶選中該“共享存儲”的按鈕時,將會產(chǎn)生第一觸發(fā)命令,第一客戶端21檢測到該第一觸發(fā)命令時,執(zhí)行隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文的操作?;蛘叩谝豢蛻舳?1檢測到該第一觸發(fā)命令時,發(fā)送指令至與第一客戶端23匹配連接的第一用戶智能密鑰設(shè)備22,第一用戶智能密鑰設(shè)備22收到指令后,執(zhí)行隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文的操作。
[0145]第一觸發(fā)指令,可以用來實現(xiàn)將第一用戶需要共享存儲的數(shù)據(jù)(也就是數(shù)據(jù)明文)加密后上傳至服務端23,并且加密后得到的數(shù)據(jù)密文僅限于經(jīng)過第一用戶授權(quán)后的第二用戶進行訪問下載,沒有經(jīng)過第一用戶授權(quán)后的第二用戶無法進行訪問下載;
[0146]隨機生成的目標密鑰可以是隨機生成的一串數(shù)字,一串字符,也可以是字符與數(shù)字的組合,目標密鑰生成的隨機性,使得目標密鑰難以預測,保障了使用目標密鑰加密的數(shù)據(jù)明文的安全性。
[0147]所述第一客戶端21,用于獲取至少一個第二用戶的公鑰,并使用所述至少一個第二用戶的公鑰加密所述目標密鑰,得到所述至少一個第二用戶對應的目標密鑰密文,將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端23,所述數(shù)據(jù)密文的授權(quán)列表包括所述至少一個第二用戶的用戶信息和對應的目標密鑰密文;
[0148]具體的,第一客戶端21獲取至少一個第二用戶的公鑰,具體方案可以是:
[0149]方式一:第一客戶端21預存公鑰信息列表,公鑰信息列表中記錄每個用戶的用戶信息和對應的公鑰,第一客戶端21可以從公鑰信息列表中讀取至少一個第二用戶的公鑰;
[0150]方式二:或者,第一用戶智能密鑰設(shè)備22預存公鑰信息列表,公鑰信息列表中記錄每個用戶的用戶信息和對應的公鑰;第一用戶智能密鑰設(shè)備22可以從公鑰信息列表中讀取至少一個第二用戶的公鑰,發(fā)送給第一客戶端21 ;
[0151]方式三:或者,本實施例中的服務端23可以預先保存有公鑰信息列表,該列表記錄了每個用戶的用戶信息和對應的公鑰;當?shù)谝豢蛻舳?1需要從服務端23下載時,向服務端23發(fā)送獲取公鑰的請求,請求中包括第二用戶的用戶信息,服務端23在公鑰信息列表中查找第二用戶的用戶名對應的公鑰,并發(fā)送至第一客戶端21 ;
[0152]方案四:或者,本實施例中的服務端23可以預先保存有公鑰信息列表,該列表記錄了每個用戶的用戶信息和對應的公鑰;當?shù)谝豢蛻舳?1需要從服務端23下載時,向服務端23發(fā)送獲取公鑰信息列表的請求,服務端23發(fā)送公鑰信息列表至第一客戶端21。
[0153]其中,第二用戶是經(jīng)過第一用戶授權(quán),可以對服務端23上保存的第一用戶的數(shù)據(jù)密文進行下載的用戶。[0154]選擇哪些用戶作為第二用戶,以及選擇一個還是多個第二用戶可以由第一用戶根據(jù)實際需要進行確定。
[0155]可選的,使用所述至少一個第二用戶的公鑰加密所述目標密鑰的操作,也可以由與第一客戶端21匹配連接的第一用戶智能密鑰設(shè)備22完成。
[0156]所述服務端23,用于接收所述第一客戶端發(fā)送的所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表;并存儲所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表,接收所述第二客戶端24發(fā)送的所述第二用戶的數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求包括所述第二用戶的用戶信息,當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,所述服務端23將所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文發(fā)送給所述第二客戶端24 ;
[0157]具體的,所述用戶信息為用戶名和/或公鑰。
[0158]該用戶信息是用于唯一標識用戶的一種信息。不同的用戶具有的用戶信息互不相同。
[0159]在上述數(shù)據(jù)密文的授權(quán)列表中記錄的第二用戶是,經(jīng)過第一用戶授權(quán)后有權(quán)限對該數(shù)據(jù)密文進行下載的用戶。
[0160]通過將數(shù)據(jù)密文和該數(shù)據(jù)密文的授權(quán)列表上傳給服務端23,使得服務端23可以清楚獲知哪些用戶具有對該數(shù)據(jù)密文的操作權(quán)限。
[0161]需要說明的是,第一客戶端21可以根據(jù)實際應用的需要,針對不同的數(shù)據(jù)密文來生成包括不同第二用戶的授權(quán)列表,以方便對不同的數(shù)據(jù)密文有針對性地進行差異化授權(quán)。
[0162]例如,第一客戶端21需要上傳兩組數(shù)據(jù)明文:數(shù)據(jù)明文A和數(shù)據(jù)明文B,可以分別針對數(shù)據(jù)明文A和數(shù)據(jù)明文B生成各自的授權(quán)列表。數(shù)據(jù)明文A授權(quán)列表包括三個第二用戶的用戶信息和對應的目標密鑰密文,可以允許用戶甲、用戶乙和用戶丙下載;數(shù)據(jù)明文B授權(quán)列表包括四個用戶的用戶信息和對應的目標密鑰密文,可以允許用戶甲、用戶乙、用戶丁和用戶戊下載。
[0163]其中,第二客戶端24是指第二用戶進行數(shù)據(jù)上傳或者下載時所使用的客戶端。
[0164]第二用戶的用戶信息可以是第二用戶的用戶名和/或公鑰。
[0165]具體實現(xiàn)時,上述第一客戶端21和第二客戶端24可以是不同的物理客戶端,例如,用戶A(該用戶A相當于第一用戶)使用電腦A(相當于第一客戶端)進行數(shù)據(jù)上傳或者下載,用戶B (該用戶B相當于第二用戶)使用電腦B (相當于第二客戶端)進行數(shù)據(jù)上傳或者下載;
[0166]或者,該第一客戶端21和第二客戶端24也可以是相同的物理客戶端;例如,用戶A(該用戶A相當于第一用戶)使用電腦C(相當于第一客戶端)進行數(shù)據(jù)上傳或者下載,用戶B (該用戶B相當于第二用戶)使用電腦C (相當于第二客戶端)進行數(shù)據(jù)上傳或者下載。
[0167]具體的,服務端23根據(jù)第二用戶的用戶信息,判斷在請求獲取的數(shù)據(jù)密文的授權(quán)列表中是否存儲有第二用戶的用戶信息;
[0168]當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,則從該授權(quán)列表中獲取該第二用戶對應的目標密鑰密文,連同所述數(shù)據(jù)密文一起發(fā)送給第二客戶端24。[0169]從而可以保證位于授權(quán)列表中的第二用戶具有權(quán)限獲得第一用戶上傳的數(shù)據(jù)密文,沒有位于授權(quán)列表中的第二用戶不具有權(quán)限獲得第一用戶上傳的數(shù)據(jù)密文,進而保障了第一用戶在服務端23存儲的數(shù)據(jù)的安全性和私密性。
[0170]實際應用時,可選的,當請求獲取的數(shù)據(jù)密文的授權(quán)列表中沒有存儲所述第二用戶對應的用戶信息時,還可以向第二客戶端24發(fā)送數(shù)據(jù)獲取失敗或者沒有權(quán)限獲取數(shù)據(jù)的響應消息,以通知第二客戶端24數(shù)據(jù)獲取失敗,或者沒有權(quán)限獲取數(shù)據(jù)。
[0171]所述第二客戶端24,用于向所述服務端發(fā)送第二用戶的數(shù)據(jù)獲取請求,接收所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文;
[0172]所述第二用戶智能密鑰設(shè)備25,用于利用第二用戶的私鑰解密所述第二用戶對應的目標密鑰密文,得到所述目標密鑰。
[0173]所述第二客戶端,還用于使用所述目標密鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0174]在本實施例中,使用目標密鑰解密數(shù)據(jù)密文的操作,也可以由與第二客戶端24匹配連接的第二用戶智能密鑰設(shè)備25完成。
[0175]由于第二用戶對應的目標密鑰密文是使用第二用戶的公鑰進行的加密,因而只有第二用戶的私鑰可以對該第二用戶對應的目標密鑰密文進行解密。而第二用戶的私鑰保存在第二用戶的智能密鑰設(shè)備25中,具有無法被導出或者讀出的特點,進而保證了第二用戶對應的目標密鑰密文只能由第二用戶實現(xiàn)解密。這也意味著,即使其他任何用戶通過非法手段獲得了該第二用戶對應的目標密鑰密文,也會由于無法獲取第二用戶的私鑰,導致無法對該第二用戶對應的目標密鑰密文進行解密,進而也就無法利用目標密鑰對數(shù)據(jù)密文進行解密??梢?,使用第二用戶的公鑰加密得到的目標密鑰密文,可以保證該目標密鑰密文的安全性。
[0176]采用了本實施例提供的數(shù)據(jù)傳輸系統(tǒng),第一用戶通過第一客戶端21向服務端發(fā)送數(shù)據(jù)密文和該數(shù)據(jù)密文的授權(quán)列表,使得位于該授權(quán)列表中的第二用戶具有權(quán)限對該數(shù)據(jù)密文進行下載,沒有位于該授權(quán)列表中的用戶無法對該數(shù)據(jù)密文進行下載,進而保證第一用戶的數(shù)據(jù)的私密性和安全性;并且由于第一用戶的數(shù)據(jù)密文是使用目標密鑰加密的,而目標密鑰是使用第二用戶公鑰加密的,即使沒有位于該授權(quán)列表中的用戶通過非法手段獲得了第一用戶的數(shù)據(jù)密文,也會因為無法獲得第二用戶的私鑰對目標密鑰密文進行解密,導致無法獲得目標密鑰,進而無法對數(shù)據(jù)密文進行解密,可見,采用本實施例提供的方法保證了數(shù)據(jù)傳輸和數(shù)據(jù)存取的安全性。通過使用第一用戶的公鑰加密數(shù)據(jù),使得只有擁有第一用戶私鑰的第一用戶才能解密該數(shù)據(jù),保障了第一用戶數(shù)據(jù)的安全性。
[0177]另外,本實施例中,為進一步保障數(shù)據(jù)傳輸?shù)陌踩?,在所述第一客戶?1將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端23之前,本發(fā)明實施例提供的方法還可以包括服務端23對第一客戶端21進行身份認證的過程,具體實現(xiàn)如下:
[0178]所述第一客戶端21,還用于向所述服務端23發(fā)送第一用戶的認證請求消息;
[0179]所述服務端23,還用于利用服務端23私鑰加密第一隨機數(shù),得到第一隨機數(shù)密文,將所述第一隨機數(shù)密文發(fā)送給所述第一客戶端21 ;
[0180]所述第一用戶智能密鑰設(shè)備22,還用于利用所述服務端23的公鑰解密所述第一隨機數(shù)密文,得到第二隨機數(shù),并利用第一用戶的私鑰加密所述第二隨機數(shù),得到第二隨機數(shù)密文,將所述第二隨機數(shù)密文通過所述第一客戶端21發(fā)送給所述服務端23 ;
[0181]所述服務端23,還用于利用所述第一用戶的公鑰解密所述第二隨機數(shù)密文,得到第三隨機數(shù),當所述第一隨機數(shù)與和所述第三隨機數(shù)一致時,向所述第一客戶端21發(fā)送認證成功響應消息。
[0182]具體的,上述流程為如果第一用戶智能密鑰設(shè)備22擁有正確的服務端公鑰,可解密第一隨機數(shù)密文,得到正確的第二隨機數(shù),如果服務端23也擁有第一用戶智能密鑰設(shè)備22的公鑰,可解密第二隨機數(shù)密文,得到正確的第三隨機數(shù),如果第三隨機數(shù)與第一隨機數(shù)相同,進而通過服務端的身份驗證。
[0183]在本實施例中,服務端23也可以在將數(shù)據(jù)密文發(fā)送給第二客戶端24之前,采用上述身份認證流程實現(xiàn)對第二客戶端24的身份認證,第二客戶端24通過服務端的身份認證后,可以與服務端23進行進一步的數(shù)據(jù)交互,具體流程與第一客戶端21的身份認證流程相同,在此不再贅述。
[0184]通過執(zhí)行上述身份認證流程帶來的有益效果是:在第一用戶通過第一客戶端21向服務端23發(fā)送數(shù)據(jù)密文和數(shù)據(jù)密文的授權(quán)列表之前,通過上述身份認證流程,可以使得服務端23對第一用戶的身份合法性進行認證,也就是通過身份認證的第一用戶可以向服務端23上傳數(shù)據(jù),沒有通過身份認證的第一用戶,無法向服務端23執(zhí)行上傳數(shù)據(jù)的操作,進而可以避免非法身份用戶上傳異常數(shù)據(jù)到服務端23所帶來的數(shù)據(jù)存儲風險,保證合法身份用戶上傳的數(shù)據(jù)安全性;
[0185]相應地,在第二用戶通過第二客戶端24從服務端23下載數(shù)據(jù)之前,通過上述身份認證流程,可以使得服務端23對第二用戶的身份合法性進行認證,也就是通過身份認證的第二用戶可以接收到服務端23發(fā)送的數(shù)據(jù)密文等信息,沒有通過身份認證的第二用戶,無法接收服務端23發(fā)送的數(shù)據(jù)密文等信息,進而可以避免服務端23上的數(shù)據(jù)被非法用戶下載,保證服務端23上數(shù)據(jù)在下載時的安全性。
[0186]上述圖4所示的系統(tǒng)清楚記載了第一用戶上傳共享數(shù)據(jù)時,如何針對共享數(shù)據(jù)進行差異化授權(quán)下載的實現(xiàn)方案,下面,本實施例還提供一種當?shù)谝挥脩羯蟼鞣枪蚕頂?shù)據(jù),也就是第一用戶的非共享數(shù)據(jù)僅限于第一用戶進行下載操作,對除第一用戶之外的用戶不進行授權(quán)下載的實現(xiàn)方案,具體實現(xiàn)方案如下:
[0187]所述第一用戶智能密鑰設(shè)備22,還用于接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端23 ;
[0188]可選的,第一客戶端21在實現(xiàn)接收第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)密文,得到數(shù)據(jù)密文發(fā)送給所述服務端23,可以采用的一種實現(xiàn)方式為:第一客戶端21的顯示屏上可以提供一個人機交互界面,在該人機交互界面上設(shè)有可以實現(xiàn)“備份上傳”的按鈕,當用戶選中該“備份上傳”的按鈕時,將會產(chǎn)生第二觸發(fā)命令,即用戶選擇了需上傳數(shù)據(jù)并不共享給他人,僅用戶本人可下載。
[0189]需要說明的是,本實施例中第一客戶端21是指第一用戶進行數(shù)據(jù)上傳或者下載時所使用的客戶端,該第一客戶端21與第一用戶的智能密鑰設(shè)備22相連,該智能密鑰設(shè)備22可以為USB-Key,相連方式可以為使用USB接口、音頻接口或DOCK接口與第一客戶端直接連接,也可以通過無線的方式與第一客戶端21連接,其中無線的方式可以是射頻、紅外、藍牙或NFC等等;[0190]其中,數(shù)據(jù)明文是第一用戶需要上傳存儲的數(shù)據(jù);
[0191]第二觸發(fā)指令,可以用來實現(xiàn)將第一用戶需要上傳備份的數(shù)據(jù)(也就是數(shù)據(jù)明文)加密后上傳至服務端,并且加密后得到的數(shù)據(jù)密文僅限于第一用戶自己訪問下載,其他用戶無法進行訪問下載。
[0192]可選的,在實現(xiàn)使用第一公戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文這一操作時,也可以是第一客戶端21接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端23 ;與數(shù)據(jù)密文同時發(fā)送給服務端23的還可以包括第一用戶的用戶信息;
[0193]該用戶信息時用于唯一標識用戶的一種信息,不同的用戶具有的用戶信息互不相同。
[0194]進一步,第一用戶的用戶信息可以是第一用戶的用戶名和/或公鑰。
[0195]所述服務端23,還用于存儲所述數(shù)據(jù)密文,接收所述第一客戶端21發(fā)送的所述第一用戶的數(shù)據(jù)獲取請求,將所述數(shù)據(jù)密文發(fā)送給所述第一客戶端21 ;
[0196]在服務端23實現(xiàn)存儲所述數(shù)據(jù)密文這一功能時,服務端23還可存儲第一用戶的用戶信息;
[0197]即服務端23可存儲第一用戶的用戶名和/或公鑰。
[0198]在該實施例中,第一用戶的數(shù)據(jù)獲取請求中可以包括第一用戶的用戶信息。
[0199]進一步,第一用戶的數(shù)據(jù)獲取請求中可以包括第一用戶的用戶名和/或公鑰。
[0200]具體實現(xiàn)時,第一客戶端21可以是不同的物理客戶端,例如,用戶A(該用戶相當于第一用戶),使用電腦A (相當于第一客戶端21)進行數(shù)據(jù)上傳,用戶A在使用電腦B時,希望獲取已上傳的數(shù)據(jù)明文,即可使用電腦B進行數(shù)據(jù)下載,此時,由于電腦B也是用戶A在使用(即第一用戶在使用),所以電腦B相當于第一客戶端21。
[0201]在本實施例中,服務端23還可判斷數(shù)據(jù)獲取請求中的第一用戶的用戶信息是否與服務端23存儲的第一用戶的用戶信息相同,如果相同,則將數(shù)據(jù)密文發(fā)送給第一客戶端。如果不相同,不執(zhí)行將數(shù)據(jù)密文發(fā)送給第一客戶端21的操作。
[0202]所述第一客戶端21,還用于接收所述數(shù)據(jù)密文,利用所述第一用戶的私鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
[0203]本實施例中,在第一用戶通過第一客戶端21上傳非共享數(shù)據(jù)時,也即是第一用戶上傳的數(shù)據(jù)僅限于第一用戶進行下載,不允許其他用戶下載時,通過采用上述方法對數(shù)據(jù)進行加密上傳服務端23后,由于數(shù)據(jù)密文是采用第一用戶的公鑰進行的加密,只能通過第一用戶的私鑰進行解密,而第一用戶的私鑰保存在第一用戶的智能密鑰設(shè)備22,無法被導出,因而保證了第一用戶上傳的數(shù)據(jù)只能由第一用戶解密得到,其他用戶即使通過非法手段獲得了第一用戶的數(shù)據(jù)密文,也會因為無法得到第一用戶的私鑰導致無法解密第一用戶的數(shù)據(jù)密文。
[0204]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應被本發(fā)明的實施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。[0205]應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0206]本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0207]此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
[0208]上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0209]在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
[0210]盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
【權(quán)利要求】
1.一種數(shù)據(jù)傳輸方法,其特征在于,包括: 與第一客戶端匹配連接的第一用戶智能密鑰設(shè)備接收到第一觸發(fā)指令,隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文; 所述第一客戶端獲取至少一個第二用戶的公鑰,并使用所述至少一個第二用戶的公鑰加密所述目標密鑰,得到所述至少一個第二用戶對應的目標密鑰密文; 所述第一客戶端將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端,所述數(shù)據(jù)密文的授權(quán)列表包括所述至少一個第二用戶的用戶信息和對應的目標密鑰密文; 所述服務端存儲所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表; 所述服務端接收所述第二客戶端發(fā)送的所述第二用戶的數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求包括所述第二用戶的用戶信息; 當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,所述服務端將所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文發(fā)送給所述第二客戶端; 所述第二客戶端接收所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文; 與所述第二客戶端匹配連接的第二用戶智能密鑰設(shè)備利用第二用戶的私鑰解密所述第二用戶對應的目標密鑰密文,得到所述目標密鑰; 所述第二客戶端使用所述目標密鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 所述第一客戶端向所述服務`端發(fā)送第一用戶的認證請求消息; 所述服務端利用服務端私鑰加密第一隨機數(shù),得到第一隨機數(shù)密文,將所述第一隨機數(shù)密文發(fā)送給所述第一客戶端; 與所述第一客戶端匹配連接的所述第一用戶智能密鑰設(shè)備利用所述服務端的公鑰解密所述第一隨機數(shù)密文,得到第二隨機數(shù),并利用第一用戶的私鑰加密所述第二隨機數(shù),得到第二隨機數(shù)密文,將所述第二隨機數(shù)密文通過所述第一客戶端發(fā)送給所述服務端; 所述服務端利用所述第一用戶的公鑰解密所述第二隨機數(shù)密文,得到第三隨機數(shù),當所述第一隨機數(shù)與和所述第三隨機數(shù)一致時,向所述第一客戶端發(fā)送認證成功響應消息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 與所述第一客戶端匹配連接的所述第一用戶智能密鑰設(shè)備接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端; 所述服務端存儲所述數(shù)據(jù)密文; 所述服務端接收所述第一客戶端發(fā)送的所述第一用戶的數(shù)據(jù)獲取請求; 所述服務端將所述數(shù)據(jù)密文發(fā)送給所述第一客戶端; 所述第一客戶端接收所述數(shù)據(jù)密文,利用所述第一用戶的私鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中沒有存儲所述第二用戶對應的用戶信息時,所述服務端不執(zhí)行將所述數(shù)據(jù)密文發(fā)送給所述第二客戶端的操作。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述用戶信息為所述第二用戶的用戶名和/或所述第二用戶的公鑰。
6.一種數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括第一客戶端、第一用戶智能密鑰設(shè)備、服務端、第二客戶端、和第二用戶智能密鑰設(shè)備,其中, 所述第一用戶智能密鑰設(shè)備與所述第一客戶端匹配連接; 所述第二用戶智能密鑰設(shè)備與所述第二客戶端匹配連接; 所述第一用戶智能密鑰設(shè)備,用于接收第一觸發(fā)指令,隨機生成目標密鑰,并使用所述目標密鑰加密數(shù)據(jù)明文,得到數(shù)據(jù)密文; 所述第一客戶端,用于獲取至少一個第二用戶的公鑰,并使用所述至少一個第二用戶的公鑰加密所述目標密鑰,得到所述至少一個第二用戶對應的目標密鑰密文,將所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表發(fā)送給服務端,所述數(shù)據(jù)密文的授權(quán)列表包括所述至少一個第二用戶的用戶信息和對應的目標密鑰密文; 所述服務端,用于接收所述第一客戶端發(fā)送的所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表;并存儲所述數(shù)據(jù)密文和所述數(shù)據(jù)密文的授權(quán)列表,接收所述第二客戶端發(fā)送的所述第二用戶的數(shù)據(jù)獲取請求,所述數(shù)據(jù)獲取請求包括所述第二用戶的用戶信息,并當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中存儲有所述第二用戶的用戶信息時,將所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文發(fā)送給所述第二客戶端; 所述第二客戶端,用于向所述服務端發(fā)送第二用戶的數(shù)據(jù)獲取請求,并接收所述數(shù)據(jù)密文和所述第二用戶對應的目標密鑰密文; 所述第二用戶智能密鑰設(shè)備,用于利用第二用戶的私鑰解密所述第二用戶對應的目標密鑰密文,得到所述目標密鑰; 所述第二客戶端,還用于使用所述目標密鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述第一客戶端,還用于向所述服務端發(fā)送第一用戶的認證請求消息; 所述服務端,還用于利用服務端私鑰加密第一隨機數(shù),得到第一隨機數(shù)密文,將所述第一隨機數(shù)密文發(fā)送給所述第一客戶端; 所述第一用戶智能密鑰設(shè)備,還用于利用所述服務端的公鑰解密所述第一隨機數(shù)密文,得到第二隨機數(shù),并利用第一用戶的私鑰加密所述第二隨機數(shù),得到第二隨機數(shù)密文,將所述第二隨機數(shù)密文通過所述第一客戶端發(fā)送給所述服務端; 所述服務端,還用于利用所述第一用戶的公鑰解密所述第二隨機數(shù)密文,得到第三隨機數(shù),當所述第一隨機數(shù)與和所述第三隨機數(shù)一致時,向所述第一客戶端發(fā)送認證成功響應消息。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述第一用戶智能密鑰設(shè)備,還用于接收到第二觸發(fā)指令,利用所述第一用戶的公鑰加密所述數(shù)據(jù)明文,得到數(shù)據(jù)密文發(fā)送給所述服務端; 所述服務端,還用于存儲所述數(shù)據(jù)密文,接收所述第一客戶端發(fā)送的所述第一用戶的數(shù)據(jù)獲取請求,將所述數(shù)據(jù)密文發(fā)送給所述第一客戶端; 所述第一客戶端,還用于接收所述數(shù)據(jù)密文,利用所述第一用戶的私鑰解密所述數(shù)據(jù)密文,得到所述數(shù)據(jù)明文。
9.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述服務端,還用于當請求獲取的所述數(shù)據(jù)密文的授權(quán)列表中沒有存儲所述第二用戶對應的用戶信息時,不執(zhí)行將所述數(shù)據(jù)密文發(fā)送給所述第二客戶端的操作。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述用戶信息為所述第二用戶的用戶名和/或所述第二用戶的 公鑰。
【文檔編號】H04L29/06GK103701594SQ201410003431
【公開日】2014年4月2日 申請日期:2014年1月3日 優(yōu)先權(quán)日:2014年1月3日
【發(fā)明者】李東聲 申請人:天地融科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
报价| 墨江| 新乡县| 剑河县| 炎陵县| 龙门县| 台山市| 同仁县| 濮阳市| 咸丰县| 信阳市| 普兰店市| 双峰县| 亚东县| 稻城县| 沛县| 石家庄市| 黄龙县| 内江市| 安溪县| 滕州市| 长治市| 正安县| 崇文区| 渝北区| 淮滨县| 孟村| 鞍山市| 新干县| 县级市| 库伦旗| 赫章县| 三明市| 甘南县| 宁津县| 龙泉市| 迭部县| 大冶市| 娄烦县| 怀远县| 徐水县|