精品欧美一区二区三区在线观看 _久久久久国色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)

加勒比av一区二区| 一区二区三区四区在线看| 亚洲色图都市小说| av激情久久| 亚洲伊人成人网| 日韩精品一区二区久久| 91麻豆精品91久久久久久清纯| 久久免费一级片| 午夜视频免费看| 蜜臀av性久久久久蜜臀aⅴ四虎| 另类色图亚洲色图| 国产熟女高潮一区二区三区| 国产欧美自拍| 精品国产91久久久久久| 午夜老司机精品| 亚洲欧美高清视频| 秋霞影院一区二区| 久久久久中文字幕2018| 懂色av蜜桃av| 国产精品videossex| 欧美性猛交一区二区三区精品| avav在线播放| 香港伦理在线| 91片黄在线观看| 3d动漫啪啪精品一区二区免费 | 中文字幕中文字幕中文字幕亚洲无线 | 久久综合久久综合这里只有精品| 亚洲网站在线免费观看| 日韩天天综合| 欧美大片网站在线观看 | 国产麻豆一区二区三区精品视频| 欧美成人一区二区三区片免费| 999精品网站| www.51av欧美视频| 一区二区成人在线视频| 婷婷四房综合激情五月| 香港一级纯黄大片| 成人爱爱电影网址| 成人久久18免费网站漫画| 最新黄色网址在线观看| 夜久久久久久| 久久久久亚洲精品成人网小说| sm捆绑调教视频| 超碰成人久久| 亚洲视频一区二区| 中文字幕一区二区三区人妻不卡| 国产精品久av福利在线观看| 欧美日韩高清一区二区| 五月婷婷深爱五月| 桃花岛tv亚洲品质| 色综合天天狠狠| 女人帮男人橹视频播放| 怡红院在线播放| 成全电影播放在线观看国语| 男女性色大片免费观看一区二区| 欧美中文字幕在线播放| 亚洲黄色小说图片| 99亚洲伊人久久精品影院红桃| 久久91亚洲精品中文字幕| 国产不卡一区二区在线观看 | 亚洲高清资源在线观看| 正在播放欧美一区| 国产又粗又长又硬| 日韩一区二区在线| 日韩中文字幕精品| 色婷婷在线视频观看| 91超碰成人| 欧美成在线视频| 国产亚洲自拍av| 亚洲国产日本| 国产成人av在线播放| 香蕉影院在线观看| 免费人成精品欧美精品 | 538任你躁精品视频网免费| 欧美一区二区三区电影| 日韩av成人网| 日本欧美韩国国产| 亚洲免费福利视频| 亚洲一区 欧美| 亚洲精品888| 久久久亚洲国产天美传媒修理工| 日韩美女视频网站| 日韩精品一二三区| 91精品在线影院| 国产精品吹潮在线观看| 性生交大片免费看l| 一区二区三区欧洲区| 日韩国产激情在线| 精品无人区无码乱码毛片国产| 欧美日韩激情| 欧美精品一区三区| 日本道在线观看| 麻豆精品在线播放| wwwxx欧美| 国产在线三区| 亚洲综合偷拍欧美一区色| 欧美日韩黄色一级片| 精品国产欧美日韩一区二区三区| 91精品国产综合久久福利| 免费啪视频在线观看| 蜜臀91精品国产高清在线观看| 日韩在线免费av| 久久高清免费视频| 蜜臀91精品一区二区三区| 97欧洲一区二区精品免费| 偷拍自拍在线| 亚洲另类在线制服丝袜| 免费午夜视频在线观看| 欧美一区在线观看视频| 亚洲香蕉伊综合在人在线视看 | 欧美精品momsxxx| 久久成人国产精品| 欧美精品18videos性欧美| 亚洲高清资源综合久久精品| 在线免费看a| 精品久久中文字幕| 天天av天天操| 精品少妇av| 性色av一区二区三区红粉影视| 夜夜躁很很躁日日躁麻豆| 波多野结衣一区二区三区| 在线视频不卡一区二区三区| 韩国主播福利视频一区二区三区| 日韩欧美精品在线| 波兰性xxxxx极品hd| 亚洲综合丁香| 国产精品裸体一区二区三区| caopo在线| 欧美亚洲国产一区在线观看网站 | 波多野结衣亚洲一区| 亚洲欧洲日韩精品| 亚洲天堂导航| 亚洲国产另类久久精品| 久草中文在线视频| 久久99精品久久久久久| 性欧美videosex高清少妇| 亚洲精品成人图区| 亚洲国产欧美一区二区丝袜黑人| 免费一级a毛片夜夜看| 激情小说亚洲一区| 亚洲一卡二卡| 欧美视频在线视频精品| 亚洲小视频在线观看| 无码人妻精品一区二区三区9厂 | 91麻豆精品国产91久久久使用方法 | 精品久久毛片| 一区二区三区 在线观看视| 午夜精品三级久久久有码| 韩国av一区二区三区在线观看| 日韩免费电影一区二区| 亚洲成人激情社区| 亚洲新中文字幕| 成人免费一区二区三区| 国产精品亲子伦对白| 手机看片一级片| 久久综合88| 国产日韩换脸av一区在线观看| av国产在线观看| 欧美日精品一区视频| 91香蕉视频污在线观看| 久久精品国产一区二区| 一级黄色免费在线观看| 日本成人手机在线| 久久久久国产精品免费网站| 亚洲黄色在线免费观看| 亚洲国产成人高清精品| 久久精品综合视频| 久久久久久久高潮| 亚洲一区二区三区色| 亚洲老司机网| 久久久久久久久亚洲| 日本韩国免费观看| 日本韩国欧美国产| 三级黄色免费观看| 国产成人精品综合在线观看 | 蜜臀a∨国产成人精品| 亚洲欧洲一区二区| 视频亚洲一区二区| 97精品国产91久久久久久| 激情小视频在线| 欧美精品v日韩精品v韩国精品v| 夫妻性生活毛片| 国产91精品露脸国语对白| 男人插女人视频在线观看| 亚洲丁香日韩| 成人久久一区二区三区| 蜜臀av在线| 亚洲女人天堂视频| 国产伦精品一区二区三区四区 | 中文字幕手机在线视频| 国产精品女同互慰在线看| 人妻巨大乳一二三区| 亚洲在线成人| 国产免费色视频| 亚州综合一区| 91久久精品美女| 91白丝在线| 日韩中文字幕精品| 午夜影院在线视频| 欧美高清性hdvideosex| 日本中文字幕网| 国产精品视频你懂的| 怡红院一区二区| 久久99精品久久久久久动态图| 激情深爱综合网| 91精品国产麻豆国产在线观看| 精品999在线观看| 在线播放成人| 国产精品18久久久久久麻辣| 在线观看电影av| 亚洲人成在线播放| 国精品人妻无码一区二区三区喝尿 | 成人国产精品免费观看动漫| 一区二区xxx| 亚洲精选久久| 中文字幕第一页亚洲| 久久av免费| 国产精品美女xx| 亚洲超碰在线观看| 国产精品一久久香蕉国产线看观看| 黄页在线观看免费| 久久久国产精品x99av| 激情小视频在线| 日韩成人在线免费观看| а√天堂资源在线| 91精品久久久久久蜜臀| 中文字幕精品一区二| 日韩欧美亚洲成人| 日本免费观看视| 一区二区三区美女视频| 亚洲国产123| 国产精品美女一区二区三区| 人妻一区二区视频| 97久久人人超碰| 性色av蜜臀av浪潮av老女人| 国产精品99久久久久久久女警| 日本久久久久久久久久久久| 香蕉成人久久| 啊啊啊一区二区| 亚洲免费影视| 日批视频在线免费看| 亚洲激情在线| 精品少妇在线视频| 99国产精品99久久久久久粉嫩| 日韩精品在线中文字幕| 午夜久久久久| 日韩成人手机在线| 亚洲精品久久久| 天堂av在线中文| 亚洲色图网站| 成年在线观看视频| 欧美韩国一区| 老太脱裤子让老头玩xxxxx| 影音先锋久久精品| 国产h视频在线播放| 国产亚洲午夜| 欧美三级午夜理伦三级| 玖玖视频精品| 美女少妇一区二区| 麻豆久久久久久| 青娱乐精品在线| 粉嫩嫩av羞羞动漫久久久| 久久久男人的天堂| 9人人澡人人爽人人精品| 久久久老熟女一区二区三区91| 成人激情视频网站| 亚洲人人夜夜澡人人爽| 国产午夜精品一区二区三区视频| 99久久精品免费视频| 国产精品无圣光一区二区| 免费91在线观看| 亚洲自拍偷拍九九九| 青青青国产在线| 欧美午夜精品一区| www天堂在线| 亚洲欧美中文日韩v在线观看| 成人在线免费公开观看视频| 久久综合久久88| 日韩深夜视频| 国产精品稀缺呦系列在线| 国产日韩一区二区三免费高清| 国产精品一区二区三区观看| 国产欧美一区| 九一免费在线观看| 美女久久网站| 久久精品一卡二卡| 91最新地址在线播放| 国产三级黄色片| 亚洲黄色性网站| 日韩手机在线视频| 欧美性受xxxx黑人xyx性爽| 99久久精品国产成人一区二区| 亚洲国产精品yw在线观看| 精品av中文字幕在线毛片| www亚洲精品| 91精品论坛| 91网免费观看| 国产欧美日韩在线一区二区| www.国产亚洲| 日本网站在线观看一区二区三区| 永久看看免费大片| 欧美高清在线视频| 日韩高清精品免费观看| 欧美精品一卡二卡| 免费一级毛片在线观看| 欧美另类在线观看| 国产美女久久| 日本高清不卡一区二区三| 国产精品多人| 日本在线播放一区二区| 久久人人超碰精品| 久一区二区三区| 51午夜精品国产| 国产在线视频你懂得| 8050国产精品久久久久久| 国产麻豆精品| 亚洲一区综合| 日本午夜一区二区| 一级国产黄色片| 亚洲综合激情另类小说区| 亚洲在线精品视频| 亚洲人成网站免费播放| 日韩脚交footjobhdboots| 成人在线视频网址| 亚洲91视频| 亚洲精品午夜在线观看| 久久久国产精品麻豆| 狠狠人妻久久久久久| 亚洲白拍色综合图区| 在线观看小视频| 成人黄色免费片| 日韩欧美高清| 日韩欧美在线免费观看视频| 91视频免费观看| 国产精品二区一区二区aⅴ| 91精品国产一区二区三区| 日本三级视频在线播放| 国产成人亚洲综合青青| 亚洲ab电影| 成人黄色av片| av在线播放不卡| 日本一区二区三区免费视频| 欧美精品一区二| 2021国产在线| 不卡视频一区| 亚洲区第一页| 亚洲一区二区三区综合| 无吗不卡中文字幕| 五十路在线视频| 欧美专区在线视频| 亚洲欧洲美洲国产香蕉| 88av.com| 国产精品色呦呦| 国产一区二区三区中文字幕| 久久精品2019中文字幕| 国产乱码精品一区二区三区亚洲人| av磁力番号网| 懂色av中文字幕一区二区三区| 久久久精品国产sm调教网站| 精品免费视频.| 国产高清中文字幕在线| 欧美xxxx黑人又粗又长密月 | 四川一级毛毛片| 夜夜揉揉日日人人青青一国产精品| 国内精品偷拍视频| 国产做受高潮69| 伊人久久大香线蕉无限次| 99久久久无码国产精品6| 国产农村妇女精品| 91麻豆一区二区| 国内精品一区二区三区四区| 亚洲区小说区图片区qvod按摩 | 久久精品视频6| 亚洲精品久久7777777| 国产精品av一区二区三区 | 亚洲电影在线一区二区三区| 黑人性生活视频| 黑人精品xxx一区| jyzzz在线观看视频| 成人久久一区二区| 一区二区福利| 国产又粗又长又硬| 精品国产乱码久久久久久浪潮 | 亚洲第一网站| 欧洲av一区二区三区| 7777精品久久久大香线蕉| 国内小视频在线看| 欧美一区二区三区电影在线观看| 久色婷婷小香蕉久久| 免费人成年激情视频在线观看| 亚洲国产日韩欧美在线99| 国产成人久久精品麻豆二区| 波多野结衣 作品| 久久久久免费观看| 国产女主播福利| 日本欧美精品在线| 欧美日韩国产精品一区二区亚洲| 西西444www无码大胆| 日韩免费电影一区| 粉嫩91精品久久久久久久99蜜桃|