Smart-card – thẻ chip là gì? Ngày xưa đơn giản là một cái thẻ nhớ lưu trữ thông tin, ngày nay là một cái máy tính thực sự, có CPU, RAM, ROM… được tích hợp trên một cái thẻ, chức năng là mã hóa và giải mã! Có nhiều phương pháp mã hóa khác nhau dùng được với smart-card, phổ biến là Private/Public keys (nhưng cũng có thể là những phương pháp khác). Smart-card là phương tiện để lưu trữ những cái keys – khóa này, không cho người khác đọc được! Muốn đọc phải xẻ con chip ra và kết nối vật lý với các mạch bên trong! Vì lý do đó nên từng có loại smart-card bên trong có chứa khí cháy (khi tiếp xúc với không khí), xẻ con chip ra là nó sẽ bắt cháy, hũy chip! Cũng vì đó mà đám tội phạm đã tìm cách xẻ con chip bên trong hộp chân không để nó không cháy!
Dữ liệu gởi vào cho smart-card mã hóa/giải mã, xong gởi ra trở lại, không bộc lộ key ‘B’ lưu bên trong. Nhưng do kích thước vật lý như thế nên thẻ chip chỉ có khả năng xử lý tối đa vài KB dữ liệu một lúc, không có khả năng thao tác đến MB, GB. Nên thực ra khi dùng smart-card, người ta chỉ xác minh một lần đầu, nếu xác minh đúng, các ứng dụng (các bên tham gia kênh thông tin cần mã hóa) sẽ dùng một key khác là ‘C’, và thường là xài một phương pháp mã hóa khác, để xử lý cho nhanh lẹ với lượng dữ liệu lớn, chứ không thực sự dùng đến cái key ‘B’ lưu trong chip. Cứ như thế, định kỳ key ‘C’ sẽ được thay đổi để bảo đảm an toàn, và key ‘B’ có vai trò mã hóa, bảo vệ key ‘C’ khi trao đổi, phân phối ‘C’ giữa các bên tham gia kênh thông tin!
Mã hóa Private/Public keys là gì? Bộ CA sẽ cấp cho mỗi người một mã công khai – public key ‘A’, lưu công khai trên web, ai cũng đọc được, và một mã bí mật – private key ‘B’, lưu trong smart-card – CCCD. Mã hóa Private/Public key có tính 2 chiều: dữ liệu đã được mã hóa bằng public key ‘A’ thì chỉ ai có private key ‘B’ mới giải mã được. Chiều ngược lại cũng đúng, dữ liệu đã mã hóa và có thể giải mã thành công nhờ public key ‘A’ thì xác nhận là chỉ có thể được mã hóa, gởi đi từ người có private key ‘B’ chứ không thể là ai khác! Việc này được gọi là ký – sign, và đó là lý do tại sao Private/Public keys vừa được dùng để mã hóa/giải mã (encrypt/decrypt), vừa được dùng để ký xác minh (sign, authenticate). Muốn xác minh chính chủ thì làm thế nào?
Đầu tiên ứng dụng sẽ yêu cầu thẻ chip mã hóa một thông điệp ngắn, ví dụ như “Are You ABCD?” dùng private key ‘B’, rồi gởi đến trang của BCA yêu cầu xác minh, nếu giải mã bằng public key ‘A’ trả về đúng chuỗi “Are You ABCD?” thì xác nhận đây chính là người có số CCCD là ABCD, cũng là người sở hữu khóa công khai ‘A’ và khóa bí mật ‘B’. Những điều này tương đối đơn giản, nhưng không phải ai cũng hiểu rõ ràng, ngay cả người làm trong ngành CNTT đôi khi đọc cũng thấy hoang mang! Nói ngắn gọn là: mã hóa bằng khóa ‘A’ thì chỉ là… mã hóa, nhưng mã hóa bằng khóa ‘B’ thì gọi là ký – sign, và đây là chữ ký an toàn, không ai khác ngoài người sở hữu khóa ‘B’ có khả năng như thế! Vì sao mã hóa Private/Public keys có khả năng kỳ diệu đến vậy!?
Mã hóa Private/Public keys, cụ thể là ‘phiên bản’ RSA phát minh năm 1977 bởi Ron Rivest, Adi Shamir và Leonard Adleman được xem là một thành tựu lớn trong ngành Khoa học máy tính. Đi sâu vào chi tiết thì có nhiều chuyện phức tạp, nhưng ý tưởng chung đơn giản đến nỗi hầu như ai học hết cấp 3 cũng đều có thể hiểu được! Public key ‘A’ chính là tích của 2 số nguyên tố rất lớn A = a x b, nếu chỉ biết A thì rất khó tìm ra a và b, do năng lực của các hệ thống máy tính hiện hữu không đủ để giải bài toán khai triển lũy thừa này! Mà sao lại nói nhiều về chuyện thẻ chíp và mã khóa Private/Public keys như vậy!? Ở các nước như Trung Quốc, xác minh danh tính online được xem là dịch vụ cơ bản cung cấp cho toàn dân! Ngược lại, ở một số nước như Mỹ…
Việc xác minh (ví dụ như SSL) là khá tốn kém và phải trả một số tiền hàng năm (tiền này là trả cho nhân viên đi xác minh, cũng phải trả cho cả bảo hiểm). Còn ở ta thì… không biết chắc là loại nào, các bạn biết rồi đấy, liên quan đến các vấn đề kỹ thuật thì BCA thông minh vô cùng, họ hoàn toàn không dốt chút nào! Còn khi ta cảm thấy họ “dốt”, khi mà khi ngôn từ cứ nhộn nhạo cả lên, thì chính là… họ ỡm ờ như thế! Như luật PCCC mới, muốn tìm loại vật liệu chống cháy thỏa mãn yêu cầu của BCA thì hơi khó á, mời họ cafe thì họ sẽ chỉ cho, rồi ai bán các loại vật liệu PCCC đó!? Chỉ có ở VN mới có tình trạng dùng thông tin như “hàng hóa”, nên nhiều việc nó cứ trầy trật! Trong khi nhu cầu xác minh chính danh, chính chủ là vô cùng bức thiết!
Nhưng ‘chính danh’ theo em là một cuộc chiến còn khó hơn Một mình chống lại Mafia – Bạch tuộc, nói theo ngôn ngữ bộ phim truyền hình Ý phát hành những năm 80. Vì con “bạch tuộc” này nó vô hình vô ảnh, nó không phải là một cá nhân, phe phái, một tầng lớp hay tổ chức cụ thể nào, mà nó là cái tính “đa nhân cách” của người Việt: luôn có muôn ngàn bộ mặt khác nhau, luôn rình mò la liếm, luôn “ta đây biết rồi”, cứ hở ra là giở trò lưu manh vặt! Như vụ chính chủ với số điện thoại đó, nói tới nói lui rồi đâu lại vào đấy, có làm được đâu, nhu cầu ‘ám muội’ của số đông nó quá lớn mà! Vạn sự khởi đầu nan, chỉ cần đặt được viên đá “chính danh” đầu tiên, khi nền tảng kỹ thuật đã vững rồi thì đến một lúc, người ta có muốn gian cũng không được!