精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JWT:我應該使用哪種簽名算法?

開發 前端 算法
JSON Web Token (JWT) 可以使用許多不同的算法進行簽名:RS256、PS512、ES384、HS1;當被問及他們想使用哪一個時,您就會明白為什么有些開發人員會撓頭。

[[421048]]

本文轉載自微信公眾號「DotNET技術圈」,作者Scott Brady。轉載本文請聯系DotNET技術圈公眾號。

JWT:我應該使用哪種簽名算法?

JSON Web Token (JWT) 可以使用許多不同的算法進行簽名:RS256、PS512、ES384、HS1;當被問及他們想使用哪一個時,您就會明白為什么有些開發人員會撓頭。

根據我的經驗,許多主流身份提供商歷來只提供 RS256 或至少默認使用它。然而,由于開放銀行等舉措,這些身份提供商現在正在擴大他們的支持以涵蓋更多簽名算法,這意味著您需要開始了解要使用哪些算法。

我不是密碼學家,但通過與 OpenID Connect 和 FIDO2 的合作,我獲得了從業者對各種簽名算法的理解以及密碼學社區對每種算法的總體感受。在本文中,我將為您提供一些知識,以便您了解每個“alg”值的含義并選擇可用的最佳簽名算法。

TL;DR: EdDSA > ECDSA 或 RSASSA-PSS > RSASSA-PKCS1-v1_5 并且知道會發生什么。

算法 (alg) 值

在我們查看每個簽名算法系列之前,讓我們首先澄清我們所說的“alg”值(例如 RS256)的含義。這些是 JSON Web 算法 (JWA),它們是 JavaScript 對象簽名和加密 (JOSE) 系列的一部分。您將在 JWT 標頭中看到“alg”值,告訴您 JWT 是如何簽名的,在 JSON Web Keys (JWK) 中,告訴您密鑰用于什么算法。

作為一般經驗法則,“alg”值可以分解為:

RS

256

簽名算法

散列算法

  • 簽名算法族:在這種情況下,RS 表示 RSASSA-PKCS1-v1_5。
  • 簽名算法使用的散列算法。在這種情況下,256 表示 SHA-256。

大多數簽名算法都有 SHA-256、SHA-384 和 SHA-512 的變體。在某些情況下,您甚至可以使用“RS1”之類的東西,它使用 SHA-1 ?? 并且是 FIDO2 一致性所必需的。

這些算法通常在RFC 7518 中[1]定義,但您可以在JOSE IANA 注冊表中[2]找到受支持算法的完整列表。

我應該使用哪種散列算法?

SHA-256、SHA-384 和 SHA-512 都是相同散列算法系列的變體:SHA-2。

根據經驗,算法中的數字是指它將生成的散列的大小。例如,SHA-256 將產生一個 256 位的哈希值,而 SHA-512 將產生一個 512 位的哈希值。

每個給您的安全級別是其輸出大小的 50%,因此 SHA-256 將為您提供 128 位的安全性,而 SHA-512 將為您提供 256 位的安全性。這意味著攻擊者在開始尋找沖突之前必須生成 2^128 個哈希值,這要歸功于生日界限[3]。這就是我們使用最少 128 位安全性的原因。

很快您就不會需要比 SHA-256 更好的東西了。只是不要使用 SHA-1。

驗證:了解您的算法

每個應用程序驗證JWT簽名應該事先知道算法的期望和準確使用哪個鍵。您可以通過將每個公鑰分配給一個算法來實現(例如,此密鑰用于 RS384,此密鑰用于 ES256)。當單個算法有多個密鑰時,您可以使用kidJWT 標頭中的密鑰 ID ( ) 來了解要使用哪個。

基本上,您要確保JWT 中的kid和alg值符合您的期望。如果他們不匹配,那么有人就不好了。

  1.     "typ""JWT"
  2.     "kid""123", // is this key... 
  3.     "alg""RS256" // ...allowed to be used for this algorithm? 

OpenID Connect 等協議使用發現文檔和受 TLS 保護的端點上可用的 JSON Web 密鑰集 (JWKS) 來促進這一點。

