Nghiên cứu các giao thức đảm bảo an ninh cho tầng ứng dụng và xây dựng chương trình mô phỏng - Pdf 13

An toàn bảo mật thông tin
Lời mở đầu
Hiện nay, hệ thống công nghệ thông tin ngày càng phát triển, việc áp dụng
mạng máy tính vào trong các hoạt động ngày càng phổ biến. Việc sử dụng thư điện tử
đang ngày càng nhiều vì thư điện tử là dịch vụ mạng phổ dụng nhất. Hiện nay các
thông báo không được bảo mật có thể đọc được nội dung trong quá trình thông báo di
chuyển trên mạng; những người dùng có đủ quyền có thể đọc được nội dung thông báo
trên máy đích; thông báo dễ dàng bị giả mạo bởi một người khác và tính toàn vẹn của
thông báo không báo không được bảo đảm. Do đó, cần phải xây dựng các giao thức để
đảm bảo an toàn.
Với đề tài “ Nghiên cứu các giao thức đảm bảo an ninh cho tầng ứng dụng
và xây dựng chương trình mô phỏng” em đã tìm hiểu một số giao thức bảo mật
thường dùng với sự giúp đỡ nhiệt tình của thầy Nguyễn Duy Tân. Tuy nhiên, do khả
năng còn hạn hẹp nên không tránh được những sai xót, rất mong được sự góp ý của
thầy và các bạn để bài tiểu luận được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Sinh viên: Nguyễn Thị Ánh_TK6LC1
1
An toàn bảo mật thông tin
Mỗi tầng khác nhau thì có những giao thức đảm bảo an ninh khác nhau.
Tầng ứng dụng bao gồm các giao thức: Kerberos, S| MIME, PGP, SET
1. Giao thức Kerberos
Kerberos là một giao thức mật mã dùng để xác thực trong các mạng máy tính hoạt
động trên những đường truyền không an toàn. Giao thức Kerberos có khả năng chống
lại việc nghe lén hay gửi lại các gói tin cũ và đảm bảo tính toàn vẹn của dữ liệu. Mục
tiêu khi thiết kế giao thức này là nhằm vào mô hình client - server và đảm bảo nhận
thực cho cả hai chiều.
Tên của giao thức Kerberos được lấy từ tên của con chó ba đầu Cerberus canh gác
cổng địa ngục trong thần thoại Hy Lạp. Giao thức được xây dựng dựa trên mã hoá đối
xứng và cần đến một bên thứ ba mà cả hai phía tham gia giao dịch tin tưởng.
1.1 Lịch sử phát triển

Protocols ("Microsoft Windows 2000 Kerberos Change Password and Set Password
Protocols"). Hệ điều hành Mac OS X cũng sử dụng Kerberos trong các phiên bản
Clients và Server của mình. Năm 2005, nhóm làm việc của IETF về Kerberos cập nhật
các đặc điểm kỹ thuật tại địa chỉ Internet Engineering Task Force. Các cập nhật gần
đây bao gồm:
RFC 3961: "Các quy định về mật mã hóa và kiểm tra tổng";
RFC 3962: Mã hoá AES cho Kerberos 5";
RFC 4120: Phiên bản mới về tiêu chuẩn Kerberos V5: "The Kerberos Network
Authentication Service (V5)". Phiên bản này thay thế RFC 1510, làm rõ các vấn đề
của giao thức và cách sử dụng;
RFC 4121: Phiên bản mới của tiêu chuẩn GSS-API: "Cơ cấu GSS-API của Kerberos
Version 5: Version 2."
1.2Nguyên tắc hoạt động
Kerberos được thiết kế dựa trên giao thức Needham-Schroeder. Kerberos sử dụng
một bên thứ ba tham gia vào quá trình nhận thực gọi là "trung tâm phân phối khóa"
( key distribution center - KDC). KDC bao gồm hai chức năng: "máy chủ xác thực"
(authentication server - AS) và "máy chủ cung cấp vé" (ticket granting server - TGS).
Sinh viên: Nguyễn Thị Ánh_TK6LC1
3
An toàn bảo mật thông tin
"Vé" trong hệ thống Kerberos chính là các chứng thực chứng minh nhân dạng của
người sử dụng. Mỗi người sử dụng (cả máy chủ và máy khách) trong hệ thống chia sẻ
một khóa chung với máy chủ Kerberos. Việc sở hữu thông tin về khóa chính là bằng
chứng để chứng minh nhân dạng của một người sử dụng. Trong mỗi giao dịch giữa hai
người sử dụng trong hệ thống, máy chủ Kerberos sẽ tạo ra một khoá phiên dùng cho
phiên giao dịch đó.
1.3Ứng dụng của Kerberos
Các phần mềm sau có thể dùng Kerberos để nhận thực:
+ OpenSSH (với Kerberos v5 hoặc cao hơn)
+ NFS (kể từ NFSv3)

người sử dụng, thời hạn của vé và "Khóa phiên TGS/máy khách") được mật mã hóa
với khóa bí mật của TGS.
5. Khi nhận được 2 gói tin trên, phần mềm máy khách giải mã gói tin A để có khóa
phiên với TGS. (Người sử dụng không thể giải mã được gói tin B vì nó được mã hóa
với khóa bí mật của TGS). Tại thời điểm này, người dùng có thể nhận thực mình với
TGS.
6. Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói tin sau tới TGS:
Gói tin C: Bao gồm "Vé chấp thuận" từ gói tin B và chỉ danh (ID) của yêu cầu dịch vụ.
Gói tin D: Phần nhận thực (bao gồm chỉ danh người sử dụng và thời điểm yêu cầu),
mật mã hóa với "Khóa phiên TGS/máy khách".
7. Khi nhận được 2 gói tin C và D, TGS giải mã D rồi gửi 2 gói tin sau tới người sử
dụng:
Gói tin E: "Vé" (bao gồm chỉ danh người sử dụng, địa chỉ mạng người sử dụng, thời
hạn sử dụng và "Khóa phiên máy chủ/máy khách") mật mã hóa với khóa bí mật của
máy chủ cung cấp dịch vụ.
Gói tin F: "Khóa phiên máy chủ/máy khách" mật mã hóa với "Khóa phiên TGS/máy
khách".
8. Khi nhận được 2 gói tin E và F, người sử dụng đã có đủ thông tin để nhận thực với
máy chủ cung cấp dịch vụ SS. Máy khách gửi tới SS 2 gói tin:
Gói tin E thu được từ bước trước (trong đó có "Khóa phiên máy chủ/máy khách" mật
mã hóa với khóa bí mật của SS).
Gói tin G: phần nhận thực mới, bao gồm chỉ danh người sử dụng, thời điểm yêu cầu và
được mật mã hóa với "Khóa phiên máy chủ/máy khách".
9. SS giải mã "Vé" bằng khóa bí mật của mình và gửi gói tin sau tới người sử dụng để
xác nhận định danh của mình và khẳng định sự đồng ý cung cấp dịch vụ:
Gói tin H: Thời điểm trong gói tin yêu cầu dịch vụ cộng thêm 1, mật mã hóa với
"Khóa phiên máy chủ/máy khách".
Sinh viên: Nguyễn Thị Ánh_TK6LC1
5
An toàn bảo mật thông tin

(3) C → V : IDC ║ Thẻ
Sinh viên: Nguyễn Thị Ánh_TK6LC1
6
An toàn bảo mật thông tin
Thẻ = EKV[IDC ║ ADC ║ IDV]
• Hạn chế
– Mật khẩu truyền từ C đến AS không được bảo mật
– Nếu thẻ chỉ sử dụng được một lần thì phải cấp thẻ mới cho mỗi lần truy
nhập cùng một dịch vụ
– Nếu thẻ sử dụng được nhiều lần thì có thể bị lấy cắp để sử dụng trước
khi hết hạn
– Cần thẻ mới cho mỗi dịch vụ khác nhau
Hội thoại xác thực Kerberos 4
(a) Trao đổi với dịch vụ xác thực : để có thẻ cấp thẻ
(1) C → AS : IDC ║ IDtgs ║ TS1
(2) AS → C : EKC[KC,tgs ║ IDtgs ║ TS2 ║ Hạn2 ║ Thẻtgs]
Thẻtgs = EKtgs[KC,tgs ║ IDC ║ ADC ║ IDtgs ║ TS2 ║ Hạn2]
(b) Trao đổi với dịch vụ cấp thẻ : để có thẻ dịch vụ
(3) C → TGS : IDV ║ Thẻtgs ║ DấuC
(4) TGS → C : EKC,tgs[KC,V ║ IDV ║ TS4 ║ ThẻV]
ThẻV = EKV[KC,V ║ IDC ║ ADC ║ IDV ║ TS4 ║ Hạn4]
DấuC = EKC,tgs[IDC ║ ADC ║ TS3]
(c) Trao đổi xác thực client/server : để có dịch vụ
(5) C → V : ThẻV ║ DấuC
(6) V → C : EKC,V[TS5 + 1]
DấuC = EKC,V[IDC ║ ADC ║ TS5]
Phân hệ Kerberos
• Một phân hệ Kerberos bao gồm
– Một server Kerberos chứa trong CSDL danh tính và mật khẩu băm của
các thành viên

