專利名稱:提供密碼數(shù)據(jù)的方法、模塊和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及提供密碼數(shù)據(jù),特別是在當(dāng)密碼數(shù)據(jù)的主要源的輸出不可用的時間段 內(nèi)提供密碼數(shù)據(jù)。
背景技術(shù):
現(xiàn)代數(shù)字應(yīng)用嚴(yán)重依靠可靠的數(shù)據(jù)交換。數(shù)字內(nèi)容,例如,包括數(shù)字聲頻和視頻, 經(jīng)常以加密形式存儲和傳輸,然后由授權(quán)接收方解密。已經(jīng)知道許多加密/解密技術(shù),這不 令人感到意外。例如,使用高帶寬數(shù)字內(nèi)容保護(hù)(HDCP)協(xié)議來保護(hù)高帶寬點(diǎn)到點(diǎn)連接上的數(shù)字 數(shù)據(jù)視頻信息流。例如,HDCP被用于通過高分辨率多媒體接口(HDMI)和數(shù)字視頻接口 (DVI)與視頻源相互連接的顯示器。HDCP利用初始的認(rèn)證階段初始化密碼引擎,然后使用該密碼引擎形成偽隨機(jī)加密 密碼流,然后將該偽隨機(jī)加密密碼流與待保護(hù)的數(shù)據(jù)流進(jìn)行XOR(異或)運(yùn)算。不生成與該 加密密碼流一致的解密密碼流并將其與受保護(hù)數(shù)據(jù)流進(jìn)行異或運(yùn)算以恢復(fù)初始數(shù)據(jù)的話, 結(jié)果數(shù)據(jù)流就無法譯碼。圖1顯示了一個簡單的HDCP發(fā)送器/接收器系統(tǒng)100。系統(tǒng)100包括發(fā)送器110和接收器120。發(fā)送器110包括HDCP引擎112,其產(chǎn)生 HDCP密碼數(shù)據(jù)以加密來自數(shù)據(jù)源114的數(shù)據(jù)。使用異或門116將該密碼數(shù)據(jù)與來自該數(shù)據(jù) 源的數(shù)據(jù)結(jié)合,由此產(chǎn)生受保護(hù)數(shù)據(jù)流140。接收器120包括HDCP引擎124,其與HDCP引擎112類似,產(chǎn)生HDCP密碼數(shù)據(jù)以解 密該受保護(hù)數(shù)據(jù)流140。使用異或門126將該HDCP密碼數(shù)據(jù)與該受保護(hù)數(shù)據(jù)流140結(jié)合, 將輸出引導(dǎo)到數(shù)據(jù)轉(zhuǎn)發(fā)器124。HDCP引擎112和122交換控制和驗(yàn)證信息130以保證它們有權(quán)執(zhí)行所需的加密/ 解密并保證它們彼此同步。發(fā)送器110和接收器120必須周期性地重新初始化(也就是說,密鑰更新 (re-key))0對由發(fā)送器110提供的視頻的每條線以及視頻的每一幀完成此動作。密鑰更 新確保了發(fā)送器110與接收器120同步。在每條線之后,該HDCP系統(tǒng)執(zhí)行軟密鑰更新,其 通常發(fā)生58個周期。在每一幀之后,執(zhí)行硬密鑰更新,并為其分配142個周期。不幸的是,在該密鑰更新期內(nèi),加密是不可能的,因?yàn)槊艽a引擎112和122在此期 間沒有產(chǎn)生加密數(shù)據(jù)。因?yàn)镠DCP通常被用于保護(hù)光柵化視頻,垂直與水平消隱間隔適應(yīng)這 種周期性密鑰更新,使得密碼引擎112和122可以產(chǎn)生間斷的加密/解密密碼流,而不影響 該數(shù)據(jù)流的加密或解密。圖2顯示了 HDCP光柵化視頻200的一個實(shí)施例。該光柵化視頻包括有效(active) 視頻數(shù)據(jù)210,在這段時間,HDCP是有效的。相應(yīng)于傳統(tǒng)的垂直與水平消隱間隔,該光柵化 視頻還包括垂直空白220和水平空白230。可選地,可以將輔助數(shù)據(jù)222植入該消隱間隔。 對于該垂直和水平空白220和230中那些不包含輔助數(shù)據(jù)240的部分,加密和解密流停止。 在該垂直和/或該水平空白220和230過程中,每幀密鑰更新240和每線密鑰更新可能發(fā)生。在由數(shù)字內(nèi)容保護(hù)組織發(fā)布的HDCP規(guī)范審查1. 2和1. 3版中,對HDCP進(jìn)行了更 具體的描述,其內(nèi)容皆由參考并入此處。不幸的是,不是所有數(shù)據(jù)流都包括充分的間隔(例如中斷)來適應(yīng)HDCP密鑰更 新。這種流不適于使用傳統(tǒng)的HDCP協(xié)議進(jìn)行加密。例如,HDCP不適于與非光柵化視頻或 其它數(shù)據(jù)流結(jié)合使用。例如,未來的DisplayPort協(xié)議,定義了新的視頻互連,其不包括充分的中斷來適 應(yīng)HDCP密鑰更新。更準(zhǔn)確地說,DisplayPort原本用于單流光柵化視頻,但是可以被擴(kuò)展至 非光柵化、多流應(yīng)用,其中在該數(shù)據(jù)流中沒有可預(yù)測的中斷。在由視頻電子標(biāo)準(zhǔn)協(xié)會(VESA) 發(fā)布的DisplayPort標(biāo)準(zhǔn)1. O版和1. 1版中,對DisplayPort進(jìn)行了更具體的描述,其內(nèi)容 皆由參考并入此處。不需要密鑰更新的新加密協(xié)議是這種流的可選方案。然而,HDCP已經(jīng)被行業(yè)接受, 而HDCP引擎已經(jīng)成為許多接收器和發(fā)送器的一部分。因此,需要一種新的加密技術(shù),其允許使用密碼引擎,比如在提供間斷的加密流的 HDCP系統(tǒng)中使用的那些密碼引擎,加密各種數(shù)據(jù)流。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施方式的示例,主要密碼引擎產(chǎn)生間斷的加密流。該主要密碼引擎可 以與密碼數(shù)據(jù)的第二源一起使用,該密碼數(shù)據(jù)的第二源可以在該主要引擎不提供密碼數(shù)據(jù) 時使用。在一個實(shí)施方式中,該主要密碼引擎是HDCP密碼引擎,而該第二密碼引擎產(chǎn)生不 使用的偽隨機(jī)數(shù)據(jù)流,其隨后在該HDCP密碼引擎進(jìn)行密鑰更新時輸出。在一些實(shí)施方式中,這是通過以比該數(shù)據(jù)流更快的速度運(yùn)行該HDCP密碼引擎一 段時間完成的。如果這是以在數(shù)據(jù)源和接收器中同步的方式完成的,導(dǎo)致的操作會顯得就 像沒有密鑰更新間隔一樣,因?yàn)樵谒袝r間內(nèi)都可以進(jìn)行加密和/或解密,而不僅僅在密 鑰更新間隔之外。這消除了由密鑰更新間隔帶來的約束,使得HDCP可在更多情況下應(yīng)用, 更值得注意的是,可在DisplayPort標(biāo)準(zhǔn)下應(yīng)用。依照本發(fā)明的一個方面,提供一種在密碼數(shù)據(jù)的主要源的輸出不可用的時間段 內(nèi),提供密碼數(shù)據(jù)的方法,該方法包含在該時間段開始時從密碼數(shù)據(jù)的該主要源切換到密 碼數(shù)據(jù)的替代源;在該時間段內(nèi)使用來自該替代源的該密碼數(shù)據(jù)。依照本發(fā)明的另一個方面,提供一種密碼模塊,包含用于加密或解密數(shù)據(jù)流的密 碼數(shù)據(jù)的主要源;密碼數(shù)據(jù)的替代源;在該主要源的輸出不可用的時間段內(nèi)切換到該替代 源的開關(guān)。依照本發(fā)明的又一個方面,提供一種密碼系統(tǒng),包含發(fā)送模塊,包含加密密碼數(shù) 據(jù)的主要源、加密密碼數(shù)據(jù)的替代源和開關(guān),其中該開關(guān)在該加密數(shù)據(jù)的主要源的輸出不 可用的時間段內(nèi)切換到該加密數(shù)據(jù)的替代源,而在該時間段之后切換回該加密數(shù)據(jù)的主要 源,該加密數(shù)據(jù)用于加密數(shù)據(jù)流以產(chǎn)生加密的數(shù)據(jù)流;以及接收模塊,包含解密密碼數(shù)據(jù)的 主要源、解密密碼數(shù)據(jù)的替代源和開關(guān),其中該開關(guān)在該時間段內(nèi)切換到該解密數(shù)據(jù)的替 代源,該解密數(shù)據(jù)用于解密該加密的數(shù)據(jù)流以產(chǎn)生解密的數(shù)據(jù)流。在閱覽對下面的本發(fā)明的具體實(shí)施方式
的描述之后,對于本領(lǐng)域的普通技術(shù)人
5員,本發(fā)明的其它方面和特征會變得顯而易見。
在下面僅通過示例的方式對本發(fā)明的實(shí)施方式進(jìn)行描繪的附圖中,圖1是HDCP系統(tǒng)的方框圖;圖2是HDCP光柵化視頻的方框圖;圖3是示范本發(fā)明的一個實(shí)施方式的方法的流程圖;圖4是示范本發(fā)明的一個實(shí)施方式的密碼模塊的方框圖;圖5是示范本發(fā)明的一個實(shí)施方式的密碼系統(tǒng)的方框圖;圖6是示范本發(fā)明的一個實(shí)施方式的HDCP模塊的方框圖;圖7是示范本發(fā)明的一個實(shí)施方式的HDCP模塊的方框圖;圖8是示范本發(fā)明的一個實(shí)施方式的HDCP模塊的時序圖;圖9是示范本發(fā)明的一個實(shí)施方式的HDCP模塊的方框圖;圖10是示范本發(fā)明的一個實(shí)施方式的HDCP模塊的時序圖;圖11是示范本發(fā)明的一個實(shí)施方式的HDCP模塊的時序圖;以及圖12是示范本發(fā)明的一個實(shí)施方式的HDCP模塊的方框圖。
具體實(shí)施例方式本發(fā)明的實(shí)施方式使用密碼數(shù)據(jù)的替代源,其可以在主要源不可用時訪問,比如 在HDCP密鑰更新過程中。本發(fā)明的一個實(shí)施方式是一種在加密數(shù)據(jù)的主要源的輸出不可用的時間段內(nèi),提 供密碼數(shù)據(jù)的方法,現(xiàn)在參考圖3對其進(jìn)行描述。如圖所示,該方法包括,在該時間段的開始,從密碼數(shù)據(jù)的主要源切換到密碼數(shù)據(jù) 的替代源(步驟302)。該密碼數(shù)據(jù)可以是偽隨機(jī)數(shù)據(jù)。例如,該密碼數(shù)據(jù)可以是由傳統(tǒng)的 HDCP加密引擎輸出的密碼數(shù)據(jù)。接下來,在該時間段內(nèi)使用來自該替代源的該密碼數(shù)據(jù)(步驟304)。在該時間段 結(jié)束時,重新使用來自該主要源的密碼數(shù)據(jù)(步驟306)。該時間段可以是這樣一個時間段,在其過程中,來自該主要源的密碼數(shù)據(jù)是不可 用的,例如在HDCP或類似的密鑰更新期。例如,該密鑰更新期可以是在數(shù)據(jù)的每一幀之前 和/或數(shù)據(jù)的每一線之前。然而,應(yīng)當(dāng)理解,本發(fā)明不限于密鑰更新期。其可以是該主要源 不可用的任何時間段。例如,在該主要源發(fā)生故障時,或當(dāng)該主要源正作它用,而無法用于 所關(guān)心的數(shù)據(jù)流時。密碼數(shù)據(jù)的該替代源可以是緩沖器(buffer)。在這種情況下,該方法可進(jìn)一步包 括將該密碼數(shù)據(jù)的一部分從該主要源重定向到該緩沖器中備用。例如,如果該主要密碼源以比待加密數(shù)據(jù)更高的速度產(chǎn)生密碼數(shù)據(jù),密碼數(shù)據(jù)可 以緩存起來,在該加密引擎停止提供數(shù)據(jù)的那些間隔中使用。在一個很具體的實(shí)施例中,使用HDCP密碼引擎來加密DisplayPort數(shù)據(jù)。HDCP 密碼數(shù)據(jù)通常以每周期3字節(jié)的速度產(chǎn)生,而每一通道(lane)DisplayPort數(shù)據(jù)僅需要每 周期1字節(jié)。如果對于每一通道或兩通道有一個HDCP密碼引擎,每周期一字節(jié)可以被引導(dǎo)到該緩沖器中直到該緩沖器填滿。因此,在本發(fā)明的一個實(shí)施方式中,該方法進(jìn)一步包含在 密鑰更新期之后,將過剩的密碼數(shù)據(jù)引導(dǎo)到該緩沖器中一個預(yù)先確定的時間段。因?yàn)橥ǔ?HDCP中最壞情況是幀密鑰更新需要142個周期,在一個優(yōu)選實(shí)施方式中,該緩沖器對待加 密或解密數(shù)據(jù)的每一通道保留142個字節(jié)。在一些情況下,過剩的密碼數(shù)據(jù)是由產(chǎn)生密碼 數(shù)據(jù)的速度比待加密或解密數(shù)據(jù)流的速度更快產(chǎn)生的。該緩沖器可以是FIFO(先進(jìn)先出)緩沖器。這允許當(dāng)該主要HDCP密碼引擎不可用時,比如在密鑰更新過程中,繼續(xù)通過HDCP 密碼引擎進(jìn)行加密和解密。轉(zhuǎn)而,這允許對數(shù)據(jù)流中缺乏可預(yù)測中斷的非光柵化視頻數(shù)據(jù) 進(jìn)行加密。使用產(chǎn)生的加密流,便宜地,可以對非光柵化視頻數(shù)據(jù)進(jìn)行加密。在具體的實(shí)施 方式中,該方法進(jìn)一步包含加密或解密DisplayPort數(shù)據(jù)。在一個替代實(shí)施方式中,加密數(shù)據(jù)的第二個源可以是第二 HDCP密碼引擎。圖4描繪了示范本發(fā)明的一個實(shí)施方式的密碼模塊(ciphering mOdule)400。密 碼模塊400包括密碼數(shù)據(jù)的主要源402,密碼數(shù)據(jù)的替代源404和開關(guān)406。由該主要源和 該替代源402、404產(chǎn)生的密碼數(shù)據(jù)用于加密或解密數(shù)據(jù)流410。在該主要源402的輸出不 可用時,開關(guān)406可以切換到密碼數(shù)據(jù)的替代源404。例如,當(dāng)密碼數(shù)據(jù)402不可用時開關(guān) 406可以精確的切換。替代地,開關(guān)406可以以規(guī)則(或不規(guī)則)間隔在密碼數(shù)據(jù)402和密 碼404之間切換,以便密碼數(shù)據(jù)永遠(yuǎn)是可用的。替代地,開關(guān)406可以是可控開關(guān),或多路 器。替換地,開關(guān)406可以是寄存器或以其它的指向源402和404之一或兩者的存儲密碼 數(shù)據(jù)的存儲器或緩沖器的指針的方式實(shí)現(xiàn)的。該指針/寄存器可以更新以在來自任一源的 密碼數(shù)據(jù)之間進(jìn)行選擇。替代地,開關(guān)406可以是任何其它的用于在源402和404之間進(jìn) 行選擇的器件或功能塊,這一點(diǎn)所屬技術(shù)領(lǐng)域的專業(yè)人員可以理解。如上所述,在一些實(shí)施方式中,替代源404是緩沖器。在一些情況下,該模塊400包 括將該密碼數(shù)據(jù)的一部分從該主要源導(dǎo)向該緩沖器的功能塊。該功能塊可以采取多路器、 開關(guān)等形式。在一些情況下,被導(dǎo)向該緩沖器的該部分密碼數(shù)據(jù)是加密或解密不需要的過 剩的密碼數(shù)據(jù)。例如,控制信號不被加密,因此,包括控制信號的那部分?jǐn)?shù)據(jù)流410不需要 密碼數(shù)據(jù)。通常,在該數(shù)據(jù)流410中出現(xiàn)控制信號時產(chǎn)生的密碼數(shù)據(jù)不被使用,因此可以用 來被重定向到該緩沖器。替代地,主要源402可以以加快的速度產(chǎn)生該密碼數(shù)據(jù),而該部分密碼數(shù)據(jù)被導(dǎo) 向該緩沖器。在一些情況下,該主要源402總是以加快的速度運(yùn)轉(zhuǎn)。與根據(jù)該緩沖器是否 是滿的來改變速度相比,在所有時刻以同樣的速度運(yùn)轉(zhuǎn)更加簡單而且需要更少的控制。在 一些實(shí)施方式中,被導(dǎo)向該緩沖器的該部分密碼數(shù)據(jù)是當(dāng)待加密或解密的數(shù)據(jù)流410包含 控制數(shù)據(jù)時產(chǎn)生的密碼數(shù)據(jù)。再說一次,該密碼數(shù)據(jù)可以是HDCP密碼數(shù)據(jù)。參考圖5,示范本發(fā)明的另一個實(shí)施方式的密碼系統(tǒng)500包含發(fā)送模塊510和接收 模塊520。該發(fā)送模塊510包含加密密碼數(shù)據(jù)的主要源512,加密密碼數(shù)據(jù)的替代源514和 開關(guān)516,其中該開關(guān)516在該加密數(shù)據(jù)的主要源512的輸出不可用的時間段內(nèi)切換到該加 密數(shù)據(jù)的替代源514并在該時間段之后切換回該HDCP加密數(shù)據(jù)的主要源512。該加密密碼 數(shù)據(jù)被用來加密數(shù)據(jù)流530以產(chǎn)生加密的數(shù)據(jù)流540。接收模塊520包括解密密碼數(shù)據(jù)的 主要源522、解密密碼數(shù)據(jù)的替代源524和開關(guān)526,其中該開關(guān)526在該時間段內(nèi)切換到該解密數(shù)據(jù)的替代源524并在該時間段之后切換回該解密數(shù)據(jù)的主要源522。該解密密碼 數(shù)據(jù)用于解密該加密的數(shù)據(jù)流540以產(chǎn)生解密的數(shù)據(jù)流550。在一些實(shí)施方式中,該發(fā)送模塊510和該接收模塊520中每一個的開關(guān)516、526 適于在密鑰更新開始時切換到該各自的替代源514、524并在密鑰更新結(jié)束時切換回各自 的主要源512、522。在一些實(shí)施方式中,發(fā)送模塊510進(jìn)一步包括異或門以將該加密數(shù)據(jù)與該數(shù)據(jù)流 530結(jié)合。同樣地,該接收模塊520的一些實(shí)施方式進(jìn)一步包括異或門以將該解密數(shù)據(jù)與該 加密數(shù)據(jù)流540結(jié)合。再說一次,該密碼數(shù)據(jù)可以是HDCP密碼數(shù)據(jù)。系統(tǒng)500可以修改以適于與DisplayPort協(xié)議一起使用。在這種情況下,該發(fā)送 模塊510可能位于通道偏移(lane skewing)之前鏈路層和物理層之間的接口而該接收模 塊520可能位于通道去偏移(lane de-skewing)之前鏈路層和物理層之間的接口??梢岳斫?,本發(fā)明的一些實(shí)施方式需要過剩偽隨機(jī)數(shù)據(jù),其可以被緩存并在密碼 引擎的輸出不可用的密鑰更新時間段內(nèi)代替密碼引擎的輸出而輸出。所需要緩沖的量、密 碼引擎需要計時的速度、在上述速度下該密碼引擎被計時的時間段、以及該源或發(fā)送器引 擎和該轉(zhuǎn)發(fā)器(sink)或接收器引擎之間的同步機(jī)制取決于特定的應(yīng)用并由設(shè)計人員確 定?,F(xiàn)在參考圖6到14,描述將HDCP密碼數(shù)據(jù)映射(mapping)到DisplayPort上的具 體方案。DisplayPort是高帶寬點(diǎn)對點(diǎn)數(shù)字互連方案,其將最終能夠支持可擴(kuò)展 (scalable)連接上的眾多數(shù)據(jù)格式和類型,該可擴(kuò)展連接現(xiàn)在支持1、2或4個數(shù)據(jù)通道,每 個數(shù)據(jù)通道每秒能傳輸162MB或270MB數(shù)據(jù)。HDCP的輸出密碼可以產(chǎn)生達(dá)3B/周期的偽隨機(jī)數(shù)據(jù),而DisplayPort根據(jù)活動通 道的數(shù)量需要1B、2B或4B/周期的密碼數(shù)據(jù)。在1和2個通道的情況下,可以使用HDCP密 碼的一個實(shí)例,而在4個通路的情況下,可以使用HDCP密碼的兩個實(shí)例。注意,如果愿意超 計時(overclock)該4通道配置以確保有足夠的HDCP偽隨機(jī)數(shù)據(jù)來緩沖該過程并滿足密 鑰更新不起作用時該輸出流的需求的話,可以在所有的情況下均使用單一引擎。如果一個或多個密碼引擎是以與該發(fā)送器邏輯相同的速度計時的,那么與該 1/2/4通道配置相比,它分別會多產(chǎn)生(3/1)/(3/2)/(2*3/4) = 3倍/1. 5倍/1. 5倍的數(shù) 據(jù)。產(chǎn)生的過剩數(shù)據(jù)中的一些或全部可以在緩沖器中存儲非特定的時間段,然后在其密鑰 更新時密碼不可用的時間段內(nèi)輸出。最后的實(shí)現(xiàn)如圖6所示。在圖6中,HDCP模塊600包含兩個HDCP密碼引擎610和620以服務(wù)四個數(shù)據(jù)通道 630、640、650和660。該第一密碼引擎610將2B/周期的密碼數(shù)據(jù)直接提供至多路器614并 將IB/周期的密碼數(shù)據(jù)提供至FIFO緩沖器612。FIFO 612的輸出也提供至多路器614。多 路器614還具有輸入信號REKEY_EN 616,其指示該密碼引擎610是否在密鑰更新模式。在 這種情況下,值0表示活動模式而值1表示密鑰更新模式。因此,當(dāng)多路器614收到0時,該 密碼數(shù)據(jù)被從該密碼引擎610導(dǎo)向異或門618和619以將來自通道630和640的數(shù)據(jù)分別 合并,以產(chǎn)生各自的加密數(shù)據(jù)通道635和645。對第二密碼引擎620鏡像相同的設(shè)置。也就 是說,2B/周期的密碼數(shù)據(jù)直接被提供至多路器624而IB/周期的密碼數(shù)據(jù)被提供至FIFO緩沖器622。FIFO 622的輸出也去到該多路器624。該多路器624還具有輸入信號REKEY_ EN626,其指示該密碼引擎620是否在密鑰更新模式。當(dāng)該多路器624收到0時,該密碼數(shù) 據(jù)被從該密碼引擎620直接導(dǎo)向異或門628和629以與來自通道650和660的數(shù)據(jù)分別結(jié) 合,產(chǎn)生各自的加密數(shù)據(jù)通道655和665。密碼被計時的速度和以加快的速度運(yùn)行的時間段完全按照設(shè)計人員的意思設(shè)置, 只要在FIFO 612,622中存儲有足夠的過剩數(shù)據(jù)以在該密鑰更新時間段內(nèi)加密該數(shù)據(jù)流。 對于HDCP,每幀基礎(chǔ)上142周期的有用數(shù)據(jù),或者每線基礎(chǔ)上58周期的有用數(shù)據(jù),應(yīng)當(dāng)是 可用的,其中“幀”和“線”的概念可以被限定以適合該應(yīng)用?!熬€”和“幀”的文字定義適用 于光柵化視頻數(shù)據(jù),但是對于不那么結(jié)構(gòu)化的數(shù)據(jù)模式“線”可以被定義為消隱開始(用消 隱開始(“BS”)表示)控制符之間的時間,而“幀”可以被定義為連續(xù)擾頻器重置(“SR”) 控制符之間的時間,其中對于每512個BS控制符,SR控制符出現(xiàn)一次。通過簡單的優(yōu)先定義(priori-defined)策略可以保持該源與轉(zhuǎn)發(fā)器器件的HDCP 引擎之間的同步,以保證它們產(chǎn)生相同的過剩數(shù)據(jù),在優(yōu)先定義策略中,過剩的字節(jié)被識別 和標(biāo)記以進(jìn)行存儲。例如,密碼可以以與數(shù)據(jù)流相同的速度運(yùn)行。在該密鑰更新期結(jié)束之 后,可以存儲過剩數(shù)據(jù)的前256B,然后將其緩存直到下一個密鑰更新期。在每個密鑰更新期 結(jié)束時清空(flush)該緩沖器以確保該源和轉(zhuǎn)發(fā)器在每個周期都以相同的FIFO狀態(tài)開始。該HDCP模塊600的另一個配置如圖7中所示例的。如圖所示,HDCP模塊700只代 表該模塊600的一半,也就是說,由HDCP密碼引擎610服務(wù)的那一半。在此配置中,有一個 額外的多路器615,其輸出到異或門619。該密碼引擎610將IB/周期導(dǎo)向多路器614,IB/ 周期導(dǎo)向多路器615而IB/周期導(dǎo)向FIFO 612。正如上面提到的,本發(fā)明的實(shí)施方式可被用于DisplayPort的1、2或4通道配置。 圖8顯示了 2通道配置的時序圖。圖8的時序圖顯示了 12個信號的時序LANE_CLK 810, 其是時鐘信號;REKEY_EN 815,其指示該HDCP引擎是否在密鑰更新模式;HDCP。ut [70]820、 HDCPout [15:8] 825 和 HDCP。ut [23:16] 830,其是該 HDCP 密碼引擎的輸出;FIF0_REN 835,其 代表 FIFO 輸出該密碼數(shù)據(jù);FIFOout [70]840 和 FIFOout [15:8]845,該 FIFO 的輸出;FIF0_ WEN850,其代表該FIFO正被補(bǔ)充;FIFOin 855,其為該FIFO的輸入;LaneOMask 860和Lanel Mask 865,其代表加密或解密該兩個通道所用的密碼數(shù)據(jù)。第一時間塊是普通的HDCP操作 870,在此過程中該HDCP輸出820和825為該LaneO Mask 860和該Lanel Mask 865提供 數(shù)據(jù)。該FIFO輸出840和845是無效的。為了此實(shí)施例的目的,該FIFO在該時序圖的一 開始就是滿的。下一個時間塊是該HDCP屏蔽(ke印-out)或密鑰更新時間段875,在此過程 中該FIFO輸出840和845為該LaneOMask 860和該Lanel Mask 865提供數(shù)據(jù)。該HDCP 輸出820、825和830在此時是無效的。在此期間REKEY_EN 815具有值1而在所有的其它 時間中具有值0。下一個時間塊是該FIFO重新加載時間880,在此過程中該FIFOin 855從 HDCPout [23:16] 830接收數(shù)據(jù)以重新加載該FIFO。在此期間FIF0_WEN 850具有值1而在所 有其它時間中具有值0。所有其它信號像HDCP正常操作870中一樣操作。對于四通道配置,對該第二 HDCP引擎重復(fù)該時序圖。對于單通道配置,沒有Lanel Mask 865,這意味著不使用FIF0。ut[15:8]845。在其它方面,該時序圖是相同的。在一通道配置中,只需要IB/周期的HDCP密碼數(shù)據(jù)來進(jìn)行加密或解密,因此,該密 碼引擎可以以一半的速度運(yùn)行。本發(fā)明的一個實(shí)施方式能夠在一半速度下具有一通道配
9置,除此之外還有兩通道配置,現(xiàn)在參考圖9對其進(jìn)行描述。HDCP模塊900與參考圖7描 述的HDCP模塊700相同,但是在該多路器614和615和異或門618之間多一個另外的多路 器620。到該多路器620的輸入是多路器614和615的輸出,以及EVEN_0DD信號622。多 路器615的輸出還去到異或門619。在單通道模式中,異或門619所在的通道是無效的,該 HDCP密碼引擎610以一半的速度運(yùn)行且該EVEN_0DD信號622在0和1之間振動。振動信 號622導(dǎo)致多路器620的輸出為多路器614和615的輸出的結(jié)合。在兩通道模式,該HDCP 密碼引擎610全速運(yùn)轉(zhuǎn)且該EVEN_DDD信號具有值0。圖10是此實(shí)施方式的單通道模式的 時序圖而圖11是雙通道模式的時序圖。圖10的時序圖包括所有的與圖8中相同的信號,除LanelMask 865之外。它具有 一個額外的信號,EVEN-ODD 1010,其在所有的時間塊中振動。圖11與圖8相同,但是它包括參考圖10描述的EVEN-ODD信號。在圖11中,該 EVEN-ODD信號保持值0,因此該HDCP模塊以與參考圖8所描述的兩通道模式相同的方式運(yùn)作。替代地,在單通道模式中,該HDCP引擎可以以1/3速度運(yùn)轉(zhuǎn)。在此實(shí)施方式中,當(dāng) 該數(shù)據(jù)流包含控制信號時,被導(dǎo)向該緩沖器的該密碼數(shù)據(jù)必須是沒有使用的密碼數(shù)據(jù)。在另一個替代實(shí)施方式中,可以修改該HDCP密碼以在4B/周期下輸出。這使得一 個HDCP密碼引擎可以服務(wù)4通道DisplayPort數(shù)據(jù)。當(dāng)該數(shù)據(jù)流包括控制數(shù)據(jù)時,該緩沖 器被沒有使用的HDCP輸出充滿。圖12是依照此方案的一個實(shí)施方式的HDCP模塊1200的 示意圖。HDCP模塊1200中的HDCP密碼1210輸出4B/周期,其中一個字節(jié)去到四個多路 器1230、1232、1234和1236中的一個。每個多路器還具有各自的FIFO 1211、1212、1214、 1216的輸出作為輸入。所有四個FIFO都有一個Kcode信號1220作為輸入,其指示數(shù)據(jù)流 1250、1260、1270和1280包含控制信號。當(dāng)該數(shù)據(jù)流1250、1260、1270和1280包含控制信號 時,該HDCP密碼1210的輸出被導(dǎo)向該FIFO 1211、1212、1214和1216。多路器1230、1232、 1234和1236均接收REKEY_EN信號1225作為輸入。當(dāng)此信號1225指示該HDCP密碼在密 鑰更新模式時,它們使用來自它們各自的FIFO的該密碼數(shù)據(jù)作為它們的輸出。與前面的實(shí) 施例一樣,多路器的輸出被導(dǎo)向異或門1240、1242、1244和1246,在那里該密碼數(shù)據(jù)與數(shù)據(jù) 流1250、1260、1270和1280結(jié)合以分別產(chǎn)生輸出數(shù)據(jù)流1245、1255、1265和1275。替代地,而且更通常地,HDCP密碼1210可以以比N通道更大的速度計時。例如, HDCP密碼1210可以以一定的速度計時從而以每個通道的數(shù)據(jù)速度的N/(N-M)倍的速度提 供密碼數(shù)據(jù)。每N個單元有M個密碼數(shù)據(jù)被提供到FIFO備用?!N可以嘗試的替代方案是利用以超過所需數(shù)據(jù)速度的速度運(yùn)轉(zhuǎn)的多于一個 HDCP引擎并使用一個HDCP引擎的輸出來隱藏其它引擎的密鑰更新間隔。當(dāng)一個引擎在進(jìn) 行密鑰更新時,也就是說,其不能輸出時,其它的密碼引擎可被用于加密該數(shù)據(jù)流。這種額 外的加密可以通過使能額外的密碼來實(shí)現(xiàn),如果其處于空閑狀態(tài)正等待使用的話,或者使 其超計時(overclocking)以由其密碼正在進(jìn)行密鑰更新的流產(chǎn)生額外的偽隨機(jī)密碼。對于這種方案,在密鑰更新間隔必須永遠(yuǎn)有一個密碼引擎是可用的且各引擎的密 鑰更新應(yīng)當(dāng)充分錯開而使得沒有所有的密碼引擎都同時需要密鑰更新的時間段。在HDCP 引擎庫中必須有足夠的帶寬,或者可以由密碼實(shí)例的絕對數(shù)量決定的或者能夠超計時任何數(shù)量的可用實(shí)例以在任何給定時間中提供所需數(shù)量的偽隨機(jī)數(shù)據(jù)?,F(xiàn)在可以理解,描述此處的方法可以用硬件、軟件或其結(jié)合完成。例如,存儲有計 算機(jī)可讀指令的計算機(jī)可讀介質(zhì),其中該計算機(jī)可讀指令可以由執(zhí)行相應(yīng)方法的計算機(jī)完 成。它們可以是使用硬件、軟件或其組合完成的。所描述的僅僅是對該本發(fā)明原理的應(yīng)用的一些說明。然而,本領(lǐng)域的技術(shù)人員可 以實(shí)現(xiàn)其它的裝置和方法而不背離本發(fā)明的范圍。
權(quán)利要求
一種在密碼數(shù)據(jù)的主要源的輸出不可用的時間段內(nèi),提供密碼數(shù)據(jù)的方法,該方法包含在該時間段開始時從密碼數(shù)據(jù)的該主要源切換到密碼數(shù)據(jù)的替代源;在該時間段內(nèi)使用來自該替代源的該密碼數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包含在該時間段結(jié)束時切換回該主要源。
3.根據(jù)權(quán)利要求2所述的方法,其中該時間段是密鑰更新期。
4.根據(jù)權(quán)利要求2所述的方法,其中該密鑰更新期是在數(shù)據(jù)的每一幀之后和/或數(shù)據(jù) 的每一線之后。
5.根據(jù)權(quán)利要求1所述的方法,其中該密碼數(shù)據(jù)是由HDCP(高帶寬數(shù)字內(nèi)容保護(hù))密 碼引擎產(chǎn)生的。
6.根據(jù)權(quán)利要求1所述的方法,其中該替代源是緩沖器。
7.根據(jù)權(quán)利要求6所述的方法,進(jìn)一步包含將該密碼數(shù)據(jù)的一部分從該主要源導(dǎo)向該 緩沖器。
8.根據(jù)權(quán)利要求6所述的方法,進(jìn)一步包含在密鑰更新期之后,將過剩的密碼數(shù)據(jù)導(dǎo) 向該緩沖器一個預(yù)先確定的時間段。
9.根據(jù)權(quán)利要求8所述的方法,其中該過剩的密碼數(shù)據(jù)是通過以比待加密或解密數(shù)據(jù) 流更快的速度生成該密碼數(shù)據(jù)產(chǎn)生的。
10.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包含加密或解密非光柵化視頻數(shù)據(jù)。
11.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包含加密或解密DisplayPort數(shù)據(jù)。
12.根據(jù)權(quán)利要求6所述的方法,其中該緩沖器是FIFO(先進(jìn)先出)存儲器。
13.根據(jù)權(quán)利要求5所述的方法,其中該替代源是由第二HDCP密碼引擎提供的。
14.根據(jù)權(quán)利要求1所述的方法,其中該密碼數(shù)據(jù)是偽隨機(jī)數(shù)據(jù)。
15.一種存儲有計算機(jī)可讀指令的計算機(jī)可讀介質(zhì),其中當(dāng)計算機(jī)實(shí)現(xiàn)該計算機(jī)可讀 指令時執(zhí)行權(quán)利要求1中的方法。
16.一種密碼模塊,包含用于加密或解密數(shù)據(jù)流的密碼數(shù)據(jù)的主要源;密碼數(shù)據(jù)的替代源;在該主要源的輸出不可用的時間段內(nèi)切換到該替代源的開關(guān)。
17.根據(jù)權(quán)利要求16所述的模塊,其中該密碼數(shù)據(jù)是HDCP(高帶寬數(shù)字內(nèi)容保護(hù))密 碼數(shù)據(jù)。
18.根據(jù)權(quán)利要求16所述的模塊,其中該替代源是緩沖器。
19.根據(jù)權(quán)利要求18所述的模塊,進(jìn)一步包含將該密碼數(shù)據(jù)的一部分從該主要源導(dǎo)向 該緩沖器的裝置。
20.根據(jù)權(quán)利要求19所述的模塊,其中該主要源適于以加快的速度產(chǎn)生該密碼數(shù)據(jù)而 該密碼數(shù)據(jù)的該部分被導(dǎo)向該緩沖器。
21.根據(jù)權(quán)利要求19所述的模塊,其中被導(dǎo)向該緩沖器的該部分密碼數(shù)據(jù)是加密或解 密不需要的過剩的密碼數(shù)據(jù)。
22.根據(jù)權(quán)利要求21所述的模塊,其中被導(dǎo)向該緩沖器的該密碼數(shù)據(jù)的至少一部分是 當(dāng)待加密或解密的該數(shù)據(jù)流包含控制數(shù)據(jù)時產(chǎn)生的密碼數(shù)據(jù)。
23.一種密碼系統(tǒng),包含發(fā)送模塊,包含加密密碼數(shù)據(jù)的主要源、加密密碼數(shù)據(jù)的替代源和開關(guān),其中該開關(guān)在 該加密數(shù)據(jù)的主要源的輸出不可用的時間段內(nèi)切換到該加密數(shù)據(jù)的替代源,而在該時間段 之后切換回該加密數(shù)據(jù)的主要源,該加密數(shù)據(jù)用于加密數(shù)據(jù)流以產(chǎn)生加密的數(shù)據(jù)流;以及接收模塊,包含解密密碼數(shù)據(jù)的主要源、解密密碼數(shù)據(jù)的替代源和開關(guān),其中該開關(guān)在 該時間段內(nèi)切換到該解密數(shù)據(jù)的替代源,該解密數(shù)據(jù)用于解密該加密的數(shù)據(jù)流以產(chǎn)生解密 的數(shù)據(jù)流。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),其中該發(fā)送模塊和該接收模塊中的每一個中的該開 關(guān)都適于在密鑰更新期開始時切換到各自的替代源而在密鑰更新期結(jié)束時切換回各自的 主要源。
25.根據(jù)權(quán)利要求23所述的系統(tǒng),其中該發(fā)送模塊進(jìn)一步包含XOR(異或)門以將該加 密數(shù)據(jù)與該數(shù)據(jù)流結(jié)合。
26.根據(jù)權(quán)利要求23所述的系統(tǒng),其中該接收模塊進(jìn)一步包含XOR(異或)門以將該解 密數(shù)據(jù)與該加密的數(shù)據(jù)流結(jié)合。
27.根據(jù)權(quán)利要求23所述的系統(tǒng),其中該加密數(shù)據(jù)和該解密數(shù)據(jù)是HDCP(高帶寬數(shù)字 內(nèi)容保護(hù))數(shù)據(jù)。
全文摘要
披露一種在密碼數(shù)據(jù)的主要源的輸出不可用的時間段內(nèi),提供密碼數(shù)據(jù)的方法。該方法包含在該時間段開始時從密碼數(shù)據(jù)的該主要源切換到密碼數(shù)據(jù)的替代源;在該時間段內(nèi)使用來自該替代源的該密碼數(shù)據(jù);以及在該時間段結(jié)束時切換回該主要源。
文檔編號H04N7/16GK101919201SQ200880006261
公開日2010年12月15日 申請日期2008年2月26日 優(yōu)先權(quán)日2007年2月26日
發(fā)明者詹姆斯·R·古德曼 申請人:Ati科技無限責(zé)任公司