現在,你不應該只相信 JWT 標頭中的“alg”值,也不應該接受帶有“none”算法的 JWT 或在其標頭中嵌入公鑰的 JWT。

RSASSA-PKCS1-v1_5 (例如 RS256)

RS256 = RSASSA-PKCS1-v1_5 使用 SHA-256

雖然 RS AES -PKCS1-v1_5 對于加密不再安全,但 RSA SSA -PKCS1-v1_5 仍然適用于數字簽名。正如我之前提到的,根據我的經驗,RS256 歷來是大多數 JWT 實現的默認值,許多 SaaS 身份提供商只提供這種簽名算法。很難找到一個系統不支持用 RS256 簽名的 JWT。

使用 RSASSA-PKCS1-v1_5 簽名的 JWT 具有確定性簽名,這意味著相同的 JWT 標頭和有效負載將始終生成相同的簽名。

RSASSA-PKCS1-v1_5 已經存在很長時間了,但是現在,您通常應該更喜歡 RSASSA-PSS(具有概率簽名的 RSA)。這并不是說 RSASSA-PKCS1-v1_5 被破壞了,而是說 RSASSA-PSS 只是具有其他人沒有的理想功能。事實上,RFC 8017 現在在使用 RSA 進行簽名時將 RSASSA-PSS 視為一項要求:

盡管沒有已知針對 RSASSA-PKCS1-v1_5 的攻擊,但為了提高健壯性,新應用程序中需要 RSASSA-PSS。

RFC 8017[4]

話雖如此,在討論Bleichenbacher[5]對 RSA PKCS#1 加密和簽名標準的攻擊[6]時,Real-Word Cryptography 中的[7]David Wong分享了一個有趣的統計數據:

與完全破壞加密算法的第一次攻擊不同,第二次攻擊是實現攻擊[針對簽名驗證]。這意味著如果簽名方案被正確實現(根據規范),攻擊就不會起作用。

然而,2019 年[8]表明,許多用于簽名的 RSA PKCS#1 v1.5 開源實現實際上陷入了該陷阱并錯誤地實施了標準,這使得 Bleichenbacher 的偽造攻擊的不同變體得以發揮作用!

真實世界密碼學[9]

由于攻擊是針對簽名驗證的,因此您必須確信所有驗證您的 JWT 的收件人都在使用不易受到 Bleichenbacher 攻擊的庫。如果您要與許多第 3 方打交道,那將很困難。

圍繞開放銀行的工作,例如 OpenID 的金融級 API (FAPI),不允許使用 RSASSA-PKCS1-v1_5。對于我的普通讀者,這是 IdentityServer 中唯一可用的算法,直到 IdentityServer4 版本 3。

進一步閱讀

了解如何使用 OpenSSL 為 JWT 簽名生成 RSA 密鑰[10]

RSASSA-PSS (例如 PS256)

PS256 = RSASSA-PSS 使用 SHA-256 和 MGF1 和 SHA-256

RSASSA-PSS 是 RSA 的概率版本,其中相同的 JWT 標頭和有效負載每次都會生成不同的簽名。與其他算法不同,這是一種很好的概率方法;雖然在簽名生成期間可以使用隨機值,但它對安全性并不重要。一般來說,它的實現要簡單得多,因此更難出錯。

如果您想使用 RSA 密鑰,那么建議您使用 RSASSA-PSS 而不是 RSASSA-PKCS1-v1_5,但幸運的是,RSA 密鑰可用于任一簽名方案。兩者之間的簽名長度也相同。

英國的開放銀行最初強制要求使用 PS256,但后來將其開放至 ES256。

進一步閱讀

  • 了解有關RSASSA-PSS 以及如何在 .NET Core 中使用它的[11]更多信息
  • 了解如何使用 OpenSSL 為 JWT 簽名生成 RSA 密鑰[12]

ECDSA (例如 ES256)

ES256 = ECDSA 使用 P-256 和 SHA-256

在橢圓曲線數字簽名算法 (ECDSA) 的情況下,ES256 中引用散列算法的數字也與曲線有關。ES256 使用 P-256(secp256r1,又名 prime256v1),ES384 使用 P-384(secp384r1),而奇怪的是,ES512 使用 P-521(secp521r1)。是的,521。是的,連微軟[13]都打錯了。

橢圓曲線加密 (ECC) 比 RSA 更難破解(或者我們可能真的很擅長破解 RSA)。因此,ECDSA 可以使用比 RSA 短得多的密鑰和短得多的簽名。大約 256 位的短橢圓曲線 (EC) 密鑰提供與 3072 位 RSA 密鑰相同的安全性。

您經常會看到 ECDSA 被列為比 RSA 中的等效項更快,但這僅適用于簽名生成;使用 RSA 進行簽名驗證通常仍然更快。使用 JWT,您很可能會進行一次簽名并進行多次驗證。

使用 ECDSA 簽名的 JWT 具有概率簽名,這意味著相同的 JWT 標頭和有效負載將始終生成不同的簽名。但不幸的是,ECDSA 以一種糟糕的方式是概率性的,其中隨機生成對簽名的安全性至關重要。

ECDSA 使用每個簽名生成的隨機數(不超過一次)。未能只使用一次隨機數值會使私鑰很容易恢復,這在索尼的 Playstation 3 和比特幣中[14]都已經出現過。在 Playstation 3 中,私鑰因靜態隨機數而被恢復,而在比特幣中,Android 用戶因 Android 上 Java 的 SecureRandom 類中的錯誤而受到影響。如果概率簽名的安全性需要隨機值,那么您應該更喜歡不需要的確定性簽名。

RSASSA-PKCS1-v1_5 在簽名驗證方面存在問題,而 ECDSA 在簽名生成方面存在問題,當您是令牌發行者時,這更容易處理。

ECDSA 越來越受歡迎,但由于橢圓曲線加密的實施方式,密碼學家似乎普遍反對,并擔心由于使用隨機值而導致實施困難。它比 RSA 享有更好的聲譽,但密碼學家仍然主張遷移到 EdDSA。

JOSE 最初使用的曲線由 NIST 定義。如果您擔心使用由 NIST 定義的曲線但想要使用 ECDSA,則一種流行的替代方法是使用 Koblitz 曲線,例如 secp256k1(與 secp256r1 相對)。Kobiltz 曲線稍微弱一些,但如果您擔心 NIST 曲線中使用的無法解釋的隨機數表明另一個 NSA 后門,那么 Kobiltz 曲線提供了一個越來越受歡迎的替代方案。您可以在比特幣、以太坊和 FIDO2 中找到這些曲線的用法。但是,如果您想使用非 NIST 曲線,您應該使用 EdDSA。在 JOSE 中,使用 Kobiltz 的算法以 K 結尾,例如 ES256K。

進一步閱讀

  • 了解如何在 .NET Core 中使用 ECDSA[15]以及如何在 IdentityServer4 中使用 ECDSA 簽署令牌[16]
  • 了解如何使用 OpenSSL 為 JWT 簽名生成 EC 密鑰[17]
  • 在 .NET Core 中使用自定義 JWT 簽名算法,以及使用 Kobiltz 曲線的示例[18]

EdDSA

EdDSA = 使用了 EdDSA 簽名算法

EdDSA 與之前算法的趨勢相反,使用單一alg值。相反,它依賴于crv預先商定的密鑰中定義的曲線 ( )。

例如,包含 EdDSA 公鑰的 JWK 將如下所示:

  1.   "kty""OKP"
  2.   "alg""EdDSA"
  3.   "crv""Ed25519"
  4.   "x""60mR98SQlHUSeLeIu7TeJBTLRG10qlcDLU4AJjQdqMQ" 

這迫使現代行為使用分配給密鑰的曲線,而不是 JWT,并消除了各種alg相關的攻擊。

EdDSA 是一種橢圓曲線密碼學形式,它利用了扭曲的 Edwards 曲線。它是 Schnorr 簽名系統(而不是 DSA)的變體。 EdDSA 在簽名和驗證方面都很快,簽名很短,并且可以避開所有類別的安全漏洞。

RFC 8037 定義了 JOSE 對以下 EdDSA 變體的支持:

  • Ed25519:255 位曲線 Curve25519(32 字節私鑰,32 字節公鑰,64 字節簽名)。簽名使用 SHA-512。提供 128 位安全性
  • Ed448:448 位曲線 Curve448-Goldilocks(57 字節私鑰,57 字節公鑰,114 字節簽名)。簽名使用 SHAKE256。提供 224 位安全性

使用 EdDSA 簽名的 JWT 具有確定性簽名,這意味著相同的 JWT 標頭和有效負載將始終生成相同的簽名。這是一種確定性的好方法,解決了依賴隨機 nonce 值來保護私鑰的問題。EdDSA 僅在私鑰創建期間使用隨機值。這是JOSE 和 JWT 的批評者推薦[19]的算法。

JWT 庫中對 EdDSA 的支持有點參差不齊,但預計很快就會看到更多的 EdDSA。

進一步閱讀

  • 了解有關EdDSA 以及如何在 .NET Core 中使用它的[20]更多信息
  • 開始使用 EdDSA[21]在 .NET Core 中使用ScottBrady.IdentityModel 進行 JWT 簽名[22]
  • 在cr.yp.to 上[23]閱讀有關 EdDSA 設計優勢的更多信息

HMAC (例如 HS256)

HS256 = HMAC 使用 SHA-256

到目前為止,我們一直在談論非對稱密碼學,其中只有令牌發行者擁有創建簽名的私鑰,而其他所有人都擁有可用于驗證簽名的相應公鑰。例如,身份提供者擁有私鑰,依賴方使用公鑰。

在極少數情況下,您將是唯一發行和驗證令牌的人,那么您可以考慮使用對稱密碼術和 HS256 之類的東西。 這使用相同的密鑰來創建和驗證簽名。

在我看來,如果你發現自己處于這個位置,那么我認為 JWT 不是適合你的解決方案。如果同一個實體同時進行讀取和寫入,那么在 JWT 中對結構化、明文數據進行往返的要求是什么?我建議將數據存儲在數據庫中并傳遞引用或使用諸如 Branca 令牌或 JSON Web 加密 (JWE) 之類的東西來確保只有您可以讀取數據。

通常,使用 HMAC 進行 JWT 簽名被視為一種反模式。

進一步閱讀

  • 詳細了解JWE 以及如何在 .NET Core 中使用它們[24]
  • 了解如何將 Branca 令牌[25]與 ScottBrady.IdentityModel 結合使用

不使用任何加密?!

無 = base64 加密 編碼

對不起,我忍不住了。請不要使用這個。

建議

盡可能使用 EdDSA,否則使用 ECDSA。 如果您被迫使用 RSA,則更喜歡 RSASSA-PSS 而不是 RSASSA-PKCS1-v1_5。

我不認為說 RSA 正在緩慢退出是一個有爭議的聲明。目前,提供 ECDSA 是一個不錯的選擇,但理想情況下,您會希望盡可能使用 EdDSA。

但是,無論您使用哪種算法,請確保提前知道期望使用哪種算法以及使用哪個密鑰進行驗證。

References

[1] RFC 7518 中: https://tools.ietf.org/html/rfc7518

[2] JOSE IANA 注冊表中: https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-algorithms

[3] 生日界限: https://en.wikipedia.org/wiki/Birthday_attack

[4] RFC 8017: https://tools.ietf.org/html/rfc8017

[5] Bleichenbacher: https://en.wikipedia.org/wiki/Daniel_Bleichenbacher

[6] 的攻擊: https://en.wikipedia.org/wiki/Daniel_Bleichenbacher

[7] Real-Word Cryptography 中的: https://www.manning.com/books/real-world-cryptography

[8] 2019 年: https://www.cs.purdue.edu/homes/schau/files/pkcs1v1_5-ndss19.pdf

[9] 真實世界密碼學: https://www.manning.com/books/real-world-cryptography

