Tải bản đầy đủ (.doc) (13 trang)

Certificate trong kỹ thuật hacker

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 (411.72 KB, 13 trang )

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.
Ví 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.
Trước nguy cơ đó người ta đưa ra cá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 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 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 KeyP
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.
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

×