Sự khác biệt giữa lý thuyết và thực hành bảo mật và mật mã?


21

Có sự khác biệt thú vị nào giữa lý thuyết và thực hành bảo mật và mật mã?

Tất nhiên thú vị nhất sẽ là những ví dụ gợi ý những con đường mới cho nghiên cứu lý thuyết dựa trên kinh nghiệm thực tế :).

Câu trả lời có thể bao gồm (nhưng không giới hạn):

  • Các ví dụ trong đó lý thuyết cho thấy một cái gì đó là có thể nhưng nó không bao giờ được sử dụng trong thực tế
  • Các ví dụ trong đó lý thuyết cho thấy rằng một cái gì đó an toàn mà không an toàn trong thực tế
  • Ví dụ về một cái gì đó trong sử dụng thực tế rộng rãi có ít lý thuyết đằng sau nó.

...

Hãy cẩn thận

Nếu câu trả lời của bạn về cơ bản thuộc dạng "Lý thuyết là về sự không có triệu chứng, nhưng thực tế thì không", thì lý thuyết nên thực sự là trung tâm hoặc câu trả lời nên bao gồm các ví dụ cụ thể trong đó trải nghiệm thực tế về các trường hợp trong thế giới thực khác với các kỳ vọng dựa trên về lý thuyết.


Một ví dụ tôi biết: đánh giá mạch an toàn. Về mặt lý thuyết rất mạnh, nhưng quá phức tạp để sử dụng trong thực tế, bởi vì nó sẽ liên quan đến việc lấy mã của bạn, hủy mã thành một mạch và sau đó thực hiện đánh giá an toàn từng cổng một.


FYI, câu hỏi này được lấy cảm hứng từ một số lời hoa mỹ / thảo luận về câu hỏi khác này: cstheory.stackexchange.com/questions/453/ phỏng
Joshua Grochow

Câu trả lời:


23

Oh boy, bắt đầu từ đâu.

Cái lớn chắc chắn là hộp đen. Các nhà nghiên cứu về tiền điện tử làm ầm ĩ về những thứ như vấn đề không đáng có của Mô hình Oracle ngẫu nhiên. Các nhà nghiên cứu bảo mật đang ở một thái cực khác và muốn mọi thứ đều có thể sử dụng được như một hộp đen, không chỉ là các hàm băm. Đây là một nguồn căng thẳng liên tục.

Để minh họa, nếu bạn nhìn vào phân tích chính thức của các giao thức bảo mật, ví dụ logic BAN , bạn sẽ thấy mã hóa đối xứng được coi là một "mật mã khối lý tưởng". Có một sự khác biệt tinh tế ở đây - logic BAN (và các kỹ thuật phân tích giao thức khác) không được coi là bằng chứng bảo mật; đúng hơn, chúng là những kỹ thuật để tìm ra sai sót. Do đó, không đúng sự thật là mô hình mật mã lý tưởng có liên quan ở đây. Tuy nhiên, thực tế là hầu hết các phân tích bảo mật có xu hướng bị giới hạn trong mô hình chính thức, do đó hiệu quả là như nhau.

Chúng tôi thậm chí chưa nói về các học viên. Những kẻ này thường thậm chí không có manh mối rằng người nguyên thủy tiền điện tử không có ý định là hộp đen và tôi nghi ngờ điều này sẽ thay đổi - hàng thập kỷ cố gắng đánh vào đầu họ đã không tạo ra sự khác biệt.

Để xem vấn đề nghiêm trọng như thế nào, hãy xem xét lời khuyên bảo mật này liên quan đến việc quên chữ ký API. Lỗi này một phần là do cuộc tấn công kéo dài trong quá trình xây dựng Merkle-Damgard (một thứ thực sự rất cơ bản) và ảnh hưởng đến Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive và Zoom. Các tác giả lưu ý rằng đây không phải là một danh sách đầy đủ.

Tôi nghĩ rằng các học viên xứng đáng với sự chia sẻ của sư tử về tình trạng đáng buồn này. Mặt khác, có lẽ các nhà lý thuyết tiền điện tử cũng cần suy nghĩ lại về vị trí của họ. Dòng của họ là: "hộp đen là không thể xây dựng; chúng tôi thậm chí sẽ không thử." Theo như tôi nói, vì rõ ràng các công trình của bạn sẽ được sử dụng như một hộp đen, tại sao ít nhất không thử làm cho chúng càng gần hộp đen càng tốt?

