欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通用串行總線數(shù)據(jù)傳輸方法及其設(shè)備的制作方法

文檔序號(hào):6621644閱讀:155來源:國知局
專利名稱:通用串行總線數(shù)據(jù)傳輸方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)傳輸方法,具體來說是一種通用串行總線數(shù)據(jù)傳輸方法及其設(shè)備。
背景技術(shù)
現(xiàn)有的通用串行總線技術(shù),是利用通用串行總線塊傳輸協(xié)議,具有良好的使用性。而使用這種技術(shù)的設(shè)備通常分為無驅(qū)設(shè)備,是利用操作系統(tǒng)本身所附帶的驅(qū)動(dòng),來完成設(shè)備的加載。
有驅(qū)設(shè)備,需要生產(chǎn)商提供驅(qū)動(dòng)程序,才能使用該設(shè)備。
傳統(tǒng)上,信息安全設(shè)備一直是生產(chǎn)商提供驅(qū)動(dòng)程序給用戶,這種就是我們常說的有驅(qū)設(shè)備,這種設(shè)備往往是開發(fā)商將設(shè)備設(shè)計(jì)成開發(fā)商的自定義設(shè)備。后來出現(xiàn)了無需驅(qū)動(dòng)即可使用的軟件保護(hù)產(chǎn)品,即驅(qū)動(dòng)由操作系統(tǒng)直接提供,這種就是我們常用的無驅(qū)設(shè)備,例如飛天軟件保護(hù)產(chǎn)品——ROCKEY2,即采用低速的HID來作為其通訊協(xié)議。比起其他有驅(qū)信息安全設(shè)備,無驅(qū)的信息安全設(shè)備傳輸數(shù)據(jù)的速率要低許多,用于無驅(qū)的這類協(xié)議如HID一般只用于鼠標(biāo)、鍵盤等輸入設(shè)備,這類設(shè)備與系統(tǒng)交互的數(shù)據(jù)量很少。
有驅(qū)的信息安全設(shè)備的最大缺點(diǎn)是使用起來很不方便,無論是軟件加密保護(hù)設(shè)備還是其他信息安全設(shè)備的特殊性,即它提供給最終用戶的驅(qū)動(dòng)程式可能是多個(gè)相同或不同的版本,甚至是多個(gè)開發(fā)商版本的。當(dāng)有多個(gè)開發(fā)商提供的驅(qū)動(dòng)程序提供給同一用戶的時(shí)候,問題就會(huì)顯而然地出現(xiàn),用戶面臨的是多個(gè)同類設(shè)備的多個(gè)不同版本的驅(qū)動(dòng),驅(qū)動(dòng)程序彼此就會(huì)產(chǎn)生沖突,以致造成用戶安裝失敗甚至計(jì)算機(jī)系統(tǒng)的崩潰。不僅如此,驅(qū)動(dòng)程序的安裝,本身就存在對(duì)操作系統(tǒng)潛在的威脅和污染。
對(duì)于目前廣泛使用的無驅(qū)的軟件保護(hù)設(shè)備的最大缺點(diǎn)就是其速度慢,因此使用傳統(tǒng)的HID設(shè)備往往不能滿足現(xiàn)在的信息安全設(shè)備的需要。
無驅(qū)的通用串行總線設(shè)備主要其固有的問題在于其與PC進(jìn)行通訊的是由協(xié)議決定的,這些協(xié)議都是由PC上定義的,即我們所常說的通用串行總線協(xié)議。因此,要提高其傳輸速率的工作必須在傳輸協(xié)議上進(jìn)行,及選擇一種快速傳輸協(xié)議并適合這種信息安全設(shè)備的協(xié)議。
對(duì)于軟件保護(hù)產(chǎn)品等信息安全設(shè)備的特點(diǎn),以上兩類設(shè)備的缺點(diǎn)就顯得十分明顯,首先它的最大的性能指標(biāo)是運(yùn)行速度和通訊速率,其運(yùn)行速度也就是指令在設(shè)備里運(yùn)行的速度,主要由算法和CPU決定,可以改善的余地不大,關(guān)鍵在于通訊速率,而無驅(qū)低速設(shè)備的傳輸速率根本達(dá)不到設(shè)備運(yùn)行的最佳狀態(tài),因而會(huì)導(dǎo)致用戶程序運(yùn)行效率的低下;其次,由于開發(fā)商的程序可能有很多種,如果采用有驅(qū)自定義設(shè)備,最終用戶在每個(gè)使用程序的計(jì)算機(jī)上都要安裝驅(qū)動(dòng),這樣就造成開發(fā)商程序的使用不便;最后,假設(shè)開發(fā)商本來就是一個(gè)很小的程序,由于驅(qū)動(dòng)這一特殊軟件在用戶計(jì)算機(jī)內(nèi)的存在,本身就對(duì)于用戶計(jì)算機(jī)系統(tǒng)存在潛在的威脅(如造成系統(tǒng)不穩(wěn)定等)和資源的浪費(fèi)。
此外,在2002年市場(chǎng)上廣為流行的U盤中,它所實(shí)現(xiàn)的就是一種基于通用串行總線的高速無驅(qū)設(shè)備,但是它的主要目的用于存儲(chǔ),內(nèi)部無CPU和自定義算法,不能作為用于信息安全或軟件保護(hù)領(lǐng)域的安全設(shè)備。

