《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > U盤唯一性標識信息的構建與識別方法

U盤唯一性標識信息的構建與識別方法

2009-06-26
作者:李俊艷1,2, 高 楊2,3,

??? 摘? 要: 根據涉密存儲介質保密管理的要求,以U盤為例,提出一種新穎的、以USB協議和大容量存儲類協議為基礎的移動存儲介質管理架構。存儲介質的唯一性標識由VID、PID和硬件序列號組成。同時還提出了基于CY7C67300嵌入式主機控制器的USB總線介質管理方案。通過USB總線枚舉方式,逐一識別介質唯一性標識并通過超級終端顯示。測試結果證明,該標識和識別方法可以用于移動存儲介質安全管理系統,從而使涉密移動存儲介質處于實時監控狀態下,大大減少了泄密風險。?

??? 關鍵詞: 信息安全; 移動存儲介質; 唯一性標識; 嵌入式USB主機控制器; USB總線枚舉

?

??? 按照保密管理規定,涉密單位職工使用完U盤等移動存儲介質必須當天按時歸還保密員,并存儲在密碼文件柜中(如部隊的槍支入架)。保密文件柜由保密員人工管理,涉及借出、歸還、監督、提醒等事項,難免疏漏。若個別人員違規(未經審批許可)攜帶涉密U盤外出,可能導致涉密U盤丟失或涉密數據失竊,泄漏國家或商業秘密,造成巨大的損失。因此,涉密U盤的保密管理,需要依靠創新的技術手段,保障保密管理規章制度的貫徹落實。為了實現涉密U盤保密管理的智能化“機控”,需要為每個U盤定義一個可查詢、不易修改的唯一性標識(Unique identifier),且該標識應很容易與使用者綁定,從而使涉密U盤的保密管理責任到人,以減少泄密隱患。?

??? 本文以通用串行總線USB1.0、USB2.0協議為基礎,采用CY7C67300單芯片實現嵌入式USB主機控制器,完成該控制器對U盤的控制以及讀取U盤唯一性標識信息的功能。?

1 工作原理?

1.1 唯一性標識的構建?

??? USB控制/批量/中斷CBI(Control/Bulk/Interrupt)傳輸協議和USB Bulk-Only協議中規定,U盤等符合大容量存儲類MSC(Mass Storage Class)協議的設備,如果其序列號索引值不為0,則U盤內必定含有一個唯一的序列號與之匹配[1-2]。如表1所示,在其設備描述符中偏移值為16的字段只規定了其序列號的索引值,如果其索引值為0,則說明此設備不含序列號,反之,設備必定含有一個唯一的序列號。序列號的格式如表2所示,表中,第一項為序列號的長度,其最小值為26;第二項為序列號的類型,其值為3,說明序列號為字符串描述符;第三至第n×2項為序列號的內容。USB CBI 和Bulk-Only協議中規定序列號至少由12個有效的數字字符組成,這些數字字符的有效范圍為:數字0~9,字符A~F。?

?

?

?

??? 本文采用16 bit VID(設備描述符偏移量為8)+16 bit PID(設備描述符偏移量為10)+序列號構成GUID(全球唯一ID)作為U盤的唯一性標識。?

1.2 唯一性標識的識別?

??? 如前所述,獲取U盤唯一性標識就是獲取設備描述符中的VID、PID和字符串描述符中的序列號。本文采用USB總線枚舉方式獲得U盤的唯一性標識。?

??? 總線枚舉是指對總線上接入的USB設備進行識別和尋址操作。當USB主機發現有設備連接時,立刻通過默認的地址0發送讀取設備描述符的命令,然后利用控制傳輸的標準命令為其動態配置設備地址,再通過該地址繼續讀取有關設備、配置、接口以及字符串描述符,并建立有關信息的資料區[3]。這些信息主要包括VID、PID和端點信息等。其中,VID、PID的獲取是通過Get_descriptor( )標準請求命令實現的。字符串描述符信息的獲取沒有明確的定義,需要開發一種用于獲取字符串信息的命令請求。?

??? 本文利用嵌入式控制器完成USB主機功能,通過USB主機實現總線枚舉、控制傳輸以及獲取設備描述符的標準請求命令和獲取字符串描述符的請求命令,從而實現U盤唯一性標識信息識別裝置的設計。?

2? 裝置設計?

2.1 硬件結構?

??? U盤唯一性標識識別裝置的硬件結構框圖如圖1所示。采用CY7C67300作為核心處理器,CY16工作在獨立模式下,控制CY7C67300芯片內部的USB串行接口引擎SIE(Serial Interface Engine)完成USB主機的功能,控制LTC3186芯片進行電平轉換,完成異步串行收發器UART可以用來調試。通過I2C接口控制EEPROM以下載程序。通過外部存儲器接口控制外部存儲器以擴展代碼和數據存儲空間。?

?

?

??? 核心處理芯片CY7C67300是CYPRESS公司的嵌入式主機/外設控制器,其內部結構如圖2所示。主機部分包括高性能16位48 MHz RISC微處理器CY16,該處理器可以獨立工作(獨立模式),也可以與其他處理器協同工作(協處理器模式);2個SIE,每個可單獨配置,有2個端口USB-A、USB-B;可配置的I/O電路模塊能連接眾多標準接口,高達16位可編雙向數據I/O,多達32位通用I/O;4 K×16 bit內部掩模板ROM,內有基本輸入輸出系統BIOS,支持I2C、EEPROM,外部ROM、UART、USB等外設端口通信就緒狀態;8 K×16 bit內部RAM能由用戶配置;具有外接SRAM,DRAM和ROM存儲器接口,芯片外部可以擴展512 KB存儲空間;芯片內部集成有定時器和看門狗電路;工作電壓3.3 V,100引腳TQFP封裝。?

?

?

2.2 嵌入式USB主機設計?

??? 采用CY7C67300芯片實現嵌入式USB主機,嵌入式主機結構如圖3所示。?

?

?

??? 嵌入式主機由BIOS、框架結構(Frameworks)和應用驅動層(AppDrive)三部分組成。其工作原理為:Frameworks發現有新的設備連接時,創建一個device object(設備列表)并查詢是否與USB大容量存儲類驅動USB MSC Driver匹配,如果匹配,Frameworks則調用設備驅動程序中的start-device()函數;如果不匹配,則返回繼續監測是否有新的設備連接。在嵌入式主機結構中,應用程序和設備驅動程序并未完全分開,而是集成在一起稱之為AppDrive,當AppDrive開始運行時,它會創建USB請求塊URBs(USB Requst Block)給Frameworks去處理。當URB處理完成后,Frameworks調用由AppDrive指定的回調函數。Frameworks利用在通用主機控制器接口UHCI(Universal Host Controller Interface)標準中定義的調度算法建立傳輸描述列表TD-List(Transfer Descriptor List)并將TD-List傳輸給EZ-HOST的BIOS去處理,BIOS返回一個新的TD-List狀態信息給Frameworks,并將TD-List內容傳給USB總線。Frameworks開始創建下一幀的TD-List,TD_List結構體定義[4]如下:?

??? typedef struct TD?

{ ? void??? *address;? ?

??? uint16? length;???? ?

??? uint16? port_num;?? ?

??? uint16? ep;????????? ?

??? uint16? pid;?????? ?

??? uint16? dev_address ; ?

??? uint8?? control;?

??? uint8?? status;?

??? uint16? retry_cnt; ?

??? uint16? retry_xfer_type;?

??? uint16? retry_active;?

??? uint16? unused_3;?

??? uint16? residue;? ?

??? struct TD?? *next_TD;?????????? ?

??? } TD;?

??? 該結構體包含數據緩存的基地址、數據長度和端口號以及傳輸的包標識pid(packet identifier)、主機給設備分配的地址、控制位和狀態位、重傳次數、傳輸類型以及傳輸是否有效等成員變量。?

2.2.1 嵌入式USB主機 BIOS?

??? USB主機BIOS包含HUSB-SIE1-INIT-INT, HUSB-SIE2-INIT-INT和HUSB-RESET-INT3個軟件中斷,其中,HUSB-SIEx-INIT-INT(x=1,2)用于執行TD-List,主要實現以下功能:設置SIE為主機并執行初始化,檢測是否有等待傳輸的TD-List,如果有,繼續進行TD-List的傳輸;通過USB傳輸所有的TD 數據;更新TD狀態并對錯誤進行處理。HUSB-RESET-INT執行以下3個功能:USB 復位;速度檢測;幀開始SOF(Start of Frame)和包結束EOP(End of Packet)產生。?

