12/08/2018, 15:35

RFID data security

RFID (radio frequency identification) là một phương pháp định danh đối tượng bằng sóng radio. RFID được nghiên cứu và phát triển từ những năm 20 của thế kỷ trước tại Mỹ nhưng chủ yếu về mặt lý thuyết . Năm 1946, nhà vật lý người Nga Leon Theremin là người đầu tiên chế tạo thiết bị RFID (thu phát ...

RFID (radio frequency identification) là một phương pháp định danh đối tượng bằng sóng radio. RFID được nghiên cứu và phát triển từ những năm 20 của thế kỷ trước tại Mỹ nhưng chủ yếu về mặt lý thuyết . Năm 1946, nhà vật lý người Nga Leon Theremin là người đầu tiên chế tạo thiết bị RFID (thu phát sóng vô tuyến cho mục đích định danh vật thể). Trong thế chiến 2, RFID đã từng được sử dụng để xác định máy bay quân sự là của "ta" hay "địch". Nói một cách dễ hiểu nhất, RFID hoạt động dựa trên việc biến đổi năng lượng sóng điện từ (sóng vô tuyến): khi có một năng lượng vô tuyến từ một nguồn phát, phát xạ vào một vật thể, vật thể đó đáp ứng lại bằng cách biến đổi năng lượng của sóng phản xạ để cung cấp thông tin ngược lại nguồn phát để định danh hoặc để cung cấp dữ liệu về vật thể đó. Việc biến đôi năng lượng của sóng vô tuyến có thể không cần nguồn năng lượng phụ của thiết bị cần định danh (RFID thụ động), hoặc có thể cần một nguồn năng lượng của chính bản thân thiết bị cân định danh (RFID chủ động).

RFID ngày nay được ứng dụng khá rộng rãi trong nhiều lĩnh vực cần tiếp nhận thông tin không tiếp xúc (contactless). Ví dụ trong kiểm soát vào ra công ty, hoặc vào ra ở bãi gửi xe, thiết bị phát sóng RADIO (thiết bị đọc- RFID reader/RFID transmiter ) liên tục phát ra sóng radio ở một dải tần nhất định. Khi có một đối tượng(thẻ) có khả năng phản xạ và biến đổi sóng radio (RFID receiver) ở trong vùng năng lượng của sóng radio đó, nó sẽ biến đổi năng lượng sóng, phản xạ trở lại và thiết bị đọc sẽ nhận ra ID (số định danh) của thẻ, kèm theo các dữ liệu trong bộ nhớ của thẻ, và quyết định các bước xử lý (ghi nhận, mở cổng...). Ở nhiều nước (Mỹ, Úc...) RFID còn được dùng để lưu trữ thông tin cá nhân trên các giấy tờ tuỳ thân (hộ chiếu...) giúp việc thu nhận và xử lý thông tin nhanh hơn khi qua các cổng kiểm soát an ninh sân bay....

Với việc RFID sử dụng ngày càng rộng rãi trong nhiều ứng dụng (trông xe, thu phí, kiểm soát an ninh vào ra, kiểm tra dữ liệu trong kho hàng hoá ....), việc bảo mật thông tin định danh thẻ và dữ liệu trên thẻ cũng được đặt ra như một yêu cầu tất nhiên để đảm bảo quá trình trao đổi dữ liệu giữa đối tượng cần định danh với thiết bị đọc được an toàn và không có kẻ lấy cắp ở giữa. Giả sử không có việc bảo mật dữ liệu trên thẻ, (hay ID của thẻ), một thẻ bất kỳ có thể được sao chép để sử dụng trong việc ăn trộm xe, đột nhập văn phòng, đi qua cửa khẩu.... tiềm tàng những nguy cơ mất an toàn về tài sản và an ninh. Theo nguyên lý của RFID, một nguồn phát (RFID reader) bất kỳ có thể phát xạ một sóng vô tuyến hướng vào vật thể cần định danh (RFID tag), thẻ sẽ đáp ứng lại bằng cách cung cấp thông tin của mình. Thẻ là một thiết bị không thông minh, do đó, kẻ đánh cắp thông tin chỉ cần để một thiết bị đọc đánh cắp ở ngay gần thiết bị đọc thật (ví dụ gắn thêm vào cạnh cửa ra vào để cùng phát xạ với thiết bị đọc xịn), thì kẻ đó dễ dàng đọc được mã và dữ liệu trên thẻ. Khi đã có dữ liệu và mã của thẻ, kẻ đánh cắp sẽ đi làm một chiếc thẻ giả có thông tin hệt như vậy, và dễ dàng sử dụng thẻ giả để đột nhập vào nơi cần kiếm soát.

Trong bài viết này, chúng ta sẽ thử tìm hiểu hai cơ chế an toàn dữ liệu RFID để biết những ưu điểm, nhược điểm của từng phương pháp. Các nội dung được trình bày dựa trên các bài viết tham khảo, cùng với kinh nghiệm của bản thân người viết trong quá trình triển khai lập trình các hệ thống có sử dụng công nghệ RFID.

  1. Phương pháp đặt mật khẩu trên thẻ. Trong phương pháp này, khi sản xuất ra thẻ, nhà sản xuất sẽ cài lên đó một mật khẩu và mật khẩu này sẽ được in trong tài liệu bán kèm. Các máy đọc khi phát xạ sóng hướng vào thẻ sẽ phải phát xạ mật khẩu này. Nếu thẻ không nhận được mật khẩu, hoặc nhận mật khẩu sai, nó sẽ không trả lời, không phản hồi tín hiệu, do đó thông tin không bị trao vào các máy đọc gỉa mạo. Phương pháp này tuy đơn giản, nhưng thực tế triển khai lại không như vậy. Điều dễ thấy là mật khẩu phải thống nhất giữa tất cả các thẻ vì máy đọc sẽ không biết thẻ nào đang lại gần, mà nó chỉ phát ra một mật khẩu cố định. Nếu cơ sở có hàng trăm thẻ, thì bắt buộc phải mua tất cả các thẻ có cùng mật khẩu, cùng một nhà sản xuất và phải cố định mật khẩu đó. Sau một thời gian thì mật khẩu đó có thể bị đánh cắp và không còn là bảo mật nữa. Nếu muốn thay mật khẩu trên thẻ thì sao? Cần lưu ý là thẻ là một thiết bị không thông minh, nó không tự đổi mật khẩu được, do đó thiết bị đọc phải phát ra một lệnh đổi mật khẩu, kèm theo mật khẩu cũ và mới để thẻ ghi lại vào bộ nhớ của nó. Nhưng không phải lúc nào thẻ cũng xuất hiện trong tầm phát của thiết bị đọc, do đó không có gì đảm bảo là tất cả các thẻ đã đổi được mật khẩu. Hệ quả là thiết bị đọc phải thường xuyên phát ra 3 lệnh: lệnh đọc với mật khẩu cũ (để đảm bảo các thẻ có mật khẩu cũ chưa đổi vẫn dùng được), lệnh đổi mật khẩu, lệnh đọc với mật khẩu mới (để xử lý các thẻ đã đổi mật khẩu). Nếu đổi 2 lần thì thậm chí thiết bị đọc phải phát nhiều lệnh hơn nữa trong một chu kỳ phát lệnh. Do những sự phức tạp như vậy nên các hệ thống sử dụng phương pháp mật khẩu cố định thường không cài đặt chức năng đổi mật khẩu và do đó tính bảo mật bị giảm đi rất nhiều. Để cải tiến phương pháp mật khẩu trên thẻ, trong một số ứng dụng quan trọng, người cầm thẻ sẽ phải nhập mật khẩu vào máy khi chạm thẻ, máy đọc sẽ phát lệnh đọc thẻ kèm theo mật khẩu. Khi mật khẩu đúng, thẻ sẽ gửi dữ liệu và ID của mình trở về máy đọc. Phương pháp này đuọc dùng cho những dư liệu quan trọng như thông tin cá nhân trên hộ chiếu... Tuy nhiên, mật khẩu này cũng là cố định (không thay đổi được) và tính an toàn bị giảm đi nhiều. Mặc dù khả năng bảo mật không cao, nhưng do tính đơn giản, cơ chế đặt mật khẩu tĩnh trên thẻ vẫn được sử dụng khá rộng rãi trong thực tế.
  2. Phương pháp mã hoá dữ liệu trên thẻ. Phương pháp này sử dụng thuật toán mã hoá bất đối xứng để mã hoá dữ liệu trao đổi giữa thẻ và thiết bị đọc. Cách thức thực hiện như sau: dữ liệu khi ghi vào thẻ sẽ được mã hoá bằng khoá công khai của máy đọc và máy đọc khi nhận lại thông tin từ thẻ sẽ sử dụng khoá riêng của mình để giải mã thông tin. Phương pháp này chỉ có thể áp dụng khi tất cả các thẻ đều được quản lý bởi đơn vị quản lý máy đọc thẻ. Mặt khác kẻ giả mạo vẫn có thể đọc dữ liệu (đã mã hoá) từ một thẻ có sẵn (bằng cách để một máy đọc giả ngay gần một máy đọc thật) rồi sau đó làm một thẻ giả có dữ liệu giống như vậy. Tuy nhiên, phương pháp này có ưu điểm là kẻ giả mạo tuy có thể lấy được dữ liệu đã mã hoá, nhưng không thể biết trong trong tin đó có gì. Do đó, mã hoá dữ liệu trên thẻ có thể sử dụng để lưu các dữ liệu quan trọng lên thẻ mà không sợ bị lấy cắp. Ngược lại, cách thức mã hoá này lại không thể áp dụng cho các hệ thống mở, tức là các hệ thống mà trong đó ta không biêt trước các thẻ nào sẽ đi qua máy đọc, ví dụ như các hệ thống e-passport thì ta không biết được passport của những nước nào sẽ đi qua cổng an ninh, do đó rất khó để mã hoá thông tin một cách thống nhất. Nó có thể thích hợp để mã hoá thông tin thành viên của một hiệp hội, của một câu lạc bộ VIP.... với các thẻ thẻ được biết trước.

Ngoài hai phương pháp trên, hiện có nhiều cách thức mới đang được đề xuất và nghiên cứu phát triển. Hi vọng rằng bài viết này đã cung cấp một góc nhìn nhỏ cho bạn đọc về vấn đề an toàn thông tin trong các hệ thống sử dụng RFID. Các bạn quan tâm có thể tìm hiểu sâu hơn trong các bài viết ở phần tham khảo dưới đây.

Tư liệu tham khảo: RFID data security, http://ieeexplore.ieee.org/abstract/document/1589116/?reload=true e-Passport https://www.dhs.gov/e-passports the right way to encode RFID tags for consumer products: http://www.rfidjournal.com/articles/view?13951 ...

0