Lượt xem: 6885 | Gửi lúc: 01/11/2011 15:02:34
Bookmark and Share

Kênh ngầm Trojan dạng phần cứng

Xu hướng tách khâu thiết kế ra khỏi quy trình sản xuất trong công nghiệp bán dẫn đang tạo ra những mối nguy cơ tiềm ẩn từ các cơ sở sản xuất thiếu tin cậy. Những phần cứng ác ý có thể được bí mật chèn vào các vi mạch tại nơi sản xuất để tạo ra những “cửa hậu” ẩn nhằm khai thác trái phép thông tin mật.

Trong phần này của bài báo giới thiệu hai cách khác nhau để thực thi các Kênh ngầm Trojan dạng phần cứng (TSC). Những ví dụ này chứng minh cho sự  mềm dẻo về khái niệm TSC và sự phong phú của các thiết kế sẵn có cho kẻ tấn công. Mặc dù các TSC có xu hướng được cài đặt trên ASIC, nhưng thực tế chúng vẫn có khả năng được thực hiện trên FPGA. Tuy nhiên, những cài đặt FPGA này chỉ mang tính minh họa vì FPGA (do các phần tử logic hạt thô của chúng) không có khả năng “bắt chước” đầy đủ các tùy chọn thiết kế và các đặc trưng cấu trúc được áp dụng cho ASIC.

