Certificate Authority tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kinh t...
Trang 1Certificate Authority
Bởi:
Phạm Nguyễn Bảo Nguyên
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ênlạ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 độ quantrọ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, chonê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óanà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ìmhiể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:
- 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ưnglạ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.
Certificate Authority
1/54
Trang 2Ví dụ A gởi một gói tin tên là Data cho B đã được mã hóa với Key = 1 cho ra kết quả
là gói tin Data'
B nhận được gói tin trên và tiến hành giải mã với Key trên và thu được Data ban đầu
Tuy nhiên vì một lý do nào đó C nhặt được gói tin Data' và Key của A gởi cho B Khi
đó nó tiến hành giải mã và sửa thông tin sau đó giải mã với Key trên và gởi cho B Vì vậy thông tin mà B nhận hoàn toàn bị sai lệch không đáng tin cậy nhưng bản thân B cũng không biết.
Trang 3- Không đối xứng:
Người ta chứng minh rằng luôn tồn tại 2 số P,Q với P # Q
Khi mã hóa dữ liệu với P người ta đem kết quả thu được giải mã với Q sẽ thu được dữ
liệu ban đầu và ngược lại
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 PA gọi là Public Key khóa này là khóa công khai mọi người đều có thể xem và
Trang 4Khi đó 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 PB 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 PC của mình chèn vào Public Key PB của B nhằm đánh lừa A
Như vậy vô tình thay vì A dùng PB của B thì nó lại lấy PC 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 PB 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.
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
Trang 5Như 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
Certificate Authority
5/54
Trang 6Như 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
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
- CA WORKGROUP :
Trước tiên ta xét trường hợp sử dụng Certificate Authority (CA) trong môi trườngWORKGROUP
Trang 7Để 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ạnphả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.
Certificate Authority
7/54
Trang 8Sau 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
Trang 9Do ta đang ở trong môi trường Workgroup nên 2 lựa chọn đầu tiên sẽ bị mờ đi ở đây tachọn lưa chọn thứ 3 là Stand-alone root CA
Đặt tên cho CA tùy thích ở đây tôi đặt là GC Com Co
Certificate Authority
9/54
Trang 10Giữ nguyên giá trị mặc định của màn hình Certificate Database Settings chọn Next
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ônghoạt động được
Tiếp theo tôi dựng một Mail Server với MDaemon
Trang 11Sau khi cài đặt MDaemon hoàn tất bạn nhập domain của mình vào ô Domain name
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
Certificate Authority
11/54
Trang 12Màn hình Setup you DNS để trống và nhấp Next
Cuối quá trình cài đặt bạn vào Services xem dịch vụ MDaemon có được Started chưanế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ậytrong bài tôi sẽ để bỏ tính năng này bằng cách nhấp vào Menu Setup -> MiscellaneousOptions
Trang 13Chọn tiếp Tab Misc và bỏ mục Require strong passwords
Certificate Authority
13/54
Trang 14Bây giờ tôi sẽ tạo 2 tài khoản mới là gccom1 và gccom2 trong Account Manager để cácUser có thể sử dụng tài khoản này Test mail thử
Trong Local user and Group tôi cũng sẽ tạo 2 Account mới là gccom1 và gccom2 đểkiểm chứng
Trang 15Logon với gccom1 và cấu hình Outlook Express cho Account này ứng với tài khoảngccom1 trong MDaemon
Certificate Authority
15/54
Trang 16Nhậ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ạnnhập IP của chính mình
Trang 17Nhập lại tài khoản & mật khẩu của Account gccom1 trong MDaemon
Certificate Authority
17/54
Trang 18Bây giờ gccom1 sẽ gởi một Email cho gccom2 với nội dung GCCOM1 SENT TOGCCOM2
Đă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
Trang 19Tôi đã tìm thấy nội dung Email mà gccom1 gởi cho gccom2 Sau đó tôi thử Edit nó bằngcách thêm một dòng mới là REPLY TO ME ngay bên dưới
Logon với gccom để kiểm tra mail
Certificate Authority
19/54
Trang 20Bâ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
Trang 21Nhấp vào Request a certificate để yêu cầu CA Server cấp chứng thực cho mình
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 EmailProtection Certificate
Certificate Authority
21/54
Trang 22Tạ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ủamình và nhấp Submit để gởi yêu cầu
Trang 24Tại CA Server bạn vào Start -> Programs -> Administrative tools -> CertificateAuthority để xem các yêu cầu chứng thực từ các Client
Trang 25Trong 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
Certificate Authority
25/54
Trang 26Cá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àolại trang Web CA Server chọn View the status of a pending certificate request
Trang 27Chọn Install this certificate để tiến hành cài đặt CA lên mình
Màn hình thông báo đã cài đặt thành công
Certificate Authority
27/54
Trang 28Bâ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
Trang 29Tiế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
Certificate Authority
29/54
Trang 30Lúc này Outlook Express sẽ thông báo lỗi vì thực chất cả 2 user gccom1 và gccom2 chỉmới cài CA lên mình nhưng chưa làm công đoạn thông báo cho nhau về thông tin CAcủa chính mình Vì vậy đến đây 2 user phải gởi cho nhau 2 email Sign nhưng khôngEncrypt để cung cấp CA cho nhau trước thì các Email về sau mới có thể Encrypt được
Trang 31Sau khi đã gởi Mail cho nhau thành công và đã có CA lẫn nhau thì giờ đây mỗi khi gởimail cho nhau ta không phải nhập địa chỉ Mail của user kia nữa mà nhấp trực tiếp vàonút To
Trong màn hình Select Recipients đã xuất hiện thông tin CA của 2 bên
Trở lại việc gccom1 gởi Mail với tùy chọn Sign & Encrypt cho gccom2
Certificate Authority
31/54
Trang 32Sau khi gởi hoàn tất cho gccom2 tại mục Sent Items của gccom1 sẽ thấy xuất hiện 2Email một có icon đóng dấu và một có icon chìa khóa
Bây giờ tôi đăng nhập vào Administrator và thử tiến hành sửa Email xem gccom2 cóphát hiện hay không
Trang 33Nhưng với Email đã bị mã hóa toàn thì toàn bộ nội dung ta không xem được, nhưng tấtnhiên là có thể phá phách thoải mái ở đây tôi cũng thêm một dòng REPLY TO ME
Certificate Authority
33/54
Trang 34Logon với gccom2 và kiểm tra thư sẽ thấy xuất hiện 2 thư mới từ gccom1
Trang 35Với Email đã ký tên điện tử nội dung sẽ không hiển thị ngay mà bạn phải click vào nútContinue để xem
Certificate Authority
35/54
Trang 36Tuy nhiên do trước đó Email này đã bị Administrator sửa đổi nên tại màn hình xem nộidung nó sẽ bật lên cảnh báo độ tin cậy cho gccom2
Trang 37Nhưng với Email đã bị mã hóa Outlook Express sẽ hiện thông báo Email này đã bị lỗi
và không thể xem được nội dung
Certificate Authority
37/54
Trang 38Như vậy đến đây ta đã thấy được thế mạnh của CA trong mã hóa dữ liệu Email Cho dùtrước đó Admin có sửa đổi thì cũng sẽ không xem được nội dung hoặc có sửa đổi thànhcông đi chăng nữa thì người nhận vẫn biết Email mà họ nhận được là không đáng tincậy.
2/ CA DOMAIN
Bây giờ ta xét trường hợp sử dụng Certificate Authority (CA) trong môi trường Domain để xem có gì khác biệt và có thêm những tính năng mạnh mẽ nào Tất nhiên để làm được điếu này trước tiên máy bạn phải Upgrade lên DC trước và cũng như đã cài
CA trong môi trường Workgroup bạn phải cài IIS trước.
Sau đó cài tiếp dịch vụ CA tại đây ta thấy 2 lựa chọn đầu tiên không bị mờ như ta đã cài
CA trong môi trường Workgroup nữa vì đây là môi trường Domain nên Windows cho phép ta chọn Enterprise root CA Nhấp vào Enterprise root CA và chọn Next
Trang 39Đặt tên cho CA của mình và thực hiện các quá trình cài đặt tương tự như trong môi trường Workgroup
Certificate Authority
39/54
Trang 40Bây giờ tôi sẽ thực hiện xin cưứng thực từ CA Server cho gccom1 thao tác tương tự nhưtrên
Nhấp vào Request a certificate
Chọn tiếp User Certificate
Trang 41Do chúng ta đang ở trong môi trường Domain nên Windows sẽ tự hiểu bạn đang
Logon với Account nào và nó sẽ thông báo rằng "No further identifying information
is required To complete your certificate, press submit" nghĩa nôm na rằng "Bạn không cần phải nhập thêm bất cứ thông tin gì cả Nhấp nút Submit để hoàn tất"
Đến đây thay vì phải chờ cho Admin của CA trong môi trường WORKGROUPIssued thì tại môi trường DomainCA Server thông minh hơn và nó tự chứng thực cho User
Certificate Authority
41/54
Trang 42luôn và tại bước kế tiếp User chỉ việc cài đặt luôn Certificate mà không cần chờ đợi gì
cả Nhấp Install this certificate
Màn hình thông báo cài đặt CA hoàn tất
SSL (Secure Sockets Layer)
Bây giờ chúng ta tìm hiểu thêm về ứng dụng CA trong việc mã hóa thông tin trên Web
Trang 43Thông thường với các trang Web không yêu cầu tính bảo mật cao người quản trị mạngkhông cần phải làm gì khác ngoài việc cho trang Web ấy chạy ổn định là xong Tuynhiên đối với một số trang Web mà thông tin người dùng phải tuyệt đối được bảo mật
ở mức độ cao như các trang Web về ngân hàng, mua bán qua mạng thì người quản trịmạng phải mã hóa dữ liệu trên Web Vì nếu không may tài khoản người dùng nhậptrên Web lọt vào tay kẻ xấu thì vô cùng nguy hiểm Chính vì thế những thông tin cánhân mà người dùng nhập tại máy Client trước khi gởi lên Server sẽ được mã hóa cẩnthận bởi chính CA của hệ thống Website đó
Tuy nhiên trên thực tế với các hãng phần mềm lớn như google.com, yahoo.com thì CAnày họ không tự làm lấy mà thuê hẳn CA của các công ty chuyên cung cấp CA nổi tiếngtrên thế giới Có như vậy người dùng mới thực sự an tâm về thông tin của mình
Để chạy trang Web theo giao thức SSL bạn phải thêm chữ "s" ngay sau cụm từ "http"trong địa chỉ Address của mình
Bây giờ giả sử tôi đăng nhập vào trang Web của máy Server với địa chỉhttp://192.168.1.1 kết quả truy cập thành công
Tuy nhiên khi tôi thêm chữ "s" vào sau "http" thì IE báo là không thể hiển thị được Lý
đo ta chưa đăng ký CA cho Website
Certificate Authority
43/54
Trang 44Bây giờ ta tiến hành cấu hình SSL cho trang Web của chúng ta (trong ví dụ này trangWeb chính của chúng ta chính là Default Website mà Windows tạo mặc định) Bạn mởIIS của máy chạy Web Server lên nhấp phải vào Default Website chọn tiếp Properties
Trang 45Chọn tiếp Tab Directory Sercurity và để ý rằng nút View Certificate bị mờ đi vì chưa cóCertificate
Nhấp vào nút Server Certificate trong màn hình Server Certificate chọn lưa chọn đầutiên là Create a new certificate để tạo một Certificate mới cho Website
Certificate Authority
45/54
Trang 46Chọn Send the request immediately to an online certificate authority và nhấp Next
Giữ nguyên giá trị mặc định chọn Next
Trang 47Nhập thông tin của bạn vào đây
Ở màn hình Your Site's Common Name bạn phải nhập chính xác Host(A) của bạn trongmáy DNS Server
Certificate Authority
47/54
Trang 48Nhập tiếp các thông tin cần thiết khác
Tại màn hình SSL Port Windows thông báo với chúng ta rằng chúng ta sẽ chạy SSL trênPort 443
Trang 49Giữ nguyên giá trị mặc định chọn Next
Màn hình kết thúc xin Certificate cho Website
Certificate Authority
49/54
Trang 50Trở lại Tab Directory bây giờ bạn thấy nút View Certificate đã sáng lên nghĩa là chúng
ta đăng ký thành công
Trang 51Nhấp vào nút Certificate để xem thông tin Certificate
Certificate Authority
51/54
Trang 52Trở lại Tab Website bạn thấy giờ đây Trang Web chúng ta chạy được trên cả 2 Port là
80 và Port mới là 443