Chuyên trang dành cho kỹ thuật viên tin học
CHIA SẺ - KINH NGHIM - HỌC TẬP - THỦ THUẬT
Part 3 5 - Ce rt ificat e Aut horit y
Trong thi đại CNTT ngày nay có lẽ không ai trong chúng ta không sở hu 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 t r ong kinh
doanh. Vấn đđặt ra là với những tài liệu có mức độ quan trọng và riêngcao 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 I nt ernet với các thao tác thmà 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.
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 ca 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? cng ta hãy tìm hiểu cácchế 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 Amộ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 n 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 chui đại khái "JKH eifuyoiuI OYUOf"
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 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 chn hình thứchó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
dA gởi một gói tin tênData cho B đã được mã hóa với Key = 1 cho ra kết quả là gói tin D ata'
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 i tin D at a' và Key ca A gởi cho B. Khi đó nó tiến hành
giải mã và sửa thông tin sau đó giải mã vi 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 cy nhưng bản thân B cũng kng biết.
Trước nguy cơ đó người ta đưa ra ch mã hóa dữ liệu thứ 2
2/ Không đối xứng:
Người ta chứng minh rằng luôn tồn tại 2 số P,Q vi 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
2 of 49
Với qui trình này mỗi người dùng sử dngng nghệ mã hóa schỉ cần 2 khóa mà thôi ví dA sử dụng
ng nghệ mã hóa nên A :
Khóa PA gọiPublic Key khóa này là khóa công khai mọi nời đều có thxem và sử dụng khóa này
Khóa QA gọiPr ivate 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ậy khi A gởi gói tin D at a cho B nó sẽ dùng Public Key PB của B để mã hóa và cho ra kết qulà
Dat a'
Khi đó B thu được Dat a' nó dùng Private Key của riêng mình để giải dữ liệu và thu được D at a 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à ca 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 ca B nhằm đánh lừa A
Như vậy vô tình thay vì A dùng PB ca 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.
3 of 49
Nhưng may thay Microsoft đã xây dựng cho ta công cụ Cer tificate Authority đóng vai trò n một
nhà cấp phát giấy chng thc và quản lý các thông tin chứng thực ấy
Như vậy vn đề ở đây là ta phải dựng một CA Ser ver chuyên cấp các chứng thực cho nời dùng, trên
thực tế các CA Ser ver do ta xây dựng mà ta xây dựng skhông đưc người sử dụng tin tưởng mà có
hẳn cácng ty chuyên cung cấp CA Server các hãng phần mềm lớn như google.com , yahoo.com
vẫn thuê để sử dng. 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 stự xây dựng một CA Server riêng.
Với CA Ser ver bản thân nó cũng có một bPublic 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 Ser ver này để xin cấp giấy chứng nhận cho riêng mình
như vậy khi thông tin b đánh cắp hay sửa đổi thì nhờ CA Server sẽ xác thựcnh 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 Ser ver slấy thông tin Public Key của người dùng nào đó gọiCRC hay thông tin đặc trưng ca
người dùng đó.
Kế tiếp nó mã hóa CRC này vi chính Private Q của nó cho ra một giá trS 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 Pr ivate 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
Ser ver thu được CRC nào đó
Nó sẽ lấy tiếp giá trị CRC va 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ạibiế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 chng thực cho 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 W ORKGROUP
Trước tiên ta xét trường hp sử dng Certificate Authority (CA) trong môi trường WORKGROUP
Để cài CA Server đầu tiên bạn phải cài dch 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 đượci CA Services nếu không dịch vụ CA sẽ không chạy được.
5 of 49