[10] 生成 RSA 密鑰: https://www.scottbrady91.com/OpenSSL/Creating-RSA-Keys-using-OpenSSL

[11] RSASSA-PSS 以及如何在 .NET Core 中使用它的: https://www.scottbrady91.com/C-Sharp/JWT-Signing-using-RSASSA-PSS-in-dotnet-Core

[12] 生成 RSA 密鑰: https://www.scottbrady91.com/OpenSSL/Creating-RSA-Keys-using-OpenSSL

[13] 連微軟: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/master/src/Microsoft.IdentityModel.Tokens/JsonWebKeyECTypes.cs#L40

[14] 索尼的 Playstation 3 和比特幣中: https://medium.com/asecuritysite-when-bob-met-alice/not-playing-randomly-the-sony-ps3-and-bitcoin-crypto-hacks-c1fe92bea9bc

[15] 如何在 .NET Core 中使用 ECDSA: https://www.scottbrady91.com/C-Sharp/JWT-Signing-using-ECDSA-in-dotnet-Core

[16] 在 IdentityServer4 中使用 ECDSA 簽署令牌: https://www.scottbrady91.com/Identity-Server/Using-ECDSA-in-IdentityServer4

[17] 生成 EC 密鑰: https://www.scottbrady91.com/OpenSSL/Creating-Elliptical-Curve-Keys-using-OpenSSL

[18] 以及使用 Kobiltz 曲線的示例: https://www.scottbrady91.com/C-Sharp/Supporting-Custom-JWT-Signing-Algorithms-in-dotnet-Core

[19] JOSE 和 JWT 的批評者推薦: https://www.scottbrady91.com/JOSE/Alternatives-to-JWTs

[20] EdDSA 以及如何在 .NET Core 中使用它的: https://www.scottbrady91.com/C-Sharp/EdDSA-for-JWT-Signing-in-dotnet-Core

[21] 開始使用 EdDSA: https://github.com/scottbrady91/IdentityModel

[22] ScottBrady.IdentityModel 進行 JWT 簽名: https://github.com/scottbrady91/IdentityModel

[23] cr.yp.to 上: https://ed25519.cr.yp.to/

[24] JWE 以及如何在 .NET Core 中使用它們: https://www.scottbrady91.com/C-Sharp/JSON-Web-Encryption-JWE-in-dotnet-Core 

[25] 如何將 Branca 令牌: https://www.scottbrady91.com/C-Sharp/Replacing-JWTs-with-Branca-and-PASETO-in-dotnet-Core

 

責任編輯:武曉燕 來源: DotNET技術圈
相關推薦

2023-03-17 11:33:18

數據中心

2023-02-27 07:22:53

RPC網絡IO

2024-03-18 00:01:00

按鈕鏈接元素

2021-05-21 14:26:18

ObjectMap前端

2019-04-24 08:34:46

編程語言PythonJava

2020-05-12 11:06:47

服務器RAID陣列硬盤

2019-03-12 18:33:57

樹莓派Linux

2021-09-18 14:59:58

語言PythonC語言

2025-09-22 01:00:00

2018-10-16 09:55:24

Linux發行版內核

2016-10-28 16:18:25

數據中心制冷冷熱通道隔離

2015-07-16 11:14:32

云服務DRaaSAWS

2015-02-12 17:45:41

微信SDK

2025-07-29 18:29:40

2020-11-03 10:04:53

.proto文件代碼

2021-10-11 20:22:27

JWT瀏覽器接口

2022-08-19 08:17:36

JWT服務器身份信息

2017-05-31 09:12:51

機器學習算法數據

2017-09-19 08:29:51

SSD壽命驅動器

2014-11-13 09:21:23

TCP
點贊
收藏

51CTO技術棧公眾號

