

Mở đầu
Các công nghệ truyền dẫn không dây đang mở đường cho sự phát triển sáng tạo, tương tác thông minh. Tuy nhiên, một số dịch vụ không dây dễ bị truy cập trái phép và việc nghe lén dễ dàng hơn so với các công nghệ truyền thông có dây vì dữ liệu không dây được truyền qua môi trường không khí. Bài viết này đề cập đến tính bảo mật của các hệ thống thanh toán di động dựa trên công nghệ NFC - là kết nối trường gần (Near-Field Communication), nó cho phép kết nối tiếp xúc gần để trao đổi thông tin giữa hai thiết bị ở phạm vi vài centimet. Trong mô hình giao tiếp NFC, các thiết bị như điện thoại thông minh được được hỗ trợ để triển khai công nghệ NFC. Các thiết bị này khi ở chế độ chủ động, cả hai thiết bị đều có thể tạo tần số vô tuyến (RF) và bắt đầu trao đổi dữ liệu (đóng vai trò khởi tạo); khi ở chế độ thụ động (ví dụ: thẻ tiếp xúc hoặc thẻ không tiếp xúc) chỉ thiết bị đang hoạt động mới có thể bắt đầu phiên giao tiếp và vai trò của thiết bị thụ động được gọi là mục tiêu. Thiết bị NFC có thể hoạt động ở ba chế độ:
Chế độ NFC giả lập thẻ: Thiết bị có NFC hoạt động giống như thẻ không tiếp xúc thụ động bình thường (mô phỏng thẻ thông minh). Thiết bị thụ động không tạo ra trường RF.
- Chế độ Đọc/Ghi: Thiết bị có NFC hoạt động giống như một đầu đọc thẻ không tiếp xúc hoạt động bình thường. Sau đó, nó có thể tạo ra các trường RF để giao tiếp với thẻ không tiếp xúc (thẻ RFID).
- Chế độ ngang hàng: Hai thiết bị có NFC có thể giao tiếp với nhau ở cả chế độ NFC chủ động hoặc thụ động. Theo nguyên tắc chủ/tớ, trình khởi tạo (vai trò là chủ) bắt đầu truyền dữ liệu và đợi đầu còn lại phản hồi (vai trò là tớ).
Hình 1 dưới đây mô tả một thiết bị di động tích hợp công nghệ NFC. Thiết bị này thường bao gồm các mạch tích hợp khác nhau, giao diện NFC và phần tử bảo mật (SE). Giao tiếp giữa các thiết bị NFC được bật qua giao diện NFC. Giao diện này bao gồm một mặt trước không tiếp xúc NFC, một ăng-ten NFC và một trình điều khiển NFC. Các thiết bị hỗ trợ NFC kết hợp SE để lưu trữ an toàn thông tin bí mật như thông tin tài khoản người dùng và để kết nối với trình điều khiển NFC để thực hiện các giao dịch ở khoảng cách ngắn an toàn với các thiết bị có NFC bên ngoài. Giao thức dây đơn (SWP) được sử dụng làm giao diện kết nối giữa SE và trình điều khiển NFC, cho phép giao tiếp giữa ứng dụng thanh toán được cài đặt trên SE và các đầu đọc không tiếp xúc (ví dụ: POS) thông qua giao diện NFC. Trình điều khiển host là một phần của hệ thống NFC xử lý dữ liệu được trao đổi và thiết lập kết nối giữa bộ điều khiển NFC và SE. Trình điều khiển NFC được kết nối với trình điều khiển host (Host Controller) thông qua giao diện trình điều khiển host (HCI) cũng được sử dụng để giao tiếp giữa bộ điều khiển NFC và SE qua giao diện SWP. Một thẻ thông minh UICC sử dụng giao diện kết nối theo ISO 7816 để trao đổi dữ liệu với máy chủ từ xa trong mạng. Giao diện này bao gồm một tập hợp gói dữ liệu được gọi là đơn vị dữ liệu giao thức ứng dụng (APDU) để đọc/ghi và trao đổi dữ liệu giữa máy chủ và thẻ UICC.
Hình 1. Mô hình của điện thoại di động hỗ trợ NFC với thẻ UICC
Thanh toán di động NFC liên quan đến sự hợp tác giữa các nhà sản xuất điện thoại di động và nhà cung cấp hệ điều hành (ví dụ: Google), các nhà khai thác điện thoại di động và các tổ chức ngân hàng (ví dụ: VISA). Khi được sử dụng để thanh toán không tiếp xúc trên thiết bị di động, các thiết bị hỗ trợ NFC kết hợp các SE để lưu trữ thông tin cá nhân một cách an toàn. Trong trường hợp thanh toán di động, người dùng giữ hoặc chạm vào điện thoại gần đầu đọc của người bán để bắt đầu gửi thông tin tài khoản của họ đến máy đọc PoS không tiếp xúc thông qua liên kết RF.
Yếu tố an toàn trong giao dịch
Để bảo vệ nội dung thông tin truyền qua NFC thì một số nghiên cứu chỉ ra rằng các ứng dụng thanh toán đều được bảo vệ thông qua việc sử dụng giao thức bảo mật lớp truyền tải (TLS). Tuy nhiên, để tăng thêm tính an toàn và độ bảo mật thì một số đề xuất được đưa ra như sau:
Sử dụng chữ ký dựa trên đường cong Elliptic để ký dữ liệu NFC đã trao đổi, cung cấp tính toàn vẹn và tính xác thực cho các nội dung được trao đổi qua NFC;
Cung cấp một ngăn xếp nhỏ để nhúng giao thức TLS trong SE giúp chạy ứng dụng thanh toán di động một cách an toàn;
Sử dụng các chứng chỉ X.509 tồn tại trong thời gian ngắn ở phía máy khách để loại bỏ khâu liên quan đến việc xác nhận chứng chỉ cũng như các hoạt động giao tiếp và tính toán.
Các đề xuất nói trên sử dụng phương pháp xác thực dựa trên chứng chỉ để xác thực SE và PoS. Tuy nhiên, việc sử dụng chứng chỉ đặt ra những hạn chế không mong muốn đối với SE được nhúng trong thiết bị di động, vốn thường có giới hạn về bộ nhớ và thời lượng pin. Hơn nữa, một số hạn chế lớn khác sẽ ảnh hưởng đến việc triển khai và hiệu suất của giao tiếp NFC chẳng hạn như thời gian xử lý cần thiết để đạt được các hoạt động mật mã khóa công khai.
Các vấn đề bảo mật của NFC
Mặc dù các ứng dụng khác nhau có thể được vận hành bằng công nghệ NFC, thực tế là các cấp độ thấp hơn của NFC không có những nguyên tắc bảo mật giao tiếp khiến công nghệ này dễ bị tấn công và nhiều lỗ hổng bảo mật.
Khách hàng và các thiết bị được cho là một thực thể tin cậy. Mối quan tâm về bảo mật liên quan đến các giao dịch qua giao diện vô tuyến NFC (Hình 1) có thể bị tấn công qua: ứng dụng độc hại được cài đặt trên thiết bị hỗ trợ NFC thay vì ứng dụng hợp pháp; qua các kênh phụ khi các thành phần phần cứng được chia sẻ như thẻ thông minh để trích xuất hoặc ghi đè lên thông tin bí mật, thông tin tài chính được lưu trữ vào thẻ; và cuối cùng là hệ điều hành cài trên thiết bị có NFC, nơi kẻ tấn công có thể có được quyền truy cập đặc quyền vào thiết bị và sau đó khai thác các lỗ hổng.
Kẻ tấn công đứng giữa (MITM): kiểu tấn công này, hai bên bị lừa khi nghĩ rằng họ đang giao tiếp an toàn với nhau, trong khi kẻ tấn công thực sự đang đứng giữa họ và giao tiếp với cả hai. Kẻ tấn công chặn/bắt thông tin được gửi bởi một thiết bị và sau đó thiết lập một giao tiếp mới với thiết bị thứ hai. Sau đó, anh ta chặn/bắt được phản hồi của thiết bị thứ hai và gửi phản hồi của chính mình tới thiết bị đầu tiên. Kẻ tấn công phải làm nhiễu tín hiệu từ bên thứ nhất, đồng thời gửi dữ liệu sai lệch ra ngoài. Vấn đề ở đây là các thiết bị NFC có thể nhận và truyền dữ liệu cùng một lúc. Do đó, họ có thể kiểm tra trường tần số vô tuyến và phát hiện xung đột nếu tín hiệu nhận được không khớp với tín hiệu đã truyền và do đó phát hiện ra các tín hiệu gây nhiễu hoặc không mạch lạc. Thêm vào đó, NFC là một công nghệ giao tiếp ở khoảng cách vài centimet và kiểu tấn công này trên thực tế là không thể kết nối.
Hình 2. Tấn công lỗ hổng trên hệ thống thanh toán NFC
Nghe trộm, nghe lén: là cách tấn công rõ ràng nhất đối với truyền thông không dây. Sử dụng ăng-ten và thiết bị phân tích, kẻ tấn công có thể nghe bất kỳ dữ liệu nào được gửi giữa các thiết bị. Nhưng do giao tiếp ở trường RF và công suất hoạt động của các thiết bị có NFC thấp nên giao tiếp NFC khó bị nghe trộm hơn các công nghệ khác có phạm vi không dây lớn hơn. Việc nghe trộm một giao tiếp qua NFC khó chính xác do phụ thuộc nhiều vào yếu tố vật lý (tín hiệu RF được phát ra, ăng-ten được sử dụng, bộ thu tín hiệu) và môi trường (vị trí, tiếng ồn, vị trí của kẻ tấn công).
Các thẻ NFC có thể chứa các mối đe dọa độc hại theo cách tương tự như các trình duyệt Internet và URL độc hại. Ví dụ: người ta có thể giả mạo nội dung của các thẻ NFC hoặc thay thế các thẻ gốc để chuyển hướng người dùng đến trang web của kẻ tấn công, bắt đầu các cuộc gọi điện thoại, gửi tin nhắn (SMS) và lén cài đặt mã độc (ví dụ: Worms và Virus) trên NFC được kích hoạt thiết bị mà không cần sự đồng ý của người dùng thông qua truyền dẫn vô tuyến và bản thân nó không được bảo vệ khỏi bị nghe lén, những kẻ tấn công có thể sử dụng ăng-ten để phát hiện và đánh cắp dữ liệu được trao đổi giữa các thiết bị hỗ trợ NFC.
Giải pháp bảo mật
Giải pháp hiệu quả nhất để làm cho nó linh hoạt hơn đối với hầu hết các vấn đề bảo mật ở trên là thiết lập các phiên bảo mật qua giao diện vô tuyến NFC.
Mật mã là cơ chế chính nên được sử dụng để bảo vệ các ứng dụng thanh toán nhạy cảm và dữ liệu tài khoản của người dùng. Giải pháp đưa ra là sử dụng xác thực dựa trên chứng chỉ giữa PoS và bên thứ ba đáng tin cậy (TTP) (ví dụ: trình quản lý dịch vụ đáng tin cậy) và xác thực dựa trên khóa bí mật được chia sẻ giữa bên thứ ba và thiết bị có NFC (Hình 3). Giả định rằng khóa bí mật được chia sẻ giữa TTP và thiết bị di động (ví dụ: SKTTP_SE) được lưu trữ an toàn vào SE và các tính toán mật mã được thực hiện bên trong SE. Giả định rằng SE cung cấp khả năng chống giả mạo tốt và một số biện pháp bảo vệ phần cứng và phần mềm vật lý được sử dụng để gây khó khăn cho việc trích xuất hoặc sửa đổi thông tin cá nhân và khóa bí mật trong SE.
Hình 3. Xác thực dựa trên chứng chỉ và khóa bí mật được chia sẻ trước
Kết luận
Hệ thống thanh toán di động dựa trên NFC đã tạo ra mối quan tâm đáng kể đến các vấn đề bảo mật dữ liệu của người dùng NFC. Các vấn đề bảo mật chủ yếu liên quan đến thực tế là các thông số kỹ thuật NFC không chỉ ra các nguyên tắc bảo mật giao kết nối và do đó công nghệ này dễ bị tấn công bởi một loạt các lỗ hổng bảo mật. Bài viết đã trình bày một giải pháp bảo mật giúp tăng cường bảo mật cho các giao dịch NFC cũng như quyền riêng tư của người dùng. Các đề xuất này phù hợp với các thiết bị hạn chế về tài nguyên, chẳng hạn như phần tử bảo mật được nhúng vào các thiết bị hỗ trợ NFC.
Nguyễn Xuân Tiến