Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG Đ¾I HàC VÀ QUÀN LÝ CÔNG NGHà HÀI PHÒNG --------------------------------------- Đà ÁN TÞT NGHIàP NGÀNH: CÔNG NGHà THÔNG TIN Sinh viên: Nguyßn Qußc Anh GiÁng viên h°ßng d¿n: Nguyßn Nh° Chi¿n HÀI PHÒNG - 2023 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG Đ¾I HàC VÀ QUÀN LÝ CÔNG NGHà HÀI PHÒNG --------------------------------------- TÌM HIÂU, TRIÂN KHAI MàT SÞ C¡ CH¾ Mà HOÁ DĀ LIàU TRONG HQTCSDL POSTGRESQL Đà ÁN TÞT NGHIàP Đ¾I HàC Hà CHÍNH QUY NGÀNH: CÔNG NGHà THÔNG TIN Sinh viên: Nguyßn Qußc Anh GiÁng viên h°ßng d¿n: Nguyßn Nh° Chi¿n HÀI PHÒNG - 2023 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG Đ¾I HàC VÀ QUÀN LÝ CÔNG NGHà HÀI PHÒNG --------------------------------------- NHIàM VĀ ĐÀ TÀI TÞT NGHIàP Sinh viên: Nguyßn Quác Anh Mã sinh viên: 1812101003 Lßp: CT2201C Ngành: Quản trị m¿ng Tên đÁ tài: Tìm hiáu, trián khai mát sá c¢ chÁ mã hóa dā liáu trong HQTCSDL POSTGRESQL 2 LàI CÀM ¡N Đá hoàn thành tát đ°ÿc Đồ án tát nghiáp, em xin gÿi lời cảm ¢n chân thành đÁn các thầy cô trong Khoa Công Nghá Thông tin của Tr°ờng ĐH Quản Lý và Công Nghá Hải Phòng đã t¿o đißu kián tát nhất cho em đá em hoàn thành đß tài đúng nh° dự kiÁn. Đặc biát em xin gÿi lời cảm ¢n sâu săc đÁn Cô Nguyßn Thị Xuân H°¢ng – Lãnh đ¿o Khoa Công Nghá Thông Tin và Thầy Nguyßn Nh° ChiÁn – Giảng viên h°ớng dẫn đồ án đã trực tiÁp h°ớng dẫn và tận tình giúp đỡ em đá em có thá hoàn thành tát đồ án tát nghiáp của mình. Em xin chân thành cảm ¢n các lãnh đ¿o của Tr°ờng ĐH Quản Lý và Công Nghá, các Thầy, Cô trong khoa Công Nghá Thông Tin đã t¿o cho em đißu kián tát nhất từ khi còn ngồi trên ghÁ nhà tr°ờng cho đÁn khi hoàn thành đồ án tát nghiáp quan trọng nhất trong cuác đời sinh viên. Trong quá trình thực tập, cũng nh° là trong quá trình làm đồ án tát nghiáp em không tránh khßi nhāng sai sót, em rất mong các Thầy, Cô bß qua.
Đồng thời do trình đá lý luận cũng nh° trong kinh nghiám thực tißn của em còn nhißu h¿n chÁ nên không tránh khßi nhāng thiÁu sót. Vậy nên, em rất mong sự đóng góp ý kiÁn từ Thầy, Cô đá em học thêm đ°ÿc nhißu kinh nghiám và kiÁn thúc đá có thá góp ích cho nhāng công viác sau này. Em xin chân thành cÁm ¢n! Hải Phòng, ngày 10 tháng 6 năm 2023 Sinh viên (Ký và ghi rõ họ tên) i LàI CAM ĐOAN Em xin cam đoan rằng đß tài này đ°ÿc tiÁn hành mát cách minh b¿ch, công khai. Mọi thứ đ°ÿc dựa trên sự cá gắng cũng nh° sự nß lực của bản thân cùng với sự giúp đỡ của thầy Nguyßn Nh° ChiÁn.
Các sá liáu và kÁt quả nghiên cứu đ°ÿc đ°a ra trong đồ án là trung thực và không sao chép hay sÿ dāng kÁt quả của bất kỳ đß tài nghiên cứu nào t°¢ng tự. NÁu nh° phát hián rằng có sự sao chép kÁt quả nghiên cứu đß nhāng đß tài khác bản thân em xin chịu hoàn toàn trách nhiám. Hải Phòng, ngày 10 tháng 6 năm 2023 Sinh viên (Ký và ghi rõ họ tên) ii MĀC LĀC LàI CÀM ¡N. i LàI CAM ĐOAN.
iii DANH MĀC KÍ HIàU VÀ TỪ VI¾T TÂT. iv DANH MĀC CÁC BÀNG. v DANH MĀC CÁC HÌNH VẼ. vi LàI NÓI ĐÀU.
vii CH¯¡NG 1. TỔNG QUAN VÀ HQTCSDL POSTGRESQL. Giới thiáu chung vß HQTCSDL PostgreSQL. KiÁn trúc, thành phần PostgreSQL.
Mát sá đặc tr°ng chính của PostgreSQL. ¯u nh°ÿc điám của PostgreSQL. KÁt luận ch°¢ng 1. C¡ CH¾ MÃ HOÁ TRONG HQTCSDL POSTGRESQL.
Nguy c¢ mất an toàn trong trián khai trong PostgreSQL. C¢ chÁ đảm bảo ATTT trong HQTCSDL. C¢ chÁ mã hoá dā liáu l°u trā. C¢ chÁ mã hoá dā liáu kênh truyßn.
KÁt luận ch°¢ng 2. TRIÂN KHAI CÀI Đ¾T MàT SÞ C¡ CH¾ Mà HÓA DĀ LIàU TRONG POSTGRESQL. Mô hình trián khai. Các b°ớc cài đặt c¢ bản.
Trián khai thực nghiám và đánh giá kÁt quả. KÁt luận ch°¢ng 3. 54 TÀI LIàU THAM KHÀO. 55 iii DANH MĀC KÍ HIàU VÀ TỪ VI¾T TÂT Vi¿t tÃt Ti¿ng Anh Ti¿ng Viát Kiám soát truy cập đồng thời MVCC Multiversion concurrency control nhißu phiên bản RAM Random Access Memory Bá nhớ truy cập ngẫu nhiên Ngôn ngā truy vấn mang tính SQL Structured Query Language cấu trúc Giao thức đißu khián truyßn TCP Transmission control protocol nhận ở tầng vận tải Tấn công từ chái dịch vā phân DDoS Distributed denial-of-service tán TDE Transparent data encryption Mã hóa dā liáu trong suát DEK Data Encryption Key Khóa mã hóa dā liáu AES Advance Encryption Standard Tiêu chuẩn mã hóa tiên tiÁn Giao thức bảo mật dā liáu TLS Transport Layer Security truyßn trên m¿ng Internet iv DANH MĀC CÁC BÀNG Bảng 1.
Giới h¿n khả năng của PostgreSQL. Chính sách áp dāng cho các lánh. 33 v DANH MĀC CÁC HÌNH VẼ Hình 1. KiÁn trúc PostgreSQL.
Các tiÁn trình của PostgreSQL. Cấu trúc database. Mô hình ho¿t đáng của TCP. Tấn công Syn Food.
Mã hóa không gian bảng TDE. Bảo mật kênh truyßn theo mô hình m¿ng Client – PostgreSQL Server. KiÁn trúc, vị trí TLS 1.3 trong mô hình TCP/IP. Ho¿t đáng giao thức TLS 1.
Mô hình trián khai dịch vā c¢ sở dā liáu PostgreSQL. Cài đặt PostgreSQL 12 repository. Error! Bookmark not defined. Cài đặt PostgreSQL 12.
Error! Bookmark not defined. PostgreSQL đã đ°ÿc khởi đông thành công. Error! Bookmark not defined. T¿o database và user.
Đặt mật khẩu cho user. Danh sách database và user đã có. Thêm dā liáu vào database. KÁt nái và truy vấn thông tin từ máy Client.
Dùng WireShark đá bắt gói tin khi ch°a thiÁt lập TLS 1. Chỉnh sÿa file PostgreSQL. Chỉnh sÿa file pg_hba. KÁt nái thành công với giao thức TLS 1.3 và truy vấn dā liáu từ database.
Dùng WireShark đá bắt gói tin khi đã thiÁt lập TLS 1. Dā liáu đã khởi t¿o tr°ớc. ThiÁt lập mã hóa TDE mức cát. Truy vấn dā liáu với hàm giải mã pgp_sym_decrypt().
52 vi LàI NÓI ĐÀU Cùng với sự phát trián của xã hái ngày nay. Công nghá thông tin ngày càng phát trián bùng nổ, khi sÿ dāng máy tính, thông th°ờng ta l°u trā thông tin d°ới d¿ng tập tin, th° māc khác nhau. Ngoài ra, dā liáu còn l°u trā d°ới d¿ng các bảng có quan há với nhau hay chính là l°u trā trên các há quản trị c¢ sở dā liáu đá có thá thực thi các thao tác nh°: Chỉnh sÿa, thêm, xoá, tìm kiÁm dā liáu đ°ÿc dß dàng và nhanh gọn. Há quản trị c¢ sở dā liáu (CSDL) là mát trong nhāng kiÁn thức có ứng dāng quan trọng và đ°ÿc sÿ dāng phổ biÁn trong hầu hÁt mọi lĩnh vực đ°ÿc thiÁt kÁ đá quản lý c¢ sở dā liáu mát cách tự đáng và có trật tự.
Trong mát sá c¢ quan, tổ chức của nhà n°ớc tính bí mật của dā liáu cần đ°ÿc bảo đảm tuyát đái. Đißu đó cho thấy tầm quan trọng của viác bảo vá dā liáu trong mát há quản trị CSDL. Hián nay có rất nhißu há quản trị CSDL mã nguồn mở với chi phí trián khai thấp. Và há quản trị CSDL PostgreSQL đ°ÿc phần lớn các doanh nghiáp thuác các khái vißn thông, ngân hàng, chính phủ sÿ dāng vì PostgreSQL có các tính năng nh°: - Câu truy vấn phức hÿp - Thủ tāc sự kián - Tính toàn vẹn của các giao dịch - Viác kiám tra truy cập đồng thời đa phiên bản - Truy vấn xÿ lý song song - Sao chép dā liáu d¿ng luồng Trong HQTCSDL PostgreSQL còn hß trÿ nhißu các c¢ chÁ an toàn khác nhau trong đó có các c¢ chÁ mã hoá đảm bảo tính bí mật dā liáu nh° c¢ chÁ mã TDE hay mã hoá kênh truyßn với TLS1.
Viác tìm hiáu rõ nhāng c¢ chÁ mã hoá này là đißu cần thiÁt đái với quản trị viên đá có thá đảm bảo an toàn cho HQTCSDL. Dựa trên lý do đó, em đã chọn đß tài <Tìm hiÃu, triÃn khai mát sß c¢ ch¿ mã hoá dā liáu trong HQTCSDL PostgreSQL= đá làm đồ án tát nghiáp. vii CH¯¡NG 1. TỔNG QUAN VÀ HQTCSDL POSTGRESQL 1.
Gißi thiáu chung vÁ HQTCSDL PostgreSQL PostgreSQL là há quản trị c¢ sở dā liáu đ°ÿc viÁt theo h°ớng mã nguồn mở và rất m¿nh m¿. Há quản trị c¢ sở dā liáu này đã có h¢n 15 năm phát trián, đồng thời cấu trúc đã đ°ÿc kiám chứng và t¿o đ°ÿc lòng tin với ng°ời sÿ dāng vß đá tin cậy, tính toàn vẹn dā liáu, và tính đúng đắn. PostgreSQL có thá ch¿y trên tất cả các há đißu hành, bao gồm cả Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), và Windows. Có hß trÿ đầy đủ các foreign keys, joins, views, triggers, và stored procedures (trên nhißu ngôn ngā).
Há quản trị này còn bao gồm các kiáu dā liáu SQL: 2008 nh° INTEGER, NUMBER, BOOLEAN, CHAR, VARCHAR, DATE INTERVAL, và TIMESTAMPs. PostgreSQL cũng hß trÿ l°u trā các đái t°ÿng có kiáu dā liáu nhị phân lớn, bao gồm cả hình ảnh, âm thanh, hoặc video. Há quản trị c¢ sở dā liáu này đ°ÿc sÿ dāng thông qua giao dián của các ngôn ngā C / C + +, Java,. Net, Perl, Python, Ruby, Tcl, ODBC& Hình 1.
PostgreSQL Là mát há quản trị c¢ sở dā liáu m¿nh, PostgreSQL có các tính năng phức t¿p nh° kiám soát truy cập đồng thời nhißu phiên bản (MVCC), khôi phāc dā liáu t¿i từng thời điám (Recovery), quản lý dung l°ÿng bảng (tablespaces), sao chép không đồng bá, giao dịch lồng nhau (savepoints), sao l°u trực tuyÁn hoặc nái bá, truy vấn phức t¿p và tái °u hóa, viÁt tr°ớc các khai báo đá quản lý và gỡ lßi. PostgreSQL hß trÿ bá ký tự quác tÁ, hß trÿ bảng mã nhißu byte, Unicode, và cho phép định d¿ng, sắp xÁp và phân lo¿i ký tự văn bản (chā hoa, th°ờng). PostgreSQL 1 còn đ°ÿc biÁt đÁn với khả năng mở ráng đá nâng cao cả vß sá l°ÿng dā liáu quản lý và sá l°ÿng ng°ời dùng truy cập đồng thời. Đã từng có nhāng há tháng PostgreSQL ho¿t đáng trong môi tr°ờng thực tÁ thực hián quản lý v°ÿt quá 4 terabyte dā liáu.
D°ới đây là thông tin vß giới h¿n khả năng của PostgreSQL.