精华区一区二区三区| 天堂网中文字幕| 99精品国产高清一区二区麻豆| 国产精品网站在线播放| 91免费国产视频| 精品少妇久久久| 国产精品羞羞答答在线观看| 777久久久精品| 老司机激情视频| 国产私人尤物无码不卡| 国产麻豆视频一区二区| 久久久久成人网| 亚洲第一综合网| 亚洲91网站| 日本高清不卡在线观看| 国产欧美123| 成人全视频高清免费观看| 国产成人免费视频| 国产精品视频999| 国产极品美女高潮无套嗷嗷叫酒店| 精品国产一区二区三区av片| 欧美成人激情免费网| 好男人www社区| 18video性欧美19sex高清| 国产精品无遮挡| 久久久久久久久久久一区| 国产成人精品av在线观| 秋霞影院一区二区| 91精品国产精品| 可以直接看的黄色网址| 精品香蕉视频| 日韩精品在线看| 日韩精品国产一区| 亚洲精品伊人| 欧日韩精品视频| 97在线播放视频| 51漫画成人app入口| 亚洲激情自拍偷拍| 宅男一区二区三区| 爱久久·www| 国产亚洲一区字幕| 久久久久久九九九九| 色婷婷中文字幕| 成人综合在线网站| 91情侣在线视频| av中文字幕免费在线观看| 日本免费新一区视频 | 大片免费在线看视频| 欧美高清一级片在线观看| 日本一区视频在线| 蜜芽tv福利在线视频| 91污在线观看| 精品欧美一区二区在线观看视频 | 丁香婷婷久久| 欧美偷拍一区二区| 浓精h攵女乱爱av| 日本欧美一区| 欧美日韩在线观看一区二区| 九九视频精品在线观看| 99久久婷婷国产综合精品首页 | 欧美在线 | 亚洲| 成人美女在线观看| 国产一区二区三区无遮挡| 黄色片一区二区三区| 成人免费视频caoporn| 国产精品伊人日日| 无码国产精品高潮久久99| 99久久免费国产| 欧美不卡三区| 成年人视频网站在线| 国产精品国产三级国产普通话99| 亚洲一区免费看| av网站网址在线观看| 亚洲自拍与偷拍| 97国产精东麻豆人妻电影| 欧美性xxx| 精品视频免费看| 免费人成视频在线播放| 日韩三级不卡| 亚洲剧情一区二区| 成人免费视频入口| 影音先锋日韩在线| 欧美亚洲在线观看| 在线免费看av片| 国产成人精品一区二区三区网站观看| 国产另类第一区| 国产日韩精品在线看| 亚洲欧美日韩系列| 成熟丰满熟妇高潮xxxxx视频| 成人看片网页| 精品欧美黑人一区二区三区| 亚洲天堂久久新| 亚洲人成免费网站| 97国产精品免费视频| 国产精品国产精品国产| 国产一区二区精品久久99| 精品欧美日韩| 免费成人黄色| 黄网站色欧美视频| 91亚洲精品久久久蜜桃借种| 老牛精品亚洲成av人片| 中文字幕欧美精品在线| 国产精品18p| 麻豆国产精品官网| 好吊色欧美一区二区三区| 在线观看免费黄视频| 午夜成人免费电影| 99精品视频国产| 国产精品一区二区av交换| 欧美久久精品午夜青青大伊人 | 制服丝袜成人动漫| 久久久久久久久免费看无码| 夜间精品视频| 国产精品久久久久久久久免费 | 中文字幕在线日韩| 国产成人无码精品亚洲| 国产一区二区三区免费播放| 欧美日韩一区二区三区在线观看免| 国产福利视频在线观看| 色狠狠桃花综合| 久久福利小视频| 一区二区三区网站| 国产精品久久久久999| 日韩在线观看视频网站| 亚洲男同性恋视频| 最新天堂中文在线| 久久av中文| 7777精品视频| 隣の若妻さん波多野结衣| 亚洲男人的天堂在线aⅴ视频| 国产淫片av片久久久久久| 大陆精大陆国产国语精品| 久久久成人精品视频| 国产精品51麻豆cm传媒 | av免费在线视| 日韩欧美高清在线| 日韩精品123区| 男人的j进女人的j一区| 欧美在线播放一区| 一区一区三区| 亚洲欧美日本精品| 中文字幕第四页| 2020国产精品久久精品美国| 欧美深夜福利视频| 日韩精品免费一区二区三区竹菊| 九九九热精品免费视频观看网站| 国产情侣一区二区| 亚洲日韩欧美一区二区在线| 中文字幕第一页在线视频| 久久久影院免费| 国产一区二区丝袜| 欧美激情黑人| 91精品欧美福利在线观看| 免费黄色国产视频| 久久超碰97人人做人人爱| 亚洲一区二区三区精品动漫| 日本在线一区二区| 久久久av一区| 精品国产999久久久免费| 亚洲免费观看高清完整版在线观看熊| 亚洲一区二区图片| 午夜天堂精品久久久久| 国产精品播放| 日本在线啊啊| 国产一区二区日韩精品欧美精品| 日韩免费视频一区| 婷婷激情5月天| 天天射天天综合网| 亚洲自拍偷拍区| 黑人玩欧美人三根一起进| av激情成人网| 日韩精品综合一本久道在线视频| 国产a免费视频| 欧美专区视频| 亚洲人成在线播放网站岛国 | 久久91精品久久久久久秒播| 伊人久久婷婷色综合98网| 久久综合偷偷噜噜噜色| 久久久久国产精品www| 色av男人的天堂免费在线| 在线一区二区视频| 免费看特级毛片| 成人h动漫精品一区二| 国产aaa一级片| 91欧美在线| 国产伦一区二区三区色一情| 美女18一级毛片一品久道久久综合| 一二美女精品欧洲| 国产免费一区二区三区最新不卡| 亚洲成a天堂v人片| 国产美女永久免费无遮挡| 国产在线精品一区二区三区不卡| 无码av天堂一区二区三区| 欧美人与拘性视交免费看| 国产日韩在线看| 三级在线观看视频| 色噜噜亚洲精品中文字幕| 日本黄色大片视频| 在线观看不卡一区| 国产性猛交普通话对白| 国产欧美日本一区二区三区| 能看毛片的网站| 久久天天综合| 韩国无码av片在线观看网站| japanese国产精品| 国产精品区一区| 久久精品 人人爱| 91国产美女视频| 黄av在线播放| 亚洲精品视频中文字幕| 99久久精品日本一区二区免费| 日韩欧美国产网站| 老女人性淫交视频| 国产精品视频免费看| 粉嫩av懂色av蜜臀av分享| 国产一区福利在线| 少妇高清精品毛片在线视频| 国内久久视频| av磁力番号网| 日韩.com| 欧洲一区二区在线| 日韩深夜福利| 国产精品一区而去| 久久九九精品视频| 国产欧美一区二区三区在线看| 中文字幕一区久| 91精品国产免费久久久久久 | 日本美女久久久| 日本不卡在线视频| 欧美三级午夜理伦三级| 一道本一区二区| a级黄色小视频| 欧美日韩一视频区二区| 一区二区三区一级片| 日本一本不卡| 天天人人精品| 精品午夜久久| 午夜欧美性电影| av一区二区在线观看| 日韩av电影免费观看| 亚洲精品国产动漫| 欧美精品123| 九九亚洲精品| 日韩.欧美.亚洲| 精品久久国产| 亚洲欧美日韩另类精品一区二区三区 | 熟女少妇a性色生活片毛片| 国产亚洲女人久久久久毛片| mm131丰满少妇人体欣赏图| 久久免费偷拍视频| 亚洲国产精品成人综合久久久| www.久久久久久久久| 日韩成人av影院| 成人一级片在线观看| 日本道中文字幕| av一区二区不卡| 中国极品少妇videossexhd| 91在线视频在线| 日韩中文字幕电影| 国产情人综合久久777777| 蜜桃av乱码一区二区三区| 国产精品欧美一区二区三区| 影音先锋男人看片资源| 最新高清无码专区| 9999热视频| 亚洲国产精品一区二区久久恐怖片| 国产无套在线观看| 欧美日韩在线视频观看| aaa在线视频| 欧美高清视频www夜色资源网| 国产精品久久久午夜夜伦鲁鲁| 日韩一区二区三区精品视频 | 国产91精品精华液一区二区三区 | 久久久久久久久久久久91| 久久aⅴ国产欧美74aaa| 韩国三级与黑人| 99久久久久久| 91成人精品一区二区| 亚洲欧美日韩中文播放 | 免费不卡视频| 亚州国产精品久久久| 欧美电影网站| 91精品视频网站| 欧洲亚洲视频| 伊人情人网综合| 亚洲特级毛片| 簧片在线免费看| 国产福利一区二区| 爱爱免费小视频| 亚洲黄色小视频| 久久精品无码av| 欧美一区二区在线观看| 亚洲 精品 综合 精品 自拍| 久久精品国产清自在天天线 | 精品久久久久久久久久ntr影视| 中文在线最新版天堂| 日韩精品中文字幕在线一区| 免费人成在线观看网站| 欧美成人合集magnet| 经典三级一区二区| 99影视tv| 欧美wwwww| 18禁男女爽爽爽午夜网站免费 | 玖玖爱在线精品视频| 中文成人综合网| 日本一区二区三区免费视频| 欧美三级电影在线看| 色一情一乱一区二区三区| 日韩在线观看免费全| 亚洲欧美小说色综合小说一区| 亚洲mm色国产网站| 久久不见久久见中文字幕免费| 波多野结衣与黑人| 蜜桃免费网站一区二区三区| 大地资源二中文在线影视观看| 亚洲女同一区二区| 999视频在线| 亚洲精品国精品久久99热一| 18+激情视频在线| 国产欧美日韩最新| 久久最新网址| 91成人在线观看喷潮教学| 国产精品一区一区| 精品女人久久久| 色欧美乱欧美15图片| 四虎在线免费看| 欧美多人爱爱视频网站| 国产精品18| 亚洲视频在线二区| 日韩电影在线一区| 亚洲第一页av| 婷婷综合久久一区二区三区| 亚洲成人中文字幕在线| 久久色免费在线视频| 久久av影院| 一区二区三区国产福利| 青青草成人在线观看| 国产又大又粗又爽的毛片| 日韩欧美中文字幕在线观看| 人妻一区二区三区免费| 欧美精品videos| silk一区二区三区精品视频| 欧美中文字幕在线观看视频 | 日韩激情美女| 3d蒂法精品啪啪一区二区免费| 91精品国产福利在线观看麻豆| 狠狠操狠狠干视频| 国产精品久久久久久久久免费桃花| 国产三级理论片| 中文字幕精品一区二区精品| 亚洲a∨精品一区二区三区导航| 四虎永久在线精品免费一区二区| 日韩国产欧美在线观看| 中文字幕欧美激情极品| 欧美日韩免费不卡视频一区二区三区| 一区二区三区视频网站| 成人午夜小视频| 亚洲天堂一区二区三区四区| 特黄特黄一级片| 一区二区激情视频| 免费观看a视频| 26uuu另类亚洲欧美日本老年| 国产a久久精品一区二区三区| 久久久久久三级| 18欧美亚洲精品| www.热久久| 性色av一区二区咪爱| 竹菊久久久久久久| 国产自偷自偷免费一区| 国产精品国产三级国产三级人妇 | 国产一区二区动漫| 日本欧美在线| 成年人深夜视频| 91亚洲永久精品| 中文字幕视频在线播放| 欧美成人中文字幕在线| 欧美日韩破处| 成年网站在线播放| 亚洲小说欧美激情另类| 青青草视频在线免费观看| 国产精品男女猛烈高潮激情| 欧美在线看片| 国产精品1000部啪视频| 欧美色综合网站| 日本大片在线播放| 欧美日韩电影一区二区三区| 国产专区综合网| 性无码专区无码| 日韩中文字幕av| 大奶在线精品| 亚洲娇小娇小娇小| 亚洲电影激情视频网站| 在线观看a视频| 国产精品三区www17con| 捆绑调教美女网站视频一区| 国产无遮挡又黄又爽| 色偷偷亚洲男人天堂| 欧美五码在线| 日韩av影视大全| 91成人国产精品|