Tại sao sức mạnh xử lý và bộ nhớ trong thẻ thông minh rất hạn chế? [đóng cửa]


8

Tại sao các thẻ thông minh phổ biến như SLE5528 hầu như luôn bị giới hạn ở <16K bộ nhớ khả dụng và bộ xử lý 8 bit rất chậm? Yếu tố giới hạn làm cho nó không khả thi về mặt công nghệ / kinh tế để nâng cao các giới hạn này là gì?

EDIT: Có lẽ tôi nên cung cấp thêm một số nền tảng về lý do tại sao tôi hỏi câu hỏi này. Đối với một khách hàng tại nơi làm việc, chúng tôi phải tích hợp một mô-đun thẻ thông minh, về cơ bản hoạt động như một kho khóa (tương tự như mô-đun bạn có thể sử dụng trong các thư viện lập trình cấp cao như PKCS11). Chúng tôi liên tục đạt giới hạn của thiết bị này (không thể lưu trữ nhiều hơn một vài phím, không thể lưu trữ bất kỳ khóa nào lớn hơn 1k, phải chờ ít nhất 5 giây trước khi tìm nạp danh sách khóa, v.v.). Người duy nhất ở cuối nhà cung cấp của chúng tôi mà tôi có thể tiếp cận là một nhà cung cấp đã cho tôi câu trả lời "Đó là cách thẻ thông minh hoạt động". Không giống như không có thị trường thực sự để lưu trữ các khóa RSA có kích thước> 4K trên thẻ. Tôi muốn biết lý do thực sự đằng sau điều này.


Có thể thị trường thẻ có nhiều tài nguyên là nhỏ và không đủ sinh lợi cho nhà sản xuất. Trừ khi bạn hỏi một nhà sản xuất, câu hỏi này để lại rất nhiều suy đoán.
Nick Alexeev

Phân chia chức năng - thẻ thông minh không nhằm mục đích thực hiện nhiều hơn các nhiệm vụ cụ thể. Mọi người đã đề xuất các bản hack như chạy Android trên SIM, nhưng đó không phải là nơi phù hợp trong thiết kế tổng thể của sản phẩm để làm điều đó.
Chris Stratton

Vâng, tôi đã luôn tự hỏi tại sao chúng không chạy trên các pentium lõi octa ...
PlasmaHH

"Hạn chế" - so với những gì. Tại sao nó cần phải có thêm?
Andy aka

@ChrisStratton Tôi có thể hiểu điều đó, nhưng ngay cả trong lĩnh vực xác thực và kế toán, nó vẫn thiếu. Một ví dụ điển hình là thẻ OpenPGP, trong đó kích thước khóa rất hạn chế, cuối cùng đã khiến mọi người sử dụng thẻ nhớ USB cho mục đích ký PGP thay vì thẻ thông minh.
JDoe

Câu trả lời:


11

Tại sao các thẻ thông minh phổ biến như SLE5528 hầu như luôn bị giới hạn ở <16K bộ nhớ khả dụng và bộ xử lý 8 bit rất chậm? Yếu tố giới hạn làm cho nó không khả thi về mặt công nghệ / kinh tế để nâng cao các giới hạn này là gì?

Đó là giá thêm gây ra bởi các tính năng bảo mật làm tăng giá. Về mặt kỹ thuật, bạn không thể so sánh bộ nhớ không bay hơi của thẻ thông minh với bộ nhớ flash hoặc bộ nhớ thông thường. Ví dụ, có thể mở bộ nhớ flash bình thường, gắn dây vào khuôn và đọc nội dung bộ nhớ. Với thẻ thông minh, điều này là không thể (hoặc thực tế hơn: Nó phức tạp và đắt tiền đến mức không đáng có).

Điều này cũng đúng với CPU. CPU thẻ thông minh có rất nhiều tính năng bảo mật tích hợp không cần thiết cho CPU thông thường. Ví dụ, họ không được rò rỉ bất kỳ thông tin nào về mã mà họ thực thi theo lượng dòng điện họ vẽ hoặc rò rỉ bất cứ thứ gì bởi bức xạ RF.

Điều đó nói rằng, tất cả các rèm kênh bên này có một mức giá không chỉ trong chi phí sản xuất mà còn trong hiệu suất tính toán. Điều quan trọng hơn là phải an toàn hơn là nhanh chóng.

Điều đó nói rằng, thẻ thông minh có nhiều bộ nhớ hơn có sẵn. Bạn có thể mua chúng với bộ nhớ hơn 100kb. Chúng đắt tiền mặc dù.

Khuyến nghị trong các ý kiến ​​để thay đổi các khóa từ RSA sang ECC là một điều rất tốt. Kích thước chính của ECC so với RSA ở cùng mức bảo mật nhỏ hơn nhiều . Vì vậy, bạn nhận được nhiều hơn từ bộ nhớ không bay hơi hạn chế của bạn. ECC cũng có khả năng nhanh hơn.


6

