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

打造安全的App!iOS安全系列之 HTTPS

移動(dòng)開發(fā)
如何打造一個(gè)安全的App?這是每一個(gè)移動(dòng)開發(fā)者必須面對(duì)的問題。在移動(dòng)App開發(fā)領(lǐng)域,開發(fā)工程師對(duì)于安全方面的考慮普遍比較欠缺,而由于iOS平臺(tái)的封閉性,遭遇到的安全問題相比于Android來說要少得多,這就導(dǎo)致了許多iOS開發(fā)人員對(duì)于安全性方面沒有太多的深入,但對(duì)于一個(gè)合格的軟件開發(fā)者來說,安全知識(shí)是必備知識(shí)之一。

[[144627]]

如何打造一個(gè)安全的App?這是每一個(gè)移動(dòng)開發(fā)者必須面對(duì)的問題。在移動(dòng)App開發(fā)領(lǐng)域,開發(fā)工程師對(duì)于安全方面的考慮普遍比較欠缺,而由于iOS平臺(tái)的封閉性,遭遇到的安全問題相比于Android來說要少得多,這就導(dǎo)致了許多iOS開發(fā)人員對(duì)于安全性方面沒有太多的深入,但對(duì)于一個(gè)合格的軟件開發(fā)者來說,安全知識(shí)是必備知識(shí)之一。

對(duì)于未越獄的iOS設(shè)備來說,由于強(qiáng)大的沙箱和授權(quán)機(jī)制,以及Apple自己掌控的App Store, 基本上杜絕了惡意軟件的入侵。但除系統(tǒng)安全之外,我們還是面臨很多的安全問題:網(wǎng)絡(luò)安全、數(shù)據(jù)安全等,每一項(xiàng)涉及也非常廣,安全是非常大的課題,本人并非專業(yè)的安全專家,只是從開發(fā)者的角度,分析我們常遇到的各項(xiàng)安全問題,并提出通常的解決方法,與各位交流。

每一個(gè)軟件工程師都有義務(wù)保護(hù)用戶數(shù)據(jù)的隱私和安全。

首先是網(wǎng)絡(luò)安全,OSI模型各層都會(huì)面臨相應(yīng)的網(wǎng)絡(luò)安全問題,涉及寬廣,而網(wǎng)絡(luò)安全也是安全領(lǐng)域發(fā)展最為繁榮的領(lǐng)域。本文我們只是從移動(dòng)應(yīng)用開發(fā)角度,以盡量簡單的方式,講解HTTPS核心概念知識(shí),以及在iOS平臺(tái)上的實(shí)現(xiàn)。建議現(xiàn)在還在使用HTTP的應(yīng)用都升級(jí)到HTTPS。

引讀:互聯(lián)網(wǎng)全站HTTPS的時(shí)代已經(jīng)到來

1. HTTPS

其實(shí)HTTPS從最終的數(shù)據(jù)解析的角度,與HTTP沒有任何的區(qū)別,HTTPS就是將HTTP協(xié)議數(shù)據(jù)包放到SSL/TSL層加密后,在TCP/IP層組成IP數(shù)據(jù)報(bào)去傳輸,以此保證傳輸數(shù)據(jù)的安全;而對(duì)于接收端,在SSL/TSL將接收的數(shù)據(jù)包解密之后,將數(shù)據(jù)傳給HTTP協(xié)議層,就是普通的HTTP數(shù)據(jù)。HTTP和SSL/TSL都處于OSI模型的應(yīng)用層。從HTTP切換到HTTPS是一個(gè)非常簡單的過程,在做具體的切換操作之前,我們需要了解幾個(gè)概念:

SSL/TSL

關(guān)于SSL/TSL,阮一峰的兩篇博客文章做了很好的介紹:

簡單的來說,SSL/TSL通過四次握手,主要交換三個(gè)信息:

1. 數(shù)字證書:該證書包含了公鑰等信息,一般是由服務(wù)器發(fā)給客戶端,接收方通過驗(yàn)證這個(gè)證書是不是由信賴的CA簽發(fā),或者與本地的證書相對(duì)比,來判斷證書是否可信;假如需要雙向驗(yàn)證,則服務(wù)器和客戶端都需要發(fā)送數(shù)字證書給對(duì)方驗(yàn)證;

2. 三個(gè)隨機(jī)數(shù):這三個(gè)隨機(jī)數(shù)構(gòu)成了后續(xù)通信過程中用來對(duì)數(shù)據(jù)進(jìn)行對(duì)稱加密解密的“對(duì)話密鑰”。

首先客戶端先發(fā)第一個(gè)隨機(jī)數(shù)N1,然后服務(wù)器回了第二個(gè)隨機(jī)數(shù)N2(這個(gè)過程同時(shí)把之前提到的證書發(fā)給客戶端),這兩個(gè)隨機(jī)數(shù)都是明文的;而第三個(gè)隨機(jī)數(shù)N3(這個(gè)隨機(jī)數(shù)被稱為Premaster secret),客戶端用數(shù)字證書的公鑰進(jìn)行非對(duì)稱加密,發(fā)給服務(wù)器;而服務(wù)器用只有自己知道的私鑰來解密,獲取第三個(gè)隨機(jī)數(shù)。只有,服務(wù)端和客戶端都有了三個(gè)隨機(jī)數(shù)N1+N2+N3,然后兩端就使用這三個(gè)隨機(jī)數(shù)來生成“對(duì)話密鑰”,在此之后的通信都是使用這個(gè)“對(duì)話密鑰”來進(jìn)行對(duì)稱加密解密。因?yàn)檫@個(gè)過程中,服務(wù)端的私鑰只用來解密第三個(gè)隨機(jī)數(shù),從來沒有在網(wǎng)絡(luò)中傳輸過,這樣的話,只要私鑰沒有被泄露,那么數(shù)據(jù)就是安全的。

3. 加密通信協(xié)議:就是雙方商量使用哪一種加密方式,假如兩者支持的加密方式不匹配,則無法進(jìn)行通信;

有個(gè)常見的問題,關(guān)于隨機(jī)數(shù)為什么要三個(gè)?只最后一個(gè)隨機(jī)數(shù)N3不可以么?

這是由于SSL/TLS設(shè)計(jì),就假設(shè)服務(wù)器不相信所有的客戶端都能夠提供完全隨機(jī)數(shù),假如某個(gè)客戶端提供的隨機(jī)數(shù)不隨機(jī)的話,就大大增加了“對(duì)話密鑰”被破解的風(fēng)險(xiǎn),所以由三組隨機(jī)數(shù)組成最后的隨機(jī)數(shù),保證了隨機(jī)數(shù)的隨機(jī)性,以此來保證每次生成的“對(duì)話密鑰”安全性。

數(shù)字證書

數(shù)字證書是一個(gè)電子文檔,其中包含了持有者的信息、公鑰以及證明該證書有效的數(shù)字簽名。而數(shù)字證書以及相關(guān)的公鑰管理和驗(yàn)證等技術(shù)組成了PKI(公鑰基礎(chǔ)設(shè)施)規(guī)范體系。一般來說,數(shù)字證書是由數(shù)字證書認(rèn)證機(jī)構(gòu)(Certificate authority,即CA)來負(fù)責(zé)簽發(fā)和管理,并承擔(dān)PKI體系中公鑰合法性的檢驗(yàn)責(zé)任;數(shù)字證書的類型有很多,而HTTPS使用的是SSL證書。

怎么來驗(yàn)證數(shù)字證書是由CA簽發(fā)的,而不是第三方偽造的呢? 在回答這個(gè)問題前,我們需要先了解CA的組織結(jié)構(gòu)。首先,CA組織結(jié)構(gòu)中,最頂層的就是根CA,根CA下可以授權(quán)給多個(gè)二級(jí)CA,而二級(jí)CA又可以授權(quán)多個(gè)三級(jí)CA,所以CA的組織結(jié)構(gòu)是一個(gè)樹結(jié)構(gòu)。對(duì)于SSL證書市場來說,主要被Symantec(旗下有VeriSign和GeoTrust)、Comodo SSL、Go Daddy 和 GlobalSign 瓜分。 了解了CA的組織結(jié)構(gòu)后,來看看數(shù)字證書的簽發(fā)流程:

blob.png

數(shù)字證書的簽發(fā)機(jī)構(gòu)CA,在接收到申請(qǐng)者的資料后進(jìn)行核對(duì)并確定信息的真實(shí)有效,然后就會(huì)制作一份符合X.509標(biāo)準(zhǔn)的文件。證書中的證書內(nèi)容包括了持有者信息和公鑰等都是由申請(qǐng)者提供的,而數(shù)字簽名則是CA機(jī)構(gòu)對(duì)證書內(nèi)容進(jìn)行hash加密后等到的,而這個(gè)數(shù)字簽名就是我們驗(yàn)證證書是否是有可信CA簽發(fā)的數(shù)據(jù)。

blob.png

接收端接到一份數(shù)字證書Cer1后,對(duì)證書的內(nèi)容做Hash等到H1;然后在簽發(fā)該證書的機(jī)構(gòu)CA1的數(shù)字證書中找到公鑰,對(duì)證書上數(shù)字簽名進(jìn)行解密,得到證書Cer1簽名的Hash摘要H2;對(duì)比H1和H2,假如相等,則表示證書沒有被篡改。但這個(gè)時(shí)候還是不知道CA是否是合法的,我們看到上圖中有CA機(jī)構(gòu)的數(shù)字證書,這個(gè)證書是公開的,所有人都可以獲取到。而這個(gè)證書中的數(shù)字簽名是上一級(jí)生成的,所以可以這樣一直遞歸驗(yàn)證下去,直到根CA。根CA是自驗(yàn)證的,即他的數(shù)字簽名是由自己的私鑰來生成的。合法的根CA會(huì)被瀏覽器和操作系統(tǒng)加入到權(quán)威信任CA列表中,這樣就完成了最終的驗(yàn)證。所以,一定要保護(hù)好自己環(huán)境(瀏覽器/操作系統(tǒng))中根CA信任列表,信任了根CA就表示信任所有根CA下所有子級(jí)CA所簽發(fā)的證書,不要隨便添加根CA證書。

了解了上面兩個(gè)概念之后,對(duì)HTTPS就有了個(gè)初步的了解,下面我們看如何在iOS上實(shí)現(xiàn)對(duì)HTTPS的支持。

2. 實(shí)現(xiàn)支持HTTPS

首先,需要明確你使用HTTP/HTTPS的用途,因?yàn)镺SX和iOS平臺(tái)提供了多種API,來支持不同的用途,官方文檔《Making HTTP and HTTPS Requests》有詳細(xì)的說明,而文檔《HTTPS Server Trust Evaluation》則詳細(xì)講解了HTTPS驗(yàn)證相關(guān)知識(shí),這里就不多說了。本文主要講解我們最常用的NSURLConnection支持HTTPS的實(shí)現(xiàn)(NSURLSession的實(shí)現(xiàn)方法類似,只是要求授權(quán)證明的回調(diào)不一樣而已),以及怎么樣使用AFNetworking這個(gè)非常流行的第三方庫來支持HTTPS。本文假設(shè)你對(duì)HTTP以及NSURLConnection的接口有了足夠的了解。

驗(yàn)證證書的API

相關(guān)的Api在Security Framework中,驗(yàn)證流程如下:

1). 第一步,先獲取需要驗(yàn)證的信任對(duì)象(Trust Object)。這個(gè)Trust Object在不同的應(yīng)用場景下獲取的方式都不一樣,對(duì)于NSURLConnection來說,是從delegate方法-connection:willSendRequestForAuthenticationChallenge:回調(diào)回來的參數(shù)challenge中獲取([challenge.protectionSpace serverTrust])。

2). 使用系統(tǒng)默認(rèn)驗(yàn)證方式驗(yàn)證Trust Object。SecTrustEvaluate會(huì)根據(jù)Trust Object的驗(yàn)證策略,一級(jí)一級(jí)往上,驗(yàn)證證書鏈上每一級(jí)數(shù)字簽名的有效性(上一部分有講解),從而評(píng)估證書的有效性。

3). 如第二步驗(yàn)證通過了,一般的安全要求下,就可以直接驗(yàn)證通過,進(jìn)入到下一步:使用Trust Object生成一份憑證([NSURLCredential credentialForTrust:serverTrust]),傳入challenge的sender中([challenge.sender useCredential:cred forAuthenticationChallenge:challenge])處理,建立連接。

4). 假如有更強(qiáng)的安全要求,可以繼續(xù)對(duì)Trust Object進(jìn)行更嚴(yán)格的驗(yàn)證。常用的方式是在本地導(dǎo)入證書,驗(yàn)證Trust Object與導(dǎo)入的證書是否匹配。更多的方法可以查看Enforcing Stricter Server Trust Evaluation,這一部分在講解AFNetworking源碼中會(huì)講解到。

5). 假如驗(yàn)證失敗,取消此次Challenge-Response Authentication驗(yàn)證流程,拒絕連接請(qǐng)求。

ps: 假如是自建證書的,則會(huì)跳過第二步,使用第三部進(jìn)行驗(yàn)證,因?yàn)樽越ㄗC書的根CA的數(shù)字簽名未在操作系統(tǒng)的信任列表中。

iOS授權(quán)驗(yàn)證的API和流程大概了解了,下面,我們看看在NSURLConnection中的代碼實(shí)現(xiàn):

使用NSURLConnection支持HTTPS的實(shí)現(xiàn)

  1. // Now start the connection 
  2. NSURL * httpsURL = [NSURL URLWithString:@"https://www.google.com"]; 
  3. self.connection = [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:httpsURL] delegate:self]; 
  4.      
  5. //回調(diào) 
  6. - (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { 
  7.     //1)獲取trust object 
  8.     SecTrustRef trust = challenge.protectionSpace.serverTrust; 
  9.     SecTrustResultType result; 
  10.      
  11.     //2)SecTrustEvaluate對(duì)trust進(jìn)行驗(yàn)證 
  12.     OSStatus status = SecTrustEvaluate(trust, &result); 
  13.     if (status == errSecSuccess && 
  14.         (result == kSecTrustResultProceed || 
  15.         result == kSecTrustResultUnspecified)) { 
  16.          
  17.         //3)驗(yàn)證成功,生成NSURLCredential憑證cred,告知challenge的sender使用這個(gè)憑證來繼續(xù)連接 
  18.         NSURLCredential *cred = [NSURLCredential credentialForTrust:trust]; 
  19.         [challenge.sender useCredential:cred forAuthenticationChallenge:challenge]; 
  20.          
  21.     } else { 
  22.      
  23.         //5)驗(yàn)證失敗,取消這次驗(yàn)證流程 
  24.         [challenge.sender cancelAuthenticationChallenge:challenge]; 
  25.          
  26.   } 

上面是代碼是通過系統(tǒng)默認(rèn)驗(yàn)證流程來驗(yàn)證證書的。假如我們是自建證書的呢?這樣Trust Object里面服務(wù)器的證書因?yàn)椴皇强尚湃蔚腃A簽發(fā)的,所以直接使用SecTrustEvaluate進(jìn)行驗(yàn)證是不會(huì)成功。又或者,即使服務(wù)器返回的證書是信任CA簽發(fā)的,又如何確定這證書就是我們想要的特定證書?這就需要先在本地導(dǎo)入證書,設(shè)置成需要驗(yàn)證的Anchor Certificate(就是根證書),再調(diào)用SecTrustEvaluate來驗(yàn)證。代碼如下

  1. //先導(dǎo)入證書 
  2. NSString * cerPath = ...; //證書的路徑 
  3. NSData * cerData = [NSData dataWithContentsOfFile:cerPath]; 
  4. SecCertificateRef certificate = SecCertificateCreateWithData(NULL, (__bridge CFDataRef)(cerData)); 
  5. self.trustedCertificates = @[CFBridgingRelease(certificate)]; 
  6. //回調(diào) 
  7. - (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { 
  8.     //1)獲取trust object 
  9.     SecTrustRef trust = challenge.protectionSpace.serverTrust; 
  10.     SecTrustResultType result; 
  11.     //注意:這里將之前導(dǎo)入的證書設(shè)置成下面驗(yàn)證的Trust Object的anchor certificate 
  12.     SecTrustSetAnchorCertificates(trust, (__bridge CFArrayRef)self.trustedCertificates); 
  13.     //2)SecTrustEvaluate會(huì)查找前面SecTrustSetAnchorCertificates設(shè)置的證書或者系統(tǒng)默認(rèn)提供的證書,對(duì)trust進(jìn)行驗(yàn)證 
  14.     OSStatus status = SecTrustEvaluate(trust, &result); 
  15.     if (status == errSecSuccess && 
  16.         (result == kSecTrustResultProceed || 
  17.         result == kSecTrustResultUnspecified)) { 
  18.          
  19.         //3)驗(yàn)證成功,生成NSURLCredential憑證cred,告知challenge的sender使用這個(gè)憑證來繼續(xù)連接 
  20.         NSURLCredential *cred = [NSURLCredential credentialForTrust:trust]; 
  21.         [challenge.sender useCredential:cred forAuthenticationChallenge:challenge]; 
  22.          
  23.     } else { 
  24.      
  25.         //5)驗(yàn)證失敗,取消這次驗(yàn)證流程 
  26.         [challenge.sender cancelAuthenticationChallenge:challenge]; 
  27.          
  28.   } 

建議采用本地導(dǎo)入證書的方式驗(yàn)證證書,來保證足夠的安全性。更多的驗(yàn)證方法,請(qǐng)查看官方文檔《HTTPS Server Trust Evaluation》

使用AFNetworking來支持HTTPS

AFNetworking是iOS/OSX開發(fā)最流行的第三方開源庫之一,其作者是非常著名的iOS/OSX開發(fā)者Mattt Thompson,其博客NSHipster也是iOS/OSX開發(fā)者學(xué)習(xí)和開闊技術(shù)視野的好地方。AFNetworking已經(jīng)將上面的邏輯代碼封裝好,甚至更完善,在AFSecurityPolicy文件中,有興趣可以閱讀這個(gè)模塊的代碼;

AFNetworking上配置對(duì)HTTPS的支持非常簡單:

  1. NSURL * url = [NSURL URLWithString:@"https://www.google.com"]; 
  2. AFHTTPRequestOperationManager * requestOperationManager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:url]; 
  3. dispatch_queue_t requestQueue = dispatch_create_serial_queue_for_name("kRequestCompletionQueue"); 
  4. requestOperationManager.completionQueue = requestQueue; 
  5. AFSecurityPolicy * securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate]; 
  6. //allowInvalidCertificates 是否允許無效證書(也就是自建的證書),默認(rèn)為NO 
  7. //如果是需要驗(yàn)證自建證書,需要設(shè)置為YES 
  8. securityPolicy.allowInvalidCertificates = YES; 
  9. //validatesDomainName 是否需要驗(yàn)證域名,默認(rèn)為YES; 
  10. //假如證書的域名與你請(qǐng)求的域名不一致,需把該項(xiàng)設(shè)置為NO 
  11. //主要用于這種情況:客戶端請(qǐng)求的是子域名,而證書上的是另外一個(gè)域名。因?yàn)镾SL證書上的域名是獨(dú)立的,假如證書上注冊(cè)的域名是www.google.com,那么mail.google.com是無法驗(yàn)證通過的;當(dāng)然,有錢可以注冊(cè)通配符的域名*.google.com,但這個(gè)還是比較貴的。 
  12. securityPolicy.validatesDomainName = NO; 
  13. //validatesCertificateChain 是否驗(yàn)證整個(gè)證書鏈,默認(rèn)為YES 
  14. //設(shè)置為YES,會(huì)將服務(wù)器返回的Trust Object上的證書鏈與本地導(dǎo)入的證書進(jìn)行對(duì)比,這就意味著,假如你的證書鏈?zhǔn)沁@樣的: 
  15. //GeoTrust Global CA  
  16. //    Google Internet Authority G2 
  17. //        *.google.com 
  18. //那么,除了導(dǎo)入*.google.com之外,還需要導(dǎo)入證書鏈上所有的CA證書(GeoTrust Global CA, Google Internet Authority G2); 
  19. //如是自建證書的時(shí)候,可以設(shè)置為YES,增強(qiáng)安全性;假如是信任的CA所簽發(fā)的證書,則建議關(guān)閉該驗(yàn)證; 
  20. securityPolicy.validatesCertificateChain = NO; 
  21. requestOperationManager.securityPolicy = securityPolicy; 

這就是AFNetworking的支持HTTPS的主要配置說明,AFHTTPSessionManager與之基本一致,就不重復(fù)了。

3. 總結(jié)

雖然HTTPS相比于HTTP來說,會(huì)有一定的性能上的劣勢,但對(duì)于網(wǎng)絡(luò)飛速發(fā)展,移動(dòng)設(shè)備的性能成倍增長的今天,安全才是我們更應(yīng)該去考慮的。全網(wǎng)HTTPS并不是那么遙遠(yuǎn)。

責(zé)任編輯:倪明 來源: Jaminzzhang的博客
相關(guān)推薦

2015-09-18 09:12:08

2019-02-12 09:52:20

Linux安全Windows

2009-03-10 13:18:56

2019-12-11 10:16:15

數(shù)據(jù)安全隱私保護(hù)網(wǎng)絡(luò)安全

2017-01-16 16:16:59

漏洞uaf代碼

2010-09-27 11:39:14

互聯(lián)網(wǎng)安全網(wǎng)絡(luò)管理

2009-07-01 20:58:40

2014-11-10 16:06:26

加密APP安全打車軟件

2016-10-24 22:05:22

2009-07-01 20:49:06

2021-04-21 10:38:44

Spring Boot RememberMe安全

2009-12-17 11:21:33

2021-07-07 12:36:10

HTTPSSSL通信

2016-11-18 08:41:23

2022-03-22 09:16:24

HTTPS數(shù)據(jù)安全網(wǎng)絡(luò)協(xié)議

2022-05-19 07:09:29

機(jī)制沙箱安全JVM

2016-09-27 22:45:47

2023-07-04 06:59:25

2022-07-07 10:41:53

鯤鵬

2013-09-17 12:26:43

BYOD環(huán)境安全BYOD移動(dòng)設(shè)備
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

九九综合九九综合| 欧美日韩免费观看一区三区| 国产精品日韩一区二区三区| 亚洲日本视频在线观看| 色狮一区二区三区四区视频| 91精品在线麻豆| 成 年 人 黄 色 大 片大 全| 黄视频在线播放| 国产一区二区电影| 欧美一级bbbbb性bbbb喷潮片| 一二三四国产精品| 97视频一区| 狠狠躁天天躁日日躁欧美| 亚洲欧美久久久久一区二区三区| 国产黄色一区二区| 久久精品亚洲| 欧美激情一区二区三级高清视频 | 欧美日韩五区| 亚洲一区二区三区中文字幕在线| 美媛馆国产精品一区二区| 国产女人爽到高潮a毛片| 模特精品在线| 欧美激情成人在线视频| 三区四区在线观看| 欧美a大片欧美片| 日韩一区二区不卡| 少妇网站在线观看| 伊人久久视频| 亚洲一区二区精品久久av| 伊人婷婷久久| 91最新在线| 久久美女艺术照精彩视频福利播放| 亚洲精品欧美日韩| 影音先锋黄色网址| 日韩高清中文字幕一区| 奇米影视亚洲狠狠色| 国产无码精品一区二区| 欧美成人日韩| 久久成人精品电影| 97在线观看视频免费| 欧美中文一区二区| 精品视频一区在线视频| 老司机午夜免费福利| 美女精品视频在线| 91精品国产综合久久久久久久久久 | 99久久精品免费看国产四区| 日本一区二区三区久久| 久久久天天操| 欧美最猛性xxxx| 少妇一级淫片免费放中国| 伊人久久大香线蕉av超碰演员| 欧美激情成人在线视频| 久草免费在线观看视频| 中文一区一区三区免费在线观看| 日韩亚洲欧美中文在线| 国产一区二区三区视频播放| 欧美一级淫片| 日韩在线国产精品| 国产激情无码一区二区三区| 亚洲电影影音先锋| 欧美插天视频在线播放| 欧美精品久久久久性色| 亚洲三级网站| 欧美亚洲成人网| 男人天堂视频网| 免费成人av在线| 国产在线观看精品一区二区三区| 亚洲一区中文字幕永久在线| 久草中文综合在线| 亚洲综合色激情五月| 精品国产九九九| 成人精品免费网站| 欧美12av| 麻豆传媒在线完整视频| 亚洲美腿欧美偷拍| 日本午夜激情视频| 成人爽a毛片免费啪啪| 欧洲精品一区二区三区在线观看| 亚洲综合欧美在线| 美女日韩一区| 日韩国产高清视频在线| 天天操天天干天天操天天干| 一级欧洲+日本+国产 | 日韩中文字幕一区二区| 免费在线看黄网站| 亚洲不卡在线观看| av视屏在线播放| 四虎在线精品| 亚洲国产成人精品久久久国产成人一区| 日韩 中文字幕| 91蜜臀精品国产自偷在线| 欧美激情xxxx性bbbb| 日韩熟女一区二区| 国产乱理伦片在线观看夜一区| 国产精品一区二区三区四区五区 | 夜夜躁很很躁日日躁麻豆| 国产剧情在线观看一区二区| 精品欧美国产| 久久久久久久久免费视频| 亚洲va韩国va欧美va精品| 中文字幕在线导航| silk一区二区三区精品视频| 尤物九九久久国产精品的特点| 麻豆一区产品精品蜜桃的特点| 免费中文字幕日韩欧美| 99视频国产精品免费观看| 麻豆影视在线| 亚洲一卡二卡三卡四卡无卡久久| 中文字幕第36页| 欧美综合自拍| 久热99视频在线观看| 无码人妻精品一区二区三区不卡 | 亚洲欧美久久久| 91青青草免费观看| 国产二区视频在线观看| 亚洲成人动漫av| 中文字幕久久av| 女厕嘘嘘一区二区在线播放 | 伊人久久大香线蕉av一区二区| 久久国产在线观看| 久久精品国产色蜜蜜麻豆| 免费电影一区| 高h视频在线播放| 91麻豆精品国产91久久久资源速度| 亚洲av综合一区二区| 亚洲福利精品| 风间由美一区二区三区| 在线观看精品一区二区三区| 大伊人狠狠躁夜夜躁av一区| 欧洲成人午夜精品无码区久久| 日本一区二区三区视频| 国产成+人+综合+亚洲欧洲| 黄色成人一级片| 亚洲黄色免费电影| 欧美又黄又嫩大片a级| 久久精品国产www456c0m| 日本精品久久久| 亚洲色大成网站www| 亚洲综合色噜噜狠狠| 国产一级免费大片| 欧美激情另类| 成人精品久久av网站| 午夜看片在线免费| 欧美日韩在线电影| 69xxx免费| 麻豆精品视频在线| 一区二区三区四区国产| 免费成人高清在线视频| 少妇精69xxtheporn| 欧美三级网站在线观看| 国产日本一区二区| 欧美伦理片在线看| 成人毛片免费看| 国产裸体写真av一区二区| 成人动漫在线免费观看| 欧美三级乱人伦电影| ass极品国模人体欣赏| 美国毛片一区二区| 久久99国产精品一区| 只有精品亚洲| 欧美肥臀大乳一区二区免费视频| 亚洲国产精品二区| 午夜精品久久久久久不卡8050| 一本加勒比波多野结衣| 国产日韩欧美一区在线| 欧美亚洲免费高清在线观看| 成人国产一区| 久久久黄色av| 色婷婷av一区二区三区之红樱桃| 精品久久在线播放| 亚洲av无码国产精品麻豆天美| 蜜臀久久99精品久久久画质超高清 | 免费一区二区三区在线观看| 91精品综合久久久久久久久久久| 97人人做人人人难人人做| 91高清视频在线观看| 亚洲欧美国产一区二区三区| 最近日韩免费视频| 樱花影视一区二区| 亚洲精品乱码久久久久久久| 免费成人在线网站| 日韩成人手机在线| 久久av导航| 亚洲精品日韩激情在线电影| 高潮在线视频| 中文字幕视频一区二区在线有码| 国产精品久久久午夜夜伦鲁鲁| 亚洲一区二区三区三| 人妻大战黑人白浆狂泄| 国产一区高清在线| 无罩大乳的熟妇正在播放| 精品国产一区一区二区三亚瑟 | 亚洲美女免费在线| 国产激情视频网站| 精品一区二区久久久| 日韩精品视频在线观看视频| 国产探花一区二区| 国产精品12| 狠狠久久综合| 97色在线观看| 黄色大片在线播放| 亚洲免费影视第一页| 精品人妻av一区二区三区| 日韩欧美亚洲成人| 麻豆亚洲av熟女国产一区二 | 日韩欧美精品一区二区| 51亚洲精品| 国产日韩在线视频| 一个人看的www视频在线免费观看| 北条麻妃久久精品| 欧美日韩在线中文字幕| 精品国产污污免费网站入口| 在线免费看毛片| 欧美日韩一区二区在线播放| 日韩影院一区二区| 国产精品人成在线观看免费| 99久久国产精| 成人免费高清视频| 天天爽夜夜爽视频| 免费人成在线不卡| 成人在线看视频| 亚洲日韩视频| 成人一级生活片| 亚洲女同中文字幕| 亚洲欧洲中文| 国产精品亚洲人成在99www| 国产日韩一区二区| 日韩视频一区二区三区四区| 国产有码在线一区二区视频| 日本欧美韩国| 国产精品老牛影院在线观看| 日韩电影免费观| 热99精品里视频精品| 国产在线精彩视频| 国内外成人免费激情在线视频| gogo在线高清视频| 久久精品视频在线| 麻豆视频在线观看免费网站| 中文字幕日韩综合av| h视频在线免费| 国产一区二区三区在线视频| 深夜福利视频在线免费观看| 亚洲缚视频在线观看| 亚洲国产一二三区| 日韩精品在线网站| 亚洲第一页在线观看| 日韩免费观看高清完整版| 精品人妻一区二区三区换脸明星 | 天天做天天爱综合| 夜夜爽99久久国产综合精品女不卡| 热久久天天拍国产| 亚洲午夜久久久影院伊人| 欧美日韩伦理| 在线观看日韩片| 91精品久久久久久久久久不卡| 偷拍盗摄高潮叫床对白清晰| 久久精品国产大片免费观看| 综合网五月天| 亚洲午夜一区| 国产91在线免费| 日韩中文字幕区一区有砖一区 | 99视频超级精品| 日本黄色特级片| 日本一区二区三区四区| jizzjizzjizz国产| 亚洲欧美国产三级| 国产午夜久久久| 在线亚洲人成电影网站色www| 羞羞色院91蜜桃| 777色狠狠一区二区三区| 国产99久久九九精品无码免费| 亚洲国产99精品国自产| 国产三级在线免费观看| 日韩一区视频在线| 丰满的护士2在线观看高清| 555www成人网| 婷婷激情成人| 国产乱码精品一区二区三区日韩精品 | 国产精品性做久久久久久| 亚洲色图欧美另类| 久久女同性恋中文字幕| 日韩av手机在线免费观看| 亚洲va欧美va人人爽| 中文字幕 亚洲视频| 日韩女优电影在线观看| 国产资源在线观看| 美乳少妇欧美精品| 成人直播视频| 91视频婷婷| 精品日本12videosex| 国产亚洲精品久久久久久久| 亚洲免费中文| 成人不卡免费视频| 成人高清视频免费观看| 欧美色图17p| 精品福利在线观看| 亚洲一线在线观看| 国产婷婷97碰碰久久人人蜜臀| 欧美jizzhd欧美| 热99精品里视频精品| 在线日韩成人| 亚洲成人精品电影在线观看| 在线看片一区| 一级黄色片在线免费观看| 国产亚洲自拍一区| 国产精品suv一区二区69| 欧美日韩精品电影| 欧美日韩影视| 高清欧美一区二区三区| 亚洲综合资源| 欧美精品中文字幕一区二区| 激情偷拍久久| 男女污污视频网站| 欧美国产1区2区| 国产精品久免费的黄网站| 日韩欧美国产一区二区三区 | 亚洲男人都懂第一日本| 日韩专区第三页| 久久99精品久久久久婷婷| xxxx日本黄色| 欧美视频在线看| 黄色aaa大片| 欧美激情极品视频| 欧美日本三级| 在线亚洲美日韩| 欧美aⅴ一区二区三区视频| 永久免费看mv网站入口78| 欧美日韩亚洲视频| 人妻中文字幕一区| 欧美精品video| 中文字幕一区二区三区日韩精品 | 美国精品一区二区| 91国在线观看| 国产黄色免费在线观看| 国产成人精品免高潮费视频| 欧美人妖在线| 国产精品入口免费软件| 日本一区二区在线不卡| 天天射天天干天天| 亚洲视频在线视频| 国产一区二区主播在线| 亚洲激情图片| 精品亚洲国内自在自线福利| 天堂网avav| 日韩一卡二卡三卡四卡| 美女日批视频在线观看| 国产区二精品视| 激情自拍一区| 中国黄色a级片| 91久久奴性调教| 北岛玲一区二区三区| 国产日韩欧美中文| 中文不卡在线| 一级欧美一级日韩片| 老湿机69福利| 精品久久国产字幕高潮| 老司机深夜福利在线观看| 久久久久综合一区二区三区| 久久精品伊人| 少妇视频一区二区| 欧美成人三级在线| 少妇视频在线观看| 亚洲春色在线| 国产乱码精品一区二区三| 国产无遮挡裸体免费视频| 日韩经典第一页| 精品乱码一区二区三区四区| 粉嫩av一区二区三区天美传媒| 国产99久久久久| 免费日韩一级片| 日韩精品一区二区三区蜜臀| 青春草在线免费视频| 国产精品推荐精品| 日韩电影在线免费看| 免费看的黄色录像| 欧美成人免费网站| www在线观看黄色| 亚洲成人精品电影在线观看| 久久se精品一区精品二区| 豆国产97在线 | 亚洲| 亚洲第一中文字幕在线观看| 欧洲av一区二区| 在线看视频不卡| av中文字幕不卡| 波多野结衣日韩| 欧美黄色片免费观看| 日本在线中文字幕一区| 国产精欧美一区二区三区白种人| 一区二区三区在线看| 欧美女子与性| 国产日本欧美一区| 99在线热播精品免费99热| 久久久久亚洲av成人无码电影| 在线不卡一区二区| sm在线播放| 国产一区二区三区四区五区在线| 另类小说综合欧美亚洲| 久久久久成人片免费观看蜜芽| 国产性色av一区二区| 久久伦理中文字幕|