Điểm:0

Có thể xảy ra rò rỉ khóa riêng RSA nếu tôi vừa ký vừa giải mã không?

lá cờ id

Có thể rò rỉ dữ liệu khóa riêng nếu yêu cầu ký kiểm soát của kẻ tấn công không?

Mọi người đều biết $N$$E$ bởi vì chúng là của công chúng.

Máy chủ của tôi được thiết kế để giải mã yêu cầu đến được mã hóa bằng khóa chung.

Tạo dấu hiệu và cho dữ liệu được giải mã có SHA-2 trả lại dấu hiệu RSA cho dữ liệu đó.

Có thể kẻ tấn công có thể tìm hiểu khóa riêng của tôi không?

Tôi đang thử nghiệm điều này trong hội thảo địa phương của tôi cho mục đích giáo dục.

Tôi đang sử dụng tin nhắn mã hóa khóa công khai PKCS#1 cho yêu cầu gửi đến; dữ liệu được giải mã bằng khóa riêng của tôi và nó có SHA-2 nên tôi chỉ cần ký và trả lại dữ liệu đã ký cho khách hàng.

Ví dụ trong Python:

Tạo cặp khóa và tin nhắn:

tin nhắn = struct.pack('>IIII', 0, 0, 0, 1)
(pub, priv) = rsa.newkeys(512) //chỉ là ví dụ, tôi biết không ai sử dụng 512 bit

Yêu cầu đến:

mã hóa = pkcs1.encrypt(tin nhắn, quán rượu) 

Hoạt động của máy chủ:

đã giải mã = ​​pkcs1.decrypt(đã mã hóa, riêng tư)
chữ ký = pkcs1.sign(đã giải mã, riêng tư, 'SHA-256')

và trả lại câu trả lời.

fgrieu avatar
lá cờ ng
Tấn công kênh phụ (thời gian, phân tích sức mạnh..) có bị gạt sang một bên không? Có thể giả sử khóa riêng $(N,D)$ chỉ được sử dụng để tính hàm $X\mapsto X^D\bmod N$ không? Nếu có cho cả hai: không có cách nào biết được khóa riêng (hoặc khóa đang hoạt động) có thể bị rò rỉ. Nhưng có lẽ bạn cũng quan tâm đến việc máy chủ bị lạm dụng để giải mã hoặc ký tên, có thể có các cuộc tấn công cho phép điều đó. Độc lập: xin vui lòng làm rõ. Sử dụng "chữ ký" khi nó có nghĩa là một phần dữ liệu và "ký tên" cho hành động tạo chữ ký. Những gì được băm với SHA2? Chính xác thì kết quả được sử dụng như thế nào? Việc mã hóa và ký có sử dụng phần đệm không?
rockymaster avatar
lá cờ id
tôi đã cập nhật câu hỏi của mình và thêm mẫu.
fgrieu avatar
lá cờ ng
Vẫn còn nhiều chỗ cần cải thiện về hình thức: _"tạo dấu và cho dữ liệu được giải mã có SHA2 trả lại dấu rsa cho dữ liệu đó"_ -> _ký dữ liệu được giải mã bằng phần đệm bằng SHA2 và trả về chữ ký tương ứng_; mã [định dạng](https://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks), có lẽ là [Mathjax](https://crypto.meta.stackexchange.com /a/1070/555). Và nó thiếu điều cần thiết: cuộc tấn công kênh phụ (thời gian, phân tích sức mạnh ..) trên các thư viện tiền điện tử Python có được coi là cuộc tấn công hợp lệ không? Chúng có thể "rò rỉ dữ liệu khóa cá nhân".
Điểm:1
lá cờ ng

Từ ví dụ, có vẻ như mã hóa và chữ ký sử dụng một số chế độ đệm trong PKCS#1; rất có thể RSAES-PKCS1-v1_5 để mã hóa và RSASSA-PKCS1-v1_5 với SHA-256 cho chữ ký.

Có thể rò rỉ dữ liệu khóa cá nhân?

Theo như chúng tôi biết, không, thực tế là nó không thể giải mã một tin nhắn và ký nó bằng cùng một khóa rò rỉ dữ liệu khóa riêng. Điều đó độc lập với các sơ đồ đệm chính xác được sử dụng để mã hóa và chữ ký: chúng tôi không biết cách nào sử dụng khóa riêng RSA $(n,d)$ giới hạn trong máy tính $x\mapsto x^d\bmod n$ trong hộp đen không có kênh phụ có thể rò rỉ dữ liệu khóa riêng.

Trong số những điều tương tự có thể xảy ra:

  • Việc triển khai có thể làm rò rỉ khóa riêng bởi một kênh phụ; chẳng hạn như chương trình trojan thực tế đang chạy trên nền tảng hoặc Phân tích công suất vi sai. Có nhiều kênh phụ khác để sợ hãi.
  • Việc triển khai giải mã RSAES-PKCS1-v1_5 có thể nằm trong số nhiều người dễ bị tấn công bởi một số biến thể của cuộc tấn công Bleichenbacher. Điều đó có thể cho phép biến máy chủ thành một nhà tiên tri cho phép (có đủ truy vấn) tính toán hàm $x\mapsto x^d\bmod n$ cho tùy ý $x$, đưa ra một (rất chậm) tương đương với việc biết khóa riêng cho kẻ tấn công có thể giao tiếp với máy chủ.

Việc sử dụng cùng một cặp khóa công khai/riêng tư để mã hóa và chữ ký là không đúng về mặt học thuật, nhưng với bốn chế độ mã hóa và chữ ký trong PKCS#1 nó không kích hoạt bất kỳ cuộc tấn công đã biết nào. Các liên kết rõ ràng yếu nhất trong chuỗi bảo mật là

  • Chính chức năng của máy chủ: nó cho phép lấy chữ ký của bất kỳ thứ gì phù hợp với giới hạn kích thước để mã hóa (117 byte).
  • Mô-đun 512 bit, có thể được phân tích thành nhân tố (điều này đã có thể thực hiện được trong thế kỷ 20).
  • Việc sử dụng giải mã RSAES-PKCS1-v1_5 trên bản mã chưa được xác thực từ mở.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.