1. Kênh ngầm Trojan dựa trên lý thuyết trải phổ
Thiết kế TSC đầu tiên là kênh ngầm phù hợp với các khái niệm truyền thông trải phổ (cũng được biết như đa truy cập phân chia mã - CDMA) để phân bố rò rỉ của từng bit trên nhiều chu trình đồng hồ. Các cơ sở của mã hóa CDMA rất giống với các mã dòng thông thường. Một dãy bit (mã) được sử dụng để điều chế các bit thông tin nhờ phép XOR. Ngược lại với khái niệm mã dòng, CDMA sử dụng nhiều bit mã để truyền từng bit thông tin, tức là các bit mã được thay đổi nhanh hơn nhiều so với các bit thông tin. Chiến lược này sẽ trải thông tin chứa trong một bit duy nhất thành ra dọc theo dãy bit (hoặc mã) dài hơn, dãy này cho phép truyền và khôi phục thông tin trong các kênh dưới ngưỡng (subliminal channels) thậm chí dưới cả mức nhiễu. Tính chất này làm cho phương pháp CDMA được lựa chọn để thực thi các kênh liên lạc “ẩn” trong lĩnh vực  quân sự. Phép giải điều chế được sử dụng để giải mã các kênh CDMA để giải thích cách thức CDMA có thể thiết lập được các kênh trong vùng dưới  nhiễu (sub - noise domain) này. Quá trình giải mã sử dụng bộ giải điều chế tương quan (tương đồng với phân tích năng lượng tương quan) bắt đầu bằng việc bộ giải điều chế sử dụng các
phép đo năng lượng liên tiếp và tương quan chúng với dãy mã đã được đồng bộ. Tiếp theo, nếu mã chuẩn xác được sử dụng thì dẫn đến một hệ số tương quan tương đối với các số 0 đã được mã hóa và một hệ số tương quan âm cho các số 1 đã được mã hoá. Càng nhiều vết năng lượng được bộ giải điều chế phân tích thì càng nhiều “lợi ích xử lý” (process gain) (nó là tỉ số độ dài dãy mã với độ dài của thông tin bit trong mã hoá trải phổ) sẵn sàng vượt qua SNR giải điều chế thấp. Lưu ý rằng kênh CDMA chỉ có thể được giải điều chế nhờ sử dụng dãy mã chuẩn xác và việc giải điều chế cùng với các dãy mã khác nhau sẽ không dẫn đến tương quan đáng kể bất kỳ. Bởi vậy có thể truyền các bit trên nhiều kênh CDMA đồng thời, vì từng kênh CDMA là không phân biệt được nhiễu đối với các kênh khác.
TSC khai thác phương pháp này bằng cách sử dụng một bộ tạo dãy giả ngẫu nhiên (PRNG) để tạo ra một dãy mã CDMA. Dãy này sau đó được sử dụng để XOR với các bit thông tin bí mật. Dãy đã được điều chế được chuyển tới mạch rò rỉ (LC- leakage circuit) để thiết lập kênh CDMA ẩn trong kênh ngầm năng lượng. Trong mô hình này, ưu thế của kẻ tấn công là biết thiết lập chính xác bộ tạo mã (véc tơ khởi đầu và hệ số phản hồi ngược của PRNG đã được cài đặt), là những yếu tố được yêu cầu để đoán ra dãy mã. Việc biết tất cả các chi tiết của dãy PRGN đã được sử dụng sẽ tạo cho kẻ tấn công ưu thế cần thiết so với những người đánh giá, vì người đánh giá không thể phân biệt giữa kênh ẩn và nhiễu. Để giải mã kênh ẩn này, kẻ tấn công thực hiện giải điều chế tương quan tại các điểm đo của các chu trình đồng hồ liên tiếp như đã mô tả ở trên. Khi đánh giá rò rỉ kênh ngầm của thiết bị, việc rò rỉ bởi TSC sẽ không bị phát hiện trong những cuộc tấn công lên lõi IC nguyên thuỷ. Lưu ý rằng, tùy thuộc vào mạch tạo ra sự rò rỉ, có thể cần xem xét ánh xạ của bộ mã được sử dụng đối với một mô hình năng lượng thích hợp trước khi thực hiện giải điều biên dựa trên tương quan. Để khuyếch đại chất lượng của các kết quả, kẻ tấn công có thể lặp lại các phép đo nhiều lần và lấy trung bình các vết tương ứng để giảm ảnh hưởng tổng thể của nhiễu.
Kết quả thí nghiệm: Để chứng tỏ khả năng áp dụng được của TSC đã đề xuất, các tác giả cài đặt hệ mật AES đầy đủ và một TSC sử dụng thanh ghi dịch phản hồi tuyến tính (LFSR) trên một card FPGA Xinlinx Spartan-3E chạy với tần số 50MHz; sử dụng một điện trở cảm biến dòng theo dãy (serial current-sensing resistor) 1 W để dò mức tiêu thụ năng lượng của lõi FPGA, tương tự với những thiết lập thí nghiệm đã được mô tả tại một số bài báo khác. Các vết năng lượng thoáng qua (transient power traces) được đo bởi máy hiện sóng Agilent Infinium 54832D. Thí nghiệm này sử dụng một kênh CDMA duy nhất để truyền từng bit khóa. Mạch tạo rò rỉ (LC) được thực thi bằng cách nối 8 phần tử flip - flop giống hệt nhau với đầu ra duy nhất của cổng XOR để bắt chước một điện dung lớn. Để giải điều chế kênh CDMA, kẻ tấn công cũng biết rằng các flip - flop không để lộ ra một tín hiệu trọng số Hamming tốt. Bởi vậy, hành vi tiêu thụ năng lượng của mạch rò rỉ đã được mô hình hoá để ánh xạ mã CDMA vào mạch rò rỉ. Kẻ tấn công sử dụng hai dãy mã khác nhau thu được cho giải điều chế. Hệ số tương quan cao hơn sẽ nhận biết các bit đã thực sự được truyền.