Kerberos.
Giao thức đòi hỏi đồng hồ của tất cả những máy tính liên quan phải được đồng bộ.
Nếu không đảm bảo điều này, cơ chế nhận thực giữa trên thời hạn sử dụng sẽ không
hoạt động. Thiết lập mặc định đòi hỏi các đồng hồ không được sai lệch quá 10 phút.
Cơ chế thay đổi mật khẩu không được tiêu chuẩn hóa.
2 PGP(Pretty Good Privacy)
Mật mã hóa PGP (Pretty Good Privacy®) làm một phần mềm máy tính dùng để
mật mã hóa dữ liệu và xác thực. Phiên bản PGP đầu tiên do Phil Zimmermann được
công bố vào năm 1991. Kể từ đó, phần mềm này đã có nhiều cải tiến và hiện nay tập
đoàn PGP cung cấp nhiều phần mềm dựa trên nền tảng này. Với mục tiêu ban đầu là
phục vụ cho mã hóa thư điện tử, PGP hiện nay đã trở thành một giải pháp mã hóa cho
các công ty lớn, chính phủ cũng như các cá nhân. Các phần mềm dựa trên PGP được
dùng để mã hóa và bảo vệ thông tin lưu trữ trên máy tính xách tay, máy tính để bàn,
máy chủ và trong quá trình trao đổi thông qua email, IM hoặc chuyển file. Giao thức
hoạt động của hệ thống này có ảnh hưởng lớn và trở thành một trong hai tiêu chuẩn mã
hóa (tiêu chuẩn còn lại là S/MIME).
2.1 Ứng dụng của PGP
Mục tiêu ban đầu của PGP nhằm vào mật mã hóa nội dung các thông điệp thư
điện tử và các tệp đính kèm cho người dùng phổ thông. Bắt đầu từ 2002, các sản phẩm
PGP đã được đa dạng hóa thành một tập hợp ứng dụng mật mã và có thể được đặt dưới
sự quản trị của một máy chủ. Các ứng dụng PGP giờ đây bao gồm: thư điện tử, chữ ký
số, mật mã hóa ổ đĩa cứng máy tính xách tay, bảo mật tệp và thư mục, bảo mật các
phiên trao đổi IM, mật mã hóa luồng chuyển tệp, bảo vệ các tệp và thư mục lưu trữ
trên máy chủ mạng.
Sinh viên: Nguyễn Thị Ánh_TK6LC1
9
An toàn bảo mật thông tin
Phiên bản PGP Desktop 9.x dành cho máy để bàn bao gồm các tính năng: thư
điện tử, chữ ký số, bảo mật IM, mật mã hóa ổ đĩa cứng máy tính xách tay, bảo mật tệp
và thư mục, tệp nén tự giải mã, xóa file an toàn. Các tính năng riêng biệt được cấp

Bảo mật của PGP
EC = Mã hóa đối xứng
DC = Giải mã đối xứng
Ks = Khóa phiên

Nén của PGP
 PGP nén thông báo sử dụng giải thuật ZIP
 Ký trước khi nén
o Thuận tiện lưu trữ và kiểm tra, nếu ký sau khi nén thì
 Cần lưu phiên bản nén với chữ ký, hoặc
 Cần nén lại thông báo mỗi lần muốn kiểm tra