Tờ báo Merkle-Damgard Revisited là một ví dụ tuyệt vời về những gì tôi đang nói. Họ nghiên cứu khái niệm bảo mật rằng "hàm băm có độ dài tùy ý H phải hoạt động như một lời tiên tri ngẫu nhiên khi khối xây dựng có độ dài cố định được xem như một lời tiên tri ngẫu nhiên hoặc mật mã khối lý tưởng." Loại nghiên cứu lý thuyết này có tiềm năng rất hữu ích trong thực tế.

Bây giờ hãy lấy ví dụ của bạn về đánh giá mạch. Tôi xin không đồng ý với lý luận của bạn. Nó không giống như bạn sẽ lấy một nhị phân biên dịch và mù quáng biến nó thành một mạch. Thay vào đó, bạn chỉ áp dụng đánh giá mạch cho chức năng so sánh cơ bản thường khá đơn giản. Fairplay là một thực hiện đánh giá mạch. Một đồng nghiệp của tôi, người đã làm việc với nó nói với tôi rằng nó nhanh đến mức đáng kinh ngạc. Mặc dù sự thật là hiệu quả là một vấn đề với việc đánh giá mạch (và tôi biết về các trường hợp trong thế giới thực, nơi nó bị từ chối vì lý do này), nó khác xa với một showstopper.

Lý do thứ hai tôi không đồng ý với bạn là nếu bạn nghĩ về một số tình huống thực tế điển hình mà bạn có thể muốn thực hiện đánh giá mạch lãng quên - ví dụ, khi hai công ty đang tìm hiểu có hợp nhất hay không - chi phí tính toán tham gia là tầm thường so với nỗ lực và ngân sách chung của con người.

Vậy tại sao sau đó không ai sử dụng đánh giá chức năng bảo mật chung trong thực tế? Câu hỏi tuyệt vời. Điều này đưa tôi đến sự khác biệt thứ hai của tôi giữa lý thuyết và thực hành: niềm tin thực sự tồn tại trong thực tế! Không phải mọi thứ cần phải được thực hiện trong mô hình hoang tưởng. Tập hợp các vấn đề mà mọi người thực sự muốn giải quyết bằng cách sử dụng tiền điện tử là rất nhiều, nhỏ hơn nhiều so với những gì các nhà mật mã tưởng tượng.

Tôi biết ai đó đã bắt đầu một công ty đang cố gắng bán các dịch vụ tính toán nhiều bên an toàn cho các khách hàng doanh nghiệp. Đoán xem - không ai muốn nó. Cách họ tiếp cận những vấn đề này là ký hợp đồng chỉ định những gì bạn có thể và không thể làm với dữ liệu và bạn sẽ hủy dữ liệu sau khi sử dụng xong cho mục đích đã định. Hầu hết thời gian, điều này chỉ hoạt động tốt.

Điểm khác biệt cuối cùng của tôi giữa lý thuyết và thực hành là về PKI. Các loại tiền điện tử thường dính một câu ở đâu đó với nội dung "chúng tôi giả sử PKI". Thật không may, chứng chỉ kỹ thuật số cho người dùng cuối (trái ngược với các trang web hoặc nhân viên trong bối cảnh công ty, nơi có hệ thống phân cấp tự nhiên) không bao giờ được thực hiện. Bài báo kinh điển này mô tả sự vui nhộn xảy ra khi bạn yêu cầu người bình thường sử dụng PGP. Tôi đã nói rằng phần mềm đã được cải thiện rất nhiều kể từ đó, nhưng các vấn đề về thiết kế và kiến ​​trúc cơ bản và những hạn chế của con người ngày nay không khác nhiều.

Tôi không nghĩ rằng các nhà mật mã học nên làm bất cứ điều gì khác biệt do hậu quả của việc thiếu PKI trong thế giới thực này, ngoại trừ việc nhận thức được thực tế rằng nó giới hạn khả năng ứng dụng trong giao thức mật mã trong thế giới thực. Tôi đã ném nó vào vì đó là thứ tôi đang cố sửa.


Câu trả lời chính xác! (Mặc dù tôi thừa nhận tôi đã không hoàn toàn theo dõi tất cả - Tôi sẽ phải theo dõi một số liên kết của bạn và đọc qua chúng, nhưng một lần khác.) Về đánh giá mạch an toàn: Tôi thích nghe nó. Ý kiến ​​tôi đã nêu về cơ bản là cảm giác của tôi sau khi tham gia khóa học lý thuyết giới thiệu về tiền điện tử và hỏi giáo sư của tôi về việc liệu nó có được sử dụng trong thực tế hay không.
Joshua Grochow

Cảm ơn. BTW, tôi chưa quen với StackExchange và tôi không biết liệu wiki cộng đồng có nghĩa là việc viết của người thứ nhất không được chấp nhận hay không. Nếu đó là trường hợp, hãy thoải mái để thay đổi.
Randomwalker

Tôi ước tôi có thể nâng cao câu trả lời này hơn một lần.
Jeffε

FairPlay không an toàn theo các mô hình mối đe dọa thực tế (không an toàn trước những kẻ tấn công độc hại; nó chỉ an toàn nếu chúng tôi tin rằng kẻ thù không hành xử bất lợi / độc hại). Hiệu quả là dễ dàng nếu bảo mật là không quan trọng, và bảo mật là dễ dàng nếu hiệu quả là không quan trọng, nhưng hiện tại không biết làm thế nào để đạt được cả hai cùng một lúc.
DW

Nhận xét của bạn về các học viên thực sự hào phóng. Tôi đã bắt gặp một công ty có sản phẩm duy nhất là xử lý thanh toán cho thẻ tín dụng sử dụng mật mã Vigenère với khóa ngắn hơn một số đoạn văn bản đã biết. Và sau đó họ không tin tôi rằng nó không an toàn cho đến khi tôi gửi cho họ một số mã tấn công.
Peter Taylor

12

Câu trả lời của Randomwalker là rất tốt. Khoảng cách yêu thích của tôi giữa lý thuyết và thực hành là mô hình nhà tiên tri ngẫu nhiên. Điều này có vẻ là một heuristic rất an toàn trong thực tế (giả sử mọi người không làm điều gì đó ngu ngốc và ít nhất là thực hiện mở rộng chiều dài một cách chính xác, xem câu trả lời ngẫu nhiên) nhưng chúng tôi không có bất kỳ kết quả lý thuyết tích cực nào về nó. Trong thực tế, tất cả các kết quả lý thuyết về heuristic này là tiêu cực. Tôi nghĩ rằng đây là một câu hỏi nghiên cứu tuyệt vời và hy vọng một ngày nào đó một số kết quả tích cực thú vị về mô hình này sẽ được chứng minh.

Về việc obfuscation theo như tôi biết ngay cả trong thực tế, mặc dù nó được sử dụng rộng rãi, obfuscation không được coi là an toàn như mã hóa, và nó không được coi là thận trọng khi sử dụng obfuscation để che giấu một bí mật lâu dài và rất nhạy cảm. (Trái ngược với mã hóa bằng cách sử dụng lời tiên tri ngẫu nhiên, mà mọi người hoàn toàn thoải mái khi sử dụng cho việc này.) Vì vậy, theo nghĩa đó, khoảng cách giữa lý thuyết và thực tiễn không lớn. (ví dụ, obfuscation là lĩnh vực cực kỳ thú vị mà chúng ta còn lâu mới hiểu được cả về lý thuyết và thực tế.)


10

Mã hóa đồng hình và giao tiếp đa phương an toàn là hai trong số những khám phá lớn, gần đây về mật mã học chưa được nghiên cứu đầy đủ để thực hiện: các nỗ lực nghiên cứu như PROCEED đang đi theo hướng này để xác định loại mô hình lập trình nào chúng ta có thể sử dụng để viết này loại tính toán, cũng như tìm tối ưu hóa cho các thuật toán mã hóa cốt lõi làm cho chúng chạy trong thời gian hợp lý. Đây là một sự xuất hiện khá phổ biến trong mật mã học: chúng ta bắt đầu với các thuật toán đơn giản (tương đối) mất nhiều thời gian để chạy, và sau đó các nhà mật mã học mất nhiều năm sử dụng toán học để tối ưu hóa các thuật toán ngày càng xa hơn.


10

Các ví dụ trong đó lý thuyết cho thấy một cái gì đó là có thể nhưng nó không bao giờ được sử dụng trong thực tế:

Khá dễ dàng để tìm thấy các ví dụ về những điều được giải quyết trên lý thuyết nhưng (1) quá kém hiệu quả để sử dụng trong thực tế hoặc (2) không ai quan tâm. Ví dụ: (1) (chung) bằng chứng không kiến ​​thức, (2) chữ ký không thể phủ nhận. Trên thực tế, hãy nhìn vào bất kỳ hội nghị về tiền điện tử nào và ít nhất một nửa số giấy tờ có thể sẽ thuộc một trong các loại này.

Các ví dụ trong đó lý thuyết cho thấy rằng một cái gì đó an toàn mà không an toàn trong thực tế:

