專利名稱:為特殊標(biāo)記的內(nèi)容鎖定應(yīng)用程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及用于限制應(yīng)用程序運行特定內(nèi)容的方法,更特別地,涉及通過使用OMA DRM技術(shù)為特殊標(biāo)記的內(nèi)容鎖定無線設(shè)備上的應(yīng)用程序的方法。
背景技術(shù):
OMA DRM是開放移動聯(lián)盟公布的數(shù)字版權(quán)管理標(biāo)準(zhǔn),并且供例如諾基亞移動終端的專有移動終端或無線設(shè)備使用,以保護(hù)該移動設(shè)備攜帶的各種類型的內(nèi)容,該內(nèi)容包括但不限于圖像、聲音文件、視頻以及本領(lǐng)域的技術(shù)人員熟知的其它內(nèi)容。在該標(biāo)準(zhǔn)中,用來定義內(nèi)容的消費規(guī)則的權(quán)利是由與該內(nèi)容關(guān)聯(lián)的權(quán)利對象定義的。該權(quán)利對象是用安全方式遞送到目的地的,并且在目的地安全地存儲。
OMA DRM標(biāo)準(zhǔn)允許三種內(nèi)容保護(hù)方法“轉(zhuǎn)發(fā)鎖定”,“組合遞送”和“分離遞送”?!稗D(zhuǎn)發(fā)鎖定”內(nèi)容保護(hù)方法提供基于文件的復(fù)制保護(hù),其防止從該移動設(shè)備轉(zhuǎn)發(fā)內(nèi)容?!敖M合遞送”內(nèi)容保護(hù)方法與“轉(zhuǎn)發(fā)鎖定”類似,但是通過使用權(quán)利對象可以為該內(nèi)容指定附加使用權(quán)利,例如“僅使用一次”?!胺蛛x遞送”內(nèi)容保護(hù)方法通過獨立于權(quán)利對象并以加密文件的方式遞送該內(nèi)容而提供附加安全性。
“分離遞送”內(nèi)容保護(hù)方法支持超級分發(fā),在超級分發(fā)中,可以由目的地分發(fā)DRM保護(hù)的內(nèi)容。例如,通過使用移動設(shè)備的瀏覽器,把DRM保護(hù)的內(nèi)容下載到移動設(shè)備上。DRM保護(hù)的內(nèi)容以加密形式存儲在移動設(shè)備的普通存儲器中。同時下載與DRM保護(hù)的內(nèi)容關(guān)聯(lián)的權(quán)利對象。權(quán)利對象存儲在該移動設(shè)備的存儲器的安全部分中,并且不會被該移動設(shè)備的用戶篡改。權(quán)利對象規(guī)定該內(nèi)容的消費規(guī)則,并且如果該內(nèi)容是經(jīng)過加密的,則權(quán)利對象還包括解密密鑰。
更具體地,OMA DRM管理如何使用內(nèi)容,并且允許內(nèi)容提供商、服務(wù)開發(fā)商、運營商和服務(wù)提供商開發(fā)新的終端用戶功能和新類型的移動內(nèi)容服務(wù)。換句話說,OMA DRM技術(shù)允許內(nèi)容提供商依照消費或使用了哪個特定內(nèi)容來制定規(guī)則。移動終端通常包括一個專有軟件組件,也稱為DRM代理,用于實施內(nèi)容提供商建立的使用規(guī)則。請讀者查閱有關(guān)文獻(xiàn)獲取OMA DRM技術(shù)的更詳細(xì)的說明。
現(xiàn)有技術(shù)通常把對DRM保護(hù)的內(nèi)容的訪問僅限于在制造移動設(shè)備時在存儲器中最初存儲的應(yīng)用程序,因為其后該應(yīng)用程序不會被修改或替換。顯然,如果該移動設(shè)備不能下載附加應(yīng)用程序,則該訪問只限于預(yù)先安裝的應(yīng)用程序,因此,在這種情況中,可以沒有“限制”,因為沒有下載的應(yīng)用程序?,F(xiàn)在,通過把應(yīng)用程序下載到移動設(shè)備上來修改或升級某些移動設(shè)備也是很普遍的,然而,在存在下載的應(yīng)用程序的這些情況中,限制了對DRM保護(hù)的內(nèi)容的訪問,這是因為設(shè)備制造商和內(nèi)容提供商必須確保新應(yīng)用程序不泄露DRM保護(hù)的內(nèi)容。
下載新應(yīng)用程序的一種方式是在MIDlet套件的范圍內(nèi),如Java 2Micro Edition(J2ME)的移動信息設(shè)備配置文件(MIDP)定義的MIDlet套件。MIDlet套件包括Java應(yīng)用程序描述符(JAD)文件和Java歸檔(JAR)文件。JAD文件包含有與JAR文件有關(guān)的信息。可執(zhí)行應(yīng)用程序駐留在JAR文件內(nèi)。MIDP為經(jīng)過證明的MIDlet套件提供安全性。MIDlet套件的發(fā)起人可以把JAR文件的數(shù)字簽名和數(shù)字證書放到JAD文件中。
RSA公鑰密碼系統(tǒng)使用通常稱為公鑰(PuK)和私鑰(PrK)的加密和解密密鑰匹配對。密鑰對的每個密鑰在數(shù)據(jù)上執(zhí)行單向變換。一個密鑰執(zhí)行的操作與另一個密鑰執(zhí)行的操作相反。PuK是其屬主能夠獲得的,而PrK是秘密的。私密消息是通過用接受者的PuK對其消息內(nèi)容進(jìn)行編碼而創(chuàng)建的。只能用接受者的PrK對經(jīng)過編碼的消息進(jìn)行解碼,因此,只有接受者能夠進(jìn)行解碼。
數(shù)字簽名是通過用PrK對公知或可推導(dǎo)的數(shù)據(jù)進(jìn)行編碼創(chuàng)建的。如果某人能夠用某個用戶的PuK成功譯出經(jīng)過編碼的數(shù)據(jù),則該數(shù)據(jù)必定最初是由該用戶編碼的。通常,通過使用PrK對消息內(nèi)容的HASH(雜亂信息)進(jìn)行編碼,把數(shù)字簽名綁定到該消息內(nèi)容。這意味著簽名隨每條消息變化。消息的接受者通過使用PuK對數(shù)字簽名進(jìn)行解密,然后比較經(jīng)過解密的數(shù)字簽名與該消息內(nèi)容的HASH。如果二者匹配,則該消息沒有被篡改,并且其來源被驗證。
然而,消息的接受者必須還要確認(rèn)他/她正在使用發(fā)送者的正確公鑰。公鑰通常是和帶有簽名的消息一起在數(shù)字證書中發(fā)送的。數(shù)字證書包含由信任第三方(TTP)簽名的公鑰PuK(可能還有其它信息)。數(shù)字證書包括發(fā)送者的公鑰PuK(可能還有其它信息)以及與使用TTP的PrK進(jìn)行編碼的公鑰的HASH相對應(yīng)的數(shù)字指紋(和其它信息,如果有的話)。數(shù)字指紋也稱為證書簽名,因為它是數(shù)據(jù)內(nèi)容的簽名,包括數(shù)字證書中的發(fā)送者的公鑰PuK。TTP的PuK是接受者熟知的。接受者可以使用TTP的PuK對該數(shù)字指紋進(jìn)行譯碼,然后將該結(jié)果與該數(shù)字證書中的PuK進(jìn)行比較。如果它們匹配,則TTP已經(jīng)驗證發(fā)送者的身份。這可以防止一個人偽裝成另一個人。例如,一個眾所周知的TTP是證書授權(quán)機(jī)構(gòu)VerisignTM。
當(dāng)發(fā)送含有簽名的消息時,包含有數(shù)字證書。該消息的接受者首先使用該數(shù)字證書驗證該證書中包含的該發(fā)起人的PuK是可信的,接著使用該PuK驗證該信息的簽名。這樣,只需要廣泛公布一個公鑰,即TTP的公鑰,因為人人都可以利用其消息傳送其數(shù)字證書。因此,數(shù)字證書把身份綁定到可以用來對數(shù)字信息進(jìn)行加密和簽名的公鑰/密鑰對的公鑰PuK上。
通常,不允許在MIDlet套件中接收的應(yīng)用程序訪問DRM保護(hù)的內(nèi)容,因為此類訪問將允許惡意應(yīng)用程序復(fù)制該內(nèi)容和/或分發(fā)該內(nèi)容,或允許非惡意應(yīng)用程序偶然違反安全性。這會阻止實現(xiàn)DRM保護(hù)。然而,某些可信的MIDlet套件,例如,由作為本發(fā)明之受讓人的諾基亞公司簽名的那些MIDlet套件,或諸如沃達(dá)豐(Vodafone)的運營商可以被允許訪問DRM保護(hù)的文件。
現(xiàn)有技術(shù)的OMA DRM使用規(guī)則是很有限的,并且通常允許內(nèi)容提供商僅僅指定給定內(nèi)容可以消費(播放、使用、執(zhí)行)的次數(shù)或指定給定內(nèi)容可以消費(播放、使用、執(zhí)行)的時間間隔或持續(xù)時間。現(xiàn)有技術(shù)的OMA DRM技術(shù)不允許內(nèi)容提供商建立內(nèi)容與在該移動終端上運行的消費應(yīng)用程序之間的鏈接。
因此,現(xiàn)有技術(shù)的一個問題是,不能鎖定或阻止例如音樂播放器的應(yīng)用程序打開和播放許多不同的內(nèi)容提供商創(chuàng)建的音樂文件,而不是將內(nèi)容提供商僅限于授權(quán)的或合格的內(nèi)容提供商?,F(xiàn)有解決方案試圖解決該問題,提出使用應(yīng)用程序級的加密或通過修改內(nèi)容對內(nèi)容進(jìn)行標(biāo)記以便允許消費該內(nèi)容。這種現(xiàn)有解決方案非常復(fù)雜、有限并且難以實現(xiàn),這是因為需要改變應(yīng)用程序和/或內(nèi)容本身。
與游戲行業(yè)使用的解決方案類似的其它現(xiàn)有解決方案依賴專用硬件/軟件組合,其中在諸如Microsoft X-Box、Sony Play Station和類似專用設(shè)備的專用硬件設(shè)備上運行的應(yīng)用程序?qū)⒂螒騼?nèi)容僅限制為特別授權(quán)在該游戲機(jī)而非另一不同的游戲機(jī)上播放的內(nèi)容。例如,Microsoft X-Box將僅播放為具有X-Box硬件可識別的適合授權(quán)標(biāo)準(zhǔn)的X-Box特制的內(nèi)容。換句話說,Microsoft X-Box僅能播放X-Box內(nèi)容而不能播放Sony Play Station內(nèi)容,反之亦然。這么做的連帶益處是,通過使游戲者只能玩授權(quán)的或許可的游戲,可以保護(hù)設(shè)備品牌的聲譽(yù)和信譽(yù)不會受到可能由廉價的、低質(zhì)量的游戲或非授權(quán)的游戲帶來的可能傷害,因為它們不能在該游戲機(jī)上播放。
專用硬件/軟件解決方案并不適合移動行業(yè),因為應(yīng)用程序需要在由許多不同制造商制造的移動設(shè)備上運行。另外,制造商在制造的時候并不知道可能使用的應(yīng)用程序,因此,在生產(chǎn)時不可能把特殊保護(hù)內(nèi)置到移動設(shè)備中。
轉(zhuǎn)讓給與本發(fā)明之受讓人相同之受讓人的、題目為“A Method andDevice for Determining Whether an Application Should Access DigitalContent”的專利申請PCT/IB04/002393提出了另一個現(xiàn)有技術(shù)的解決方案,其中使用OMA DRM以允許內(nèi)容決定允許哪些應(yīng)用程序,如音樂播放器,訪問和播放該內(nèi)容,亦即,內(nèi)容提供商定義哪些應(yīng)用程序可以打開該提供商的內(nèi)容。和在PCT/IB04/002393中提出的解決方案形成對照,本發(fā)明的做法正好相反,定義應(yīng)用程序提供商如何指定該應(yīng)用程序可以打開什么內(nèi)容。
因此,需要擴(kuò)展OMA DRM技術(shù),以鎖定給定應(yīng)用程序,從而僅能打開相應(yīng)的給定內(nèi)容提供商創(chuàng)建的文件,并且可以阻止該給定應(yīng)用程序打開另一個不同的內(nèi)容提供商創(chuàng)建的文件,而無需改變該應(yīng)用程序和/或該內(nèi)容本身。
本發(fā)明的目的是,鎖定在移動設(shè)備上運行的應(yīng)用程序,從而僅播放特殊標(biāo)記的內(nèi)容,或者如果該內(nèi)容沒有特殊地進(jìn)行標(biāo)記以與該應(yīng)用程序標(biāo)記相匹配,則完全不播放該內(nèi)容。
本發(fā)明的另一個目的是,擴(kuò)展OMA DRM技術(shù)以允許應(yīng)用程序決定它們將接受哪些內(nèi)容。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的主要方面,提供用于為特殊標(biāo)記的內(nèi)容鎖定在無線設(shè)備上運行的應(yīng)用程序的方法,其中該應(yīng)用程序是用特殊方式標(biāo)記的,以使該設(shè)備軟件處于以下狀態(tài),即,認(rèn)識到該應(yīng)用程序限于特定內(nèi)容。創(chuàng)建特定內(nèi)容并且用特殊方式進(jìn)行標(biāo)記,從而該設(shè)備軟件可以將特定部分內(nèi)容標(biāo)記與應(yīng)用程序標(biāo)記相匹配。保護(hù)該應(yīng)用程序和該部分內(nèi)容標(biāo)記,從而它們不會被刪除。在將該應(yīng)用程序和該特定部分內(nèi)容部署到該移動設(shè)備上之后,當(dāng)該應(yīng)用程序請求該特定部分內(nèi)容時,該設(shè)備軟件認(rèn)識到該應(yīng)用程序限于播放特定內(nèi)容,并且將所請求的特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記相比較。響應(yīng)于該應(yīng)用程序和該特定部分內(nèi)容標(biāo)記相匹配,允許該應(yīng)用程序訪問該特定部分內(nèi)容,并且響應(yīng)于該應(yīng)用程序和該特定部分內(nèi)容標(biāo)記不匹配,拒絕該應(yīng)用程序訪問該特定部分內(nèi)容。
根據(jù)本發(fā)明的另一方面,提供用來執(zhí)行為特殊標(biāo)記的內(nèi)容鎖定在無線設(shè)備上運行的應(yīng)用程序的方法的移動設(shè)備和計算機(jī)程序。
通過連同附圖一起閱讀優(yōu)選實施例的下述書面描述,本發(fā)明的其它目的、功能特征和優(yōu)勢將變得更加明顯,其中圖1是一個流程圖,表示用來執(zhí)行為特殊標(biāo)記的內(nèi)容鎖定應(yīng)用程序的本發(fā)明的方法的主要功能步驟;圖2是用來表示用JAVA應(yīng)用程序?qū)崿F(xiàn)本發(fā)明的方法的典型實施例的系統(tǒng)的框圖;圖3是一個流程圖,表示用在圖2所示的系統(tǒng)中說明的JAVA應(yīng)用程序執(zhí)行本發(fā)明的方法的主要功能步驟,其中鎖定的MIDlet請求OMA DRM保護(hù)的內(nèi)容;圖4是一個流程圖,表示用于鎖定制造商的MIDlet以僅讀取特定內(nèi)容的本發(fā)明的方法的另一個實施例中的主要功能步驟;圖5是一個流程圖,表示用于鎖定第三方MIDlet以僅讀取特定內(nèi)容的本發(fā)明的方法的又一個實施例中的主要功能步驟;以及圖6是包含有本發(fā)明的移動設(shè)備的功能框圖。
具體實施例方式
現(xiàn)在轉(zhuǎn)到附圖并且更詳細(xì)地考慮本發(fā)明,圖1說明通常標(biāo)示為10的流程圖,該圖表示用于執(zhí)行為打開僅特殊標(biāo)記的內(nèi)容而鎖定應(yīng)用程序的本發(fā)明的方法的主要功能步驟,并且是用用來執(zhí)行預(yù)期功能的任何適合技術(shù)實現(xiàn)的。本發(fā)明的基本概念是,可靠地標(biāo)記在移動設(shè)備或終端上運行的應(yīng)用程序以及希望供該移動設(shè)備上的應(yīng)用程序運行的部分內(nèi)容。修改移動設(shè)備的系統(tǒng)軟件和DRM代理,從而它們都可以進(jìn)行檢查以確定內(nèi)容的標(biāo)記和應(yīng)用程序的標(biāo)記是否匹配,并且如果標(biāo)記匹配(亦即,通過使用來自該證書的同一公鑰可以驗證兩個數(shù)字簽名),則允許該應(yīng)用程序訪問該部分內(nèi)容。
該方法在步驟12中開始,然后進(jìn)行到步驟14,在該步驟中,創(chuàng)建要在該移動設(shè)備上運行的應(yīng)用程序。接著,該方法進(jìn)行到步驟16,在該步驟中,采用特殊方式對該應(yīng)用程序作某種標(biāo)記,以使該移動設(shè)備軟件處于以下狀態(tài),在該移動設(shè)備上運行的該應(yīng)用程序限于與該應(yīng)用程序標(biāo)記匹配的用特殊方式標(biāo)記的內(nèi)容。在步驟18中對該應(yīng)用程序標(biāo)記進(jìn)行適當(dāng)保護(hù),從而它不會被刪除。接著,在步驟20中創(chuàng)建部分內(nèi)容,并且在步驟22中用特殊方式標(biāo)記該部分內(nèi)容,從而該移動設(shè)備軟件可以將該應(yīng)用程序標(biāo)記和該部分內(nèi)容標(biāo)記進(jìn)行匹配。在步驟24中對該部分內(nèi)容標(biāo)記進(jìn)行適當(dāng)保護(hù),從而它不會被刪除。應(yīng)該認(rèn)識到,創(chuàng)建該應(yīng)用程序和該部分內(nèi)容的順序不是決定性的,例如,該部分內(nèi)容可以是在該應(yīng)用程序之前而被創(chuàng)建的或相反,或者它們可以是同時創(chuàng)建的。接著,在步驟26中把該應(yīng)用程序部署到移動設(shè)備上,并且在步驟28中把該部分內(nèi)容部署到該移動設(shè)備上。把該應(yīng)用程序和該部分內(nèi)容部署到該移動設(shè)備上可以是用任何順序?qū)崿F(xiàn)的。接著,在步驟30中,該應(yīng)用程序請求該部分內(nèi)容?,F(xiàn)在,在步驟32中,該設(shè)備軟件認(rèn)識到該應(yīng)用程序僅限于打開指定的內(nèi)容。作為響應(yīng),該設(shè)備軟件在步驟34中檢查所請求的部分內(nèi)容是否是用與該應(yīng)用程序標(biāo)記相匹配的方式來標(biāo)記的。如果在步驟36中確定所請求的部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記相匹配,則在步驟38中允許該應(yīng)用程序訪問。如果在步驟36中確定所請求的部分內(nèi)容的標(biāo)記與該應(yīng)用程序標(biāo)記不匹配,則在步驟40中拒絕該應(yīng)用程序訪問。
通過創(chuàng)建私鑰/公鑰對,可以實現(xiàn)該方法。利用私鑰對需要進(jìn)行鎖定以僅使用特殊標(biāo)記的內(nèi)容的應(yīng)用程序進(jìn)行標(biāo)記和簽名。通常,僅僅對該應(yīng)用程序進(jìn)行簽名不足以達(dá)到預(yù)期目標(biāo);還必須用特殊方式做標(biāo)記。特殊標(biāo)記是必需的,以區(qū)分僅僅帶有簽名的應(yīng)用程序和為特定內(nèi)容鎖定的應(yīng)用程序。在本發(fā)明中,應(yīng)用程序的標(biāo)記與應(yīng)用程序的簽名同樣重要。通過采用任何適合的公知方式,把該應(yīng)用程序簽名連同包含公鑰的證書一起附加到該應(yīng)用程序中。根據(jù)OMA DRM規(guī)則準(zhǔn)備一部分內(nèi)容,并且使用與用來標(biāo)記該應(yīng)用程序的私鑰相同的私鑰進(jìn)行簽名,并且采用任何適合的公知方式把該簽名附加到權(quán)利對象中??蛇x地,根據(jù)OMA DRM規(guī)則準(zhǔn)備一部分內(nèi)容,并且使用與用來標(biāo)記該應(yīng)用程序的私鑰相同的私鑰對權(quán)利對象進(jìn)行簽名,并且將該簽名附加到該權(quán)利對象中。通過采用任何適合的公知方式把該應(yīng)用程序和該部分內(nèi)容部署到該移動設(shè)備上。當(dāng)在該移動設(shè)備上運行的應(yīng)用程序請求任一所需部分的DRM保護(hù)的內(nèi)容時,DRM代理進(jìn)行檢查以確定是否像在步驟14-18中描述的那樣對該應(yīng)用程序做了標(biāo)記和簽名。如果對該應(yīng)用程序進(jìn)行了簽名和標(biāo)記,則該DRM代理解釋為由該應(yīng)用程序打開的任何內(nèi)容必須進(jìn)行適當(dāng)?shù)暮灻?。因而,該DRM代理指示該應(yīng)用程序僅僅打開其DRM內(nèi)容簽名與該應(yīng)用程序私鑰簽名相匹配(亦即,通過使用來自該證書的同一公鑰可以驗證兩個簽名)的內(nèi)容。該DRM代理確認(rèn)所請求的內(nèi)容的權(quán)利對象是以用來對該應(yīng)用程序進(jìn)行標(biāo)記和簽名的同一私鑰進(jìn)行簽名的。該DRM代理可以訪問附加到該應(yīng)用程序中的證書中的公鑰,并且檢查通過使用該公鑰進(jìn)行適當(dāng)標(biāo)記的內(nèi)容的存在。接著,在該移動設(shè)備上運行的應(yīng)用程序訪問并打開所請求的DRM保護(hù)的內(nèi)容文件。必要的是,OMA DRM保護(hù)的內(nèi)容的任何標(biāo)記都是通過該權(quán)利對象完成的,以確保該標(biāo)記是安全的并且不會被刪除。因此,可以看到,本發(fā)明的方法確保用特殊的安全的方式標(biāo)記的應(yīng)用程序僅能訪問同樣用特殊的安全的匹配方式標(biāo)記的部分內(nèi)容。同時,可以認(rèn)識和理解,公鑰/密鑰對的使用和操作是眾所周知的,并且在本領(lǐng)域中是可以理解的。讀者請參閱有關(guān)文獻(xiàn)、教科書以及其它公知和可用的原始資料,以獲得私鑰/公鑰操作和應(yīng)用的附加信息和解釋。
現(xiàn)在轉(zhuǎn)到圖2和3,本發(fā)明是用JAVA應(yīng)用程序示例舉例說明的,以便更全面地領(lǐng)會和理解在用戶環(huán)境中的功能特征和益處。例如,假設(shè)內(nèi)容提供商決定開放音樂服務(wù)并且作為該服務(wù)的一部分,該提供商創(chuàng)建、購買或用其它方式使能夠提供獨特用戶體驗的復(fù)雜音樂播放器是可得的。該音樂播放器是用Java應(yīng)用程序的方式實現(xiàn)的。在該技術(shù)領(lǐng)域中,用于移動設(shè)備的Java應(yīng)用程序通常稱為MIDlet,指示該應(yīng)用程序在移動設(shè)備上運行。另外,假設(shè)為了刺激用戶簽約該音樂服務(wù),該內(nèi)容提供商可以免費或以較低的費用向預(yù)訂該內(nèi)容提供商提供的音樂服務(wù)的用戶提供該音樂播放器。顯然,該內(nèi)容提供商是為了賺錢,并且希望保護(hù)其在該音樂服務(wù)和該音樂播放器方面的投資。該內(nèi)容提供商的興趣在于,確信用于該音樂播放器的所有音樂均來自他/她的音樂服務(wù),而不是來自其它音樂來源或非授權(quán)的提供商。換句話說,由該內(nèi)容提供商提供的復(fù)雜音樂播放器將僅僅播放來自該內(nèi)容提供商服務(wù)的音樂,而不播放來自其它服務(wù)的音樂,除非該服務(wù)是授權(quán)的。
該內(nèi)容提供商通過在清單50(亦即,在Java歸檔文件(JAR)文件54)中放置特殊屬性來實現(xiàn)規(guī)定的目標(biāo)和目的,因此,該應(yīng)用程序是用特殊方式標(biāo)記的。該屬性(一個或多個)將通知該移動設(shè)備的Java應(yīng)用程序管理器(JAM)僅僅允許該應(yīng)用程序打開僅特殊標(biāo)記的OMADRM保護(hù)的文件。同時,該內(nèi)容提供商創(chuàng)建私鑰/密鑰對,并使用密鑰52對JAR文件54進(jìn)行簽名。JAR文件簽名58連同包含有公鑰62的證書60被放置到MIDlet套件的Java應(yīng)用程序描述符(JAD)文件64中。該JAD文件是用于Java MIDP中的簽名證書的定義位置。通過使用其它方法,如OMA DRM保護(hù)方法,可以強(qiáng)化非授權(quán)刪除清單50中的特殊屬性的努力。現(xiàn)在,用戶采用公知的方式通過空中(OTA)下載該播放器。在該OTA下載中,通過使用OMA DRM“分離遞送”方法可以保護(hù)該音樂播放器本身,其中OMA DRM遞送方法確保該JAR文件不被篡改。通過使用雜亂信息70對音樂文件本身進(jìn)行簽名,或者通過用該內(nèi)容提供商創(chuàng)建的私鑰52對音樂文件OMADRM權(quán)利對象68進(jìn)行簽名使得該服務(wù)提供商或運營商采用特殊方法標(biāo)記所有音樂文件(亦即,該服務(wù)中的內(nèi)容66)。接著,該音樂服務(wù)的用戶或訂戶通過使用任何適合方法從服務(wù)提供商或運營商向音樂播放器下載一個或多個音樂文件。
仍然參照圖2,并且特別地參照圖3所示的流程圖,用戶啟動音樂播放器,并且在步驟80中,MIDlet請求DRM保護(hù)的文件。在步驟82中,JAM檢測或注意到該JAR文件中的清單屬性,并且在步驟84中,限制該音樂播放器僅能打開特殊標(biāo)記的DRM保護(hù)的文件。該JAR文件中的清單屬性的檢測可選地可以是在將該MIDlet下載到該移動設(shè)備上之后發(fā)生的或者是在啟動該MIDlet時發(fā)生的。在步驟86中,該DRM代理注意到該文件的權(quán)利對象是用特殊方式標(biāo)記的(亦即,簽名的)。在步驟88中,JAM檢查該JAR文件簽名以確定它是否被適當(dāng)?shù)睾灻⑶彝ㄟ^使用證書60中的公鑰驗證該簽名。同時,該DRM代理進(jìn)行檢查以確定該權(quán)利對象簽名是否是正確的并且通過使用證書60中的公鑰驗證該簽名。在步驟92中,該MIDlet讀取并訪問DRM保護(hù)的內(nèi)容,以便該音樂播放器播放。如果該文件的權(quán)利對象沒有被適當(dāng)?shù)睾灻⑶遗cJAR簽名不匹配(亦即,通過使用來自該證書的同一公鑰不能驗證兩個簽名),則該文件內(nèi)容不是用特殊方式標(biāo)記的,因此該音樂播放器不能訪問,從而可以防止用戶從不同于該內(nèi)容提供商的來源獲取音樂。
在本發(fā)明的另一個示例中,提供了僅能讀取用特定密鑰簽名的內(nèi)容的制造商的MIDlet(由該制造商的簽注的MIDlet)?,F(xiàn)在參照圖4所示的流程圖,本發(fā)明的方法在步驟102中啟動,在該步驟中,制造商創(chuàng)建MIDlet。在步驟104中,在該清單中添加一個標(biāo)志,該標(biāo)志意味著隸屬于制造商的MIDlet僅能讀取特定內(nèi)容,亦即,用特殊方式標(biāo)記的內(nèi)容。接著,在步驟106中,創(chuàng)建基于新的密鑰對的證書(證書A),并且在步驟108中,將該證書添加到該清單中??蛇x地,該證書的添加可以是步驟104中的標(biāo)志。在步驟110中,利用與該證書相對應(yīng)的制造商的私鑰對該隸屬于制造商創(chuàng)建的MIDlet進(jìn)行簽名。在步驟112中創(chuàng)建內(nèi)容,并且在步驟114中,利用與證書A相對應(yīng)的私鑰對該內(nèi)容進(jìn)行簽名。在步驟116中,將該簽名添加到權(quán)利對象中。
然而,在本例中,第三方仍能篡改該應(yīng)用程序,但不能用該制造商的密鑰再次對被篡改的副本進(jìn)行簽名。此外,由于欺詐或被篡改的副本是沒有制造商簽名的MIDlet,所以在該設(shè)備中,它們是作為不可信的(沒有特權(quán)的)應(yīng)用程序來執(zhí)行的,因此,拒絕它們訪問內(nèi)容(受DRM保護(hù)的或不受DRM保護(hù)的內(nèi)容)。為了防止某些人篡改該MIDlet并僅與不受保護(hù)的內(nèi)容一起使用該MIDlet,可以使用OMADRM“轉(zhuǎn)發(fā)鎖定/組合遞送”或“分離遞送”來保護(hù)該應(yīng)用程序。
OMA DRM保護(hù)仍然只能為防止第三方的篡改設(shè)置有限的障礙。有足夠時間和資源的有決心的黑客仍能闖入OMA DRM并獲取MIDlet資源,然而,黑客不能創(chuàng)建將同時讀取受DRM保護(hù)的內(nèi)容和不受DRM保護(hù)的內(nèi)容的MIDlet,因為他沒有該制造商的私鑰。盡管黑客仍能夠破解該MIDlet,修改并重新分發(fā)它,就好像該MIDlet是他自己的一樣,但是經(jīng)過修改的MIDlet不再擁有簽名,因此,是以不可信的應(yīng)用程序的方式執(zhí)行的,導(dǎo)致它無權(quán)播放任何內(nèi)容,不管是受保護(hù)的內(nèi)容還是不受保護(hù)的內(nèi)容。因此,盡管專做壞事的專家能夠破解該MIDlet,但是被破解的MIDlet具有非常低的價值,因此黑客不會花費時間來破解該MIDlet,并且用戶也不會費心想安裝任何被破解的MIDlet,因為該MIDlet是無用的。
總之,即使堅毅的黑客也不能創(chuàng)建用于合法的(未被破解的)隸屬的MIDlet的內(nèi)容,因為在缺少私鑰的情況下他不能對內(nèi)容進(jìn)行簽名并且該私鑰絕不離開該MIDlet/內(nèi)容屬主的辦公室內(nèi)的上鎖的保險箱。黑客能夠獲取權(quán)利對象并且他能夠從中獲取簽名,但是他不能把該簽名放到任何其它內(nèi)容上,因為該內(nèi)容不會生效(亦即,應(yīng)用程序標(biāo)記與內(nèi)容標(biāo)記不匹配)。合法的MIDlet不能讀取非法內(nèi)容。
用于按上述方式鎖定制造商的MIDlet的方法也可以用來獲得類似結(jié)果,其中擁有特權(quán)的運營商創(chuàng)建MIDlet或?qū)IDlet進(jìn)行簽名,該MIDlet僅能讀取用特定密鑰簽名的內(nèi)容。如上所述,該私鑰是不能依據(jù)任何已知信息確定的,因此,不能創(chuàng)建用于隸屬于擁有特權(quán)的運營商的MIDlet的非授權(quán)內(nèi)容。
在本發(fā)明的另一個示例中,參照圖5說明僅能讀取用特定密鑰簽名的內(nèi)容的第三方MIDlet,在步驟132中開始于第三方創(chuàng)建一個MIDlet。在步驟134中,在清單中添加一個標(biāo)志,該標(biāo)志意味著隸屬的第三方MIDlet只能讀取特殊標(biāo)記的內(nèi)容。接著,在步驟136中,創(chuàng)建兩個證書,證書A和證書B,并且在步驟138中,把證書A添加到該清單中。可選地,證書A的添加可以是步驟134中的標(biāo)志。在步驟140中,利用證書B對隸屬的第三方MIDlet進(jìn)行簽名,并且在步驟142中,把證書B和簽名添加到JAD文件中。在步驟144中,創(chuàng)建內(nèi)容,并且在步驟146中,用證書A對該內(nèi)容進(jìn)行簽名。在步驟148中,把該簽名添加到權(quán)利對象中。最后,在步驟150中,把指紋或?qū)ψC書B的其它適合引用添加到該權(quán)利對象中,例如,依照專利申請PCT/IB04/002393中指定的規(guī)則,通過引用將其公開引入這里。
在本例中,其結(jié)果是,該平臺不允許除用證書B簽名的應(yīng)用程序之外的應(yīng)用程序播放的內(nèi)容,以及僅能播放用證書A簽名的內(nèi)容的應(yīng)用程序。此外,證書A和證書B可以是同一個證書,但是不要求它們必須相同。隸屬的第三方MIDlet不受保護(hù),并且可以被破解,然而,不允許任何被破解的MIDlet讀取以原始第三方MIDlet為目標(biāo)的DRM內(nèi)容,因為該MIDlet不再是用證書B簽名的。同時,如上所述,為了保護(hù)該MIDlet,可以使用OMA DRM來加密和分發(fā)該應(yīng)用程序。總之,合法的MIDlet不能讀取非法內(nèi)容。
應(yīng)該懂得,本發(fā)明的重要方面在于,該MIDlet包含該證書的標(biāo)記或必定是用來對該內(nèi)容進(jìn)行簽名的密鑰,并且該內(nèi)容簽名必定如上述那樣來定位以便該平臺進(jìn)行驗證。
同樣,關(guān)于擁有特權(quán)的運營商或帶有簽名的第三方MIDlet,證書A或公鑰以及該內(nèi)容的簽名必定如上述那樣來定位。應(yīng)該懂得,本發(fā)明的重要方面在于,所有MIDlet需要包含對該證書或公鑰(如指紋)的引用。
盡管上面連同音樂播放器示例一起描述了本發(fā)明,但是本發(fā)明適用于其它特定內(nèi)容,例如但不限于,視頻、電影、語音和動畫。
現(xiàn)在轉(zhuǎn)到圖6,該圖說明包含有為特殊標(biāo)記的內(nèi)容鎖定應(yīng)用程序的本發(fā)明的移動設(shè)備的功能框圖,并且通常標(biāo)識為160。移動設(shè)備160包括,通常標(biāo)識為162的設(shè)備控制單元,并且可以是微處理器,數(shù)字信號處理器,顯示驅(qū)動器或同時包含用于執(zhí)行該控制功能以及其它預(yù)期和所需功能的硬件和軟件的其它裝置,并且可以包含用于存儲各有關(guān)計算機(jī)程序以執(zhí)行該移動設(shè)備之意圖的控制功能的適合存儲器,由于這些部件是本領(lǐng)域的技術(shù)人員熟知的,所以此處不再贅述。正如圖6所示,移動設(shè)備160包括存儲器164,存儲器164在設(shè)備控制單元162的外部,并且可以是該設(shè)備控制單元內(nèi)配備的任何存儲器的補(bǔ)充。用戶借助于按鍵或其它有效刺激手動操作設(shè)備控制單元162,以提供設(shè)備功能166輸入。該設(shè)備功能信號被連接到設(shè)備控制單元162。設(shè)備控制單元162向通常標(biāo)識為168的顯示器提供輸出信號,以控制文本、圖形或與正在執(zhí)行的特定功能相對應(yīng)的其它標(biāo)志。設(shè)備功能166可以選擇地包括音量控制功能,該功能是借助于諸如數(shù)字鍵盤170上的有關(guān)按鍵排列的一個或多個按鍵實現(xiàn)的,用于調(diào)整例如來自揚聲器172的音樂的音量。移動設(shè)備160還包括發(fā)射/接收單元174,該單元與設(shè)備控制單元162相連,用于發(fā)送和接收無線信號,由于這是本領(lǐng)域的技術(shù)人員熟知的,所以此處不再贅述。
本發(fā)明還包括存儲介質(zhì)上攜帶的可以由移動設(shè)備中的處理器執(zhí)行的用于鎖定在移動設(shè)備上運行的應(yīng)用程序以播放特定內(nèi)容的計算機(jī)程序,并且包括適合的程序代碼,用于用特殊方式標(biāo)記該應(yīng)用程序以使該設(shè)備軟件處于以下狀態(tài),該應(yīng)用程序限于特定內(nèi)容,并且用于用特殊方式標(biāo)記特定內(nèi)容,從而該設(shè)備可以將該特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記相匹配。提供適合的程序代碼,以便采用公知的方式把該應(yīng)用程序和該特定部分內(nèi)容部署到該移動設(shè)備上。響應(yīng)于與該特定部分內(nèi)容關(guān)聯(lián)的應(yīng)用程序,該設(shè)備軟件認(rèn)識到該應(yīng)用程序限于播放特定內(nèi)容,進(jìn)而使得對所請求的特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記進(jìn)行比較。同時包括以下程序代碼,用于響應(yīng)于該應(yīng)用程序標(biāo)記與該特定部分內(nèi)容標(biāo)記的匹配,允許該應(yīng)用程序訪問該特定部分內(nèi)容,以及用于響應(yīng)于該應(yīng)用程序標(biāo)記與該特定部分內(nèi)容標(biāo)記不匹配,拒絕該應(yīng)用程序訪問該特定部分內(nèi)容。本領(lǐng)域的熟練技術(shù)人員知道,該計算機(jī)程序是通用的,并且可以采用本領(lǐng)域的技術(shù)人員熟知的多種方式,依照上面描述的本發(fā)明的方法實現(xiàn)該計算機(jī)程序。
上面舉例描述了本發(fā)明,其中采用新方式把簽名添加到權(quán)利對象中,以便為特殊標(biāo)記的內(nèi)容鎖定在移動設(shè)備上運行的特殊標(biāo)記的應(yīng)用程序。本領(lǐng)域的熟練技術(shù)人員可以做出各種變更和修改而并不背離本發(fā)明的方法的廣泛方面,因此,本發(fā)明是用示例方式而非限制方式描述的。
權(quán)利要求
1.一種方法,包括步驟創(chuàng)建要在移動設(shè)備上運行的應(yīng)用程序;以及鎖定該應(yīng)用程序以播放特定內(nèi)容。
2.如權(quán)利要求1所述的方法,還包括步驟用特殊方式標(biāo)記該應(yīng)用程序,以使該設(shè)備軟件處于以下狀態(tài),該應(yīng)用程序限于特定內(nèi)容;以及保護(hù)該應(yīng)用程序標(biāo)記,以使它不被刪除。
3.如權(quán)利要求2所述的方法,還包括步驟創(chuàng)建特定部分內(nèi)容;用特殊方式標(biāo)記該特定部分內(nèi)容,從而該設(shè)備軟件可以將該特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記相匹配;以及保護(hù)該部分內(nèi)容標(biāo)記,以使它不被刪除。
4.如權(quán)利要求2所述的方法,還包括步驟,將該應(yīng)用程序部署到該移動設(shè)備上。
5.如權(quán)利要求3所述的方法,還包括步驟,將該特定部分內(nèi)容部署到該移動設(shè)備上。
6.如權(quán)利要求5所述的方法,還包括步驟,該應(yīng)用程序請求該特定部分內(nèi)容。
7.如權(quán)利要求6所述的方法,還包括步驟,該設(shè)備軟件認(rèn)識到該應(yīng)用程序限于播放特定內(nèi)容。
8.如權(quán)利要求7所述的方法,還包括步驟將所請求的特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記進(jìn)行比較。
9.如權(quán)利要求8所述的方法,還包括步驟,響應(yīng)于該應(yīng)用程序與該特定部分內(nèi)容標(biāo)記相匹配,允許該應(yīng)用程序訪問該特定部分內(nèi)容。
10.如權(quán)利要求8所述的方法,還包括步驟,響應(yīng)于該應(yīng)用程序與該特定部分內(nèi)容標(biāo)記不匹配,拒絕該應(yīng)用程序訪問該特定部分內(nèi)容。
11.如權(quán)利要求2所述的方法,還包括步驟創(chuàng)建包括公鑰和私鑰的密鑰對;標(biāo)記要用該私鑰鎖定的應(yīng)用程序;利用該私鑰對該應(yīng)用程序進(jìn)行簽名;以及將該應(yīng)用程序簽名和包含有該公鑰的證書附加到該應(yīng)用程序中。
12.如權(quán)利要求3所述的方法,還包括步驟依據(jù)OMA DRM規(guī)則準(zhǔn)備部分內(nèi)容;通過使用與用來標(biāo)記該應(yīng)用程序的私鑰相同的私鑰,對與該DRM保護(hù)的部分內(nèi)容關(guān)聯(lián)的權(quán)利對象進(jìn)行簽名。
13.如權(quán)利要求6所述的方法,其中在該移動設(shè)備上運行的該應(yīng)用程序請求所需部分內(nèi)容的步驟還包括,請求DRM保護(hù)的內(nèi)容。
14.如權(quán)利要求8所述的方法,其中該比較步驟還包括由在該移動設(shè)備上運行的DRM代理檢查該應(yīng)用程序是否適當(dāng)?shù)刈隽藰?biāo)記,是否用該私鑰做過簽名,并且作為響應(yīng),要求所有內(nèi)容權(quán)利對象具有內(nèi)容簽名或權(quán)利對象簽名,該內(nèi)容簽名或權(quán)利對象簽名是用與用來標(biāo)記在該移動設(shè)備上運行的該應(yīng)用程序所用的私鑰相同的私鑰創(chuàng)建的。
15.如權(quán)利要求9所述的方法,還包括步驟,響應(yīng)于該DRM代理確定該應(yīng)用程序和所請求的所需部分的DRM保護(hù)的內(nèi)容具有相應(yīng)的匹配應(yīng)用程序簽名和內(nèi)容簽名標(biāo)記,該應(yīng)用程序訪問所需部分的DRM保護(hù)的內(nèi)容。
16.一種用于鎖定在移動設(shè)備上運行的應(yīng)用程序的方法,包括步驟創(chuàng)建MIDlet;在該MIDlet的清單中添加標(biāo)志,以指示該MIDlet必須僅讀取特定內(nèi)容;創(chuàng)建證書A;把該證書A添加到該MIDlet的該清單中;利用設(shè)備制造商的證書對該MIDlet進(jìn)行簽名;根據(jù)OMA DRM規(guī)則創(chuàng)建內(nèi)容;利用該證書A對該內(nèi)容進(jìn)行簽名;把該簽名添加到該權(quán)利對象中;把該MIDlet部署到該移動設(shè)備上,其中該MIDlet必須驗證該內(nèi)容簽名與該MIDlet簽名相匹配,以讀取該內(nèi)容。
17.一種移動設(shè)備,適合于被配置和安排用來依照存儲器中包含的一個或多個指令集執(zhí)行該移動設(shè)備的預(yù)期操作功能,該指令集執(zhí)行所創(chuàng)建的在該移動設(shè)備上運行的應(yīng)用程序,其中該應(yīng)用程序被鎖定以播放特定內(nèi)容。
18.如權(quán)利要求17所述的移動設(shè)備,還包括移動設(shè)備,該移動設(shè)備檢測該應(yīng)用程序是否用特殊方式做過標(biāo)記,并且作為響應(yīng),使該應(yīng)用程序限于特定內(nèi)容。
19.如權(quán)利要求18所述的移動設(shè)備,還包括該移動設(shè)備檢測該特定內(nèi)容是否用特殊方式做過標(biāo)記;用于比較該應(yīng)用程序標(biāo)記與該特定內(nèi)容標(biāo)記的裝置;用于響應(yīng)于該特定內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記相匹配,由該應(yīng)用程序訪問該特定內(nèi)容的裝置;以及用于響應(yīng)于該特定內(nèi)容標(biāo)記不與該應(yīng)用程序標(biāo)記相匹配,拒絕該應(yīng)用程序訪問該特定內(nèi)容的裝置。
20.一種存儲介質(zhì)上攜帶的由移動設(shè)備中的處理器執(zhí)行的計算機(jī)程序,用于鎖定在該移動設(shè)備上運行的應(yīng)用程序以播放特定內(nèi)容,該計算機(jī)程序包括用于用特殊方式標(biāo)記該應(yīng)用程序的程序代碼,以使該設(shè)備軟件處于以下狀態(tài),該應(yīng)用程序限于特定內(nèi)容;用于用特殊方式標(biāo)記特定部分內(nèi)容的程序代碼,從而該設(shè)備軟件可以將該特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記相匹配;用于把該應(yīng)用程序和該特定部分內(nèi)容部署到該移動設(shè)備上,并且響應(yīng)于該應(yīng)用程序請求該特定部分內(nèi)容,該設(shè)備軟件認(rèn)識到該應(yīng)用程序限于播放特定內(nèi)容,并且其中將所請求的特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記進(jìn)行比較的程序代碼;以及用于響應(yīng)于該應(yīng)用程序標(biāo)記與該特定部分內(nèi)容標(biāo)記相匹配,允許該應(yīng)用程序訪問該特定部分內(nèi)容并且響應(yīng)于該應(yīng)用程序不與該特定部分內(nèi)容標(biāo)記相匹配,拒絕該應(yīng)用程序訪問該特定部分內(nèi)容的程序代碼。
全文摘要
提供用于為特殊標(biāo)記的內(nèi)容鎖定在無線設(shè)備上運行的應(yīng)用程序的方法、設(shè)備和計算機(jī)程序,其中用特殊方式標(biāo)記該應(yīng)用程序以使該設(shè)備軟件認(rèn)識到該應(yīng)用程序限于特定內(nèi)容。創(chuàng)建特定部分內(nèi)容,并且用特殊方式進(jìn)行標(biāo)記,從而該設(shè)備軟件可以將該特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記相匹配。在將該應(yīng)用程序和該特定部分內(nèi)容部署到該移動設(shè)備上之后,當(dāng)該應(yīng)用程序請求該特定部分內(nèi)容時,該設(shè)備軟件認(rèn)識到該應(yīng)用程序限于播放特定內(nèi)容,并且將所請求的特定部分內(nèi)容標(biāo)記與該應(yīng)用程序標(biāo)記進(jìn)行比較。響應(yīng)于該應(yīng)用程序與該特定部分內(nèi)容標(biāo)記相匹配,允許該應(yīng)用程序訪問該特定部分內(nèi)容,并且響應(yīng)于該應(yīng)用程序不與該特定部分內(nèi)容標(biāo)記相匹配,拒絕該應(yīng)用程序訪問該特定部分內(nèi)容。
文檔編號G06F21/22GK1991856SQ20061016701
公開日2007年7月4日 申請日期2006年12月12日 優(yōu)先權(quán)日2005年12月13日
發(fā)明者亞歷山大·戴維多夫, 邁克爾·羅茲 申請人:諾基亞公司