Cấu trúc bộ nhớ

Một phần của tài liệu Đồ án khóa cửa bằng rfid (Trang 49 - 53)

Transponder chỉ đọc

Loại transponder tiêu biểu cho hệ thống RFID low-end. Ngay khi transponder chỉ đọc vào vùng truy vấn của reader, nó bắt đầu truyền liên tiếp số ID của mình. Số nhận dạng này thường dài khoảng vài byte. Nhà sản xuất phải bảo đảm là mỗi số seri này là duy nhất. Những mã phức tạp hơn thì có thêm những chức năng đặc biệt khác.

Hình 3.5. Sơ đồ khối của một transponder chỉ đọc

Số nhận dạng duy nhất của transponder tích hợp vào trong transponder trong quá trình sản xuất chip. User không thể thay đổi số seri này cũng như bất kỳ dữ liệu nào trên chip.

Trong hình trên, khi transponder vào vùng truy vấn của reader, một bộ đếm bắt đầu truy vấn tuần tự tất cả các địa chỉ trong bộ nhớ (PROM). Dữ liệu ở đầu ra của bộ nhớ được nối với một bộ điều chế load modulator. Toàn bộ nội dung của bộ nhớ (128-bit số seri) có thể được phát đi theo chu kỳ như là một luồng dữ liệu nối tiếp.

Quá trình trao đổi thông tin với reader là một chiều nghĩa là transponder chỉ gửi số nhận dạng của nó cho reader mà thôi. Việc truyền dữ liệu từ reader đến transponder không thực hiện được. Tuy nhiên, do sự đơn giản của thiết bị mang dữ liệu và reader, những transponder chỉ đọc có giá thành thấp.

Transponder chỉ đọc dùng trong những ứng dụng về giá của hàng hoá mà không đòi hỏi phải lưu dữ liệu cho transponder. Trước đây, loại transponder này dùng để nhận dạng gia súc, điều khiển truy xuất và những quá trình công nghiệp tự động với một trung tâm quản lý dữ liệu.

Transponder ghi được

Những transponder cho phép reader ghi dữ liệu vào có dung lượng bộ nhớ từ 1byte đến 64KByte (transponder viba có SRAM).

Quá trình đọc và ghi vào transponder thường là theo các khối. Một khối chứa số seri đã được biên dịch và sau đó có thể đọc hay ghi như một đơn vị riêng biệt. Để thay đổi nội dung dữ liệu của một khối, đầu tiên toàn bộ khối phải được đọc từ transponder, sau đó khối này được sửa lại và ghi trở lại transponder.

Những hệ thống hiện nay sử dụng khối kích thước 16bits, 4bytes hay 16bytes. Cấu trúc khối của bộ nhớ phải thuận tiện cho địa chỉ của chip và của reader.  Transponder có chức năng bảo mật

Nếu một transponder có khả năng ghi nhưng không được bảo vệ thì tất cả các reader nào của cùng một hệ thống RFID đó cũng có thể đọc hay ghi nó. Điều này là không chấp nhận được, nhất là những ứng dụng nhạy cảm có thể bị phá hoại do quá trình đọc và ghi không hợp pháp vào transponder.

Có nhiều nhiều biện pháp để ngăn ngừa một người không phải là chủ sở hữu thẻ truy xuất tới một transponder. Một trong những kỹ thuật đơn giản nhất là bảo vệ quá trình đọc ghi bằng cách kiểm tra password. Trong phương pháp này thẻ sẽ so sánh password đã phát đi với một password được lưu trữ để đối chiếu và cho phép truy xuất đến bộ nhớ dữ liệu nếu như password hợp lệ.

Tuy nhiên, nếu việc kiểm tra chủ sở hữu được thực hiện hoặc cần phải kiểm tra cả 2 thành phần thuộc cùng một ứng dụng thì thủ tục xác nhận được sử dụng. Một thủ tục xác nhận thường liên quan đến một phép so sánh 2 khoá bí mật. Các khoá này không được phát đi thông qua giao tiếp. Thủ tục xác nhận thường được kết hợp với quá trình mật mã hoá (encrytion) luồng dữ liệu được phát đi. Phương pháp này cho hiệu quả bảo vệ cao, chống lại được những ý đồ lấy cắp dữ liệu đang truyền đi bằng cách giám sát giao tiếp không dây bằng cách sử dụng máy thu vô tuyến.