Câu hỏi này hơi mơ hồ, vì vậy tôi không chắc câu trả lời này có hay không - nhưng có rất nhiều ví dụ về các kế hoạch 'an toàn có thể chứng minh' bị phá vỡ trong thực tế vì định nghĩa bảo mật không phù hợp với kịch bản triển khai. Trong vài năm qua, đã có các cuộc tấn công vào (các biến thể có thể chứng minh được) của SSH và IPSec, trong số những thứ khác.

Ví dụ về một cái gì đó trong sử dụng thực tế rộng rãi có ít lý thuyết đằng sau nó:

Tôi giả sử bạn có nghĩa là trong thế giới tiền điện tử, không phải trong thế giới bảo mật chung. Một ví dụ điển hình là chữ ký DSS, không có bằng chứng về bảo mật.


9

MM'M'wMwM'wMwM'MM'M

Có nhiều công ty thương mại cung cấp các giải pháp mã hóa nhị phân, và cũng có một số giải pháp nguồn mở. Các phương pháp chính xác cho obfuscation, tất nhiên, được giữ bí mật; mô hình obfuscation phổ biến trong công nghiệp là heuristic, vì vậy biết các thuật toán được sử dụng để che giấu một nhị phân trong bối cảnh này nói chung sẽ đảm bảo một số lợi thế trong khử nhiễu. Obfuscation trong công nghiệp được gọi là "bảo mật thông qua che khuất".

Có những cách tiếp cận lý thuyết cho vấn đề obfuscation chính thức hóa các mong muốn của ngành công nghiệp nhưng dựa trên một khái niệm bảo mật mạnh mẽ hơn dựa trên tính hấp dẫn tính toán (tưởng tượng thay thế các phép thử tương đương số nguyên và chuỗi bằng các phép thử tương đương hàm một chiều). Đặc biệt, nghiên cứu về obfuscation điểm tổng hợp đã được nâng cao để cố gắng giải quyết vấn đề obfuscation thú vị cho ngành công nghiệp. Thật không may, mô hình lý thuyết lan truyền rộng nhất cho obfuscation dựa trên một mô hình lấy cảm hứng từ phần cứng chống giả mạo đã được đưa ra một kết quả không thể thực hiện được vào năm 2001 bởi Barak et al trong bài báo " Về khả năng (im) của các chương trình che giấu ". (Một số mô hình khác kể từ đó cũng đã được đưa ra kết quả không thể).

Ngay bây giờ lý thuyết về chương trình obfuscation đang trong tình trạng thay đổi liên tục, đòi hỏi một mô hình mới (có thể ít hạn chế hơn). Trong thực tế, vấn đề chính với lý thuyết là nó thiếu một mô hình đã được thống nhất (và do đó, các chính phủ chính thức). Sự ra đời gần đây của Mã hóa hoàn toàn đồng nhất có thể cung cấp một cơ sở như vậy (đây hoàn toàn là suy đoán về phía tác giả này).

Để làm rõ, obfuscation phù hợp với ví dụ thứ ba của bạn: "Ví dụ về một cái gì đó trong sử dụng thực tế rộng rãi có ít lý thuyết đằng sau nó." Obfuscation được sử dụng rộng rãi ngày nay bởi cả ngành công nghiệp và những người có mục đích bất chính hơn. Obfuscation trong công nghiệp hiện không dựa trên bất kỳ lý thuyết nghiêm ngặt nào mặc dù đã cố gắng.


8

Có một khoảng cách đáng kể ngay cả khi nói đến các nguyên thủy cơ bản như trình tạo giả ngẫu nhiên. Xem xét ví dụ chức năng giả danh. Trong thực tế, người ta sử dụng những thứ như AES , khác với các ứng cử viên lý thuyết (Goldreich, Goldwasser, Micali; Naor, Reingold; v.v.) dọc theo một số chiều: Thứ nhất, các tham số hoàn toàn khác nhau, ví dụ AES có thể có độ dài khóa bằng với độ dài đầu vào , đó là chưa từng thấy trong các công trình lý thuyết. Có lẽ quan trọng hơn, AES (và nhiều thuật toán mã khối khác) tuân theo cái gọi là mô hình mạng hoán vị thay thế, khác hẳn với cách thức xây dựng lý thuyết (ví dụ như các công trình đã đề cập ở trên).

Tất nhiên thú vị nhất sẽ là những ví dụ gợi ý những con đường mới cho nghiên cứu lý thuyết dựa trên kinh nghiệm thực tế :).

Tôi nghĩ ở trên là một ví dụ như vậy, xem ví dụ bài viết này với Eric Miles (từ đó về cơ bản câu trả lời này được thực hiện).

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.