Khả năng phát hiện: Rò rỉ bổ sung của TSC cảm sinh nhờ trải phổ này chỉ phụ thuộc vào khóa và một bộ tạo mã cố định. Người đánh giá có thể khai thác điều này, bằng cách trước hết trung bình hóa nhiều vết sử dụng một đầu vào cố định và sau đó, bước thứ hai là trung bình hóa trên tập khác của các vết, nơi chỉ có một bit khóa duy nhất được lật (flipped). Bằng việc tính sai khác của các giá trị trung bình của các vết này, kẻ tấn công có thể lấy đủ thông tin để khôi phục dãy mã đã được sử dụng để làm lộ bit khóa đã được bật (toggled). Để củng cố TSC đã được đề xuất chống lại phương pháp này chỉ nên truyền tổ hợp của các bit, sao cho việc thể hiện tiếp theo bằng các phương trình đại số là cần thiết để hiểu và sử dụng TSC. Phương pháp thay thế để ngăn ngừa người đánh giá sử dụng trái phép TSC này là tạo ra sự phụ thuộc lẫn nhau giữa đầu vào bản rõ và véc tơ khởi đầu của PRNG, nghĩa là tạo ra giá trị khởi đầu của PRNG dựa trên mạch tổ hợp từ bản rõ hoặc đưa vào pha khởi động trước đó và giữ nhịp (clock) tất cả các bit bản rõ thông qua PRNG nhờ một thanh ghi dịch và cổng XOR bổ sung (tương tự như khởi đầu của mã dòng A5/1). Mặc dù cách tiếp cận này đòi hỏi một mạch logic phụ và/hoặc các chu kỳ đồng hồ thêm, nó bắt buộc người đánh giá phải nỗ lực nhiều hơn để tiếp cận được các kênh truyền thông của Trojan.

2. Kênh ngầm Trojan sử dụng các giá trị đầu vào đã biết
Đề xuất thứ hai là một TSC “tinh tế” có khả năng làm lộ thông tin bí mật đã nhận được khi thực hiện lược đồ khóa của mã khối. Chính xác hơn, mục này minh hoạ một tấn công lên mã khối AES-128 và lược đồ khóa tương ứng của nó. Trong khi TSC tuân theo lý thuyết trải phổ đã sử dụng các rò rỉ liên tiếp để cài đặt một kênh CDMA thì thiết kế này được tạo ra bởi các phân tích kênh ngầm kinh điển. Ý tưởng là nhằm tạo ra rò rỉ một cách “nhân tạo” các trạng thái trung gian trong lược đồ khóa mà phụ thuộc vào các bit đầu vào và các bit khóa đã biết, mà bình thường sẽ không xảy ra trong tiến trình hoạt động của mã pháp. Sau đó những giá trị này có thể được giới tấn công phân tích năng lượng sử dụng. TSC được đề xuất sử dụng trạng thái trung gian nhân tạo chỉ gồm 1 bit duy nhất của rò rỉ được tạo ra. Chúng tôi đã đánh giá một số hàm  để tổ hợp các bit đầu vào với các bit khóa nhằm tìm ra phương pháp mà:
1. Về lý thuyết cho phép phân biệt dễ dàng các dự đoán bit khóa đúng và các dự đoán bit khóa sai trong một phân tích năng lượng sai khác sử dụng hệ số tương quan
2. Chỉ sử dụng một số bit đầu vào giới hạn (#16)
3. Đòi hỏi một số ít cổng logic (< 100)
4. Không dẫn đến một tương quan có thể khai thác được bất kỳ trong trường hợp các giá trị trung gian bất kỳ mà lõi mật mã (crypto - core) xử lý trong vận hành bình thường của nó bị tấn công.
Để minh hoạ, chọn một tổ hợp AND-XOR mà dựa trên cho tới 16 bit đầu vào, nhưng các kết quả dễ bị phát hiện. Hàm này sử dụng các phép hội AND để tổ hợp từng cặp mỗi bit khóa với bit đầu vào khác. Đầu ra của các cổng AND sau đó kết hợp thành giá trị trung gian bị rò rỉ bằng cách XOR tất cả chúng lại với nhau.
giá mạch TSC bằng cách cài đặt lược đồ khoá AES và chỉ dựa trên 8 bit bản rõ và 8 bit của thanh ghi khóa vòng bên trong lược đồ khoá AES-128. Lược đồ chỉ ra một mạch TSC tấn công 8 bit của lược đồ khoá AES. Nó bao gồm một mạch tổ hợp lấy một tập của các bit bản rõ và khoá vòng như là các đầu vào mà được kết hợp vào trong một bit đầu ra duy nhất, cuối cùng được bộc lộ thành một dấu hiệu năng lượng nhờ một mạch rò rỉ LC. Chú ý rằng rất nhiều cài đặt thực tế lưu trữ đầu vào bản rõ ở trạng thái mà sẽ được ghi đè lên trong các vòng tiếp sau. Bởi vậy, TSC có thể đòi hỏi thêm một thanh ghi phụ để lưu các bit bản rõ đã được sử dụng cho toàn bộ thời gian chạy của tấn công.
Trong thiết lập này các tác giả đã tận dụng thêm một mạch rò rỉ (LC), mạch này có thể được cài đặt rất hiệu quả cùng các FPGA (mặc dù mục tiêu chính là các TSC trên ASIC, nên đây có thể là giải pháp cho trường hợp mà FPGA là thiết bị mục tiêu). Các tác giả đã cấu hình một LUT duy nhất của FPGA như một thanh ghi dịch 16 bit và tải nó cùng với một dãy đan xen khởi đầu của các bit 1 và 0. Thanh ghi dịch này chỉ hoạt động trong trường hợp đầu vào của mạch rò rỉ là 1, nó đem lại tiêu thụ năng lượng động bổ sung. Tính cả mạch logic từ một mạch tổ hợp thì kích thước tổng thể của TSC đã được cài đặt chỉ gồm 14 LUT chiếm tổng tất cả 7 lát (slice) (tương đương 29 cổng khi được cài đặt bằng ASIC).
Các kết quả thí nghiệm cũng chỉ ra rằng việc phục hồi thông tin của TSC có thể dễ dàng đạt được bằng các phương tiện phân tích năng lượng tương quan.


Lược đồ chỉ ra một mạch TSC tấn công 8bit của lược đồ khó AES

Khả năng bị phát hiện: Giải pháp TSC này cũng có thể bị phát hiện và khai thác bởi việc đánh giá thiết bị công phu. Trong trường hợp này, người đánh giá một lần nữa sử dụng biến thể (variations) của các vết mà chỉ khác nhau tại các bit bản rõ duy nhất hoặc các bit khoá duy nhất. Điều này cho phép người đánh giá phân biệt được các bit khóa nào và các bit bản rõ nào đã được sử dụng trong các hàm tổ hợp. Trong khi bật (flipping) các tổ hợp của các bit, việc phân tích hành vi tương ứng của các TSC cuối cùng sẽ cho phép thiết kế ngược hàm tổ hợp đã được sử dụng.
Để TSC ít bị tổn thương bởi các chiến lược phát hiện này, các tác giả đề xuất mở rộng hàm tổ hợp đã được áp dụng bằng phép cách XOR thêm các bit bản rõ, các tổ hợp logic của các bit bản rõ, các bit khóa hoặc thậm chí các tổ hợp của các bit khóa. Bằng việc đưa vào các phương trình tuyến tính hoặc phi tuyến phức tạp như vậy, việc thể hiện của các sai khác quan sát được bởi người đánh giá có thể  phức tạp đến mức không thể thực hiện được. Một cải tiến như vậy cũng giúp kẻ tấn công phát hiện ra một khoá mà chỉ gồm các bit 0. Hiện nay, việc phát hiện ra khoá 0 được dựa vào sự vắng mặt của tương quan bất kỳ đối với tất cả các dự đoán khoá khác. Đó là một tính chất không mong muốn.
Vấn đề cần tiếp tục nghiên cứu: Công trình này giới thiệu khái niệm chung về các kênh ngầm Trojan thực tế và mô tả một số cải tiến cả về phương diện cài đặt và phát hiện. Những vấn đề chưa được đề cập tới và cần tiếp tục nghiên cứu là: Tính bị phát hiện và tính sẵn sàng của các TSC  đối với các bên thứ ba và những nhà đánh giá vẫn chưa được xác minh đủ về mặt thực nghiệm. Các thiết kế sắp tới của các TSC trên ASIC phải được kiểm tra và chú ý đặc biệt đến các tính chất này, sao cho những đe dọa của chúng được hiểu và xét đoán rõ hơn. Các cải tiến cho các TSC bao gồm những hàm tổ hợp nhỏ hơn và tinh vi hơn, các mạch rò rỉ tốt hơn, và các phương pháp dễ dàng hơn cho việc tạo bộ mã CDMA. Ví dụ, thanh ghi dịch của TSC phụ thuộc đầu vào có thể bị bỏ qua bằng cách dịch chuyển các nội dung của thanh ghi dịch chứa các bit bản rõ. Mạch rò rỉ thậm chí có thể bị bỏ qua hoàn toàn bằng cách sử dụng một hàm tổ hợp với hành vi rò rỉ được thiết kế tốt. Với ý  tưởng đầu tiên thực hiện TSC trên ASIC có những thí nghiệm đã được thực hiện sử dụng mô phỏng mức mạch (circuit-level) của TSC dựa trên CDMA được cài đặt trong một mô hình bán dẫn dự báo 45 nm. Những thí nghiệm này đồng thời cũng chỉ ra tính hiện thực cho quan điểm về các thực thi phần cứng thực sự bên ngoài phạm vi có hạn của FPGA do các phần tử logic hạt thô của nó. Bởi vậy, các cài đặt ASIC của các TSC yêu cầu ít cổng hơn nhiều so với mạch logic cần cho các thí nghiệm FPGA ban đầu.

3. Kết luận
Các kênh ngầm Trojan tạo nên một lớp ‘tinh tế” các Trojan ở thể cứng có thể tránh được các chiến lược phát hiện của các nhà đánh giá. Những phương pháp đã biết để phát hiện các mạch Trojan ở thể cứng thông thường như kiểm tra quang học các tầng kim loại hoặc lấy “dấu vân tay” các vi mạch, phần lớn sẽ thất bại khi áp dụng với các TSC do kích thước cực kỳ nhỏ của chúng. TSC cũng không đòi hỏi nối trực tiếp tới các chân I/O và không làm ảnh hưởng hành vi chức năng của IC nguyên thủy. Vì TSC chỉ phụ thuộc vào các đầu vào của cài đặt mật mã chịu tấn công, không gian thiết kế của các TSC cho phép vô số các tính chất TSC có tiềm năng. Hai dạng của các TSC đã được minh họa trong công trình này chỉ ra những khác biệt đáng kể đó và tạo ra các lược đồ phát hiện và ứng dụng TSC khác nhau hoàn toàn. Hơn thế nữa, các mức độ tự do bao gồm việc lựa chọn: Các kênh vật lý (năng lượng, bức xạ điện từ, thời gian, nhiệt,...); Các hàm tổ hợp; Các trạng thái bên trong, xác định phụ thuộc thời gian và phụ thuộc đầu vào của rò rỉ; Các mạch rò rỉ phụ thuộc đầu vào của chúng hoặc các chuyển tiếp (transitions) đầu vào của chúng.
Các TSC được cài đặt trong quá trình sản xuất ở các cơ sở bán dẫn không đáng tin cậy tạo ra những nguy cơ nghiêm trọng đối với tất cả các loại môđun bảo mật. Dựa vào tính linh hoạt của các TSC cùng với các phương pháp che dấu ngày càng tinh vi hơn, các nhà đánh giá cần tiếp tục nghiên cứu để phát triển các lược đồ phát hiện khả thi hơn nhằm nhận diện các thế hệ TSC tiếp theo.

Các TSC dựa trên CDMA là công cụ vạn năng làm rò rỉ thông tin, độc lập với các thuật toán mật mã được sử dụng. Thông tin khác, ngoài khóa, có thể bị rò rỉ qua kênh ngầm CDMA. TSC dựa trên CDMA về mặt tiềm năng có thể ứng dụng với mục đích xây dựng.

Vì TSC có thể được xem như một dạng của mã hóa vật lý, người ta có thể tưởng tượng tạo ra các ứng dụng và giao thức mật mã mà sử dụng TSC như các khối để xây dựng. TSC có thể được sử dụng để chống giả mạo theo một cách thức trực tiếp: Các IC đích thực có thể tự nhận dạng qua TSC bằng cách gửi số ID, trái lại những bản sao bất hợp pháp nhưng hoạt động đúng  tính năng  cũng sẽ không có khả năng đó. Nó còn có thể được dùng để tải thông tin trạng thái về vi mạch để hỗ trợ khả năng có thể kiểm tra của vi mạch.

TS. Trần Đức Lịch (dịch)