本發(fā)明的示范性實施例涉及控制媒體文件的分發(fā)的系統和方法。
背景技術:
例如智能手機、平板等的移動裝置,通常被用于拍攝圖片和視頻,將它們作為媒體文件存儲,并將存儲的媒體文件分發(fā)給其他人。因為移動裝置提供了相對容易的媒體文件的分發(fā)的方式,所以媒體文件可以超出預定接收者被分發(fā)。例如,如果鮑勃通過e-mail或即時消息與凱茜分享媒體文件,隨后凱茜可以將媒體文件簡單地轉發(fā)給任何她想要的人。鮑勃的控制媒體文件進一步分發(fā)的唯一方式是要求凱茜不要進一步分發(fā)。依賴對別人的信任來控制媒體文件的分發(fā)并不理想,因為即使鮑勃當前與凱茜具有非常強的關系,這種關系也可能改變,并且考慮到改變后的關系,他可能不相信她來控制媒體文件的分發(fā)。
技術實現要素:
本發(fā)明的示范性實施例涉及控制媒體文件的分發(fā)的系統和方法。根據本發(fā)明的示范性實施例,可以通過在媒體文件擁有者的移動裝置上執(zhí)行的應用程序加密媒體文件來控制媒體文件分發(fā)。利用媒體文件加密密鑰來加密媒體文件。隨后媒體文件加密密鑰利用每個預定接收者的公鑰被分別加密,并且加密的媒體文件加密密鑰被添加到加密的媒體文件。因此,只有預定接收者才具有允許加密的媒體文件加密密鑰的解密的互補私鑰,一旦被解密,加密的媒體文件加密密鑰可以被用于解密加密的媒體文件本身。
加密的媒體文件同樣可以包括具有分發(fā)限制的信息頭,分發(fā)限制控制加密的媒體文件是否可以被預定接收者再分發(fā)。如果分發(fā)限制允許再分發(fā),則預定接收者可以利用另外的預定接收者的公鑰來加密媒體文件加密密鑰,這樣另外的預定接收者可以使用它的私鑰來獲得媒體文件加密密鑰,然后媒體文件加密密鑰可以被用來解密加密的媒體文件。
通過利用預定接收者的公鑰來加密媒體文件加密密鑰并且和將分發(fā)限制與加密的媒體文件包含在一起,媒體文件的擁有者能夠對任何自己的媒體文件的分發(fā)程度具有更多控制。進一步,存儲密鑰的服務器上的負載減小,因為每個預定接收者能夠利用他們自己的私鑰來獲得媒體文件加密密鑰,這樣收件人沒有必要分別從服務器上獲得媒體文件加密密鑰。
附圖說明
圖1是示出根據本發(fā)明的示范性實施例的發(fā)送加密的媒體文件的方法的流程圖;
圖2是示出根據本發(fā)明的示范性系統的框圖;
圖3和4是根據本發(fā)明的示范性實施例的注冊的顯示的示意圖;
圖5和6是根據本發(fā)明的示范性實施例的分別選擇圖像和視頻的顯示的示意圖;
圖7是示出根據本發(fā)明的示范性實施例的加密媒體文件的方法的框圖;
圖8是根據本發(fā)明的示范性實施例的聯系人群組的顯示的示意圖;
圖9是根據本發(fā)明的示范性實施例的聯系人的顯示的示意圖;
圖10是根據本發(fā)明的示范性實施例的添加聯系人的顯示的示意圖;
圖11是根據本發(fā)明的示范性實施例的添加用于解密媒體文件的授權的顯示的示意圖;
圖12和13是根據本發(fā)明的示范性實施例的分別加密圖像和視頻的顯示的示意圖;
圖14和15是根據本發(fā)明的示范性實施例的控制媒體文件的分發(fā)的顯示的示意圖;
圖16是示出根據本發(fā)明的示范性實施例的接收加密的媒體文件的方法的流程圖;以及
圖17和18是根據本發(fā)明的示范性實施例的有水印的解密的媒體文件的顯示的示意圖。
具體實施方式
以下說明描述了通過移動裝置執(zhí)行的實現各種功能的應用程序。本領域技術人員將認識到,移動裝置典型地包括一個或多個處理器(例如,微處理器、現場可編程門陣列(FPGA)、專用集成電路(ASIC))和一個或多個存儲器,以執(zhí)行應用程序并實現應用程序所需的功能。因此,為了清楚,這種處理器和存儲器的操作的更多細節(jié)在下面的描述中省略。
圖1是示出根據本發(fā)明的示范性實施例的媒體文件的擁有者加密媒體文件和發(fā)送加密的媒體文件的方法的流程圖。如此處使用的,媒體文件的擁有者是進行媒體文件的初始加密的人。這樣,例如,在本發(fā)明的背景下,加密從其它地方獲得的無版權圖片或視頻的人仍然被認為是媒體文件擁有者,盡管那個人從版權角度不擁有該媒體文件。初始,本發(fā)明的應用程序被安裝在擁有者的移動裝置上(步驟105)。當應用程序第一次被執(zhí)行時,擁有者被提示在服務器上注冊,并且應用程序接收唯一的標識符,該唯一的標識符此處被稱為磁道地址(步驟110)。具體地,移動裝置顯示圖3所示的屏幕,該屏幕提示移動裝置的用戶提供e-mail地址和密碼。如圖2所示,該e-mail地址和密碼以注冊消息從移動裝置210-220被發(fā)送到服務器205。如果注冊成功,將磁道地址提供給移動裝置,并且移動裝置顯示圖4所示的屏幕,確認注冊成功并顯示分配的磁道地址。注冊處理同樣為擁有者生成公鑰和私鑰的互補對,公鑰被存儲在服務器205中,并且私鑰被存儲在注冊的用戶的移動裝置中。
一旦注冊完成并且獲得磁道地址,用戶可以使用應用程序來選擇媒體文件,其中媒體文件是圖片和視頻中的一個(步驟115)。允許移動裝置的用戶選擇圖片和視頻的示范性屏幕分別如圖5和6所示。如這些圖中所示,用戶可以選擇單個圖片或視頻,選擇全部圖片或視頻,不選擇一些圖片或視頻,添加圖片或視頻,以及取消這種操作。
然后用媒體文件加密密鑰對選定的媒體文件進行加密(步驟120)。例如,參照圖7,鮑勃已經選定媒體文件Original Flower.jpg,并且鮑勃的手機210上的應用程序利用密鑰Kaes_flower,使用AES256加密方法,來加密圖像Flower.jpg,以生成加密的圖片加密的Flower.jpg。被用于初始加密圖片的加密密鑰可以由移動裝置生成,或者移動裝置可以從服務器獲得被用于初始加密圖片的加密密鑰。應當認識到,任何類型的加密技術均可用于本發(fā)明。如在下面更詳細地描述的,媒體文件加密密鑰Kaes_flower利用每個預定接收者的公開加密密鑰被分別加密,并且被添加到媒體文件的末尾,這樣每個預定接收者可以利用接收者的私鑰來獲得媒體文件解密密鑰Kaes_flower。
隨后,移動裝置的用戶選擇媒體文件的一個或多個預定接收者(步驟125)。這種選擇可以利用圖8-11中示出的示范性屏幕來進行。具體地,圖8示出聯系人被組織為不同群組的屏幕,相應地,發(fā)送人可以選擇整個群組作為預定接收者,或者可以選擇群組以訪問群組內的一個或多個預定接收者。圖9示出聯系人沒有被分組的示范性屏幕。如圖9所示,每個聯系人包括聯系人姓名和磁道地址。相應地,在圖10中示出,如果聯系人當前沒有被存儲在應用程序的聯系人列表中,那么用戶可以通過輸入聯系人的名稱和磁道地址添加聯系人以及指定的群組(如果期望的話)。最后,圖11示出了將“家庭”群組中的聯系人以及在“朋友”群組中的特定聯系人作為預定接收者的選擇。
一旦一個或多個預定接收者被選定(步驟125),應用程序判斷公鑰是否在每個被選定的預定接收者的裝置中被本地存儲(步驟130)。例如,如果加密的媒體文件預先被發(fā)送到選定的預定接收者,那么公鑰被本地存儲。如果至少一個預定接收者的公鑰沒有被本地存儲(判定步驟130外的“否”路徑),那么從服務器獲取公鑰(步驟135)。具體地,再次參考圖7,假定鮑勃想要給凱茜發(fā)送加密的媒體文件,并且他的裝置還沒有包含凱茜的公鑰,鮑勃的手機210將給服務器205發(fā)送請求,該請求包括凱茜的磁道地址。隨后,服務器會將凱茜的公鑰提供給鮑勃的手機210。
如果預定接收者的公鑰已經被本地存儲在發(fā)送人的裝置內(判定步驟130外的“是”路徑)或者在從服務器獲得公鑰之后(步驟135),利用預定接收者的公鑰來加密媒體文件密鑰(步驟140)。例如,再次參考圖7,鮑勃的手機210上的應用程序利用凱茜的公鑰Kpub_cathy來加密媒體文件密鑰Kaes_flower,Kpub_cathy隨后被添加到加密的媒體文件的末尾。
一旦媒體文件密鑰被加密(步驟140),隨后生成信息頭,該信息頭包括加密數據并公布控制信息(此處指的是分發(fā)限制)(步驟145)。通過將鮑勃的公鑰Kpub_bob應用到媒體文件加密密鑰Kaes_flower來生成加密數據。由于鮑勃的手機210是唯一具有他的私鑰Kpri_bob的手機,因此只有鮑勃的手機210能夠解密信息頭Thead_flower中的加密信息。
分發(fā)限制可以指示是否允許預定接收者再分發(fā)加密的媒體文件。例如,參照圖12和13,發(fā)送人可以選擇加密的圖片(圖12)或者加密的視頻(圖13)并選擇“添加授權”以指示其他的接收者是否被授權。為了判斷當前的分發(fā)限制,發(fā)送人(或者任何接收者)可以選擇提供圖14中示出的屏幕的“信息”。圖14中的示范性屏幕利用磁道識別來識別媒體文件的擁有者、加密的媒體文件可以被再分發(fā)的次數(即,公布等級)和加密的媒體文件當前的分發(fā)等級(即,當前等級)。在圖14示出的實例中,公布等級“2”表示加密的媒體文件只有通過已經從媒體文件的擁有者接收到加密的媒體文件的接收者才可以被再分發(fā)。當前等級“1”表示加密的媒體文件還沒有被擁有者分發(fā)。如此,如下所述,假定這種再分發(fā)被允許,每個預定接收者的裝置上的應用程序在加密的媒體文件被再分發(fā)之前增加當前等級。
應用程序被設計為只有媒體文件擁有者能夠更改分發(fā)限制。通過需要移動裝置在允許分發(fā)限制的任何改變前,首先能夠解密在信息頭Thead_flower中的加密的Kaes_flower的應用程序,來實現這種控制。
如果媒體文件的擁有者想要通過選擇“添加授權”更改分發(fā)限制,那么圖15中示出的示范性屏幕被呈現給擁有者。如此,如果期望的話,媒體文件擁有者可以增加公布等級以允許加密的媒體文件的進一步分發(fā),在圖15中示出的實例中,分發(fā)將從公布等級1(只允許媒體文件擁有者分發(fā)并且不允許接收者的任何再分發(fā))被改為公布等級3(允許來自媒體文件擁有者的媒體文件的初始接收者的再分發(fā),以及接收到來自初始接收者的再分發(fā)的任何人的再分發(fā))。應當注意的是,盡管公布等級控制再分發(fā)的數目,但它不控制接收者的數目。因此,例如,如果凱茜從鮑勃(文件擁有者)那接收到包括公布等級2并且當前等級1的加密的媒體文件,那么凱茜可以再分發(fā)加密的媒體文件給單個另外的接收者或者多個另外的接收者。
最后,信息頭Thead_flower還包括Hmac消息,Hmac消息是利用分發(fā)限制生成的一種校驗并且允許裝置判斷對分發(fā)限制是否有任何不恰當的篡改。因此,如果鮑勃的手機210更改分發(fā)限制,那么應用程序同樣更改Hmac消息。
一旦生成信息頭(步驟145),擁有者將加密的媒體文件發(fā)送給預定接收者(步驟150)。這種發(fā)送功能可以被集成到應用程序中,或者可以通過分開的應用程序被實現,例如電子郵件或即時消息應用程序。發(fā)送功能同樣可以包括發(fā)布到網站,例如社交媒體網站,媒體文件共享網站,博客等。由于媒體文件被加密,網站可以被公開訪問,因為只有授權的接收者能夠以下述方式解密媒體文件。換句話說,盡管未被授權的接收者可以從其公布的網站下載加密的媒體文件,但是未被授權的接收者不能查看媒體文件,因為未被授權的接收者不能對其進行解密。
圖16是示出根據本發(fā)明的示范性實施例的接收加密的媒體文件的方法的流程圖。初始,接收者必須安裝應用程序(步驟1605)并且到服務器注冊以獲得磁道地址(步驟1610)。這些步驟可以在任何時候完成,但是必須在加密的媒體文件的發(fā)送前完成,因為否則發(fā)送人沒有磁道地址來處理加密的媒體文件。一旦用戶注冊并接收到磁道地址,用戶可以接收加密的媒體文件(步驟1615)。加密的媒體文件可以以任何方式被接收,包括作為e-mail的附件,在文本或聊天消息中,或從網站下載。
當加密的媒體文件已經被接收到(步驟1615),并且用戶想要查看加密的媒體文件時,用戶在他/她的移動裝置上啟動本發(fā)明的應用程序,利用應用程序選擇加密的媒體文件,應用程序利用接收者的私鑰嘗試解密位于加密的媒體文件的末尾的加密的媒體文件密鑰(步驟1620)。將認識到,特定人的公鑰和私鑰是互補密鑰,而且用特定人的公鑰加密意味著加密的媒體文件只能用特定人的私鑰解密。例如,再次參考圖7,凱茜的手機能夠從Tent_cathy獲得媒體文件加密密鑰,因為它是用凱茜的公鑰加密的,并且她的手機包括互補的私鑰。如果凱茜的手機215簡單地轉發(fā)由她的手機215接收到的相同的消息給大衛(wèi)的手機220,大衛(wèi)的手機220不能解密加密的媒體文件,因為大衛(wèi)的手機220沒有凱茜的私鑰,大衛(wèi)的手機220不能解密加密的媒體文件加密密鑰。
如果媒體文件密鑰不是用接收者的公鑰加密,那么解密嘗試不會成功(判定步驟1625外的“否”路徑)并且接收者被通知未被授權的解密嘗試(步驟1630)。應用程序同樣可以將不成功的解密嘗試通知給服務器并且服務器可以通知媒體文件擁有者。然而,如果媒體文件密鑰用接收者的公鑰加密,那么解密成功(判定步驟1625外的“是”路徑),并且加密的媒體文件使用媒體文件密鑰被解密并顯示在接收者的移動裝置上(步驟1635)。根據本發(fā)明的示范性實施例,顯示的媒體文件可以包括具有擁有者和接收者的磁道地址的水印,其實例在圖17中示出。
如果接收者決定將解密的媒體文件再分發(fā)給另外的接收者(步驟1640),那么接收者的移動裝置上的應用程序審查媒體文件中的分發(fā)限制,以判斷是否允許進一步分發(fā)(步驟1645)。如果分發(fā)限制指示不允許進一步分發(fā)(判定步驟1645外的“否”路徑),那么通知接收者媒體文件沒有擁有者的授權不能被進一步分發(fā)(步驟1650)。
然而,如果分發(fā)限制表明允許進一步分發(fā)(判定步驟1645外的“是”路徑),那么用另外的接收者的公鑰來加密媒體文件密鑰并將加密的媒體文件發(fā)送給另外的接收者(步驟1655)。例如,再次參考圖7,如果凱茜想要將媒體文件再分發(fā)給大衛(wèi),凱茜的手機215上的應用程序將大衛(wèi)的磁道地址提供給服務器205,服務器205隨后返回大衛(wèi)的公鑰Kpub_david。凱茜的手機215上的應用程序隨后獲取解密的媒體文件密鑰Kaes_flower并使用大衛(wèi)的公鑰Kpub_david對其加密,在媒體文件Tent_david的末尾添加加密的媒體文件密鑰,并將加密的媒體文件發(fā)送到大衛(wèi)的手機220。大衛(wèi)的手機220隨后利用大衛(wèi)的私鑰Kpri_david來解密媒體文件密鑰,使用解密的媒體文件密鑰Kaes_flower來解密加密的圖像,以及,如圖18所示,顯示的媒體文件包括擁有者鮑勃、第一預定接收者凱茜和大衛(wèi)的磁道地址的水印。
在接收者的移動裝置上,解密的媒體文件和解密的媒體文件密鑰只在本發(fā)明的應用程序中可訪問,其他的應用程序不可用。這樣確保接收者不能簡單地轉發(fā)解密的媒體文件,因為解密文件只對本應用程序可用,其防止未經授權的再分發(fā)。
應當認識到,上面結合圖7中示出的示范性的連續(xù)的分發(fā)情形描述了圖1和16的方法。應當認識到,媒體文件擁有者起初可以在加密的媒體文件的末尾包含許多加密的媒體文件加密密鑰,并隨后將其發(fā)送給多個初始預定接收者。類似地,對于分發(fā)限制允許的程度,預定接收者可以在加密的媒體文件的末尾包含許多加密的媒體文件加密密鑰并隨后將其發(fā)送給多個另外的預定接收者。
以上描述使用了稱為手機的移動裝置的實例。要認識的是,這僅僅是示范性的而且本發(fā)明可以采用任何類型的移動裝置,包括移動電話、平板、個人數字助理(PDAs)等等。
上述公開被闡述僅僅為了圖解發(fā)明而不是打算限制本發(fā)明。既然對公開的實施例進行的可以并入本發(fā)明的精神和物質的修改可以被本領域技術人員想到,本發(fā)明應當被解釋為包含其所附權利要求和其等效的范圍內的所有事物。