Tải bản đầy đủ (.pdf) (49 trang)

part 35 - certificate authority

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (12.88 MB, 49 trang )

“Chuyên trang dành cho kỹ thuật viên tin học”
CHIA SẺ - KINH NGHIỆM - HỌC TẬP - THỦ THUẬT
Part 35 - Certificate Authority
Trong thời đại CNTT ngày nay có lẽ không ai trong chúng ta không sở hữu một địa chỉ Email của riêng
mình và thường xuyên thông qua đó để trao đổi thông tin cũng như liên lạc với đối tác trong kinh
doanh. Vấn đề đặt ra là với những tài liệu có mức độ quan trọng và riêng tư cao mà ta không muốn có
một người thứ 3 biết, tuy nhiên việc trao đổi thông tin qua Internet với các thao tác thủ mà công trước
giờ ta sử dụng thì nguy cơ bị hacker đánh cắp thông tin là điều luôn luôn có khả năng xảy ra ở mức độ
cao.
Vì bạn cảm thấy lo lắng về nguy cơ rò rỉ thông tin có thể xảy ra bất cứ lúc nào này, cho nên bạn tiến
hành mã hóa dữ liệu của mình để gởi cho đối tác. Vậy công việc mã hóa này có thực sự an toàn hay
không? và cơ chế nó mã hóa như thế nào? chúng ta hãy tìm hiểu các cơ chế bảo mật sau:
Trước tiên ta hãy tìm hiểu về qui trình mã hóa & giải mã dữ liệu. Ví dụ A có một thông tin quan trọng
muốn gởi cho B có nội dung là "GC Com Co" chẳng hạn và A muốn mã hóa dữ liệu ra chứ không gởi
tường minh như vậy, nên A sẽ đặt ra một khóa ví dụ là "1" (Key=1) chẳng hạn và tiến hành mã hóa nó
thành một chuỗi đại khái "JKHeifuyoiuIOYUOf"
Khi đó B nhận được thông tin từ A gởi cho vẫn là một chuỗi ký tự rườm rà trên. Để giải mã tất nhiên B
phải có Key mà A cung cấp cho thì mới có thể đọc được nội dung này. Có 2 cách mã hóa & giải mã dữ
liệu như sau:
1/ Cách đối xứng:
Với cách này giống như những gì tôi vừa nêu ở trên, tưởng chừng như an toàn nhưng lại tồn tại những
nhược điểm lớn mà hiện tại người ta không chọn hình thức mã hóa & giải mã kiểu này, vì nếu như một
ai đó có được Key này họ sẽ đọc được toàn bộ dữ liệu mà trước đó ta đã mã hóa hơn nữa trong thực tế A
không chỉ có một mình B là đối tác mà có đếm hàng trăm hàng nghìn đối tác khác nữa. Với mỗi đối tác
A phải có một Key riêng cho đối tác đó, và A cũng phải lưu trữ chừng ấy khóa mà phía đối tác cấp cho.
1 of 49
Với qui trình này mỗi người dùng sử dụng công nghệ mã hóa sẽ chỉ cần 2 khóa mà thôi ví dụ A sử dụng
công nghệ mã hóa nên A có:
Khóa P
A
gọi là Public Key khóa này là khóa công khai mọi người đều có thể xem và sử dụng khóa này


Khóa Q
A
gọi là Private Key khóa này là khóa bí mật chỉ có mình A là có thể xem và sử dụng khóa này
Vì vậy khi A gởi gói tin Data cho B nó sẽ dùng Public Key P
B
của B để mã hóa và cho ra kết quả là
Data'
Khi đó B thu được Data' nó dùng Private Key của riêng mình để giải mã dữ liệu và thu được Data ban
đầu
Tuy nhiên cách này vẫn chưa thực sự an toàn vì A chỉ lấy Public Key P
B
của B sử dụng mà không xác
minh tính xác thực của nó có đúng là của B hay không. Khi đó với một thủ thuật nào đó C lấy Public
Key P
C
của mình chèn vào Public Key P
B
của B nhằm đánh lừa A
Như vậy vô tình thay vì A dùng P
B
của B thì nó lại lấy P
C
của C và mã hóa dữ liệu gởi cho B, lúc này C
sẽ lấy gói tin đã mã hóa trên và tiến hành giải mã sau đó là chỉnh sửa nội dung
Tiếp đến nó lại dùng P
B
của B để giải mã dữ liệu và gởi đến B. Như vậy thông tin mà A gởi cho B đến
lúc này vẫn chưa thực sự an toàn.
3 of 49
Nhưng may thay Microsoft đã xây dựng cho ta công cụ Certificate Authority đóng vai trò như một

nhà cấp phát giấy chứng thực và quản lý các thông tin chứng thực ấy
Như vậy vấn đề ở đây là ta phải dựng một CA Server chuyên cấp các chứng thực cho người dùng, trên
thực tế các CA Server do ta xây dựng mà ta xây dựng sẽ không được người sử dụng tin tưởng mà có
hẳn các công ty chuyên cung cấp CA Server mà các hãng phần mềm lớn như google.com, yahoo.com
vẫn thuê để sử dụng. Tuy nhiên vì chúng ta đang nghiên cứu nên không phải mua làm gì cho tốn kém
mà ta sẽ tự xây dựng một CA Server riêng.
Với CA Server bản thân nó cũng có một bộ Public Key & Private Key của riêng mình. Khi A,B,C
muốn gởi thông tin cho nhau phải thông qua CA Server này để xin cấp giấy chứng nhận cho riêng mình
có như vậy khi thông tin bị đánh cắp hay sửa đổi thì nhờ có CA Server sẽ xác thực tính tin cậy của dữ
liệu nhận được cho người dùng biết. Qui trình này như sau:
CA Server sẽ lấy thông tin Public Key của người dùng nào đó gọi là CRC hay thông tin đặc trưng của
người dùng đó.
Kế tiếp nó mã hóa CRC này với chính Private Q của nó cho ra một giá trị S và giá trị này được công
khai
Như vậy lúc này mỗi tài khoản người dùng sẽ tồn tại 2 Public Key và 1 Private Key
4 of 49
Có như vậy khi B nhận được một thông tin từ A nó sẽ đem thông tin S của nó giải mã với P của CA
Server và thu được CRC nào đó
Nó sẽ lấy tiếp giá trị CRC vừa thu được đem so sánh với CRC của chính mình nếu trung khớp thì cho
qua. Ngược lại nó biết đây chính là nội dung không đáng tin cậy do bị sửa đổi từ trước
Bây giờ chúng ta đi vào thực tế, trong bài này tôi sẽ ứng dụng Certificate Authority vào trong việc mã
hóa Email của các user như vậy tôi phải dựng 1 CA Server nhằm cung cấp chứng thực cho các user và
một Mail Server để các user có thể gởi mail cho nhau. Để cho đơn giản tôi sẽ cài tất cả các dịch vụ này
lên củng một máy mà thôi
1/ CA WORKGROUP
Trước tiên ta xét trường hợp sử dụng Certificate Authority (CA) trong môi trường WORKGROUP
Để cài CA Server đầu tiên bạn phải cài dịch vụ IIS lên máy sẽ cài CA, tuy nhiên bạn phải cài IIS hoàn
tất mới được cài CA Services nếu không dịch vụ CA sẽ không chạy được.
5 of 49
Sau khi cài IIS hoàn tất bạn quay trở lại Windows Components chọn Certificate Services và nhấp Next

để cài đặt
Do ta đang ở trong môi trường Workgroup nên 2 lựa chọn đầu tiên sẽ bị mờ đi ở đây ta chọn lưa chọn
thứ 3 là Stand-alone root CA
6 of 49
Đặt tên cho CA tùy thích ở đây tôi đặt là GC Com Co
Giữ nguyên giá trị mặc định của màn hình Certificate Database Settings chọn Next
7 of 49
Cuối quá trình cài đặt CA bạn phải chọn Yes để đồng ý Enable IIS nếu không CA không hoạt động được
Tiếp theo tôi dựng một Mail Server với MDaemon
Sau khi cài đặt MDaemon hoàn tất bạn nhập domain của mình vào ô Domain name
8 of 49
Tại màn hình Setup your first account bạn đặt một tài khoản mới, tài khoản này chính là tài khoản
Admin trong MDaemon
Màn hình Setup you DNS để trống và nhấp Next
9 of 49
Cuối quá trình cài đặt bạn vào Services xem dịch vụ MDaemon có được Started chưa nếu chưa bạn hãy
Start nó thì mới có thể sử dụng MDaemon được
Mặc nhiên MDaemon sẽ không cho tạo tài khoản mới với password đơn giản vì vậy trong bài tôi sẽ để bỏ
tính năng này bằng cách nhấp vào Menu Setup -> Miscellaneous Options
Chọn tiếp Tab Misc và bỏ mục Require strong passwords
10 of 49
Bây giờ tôi sẽ tạo 2 tài khoản mới là gccom1 và gccom2 trong Account Manager để các User có thể sử
dụng tài khoản này Test mail thử
11 of 49
Trong Local user and Group tôi cũng sẽ tạo 2 Account mới là gccom1 và gccom2 để kiểm chứng
Logon với gccom1 và cấu hình Outlook Express cho Account này ứng với tài khoản gccom1 trong
MDaemon
12 of 49
Nhập chính xác email của gccom1 trong Email address
Do chúng ta đang thử nghiệm trên chính máy mình nên các dịch vụ SMTP & POP3 bạn nhập IP của

chính mình
13 of 49
Nhập lại tài khoản & mật khẩu của Account gccom1 trong MDaemon
Bây giờ gccom1 sẽ gởi một Email cho gccom2 với nội dung GCCOM1 SENT TO GCCOM2
14 of 49
Đăng nhập với tài khoản Administrator và vào C:\MDaemon\Users\gccom.net\gccom2 để xem các Email
mà gccom1 gởi cho gccom2
15 of 49
Tôi đã tìm thấy nội dung Email mà gccom1 gởi cho gccom2. Sau đó tôi thử Edit nó bằng cách thêm một
dòng mới là REPLY TO ME ngay bên dưới
16 of 49
Logon với gccom để kiểm tra mail
gccom2 sẽ thấy rằng mình nhận được một Email từ gccom1 với nội dung đã bị Administrator đã Edit
trước đó mà nó không hề hay biết. Như vậy đến đây ta thấy hệ thống của chúng ta lúc này thực sự
không an toàn chút nào cả
17 of 49
Bây giờ gccom1 & gccom2 sẽ tiến hành cài CA lên mình để ứng dụng CA vào việc ký tên điện tử và mã
hóa Email như sau:
Vào địa chỉ http://[IP máy CA Server]/certsrv
Nhấp vào Request a certificate để yêu cầu CA Server cấp chứng thực cho mình
18 of 49
Do chúng ta cần chứng thực cho Email mà thôi nên tại màn hình tiếp theo ta chọn Email Protection
Certificate
19 of 49
Tại màn hình Information bạn phải nhập chính xác thông tin về tài khoản email của mình và nhấp
Submit để gởi yêu cầu
20 of 49
Chọn Yes để hoàn tất
Cuối cùng nó sẽ hiển thị màn hình thông báo đã nhận đơn yêu cầu của bạn và chờ Administrator chứng
thực

21 of 49
Tại CA Server bạn vào Start -> Programs -> Administrative tools -> Certificate Authority để xem các
yêu cầu chứng thực từ các Client
22 of 49
Trong Folder Pending Requests bạn chọn Issue để chấp nhận đơn của user
Đơn sau khi được chấp nhận sẽ hiển thị trong Folder Issued Certificates
Các user sau khi được chứng thực phải tiến hành cài CA lên chính mình bằng cách vào lại trang Web CA
Server chọn View the status of a pending certificate request
23 of 49
Nhấp vào Link Email Protection Certificate
Chọn Install this certificate để tiến hành cài đặt CA lên mình
24 of 49
Màn hình thông báo đã cài đặt thành công
Bây giờ tại gccom1 tôi sẽ tiến hành gởi 2 Email cho gccom2 một Mail sử dụng chữ ký điện tử, một Mail
sẽ mã hóa hoàn toàn nội dung
Trước tên tôi tạo một Email thứ 1 với:
Subject là Test CA 1
Nội dung Test CA 1
Và nhấp vào nút Sign bên trên và gởi đi
25 of 49
Tiếp theo tôi tạo một Email thứ 2 với:
Subject là Test CA 2
Nội dung Test CA 2
Và nhấp vào cả 2 nút Sign và Encrypt bên trên và gởi đi
26 of 49

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×