Các khái niệm: Mã hóa và giải mã: Dữ liệu có thể đọc và hiểu mà không cần một phương pháp đặc biệt nào được gọi là văn bản rõ plaintext hay cleartext.. Bảo mật của dữ liệu được mã hóa ho
Trang 1TIỂU LUẬN MÔN HỌC
HỆ THỐNG THÔNG TIN ĐỊA LÝ
Đề tài:
BẢN ĐỒ TỈNH BÀ RỊA – VŨNG TÀU
Đà Nẵng, tháng 05 năm 2015
Trang 2MỤC LỤC
Trang 3Cùng với sự phát triển bùng nổ của Internet, an toàn thông tin là một vấn
đề nóng hổi của xã hội Nguy cơ mất an toàn thông tin do nhiều nguyên nhân,đối tượng tấn công đa dạng… Thiệt hại từ những vụ tấn công mạng là rất lớn,đặc biệt là những thông tin thuộc lĩnh vực kinh tế, an ninh, quốc phòng… Do
đó, việc tìm hiểu và áp dụng các công nghệ nhằm mã hóa, xác thực dữ liệu đểngăn chặn những truy cập trái phép trở thành nhu cầu cấp bách trong các hoạtđộng truyền thông
Sau khi được học môn An toàn an ninh thông tin do Thầy T Ngô TấnKhôi tận tình giảng dạy, với mong muốn tìm hiểu sâu hơn về các kiến thức củamôn học cũng như vận dụng các kiến thức đã học vào thực tế, nhóm báo cáogồm Phan Hữu Can và Đoàn Hà Hạ Quyên xin chọn đề tài cho tiểu luận kếtthúc môn học là “ Mã hóa dữ liệu và xác thực PGP (Pretty Good Privacy)”
Mặc dù đã cố gắng như do kiến thức và thời gian có hạn nên tiểu luận cũng chỉ dừng lại ở mức cơ bản, chưa đi sâu phân tích đầy đủ các vấn đề liên quan Nhóm báo cáo xin chân thành cảm ơn Thầy TS Nguyễn Tấn Khôi đã tận tình giảng dạy và giúp
đỡ để em hoàn thành tiểu luận này.
Chân thành cảm ơn.
Trang 4Chương 1.
MÃ HÓA VÀ XÁC THỰC PGP – PRETTY GOOD PRIVACY
1 Giới thiệu chung về PGP
Khái niệm: PGP (Pretty Good Privacy) là một phần mềm máy tính dùng
để 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 phần mềm dựa trên nền tảng này
2 Mục đích sử dụng PGP
Mục đích ban đầu sử dụng PGP để phục vụ cho việc mã hóa thư điện tử,phần mềm mã nguồn mở PGP hiện nay đã trở thành một giải pháp mã hóa chocác công ty lớn, chính phủ cũng như các cá nhân Các ứng dụng của PGP đượcdùng để mã hóa 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 email hoặc chuyển file, chữ ký số…
3 Hoạt động mã hóa của PGP
3.1 Các khái niệm:
Mã hóa và giải mã: Dữ liệu có thể đọc và hiểu mà không cần một
phương pháp đặc biệt nào được gọi là văn bản rõ (plaintext hay cleartext) Mộtphương thức nhằm che dấu văn bản rõ để tránh bị sự dụng sai mục đích đượcgọi là mã hóa (encrytion) Kết quả mã hóa văn bản rõ được gọi là bản mã(ciphertext) Quá trình ngược lại của mã hóa nghĩa là chuyển bản mã thành vănbản rõ để sử dụng được gọi là giải mã (decryption)
Hình 1 Mã hóa và giải mã dữ liệu
Mật mã học (cryptography) và phân tích mã (cryptanalysis):
Mật mã học là môn khoa học dùng các thuật toán, toán học để mã hóa vàgiải mã dữ liệu Mật mã học cho phép người dùng lưu trữ và truyền dữ liệu trênmôi trường truyền không an toàn như môi trường Internet
Trang 5tích, áp dụng các công cụ toán học, phát hiện mô hình; lòng quyết tâm, kiên nhẫ
và may mắn Người phân tích mật mã học cũng được gọi là những kẻ tấn công(attacker)
Hệ thống mật mã (crytosystem): Thuật toán mật mã là các hàm toán
học được sử dụng trong quá trình mã hóa và giải mã Một thuật toán mật mãkết hợp với một Key là một từ, số hoặc cụm từ để mã hóa bản rõ Cùng mộtvăn bản rõ có thể cho các bản mã khá nhau khi các key khác nhau Bảo mật của
dữ liệu được mã hóa hoàn toàn phụ thuộc vào hai điều: sức mạnh của các thuậttoán mật mã và bí mật của khóa Thuật toán mã hóa, cộng với tất cả các key vàtất cả các giao thức để nó hoạt động được gọi là hệ thống mật mã PGP là một
hệ thống mật mã
Có 2 loại mật mã học đó là mật mã thông thường (Conventionalcryptography) và mật mã khóa công khai (Public key cryptography)
Mật mã thông thường: còn gọi là mật mã khóa đối xứng, là phương
pháp dùng một khóa sử dụng cho mã hóa và giải mã Data Encryption Standard(DES) là một ví dụ về một mật mã hóa thông thường
Hình 2 Mật mã hóa thông thườngPhương pháp thay thế nội dung văn bản rõ bằng một văn bản có nội dungkhác do bị chuyển đổi theo một quy luật nào đó là ví dụ về mã hóa thôngthường Ví dụ cần truyền dữ liệu là abc có thể mã hóa chuyển sang cde bằngcách dịch đi hai ký tự
Mã hóa thông thường có ưu điểm là mã hóa nhanh (gấp 1.000 lần so với
mã khóa khóa công khai) nhưng có nhược điểm là người gửi và người nhận pháithỏa thuận về quy luật mã hóa và thỏa thuận này sẽ không an toàn nếu đượctruyền đi trong môi trường Internet
Mật mã khóa công khai (Public key cryptography): Khó khăn trong
việc phân phối khóa của mật mã thông thường được giải quyết bằng mật mã
Trang 6khóa trong đó khóa công khai (public key) phục vụ cho việc mã hóa và khóa bímật (private key) cho việc giải mã Bất kỳ ai có kháo công khai đều có thể mãhóa dữ liệu nhưng chỉ có người giữa khóa bí mật mới có thể giải mã được dữliệu.
Hình 3 Mật mã khóa công khai
Ưu điểm của mật mã khóa công khai là người nhận và người gửi không cần trao đổi về khóa mã hóa dữ liệu, nhưng nhược điểm của mật mx khóa công khai là quá trì mật mã dữ liệu chậm (chamạ hơn 1.000 lần so với mật mã thôgn thường)
3.2 Hoạt động mã hóa của PGP
PGP kết hợp những ưu điểm của mật mã thông thường và mật mã khóacông khai nên còn được gọi là hệ thống mật mã lai (hybrid cryposystem) Khingười dùng mã hóa văn bản rõ với PGP, đầu tiên PGP nén văn bản để giảm kíchthước lưu trữ và tăng độ bảo mật dữ liệu PGP sau đó tạo một session key là mộtgiá trị ngẫu nhiên PGP sử dụng session key này để mã hóa văn bản rõ theophương pháp mã hóa thông thường để tạo ra bản mã Sau khi văn bản rõ được
mã hóa, session key được mã hóa với khóa công khai của người nhận và đượctruyền kèm theo với bản mã
Trang 7Hình 4 Quá trình mã hóa của PGPQuá trình giải mã bên người nhận thực hiện ngược lại Người nhận dùngkhóa riêng để giải mã session key và sử dụng session key này để giải mã bản mãthành văn bản rõ.
Hình 5 Quá trình giải mã của PGPBằng cách kết hợp mật mã thông thường và mật mã khóa công khai PGP
đã tăng được tốc độ mã hóa và giải mã văn bản rõ đồng thời giải quyết được vấn
đề phân phối khóa giữa người gửi và người nhận
4 Hoạt động xác thực của PGP
4.1 Các khái niệm:
Chữ ký số (digital signature): Lợi ích của mật mã khóa công khai là
cung cấp một phương thức để xây dựng chữ ký số Chữ ký số giúp cho ngườinhận thông tin xác thực người gốc của thông tin và tính toàn vẹn của dữ liệu.Chữ ký số còn có chức năng chống chối bỏ (non-repudiation) nghĩa là nghĩa
gửi thông tin không thể chối bỏ thông tin mình đã gửi
Hình 6 Hoạt động của chữ ký số
Trang 8Hàm băm (hash function): là một hàm với một số tính chất bảo mậtnhất định để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin đadạng, chẳng hạn như chứng thực (authentication) và kiểm tra tính nguyên vẹncủa thông điệp (message integrity) Một hàm băm nhận đầu vào là một xâu ký
tự dài (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độdài cố định, được gọi là tóm tắt thông điệp (message digest)
4.2 Hoạt động xác thực của PGP:
PGP sử dụng một hàm băm mã hóa mạnh mẽ trên các bản rõ của người
sử dụng đã ký Điều này tạo ra một mục dữ liệu chiều dài có cố định được biếtđến như là một tóm lược thông điệp (message digest) Bất kỳ thay đổi nhỏ nàotrên văn bản rõ sẽ cho kết quả hoàn toàn khác nhau
Sau đó, PGP sử dụng message digest và khóa riêng để tạo ra các "chữký" PGP truyền đi chữ ký và bản rõ Sau khi nhận được thông tin, người nhận
sử dụng PGP để tính toán lại các message digest, do đó xác minh chữ ký PGP
có thể mã hóa các bản rõ hoặc không; việc ký bản rõ là hữu ích nếu người nhận
có khả năng xác minh chữ ký
Khi hàm băm an toàn được sử dụng, không có cách nào để có chữ ký củamột ai đó từ một tài liệu hoặc thay đổi một thông điệp đã ký trong bất kỳ cáchnào Những thay đổi nhỏ trong một văn bản sẽ gây ra quá trình xác minh chữ ký
số thất bại
Hình 7 Hoạt động ký số bảo mật của PGP
Trang 9Trong quá trình mã hóa cũng như kiểm tra chữ ký, một điều vô cùng quantrọ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 của nó Nếu chỉ đơn giản download một khóa công khai từ đâu đó sẽ khôngđả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ứngthực số được tạo nên bởi những kỹ thuật mật mã sao cho việc sửa đổi có thể dễdàng bị phát hiện Tuy nhiên chỉ điều này thôi thì vẫn chưa đủ vì nó chỉ ngănchặn được việc sửa đổi sau khi chứng thực được tạo ra Người dùng còn cầnphải trang bị khả năng xem xét khóa công khai có thực sự thuộc về người chủ
sở hữu hay không Từ phiên bản đầu tiên PGP đã có một cơ chế hỗ trợ điều nàyđược gọi là mạng lưới tín nhiệm Mỗi khóa công khai đều có thể được một bênthứ 3 xác nhận
OpenPGP cung cấp các chữ ký tin cậy có thể được sử dụng để tạo ra cácnhà cung cấp chứng thực số (CA) Một chữ ký tin cậy có thể chứng tỏ rằng mộtkhóa thực sự thuộc về một người sử dụng và người đó đáng tin cậy để ký xácnhận một khóa của mức thấp hơn Một chữ ký có mức 0 tương đương với chữ
ký trong mô hình mạng lưới tín nhiệm Chữ ký ở mức 1 tương đương với chữ
ký của một CA vì nó có khả năng xác nhận cho một số lượng không hạn chếchữ ký mức 0 Chữ ký ở mức 2 tương tự như chữ ký trong danh sách các CAmặc định trong Internet Explorer; nó cho phép người chủ tạo ra các CA khác
PGP cũng được thiết kế với khả năng hủy bỏ hoặc thu hồi các chứng thực
có khả năng đã bị vô hiệu hóa Điều này tương đương với danh sách thực chứng
bị thu hồi của mô hình hạ tầng khóa công khai Các phiên bản PGP gần đâycũng hỗ trợ tính năng hạn của thực chứng
Trang 10Chương 2 ỨNG DỰNG PGP MÃ HÓA, XÁC THỰC MAIL THUNDERBIRD
1 Cài đặt phần mềm Mail Client Thunderbird:
Vào đường link sau: US/thunderbird/download/ Để download Thunderbird về máy và tiến hành càiđặt
http://www.mozilla.org/en-Chọn Next để tiếp tục
Trang 11Ở trên hình có hai tùy chọn:
• Standard: Thunderbird sẽ cài đặt theo một chuẩn chung
• Custom: Tùy chọn này nói về những tùy chỉnh của người sử dụng Bạnnên chọn Custom
Sau đó bạn chọn Next để tiếp tục
Ở đây cho phép bạn chọn đường dẫn để lưu trữ chương trìnhThunderbird Mặc định là C:\Program Files (x86)\Mozilla Thunderbird Bạn cóthể thay đổi đường dẫn này tùy theo ý muốn
Tiếp theo bạn chọn Next
Trang 12Ở bước này bạn chọn Install để tiến hành cài đặt Sau khi cài đặt xongThunderbird sẽ có cửa sổ sau
Để tạo một tài khoản mail bạn chọn Get a new mail account như trên hìnhvẽ
Trang 13Cửa sổ Thiết lâp tài khoản thư hiện ra cho phép bạn điền các thông tincần thiết
Sau đó bạn chọn Continue để tiếp tục
Có hai tùy chọn để cấu hình Mail
• IMAP: Có thể thiết lập một mail account trên nhiều PC/Laptop một lúc
mà chúng ta có thể xem mail được tất cả IMAP chỉ lấy về các header của cácmail, khi nào cần mở thì IMAP mới lấy xuống từng email riêng biệt Nếu cácbạn check mail nhiều trên các thiết bị điện thoại hay laptop và bạn chủ yếu dùngweb mail hoặc muốn dùng điện thoại để đồng bộ thư thì hãy dùng IMAP Ở đâythì tôi dùng IMAP
• POP3: Với POP3, email của bạn sẽ được lưu trữ trên mailbox củaremote server cho đến khi bạn check mail, khi bạn check mail thì tất cả mailngay lập tức được download về máy tính và không còn lưu trữ trên server nữa.Nếu bạn đang dùng email client trên một máy thường xuyên hoặc một hòm mail
Trang 14Sau đó chọn Done Quá trình tạo một tài khoản mail hoàn tất.
2 Cài đặt phần mềm hỗ trợ mã hóa Enigmail trên Thunderbird:
Để cài đặt phần mềm mở rộng hỗ trợ mã hóa mail, Thunderbird đã tíchhợp phần mềm add-ons Enigmail Để cài đặt Enigmail bạn phải làm các bướcnhư sau: Bạn vào Tools → Add-ons
Cửa sổ Add-ons Manager hiện ra, ở thanh công cụ tìm kiếm add-ons bạn
gõ vào ký tự Enigmail để tìm kiếm phần mềm hỗ trợ:
Chọn đến Enigmail và chọn Install Enigmail có đuôi là “XPI”
Quá trình download Enigmail hoàn tất bạ chọn Restart now để khởi độnglại Thunderbird
Trang 153 Quản lý khóa:
Chú ý: “OpenPGP sẽ cung cấp cho bạn hai khóa là Khóa công khai, SecretKey và chứng chỉ thu hồi Ngoài ra khi bạn tạo Khóa bí mật và mã hóa với RSAhoặc DSA sẽ yêu cầu nhập mật khẩu Passphrase, bạn chú ý rằng Passphrase nàyrất quan trọng, trong trường hợp bạn mất Passphrase thì không thể giải mã đượcthông điệp, Passphrase này buộc bạn phải ghi nhớ và một điều quan trọng nữa làPassphrase này phải được đặt đủ dài, đủ độ khó Đối với Khóa bí mật và chứngchỉ thu hồi bạn không nên lưu vào máy tính cài đặt mã hóa mail hiện tại mà nênback up vào một nơi nào đó bạn coi là an toàn, đủ tin cậy, tránh trường hợp mấtKhóa bí mật và chứng chỉ thu hồi Lúc đó hacker có thể lấy dùng các công cụgiải mã Passphrase để chiếm quyền Admin của bạn”
Trang 16Bước 2: Bạn nhập các thông số cần thiết vào cửa sổ Tạo ra khóaOpenPGP
Account/User ID: Chính là tài khoản mail của bạn
Passphrase: Nhập mật khẩu của bạn Mật khẩu này có thể nhập hoặc không, nếu mà bạn không muốn nhập thì tích vào ô No passphrase Nhưng bạn
nên nhập vào để đảm bảo an toàn thông tin, mật khẩu phải đủ độ dài và độ khó
Khuyến cáo đối với Passphrase: Để đảm bảo an toàn thông tin
Passphrase cũng giống như mật khẩu login vào một tài khoản nào đó của bạn,passphrase này chỉ cung cấp một lần Nếu như bạn mất Passphare thì bạn khôngthể sign messages hay giải mã tài liệu Passphare bắt buộc bạn phải nhớ,passphrase phải đủ dài, đủ độ khó như nên đặt với chữ hoa, chữ thường và số.Ngoài ra để thay đổi passphrase bạn có thể nhấp chuột phải vào private key củamình ở cửa sổ Quản lý khóa của Enigmail chọn Change passphrase
Khóa hết hạn: Mặc định của OpenPGP là 5 năm, bạn có thể thay đổi nó.
Nếu chọn Key does not expire thì thời hạn của key là không xác định và bạnkhông nên chọn Keys có thời hạn không xác định
Thẻ nâng cao: Để nói về kiểu mã hóa có hai kiểu mã hóa là DSA & EL
gamal và RSA Ở key size chính là số bít để mã hóa có 3 size là 1024, 2048,
4096 Ở OpenPGP cung cấp hai kiểu mã hóa bạn nên chọn RSA vì RSA đượcdùng để mã hóa và tạo chữ ký điện tử, còn DSA chủ yếu được dùng để ký chữ
ký điện tử Mặc định của của OpenPGP là dùng thuật toán RSA với key size là
2048
Khuyến cáo đối với thẻ nâng cao: Ở hai thuật toán mã hóa DSA và RSA
cung cấp 3 size để mã hóa dữ liệu, nếu bạn muốn gửi tài liệu trong một thờigian ngắn thì bạn nên chọn 1024 bits, nếu bạn dùng để gửi tài liệu trong vòng 1năm đến 2 năm bạn nên chọn 2048 bits Còn nếu bạn sử dụng keys từ 3 năm tới
5 năm bạn nên chọn mã hóa keys cao nhất là 4096 bits RSA được dùng phổbiến hơn DSA cho nên theo khuyến cáo bạn nên sử dụng thuật toán RSA để máhóa cho khóa của mình Nếu bạn chọn số bits càng cao thì quá trình tạo khóa cóthể mất tới vài phút để mã hóa dữ liệu
Quá trình tạo khóa hoàn tất khi bạn nhấn vào Tạo ra khóa.
3.2 Tạo chứng chỉ thu hồi (Revocation Certificate):
Mục đích tạo chứng chỉ thu hồi khi bạn không sử dụng cặp khóa nữa hoặckhi bạn bị mất Khóa bí mật để thu hồi lại khóa bạn đã cấp
Để tạo chứng chỉ thu hồi bạn làm như sau: Bạn vào cửa sổ Quản lý khóa
của Enigmail bạn chọn Tạo ra → Chứng nhận thu hồi lúc đó cửa sổ Tạo & lưu
Trang 17Đuôi mở rộng của Chứng nhận thu hồi là “.asc” Đồng thời có một cửa sổ
Pinenty hiện lên yêu cầu bạn nhập Passphrase Bạn nhập Passphrase vào
Tiếp theo bạn nhấn Ok thì cửa sổ thông báo quá trình tạo chứng chỉ thuhồi bạn nhấn Continue để hoàn thành Bạn vào nơi lưu chứng chỉ thu hồi vàxem, một chứng chỉ thu hồi sẽ có dạng: