Chương 1 Tổng quan về mật mã hạng nhẹ 1.1 Sơ lược về mật mã hạng nhẹ (lightweight cryptograhy) Một xu hướng phát triển mới của ngành CNTT ngày nay là việc triển khai rộng rãi các thiết bị tính toán nhỏ. Các thiết bị này không chỉ thường xuyên được sử dụng trong các mặt hàng tiêu dùng mà còn tạo thành một phần không thể thiếu của cơ sở hạ tầng truyền thông phổ biến. Tuy nhiên, việc triển khai như vậy rõ ràng sẽ mang lại một loạt các nguy cơ bảo mật. Vì vậy, cần có các giải pháp mật mã cho việc triển khai trên các thiết bị tính toán nhỏ.
Ngoài ra, ngày càng nhiều các sản phẩm được nâng cấp thành các thiết bị thâm nhập khắp nơi nhờ năng lực tính toán nhúng. Quan hệ mật thiết giữa các thiết bị này dẫn đến triển vọng rằng "tính toán khắp nơi" (ubiquitous computing) sẽ là mô hình tiếp theo trong công nghệ thông tin. Tính toán khắp nơi (ubiquitous computing): Là một khái niệm kỹ thuật để chỉ một xu hướng trong việc phát triển các phương pháp tính toán. Thay vì chúng ta tính toán xử lý trong một chiếc máy tính để bàn hay máy tính xách tay của mình, thì kỹ thuật này sẽ cho phép chúng ta đưa việc tính toán vào chính môi trường sống của mình, hay nói một cách đơn giản là việc tính toán xử lý sẽ được thực hiện mọi lúc mọi nơi [4].
Các thiết bị thâm nhập khắp nơi đã phát triển bao gồm không chỉ máy tính xách tay, notebooks và điện thoại thông minh (smartphones) mà còn bao gồm máy tính bảng, "thiết bị có thể mang theo" (wearable devices), hệ thống chiếu sáng, dụng cụ và cảm biến, vv [4]. Việc triển khai hàng loạt của các thiết bị thâm nhập khắp nơi hứa hẹn đem đến nhiều lợi ích như chi phí “hậu cần” thấp hơn, các chuỗi cung cấp được tối ưu hoặc có thêm các dịch vụ dựa trên xác định vị trí. Ví dụ, công nghệ RFID có thể là công nghệ cho phép đối với liên mạng của các vật dụng (IOT - internet of things). Về cơ bản, các thẻ RFID bao gồm một hệ thống phát nhận tín hiệu và một anten có khả năng nhận dữ liệu từ xa, từ một máy chủ RFID hoặc thiết bị đọc.
Nhìn chung, các thẻ RFID có thể được chia thành các thiết bị chủ động và bị động: các thẻ chủ động được trang bị nguồn cung cấp năng lượng riêng (ví dụ ở dạng pin), trong khi các thẻ bị động chỉ dựa vào năng lượng của tín hiệu mạng được truyền đi bởi thiết bị đọc. Do vậy, các thiết bị RFID bị động không chỉ rẻ hơn, mà còn có kích thước chíp nhỏ hơn và có chu kỳ sống lâu hơn so với các thẻ 10 TIEU LUAN MOI download : skknchat@gmail.com RFID chủ động. Tính thâm nhập khắp nơi của thiết bị RFID dẫn đến việc triển khai hàng loạt và việc triển khai hàng loạt lại kéo theo các ràng buộc giảm giá thành đối với công nghệ được sử dụng. Các cài đặt phần mềm thông thường bị ràng buộc về dung lượng của bộ xử lý, bộ nhớ và năng lượng.
Vấn đề năng lượng có thể được giải quyết trong quá trình thiết kế bằng cách tránh các truy cập tiêu thụ năng lượng tới bộ nhớ EEPROM hoặc bộ nhớ Flash và bằng cách giảm các chu kỳ đồng hồ được yêu cầu. Các đòi hỏi giảm chi phí đưa đến các yêu cầu năng lực, năng lượng và diện tích cần phải giữ cực tiểu đối với ASIC. Một thẻ RFID giá thành thấp, đầy đủ tính năng, có thể có từ 1.000 GE (Gate Equivalent), trong đó, các thành phần an toàn chỉ có khoảng 200 - 2. Bên cạnh những lợi ích ở trên, tính toán khắp nơi cũng chứa đựng nhiều hiểm họa.
Nhiều ứng dụng yêu cầu cao về độ an toàn, chẳng hạn như các mạng cảm biến không dây cho các ứng dụng quân sự, tài chính hoặc tự động hóa. Một nhân tố làm tăng nguy cơ mất an toàn là các thiết bị thâm nhập khắp nơi thường triển khai trong một môi trường không được kiểm soát, là một môi trường mà đối phương có thể truy cập vật lý tới thiết bị hoặc điều khiển thiết bị. Điều đó làm tăng thêm khả năng tấn công vật lý vào các kịch bản tấn công tiềm năng, nhất là các tấn công kênh kề, chẳng hạn như phân tích năng lượng vi sai/phân tích năng lượng tương quan hoặc các tấn công bức xạ điện từ. Thực tế đã chỉ ra rằng, các giải pháp an toàn có sử dụng một thuật toán an toàn về mặt mật mã, nhưng được cài đặt không có các biện pháp chống tấn công kênh kề thì có thể dễ dàng bị phá bởi các tấn công như vậy.
Vì thế, khả năng an toàn của bản thân việc cài đặt cần được hết sức chú trọng [8]. Chính sự phát triển của tính toán khắp nơi, mà người ta cần những thuật toán hạng nhẹ để có thể cài đặt trong các thiết bị thâm nhập khắp nơi với kích thước nhỏ và năng lực tính toán ở mức độ thích hợp. Mật mã hạng nhẹ hướng tới việc tạo ra các giải pháp cài đặt rất gọn nhẹ nhưng không làm giảm quá nhiều về tính an toàn. Thực tế, vấn đề chính của mật mã hạng nhẹ là “thỏa hiệp” giữa độ an toàn và tính hiệu quả trong cài đặt của các thuật toán mật mã và được thể hiện trong hình 1 [1].
Về độ an toàn, mục tiêu xây dựng các hệ mã hạng nhẹ là thiết kế một hệ mật không quá yếu (và không với mục đích thay thế các thuật toán mã truyền thống khác), nhưng phải đủ an toàn (tất nhiên không thể kháng lại được các đối phương có đủ mọi điều kiện), chi phí (cài đặt, sản xuất) thấp và một yêu cầu quan trọng đối với các thiết bị kiểu này là tính gọn nhẹ. Tóm lại, cần xây dựng một hệ mật không phải tốt nhất, mà phải cân bằng giữa giá thành, hiệu suất và độ an toàn. Tuy nhiên, rất khó để có thể tối ưu hóa 11 TIEU LUAN MOI download : skknchat@gmail.com Hình 1: Sự thỏa hiệp trong thiết kế mật mã hạng nhẹ cả 3 khía cạnh trên [1]. Về hiệu quả trong cài đặt, thường được đánh giá qua các độ đo sau: diện tích bề mặt (Area), điện năng tiêu thụ và thông lượng.
Trong đó, tỷ lệ thông lượng với diện tích, được dùng làm độ đo cho tính hiệu quả phần cứng [1]. Có rất nhiều thuật toán mật mã hạng nhẹ đã được đề xuất trong thời gian gần đây. Thay vì thiết kế ra một mật mã hoàn toàn mới thì hầu hết các thiết kế được lấy ra từ các mật mã truyền thống nhưng với một vài thay đổi nhỏ. Thuật toán mật mã hạng nhẹ (giống như bất kỳ mật mã nguyên thủy khác) có thể được chia thành các loại như sau: 1.
Mật mã khóa đối xứng hạng nhẹ 2. Mật mã khóa công khai hạng nhẹ 3. Hàm băm hạng nhẹ Một nhược điểm đã được biết đến của các nguyên thủy mật mã khóa công khai là chúng đòi hỏi chi phí tính toán lớn hơn so với các nguyên thủy mật mã khóa đối xứng. Việc thiết kế được một thuật toán mật mã khóa công khai thuộc hạng nhẹ khó hơn so với việc thiết kế ra một thuật toán mật mã khóa đối xứng hạng nhẹ.
Với nhu cầu ứng dụng cho các thiết bị có tài nguyên hạn chế thì việc triển khai một thuật toán khóa đối xứng được coi là phù hợp hơn. Mật mã khóa đối xứng hạng nhẹ gồm có Mã khối hạng nhẹ và Mã dòng hạng nhẹ. Trong luận văn này chúng ta sẽ tập trung vào mật mã khối hạng nhẹ. 12 TIEU LUAN MOI download : skknchat@gmail.com Liên quan đến mật mã khối, chúng ta biết rằng thiết kế DES được chú ý với hiệu suất phần cứng tốt.
Với tình trạng giới hạn của các mạch bán dẫn vào đầu những năm 1970, thì không có gì đáng ngạc nhiên khi DES có được tính chất thực hiện rất cạnh tranh. Thực hiện của DES đòi hỏi khoảng 3000 GE, trong khi triển khai nối tiếp có thể được thực hiện khoảng 2310 GE [4] và thực hiện mã hóa một bản rõ trong vòng 144 chu kỳ đồng hồ. Đây được coi là một kết quả thực hiện phần cứng tốt nhất của DES. Hơn nữa, để giảm độ phức tạp của DES, bằng cách thay thế 8 hộp-S ban đầu bởi một cái mới duy nhất, với việc loại bỏ 7 hộp-S và bộ ghép kênh (multiplexer) ta có được một biến thể mới của DES là DESL [8] và kết quả thu được có kích thước chíp giảm 20% so với DES (1850 GE so với 2310 GE).
Việc lựa chọn hộp-S một cách cẩn thận và được tối ưu hóa cao để DESL có thể chống lại các cuộc tấn công thông thường như thám mã vi sai và tuyến tính và tấn công Davies-Murphy. Tuy nhiên, vấn đề bảo mật của DES [8] và DESL [8] bị hạn chế bởi kích thước khóa là 56 bít, mặc dù có thể phù hợp cho các ứng dụng hạn chế. Trong trường hợp cần có mức bảo mật cao hơn thì có thể áp dụng phương pháp làm trắng khóa (key whitening) ta có mật mã DESXL [8] với mức bảo mật tốt. Nhưng DESXL [8] yêu cầu 2170 GE và mã hóa một bản rõ trong 144 chu kỳ đồng hồ.
Với yêu cầu diện tích đó của DESXL không phù hợp với các thiết bị hạn chế [8]. Trong một bài báo mang tính bước ngoặt của mật mã khối hiện đại [10] đã đưa ra một phân tích rất chi tiết về việc thực hiện AES với chi phí thấp [26]. Tuy nhiên, các nguồn lực cần thiết cho mật mã này là khoảng 3600 GE. Thêm nữa ta có các yêu cầu thực hiện cho Tiny Encryption Algorithm TEA [34, 35] vẫn chưa được biết, nhưng có một ước tính sơ bộ là TEA cần ít nhất 2100 GE và XTEA cần ít nhất là 2000 GE.
Ngoài ra, có bốn đề xuất dành riêng cho việc thực hiện chi phí thấp là mCRYPTON [21], HIGHT [17], SEA [33] và CGEN [31], mặc dù những đề xuất này không phải là dự định chủ yếu như mật mã khối. MCRYPTON có một đánh giá phần cứng chính xác và yêu cầu khoảng 2949 GE, trong khi SEA cần khoảng 2280 GE. Tuy nhiên, theo một số chuẩn mã khối như chuẩn mã khối hạng nhẹ ISO/IEC 29192-2 đã đưa ra thuật toán mã khối PRESENT được đánh giá rất cao trên phương tiện cài đặt cứng hóa [18]. Thiết kế PRESENT là một cách tiếp cận cho mật mã hạng nhẹ với thực hiện kiến trúc dựa theo vòng PRESENT yêu cầu khoảng 1570 GE.
Thuật toán mã khối PRESENT sẽ được nghiên cứu và tìm hiểu chi tiết trong chương 2. 13 TIEU LUAN MOI download : skknchat@gmail.