2.2.2 USB主機控制器 Frameworks?

??? 自主開發USB主機固件任務相當艱巨,而CYPRESS公司提供了大量的USB主機固件程序,系統在此基礎上可進行修改,節約了大量的開發時間,提高了系統完成的效率。?

??? 當系統上電時,Frameworks會不斷地查詢是否有新的設備連接,如果發現有新的設備,Frameworks會建立如下所示的設備對象。?

??? typedef struct USB_DEVICE?

??? {???uint8??? sie;?

  ????uint8??? port;?

  ????uint8??? address;?

???   uint8??? hub_port;?

  ??? uint8??? speed;?

  ??? uint8??? EP0_max_pkt;?

  ??? uint8??? enum_state;?

  ??? uint8??? otg_attributes;? ?

??? USB_DEVICE_DESCRIPTOR?? dev_descr;?

??? STRING_DESCRIPTOR_NODE?? dev_string_descr;?

??? uint8??? cfg_descr[];?

??? uint8??? setup_packet_buffer[]?

??? USB_INTERFACE_DESCRIPTOR? *inf_descr;?

??? USB_HUB_DESCRIPTOR????? hub_descr;?

??? void??????????????????? *hub_context;?

??? void??????????????????? *msc_context;?

??? bool??? ???????????????????? idleCheck;?

???   } USB_DEVICE;?

??? 如果該設備對象與設備驅動程序匹配,則開始填充該設備對象的信息,包括設備所在的端口、地址或集線器接口、速度、設備描述符、字符串描述符等[4]。Frameworks利用URB獲取新設備的信息,通過URB建立1個或多個TD,通過BIOS與USB總線交換信息。?

2.2.3 MSC驅動?

??? Frameworks發現有設備連接時,根據應用驅動程序發出的URB獲得設備信息。U盤屬于MSC(Mass Storage Class)設備,所以必須開發MSC驅動。驅動實現結構圖如圖4所示,分三層任務:初始化任務Init_Task,閑置任務Idle_Task,回調任務CallBack_Tasks。其中,Init_Task負責設置Idle_Task和任何一個CallBack_Tasks、Init_Task只運行一次,執行完Init_Task后必須釋放其占用的內存,把控制權交還給調用者。?

??? 每個Idle_Task建立一個Idle_Chain與上一層即應用層(Applycation)的Idle_Task相連接,負責尋找要做的工作。?

??? CallBack_Tasks負責執行Idle_Task尋找的工作,執行后導致某些事件發生,這些事件包括硬件中斷、軟件中斷或在Idle_Task中建立的處理過程。?

??? MSC驅動是通過實現CLASS-DRIVE結構體定義的成員變量函數:mscdrvr_init( )、mscdrvr_start( )、mscdrvr_stop( )、mscdrvr_run( )、mscdrvr_ioctl( )實現的。其中CLASS_DRIVER類型mscdrvr_driver結構體成員賦值如下:?

??? CLASS_DRIVER??? mscdrvr_driver =?

??? {?

??? 0x08,????????? /* uint8?? class;?????? */?

??? 0x00,????????? /* uint8?? subclass;??? */?

??? 0x50,????????? /* uint8? ?protocol;??? */?

??? 0x0000,??????? /* uint16? vendor_ID;?? */?

??? 0x0000,??????? /* uint16? product_ID;? */?

??? mscdrvr_init,? /* void?? (*init)( void ); */ mscdrvr_start,?

?????????????????? /*uint16 (*start)( USB_DEVICE *dev ); */?

??? mscdrvr_stop,? /* uint16 (*stop)(void);? */?

??? mscdrvr_run,???/* void?? (*run)(void);? ?

??? mscdrvr_ioctl, /* uint16 (*ioctl)( USB_DEVICE *, uint16,uint16, uint16 ); */?

??? };?

2.3 USB主機對設備的總線枚舉以及請求命令實現?

??? 在以CY7C67300芯片為核心實現的USB主機控制器中,USB總線枚舉過程如下:Frameworks通過一系列的URBs枚舉設備:包括GetDescriptor()、UsbSetConfig()、UsbSetInterface()等USB標準請求命令,建立TD_List,實現控制傳輸,利用控制傳輸把請求命令傳給BIOS,通過BIOS與USB總線進行通信,取得設備一系列信息。?

2.3.1 控制傳輸的實現?

??? 控制傳輸較為復雜,分為 3 個步驟:初始設置、可選數據和狀態信息步驟[5]。在初始設置中需要發送 8 字節的請求命令,創建請求命令的結構體如下:

??? typedef struct USB_DEVICE_REQUEST?

??? {?

??????? uint8?? bmRequestType;?

  ??? uint8?? bRequest??????? ?

  ??? uint16? wValue????????? ?

??? ??? uint16? wIndex????????? ?

??? ??? uint16? wLength???????? ?

??? } USB_DEVICE_REQUEST;?

??? 請求命令的各個字段分別為請求類型、請求命令、數值和索引以及獲取的數據長度。?

??? (1) 初始設置的實現?

??? 初始設置的任務就是要發送建立的 8 字節請求命令,控制傳輸的設置信息通過端點0進行傳輸。因此,設置USB_DEVICE_REQUEST指向USB_DEVICE結構體中的setup_packet_buffer[0],設置TD結構體的PID為PID_SETUP,端點號為端點0,TD地址為&setup_packet_buffer[0],發送內容即為setup_packet_buffer[0]中的請求命令。?

??? (2) 可選數據的實現?

??? 請求命令的 wLength 字段指明了需要交換的數據長度,當值為0時表示沒有可選數據;當值不為0時,設置TD結構體中的pid為PID_IN(數據傳輸方向為設備到主機)及PID_OUT(主機到設備)。length為傳輸數據的長度,address為&setup_packet_buffer[0],發送的內容即為setup_packet_buffer[0]中的數據。?

??? (3) 狀態信息的實現?

??? 在這個步驟中,主機發送控制傳輸的狀態信息,實現過程如下:設置TD結構體中的PID為PID_OUT,端點地址為0,發送setup_packet_buffer[0]中的狀態信息。?

2.3.2請求命令實現?

??? 表3為獲取設備描述符和字符串描述符的設備請求命令封裝,其中設備描述符、語言ID和字符串描述符請求命令的bmRequestType字段為1 000 000,其D7=1說明數據傳輸的方向是設備至主機,D6..5=00表示為標準請求,D4..0=00 000表示為請求命令的接收端為設備。bRequest字段的內容都為Get_Descriptor,因為設備描述符中含有語言ID和字符串描述符的索引,所以字符串描述符和語言ID的獲取都是通過獲取設備描述符實現的。Get_Descriptor命令的wValue字段為0100,01代表描述符類型為設備描述符,00為描述符索引。wIndex字段為0,wLength為設備描述符結構體的長度。Get_LanguageID命令的wValue為0300,03代表描述符類型為字符串描述符,00為描述符索引;wIndex為0,wLength為字符串描述符長度。這個命令是獲取U盤的語言ID,使語言ID作為獲取字符串描述符命令的wIndex字段值,Get_Str_Descriptor命令的wValue為0303,descriptor_type為03代表該描述符為字符串描述符,descriptor_index為03說明獲取U盤序列號的索引值為03,獲取的字符串描述符的長度wLength為字符串描述符長度。?

?

?

???? 系統根據請求命令封裝,分別實現Get_Descriptor()、Get_LanguageID()、Get_Str_Descriptor()函數,利用這些函數的返回值得到U盤的唯一性標識信息。?

3 調試結果?

??? 采用CYPRESS公司提供的軟件工具GNUPro作為調試工具。UART串口與PC主機的超級終端連接,當U盤插入系統時,超級終端上會自動輸出該U盤的VID、PID和iSerialNumber。?

??? 獲取U盤的唯一性標識的4個示例結果如下:?

??? vid=0x066f?

??? pid=0x8000?

??? Serialn==3?

??? LanguageID=0x0409?

??? descriptorlength=0x0022?

??? iserialnumber=0002F68C2AC54D98?

??? ?

??? vid=0x0204?

??? pid=0x6025?

??? serialn==3?

??? LanguageID | =0x0409?

??? descriptorlength=0x0022?

