於usb儲存裝置以多重介面輔助數字版權管理的方法
2023-06-05 20:04:11
專利名稱:於usb儲存裝置以多重介面輔助數字版權管理的方法
技術領域:
本發明是關於一種於USB儲存裝置中數字版權管理的方法的技術領域,尤指一種於USB儲存裝置以多重介面輔助數字版權管理的方法。
背景技術:
已知用於數字版權管理的數字籤章或私鑰資料一般是以檔案型態儲存於一儲存裝置上。在使用時,是由一終端裝置讀取該數字籤章或私鑰資料,接著將其傳送至數字版權管理伺服器以確認權限,之後,始可正常操作數字內容。由於該數字籤章或私鑰資料是以檔案型態存在,現行的作法容易讓第三者竊取該數字籤章或私鑰資料的檔案,使籤章有被不當散播的危險。
故為防止數字籤章或私鑰不當散掐,必須使用其他機制來防止,例如每次使用數字內容時都要連上伺服器,然此將造成使用者操作上的不便以及管理成本的提升。同時,由於數字籤章或私鑰是以檔案型態存在,故無法控制使用者無意中刪除或修改該數字籤章或私鑰的內容,而造成操作以及驗證上的混淆,因此,公知數字籤章或私鑰資料使用方法的設計仍有諸多缺失而有予以改進的必要。
發明內容
本發明的目的在於提供一種於USB儲存裝置以多重介面輔助數字版權管理的方法,可避免將欲保護的數字籤章或私鑰資料呈現於一般檔案系統,而可防止使用者無意間破壞數字籤章或私鑰資料。
依據本發明的一特色,提出的於USB儲存裝置以多重介面輔助數字版權管理的方法,供一主機經由一USB連接線連接一USB儲存裝置,以執行數字版權管理,該方法主要包括下述步驟(A)插上該USB儲存裝置,該主機要求該USB儲存裝置送出描述子,以使該USB儲存裝置將其本身的作用、能力等訊息傳輸給該主機;(B)該USB儲存裝置傳送其描述子給該主機,其中,該描述子描述了複數個介面的特性;(C)主機選擇大量儲存裝置介面;(D)當該主機欲存取數字籤章或私鑰資料時,其以亂數變數為編碼參數,於該複數個介面中選取一介面,以為一保密資料存取介面,並經由該保密資料存取介面送出編碼過的密碼;(E)該USB儲存裝置利用該保密資料存取介面傳回密碼確認結果至該主機;以及(F)該主機若確認密碼無誤,其以亂數變數為編碼參數,於該保密資料存取介面,傳輸保密資料。
所述的方法,其中於步驟D中,當該主機欲存取一般檔案,是以第一介面來傳輸一般檔案資料。
所述的方法,其中於步驟C中的複數個介面是USB規格的組態(configuratlon)與介面(interface)。
所述的方法,其中該保密資料存取介面為USB規格的大量儲存裝置介面以外任何介面。
所述的方法,其中步驟C中的編碼是使用MD5編碼。
所述的方法,其中該保密資料存取介面是對其管理與存取的所有資料,執行檔案操作動作。
圖1為本發明USB儲存裝置以多重介面輔助數字版權管理方法使用的示意圖。
圖2為本發明於USB儲存裝置以多重介面輔助數字版權管理的方法的流程圖。
圖3為本發明該主機對裝置住址為0的USB儲存裝置發出一設備描述元申請封包運作過程的示意圖。
圖4為本發明該主機對裝置位址為0的USB儲存裝置發出一設定位址申請封包運作過程的示意圖。
圖5為本發明該主機利用一輸出管線對USB儲存裝置發出一SCSI-2/UFI標準命令運作過程的示意圖。
圖6為本發明的CBW(Command Block Wrapper)封包的資料格式。
圖7為本發明的USB儲存裝置以第一輸入管線回應UFI/SCSI-2標準命令運作過程的示意圖。
圖8為本發明的CSW(Command Status Wrapper)封包的資料格式。
圖9為本發明的UFI/SCSI-2的命令格式。
具體實施例方式
圖1為本發明一種於USB儲存裝置以多重介面輔助數字版權管理的方法的使用環境示意圖,其中,一主機110經由一USB連接線120連接一USB儲存裝置130,以執行數字版權管理。該主機110可為一個人電腦、筆記型電腦、電子書包或個人數字助理(Personal Digital Assistant、PDA),該USB儲存裝置130可為一USB隨身碟、一行動裝置或一語言學習機。該主機110經由本發明的方法,即可通過USB連接線120而對該USB儲存裝置130執行數字版權管理。
圖2是本發明的方法的流程圖。首先,一使用者將該USB儲存裝置130插接至該USB連接線120(步驟S210)。由於USB總線具有熱插拔特性,當主機110偵測到其USB總線上的D-或D+訊號線有一個上拉電阻(pull-up resistor)時,即得知有一低速、全速或高速USB裝置連接至其USB總線。故當該USB儲存裝置130插接至該USB連接線120時,主機110會偵測到該USB儲存裝置130已連接至其USB總線。
該主機110先發一個主線重置(bus reset)訊號,以重置該USB儲存裝置130,該重置訊號將該D-及D+訊號線均維持低電位,且需要維持最少10ms。該重置訊號會強迫該USB儲存裝置130處於內定的裝置位址(位址0)。如圖3所示,該主機110使用內定的控制管道結點0(endpoint 0)對裝置位址為0的該USB儲存裝置130發出一設備描述元申請封包,其中,bRequest欄位設定為GetDescriptor。該USB儲存裝置130傳回其設備描述元(device descriptor)的前面8個位元組。
該主機110分配一個唯一位址(例如0000001b=01h)給該USB儲存裝置130,並由發出一設定位址申請封包給該USB儲存裝置130,其中,bRequest欄位設定為SetAddress,以設定該USB儲存裝置130的位址為01h,該主機110與該USB儲存裝置130之間的封包傳輸如圖4所示。
於步驟S220中,該主機110使用01h位址以對該USB儲存裝置130發出一設備描述元申請封包,其中,bRequest欄位設定為GetDescriptor。而位址01h的該USB儲存裝置130接到該設備描述元申請封包後,則以資料封包0及資料封包1(DATA0,DATA1)傳回其設備描述元(DeviceDescriptor),該主機110與該USB儲存裝置130之間的封包傳輸亦如圖3所示,其中設備地址(Devicc Addtess)欄位為01h。
該主機110使用01h位址對該USB儲存裝置130發出一設置描述元申請封包,其中,bRequest欄位設定為GetConfiguration),而該USB儲存裝置130接到該設置描述元申請封包後,則以資料封包0及資料封包1(DATA0,DATA1)傳回其設置描述元(Configuration Descriptor),該主機110與該USB儲存裝置130之間的封包傳輸亦如圖3所示,其中bRequest欄位為GetConfiguration。
於本發明中,該USB儲存裝置130雖為一儲存裝置,但其具有多重介面,並以第一介面為大量儲存裝置介面,而以第二介面或其他介面存取數字籤章或私鑰資料,故其傳給該主機110的設備描述元中的bDeviceClass欄位及bDeviceSubClass欄位中均為00h,而其設置描述元(Configuration Descriptor)中的bNumInterfaces欄位為02h或比02h大的值,以表示該USB儲存裝置130具有二個或二個以上的介面,其中第一介面為大量儲存裝置介面,而第二或其他介面作為保密資料存取介面,以存取數字籤章或私鑰資料,於本實施例中,是以第二介面作為保密資料存取介面。
於步驟S230中,該主機110依據所傳回的描述元,選擇大量儲存裝置介面(第一介面),以讓該主機110能呼叫該USB儲存裝置130的驅動程序,以便存取該USB儲存裝置130。該主機110並依據所傳回的介面描述元的InterfaceProtoc01欄位,選擇Bulk-only或是CBI(Control,Bulk andInterrupt)通訊協定,以便與該USB儲存裝置130溝通。於本實施例中,是選用Bulk-only通訊協定。
於步驟S240中,判斷該主機110是存取該USB儲存裝置130上的一般檔案或是存取數字籤章或私鑰資料,當判定該主機110欲存取一般檔案時,則執行步驟S270。其是以第二或第四輸出管線(Out-Pipe)送出一SCSI-2/UFI標準命令。此時,該主機110與該USB儲存裝置130之間的封包傳輸則如圖5所示。其中,資料欄位包含一CBW(Command BlockWtapper)封包,其格式如圖6所示,其中CBWCB欄位包含了UFI/SCSI-2的標準命令。而其餘欄位則有Bulk-only通訊協定以及輔助描述的部分。
於步驟S280中,該USB儲存裝置130由CBW取得了UFI/SCSI-2命令後,就可以知道如何回應該主機110的控制,並以第一或第三輸入管線回應UFI/SCSI-2標準命令。接下來由該主機110主控來交換資料,以將資料取回該主機110,此時,該主機110與該USB儲存裝置130之間的封包傳輸則如圖7所示。或是將資料送至該USB儲存裝置130,此時,該主機110與該USB儲存裝置130之間的封包傳輸則與圖5所示相似。最後該USB儲存裝置130必須回報這次命令/資料傳輸的狀態,其是以CSW(Command Status Wrapper)封裝之後等待該主機110要求,以傳回該主機110。該CSW封裝格式如圖8所示,其中,bCSWStatus欄位為00h表示成功,為01h表示失敗,為02h表示相位錯誤。當資料傳輸完成,則重回步驟240,若是無需在使用該USB儲存裝置130,則至步驟290,以移除該USB儲存裝置130。
於步驟S240中,當判定該主機110欲存取一存取數字籤章或私鑰資料時,則執行步驟S250以選擇該保密資料存取介面(第二介面)並呼叫專屬的驅動程序,以存取數字籤章或私鑰資料。該主機110以亂數變數為編碼參數,該編碼可使用MD5編碼,並經由該保密資料存取介面送出編碼過的密碼。而該USB儲存裝置130利用該保密資料存取介面傳回密碼確認結果至該主機110,該主機110若確認密碼無誤,其以亂數變數為編碼參數,於該保密資料存取介面,傳輸保密資料。
此時,該主機110與該USB儲存裝置130之間的封包傳輸如圖5所示。其中,資料欄僅包含一CBW封包,其格式如圖6所示,其中CBWCB欄位可為了UFI/SCSI-2的標準命令或自訂命令。而其餘欄位則有Bulk-only通訊協定以及輔助描述的部分。於步驟S260中,該USB儲存裝置130由CBW取得了UFI/SCSI-2標準命令或自訂命令後,就可以知道如何回應該主機110的控制,並以該保密資料存取介面(第二介面)回應UFI/SCSI-2標準命令或自訂命令。當數字籤章或私鑰資料存取完成時,則童回步驟240。
圖9是UFI/SCSI-2的命令欄位,UFI/SCSI-2的命令/回應協定則定義了基本資料儲存裝置的運作機制。每個UFI/SCSI-2命令的長度並不固定,回應資料長度也依各命令而異。舉例來說,命令編號12h表示Inquiry命令,該USB儲存裝置130必須回傳Logical Unit的個數;命令編號25h代表Read Capacity命令,該USB儲存裝置130必須回傳Last Logical BlockAddress與Block Length,以由該主機110依據Last Logical Block Address與Block Length而計算該USB儲存裝置130的容量大小。
一般以USB大量儲存裝置(USB Mass Storage)類別驅動的裝置,主機110會將它視為磁碟裝置。而通過此磁碟裝置資料區塊的描述,主機110可以辨認出此磁碟的檔案系統、容量、使用狀態等。在作業系統中,這樣的磁碟裝置會被自動掛入檔案系統內,而儲存裝置內的資料會被主機解譯為檔案資料。若不經由大量儲存裝置(Mass Storage)此一規格管道傳輸的資料,則不會被視為檔案系統的一部份,也就不會出現在檔案系統中(以檔案總管之類的應用程離將無法開啟或檢視此類資料)。故本發明的資料傳輸管道不會通過一般USB大量儲存裝置的標準協定管道,所以不會被作業系統解譯為一般檔案,或被置入作業系統的檔案系統中,使用者無法由一般檔案操作介面存取欲保護的數字籤章或私鑰資料,可防止使用者無意問破壞數字籤章或私鑰資料。此外本發明技術設有權限管控與密碼檢查、雜訊資料等處理,在透過非一般USB大量儲存裝置管道傳輪資料時,可以防止被竊聽、盜用。
由上述說明可知,本發明技術利用一USB裝置可具有多個設置(Configuration)與介面(Interhce)的特性,使USB大量儲存設備內含其他類別的介面,通過這些其他的介面來傳輸欲保護的資料,而避免將欲保護的數字籤章或私鑰資料呈現於一般檔案系統,可防止使用者無意間破壞數字籤章或私鑰資料,同時由增設權限管控、密碼檢查與雜訊資料等處理,可防止被竊聽、盜用。
上述實施例僅是為了方便說明而舉例而已,本發明所主張的權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
權利要求
1.一種於USB儲存裝置以多重介面輔助數字版權管理的方法,供一主機經由一USB連接線連接一USB儲存裝置,以執行數字版權管理,該方法主要包括下述步驟(A)插上該USB儲存裝置,該主機要求該USB儲存裝置送出描述子,以使該USB儲存裝置將其本身的作用、能力等訊息傳輸給該主機;(B)該USB儲存裝置傳送其描述子給該主機,其中,該描述子描述了複數個介面的特性;(C)主機選擇大量儲存裝置介面;(D)當該主機欲存取數字籤章或私鑰資料時,其以亂數變數為編碼參數,於該複數個介面中選取一介面,以為一保密資料存取介面,並經由該保密資料存取介面送出編碼過的密碼;(E)該USB儲存裝置利用該保密資料存取介面傳回密碼確認結果至該主機;以及(F)該主機若確認密碼無誤,其以亂數變數為編碼參數,於該保密資料存取介面,傳輸保密資料。
2.如權利要求1所述的方法,其特徵在於,其中於步驟D中,當該主機欲存取一般檔案,是以第一介面來傳輸一般檔案資料。
3.如權利要求1所述的方法,其特徵在於,其中於步驟C中的複數個介面是USB規格的組態(configuratlon)與介面(interface)。
4.如權利要求1所述的方法,其特徵在於,其中該保密資料存取介面為USB規格的大量儲存裝置介面以外任何介面。
5.如權利要求1所述的方法,其特徵在於,其中步驟C中的編碼是使用MD5編碼。
6.如權利要求1所述的方法,其特徵在於,其中該保密資料存取介面是對其管理與存取的所有資料,執行檔案操作動作。
全文摘要
一種於USB儲存裝置以多重介面輔助數字版權管理的方法,供一主機經由一USB連接線連接一USB儲存裝置,執行數字版權管理,首先插上USB儲存裝置,主機要求USB儲存裝置送出描述子,以將其本身的作用、能力等訊息傳輸給主機;其次,USB儲存裝置傳送描述子給主機,其中,描述子描述了複數個介面的特性,主機選擇大量儲存裝置介面;當主機欲存取數字籤章或私鑰資料時,以亂數變數為編碼參數,於複數個介面中選取一介面,為保密資料存取介面,並由保密資料存取介面送出編碼過的密碼,USB儲存裝置利用保密資料存取介面傳回密碼確認結果至主機;最後,主機若確認密碼無誤,其以亂數變數為編碼參數,於保密資料存取介面,傳輸保密資料。
文檔編號H04L9/00GK1617089SQ200310118148
公開日2005年5月18日 申請日期2003年11月10日 優先權日2003年11月10日
發明者陳友士 申請人:財團法人資訊工業策進會