Hình 3.6. Sơ đồ khối của một transponder ghi được có chức năng bảo mật để thực hiện xác nhận giữa transponder và reader

Hơn nữa, transponder có chức năng bảo mật luôn có một bộ nhớ dự trữ để lưu trữ những khoá bí mật và một thanh ghi cấu hình configuration register (access register, Acc) để lựa chọn vùng địa chỉ được ghi nào cần bảo vệ. Khoá bí mật được nhà sản xuất ghi vào bộ nhớ khoá (key memory) trước khi transponder được trao cho user. Vì lý do bảo mật, bộ nhớ khóa không thể đọc được.

Khái niệm về cấp bậc của khóa: một số hệ thống cho phép lựa chọn lưu trữ 2 khoá riêng biệt, khoá A và khoá B, để cung cấp quyền truy xuất khác nhau. Thủ tục xác nhận giữa transponder và reader có thể được thực hiện bởi khoá A và B. Việc cấp phát quyền truy xuất (Access right Acc) khác nhau cho 2 khoá có thể được định nghĩa mức độ bảo mật cho một ứng dụng.

Hình 3.7. Transponder có 2 bộ nhớ khoá để cấp quyền truy xuất khác nhau Trong hình trên, transponder kết hợp với 2 bộ nhớ khóa được xác định trước bởi 2 khoá A và B. Quyền truy xuất do reader phát ra sau khi thủ tục xác nhận thành công phụ thuộc vào quá trình cài đặt. Quá trình này được lựa chọn ở transponder (thanh ghi truy xuất: Access Register) cho những khoá đã được sử dụng.

Reader1 chỉ sở hữu khoá A. Sau khi xác nhận thành công, những cài đặt được lựa chọn trong thanh ghi truy xuất (Acc) chỉ cho phép nó đọc từ bộ nhớ của transponder. Reader2 sở hữu khoá B. Sau khi xác nhận thành công bằng khoá B, những cài đặt được lựa chọn trong thanh ghi Acc cho phép nó ghi vào bộ nhớ của transponder cũng như nó đọc.

Phân đoạn bộ nhớ

Các transponder cũng được bảo vệ từ quá trình truy xuất bởi reader, tuỳ thuộc vào ứng dụng sử dụng các thủ tục xác nhận nào. Với những transponder có dung lượng bộ nhớ lớn, chúng ta có thể chia bộ nhớ thành những đơn vị nhỏ gọi là segment và bảo vệ chúng bằng những khoá riêng biệt. Một transponder có bộ nhớ bị phân đoạn cho phép dữ liệu từ những ứng dụng khác nhau được lưu trữ riêng biệt.

Hình 3.8. Một transponder có thể dùng cho nhiều ứng dụng bằng cách phân đoạn bộ nhớ của nó

Truy xuất đến một segment chỉ có thể thực hiện được sau khi kiểm tra thành công khoá bảo vệ tương ứng. Cho nên một reader của một ứng dụng chỉ có thể truy xuất tới những segment của nó nếu nó biết những khoá riêng của ứng dụng đó.

Đa số các segment của bộ nhớ hệ thống có kích thước xác định. Trong những hệ thống này, user không thể thay đổi không gian lưu trữ của một segment. Kích thước cố định của một segment có ưu điểm là nó rất đơn giản và rẻ tiền nhờ vào các vi mạch của transponder.

Tuy nhiên một ứng dụng cũng rất hiếm đòi hỏi không gian lưu trữ bằng với kích thước của segment. Với những ứng dụng nhỏ, không gian lưu trữ trên transponder được sử dụng rất lãng phí vì các segment chỉ được sử dụng một phần. Ở những ứng dụng lớn thì cần phải sử dụng đến vài segment. Điều này có nghĩa là khoá của ứng dụng phải được lưu trữ trên mỗi segment.

Một cách tối ưu để sử dụng bộ nhớ là sử dụng những segment có chiều dài thay đổi. Bộ nhớ phân phối cho một segment tuỳ thuộc vào yêu cầu của từng ứng dụng. Do sự khó khăn trong việc thực hiện segment có kích thước thay đổi, nên nó sẽ không sử dụng cho transponder có trạng thái này.

Hình 3.9. Sự khác nhau giữa segment cố định và segment tự do

Một phần của tài liệu Đồ án khóa cửa bằng rfid (Trang 49 - 53)