??? iserialnumber=05185200BA923502?

??? vid=0x0951?

??? pid=0x160b?

??? serialn==3?

??? LanguageID = 0x0409?

??? descriptorlength=0x0032?

??? iserialnumber=0014780F99515C8718080051?

??? vid=0x090c?

??? pid=0x1000?

??? serialn==3?

??? LanguageID = 0x0409?

??? descriptorlength=0x0022?

??? iserialnumber=AA04012700007705?

??? 本文提出了一種U盤唯一性標識的構建和識別方法;設計了以CY7C67300為核心芯片的USB主機控制器,利用該主機控制器可完成USB總線枚舉、控制傳輸和請求命令,根據請求命令對U盤唯一性標識進行識別。利用U盤的唯一性標識,可以實現涉密存儲介質的網絡化管理,遠程監控中心可實時監控U盤的狀態(借出、歸還),結合相關的保密管理規定,就可以及時發現涉密U盤管理、使用的違規行為后及時報警。這種新穎的U盤唯一性標識信息的構建與識別方法,為涉密U盤的網絡化、智能化保密管理奠定了基礎。?

參考文獻?

[1] Universal serial bus mass storage class control/bulk/interrupt (CBI) transport revision 1.1[S]. 2003-06-23. ?

[2] Universal serial bus mass storage class bulk-only transport specification revision1.0[S].http://www.usb.org/developers/docs, 1999-09-31.?

[3] 劉思久,李文文,段天明.嵌入式通用USB-Host控制器[J].電測與儀表,2006,43(7):63-66.?

[4] HYDE J. USB multi-role device design by example[M].CYPRESS, 2003.?

