Số 11
Túi càn khôn IT

HỒ LÔ BIẾN
CHỨNG THƯ ĐIỆN TỬ: LIỆU CÓ ĐÁNG TIN?
HOÀNG NGỌC GIAO (SAMIS)

Nếu thấy trước mặt một trang web bắt mắt, có vẻ chuyên nghiệp, tiếng Tây tiếng Mỹ đầy đủ, bạn chớ vội tính chuyện mua sắm, cung cấp số thẻ tín dụng hoặc cung cấp những thông tin quan trọng, riêng tư. Nếu địa chỉ mạng mà bạn đang liên hệ không chịu dùng giao thức bảo mật khi chuẩn bị tiếp nhận thông tin quan trọng thì có thể kết luận ngay đó là đối tác không nghiêm túc... Hàng loạt những lời khuyên “Nếu” sẽ rất bổ ích cho bạn, đặc biệt... nếu bạn chưa rõ lắm về “cuộc chơi” của những chứng thư điện tử khi giao dịch qua mạng.

Khi lướt qua những địa chỉ mạng (website) trên internet, bạn như đi dạo phố. Có những “cửa hàng” sang trọng, bề thế, trông thật thích mắt, nhưng cũng có những “khu chợ” đơn sơ, thậm chí... lụp xụp, lem luốc. Tuy nhiên, “trên mạng” và “ngoài đời” có nhiều khác biệt (ai từng ôm hận “tình chát” hẳn đã thấm thía điều này). Bước vào một siêu thị với cơ ngơi rộng rãi, đầy ắp hàng hóa, bạn yên tâm móc hầu bao. Nhưng nếu thấy trước mặt một trang web bắt mắt, có vẻ chuyên nghiệp, tiếng Tây tiếng Mỹ đầy đủ, bạn chớ vội tính chuyện mua sắm, cung cấp số thẻ tín dụng hoặc cung cấp những thông tin quan trọng, riêng tư. Dữ liệu gửi đi từ máy tính của bạn sẽ tìm đường đến nơi cần thiết qua nhiều máy chủ khác nhau trên mạng. Không có gì bảo đảm nó không bị dòm ngó hoặc đi “lộn tiệm” vì mấy tay “hắc cơ hắc ám”. Ngoài ra, việc xây dựng mặt tiền hào nhoáng trên mạng chẳng khó chi hết. Có chăng là công khó... cóp nhặt, sao chép, tân trang. Vì vậy, bạn đừng đo lường uy tín của một địa chỉ mạng qua bề ngoài của nó.

Dù sao phải nói ngay với bạn rằng giao dịch qua mạng vẫn có thể an toàn trăm phần trăm. Nếu không thế thì chẳng thể có khái niệm thương mại điện tử (e-commerce), cùng nhiều thứ... “điện tử” khác đang lần lượt xuất hiện. Vấn đề (muôn thuở) của chúng ta vẫn là “đừng chết vì thiếu hiểu biết”.

Khóa cửa bảo nhau...

Ta cần hiểu biết điều gì trong giao dịch qua mạng? Có thể nói gọn điều này: Nếu địa chỉ mạng mà bạn đang liên hệ không chịu dùng giao thức bảo mật (secure protocol) khi chuẩn bị tiếp nhận thông tin quan trọng thì có thể kết luận ngay đó là đối tác không nghiêm túc. Rất đơn giản, bạn liếc nhìn vào ô địa chỉ của trình duyệt web mà không thấy “https” đứng đầu hoặc ngó xuống góc dưới bên phải cửa sổ trình duyệt web mà không thấy hình cái “ổ khóa đóng” thì biết rằng chưa thể tính chuyện làm ăn (vì như thế, chẳng khác nào người ta mời bạn ký hợp đồng ở quán cơm lề đường).

Với giao thức bảo mật HTTPS, dữ liệu trao đổi qua lại giữa hai phía được chuyển thành dạng mật mã (cipher). Nhờ vậy, dù có “bàn tay lông lá” nào đó sờ mó dữ liệu ấy trên đường đi, ta cũng không phải lo ngại. Khi bắt đầu liên lạc theo giao thức HTTPS, trình duyệt web của bạn tự động đòi hỏi phía bên kia xuất trình “giấy chứng nhận” (certificate).

Chuyện này từa tựa như ta vào một cửa hàng và yêu cầu họ cho xem giấy chứng nhận đăng ký kinh doanh, xem có phù hợp với bảng hiệu mà họ treo ngoài cửa hay không! Để cho rõ ràng, ta có thể gọi đó là chứng thư điện tử. Khi không sợ nhầm lẫn thì ta nói gọn là chứng thư. Nếu bạn đang muốn liên lạc với Microsoft thì chứng thư gửi đến cho trình duyệt web giúp bạn tin chắc phía bên kia là Microsoft chính cống, không phải thứ “ma cô xốp” nào đó mạo danh. (Bạn chớ nghĩ rằng khi truy cập địa chỉ mạng của Microsoft thì trang web mà bạn nhận được đương nhiên là của Microsoft.)

Giấy chứng nhận bao giờ cũng phải được “ký tên, đóng dấu đàng hoàng” bởi một tổ chức có thẩm quyền nào đó. Chứng thư điện tử cũng vậy. Tổ chức có thẩm quyền cấp chứng thư được gọi là CA (viết tắt của “Certification Authority”, không phải... “Công An”). Trình duyệt web của bạn sẽ tiếp tục kiểm tra CA, xem có đáng tin hay không. Nếu chứng thư của CA được ký bởi CA cấp cao hơn, trình duyệt web lại xem xét CA cao cấp ấy (láo thế!), cứ như vậy cho đến khi nó nhận ra CA gốc đáng tin (trusted root CA) đã được ghi nhớ trong danh sách có sẵn. Các CA gốc nổi tiếng, có uy tín ở tầm quốc tế như Verisign, Entrust và Thawte đều có sẵn trong “bộ nhớ” của trình duyệt Internet Explorer và Netscape.

Có thể cách nói như trên làm bạn hiểu rằng ta phải thực hiện thao tác kiểm tra phức tạp chi đó khi liên lạc theo giao thức bảo mật HTTPS. Thực ra, bạn không phải “động đậy” gì hết, tất cả đều được tiến hành tự động, âm thầm bởi trình duyệt web. Bạn chỉ “ra tay” khi nào trình duyệt phát hiện có vấn đề và báo động. Chẳng hạn, có khá nhiều trường hợp chứng thư điện tử thuộc loại chứng thư tự ký (self-signed certificate), đại khái như “tui ký tên dưới đây xác nhận tui là chính là... tui, không phải kẻ giả mạo tui”. Nếu vào địa chỉ mạng của một số ngân hàng ở nước ta, bạn sẽ nhận ra chứng thư loại này khi giao dịch vì trình duyệt web sẽ báo động ngay (hình 1).

Hình 1: Báo động của trình duyệt web khi phát hiện chứng thư được cấp bởi CA mà nó chưa từng biết, khi thấy chứng thư “quá đát” hoặc không phù hợp với địa chỉ mạng đang xét.

Khi thấy khung thông báo như vậy, bạn đừng hoảng sợ. Trình duyệt web chỉ đơn giản muốn bạn lựa chọn cách ứng xử. Nếu bạn tin rằng không có gì đáng ngại, cứ tiến hành giao dịch thì bấm vào Yes. “Niềm tin” như vậy vào đối tác chỉ được trình duyệt ghi nhớ ngắn hạn. Niềm tin ấy hết hiệu lực khi bạn đóng cửa sổ trình duyệt. Nghĩa là trong lần trở lại địa chỉ mạng ấy, trình duyệt của bạn lại tiếp tục “la làng”. Nếu không tin vào chứng thư của phía bên kia, dứt khoát chấm dứt giao dịch, bạn chọn No. Trong trường hợp lưỡng lự, bán tín bán nghi, bạn nên bấm vào View Certificate để xem thử mặt mũi cái chứng thư “có vấn đề” ấy nó ra sao: Ai đứng tên, ai cấp, có thời hạn bao lâu và nhiều chi tiết kỹ thuật khác nữa (hình 2). Sau khi xem xét chứng thư tự ký hoặc được ký bởi CA “chưa quen”, nếu quyết định tin vào đối tác hoặc tin vào CA ấy, bạn bấm Install Certificate để bổ sung danh sách CA đáng tin của trình duyệt.