o Các phiên bản khác nhau của giải thuật nén không cho kết quả duy nhất
Sinh viên: Nguyễn Thị Ánh_TK6LC1
11
An toàn bảo mật thông tin
 Mỗi phiên bản cài đặt có tốc độ và tỷ lệ nén khác nhau
 Nếu ký sau khi nén thì các chương trình PGP cần sử dụng cùng
một phiên bản của giải thuật nén
 Mã hóa sau khi nén
o Ít dữ liệu sẽ khiến việc mã hóa nhanh hơn
o Thông báo nén khó phá mã hơn thông báo thô

Tương thích thư điện tử của PGP
 PGP bao giờ cũng phải gửi dữ liệu nhị phân
 Nhiều hệ thống thư điện tử chỉ chấp nhận văn bản ASCII (các ký tự đọc được)
o Thư điện tử vốn chỉ chứa văn bản đọc được
 PGP dùng giải thuật cơ số 64 chuyển đổi dữ liệu nhị phân sang các ký tự ASCII
đọc được
o Mỗi 3 byte nhị phân chuyển thành 4 ký tự đọc được
 Hiệu ứng phụ của việc chuyển đổi là kích thước thông báo tăng lên 33%

kiến trúc tương tự như hạ tầng khóa công khai.
PGP sử dụng thuật toán mật mã hóa khóa bất đối xứng. Trong các hệ thống này,
người sử dụng đầu tiên phải có một cặp khóa: khóa công khai và khóa bí mật. Người
gửi sử dụng khóa công khai của người nhận để mã hóa một khóa chung (còn gọi là
khóa phiên) dùng trong các thuật toán mật mã hóa khóa đối xứng. Khóa phiên này
chính là khóa để mật mã hóa các thông tin được gửi qua lại trong phiên giao dịch. Rất
nhiều khóa công khai của những người sử dụng PGP được lưu trữ trên các máy chủ
khóa PGP trên khắp thế giới (các máy chủ mirror lẫn nhau).
Người nhận trong hệ thống PGP sử dụng khóa phiên để giải mã các gói tin.
Khóa phiên này cũng được gửi kèm với thông điệp nhưng được mật mã hóa bằng hệ
thống mật mã bất đối xứng và có thể tự giải mã với khóa bí mật của người nhận. Hệ
thống phải sử dụng cả 2 dạng thuật toán để tận dụng ưu thế của cả hai: thuật toán bất
đối xứng đơn giản việc phân phối khóa còn thuật toán đối xứng có ưu thế về tốc độ
(nhanh hơn cỡ 1000 lần).
Một chiến lược tương tự cũng được dùng (mặc định) để phát hiện xem thông
điệp có bị thay đổi hoặc giả mạo người gửi. Để thực hiện 2 mục tiêu trên người gửi
Sinh viên: Nguyễn Thị Ánh_TK6LC1
13
An toàn bảo mật thông tin
phải ký văn bản với thuật toán RSA hoặc DSA. Đầu tiên, PGP tính giá trị hàm băm
của thông điệp rồi tạo ra chữ ký số với khóa bí mật của người gửi. Khi nhận được văn
bản, người nhận tính lại giá trị băm của văn bản đó đồng thời giải mã chữ ký số bằng
khóa công khai của người gửi. Nếu 2 giá trị này giống nhau thì có thể khẳng định (với
xác suất rất cao) là văn bản chưa bị thay đổi kể từ khi gửi và người gửi đúng là người
sở hữu khóa bí mật tương ứng.
Trong quá trình mã hóa cũng như kiểm tra chữ ký, một điều vô cùng quan trọng
là khóa công khai được sử dụng thực sự thuộc về người được cho là sở hữu nó. Nếu
chỉ đơn giản là download một khóa công khai từ đâu đó sẽ không thể đảm bảo được
điều này. PGP thực hiện việc phân phối khóa thông qua chứng thực số được tạo nên
bởi những kỹ thuật mật mã sáo cho việc sửa đổi (không hợp pháp) có thể dễ dàng bị

phiên bản. Năm 1996, nhà mật mã học Bruce Schneier đánh giá các phiên bản đầu tiên
của PGP là "thứ gần nhất với mật mã hóa của quân đội mà mọi người có được"
(Applied Cryptography, xuất bản lần 2, trang 587).
Trái với những hệ thống an ninh/giao thức như SSL chỉ nhằm bảo vệ thông tin
trên đường truyền, PGP có thể bảo vệ cả dữ liệu cho mục đích lưu trữ lâu dài (hệ thống
file).
Cũng giống như các hệ thống mật mã và phần mềm khác, an ninh của PGP có
thể bị vô hiệu trong trường hợp sử dụng sai hoặc thông qua các dạng tấn công gián
tiếp. Trong một trường hợp, FBI nhập mật khẩu PGP của người bị tình nghi. Sau đó,
toàn bộ các tệp/email của người đó bị vô hiệu và là chứng cứ để kết án.
Ngoài những vấn đề trên, về khía cạnh mật mã học, an ninh của PGP phụ thuộc
vào các giả định về thuật toán mà nó sử dụng trong điều kiện về thiết bị và kỹ thuật
đương thời. Chẳng hạn, phiên bản PGP đầu tiên sử dụng thuật toán RSA để mã hóa
khóa phiên; an ninh của thuật toán này lại phụ thuộc vào bản chất hàm một chiều của
bài toán phân tích ra thừa số nguyên tố. Nếu có kỹ thuật mới giải bài toán này được
phát hiện thì an ninh của thuật toán, cũng như PGP sẽ bị phá vỡ. Tương tự như vậy,
thuật toán khóa đối xứng trong PGP là IDEA cũng có thể gặp phải những vấn đề về an
ninh trong tương lai. Những phiên bản PGP gần đây hỗ trợ thêm những thuật toán
khác nữa; vì thế mức độ an toàn trước tấn công về mặt mật mã học cũng thay đổi.
Sinh viên: Nguyễn Thị Ánh_TK6LC1
15
An toàn bảo mật thông tin
Do các tổ chức nghiên cứu lớn về mật mã học (như NSA, GCHQ ) không
công bố những phát hiện mới của mình nên có thể tồn những phương pháp giải mã
những thông điệp PGP mà không cần biết đến khóa bí mật được sử dụng. Điều này
cũng đúng với bất kỳ hệ thống mật mã nào khác không chỉ là PGP.
Hiện nay PGP cho sử dụng một số thuật toán khác nhau để thực hiện việc mã
hóa. Vì thế các thông điệp mã hóa với PGP hiện tại không nhất thiết có những điểm
yếu giống như PGP phiên bản đầu. Tuy nhiên cũng có một số tin đồn về sự không an
toàn của PGP phiên bản đầu tiên (sử dụng các thuật toán RSA và IDEA). Phil

o PGP 7.2 cho Mac OS 9.
o PGP Personal và PGP Freeware.
o PGP 8.0 cho Macintosh và Windows.
o PGP Corporation công bố mã nguồn.
• 2003
o PGP Desktop 8.0.1DE cho Windows tiếng Đức.
o PGP Desktop 8.0.2.
o PGP Desktop 8.0.3 cho Macintosh và Windows.
o Công bố và đóng gói PGP Universal INFO, một dòng sản phẩm mới.
o PGP Universal 1.1 (30 tháng 12).
• 2004
o PGP Universal 1.2.
o PGP Desktop 8.1.
o PGP Command Line 8.5.
o PGP Corporation và Symantec đưa ra giải pháp an ninh thư điện tử tích
hợp PGP Universal cho doanh nghiệp.
o PGP Software Development Kit (SDK) nhận được FIPS 140-2 Level 1
từ NIST.
• 2005
Sinh viên: Nguyễn Thị Ánh_TK6LC1
17
An toàn bảo mật thông tin
o PGP Universal 2.0 và PGP Desktop 9.0 cũng như dịch vụ PGP Global
Directory.
o "Tiger" cho Mac OS X 10.4 .
o Nâng cấp PGP 9.0.1 Freeware thành bản đầy đủ tính năng dưới dạng
phần mềm dùng thử 30 ngày.
o PGP Whole Disk Encryption được chính thức phát hành như một sản
phẩm độc lập
o PGP 9.0.2 với phần cập nhật cho bản chuyển mã quốc tế và bản địa hóa

 Phát triển năm 1996 bởi Mastercard, Visa, …
 Đặc tả mở về mã hóa và bảo mật nhằm bảo vệ các giao dịch thẻ tín dụng trên
Internet. Không phải hệ thống trả tiền điện tử
 Là một tập hợp các định dạng & giao thức