[5] 譚剛. 基于MCF5249的USB主機的設計與實現[D].成都:電子科技大學,2005.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美国产激情二区三区| 亚洲裸体俱乐部裸体舞表演av| 欧美日韩免费观看中文| 久久久久久久综合狠狠综合| 亚洲激情偷拍| 欧美亚洲视频在线观看| 欧美日韩久久精品| 亚洲国语精品自产拍在线观看| 欧美日韩免费一区二区三区| 国产毛片精品视频| 国产精品盗摄久久久| 午夜欧美精品久久久久久久| 亚洲午夜成aⅴ人片| 久久国产精品一区二区三区四区| 欧美一区二区三区免费看| 久久久久久久波多野高潮日日| 欧美激情一区二区三区在线视频观看| 国产精品一卡二| 亚洲一二三四久久| 欧美三级中文字幕在线观看| 国产亚洲精品bv在线观看| 欧美亚州韩日在线看免费版国语版| 久久久久青草大香线综合精品| 亚洲欧美日韩在线高清直播| 久久久在线视频| 亚洲愉拍自拍另类高清精品| 麻豆精品精品国产自在97香蕉| 亚洲欧美激情一区| 精品福利电影| 国模私拍视频一区| 久久国产精品99精品国产| 性久久久久久久久久久久| 99在线热播精品免费| 亚洲欧洲综合| 亚洲国产精品v| 亚洲国产岛国毛片在线| 午夜在线一区二区| 亚洲国产精品专区久久| 亚洲国产女人aaa毛片在线| 欧美金8天国| 国产精品igao视频网网址不卡日韩| 国产精品久久国产精麻豆99网站| 欧美激情a∨在线视频播放| 久久黄色网页| 国产精品久久久久久久久久妞妞| 亚洲毛片在线| 久久综合九色欧美综合狠狠| 久久综合网色—综合色88| 国产欧美日韩综合一区在线观看| 男女av一区三区二区色多| 亚洲网站啪啪| 欧美精品一区二区三区视频| 国产精品永久免费| 国产情人节一区| 亚洲精品永久免费精品| 在线观看国产精品淫| 亚洲美洲欧洲综合国产一区| 亚洲黄页一区| 久久久精品五月天| 亚洲人成毛片在线播放女女| 免费成人在线观看视频| 一区二区三区波多野结衣在线观看| 欧美日韩国产999| 欧美日韩在线影院| 亚洲日本免费| 欧美一级成年大片在线观看| 欧美在线综合| 在线精品视频一区二区| 1024欧美极品| 精品动漫3d一区二区三区| 国产精品不卡在线| 亚洲精品乱码久久久久久蜜桃麻豆| 伊人狠狠色丁香综合尤物| 国产精品亚洲综合一区在线观看| 亚洲激情午夜| 亚洲区国产区| 国产伦精品一区二区三区高清| 欧美不卡视频一区发布| 久久久久国产免费免费| 亚洲字幕一区二区| 欧美激情1区| 欧美gay视频| 国产视频一区在线观看| 99热免费精品在线观看| 免费日韩精品中文字幕视频在线| 国产精品成av人在线视午夜片| 欧美日韩中文在线观看| 免费日韩精品中文字幕视频在线| 国产精品久久一卡二卡| 国产精品社区| 亚洲欧洲日本mm| 在线观看亚洲视频| 国产精品wwwwww| 国产精品久久久久婷婷| 老司机免费视频一区二区三区| 久久国内精品自在自线400部| 樱桃国产成人精品视频| 在线免费观看日韩欧美| 欧美日韩一区二区三区在线| 亚洲国产精品女人久久久| 欧美激情综合五月色丁香小说| 亚洲国内欧美| 亚洲成人在线网| 日韩写真视频在线观看| 亚洲电影在线免费观看| 亚洲一区二区三区中文字幕| 欧美一区二区三区四区在线观看地址| 欧美高清在线视频观看不卡| 国产精品久久久久永久免费观看| 蜜桃av噜噜一区二区三区| 国内精品久久久久国产盗摄免费观看完整版| 亚洲日本成人在线观看| 美女在线一区二区| 在线看国产一区| 国产精品青草综合久久久久99| 伊人婷婷久久| 欧美激情一区二区三区全黄| 国产精品日韩高清| 亚洲欧美国内爽妇网| 精品av久久久久电影| 亚洲美女少妇无套啪啪呻吟| 亚洲图片在线| 亚洲欧美日韩国产另类专区| 国产精品专区一| 欧美精品一区三区| 亚洲电影一级黄| 美女视频黄 久久| 亚洲欧美日韩精品久久亚洲区| 亚洲国产欧美在线| 国产精品久久久久婷婷| 黑人巨大精品欧美一区二区小视频| 久久爱另类一区二区小说| 一区精品在线播放| 最新日韩欧美| 另类天堂av| 国产精品美女| 欧美性猛交xxxx免费看久久久| 亚洲午夜精品网| 欧美三区在线视频| 欧美日韩午夜剧场| 亚洲婷婷在线| 亚洲人成精品久久久久| 久久精品亚洲乱码伦伦中文| 国产日产亚洲精品系列| 久久久久久香蕉网| 蜜臀a∨国产成人精品| 午夜日韩福利| 欧美高清视频一区二区三区在线观看| 欧美成人在线免费观看| 欧美专区日韩专区| 久久精品一二三区| 亚洲图片激情小说| 国内精品久久久久国产盗摄免费观看完整版| 一片黄亚洲嫩模| 国产精品―色哟哟| 午夜视频在线观看一区| 韩国免费一区| 精品不卡在线| 欧美日韩精品一区二区| 国产精品影片在线观看| 极品尤物一区二区三区| 国内视频精品| 99精品视频网| 欧美精品综合| 久久久久国产一区二区三区四区| 欧美日韩在线不卡一区| 欧美国产高潮xxxx1819| 国产专区综合网| 国内精品国产成人| 裸体歌舞表演一区二区| 亚洲精品一区二区三区不| 一区二区在线视频观看| 亚洲国内精品在线| 中日韩男男gay无套| 亚洲伦理中文字幕| 欧美二区不卡| 久久久青草婷婷精品综合日韩| 欧美日韩美女在线观看| 欧美国产精品日韩| 伊人久久大香线蕉av超碰演员| 欧美日韩大陆在线| 亚洲精品之草原avav久久| 久久亚洲一区二区| 在线观看亚洲精品视频| 欧美日韩综合不卡| 亚洲高清不卡一区| 最新日韩欧美| 久久精品中文| 9i看片成人免费高清| 欧美一级黄色网| 欧美亚洲一区二区在线观看| 一区二区三区国产精华| 国内外成人免费激情在线视频| 久久久欧美精品sm网站| 欧美日本精品一区二区三区| 亚洲精品专区| 一区二区三区在线观看视频| 国产精品亚洲综合色区韩国| 亚洲神马久久| 国产精品―色哟哟| 亚洲中字在线| 久久亚洲私人国产精品va| 欧美一级视频一区二区| 欧美男人的天堂| 欧美美女bbbb| 亚洲无人区一区| 1024成人网色www| 免费成人高清视频| 国产精品va在线播放我和闺蜜| 欧美亚洲日本网站| 一区二区三区视频观看| 韩国v欧美v日本v亚洲v| 9国产精品视频| 亚洲激情一区二区| 亚洲国产视频直播| 在线一区视频| 久久影院亚洲| 一本到12不卡视频在线dvd| 欧美aaa级| 欧美激情免费在线| 亚洲黄页视频免费观看| 狠狠色狠狠色综合日日小说| 欧美午夜精品久久久| 亚洲欧洲一区二区三区久久| 国产麻豆精品theporn| 久久免费视频在线观看| 欧美涩涩视频| 亚洲视频日本| 久久久久久伊人| 欧美中文在线观看| 久久影院午夜片一区| 欧美在线播放| 国产综合在线视频| 欧美精品粉嫩高潮一区二区| 一区二区三区视频在线播放| 欧美成人精品一区二区三区| 久久女同互慰一区二区三区| 亚洲精品日韩一| 中国日韩欧美久久久久久久久| 欧美精品一区二区三区在线看午夜| 亚洲精品在线一区二区| 最新亚洲电影| 欧美视频在线观看一区| 久久久精品999| 欧美亚韩一区| 亚洲欧洲在线免费| 欧美专区在线| 久久综合中文字幕| 韩日欧美一区二区| 这里只有精品视频| 99re这里只有精品6| 在线观看的日韩av| 欧美精品一区二区三区一线天视频| 欧美中日韩免费视频| 亚洲黄色免费| 99精品国产在热久久下载| 国产自产2019最新不卡| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美国产日韩一区二区| 先锋影院在线亚洲| 国内免费精品永久在线视频| av成人免费在线观看| 国产精品jizz在线观看美国| 亚洲一区二区三区成人在线视频精品| 国产欧美精品国产国产专区| 欧美网站在线| 欧美日韩直播| 欧美aⅴ一区二区三区视频| 欧美风情在线| 国产精品亚洲а∨天堂免在线| 国产精品成人国产乱一区| 一区二区亚洲精品| 久久这里只有| 亚洲国产精品久久久久婷婷老年| 亚洲伊人久久综合| 欧美一级一区| 国语精品中文字幕| 久久久www成人免费无遮挡大片| 亚洲精品国精品久久99热一| 国产精品久久久99| 久久久久久电影| 在线观看欧美| 国产欧美日韩一区二区三区在线| 国产日韩在线不卡| 亚洲剧情一区二区| 激情五月婷婷综合| 欧美一区二区成人| 国产精品素人视频| 国产精品yjizz| 亚洲狼人精品一区二区三区| 在线欧美日韩| 亚洲黄色小视频| 国产欧美在线看| 欧美国产综合一区二区| 亚洲精品小视频| 国产精品久久久久久亚洲毛片| 国产精品亚洲综合| 亚洲福利视频一区| 亚洲激情成人在线| 久久免费视频这里只有精品| 欧美中文字幕在线视频| 国产精品亚洲а∨天堂免在线| 国精产品99永久一区一区| 国产亚洲一区二区三区在线播放| 欧美在线一二三| 亚洲视频精品在线| 亚洲影视在线| 欧美性大战久久久久久久| 中文亚洲字幕| 欧美日韩另类视频| 久久麻豆一区二区| 亚洲国产一成人久久精品| 蜜臀久久久99精品久久久久久| 99综合视频| 欧美精品一区二区三区蜜桃| 欧美在线精品一区| 在线日韩av| 久久这里有精品15一区二区三区| 亚洲午夜激情免费视频| 夜夜爽av福利精品导航| 亚洲成人资源| 国产亚洲aⅴaaaaaa毛片| 在线播放亚洲一区| 黄色精品免费| 亚洲香蕉成视频在线观看| 亚洲欧洲精品成人久久奇米网| 欧美三级视频在线观看| 91久久国产综合久久|