Professional Documents
Culture Documents
c4 bảo mật
c4 bảo mật
Hiện nay ở Việt Nam chủ yếu đang áp dụng dịch vụ thu phí tự động đường bộ
VETC. Dịch vụ này sử dụng công nghệ Radio Frequency Identification (RFID) sử
dụng sóng radio để nhận diện phương tiện.
4.1. Công nghệ RFID
Radio Frequency Identification là công nghệ nhận dạng đối tượng bằng sóng vô
tuyến. Khi đó cả hai thiết bị hoạt động thu phát sóng trong cùng tần số và tần số đó
thường được sử dụng trong RFID là 125Khz hoặc 900Mhz. RFID không sử dụng
tia sáng như mã vạch, không cần tiếp xúc trực tiếp. Một vài loại còn có thể đọc
xuyên qua các môi trường, vật liệu như sương mù, băng đá, bê tông.
Một thiết bị RFID được cấu tạo bởi 2 thiết bị chính nhất: Một là thiết bị đọc
(reader) (có gắn antenna thu phát sóng điện từ), Hai là thiết bị phát mã có gắn chip
(RFID tag) (gắn với vật cần nhận dạng, mỗi thiết bị RFID có chứa một mã số nhất
định sao cho không trùng lặp với nhau – dán thẻ VETC/Epass).
Nguyên lý: Thiết bị RFID đọc phát ra sóng điện từ ở một tần số cụ thể, sau đó thiết
bị phát mã RFID tag trong vùng hoạt động sẽ cảm nhận được sóng này và thu nhận
năng lượng rồi từ đó phát lại cho thiết bị RFID biết mã số của mình.
Lợi ích của RFID:
Chi phí thấp nhất và dễ đưa vào triển khai thực tiễn nhất là lợi ích không nhỏ
của RFID.
Chúng có thể được áp dụng để kiểm tra, giám sát một số dịch vụ khác trong
tương lai: bãi đỗ xe, quản lý giao thông hoặc kiểm soát ra vào công sở,…
Có thể áp dụng RFID để tự động cho phép xe ra vào nếu đủ điều kiện tại các
tòa nhà, khu công sở,…
Hạn chế của RFID:
Mức độ bảo mật của RFID sẽ kém hơn so với DSRC, có thể xuất hiện tình
trạng gian lận thông tin, gian lận thanh toán của tài xế. Ngoài ra, các thiết bị
trái phép có thể đọc và thay đổi dữ liệu trên thẻ mà người sở hữu đối tượng
không biết.
Có thể xảy ra sự cố khi quét: Mặc dù đầu đọc có thể quét qua hầu hết các vật
liệu phi kim loại, nhưng chúng có vấn đề với kim loại và nước.
Nếu phần đọc nhận tín hiệu từ nhiều thẻ một lúc có thể xảy ra tình trạng
xung đột thẻ,…
4.2. Các vấn đề bảo mật RFID.
Hệ thống RFID hoạt động dựa trên các kênh giao tiếp bên ngoài để kết nối dữ liệu
đã được đăng kí bởi reader với các vùng dữ liệu khác.
Các Hoạt động tấn công thường tập trung vào back-end của hệ thống RFID. Mục
tiêu tấn công chủ yếu là vào vùng không gian giữa reader và transponder hoặc tấn
công trực tiếp vào transponder.
4.2.1. Tấn công transponder
Phá hủy – Cách ly
Cách đơn giản để phá hủy Transponder là tác động vật lý hoặc đặt nó vào một điện
trường đủ mạnh (vd lò vi sóng).
Cách cách ly transponder tức là cách ly nó khỏi vùng từ trường của reader => có
thể dùng lá nhôm bao bọc quanh nó. Với các hệ ghép cảm ứng, thì mạch dao động
anten có thể được đóng gói bằng bề mặt kim loại lên trực tiếp bề mặt của nó. Như
vậy từ trường của reader sẽ bị tiêu tán bởi dòng điện xoáy trên bề mặt kim loại.
hoặc bị phản xạ lại trong các hệ backscatter. Do đó transponder sẽ không thể giao
tiếp với reader. Hoặc dù có thì với các passive transponder sẽ không đủ nguồn để
cung cấp cho chip hoạt động.
Tuy nhiên kể cả như vậy Reader cũng chỉ cùng lúc đáp ứng được một số lượng
nhất định transponder.
Như đã biết mỗi transponder có một số serial là một chuỗi n-bit nhị phân dùng để
định danh. Reader sẽ sử dụng để quy thực hiện duyệt lần lượt từng bit trong chuỗi
serial để xác định thẻ transponder. Tấn công vào giao thức này, các blocker tag sẽ
phát trả lại đồng thời cả bit “0” và “1” khi nhận dc bất cứ request nào từ reader =>
các trạng thái xung đột bit liên tục xảy ra => tăng số lượng nút phải xử lý tại
Reader. Giả sử mỗi transponder có ID là số gồm 32bit và thời gian reader xác định
một số serial cụ thể là 1ms thì thời gian duyệt phải thực hiện của reader là
T = 2^32 (ms) ~ 50 ngày.
1 thiết bị đặt gần reader được gọi là ghost (proxy), nó cho phép nhận các tín
hiệu của reader và tạo ra 1 tải điều chế để giao tiếp với reader như 1
transponder.
1 thiết bị đặt gần transponder được gọi là leech (mole, có khả năng cung cấp
cho transponder nguồn cần thiết để hoạt động cũng như giải mã tải điều chế
của transponder như là 1 reader.
Tuy nhiên, có 1 rủi ro có thể xảy ra khi sử dụng biện pháp này, đó là, nếu khoảng
cách giữa ghost và leech quá lớn thì sẽ thời gian truyền tín hiệu giữa ghost và leech
sẽ bị trễ 1 khoảng thời gian lớn. Tín hiệu phản hồi từ transponder sẽ không được
reader chấp nhận do thời gian time-out có thể vượt quá mức cho phép nhiều lần.
Một giải pháp để khắc phục đó là sử dụng xếp chồng giao thức.Tại cả ghost và
leech, dữ liệu được đóng gói hoàn chỉnh qua tất cả các bước giao tiếp với thiết bị
thật sau đó mới được gửi đi. Giải pháp này sẽ khắc phục được thời gian time-out
tuy nhiên đối với các hệ thống sử dụng xác thực giao tiếp giữa transponder và
reader sẽ không thực hiện được.
4.2.3. Giải pháp
4.2.3.1. Chứng thực đối xứng lẫn nhau :
Chứng thực lẫn nhau giữa reader và transponder dựa trên cơ sở về kiểu chứng thực
bắt tay 3 bước, trong đó cả 2 bên đều phải kiểm tra khóa mã hóa bí mật của bên
còn lại.
Trong giải thuật này, cả transponder và receiver trong 1 ứng dụng đều sở hữu cùng
1 mã khóa bí mật K (giải thuật đối xứng). khi transponder lần đầu tiên xuất hiện
trong vùng dò tìm của reader, nó không thể được xem là 2 đối tác của 1 giao tiếp
trong cùng 1 ứng dụng. nhìn từ phía reader, cần phải bảo vệ ứng dụng khỏi các
những hành vi sử dụng những dữ liệu giả mạo, tương tự, đứng từ phía transponder,
cần phải bảo vệ dữ liệu được lưu trữ khỏi việc lấy ra và ghi đè dữ liệu.
Hình 5 : Chứng thực đối xứng lẫn nhau giữa transponder và reader.
Việc chứng thực lẫn nhau bắt đầu bằng việc, reader gửi lệnh GET_CHALLENGE
tới transponder, 1 số ngẫu nghiên RA được tạo ra ở transponder và gửi lại reader.
Tiếp tục, reader sẽ tạo ra 1 số ngẫu nghiên RB , sử dụng cùng 1 khóa bí mật K và
cùng 1 giải thuật khóa chung ek, reader sẽ tính toán 1 khối dữ liệu mã hóa (token
1), chứa cả 2 số ngẫu nghiên và các dữ liệu bổ xung, rồi gửi cho transponder.
Nhận được token 1 transponder tiến hành giải mã số ngẫu nhiên R’A chứa trong
plain text được so sánh với RA. Nếu giống nhau, sẽ tiến hành xác định xem các
khóa chung có giống nhau không. Transponder tạo ra 1 số ngẫu ngiên RA2 và sử
dụng để tính toán khối dữ liệu mã hóa tiếp theo, chứa RB và dữ liệu điều khiển,
sau đó gửi trả lại reader.
Reader giải mã khối token 2 và kiểm tra RBđã gửi trước đó, với R’B vừa nhận
được, nếu chúng tương đồng, sẽ kiểm tra lại 1 lần nữa khóa chung. Khi
transponder và reader đã biết chắc chắn rằng chúng thuộc về cùng 1 hệ thống thì
những giao tiếp sâu hơn sẽ được hợp pháp hóa.
Những ưu điểm của chứng thực đối xứng lấn nhau :
Khóa bí mật không bao giờ truyền thông quá sóng radio, chỉ có những số
ngẫu nghiên đã mã hóa được truyền đi.
Hai số ngẫu nghiên luôn được mã hóa đồng thời, điều này sẽ tránh được khả
năng thực hiện việc chuyển đổi ngược sử dụng RA để tính toán lại token 1,
và sử dụng nó để tính toán ra khóa bí mật.
Token có thể được mã hóa bằng bất kì giải thuật nào.
Việc sử dụng 2 số ngẫu nhiên hoàn toàn được sinh ra từ 2 nguồn độc lập có
nghĩa là việc chứng thực tuần tự để sử dụng lại ở 1 thời điểm khác là không
thực hiện được.
Một khóa ngẫu nhiên có thể được tính toán từ bộ sinh số ngẫu nhiên, để bảo
mật theo kiểu mã hóa logic việc truyền dữ liệu sau này.
4.2.3.2. Chứng thực sử dụng khóa biến đổi :
Để nâng cao bảo mật trong chứng thực giữa Reader và Transponder => yêu cầu
khóa Kx sử dụng là khác nhau với mỗi transponder.Để thực hiện việc này,khóa Kx
sẽ được tính toán sử dụng giải thuật mã hóa logic sử dụng số ID_number và khóa
chính Km. Sau đó Kx được đưa ghi vào transponder.
Việc chứng thực bắt đầu bằng request Get_ID gửi đến Transponder.
Tại transponder tính toán và lưu lại Kx, gửi trả về reader số ID_number.
Tại Reader thực hiện tính toán và lưu lại Kx dựa vào số ID_number nhận dc và
khóa chính Km.
Sau đó Reader gửi request Get_Challenge đến transponder. Transponder tại một số
ngẫu nhiên A và gửi trả Reader.
Tiếp tục, tại Reader tạo một số random B, sử dụng khóa Kx đã lưu và giải thuật
khóa chung ek để tính toán token1 gửi cho transponder.
Tiếp tục, tại transponder giải mã token1 để lấy RA, so sánh A | RA và khóa chung
Kx có giống nhau không. Nếu giống nhau, transponder tạo số ngẫu nhiên A2 , tính
toán token2 và gửi cho reader :
Reader giải mã chuỗi token2 và kiểm tra RB và khóa chung Kx. Sau các bước xác
nhận thành công thì các bước giao tiếp sâu hơn sẽ được thực hiện.