亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于智能合約的身份管理及認(rèn)證模型

        2020-04-24 08:51:40黃曉芳
        計算機(jī)工程與設(shè)計 2020年4期
        關(guān)鍵詞:智能用戶信息

        潘 維,黃曉芳

        (西南科技大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,四川 綿陽 621010)

        0 引 言

        PKI[1,2]技術(shù)能夠?qū)崿F(xiàn)在網(wǎng)絡(luò)中進(jìn)行安全信息交換和身份認(rèn)證,其原理是利用證書管理用戶公鑰,通過一個第三方可信任機(jī)構(gòu)——CA中心將用戶公鑰和其它身份標(biāo)識信息綁定生成證書,實現(xiàn)在互聯(lián)網(wǎng)上驗證用戶身份的目的。但中心化管理方式容易導(dǎo)致核心CA受到攻擊,并且不透明的特點使得惡意證書不能被及時檢測,存在著安全性問題。除此以外,由于多個CA機(jī)構(gòu)間互相獨立,在實現(xiàn)交叉認(rèn)證上具有一定的難度。自2008年“中本聰”發(fā)表《Bitcoin:A peer-to-peer electronic cash system》[3]以來,區(qū)塊鏈技術(shù)[4,5]作為比特幣的核心支撐技術(shù)得到了快速的發(fā)展。區(qū)塊鏈的早期特征是以比特幣為代表的可編程數(shù)字加密貨幣體系,隨著區(qū)塊鏈去中心化、公開透明以及防篡改等優(yōu)點日益凸顯,其用途已經(jīng)不僅僅局限于虛擬數(shù)字貨幣,越來越多的人開始在以太坊平臺通過智能合約開發(fā)不同類型的區(qū)塊鏈應(yīng)用[6]。智能合約最大的特點是通過設(shè)置執(zhí)行條件以及交易規(guī)則,在不依賴第三方的情況下進(jìn)行可信交易。本研究主要將區(qū)塊鏈、智能合約技術(shù)運用到身份管理及認(rèn)證上,提出了一個去中心化、分布式并且公開透明的身份管理及認(rèn)證模型,解決上述PKI技術(shù)中存在的問題。

        1 相關(guān)工作

        區(qū)塊鏈的出現(xiàn),為解決傳統(tǒng)PKI中存在的安全性問題和對認(rèn)證機(jī)制上的改進(jìn)提供了新思路,國內(nèi)外研究者對其展開了較多的研究。Fromknecht等[7]提出了一種基于區(qū)塊鏈的去中心化PKI認(rèn)證系“CertCoin”,替代證書頒發(fā)機(jī)構(gòu)(CA)提供密鑰查詢和身份綁定服務(wù),解決了當(dāng)前PKI中需要可信第三方機(jī)構(gòu)導(dǎo)致的安全性問題。CertCoin利用在線密鑰對和離校密鑰對實現(xiàn)身份的注冊、驗證及撤銷。但其缺點在于沒有進(jìn)行身份驗證,意味著無論誰首先聲稱身份的所有權(quán)就可以擁有該域名。Axon L等[8]提出了一種基于隱私保護(hù)的區(qū)塊鏈PKI——PB PKI,創(chuàng)新之處在于無需將公鑰和用戶身份信息相關(guān)聯(lián),避免了通過公鑰追蹤到用戶身份的風(fēng)險。Alexander等[9]提出了一個基于區(qū)塊鏈的PKI框架來管理X.509證書,通過給定證書與根證書之間的鏈接——信任鏈,實現(xiàn)對給定證書的驗證。但只在區(qū)塊鏈中存儲了信任鏈中的最終實體證書的Hash,一旦出現(xiàn)虛假證書將無法被監(jiān)控。Wentong Wang等[10]提出了一種基于區(qū)塊鏈的跨域認(rèn)證模型——BlockCAM,以此解決用戶訪問不同域名獲取資源的安全性和效率問題,其主要思想是將所有CA機(jī)構(gòu)組成一個聯(lián)盟鏈,在區(qū)塊鏈上存儲用戶向CA申請的證書Hash值。Rong Wang等[11]提出了一個基于權(quán)限區(qū)塊鏈的隱私保護(hù)PKI系統(tǒng),該系統(tǒng)將用戶身份認(rèn)證與授權(quán)分離,實現(xiàn)匿名發(fā)布證書,從而保護(hù)用戶身份隱私安全。Ze Wang等[12]提出了一個基于區(qū)塊鏈的證書發(fā)布和撤銷過程透明的方案,但證書的撤銷主要還是依賴于CA定期發(fā)布撤銷證書并且沒有提出一個很好的監(jiān)控架構(gòu)。

        以上提到研究都是為了解決傳統(tǒng)PKI帶來的安全性問題,盡管側(cè)重點不盡相同,但基于證書的方式難以滿足用戶多種類型身份數(shù)據(jù)的管理和認(rèn)證需求[13]。因此提出了一種基于智能合約的去中心化身份管理及認(rèn)證模型,實現(xiàn)用戶多類型身份數(shù)據(jù)的發(fā)布、認(rèn)證以及撤銷,旨在解決傳統(tǒng)PKI中心化的特點帶來的不足以及多CA之間互信難導(dǎo)致認(rèn)證機(jī)制不靈活的問題。其中“數(shù)據(jù)”是指用戶通過智能合約發(fā)布的身份數(shù)據(jù),存儲在區(qū)塊鏈中用于身份證明的憑證,具有不同的身份屬性和類型,例如學(xué)歷信息、銀行卡信息等。本研究支持用戶擁有多條身份數(shù)據(jù),實現(xiàn)在不同場景中根據(jù)不同的認(rèn)證需求,使用所需數(shù)據(jù)憑證證明身份而不必提供用戶其它的身份信息,降低身份信息泄露的風(fēng)險。

        2 模型設(shè)計

        本研究采用區(qū)塊鏈類型之一的聯(lián)盟鏈,節(jié)點經(jīng)過授權(quán)后才能加入其中,其中CA節(jié)點作為聯(lián)盟鏈中的驗證節(jié)點,主要作用是驗證用戶身份數(shù)據(jù)的真實性并簽發(fā)用戶身份認(rèn)證憑證。整個區(qū)塊鏈分布式數(shù)據(jù)庫不需要一個可信中心存在,由多個節(jié)點共同維護(hù),共識機(jī)制使得寫入的數(shù)據(jù)經(jīng)過大多數(shù)節(jié)點同意,并且這些數(shù)據(jù)在區(qū)塊鏈中是公開可查的,這些優(yōu)點可以有效解決傳統(tǒng)PKI中心化的特點帶來的安全性問題以及多CA之間互信難導(dǎo)致認(rèn)證機(jī)制不靈活的缺點。在現(xiàn)實中,姓名、家庭住址等多種身份屬性信息組合成了一個人的實體。同樣的在本研究中,“一個人”由多條身份數(shù)據(jù)組成,這些數(shù)據(jù)作為用戶進(jìn)行身份認(rèn)證的憑證。由于用戶具有多類型身份數(shù)據(jù),因此在某個服務(wù)商進(jìn)行身份認(rèn)證時,只需要根據(jù)認(rèn)證要求提供所需身份數(shù)據(jù)憑證即可,不必提供其它的身份信息,有效降低身份信息泄露的風(fēng)險。

        模型主要結(jié)構(gòu)如圖1所示,主要包括區(qū)塊鏈和可供外部調(diào)用的區(qū)塊鏈接口。用戶、服務(wù)商以及驗證節(jié)點通過調(diào)用接口實現(xiàn)用戶多類型身份數(shù)據(jù)的發(fā)布、認(rèn)證以及撤銷。在模型中,以主要的發(fā)布和認(rèn)證過程為例,對其過程進(jìn)行了圖示說明。其中用戶數(shù)據(jù)發(fā)布過程主要包含用戶身份數(shù)據(jù)注冊以及驗證節(jié)點對數(shù)據(jù)的驗證過程,分別對應(yīng)圖1中步驟(2)、步驟(3)和步驟(4)、步驟(5)。認(rèn)證過程主要是用戶利用已發(fā)布的數(shù)據(jù)在其它服務(wù)商處進(jìn)行身份認(rèn)證,主要過程如圖1中步驟(6)、步驟(7)所示。

        3 智能合約及關(guān)鍵流程設(shè)計方案

        模型的關(guān)鍵在于智能合約的設(shè)計,通過智能合約編寫用戶身份數(shù)據(jù)發(fā)布、認(rèn)證以及撤銷相關(guān)規(guī)則,主要是利用Solidity語言加以實現(xiàn)。此外,在客戶端實現(xiàn)主要是引用了第三方庫Web3.js,這是一個以太坊基于JavaScript的API,用于連接以太坊,客戶端的主要作用是實現(xiàn)用戶管理和發(fā)布身份數(shù)據(jù)。智能合約主要分為用戶身份數(shù)據(jù)(User-Identify)和可供外部調(diào)用的接口函數(shù)兩部分。在智能合約中,一個用戶對應(yīng)多個以ID為標(biāo)識的身份數(shù)據(jù),一條身份數(shù)據(jù)主要包括身份明文信息的哈希值InfoHash、身份數(shù)據(jù)唯一標(biāo)識ID、擁有者以太坊公鑰地址ownerAddr、認(rèn)證狀態(tài)status(pendding/pass/revoke)。 除此以外,智能合約還包括實現(xiàn)用戶身份數(shù)據(jù)的發(fā)布、認(rèn)證以及撤銷有關(guān)的可供外部調(diào)用的接口函數(shù)。下面將詳細(xì)闡述如何通過智能合約實現(xiàn)模型中的發(fā)布、認(rèn)證和撤銷過程。

        3.1 用戶登錄

        新用戶在客戶端注冊一個以太坊賬號,返回賬戶公鑰地址、私鑰等,用戶在區(qū)塊鏈中的身份與該地址關(guān)聯(lián),代表著現(xiàn)實世界中的實體。已有賬號用戶登錄客戶端后,可進(jìn)行身份數(shù)據(jù)的注冊和管理已發(fā)布身份數(shù)據(jù)等。

        3.2 發(fā)布過程

        主要分為用戶身份數(shù)據(jù)注冊過程和驗證節(jié)點對數(shù)據(jù)的驗證過程,如圖2所示。

        3.2.1 身份注冊過程

        主要是用戶在客戶端通過調(diào)用智能合約中的REGISTER函數(shù)(如算法1所示)將其身份數(shù)據(jù)與其在區(qū)塊鏈中的身份進(jìn)行綁定的過程。首先,存儲InfoHash和指定驗證節(jié)點signer,設(shè)置公鑰地址ownerAddr為調(diào)用方(msg.sender)的以太坊公鑰地址,設(shè)置認(rèn)證狀態(tài)status為pendding。最后,生成并返回此條用戶身份數(shù)據(jù)唯一標(biāo)識ID,用戶在本地客戶端存儲ID。

        圖1 基于智能合約的身份管理及認(rèn)證模型設(shè)計

        圖2 用戶身份數(shù)據(jù)發(fā)布過程

        算法1: 注冊身份數(shù)據(jù)

        Input: infoHash,signer

        Output: 身份數(shù)據(jù)標(biāo)識符ID

        (1) function REGISTER (infoHash,signer)

        (2) ID = generateID (msg.sender,infoHash,now)

        (3) userIdentity = UserIdentity[ID]

        (4) userIdentity.infoHash = infoHash

        (5) userIdentity.ownerAddr = msg.sender

        (6) userIdentity.signer = signer

        (7) userIdentity.status = pedding

        (8) return ID

        (9) end function

        3.2.2 驗證過程

        驗證過程主要指的是驗證節(jié)點對用戶已注冊身份數(shù)據(jù)進(jìn)行驗證的過程。主要如下:

        (1) 用戶向驗證節(jié)點發(fā)起驗證請求

        User→node∶req(ID,Info,sign(sk,Info))

        (1)

        用戶客戶端將3.2.1中返回的身份數(shù)據(jù)標(biāo)識符ID、身份明文數(shù)據(jù)Info以及用戶私鑰sk對Info的簽名值sign(sk,Info)提交給驗證節(jié)點,節(jié)點檢查用戶Info的格式以及真實性,有誤則返回失敗響應(yīng)。

        驗證節(jié)點收到請求后,對數(shù)據(jù)的驗證過程如下:

        (2) 驗證節(jié)點根據(jù)ID通過智能合約獲取對應(yīng)InfoHash等身份數(shù)據(jù)。

        (3)驗證節(jié)點計算Hash(Info)是否與InfoHash相等,保證用戶提供的Info與已存儲的身份數(shù)據(jù)一致且完整,保證用戶發(fā)布數(shù)據(jù)的真實性。

        (4)驗證節(jié)點驗證簽名。在以太坊中,用戶創(chuàng)建一個賬戶時,通過私鑰可生成對應(yīng)公鑰,由公鑰產(chǎn)生唯一以太坊公鑰地址,該地址代表著用戶在區(qū)塊鏈中的實體,因此在對用戶身份數(shù)據(jù)驗證時,如果能證明用戶擁有該公鑰地址對應(yīng)私鑰即可證明對注冊身份數(shù)據(jù)的所有權(quán)。驗證節(jié)點通過驗證用戶對身份信息Info的簽名值sign(sk,Info)確保用戶擁有對應(yīng)私鑰,保證用戶對該身份數(shù)據(jù)的所有權(quán)。

        (5)驗證節(jié)點修改認(rèn)證狀態(tài)、發(fā)布數(shù)據(jù)。在通過上述幾個步驟證明了用戶對指定ID身份數(shù)據(jù)的所有權(quán)之后,驗證節(jié)點通過調(diào)用智能合約中的CONFIRM函數(shù)(如算法2所示)修改該條身份數(shù)據(jù)認(rèn)證狀態(tài)status為pass,表明該條數(shù)據(jù)已經(jīng)通過了自己的驗證,并設(shè)置過期時間expiryDate,然后發(fā)布該條身份數(shù)據(jù)。經(jīng)過聯(lián)盟鏈中各個節(jié)點共識后用戶身份憑證InfoHash存儲在區(qū)塊鏈中,最后觸發(fā)emitConfirmEvent事件(監(jiān)聽此事件的用戶客戶端及時得到響應(yīng)),返回成功響應(yīng)。

        (6)用戶本地客戶端接收到成功響應(yīng)后,存儲此條身份數(shù)據(jù)的ID、驗證節(jié)點地址、過期時間,以便用于后續(xù)的身份認(rèn)證中。

        算法2: 驗證數(shù)據(jù)

        Input: ID,expiryDate

        Output: 響應(yīng)信息success/error

        (1) function CONFIRM(ID,expiryDate)

        (2)userIdentity = UserIdentity[ID]

        (3)if msg.sender = userIdentity.signer then

        (4)userIdentity.status = pass

        (5)userIdentity.expiryDate = expiryDate

        (6)emitConfirmEvent(ID,msg.sender,expiryDate)

        (7) return success

        (8)else

        (9) return error

        (10) end if

        (11) end function

        3.3 認(rèn)證過程

        認(rèn)證過程主要指的是用戶在網(wǎng)絡(luò)中獲取資源服務(wù)時,服務(wù)商對用戶進(jìn)行身份認(rèn)證的過程。根據(jù)不同的認(rèn)證需求,用戶選擇所需的已發(fā)布身份數(shù)據(jù)進(jìn)行認(rèn)證。對于普通服務(wù)商來說,無需本地存儲用戶身份數(shù)據(jù)進(jìn)行認(rèn)證,只需要從區(qū)塊鏈直接獲取身份數(shù)據(jù)憑證后驗證即可,減少了成本的同時也降低了用戶身份信息泄露的風(fēng)險。主要如下:

        (1)用戶向服務(wù)商發(fā)起認(rèn)證請求

        User→server∶req(ID,Info,sign(sk,Info))/
        req(ID,sign(sk,ID))

        (2)

        根據(jù)服務(wù)商對身份認(rèn)證的需求不同,有的需要在對用戶進(jìn)行身份認(rèn)證的同時獲取明文信息,有的則只需要一個認(rèn)證結(jié)果,不需要明文信息。因此用戶可以在認(rèn)證時選擇是否提供身份明文信息Info。下面以前者為例,對認(rèn)證過程進(jìn)行說明。與3.2.2節(jié)中驗證過程類似,首先用戶提供給服務(wù)商已發(fā)布的用戶身份數(shù)據(jù)標(biāo)識符ID、對應(yīng)的身份明文信息Info和用戶私鑰sk對Info的簽名值sign(sk,Info)。

        服務(wù)商接收到認(rèn)證請求后,利用用戶提交的身份數(shù)據(jù)以及通過發(fā)布過程在區(qū)塊鏈中存有的身份數(shù)據(jù)憑證對用戶身份進(jìn)行驗證,步驟如下:

        (2)檢查數(shù)據(jù)Info格式,有誤返回認(rèn)證失敗的響應(yīng)信息。

        (3)根據(jù)ID通過智能合約獲取對應(yīng)InfoHash、ow-nerAddr、signer等身份數(shù)據(jù)。

        (4)計算Hash(Info)是否與InfoHash相等,保證用戶提供的Info與已發(fā)布身份數(shù)據(jù)一致且完整,防止數(shù)據(jù)造假。

        (5)驗證用戶對身份信息Info的簽名值sign(sk,Info)確保用戶擁有對應(yīng)私鑰,保證用戶具有該身份數(shù)據(jù)所有權(quán)。

        (6)檢查signer是否是所信任節(jié)點地址,確保該條數(shù)據(jù)是由自己所信任節(jié)點驗證(簽發(fā))。

        (7)檢查認(rèn)證狀態(tài)status是否為pass,以及當(dāng)前時間是否超出過期時間expiryDate。

        若以上過程均滿足,該用戶身份認(rèn)證通過,返回認(rèn)證成功的響應(yīng)信息,服務(wù)商可以提供后續(xù)資源服務(wù)。

        3.4 撤銷過程

        撤銷過程主要指的是驗證節(jié)點修改指定已發(fā)布身份數(shù)據(jù)認(rèn)證狀態(tài)的過程。通過調(diào)用智能合約中的REVOKE函數(shù)(如算法3所示)將認(rèn)證狀態(tài)由pass修改為revoke:①檢查調(diào)用方是否為signer,若不是則不能進(jìn)行撤銷操作;②將指定身份數(shù)據(jù)標(biāo)識符ID對應(yīng)的認(rèn)證狀態(tài)status修改為revoke;③觸發(fā)撤銷事件(emitRevokeEvent),使得應(yīng)用方(如服務(wù)商)及時更新最新數(shù)據(jù),不需要CA機(jī)構(gòu)定期發(fā)布撤銷證書列表就能被及時檢測到。

        算法3: 撤銷數(shù)據(jù)

        Input: ID

        Output: 響應(yīng)信息success/error

        (1) function REVOKE(ID)

        (2)userIdentity = UserIdentity[ID]

        (3)if msg.sender=userIdentity.signer then

        (4)userIdentity.status = revoke

        (5)emitRevokeEvent(ID,msg.sender)

        (6) return success

        (7)else

        (8) return error

        (9)end if

        (10) end function

        4 模型安全性分析

        4.1 數(shù)據(jù)真實性分析

        確保用戶發(fā)布身份數(shù)據(jù)的真實性,是進(jìn)行身份認(rèn)證的前提。主要通過以下步驟保證用戶發(fā)布的身份數(shù)據(jù)的真實性。首先,驗證節(jié)點需要驗證用戶提交的數(shù)據(jù)Info的真實性和完整性;其次,驗證節(jié)點計算Hash(Info)并與用戶事先注冊的身份數(shù)據(jù)哈希值InfoHash進(jìn)行比較,根據(jù)兩個Hash值是否相同來保證身份數(shù)據(jù)屬于同一用戶。最后,驗證節(jié)點驗證用戶對數(shù)據(jù)的簽名值,確保用戶擁有發(fā)布數(shù)據(jù)賬戶對應(yīng)私鑰。以上步驟均通過,由驗證節(jié)點寫入?yún)^(qū)塊鏈中。對于驗證節(jié)點來說,一旦簽發(fā)了虛假數(shù)據(jù),經(jīng)驗證發(fā)現(xiàn)后,該節(jié)點簽發(fā)的身份將不再可信。除此以外,若是惡意分子想要冒充用戶身份通過認(rèn)證獲取資源服務(wù),首先,需要獲取相關(guān)身份數(shù)據(jù)唯一標(biāo)識ID。其次,需要獲取ID對應(yīng)的完整身份數(shù)據(jù)Info。最后,需要獲取用戶對應(yīng)私鑰。因此冒充身份具有一定的難度。

        4.2 隱私安全性分析

        首先是匿名性,用戶數(shù)據(jù)不以明文形式存儲而是身份數(shù)據(jù)哈希值,保證了用戶在區(qū)塊鏈中身份的匿名性。由于哈希函數(shù)單向性的特點,保證了即使惡意節(jié)點獲取了已發(fā)布數(shù)據(jù)的InfoHash,也無法得到用戶真實明文信息,確保用戶身份信息不被泄露。驗證節(jié)點在驗證和撤銷過程中,不能修改用戶身份信息,只能對認(rèn)證狀態(tài)進(jìn)行修改,保證了用戶身份數(shù)據(jù)的有效性。其次,用戶自主可控。在身份數(shù)據(jù)發(fā)布過程中,用戶可以選擇發(fā)布何種類型的身份數(shù)據(jù),并且在認(rèn)證階段,用戶提供服務(wù)商需要的身份數(shù)據(jù)進(jìn)行認(rèn)證,不需要其它數(shù)據(jù)。全過程用戶自主可控,避免了身份信息泄露的風(fēng)險。

        4.3 其 它

        傳統(tǒng)基于CAs的PKI容易受到攻擊,一旦被攻擊者控制,其頒發(fā)的證書將不再可信。由于區(qū)塊鏈去中心化、分布式網(wǎng)絡(luò)的特點,即使一個節(jié)點發(fā)生故障,其它節(jié)點也不會受到影響,不會影響整個系統(tǒng)的工作,并且用戶身份數(shù)據(jù)經(jīng)過發(fā)布、共識之后,由各節(jié)點共同維護(hù),確保數(shù)據(jù)的有效性和不被篡改,從而避免傳統(tǒng)CA的單點失效的問題。此外,對于服務(wù)商來說,只需要從區(qū)塊鏈中獲取認(rèn)證憑證即可,不需要本地數(shù)據(jù)庫存儲用戶身份數(shù)據(jù)用于身份認(rèn)證,避免了用戶身份信息泄露的危險。

        5 結(jié)束語

        本研究針對傳統(tǒng)PKI中心化的特點帶來的安全性問題以及多CA之間互信難導(dǎo)致認(rèn)證機(jī)制不靈活的問題,提出了一種基于智能合約的去中心化身份管理及認(rèn)證模型,利用智能合約實現(xiàn)用戶身份數(shù)據(jù)的發(fā)布、認(rèn)證和撤銷過程。用戶身份數(shù)據(jù)經(jīng)過共識、發(fā)布后之后,能夠在其它服務(wù)商用于身份認(rèn)證,實現(xiàn)交叉認(rèn)證的目的。除此以外,支持用戶發(fā)布多條身份數(shù)據(jù),在不同場景根據(jù)不同的認(rèn)證需求,利用所需數(shù)據(jù)憑證證明身份而不必提供其它身份信息。最后對模型的安全性進(jìn)行了分析。

        猜你喜歡
        智能用戶信息
        智能前沿
        文苑(2018年23期)2018-12-14 01:06:06
        智能前沿
        文苑(2018年19期)2018-11-09 01:30:14
        智能前沿
        文苑(2018年17期)2018-11-09 01:29:26
        智能前沿
        文苑(2018年21期)2018-11-09 01:22:32
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        久久久国产精品黄毛片| a午夜国产一级黄片| 日本一区二区三区在线观看免费| 日韩精品一区二区三区中文9| 人妻在线中文字幕视频| 偷拍视频网址一区二区| 欧美另类人妖| 亚洲va欧美va国产综合| 91精品国产无码在线观看| 女同恋性吃奶舌吻完整版| 欧美亚洲日本国产综合在线美利坚 | 久久这里只精品国产免费10| 成人日韩av不卡在线观看| 久久国产精品免费一区二区三区| 成人免费在线亚洲视频| 日本一卡2卡3卡4卡无卡免费网站| 亚洲国产成人久久一区www| 日本久久久久| 日韩亚洲在线观看视频| 亚洲av无码无限在线观看| 欧美最猛黑人xxxxx猛交| 丝袜人妻无码中文字幕综合网| 国产精品第一区亚洲精品| 国产精品成人无码久久久久久| 国产真实乱对白精彩久久老熟妇女| 中文字幕人妻中文av不卡专区| 动漫在线无码一区| 国产一区二区三区在线观看蜜桃| 亚洲一区二区三区少妇| 51国产黑色丝袜高跟鞋| 天天综合久久| 国产精品午夜福利亚洲综合网| 蜜桃视频网站在线观看一区| 护士人妻hd中文字幕| 亚洲阿v天堂网2021| 亚洲精品一区二区三区四区| 在线观看老湿视频福利| 久久久久久av无码免费看大片 | 精品水蜜桃久久久久久久| 老色鬼永久精品网站| 一区二区激情偷拍老牛视频av|