Hình 2: Khi xem nội dung chứng thư, ta biết nó do ai cấp, cấp cho ai và có hiệu lực bao lâu. Nếu quyết định tin tưởng vào CA cao nhất liên quan đến chứng thư đang xét, bạn bấm vào Install Certificate để ghi CA ấy vào danh sách CA đáng tin của trình duyệt web.

Nói chung, ta chỉ có thể hoàn toàn yên tâm khi chứng thư được ký bởi các CA nổi tiếng mà uy tín đã được xã hội thừa nhận.

Khóa bí mật và khóa công khai

Có lẽ bạn đang “thắc mắc ghê gớm”, không hiểu chứng thư điện tử thực ra là cái gì, sao lại có chuyện “ký tên” trong đó, trình duyệt làm thế nào để nhận biết chính xác chữ ký ấy của ai, liệu có thể xảy ra chuyện nhầm lẫn chữ ký hay không? Để hiểu chuyện này, bạn cần có vài ý niệm về mật mã. Chắc bạn đã biết, người ta dùng mật mã để che đậy một thông điệp được gửi đi, sao cho không ai đọc được thông điệp ấy trừ những người biết cách phục hồi nội dung nguyên bản. Quá trình chuyển đổi văn bản bình thường (plain text) thành văn bản mật mã (cipher text) gọi là sự mật mã hóa (encryption). Quá trình chuyển đổi ngược lại, từ văn bản “vô nghĩa” thành văn bản “có nghĩa”, gọi là sự giải mật mã (decryption).

Hiện nay, hầu như mọi giải thuật tạo mật mã đều dựa vào việc sử dụng khóa bí mật (secret key, private key). “Khóa”, hay nói cho rõ là “chìa khóa”, thực chất là một dãy số được dùng vào việc tạo mật mã hoặc giải mật mã. Trong lĩnh vực mật mã dùng khóa, người ta không giữ bí mật đối với giải thuật, chỉ giữ bí mật đối với khóa. Mọi giải thuật mật mã dùng khóa đều được công bố rộng rãi. Thế nhưng đối với một văn bản mật mã cụ thể, ta không thể đọc hiểu nội dung của nó nếu không có khóa bí mật. Người nhận mật mã do bạn gửi đến phải có sẵn khóa bí mật cần thiết hoặc được trao khóa ấy bằng nhiều cách để hiểu được thông điệp của bạn.

Khóa dùng để tạo mật mã và khóa dùng để giải mật mã không nhất thiết phải giống nhau (bạn đừng quá lệ thuộc vào hình ảnh cái khóa cửa!). Trong trường hợp khóa giải mật mã giống hệt hoặc được suy ra từ khóa tạo mật mã, người ta gọi giải thuật tạo mật mã như vậy là giải thuật khóa bí mật (secretkey algorithm). Trong giải thuật khóa bí mật, khóa tạo mật mã và khóa giải mật mã phải được giữ bí mật. Nếu người lạ “hắc ám” nào đó biết được khóa giải mật mã của bạn, thông điệp mật mã gửi cho bạn có thể bị đọc trộm và mọi chuyện sẽ... “đổ bể”.

Trong trường hợp khóa giải mật mã độc lập với khóa tạo mật mã, giải thuật được dùng gọi là giải thuật khóa công khai (public-key algorithm). Trong giải thuật khóa công khai, không có cách chi để tính ra khóa giải mật mã từ khóa tạo mật mã. Do vậy, ta có thể yên tâm để “hớ hênh” khóa tạo mật mã cho “bà con” biết hết (“công khai” nghĩa là như vậy), chỉ cần giữ kín khóa giải mật mã.

Liệu có khả năng đọc được mật mã mà không cần biết trước khóa giải mật mã? Bạn có thể yên tâm, người ta ước lượng việc dùng máy tính để truy tìm khóa giải mật mã dài 128 bit (như khóa giải mật mã được dùng bởi trình duyệt web trong giao thức HTTPS) theo kiểu thử dùng “hết cái này lại cái khác” sẽ mất đến... tỉ tỉ tỉ tỉ năm!

(còn tiếp)

[Đầu trang]
Trang chủ
Thư ngỏ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Nhóm Frontpage
Cõi người ta
Kim cương doanh nghiệp
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Nuôi hồn Robot
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền VASC Orient, Công ty phát triển phần mềm VASC
99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn