。其中,確認(rèn)單元310主要用于針對待發(fā)送的圖片,生成并輸出發(fā)送確認(rèn)請求,并檢測用戶針對發(fā)送確認(rèn)請求做出的發(fā)送確認(rèn)操作。標(biāo)記單元320與確認(rèn)單元310連接,主要用于在確認(rèn)單元310檢測到發(fā)送確認(rèn)操作的情況下,對圖片附加標(biāo)記。驗證單元330與標(biāo)記單元320連接,主要用于對圖片進行驗證。發(fā)送單元340與驗證單元330連接,主要用于在圖片通過了驗證的情況下,將圖片從終端設(shè)備上經(jīng)由網(wǎng)絡(luò)發(fā)送出去。
[0075]其中,待發(fā)送的圖片包括但不限于:利用終端設(shè)備內(nèi)置的攝像頭拍攝得到的照片,以及終端設(shè)備上所保存的通過其它途徑獲得的圖片。
[0076]此外,發(fā)送確認(rèn)請求主要用于請求用戶確認(rèn)是否同意發(fā)送所述圖片,而發(fā)送確認(rèn)操作是指用戶響應(yīng)于發(fā)送確認(rèn)請求在終端設(shè)備上以預(yù)定方式進行的操作。例如,發(fā)送確認(rèn)請求可以是,將待發(fā)送的圖片顯示在終端設(shè)備的顯示屏幕上,并彈出類似“請確認(rèn)是否發(fā)送該圖片”等的對話框,以提示用戶確認(rèn)是否同意將該圖片發(fā)送出去。假設(shè)用戶點擊了終端設(shè)備上的“確認(rèn)”按鍵,或者點擊了該對話框的“發(fā)送”按鈕,則確定用戶做出了發(fā)送確認(rèn)操作,即用戶同意將該圖片發(fā)送出去。
[0077]這樣,通過針對待發(fā)送的圖片生成并輸出發(fā)送確認(rèn)請求,并且僅在接收到用戶針對該發(fā)送確認(rèn)請求做出的表示同意發(fā)送的發(fā)送確認(rèn)操作的情況下才進行后續(xù)的圖片發(fā)送操作,包括對用戶同意發(fā)送的圖片附加標(biāo)記、基于所述標(biāo)記對所述圖片進行驗證、以及僅將通過了驗證的圖片從終端設(shè)備發(fā)送出去,根據(jù)本發(fā)明實施例的圖片發(fā)送裝置,能夠保證每一張從終端設(shè)備上發(fā)送出去的圖片都是用戶同意發(fā)送的,從而防止了被惡意程序偷拍或竊取的圖片從終端設(shè)備流出去,有效地保護了用戶的數(shù)據(jù)安全以及隱私不被侵犯。
[0078]在一種可能的實施方式中,根據(jù)本發(fā)明上述實施例的圖片發(fā)送裝置中的發(fā)送單元340可以包括剝離模塊和發(fā)送模塊。具言之,剝離模塊與驗證單元320連接,主要用于在圖片通過了驗證的情況下,將圖片上所附加的標(biāo)記剝離,以使得圖片接收方不需要進行額外地處理就能夠正常使用例如顯示該圖片。發(fā)送模塊與剝離模塊連接,主要用于將圖片從終端設(shè)備上經(jīng)由網(wǎng)絡(luò)發(fā)送出去。
[0079]實施例四
[0080]圖4示出根據(jù)本發(fā)明另一實施例的圖片發(fā)送裝置的框圖。圖4中與圖3標(biāo)號相同的組件具有相同的功能,為簡明起見,省略對這些組件的詳細說明。并且,如圖4所示,圖4所示裝置與圖3所示裝置的主要區(qū)別在于,標(biāo)記單元320還可以用于基于HMAC運算來附加標(biāo)記,驗證單元330還可以用于基于HMAC運算來對所述標(biāo)記進行驗證。
[0081]具言之,如圖4所示,標(biāo)記單元320可具體包括第一計算模塊411和附加模塊412。其中,第一計算模塊411與確認(rèn)單元310連接,主要用于在檢測到用戶針對發(fā)送確認(rèn)請求做出的發(fā)送確認(rèn)操作的情況下,使用圖片的屬性信息與預(yù)設(shè)的第一密鑰進行第一次HMAC運算。附加模塊412與第一計算模塊411和驗證單元330連接,主要用于將第一次HMAC運算的結(jié)果作為標(biāo)記附加在圖片上,并將圖片發(fā)送給驗證單元330。
[0082]此外,如圖4所示,驗證單元330可具體包括檢測模塊420、第二計算模塊431和驗證模塊432。其中,檢測模塊420與標(biāo)記單元320連接,主要用于檢測圖片是否附加有標(biāo)記。第二計算模塊431與檢測模塊420連接,主要用于在檢測到圖片附加有標(biāo)記的情況下,使用圖片的屬性信息與預(yù)設(shè)的第二密鑰進行第二次HMAC運算。驗證模塊432與第二計算模塊431和發(fā)送單元340連接,主要用于在第二次HMAC運算的結(jié)果與圖片上附加的標(biāo)記相同的情況下,確定圖片通過了驗證。其中,第二密鑰與第一密鑰相同但保持在所述終端設(shè)備的不同位置處。
[0083]其中,圖片的屬性信息包括但不限于以下屬性中的任意一個或多個:圖片的名稱、用戶針對圖片做出發(fā)送確認(rèn)操作的時間、圖片的大小以及圖片的生成日期。
[0084]在一種可能的實現(xiàn)方式中,第一計算模塊411還可以用于,使用Onclick和鉤子函數(shù)調(diào)用打標(biāo)記函數(shù)來進行第一次HMAC運算。具言之,在確定用戶針對所述發(fā)送確認(rèn)請求做出了發(fā)送確認(rèn)操作的情況下,調(diào)用Onclick函數(shù),此調(diào)用會陷入到鉤子函數(shù)中,就會調(diào)用終端設(shè)備中預(yù)先定義的打標(biāo)記API函數(shù),打標(biāo)記API函數(shù)使用圖片的屬性信息例如圖片的名稱picname以及圖片的生成日期entrytime作為隨機數(shù)與預(yù)設(shè)的第一密鑰進行第一次HMAC運算,可將得到的第一次HMAC運算的結(jié)果表示為HMACkl (picname I entrytime)。
[0085]在這種實現(xiàn)方式下,由于終端設(shè)備中預(yù)設(shè)的Onclick函數(shù)為僅在用戶在屏幕如觸摸屏或操作界面上進行了點擊操作才會實現(xiàn)調(diào)用的函數(shù),因此,如果待發(fā)送的圖片是經(jīng)用戶確認(rèn)同意發(fā)送的圖片,則終端設(shè)備會調(diào)用Onclick函數(shù),從而可對圖片附加標(biāo)記并繼續(xù)后續(xù)操作;如果待發(fā)送的圖片是惡意應(yīng)用程序通過偷拍或竊取的方式從終端設(shè)備上得到并且未經(jīng)用戶確認(rèn)同意發(fā)送的圖片,則終端設(shè)備無法調(diào)用Onclick函數(shù),也就無法對圖片附加標(biāo)記。
[0086]相應(yīng)地,第二計算模塊431還可以用于,使用與第一計算模塊411相似的方法,將圖片的屬性信息作為隨機數(shù)與預(yù)設(shè)的第二密鑰進行第二次HMAC運算,并且可將第二次HMAC運算的結(jié)果表示為HMACk2 (picname I entrytime)。驗證模塊432還可以用于,判斷第二次HMAC運算的結(jié)果HMACk2 (picname | | entrytime)與圖片上附加的標(biāo)記HMACkl (picname entrytime)是否相同,如果兩者相同,貝U判定該圖片通過了驗證并進入到發(fā)送單元340 ;如果兩者不相同,則判定該圖片未通過驗證并直接結(jié)束本次處理。
[0087]這樣,通過使用HMAC運算來附加標(biāo)記并進行驗證,由于HMAC所需的運算量非常小,根據(jù)本發(fā)明上述實施例的圖片發(fā)送方法不僅易于實現(xiàn),而且還不會增加太多設(shè)備負(fù)擔(dān)。
[0088]在一種可能的實現(xiàn)方式中,可以省略檢測模塊420,而將第二計算模塊431與標(biāo)記單元320直接連接。換言之,無論圖片是否附加有標(biāo)記都進行第二次HMAC運算。與包括了檢測模塊420的實現(xiàn)方式相比,這種實現(xiàn)方式可節(jié)省針對附加有標(biāo)記的圖片的判斷操作,雖然對于圖片未附加標(biāo)記的情況來說反而增加了一次HMAC運算。然而,考慮到圖片未附加標(biāo)記是由于惡意程序的偷拍或竊取行為導(dǎo)致的,出現(xiàn)的頻次可能遠沒有正當(dāng)?shù)膱D片發(fā)送行為高,加之HMAC運算量本身非常小,因此這種實現(xiàn)方式可進一步壓縮對設(shè)備負(fù)擔(dān)的增加。
[0089]實施例五
[0090]圖5示出根據(jù)本發(fā)明又一實施例的圖片發(fā)送裝置的框圖。所述圖片發(fā)送裝置可以是具備計算能力的主機服務(wù)器、個人計算機PC、或者可攜帶的便攜式計算機或終端等。本發(fā)明具體實施例并不對計算節(jié)點的具體實現(xiàn)做限定。
[0091]如圖5所示,所述圖片發(fā)送裝置1100包括處理器(processor) 1110、通信接口(Communicat1ns Interface) 1120、存儲器(memory array) 1130 和總線 1140。其中,處理器1110、通信接口 1120、以及存儲器1130通過總線1140完成相互間的通信。
[0092]通信接口 1120用于與網(wǎng)元通信,其中網(wǎng)元包括例如虛擬機管理中心、共享存儲等。
[0093]處理器1110用于執(zhí)行程序。處理器1110可能是一個中央處理器CPU,或者是專用集成電路ASIC(Applicat1n Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
[0094]存儲器1130用于存放程序和/或數(shù)據(jù)。存儲器1130可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1130也可以是存儲器陣列。存儲器1130還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。
[0095]在一種可能的實施方式中,上述程序可為包括計算機操作指令的程序代碼。所述程序具體可用于:
[0096]針對待發(fā)送的圖片,生成并輸出發(fā)送確認(rèn)請求;在檢測到用戶針對所述發(fā)送確認(rèn)請求做出的發(fā)送確認(rèn)操作的情況下,對圖片附加標(biāo)記;對圖片進行驗證;以及在圖片通過了驗證的情況下,將圖片從終端設(shè)備上經(jīng)由網(wǎng)絡(luò)發(fā)送出去,其中,發(fā)送確認(rèn)請求用于請求用戶確認(rèn)是否同意發(fā)送所述圖片,發(fā)送確認(rèn)操作是指用戶響應(yīng)于所述發(fā)送確認(rèn)請求在終端設(shè)備上以預(yù)定方式進行的操作。
[0097]根據(jù)本發(fā)明上述實施例的圖片發(fā)送裝置中的圖片發(fā)送機制,與以上針對根據(jù)本發(fā)明上述實施例的圖片發(fā)送裝置所解釋的類似,本領(lǐng)域技術(shù)人員應(yīng)能理解前述的可能的實現(xiàn)方式均可應(yīng)用于本實施例并能夠獲得相同的有益效果,在此不再贅述。
[0098]實施例六
[0099]根據(jù)