發(fā)明內(nèi)容
本發(fā)明要解決的問題是克服上述缺點(diǎn),提供一種安全、高速的通用串行總線設(shè)備的數(shù)據(jù)傳輸方法及其設(shè)備。
為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的一種通過通用串行總線進(jìn)行數(shù)據(jù)傳輸方法,主機(jī)與串行總線設(shè)備通過如下過程進(jìn)行通訊1)主機(jī)對(duì)通用串行總線設(shè)備進(jìn)行初始化,2)主機(jī)向設(shè)備發(fā)送命令,3)設(shè)備對(duì)命令的解析和處理,4)設(shè)備對(duì)主機(jī)應(yīng)用程序的響應(yīng);主機(jī)向設(shè)備發(fā)送命令過程中,主機(jī)將指令通過SCSI協(xié)議轉(zhuǎn)換為SCSI命令,并封裝為通用串行總線命令包,通過通用串行總線協(xié)議進(jìn)行數(shù)據(jù)傳輸。
所述主機(jī)內(nèi)的操作系統(tǒng)控制主機(jī)可直接與設(shè)備進(jìn)行數(shù)據(jù)交換。
所述串行總線協(xié)議可為高速的通用串行總線批量數(shù)據(jù)傳送協(xié)議。
所述SCSI協(xié)議可包括INQUIRY、READCAPS。
所述步驟2)中主機(jī)向設(shè)備發(fā)送命令,可過程包括如下幾步a)主機(jī)應(yīng)用程序通過設(shè)備對(duì)象發(fā)送指令來進(jìn)行輸入輸出數(shù)據(jù);b)操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序?qū)⒒局噶钷D(zhuǎn)換為SCSI命令;c)操作系統(tǒng)設(shè)備驅(qū)動(dòng)將SCSI命令轉(zhuǎn)化為通用串行總線數(shù)據(jù)包;所述步驟3)中所述設(shè)備對(duì)命令的解析和處理,可包括如下過程i.設(shè)備處理含有SCSI命令的通用串行總線數(shù)據(jù)包;ii.設(shè)備根據(jù)通用串行總線數(shù)據(jù)包逐步解析成用戶數(shù)據(jù)包,并根據(jù)用戶數(shù)據(jù)包執(zhí)行相關(guān)指令。
所述步驟ii中,在執(zhí)行相關(guān)指令過程中,所述指令功能可包括數(shù)據(jù)的安全存儲(chǔ)、訪問控制、數(shù)據(jù)的處理過程。
所述數(shù)據(jù)處理過程中,對(duì)于數(shù)據(jù)的運(yùn)算處理包括自定義處理過程和標(biāo)準(zhǔn)的處理過程,標(biāo)準(zhǔn)處理過程可包括RSA、DES、3DES、MD5、SHA-1、SSF33、AES、橢圓曲線算法。
所述設(shè)備與通用串行總線批量數(shù)據(jù)傳輸協(xié)議,可由以下幾步完成A.發(fā)送設(shè)備描述符;B.發(fā)送配置描述符;C.發(fā)送字符串描述符;D.進(jìn)行設(shè)備通訊。
所述方法可應(yīng)用于信息安全或軟件保護(hù)領(lǐng)域。
一種通用串行總線傳輸設(shè)備,包括CPU用于運(yùn)行固件程序和用戶程序,通用串行總線接口芯片用于設(shè)備與主機(jī)進(jìn)行通訊,存儲(chǔ)器用于存儲(chǔ)固件程序和用戶數(shù)據(jù)、算法以及各種信息,所述CPU分別與所述通用串行總線接口芯片和存儲(chǔ)器相連。
可包括一個(gè)集成MCU芯片,所述集成MCU芯片包括集成的所述CPU、通用串行總線接口芯片和存儲(chǔ)器。
可包括一個(gè)集成MCU芯片和通用串行總線接口芯片,所述集成MCU芯片包括集成的所述CPU和存儲(chǔ)器。
所述MCU芯片可為智能卡芯片。
所述CPU可為單片機(jī),所述存儲(chǔ)器可包括RAM、ROM、EPROM、EEPROM、FLASH。
以上技術(shù)方案可以看出,在本發(fā)明中,由于采用包括設(shè)備與主機(jī)通訊的通用串行總線協(xié)議、設(shè)備向上與磁盤驅(qū)動(dòng)交互的SCSI協(xié)議,進(jìn)行數(shù)據(jù)傳輸,使這種基于串行總線的高速存儲(chǔ)技術(shù)具有較高的傳輸速率,并具有良好的使用性。本發(fā)明采用的通用串行總線進(jìn)行數(shù)據(jù)傳輸,使用操作系統(tǒng)已有的類設(shè)備驅(qū)動(dòng)程序,即可裝載初始化自身。本發(fā)明在流行的操作系統(tǒng)中不需要提供額外的驅(qū)動(dòng)程式,該流行的操作系統(tǒng)包括Microsoft Windows ME、2000、XP、2003以及Linux和Mac OS。即使不提供該驅(qū)動(dòng)的操作系統(tǒng)版本中(如windows 98),操作系統(tǒng)開發(fā)商也通用提供了附帶的驅(qū)動(dòng)程式,用于驅(qū)動(dòng)本設(shè)備,該驅(qū)動(dòng)與常規(guī)的有驅(qū)設(shè)備所使用的驅(qū)動(dòng)所占有的優(yōu)勢(shì)是1.兼容性好,該驅(qū)動(dòng)是由操作系統(tǒng)廠商提供,能夠穩(wěn)定運(yùn)行于該操作系統(tǒng)中,同時(shí)該驅(qū)動(dòng)能夠支持更多的設(shè)備,即支持所有的該類設(shè)備。
2.穩(wěn)定性好,該驅(qū)動(dòng)是由操作系統(tǒng)廠商提供,經(jīng)過完善的測(cè)試并含有數(shù)字簽名信息。
此外,本發(fā)明不提供文件系統(tǒng)支持,即不會(huì)在用戶計(jì)算機(jī)系統(tǒng)中生成盤符,以適應(yīng)信息安全產(chǎn)品的需要,即程序直接與磁盤設(shè)備交互,通過卡內(nèi)操作系統(tǒng)來進(jìn)行控制,而不是直接通過文件系統(tǒng)操作設(shè)備里的文件。這樣保證了良好的安全性。