Đó là cách làm việc của thẻ thông minh. Nếu bạn muốn có một thanh USB, bạn biết nơi để tìm nó.

Thẻ thông minh được thiết kế để bảo mật. Chúng được thiết kế để chống giả mạo . Chúng được thiết kế để lưu trữ bí mật và tự sát thay vì từ bỏ bí mật của chúng. Bạn không thể (với nỗ lực hợp lý, chặn các lỗi thực thi) trích xuất dữ liệu từ nó hoặc sao chép nó.

Thẻ thông minh (được cho là) ​​được thiết kế để nếu bạn cố gắng bỏ qua giao diện phần mềm và đọc trực tiếp bộ nhớ của chúng, bạn không thể. Các giao diện bên ngoài duy nhất là dòng điện và nối tiếp. Mọi thứ khác đều nằm trong lồng Faraday (để chống lại các phép đo khí thải) được bảo vệ bởi một lớp hóa chất ăn mòn (axit, tôi nghĩ vậy) để nếu bạn cố gắng tạo một lỗ trên lớp bảo vệ, chip (đặc biệt là bộ nhớ) sẽ bị hư hỏng ngoài sự phục hồi.

Con chip này được thiết kế để lấy năng lượng liên tục, để tránh rò rỉ thông tin thông qua mức tiêu thụ điện năng . Nó cũng được thiết kế để cho phép các hoạt động mất thời gian liên tục. Vì vậy, chip thẻ thông minh không có tối ưu hóa phần cứng như đường ống dẫn hoặc quản lý năng lượng để giảm tản nhiệt. Chip thông minh thường chứa các bộ phận không thực sự phục vụ cho bất kỳ mục đích nào, để làm cho lượng khí thải và năng lượng tăng lên liên tục hoặc khó phân tích hơn và làm cho kỹ thuật đảo ngược trở nên khó khăn.

Một số điều làm cho thẻ thông minh chậm hơn so với chip không nhạy cảm về bảo mật. Vì thẻ thông minh không có nguồn cung cấp năng lượng riêng, chúng cần ghi vào bộ nhớ flash khá thường xuyên - chúng không đủ khả năng để lưu trữ mọi thứ trong RAM. Nếu không, kẻ thù có thể cắt giảm sức mạnh vào thời điểm thuận lợi (cho anh ta). Phần mềm phải sử dụng thuật toán thời gian không đổi (để tránh các cuộc tấn công thời gian ), không phải là thuật toán nhanh nhất có thể. Phần mềm phải được viết với các khoản dự phòng, trong trường hợp đối thủ chiếu tia laser vào thẻ để lật một số bit trong bộ nhớ và đưa phần mềm vào trạng thái không thể truy cập được (vâng, đó là một cuộc tấn công thực sự).

Các biện pháp an ninh như thế này có một chi phí. Hơn nữa, vì các cuộc tấn công tiếp tục được cải thiện, thiết kế của các con chip phải theo kịp. Hầu hết các loại chip ngày càng trở nên mạnh mẽ hơn theo luật của Moore, nhưng với thẻ thông minh, các cải tiến kỹ thuật chủ yếu được hấp thụ bởi nhu cầu chống lại các cuộc tấn công mới.

thẻ có hỗ trợ 4k phím RSA. Nhưng chúng không phổ biến. Vài năm trước, Thẻ Java 3 đã được giới thiệu để hỗ trợ hầu hết tất cả các tính năng của ngôn ngữ Java; Tôi nghĩ rằng một thẻ có khả năng làm điều đó sẽ có khả năng ký với 4k RSA. Nhưng họ chưa thực sự thực hiện, một phần vì các cải tiến kỹ thuật được thực hiện bằng cách tăng cường bảo vệ an ninh, và một phần vì rất nhiều cải tiến kỹ thuật đã đi vào thẻ không tiếp xúc, đòi hỏi ít năng lượng hơn và thời gian phản hồi nhanh hơn.

Nhưng không có nhiều thị trường cho 4k RSA. Khi thẻ thông minh đã đạt đến điểm đó, ECC trở nên phổ biến rộng rãi. Bạn có thể nhận được mức bảo mật tương đương với 4k RSA với các khóa ECC nhỏ hơn nhiều. Hạn chế duy nhất của việc chuyển đổi từ RSA sang ECC là hỗ trợ thuật toán trong toàn bộ cơ sở hạ tầng của bạn, nhưng các thiết bị nhúng như thẻ thông minh là phần khó nhất: hầu như mọi thứ phía máy chủ đều hỗ trợ ECC hiện nay.

Nếu bạn thực sự cần thứ gì đó mạnh mẽ hơn, tồn tại các khóa USB với sức mạnh tính toán của Real Real, có thể lưu trữ khóa mật mã và thực hiện các hoạt động mã hóa với giao diện PKCS # 11. Các dongle này không có khả năng chống giả mạo vật lý gần giống như PKCS # 11 điển hình. Đó là một sự thỏa hiệp giữa bảo mật và hiệu suất.

Đọc thêm:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.