o đảm bảo truyền tin an toàn giữa các bên
o đảm bảo tính tin cậy, sử dụng chứng thực X.509v3
o đảm bảo tính riêng tư, thông tin chỉ được truy cập hạn chế bởi những
bên thực sự cần.
Giao dịch SET
1. customer receives a certificate
2. merchants have their own certificates
3. customer places an order
4. customer opens account
5. Merchant(nha buon) is verified
6. order and payment are sent
7. merchant requests payment authorization
8. merchant confirms order
9. merchant provides goods or service
10.merchant requests payment
5 Chữ ký điện tử (electronic signature)
Là thông tin đi kèm theo dữ liệu(văn bản, hình ảnh, video,…) nhằm mục đích
xác định người chủ của dữ liệu đó.
Sinh viên: Nguyễn Thị Ánh_TK6LC1
19
An toàn bảo mật thông tin
Chữ ký điện tử được sử dụng trong các giao dịch điện tử. Xuất phát từ thực tế,
chữ ký điện tử cũng cần đảm bảo các chức năng: xác định được người chủ của một dữ
liệu nào đó: văn bản, ảnh, video, dữ liệu đó có bị thay đổi hay không.
Hai khái niệm chữ ký số (digital signature) và chữ ký điện tử (electronic
signature) thường được dùng thay thế cho nhau mặc dù chúng không hoàn toàn có

• Cung cấp cho các bên các văn bản gốc pháp lý để lưu giữ.
Vấn đề quan trọng cần được xem xét là sự giả mạo (giả mạo chữ ký và giả mạo
sự chấp nhận). Tòa án phải giả định rằng sự giả mạo là không thể thực hiện. Tuy
nhiên, đối với chữ ký điện tử thì việc làm giả là không quá khó khăn.Thông thường,
các doanh nghiệp thường phải dựa trên các phương tiện khác để kiểm tra chữ ký điện
tử chẳng hạn như gọi điện trực tiếp cho người ký trước khi giao dịch, dựa trên các
quan hệ truyền thống hay không dựa hoàn toàn vào các văn bản dưới dạng điện tử.
Đây là các thông lệ trong kinh doanh nên được áp dụng trong bất kỳ môi trường nào vì
sự giả mạo cũng là một vấn đề thường xảy ra trong môi trường kinh doanh truyền
thống. Chữ ký điện tử cũng như chữ ký truyền thống đều không đủ khả năng ngăn
chặn hoàn toàn việc làm giả.
Các ví dụ về chữ ký điện tử nêu ở trên chưa phải là chữ ký số bởi vì chúng thiếu
các đảm bảo mật mã học về nhận dạng người tạo ra và thiếu các kiểm tra tính toàn vẹn
của dữ liệu. Các chữ ký này có tính chất pháp lý trên được gắn với văn bản trong một
số trường hợp cụ thể.
5.3 Những sử dụng giả luật của chữ ký điện tử
Một số trang web và các điều khoản sử dụng phần mềm tuyên bố một số hành
động gắn với chữ ký điện tử. Chẳng hạn, một trang web có thể tuyên bố rằng với việc
truy cập vào trang web, bạn đã chấp nhận một số quy định. Một ví dụ khác là khi cài
đặt phần mềm, trước khi cài sẽ xuất hiện một màn hình thông báo rằng với việc tiếp
tục cài đặt thì bạn chấp nhận một số điều về bản quyền. Các điều khoản này có thể
không được thông báo trước khi bán và không phải lúc nào cũng được hiển thị đầy đủ
khi bạn cài đặt. Các điều kiện về bản quyền này thường bao gồm các điều cấm người
sử dụng công bố các thông tin về sản phẩm nếu không được sự cho phép của nhà sản
xuất, các điều hạn chế người sử dụng nghiên cứu sản phẩm (reverse engineering) kể cả
cho mục đích hợp pháp như để tạo ra các tệp theo định dạng của phần mềm. Trong
Sinh viên: Nguyễn Thị Ánh_TK6LC1
21
An toàn bảo mật thông tin
một số trường hợp, các điều khoản này có thể trái với quy định của pháp luật. Một số

 Gửi yêu cầu mua
 Xác thực yêu cầu mua
 Yêu cầu trả tiền
Sinh viên: Nguyễn Thị Ánh_TK6LC1
23


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status