圖1為本發(fā)明每個(gè)通訊模塊在系統(tǒng)中的位置示意圖;圖2為本發(fā)明實(shí)施例1中設(shè)備原理圖;圖3為本發(fā)明實(shí)施例2中設(shè)備原理圖。
具體實(shí)施例方式
本發(fā)明公開了一種利用通用串行總線塊傳輸協(xié)議,和SCSI協(xié)議組成的一種基于通用串行總線的高速存儲(chǔ)技術(shù)。
這種基于通用串行總線的傳輸方法,使用操作系統(tǒng)已有的類設(shè)備驅(qū)動(dòng)程序,即可裝載初始化自身。本發(fā)明在流行的操作系統(tǒng)中不需要提供額外的驅(qū)動(dòng)程式,該流行的操作系統(tǒng)包括Microsoft Windows ME、2000、XP、2003以及Linux和Mac OS。即使不提供該驅(qū)動(dòng)的操作系統(tǒng)版本中(如windows 98),操作系統(tǒng)開發(fā)商也通用提供了附帶的驅(qū)動(dòng)程式,用于驅(qū)動(dòng)本設(shè)備,該驅(qū)動(dòng)與常規(guī)的有驅(qū)設(shè)備所使用的驅(qū)動(dòng)所占有的優(yōu)勢(shì)是1)兼容性好,該驅(qū)動(dòng)是由操作系統(tǒng)廠商提供,能夠穩(wěn)定運(yùn)行于該操作系統(tǒng)中,同時(shí)該驅(qū)動(dòng)能夠支持更多的設(shè)備,即支持所有的該類設(shè)備。
2)穩(wěn)定性好,該驅(qū)動(dòng)是由操作系統(tǒng)廠商提供,經(jīng)過完善的測(cè)試并含有數(shù)字簽名信息。
通用串行總線設(shè)備的通訊方式從速度上分主要有如下幾種1.低速主要用于交互設(shè)備(鍵盤、鼠標(biāo)、游戲棒低),傳輸速率在10-20kb/s之間,此類設(shè)備的特點(diǎn)是可熱插拔、易用性好、價(jià)格低廉。
2.中速主要用于電話、音頻、壓縮視頻等,傳輸速率在500kb/s-10Mb/s之間。主要特點(diǎn)是低價(jià)格、易用性、動(dòng)態(tài)插拔、限定帶寬和延遲。
3.高速主要用于音頻、磁盤,傳輸速率在25-500Mb/s之間,主要特點(diǎn)是高帶寬、限定延遲、易用性。
通用串行總線設(shè)備的通訊方式根據(jù)通用串行總線協(xié)議分為如下幾種1.控制數(shù)據(jù)傳送在設(shè)備連接時(shí)用來對(duì)設(shè)備進(jìn)行設(shè)置,還可對(duì)指定設(shè)備進(jìn)行控制,如通道控制。
2.批量數(shù)據(jù)傳送大批量產(chǎn)生并使用的數(shù)據(jù),在傳輸約束下,具有很廣的動(dòng)態(tài)范圍。
3.中斷數(shù)據(jù)的傳送用來描述或匹配人的感覺或?qū)μ卣鞣磻?yīng)的回饋。
4.同步數(shù)據(jù)的傳送由預(yù)先確定的傳送延遲來填滿預(yù)定的通用串行總線的帶寬。
本發(fā)明中,設(shè)備與主機(jī)通訊采用的通用串行批量數(shù)據(jù)傳送協(xié)議,設(shè)備向上與設(shè)備驅(qū)動(dòng)和操作系統(tǒng)進(jìn)行交互時(shí)采用SCSI協(xié)議。
本發(fā)明中的通用串行總線傳輸設(shè)備,以主機(jī)裝載windows系統(tǒng)為例,其采用通用數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳輸?shù)姆椒?,通過如下過程實(shí)現(xiàn)1、主機(jī)應(yīng)用程序通過磁盤設(shè)備發(fā)送INQUIRY SCSI命令識(shí)別本設(shè)備。在設(shè)備接入計(jì)算機(jī)系統(tǒng)時(shí),操作系統(tǒng)會(huì)向設(shè)備發(fā)送取描述符指令,該指令主要是獲得該硬件的廠商和產(chǎn)品以及序列號(hào)信息。在加載時(shí),操作系統(tǒng)首先要向其發(fā)送一個(gè)INQUIRY命令包,其中關(guān)鍵是將DeviceType域設(shè)置為DIRECT_ACCESS_DEVICE,則該設(shè)備就表現(xiàn)為磁盤設(shè)備,同時(shí),在其中賦上廠商和產(chǎn)品字符串,以后在程序中就可以根據(jù)這兩個(gè)標(biāo)志來識(shí)別該設(shè)備。在這里主要是利用idVerdor idProduct iManufactureriSerialNumber域定義生產(chǎn)商、產(chǎn)品ID以及硬件序列號(hào)。這時(shí)iManufacturer iSerialNumbe是指向一個(gè)字符串的索引,這個(gè)字符串就是下面所提到的取字符串描述符的命令。
2、當(dāng)操作系統(tǒng)處理完設(shè)備描述符后,將會(huì)發(fā)送取配置描述符的命令,該命令主要含有配置描述符、接口描述符和端點(diǎn)描述符和字符串描述符。在本發(fā)明中,實(shí)現(xiàn)磁盤類設(shè)備的關(guān)鍵在于處理接口描述符,其中關(guān)鍵的域是bInterfaceClass和bInterfaceProtocol,在本發(fā)明中bInterfaceClass的值為08H,該值表示該設(shè)備的類是MESS STORAGE,bInterfaceProtocol的值是50H,表示該設(shè)備的通訊協(xié)議選擇BULK-ONLY協(xié)議。將該描述符處理完后,操作系統(tǒng)會(huì)自動(dòng)加載驅(qū)動(dòng),接著有MESSSTORAGE生成磁盤物理設(shè)備對(duì)象后再有磁盤驅(qū)動(dòng)加載成磁盤設(shè)備。字符串描述符主要就是提供第一步中取設(shè)備描述符中所需要的字符串,iManufacturer和iSerialNumber等只是個(gè)索引,該索引就是指向本次字符串描述符中所發(fā)送的字符串。這三個(gè)域分別是字符串的字節(jié)數(shù),描述符類型和字符串。經(jīng)過以上幾步,設(shè)備的初始化就完成了。
同時(shí)通過READCAPS獲得設(shè)備能力,該SCSI命令主要是操作系統(tǒng)通過它來獲得本設(shè)備容量等信息,只需要將SCSI命令包的DataBuf域填充一個(gè)READ_CAPACITY_DATA結(jié)構(gòu)的數(shù)據(jù),就完成了設(shè)備能力的處理。
LogicalBlockAddress域表示邏輯塊的數(shù)量,BytesPerBlock域表示塊大小,這個(gè)塊的大小是一次通訊的最小數(shù)據(jù)量,根據(jù)軟件保護(hù)產(chǎn)品的特點(diǎn),可以將這個(gè)數(shù)據(jù)設(shè)置為256、128或更低,設(shè)備的總?cè)萘烤褪沁@兩個(gè)數(shù)量的乘機(jī)。
3、設(shè)備通訊當(dāng)設(shè)備進(jìn)行初始化完畢后,應(yīng)用程序就可以通過API來和設(shè)備通訊了,當(dāng)程序與設(shè)備進(jìn)行通訊時(shí),設(shè)備在接收到的CBW數(shù)據(jù)包,中解析出SCSI數(shù)據(jù)包,READ10當(dāng)上層應(yīng)用程序通過ReadFile對(duì)本設(shè)備讀取數(shù)據(jù)時(shí),系統(tǒng)磁盤驅(qū)動(dòng)程序?qū)⒃撁钷D(zhuǎn)換為相應(yīng)的SCSI命令READ10并傳遞到下層。由于在處理該命令與標(biāo)準(zhǔn)磁盤不同,只實(shí)現(xiàn)部分協(xié)議,不需要考慮偏移和長(zhǎng)度等信息,只需要考慮DataBuf域,該域包含了自定義的通訊協(xié)議,即向本設(shè)備發(fā)送命令時(shí)由該設(shè)備返回的用戶數(shù)據(jù)。其具體過程如下1)主機(jī)應(yīng)用程序通過磁盤設(shè)備發(fā)送ReadFile和WriteFile等文件IO指令來進(jìn)行輸入輸出數(shù)據(jù)。
2)操作系統(tǒng)磁盤設(shè)備驅(qū)動(dòng)程序?qū)⒒疚募蘒O指令(ReadFile,WriteFile)轉(zhuǎn)換為SCSI命令。
3)操作系統(tǒng)磁盤設(shè)備驅(qū)動(dòng)將SCSI命令傳遞到通用串行總線STORAGE。
4)通用串行總線STORAGE將SCSI命令封裝為通用串行總線命令即通用串行總線數(shù)據(jù)包。
4、設(shè)備根據(jù)SCSI命令來進(jìn)行處理,最后返回一個(gè)狀態(tài)包CSW給應(yīng)用程序,這樣就完成了應(yīng)用程序與該設(shè)備的一次通訊過程。其具體過程如下1)設(shè)備處理含有SCSI命令的通用串行總線數(shù)據(jù)包;2)設(shè)備根據(jù)通用串行總線數(shù)據(jù)包逐步解析成用戶數(shù)據(jù)包,并根據(jù)用戶數(shù)據(jù)包執(zhí)行相關(guān)指令,其中對(duì)于數(shù)據(jù)的運(yùn)算處理包括自定義處理過程和標(biāo)準(zhǔn)的處理過程。標(biāo)準(zhǔn)處理過程則包含RSA、DES、3DES、MD5、SHA-1、SSF33、AES、橢圓曲線算法等。
在此過程中,通過對(duì)數(shù)據(jù)包內(nèi)的指令和數(shù)據(jù)進(jìn)行解析,對(duì)設(shè)備進(jìn)行認(rèn)證和授權(quán),從而確定對(duì)設(shè)備內(nèi)數(shù)據(jù)讀寫的權(quán)限。
5、當(dāng)上層應(yīng)用程序通過WriteFile對(duì)本設(shè)備寫入數(shù)據(jù)時(shí),系統(tǒng)磁盤驅(qū)動(dòng)程序?qū)⒃撁钷D(zhuǎn)換為相應(yīng)的SCSI命令WRITE10并傳遞到下層。由于在處理該命令與標(biāo)準(zhǔn)磁盤不同,只實(shí)現(xiàn)部分協(xié)議,不需要考慮偏移和長(zhǎng)度等信息,只需要考慮DataBuf域,該域包含了自定義的通訊協(xié)議,即向本設(shè)備發(fā)送命令時(shí)的用戶數(shù)據(jù)。
另外,本發(fā)明中主機(jī)程序直接與設(shè)備進(jìn)行交互,通過設(shè)備內(nèi)操作系統(tǒng)來進(jìn)行控制,而不是直接通過文件系統(tǒng)操作設(shè)備里的文件,即不提供文件系統(tǒng)支持,即不會(huì)在用戶計(jì)算機(jī)系統(tǒng)中生成盤符,以適應(yīng)信息安全產(chǎn)品的需要。
如圖1所示,描述的是本發(fā)明每個(gè)通訊模塊在系統(tǒng)中的位置。
Applications包括用戶程序和為用戶提供的本發(fā)明的接口庫A,用戶程序可以利用本發(fā)明提供的接口庫進(jìn)行對(duì)本設(shè)備的訪問。
Win32API主要是指Windows提供的API接口函數(shù)C,包括CreateFile、ReadFile、WriteFile、DeviceIoControl等,這些函數(shù)是實(shí)現(xiàn)本發(fā)明的用戶接口庫的基礎(chǔ),該接口庫主要通過這些API與下層的磁盤驅(qū)動(dòng)程序進(jìn)行交互通訊。
User-mode drivers為用戶模式驅(qū)動(dòng)B,用于提供訪問內(nèi)核模式驅(qū)動(dòng)的接口,在本發(fā)明中,用于說明API接口函數(shù)C在系統(tǒng)中所處的層次。
Other kernel-mode drivers為系統(tǒng)其他內(nèi)核模式驅(qū)動(dòng)D,用于用戶模式驅(qū)動(dòng)程序訪問硬件及系統(tǒng)功能提供服務(wù),在本發(fā)明中,用于說明下述E1、E2、E3在系統(tǒng)中功能的層次。
Disk Drivers磁盤驅(qū)動(dòng)程序E1,由操作系統(tǒng)定義,它負(fù)責(zé)將上層的讀寫請(qǐng)求轉(zhuǎn)換成SCSI協(xié)議并發(fā)送給下層設(shè)備。
SCSI Drivers SCSI設(shè)備驅(qū)動(dòng)程序E2,主要是指SCSI適配器,由操作系統(tǒng)定義,它負(fù)責(zé)將上層的SCSI協(xié)議進(jìn)行封裝并發(fā)送給下層設(shè)備。
通用串行總線驅(qū)動(dòng)E3,這里主要指通用串行總線STORAGE驅(qū)動(dòng),由操作系統(tǒng)定義,它負(fù)責(zé)將上層封裝的SCSI協(xié)議封裝成通用串行總線數(shù)據(jù)包發(fā)送給下層硬件抽象層G。
File system drivers為文件系統(tǒng)驅(qū)動(dòng)F,用于提供系統(tǒng)的文件系統(tǒng)管理,如FAT32。
HAL硬件抽象層G,由操作系統(tǒng)定義和實(shí)現(xiàn),主要提供硬件訪問服務(wù),根據(jù)上層傳遞下來的硬件請(qǐng)求與硬件進(jìn)行交互。
串行總線設(shè)備H,即為串行總線設(shè)備中的固件程序,用于解釋處理通用串行總線數(shù)據(jù)包,在本發(fā)明中用于說明本發(fā)明的設(shè)備。
本發(fā)明還提供一個(gè)串行總線數(shù)據(jù)傳輸通訊界面,該通訊界面至少實(shí)現(xiàn)一個(gè)信息安全產(chǎn)品的功能。該界面負(fù)責(zé)將用戶請(qǐng)求發(fā)送給本設(shè)備。本發(fā)明所實(shí)現(xiàn)的SCSI協(xié)議,可以將本設(shè)備的支持上升到操作系統(tǒng)的磁盤層,即在操作系統(tǒng)中表現(xiàn)為磁盤,但并不實(shí)現(xiàn)其文件系統(tǒng),因此不會(huì)提供一個(gè)基于文件的訪問界面。以Windows操作系統(tǒng)例,應(yīng)用層程序可以直接通過SetupAPI對(duì)磁盤層設(shè)備進(jìn)行枚舉,再對(duì)每個(gè)設(shè)備進(jìn)行Inquiry查詢來判斷是否屬于自己的設(shè)備,最后通過CreateFile API打開設(shè)備句柄來進(jìn)行通訊。該通訊界面利用操作系統(tǒng)提供的API函數(shù),通過磁盤層通過直接讀寫的方式進(jìn)行通訊。
根據(jù)本發(fā)明的上述技術(shù)內(nèi)容,提供了兩種種優(yōu)選實(shí)施例實(shí)施例1提供一種軟件保護(hù)設(shè)備如圖2所示,包括一個(gè)集成MCU芯片5,所述集成MCU芯片集成了CPU 8和分別與CPU相連的通用串行總線接口芯片7和存儲(chǔ)器。在本實(shí)施例中,CPU 8可以是任意的如Intel 8051、Philips 80C31等一系列微處理器,通用串行總線接口芯片7為USB接口芯片,存儲(chǔ)器可以是FLASH 9、RAM 10、ROM 11、EPROM 12等,所述USB接口芯片7通過通用串行總線協(xié)議,即本實(shí)施例中的USB協(xié)議3,和SCSI協(xié)議2與主機(jī)操作系統(tǒng)中的IO指令1進(jìn)行交互。所述的MCU可以是一般的單片機(jī)如80C51等,也可以是專門的智能卡芯片如ATMEL6464C-U,采用智能卡芯片的優(yōu)點(diǎn)在于,能夠在設(shè)備未授權(quán)時(shí),保證內(nèi)部程序和普通數(shù)據(jù)的不可讀。
所述的存儲(chǔ)器主要用于存儲(chǔ)固件程序、標(biāo)準(zhǔn)算法、用戶程序。標(biāo)準(zhǔn)算法中包括浮點(diǎn)運(yùn)算,標(biāo)準(zhǔn)加解密算法,所述標(biāo)準(zhǔn)加解密算法包括DES、RSA、AES、TDES等,用戶程序?yàn)橛脩粼谑褂迷O(shè)備時(shí)根據(jù)自身需要,自主設(shè)定的任意一段程序的執(zhí)行邏輯。
所述存儲(chǔ)器還用于保存用戶軟件的部分片斷,保證這部分片斷的安全,而不被讀出,并使之在其內(nèi)運(yùn)行并與外部軟件交互,以此來控制軟件保證其合法運(yùn)行。該實(shí)施例的特點(diǎn)是與外部程序交互頻繁,計(jì)算速度和通訊速度是主要的速度性能指標(biāo)。
根據(jù)該實(shí)施例的功能,該實(shí)施例要實(shí)現(xiàn)如下的軟件保護(hù)功能
1.獲得設(shè)備信息,這個(gè)信息主要是本軟件保護(hù)設(shè)備的信息,這些信息是存儲(chǔ)在內(nèi)部存儲(chǔ)器內(nèi)的,它主要是提供給用戶的記憶和識(shí)別自己的設(shè)備的功能。
2.格式化,用戶可以對(duì)本設(shè)備進(jìn)行格式化,經(jīng)過格式化后使所有的設(shè)置和數(shù)據(jù)恢復(fù)到出廠狀態(tài)。
3.寫文件,這類文件包括用戶的代碼片斷,或者該片斷運(yùn)行時(shí)所需要的數(shù)據(jù)。
4.讀文件,這類文件可以是代碼片斷運(yùn)行時(shí)的數(shù)據(jù)文件但不是該代碼片斷本身。
5.運(yùn)行文件,這類文件就是指用戶寫入的代碼片斷,讓這些代碼片斷在本設(shè)備內(nèi)運(yùn)行并保證其運(yùn)行的一切數(shù)據(jù)和內(nèi)存信息保留在設(shè)備以內(nèi)而只返回結(jié)果。
6.加解密,提供給用戶在硬件內(nèi)部進(jìn)行對(duì)用戶數(shù)據(jù)RSA、DES、3DES等加解密,并將加解密結(jié)果返回給用戶。
7.遠(yuǎn)程升級(jí),可以使用戶在進(jìn)行了軟件分發(fā)后,不需要重新從其客戶那里寄回設(shè)備就可以通過網(wǎng)絡(luò)等方式對(duì)客戶的設(shè)備進(jìn)行升級(jí)。
軟件保護(hù)API(SDK)軟件保護(hù)API是軟件保護(hù)設(shè)備和第三方應(yīng)用之間的接口。
這個(gè)API主要由開發(fā)商使用。
該API主要提供如下功能1.打開設(shè)備打開該設(shè)備的句柄,建立與該設(shè)備的通訊通道。
2.關(guān)閉設(shè)備在設(shè)備準(zhǔn)備不再使用的時(shí)候,將該設(shè)備的句柄和設(shè)備狀態(tài)信息清除。
3.發(fā)送命令這個(gè)是本軟件保護(hù)產(chǎn)品的核心部分,實(shí)現(xiàn)對(duì)本設(shè)備的所有設(shè)置工作,即所有軟件保護(hù)功能的實(shí)現(xiàn)。
軟件保護(hù)設(shè)備的主要作用是保護(hù)程序部分不會(huì)出現(xiàn)在PC的內(nèi)存中,這樣所帶來的好處是1.防止程序的非法拷貝,PC機(jī)上的程序離開軟件保護(hù)設(shè)備就是不完整的,軟件的分發(fā)必須有軟件保護(hù)設(shè)備的存在。
2.防止程序被非法跟蹤或調(diào)試,軟件的重要部分的代碼不會(huì)運(yùn)行在PC機(jī)中,所有的調(diào)試軟件都無法得到該段程序的運(yùn)行狀態(tài)。
3.防止被轉(zhuǎn)儲(chǔ),軟件最易被破解的情況是其在運(yùn)行的時(shí)候,傳統(tǒng)的加殼保護(hù)的軟件,經(jīng)常被內(nèi)存轉(zhuǎn)儲(chǔ)的情況下將代碼還原回來。
4.防止反編譯,無論反編譯的技術(shù)有多高,都無法得到該實(shí)施例設(shè)備內(nèi)部的代碼片斷,因此無法實(shí)現(xiàn)其軟件本身的完整功能。
實(shí)施例2提供一種身份驗(yàn)證設(shè)備。
如圖3所示,包括一個(gè)集成MCU芯片6和通用串行總線接口芯片7,所述集成MCU芯片6集成了CPU 8和與CPU相連的存儲(chǔ)器,所述通用串行總線接口芯片7與集成MCU芯片中的CPU 8相連。CPU 8可以是任意的如Intel 8051、Philips 80C31等一系列微處理器,通用串行總線接口芯片7可以是任意可以和PC機(jī)的通用串行總線接口通訊的接口芯片,本實(shí)施例中為USB接口芯片,存儲(chǔ)器可以是FLASH 9、RAM 10、ROM 11、EPROM12等。所述USB接口芯片7通過通用串行總線協(xié)議,即本實(shí)施例中的USB協(xié)議3,和SCSI協(xié)議2與主機(jī)操作系統(tǒng)中的IO指令1進(jìn)行交互。所述的MCU可以是一般的單片機(jī)如80C51等,也可以是專門的智能卡芯片如ATMEL6464C-U,采用智能卡芯片的優(yōu)點(diǎn)在于,能夠在設(shè)備未授權(quán)時(shí),保證內(nèi)部程序和普通數(shù)據(jù)的不可讀。
所述的存儲(chǔ)器主要用于存儲(chǔ)固件程序、標(biāo)準(zhǔn)算法、用戶程序。標(biāo)準(zhǔn)算法中包括浮點(diǎn)運(yùn)算,標(biāo)準(zhǔn)加解密算法,所述標(biāo)準(zhǔn)加解密算法包括DES、RSA、AES、TDES等,用戶程序?yàn)橛脩粼谑褂迷O(shè)備時(shí)根據(jù)自身需要,自主設(shè)定的任意一段程序的執(zhí)行邏輯。
本實(shí)施例中所述身份驗(yàn)證設(shè)備,主要負(fù)責(zé)保存用戶敏感數(shù)據(jù),如密碼、數(shù)字證書等。本實(shí)施例的實(shí)施是基于智能卡的,它所包含的智能卡功能包括1.控制訪問網(wǎng)絡(luò)該實(shí)施例所具有的智能卡功能,含有ID信息和用戶驗(yàn)證信息,用于登陸網(wǎng)絡(luò)。
2.用于驗(yàn)證和鑒別文件的發(fā)送者身份的數(shù)字簽名或證明,并防止被中途篡改。
3.控制登陸到計(jì)算機(jī),現(xiàn)代的操作系統(tǒng)一般都支持智能卡登陸,可以防止手動(dòng)輸入密碼時(shí)被監(jiān)控或被人偷窺。
4.登陸到手保護(hù)的WEB頁,銀行得網(wǎng)站可以利用簽名信息來識(shí)別用戶得合法性。
5.控制文件的訪問,可以在一些文件中加入訪問控制信息,可以防止在無智能卡的情況下非法訪問或運(yùn)行。
6.控制登陸到特定的應(yīng)用系統(tǒng),開發(fā)商可以將此功能用于自己的產(chǎn)品,該產(chǎn)品可以利用本實(shí)施例設(shè)備來進(jìn)行登陸。
簽名設(shè)備API(SDK)簽名設(shè)備API是簽名設(shè)備和第三方應(yīng)用之間的接口。
這個(gè)API主要由開發(fā)商使用。
該API主要提供如下功能1.打開設(shè)備打開該設(shè)備的句柄,建立與該設(shè)備的通訊通道。
2.關(guān)閉設(shè)備在設(shè)備準(zhǔn)備不再使用的時(shí)候,將該設(shè)備的句柄和設(shè)備狀態(tài)信息清除。
3.發(fā)送命令這個(gè)是簽名設(shè)備的核心部分,實(shí)現(xiàn)對(duì)本設(shè)備的所有設(shè)置工作,即所有本簽名設(shè)備的智能卡功能的實(shí)現(xiàn)。
數(shù)字簽名設(shè)備的主要作用是保護(hù)重要得到敏感數(shù)據(jù)永遠(yuǎn)都不會(huì)被讀出設(shè)備之外如PC的內(nèi)存中,這樣所帶來的好處是1.用戶不必記憶冗長(zhǎng)的密碼,安全的密碼一定有字母和數(shù)字組成足夠復(fù)雜的字符串,而且是時(shí)常更新的,用智能卡來存儲(chǔ)密碼信息可以免去用戶的麻煩。
2.提供雙的保險(xiǎn)措施,即使用戶的密碼或數(shù)字簽名設(shè)備的一方丟失,都不會(huì)給用戶帶來風(fēng)險(xiǎn)。
以上對(duì)本發(fā)明所提供的一種通用串行總線設(shè)備的數(shù)據(jù)傳輸方法及其設(shè)備,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種通用串行總線數(shù)據(jù)傳輸方法,主機(jī)與串行總線設(shè)備通過如下過程進(jìn)行通訊1)主機(jī)對(duì)通用串行總線設(shè)備進(jìn)行初始化,2)主機(jī)向設(shè)備發(fā)送命令,3)設(shè)備對(duì)命令的解析和處理,4)設(shè)備對(duì)主機(jī)應(yīng)用程序的響應(yīng);其特征在于主機(jī)向設(shè)備發(fā)送命令過程中,主機(jī)將指令通過SCSI協(xié)議轉(zhuǎn)換為SCSI命令,并封裝為通用串行總線命令包,通過通用串行總線協(xié)議進(jìn)行數(shù)據(jù)傳輸。
2.根據(jù)權(quán)利要求1所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于所述主機(jī)內(nèi)的操作系統(tǒng)控制主機(jī)直接與設(shè)備進(jìn)行數(shù)據(jù)交換。
3.根據(jù)權(quán)利要求1或2所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于所述串行總線協(xié)議為高速的通用串行總線批量數(shù)據(jù)傳送協(xié)議。
4.根據(jù)權(quán)利要求1或2所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于所述SCSI協(xié)議包括INQUIRY、READCAPS。
5.根據(jù)權(quán)利要求1或2所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于步驟2)中主機(jī)向設(shè)備發(fā)送命令過程,包括如下步驟a)主機(jī)應(yīng)用程序通過設(shè)備對(duì)象發(fā)送指令來進(jìn)行輸入輸出數(shù)據(jù);b)操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序?qū)⒒局噶钷D(zhuǎn)換為SCSI命令;c)操作系統(tǒng)設(shè)備驅(qū)動(dòng)將SCSI命令轉(zhuǎn)化為通用串行總線數(shù)據(jù)包。
6.根據(jù)權(quán)利要求1或2所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于步驟3)中所述設(shè)備對(duì)命令的解析和處理,包括如下過程i.設(shè)備處理含有SCSI命令的通用串行總線數(shù)據(jù)包;ii.設(shè)備根據(jù)通用串行總線數(shù)據(jù)包逐步解析成用戶數(shù)據(jù)包,并根據(jù)用戶數(shù)據(jù)包執(zhí)行相關(guān)指令。
7.根據(jù)權(quán)利要求6所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于所述步驟ii中,在執(zhí)行相關(guān)指令過程中,所述指令功能包括數(shù)據(jù)的安全存儲(chǔ)、訪問控制、數(shù)據(jù)的處理過程。
8.根據(jù)權(quán)利要求7所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于所述數(shù)據(jù)處理過程中,對(duì)于數(shù)據(jù)的運(yùn)算處理包括自定義處理過程和標(biāo)準(zhǔn)的處理過程,標(biāo)準(zhǔn)處理過程包括RSA、DES、3DES、MD5、SHA-1、SSF33、AES、橢圓曲線算法。
9.根據(jù)權(quán)利要求3所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于所述設(shè)備與通用串行總線批量數(shù)據(jù)傳輸協(xié)議,由以下幾步完成A.發(fā)送設(shè)備描述符;B.發(fā)送配置描述符;C.發(fā)送字符串描述符;D.進(jìn)行設(shè)備通訊。
10.根據(jù)權(quán)利要求1或2所述的通用串行總線數(shù)據(jù)傳輸方法,其特征在于所述方法應(yīng)用于信息安全或軟件保護(hù)領(lǐng)域。
11.一種通用串行總線傳輸設(shè)備,其特征在于,包括CPU用于運(yùn)行固件程序和用戶程序,通用串行總線接口芯片用于設(shè)備與主機(jī)進(jìn)行通訊,存儲(chǔ)器用于存儲(chǔ)固件程序和用戶數(shù)據(jù)、算法以及各種信息,所述CPU分別與所述通用串行總線接口芯片和存儲(chǔ)器相連。
12.根據(jù)權(quán)利要求11所述的通用串行總線傳輸設(shè)備,其特征在于包括一個(gè)集成MCU芯片,所述集成MCU芯片包括集成的所述CPU、通用串行總線接口芯片和存儲(chǔ)器。
13.根據(jù)權(quán)利要求11所述的通用串行總線傳輸設(shè)備,其特征在于包括一個(gè)集成MCU芯片和通用串行總線接口芯片,所述集成MCU芯片包括集成的所述CPU和存儲(chǔ)器。
14.根據(jù)權(quán)利要求12或13所述通用串行總線傳輸設(shè)備,其特征在于所述MCU芯片是安全設(shè)計(jì)的芯片,包括智能卡芯片。
15.根據(jù)權(quán)利要求11或12或13所述通用串行總線傳輸設(shè)備,其特征在于所述CPU為單片機(jī),所述存儲(chǔ)器包括RAM、ROM、EPROM、EEPROM、FLASH。
全文摘要
本發(fā)明要解決的問題是提供一種通用串行總線設(shè)備的數(shù)據(jù)傳輸方法及其設(shè)備。本發(fā)明中,由于采用包括設(shè)備與主機(jī)通訊的通用串行總線協(xié)議、設(shè)備向上與設(shè)備驅(qū)動(dòng)交互的SCSI協(xié)議組成的一種基于通用串行總線的高速傳輸技術(shù),進(jìn)行數(shù)據(jù)傳輸,使這種采用了通用串行總線進(jìn)行的數(shù)據(jù)傳輸,使用操作系統(tǒng)已有的類設(shè)備驅(qū)動(dòng)程序,即可裝載初始化自身,又具有較高的傳輸速率,并具有良好的使用性。
文檔編號(hào)G06F13/42GK1687916SQ20051007511
公開日2005年10月26日 申請(qǐng)日期2005年6月8日 優(yōu)先權(quán)日2005年6月8日
發(fā)明者黃煜, 陸舟, 陳凡 申請(qǐng)人:北京飛天誠信科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
林口县| 金川县| 望谟县| 勐海县| 惠来县| 乌拉特中旗| 东平县| 普安县| 北海市| 遵义县| 诏安县| 洪洞县| 乌什县| 城固县| 仙居县| 台南市| 忻城县| 水富县| 济宁市| 枣庄市| 固原市| 太保市| 慈溪市| 玉溪市| 合山市| 全南县| 汉中市| 上思县| 中阳县| 保靖县| 烟台市| 海宁市| 玛纳斯县| 伊金霍洛旗| 中山市| 翁牛特旗| 锦屏县| 海林市| 苍溪县| 沭阳县| 平乡县|