보안과 암호화의 이론과 실제의 차이점은 무엇입니까?


21

보안과 암호화의 이론과 실제에는 어떤 흥미로운 차이점이 있습니까?

물론 가장 흥미로운 의지는 실용적인 경험을 바탕으로 이론적 연구를위한 새로운 길을 제시하는 사례입니다.

답변에는 다음이 포함될 수 있습니다 (단, 이에 한하지 않음).

  • 이론이 무언가를 제안하지만 실제로는 결코 사용되지 않는 예
  • 이론적으로 실제로 안전하지 않은 것이 안전하다고 제안하는 예
  • 광범위하게 실용적으로 사용되는 사례는 그 뒤에 이론이 거의 없습니다.

...

경고

당신의 대답이 본질적으로 "이론은 무증상에 관한 것이지만 실천은 아니다"인 경우, 이론은 실제로 중심적이거나 실제 사례에 대한 실제 경험이 기대에 기초한 것과 다른 구체적인 예를 포함해야합니다. 이론에.


내가 아는 한 가지 예 : 안전한 회로 평가. 이론적으로는 강력하지만 실제로 사용하기에는 너무 복잡합니다. 코드를 취하여 회로에 풀고 한 번에 하나씩 각 게이트를 안전하게 평가해야하기 때문입니다.


참고로,이 질문은이 다른 질문에 대한 수사 / 토론에서 영감을 얻었습니다. cstheory.stackexchange.com/questions/453/…
Joshua Grochow

답변:


23

오 소년, 어디서부터 시작해야합니까?

큰 것은 확실히 블랙 박스입니다. Crypto 연구원들은 Random Oracle Model의 uninstantiability 문제와 같은 것들에 대해 혼란을 겪습니다. 보안 연구원은 다른 극단에 있으며 해시 함수뿐만 아니라 모든 것을 블랙 박스로 사용할 수 있기를 바랍니다. 이것은 일정한 긴장의 원천입니다.

예를 들어 BAN 로직 과 같은 보안 프로토콜의 공식 분석을 보면 대칭 암호화가 "이상적인 블록 암호"로 취급된다는 것을 알 수 있습니다. 여기에는 미묘한 차이가 있습니다. BAN 로직 (및 기타 프로토콜 분석 기술)은 보안 증명이라고 주장하지 않습니다. 오히려 결함을 찾는 기술입니다. 따라서 이상적인 암호 모델이 여기에 포함되는 것은 엄격하지 않습니다. 그러나 대부분의 보안 분석이 공식 모델로 제한되는 경향이 있으므로 그 효과는 동일합니다.

우리는 아직 실무자에 대해 이야기하지 않았습니다. 이 사람들은 일반적으로 암호 프리미티브가 블랙 박스가 아니라는 단서조차 얻지 못하며 이것이 앞으로도 계속 변할 것이라고 의심합니다.

문제의 심각성을 확인하려면 API 서명 위조 가능성과 관련된 이 보안 권고를 고려하십시오 . 버그는 부분적으로 Merkle-Damgard 구조의 길이 확장 공격 (실제로는 매우 기본적인 것)으로 인한 것이며 Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive 및 Zoomr에 영향을 미칩니다. 저자는 이것이 완전한 목록이 아니라는 점에 주목합니다.

나는 실무자들이이 슬픈 일에 대한 책임의 사자에게 가치가 있다고 생각합니다. 다른 한편으로, 아마도 암호화 이론가들은 그들의 입장을 재고해야 할 것입니다. 그들의 블랙 라인은 불가능하다. 우리는 시도조차하지 않을 것이다. 내가 말한대로 어쨌든 귀하의 구성이 블랙 박스로 사용되는 것이 분명하기 때문에 적어도 블랙 박스에 최대한 가깝게 만들려고하지 않는 이유는 무엇입니까?

Merkle-Damgard Revisited 라는 논문 은 내가 말하는 것에 대한 훌륭한 예입니다. 그들은 고정 길이 빌딩 블록이 임의의 오라클 또는 이상적인 블록 암호로 볼 때 임의의 길이 해시 함수 H가 임의의 오라클로 작동해야한다는 보안 개념을 연구합니다. 이러한 종류의 이론적 연구는 실제로 매우 유용 할 가능성이 있습니다.

이제 회로 평가의 예를 살펴 보겠습니다. 당신의 추론에 동의하지 않습니다. 컴파일 된 바이너리를 가져 와서 맹목적으로 회로로 바꾸는 것과는 다릅니다. 오히려 회로 평가는 일반적으로 매우 간단한 기본 비교 기능에만 적용됩니다. 페어 플레이 는 회로 평가의 구현입니다. 나와 함께 일한 동료가 놀라 울 정도로 빠르다고 말합니다. 효율이 회로 평가에 문제가되는 것은 사실이지만 (이러한 이유로 거부 된 실제 사례를 알고 있음), 쇼 토퍼와는 거리가 멀다.

두 번째로 동의하지 않는 두 번째 이유는 예를 들어 두 회사가 병합 여부를 파악할 때 계산 계산 비용과 같은 명백한 회로 평가를 수행하려는 일반적인 실제 시나리오에 대해 생각하면 계산 비용입니다. 인간의 노력과 예산에 비해 사소한 것이 관련되어 있습니다 .

그렇다면 왜 실제로 일반 보안 기능 평가를 사용하지 않습니까? 좋은 질문입니다. 이론과 실습의 두 번째 차이점은 실제로 신뢰가 실제로 존재한다는 것입니다. 편집증 모델에서 모든 것을 수행 할 필요는 없습니다. 사람들이 실제로 암호화를 사용하여 해결하고자하는 일련의 문제는 암호 전문가가 상상하는 것보다 훨씬 작습니다.

안전한 다자 컴퓨팅 서비스를 엔터프라이즈 고객에게 판매하려고 회사를 시작한 사람을 알고 있습니다. 아무도 그것을 추측하지 마십시오. 아무도 그것을 원치 않았습니다. 이들이 이러한 문제에 접근하는 방법은 데이터로 수행 할 수있는 작업과 수행 할 수없는 작업을 명시한 계약에 서명하는 것이며 의도 한 목적으로 데이터를 사용한 후에는 데이터를 파기 할 것입니다. 대부분의 경우 이것은 잘 작동합니다.

이론과 실제의 차이점은 PKI에 관한 것입니다. 암호화 용지는 "우리는 PKI를 가정합니다." 불행하게도, 최종 사용자를위한 디지털 인증서 (자연 계층이있는 회사 컨텍스트의 웹 사이트 또는 직원과 달리)는 결코 실현되지 않았습니다. 이 고전 논문 은 일반 사람들에게 PGP를 사용하도록 요청할 때 발생하는 중요성을 설명합니다. 그 이후로 소프트웨어가 많이 향상되었다고 들었지만 오늘날의 기본 설계 및 건축 문제와 사람의 한계는 크게 다르지 않습니다.

나는 암호 프로토콜의 실제 적용 가능성을 제한한다는 사실을 알고 있다는 점을 제외하고는 암호 작성자가 실제 PKI가 없기 때문에 다르게 행동해야한다고 생각하지 않습니다. 내가 고치려고하는 것이기 때문에 그것을 던졌습니다.


좋은 답변입니다! (나는 내가 그것을 완전히 따르지 않았다는 것을 인정하지만, 나는 당신의 링크 중 일부를 따르고 읽을 것이지만 또 다른 시간을 읽어야 할 것입니다.) 안전한 회로 평가와 관련하여 : 나는 그것을 듣고 싶습니다. 내가 말한 의견은 기본적으로 입문 이론 이론 과정을 밟고 그것이 실제로 사용되는지 교수님에게 물어 본 후의 느낌이었습니다.
Joshua Grochow

감사. BTW, 나는 StackExchange를 처음 사용하고 커뮤니티 위키가 1 인칭 글을 받아 들일 수 없다는 것을 알지 못합니다. 이 경우 자유롭게 변경하십시오.
randomwalker

이 답변을 두 번 이상 공표 할 수 있기를 바랍니다.
Jeffε

FairPlay는 현실적인 위협 모델에서는 안전하지 않습니다 (악의적 인 공격자에 대해서는 안전하지 않으며, 적을 악의적으로 / 악의적으로 행동하지 않는 것을 신뢰하는 경우에만 안전합니다). 보안이 중요하지 않은 경우 효율성이 쉽고 효율성이 중요하지 않은 경우 보안이 쉽지만 현재 두 가지를 동시에 달성하는 방법은 알려져 있지 않습니다.
DW

실무자에 대한 귀하의 의견은 실제로 관대합니다. 나는 Vigenère 암호를 사용하여 알려진 평문의 일부보다 짧은 키를 사용하는 신용 ​​카드에 대한 지불 처리만을 사용하는 회사를 만났습니다. 그리고 그들은 내가 공격 코드를 보낼 때까지 안전하지 않다고 믿지 않았습니다.
피터 테일러

12

Randomwalker의 답변은 매우 좋습니다. 이론과 실습에서 가장 좋아하는 차이는 랜덤 오라클 모델입니다. 이것은 실제로 매우 안전한 휴리스틱으로 보입니다 (사람들이 어리석은 짓을하지 않고 적어도 길이 확장을 적절하게 수행한다고 가정하면 randomwalker의 답변도 참조하십시오). 그러나 우리는 그것에 대해 긍정적 인 이론적 결과를 얻지 못했습니다. 실제로이 휴리스틱에 대한 모든 이론적 결과는 부정적입니다. 나는 이것이 훌륭한 연구 문제라고 생각하며 언젠가이 모델에 대한 흥미로운 긍정적 인 결과가 입증되기를 바랍니다.

실제로도 알고있는 한 난독 화에 대해서는 널리 사용되지만 난독 화는 암호화만큼 안전한 것으로 간주되지 않으며, 난독 화를 사용하여 장기적이고 매우 민감한 비밀을 숨기는 것이 현명한 것으로 간주되지 않습니다. (임의의 오라클을 사용하는 암호화와는 달리 사람들이 이것을 사용하는 데 완전히 익숙합니다.) 따라서 이론과 실제 사이의 격차는 크지 않습니다. (즉, 난독 화는 이론적으로나 실제로 이해하지 못하는 매우 흥미로운 분야입니다.)


10

호모 모르 픽 암호화 및 보안 다자간 통신은 큰 두 충분히하게 연구되지 않은 암호화 최근 발견 실용적인 아직 : 같은 연구 노력 PROCEED가 이 방향으로 이동하고 우리가이를 작성하는 데 사용할 수있는 종류의 모델을 프로그래밍 어떤 식별 합리적인 시간에 실행되도록하는 핵심 암호화 알고리즘에 대한 최적화를 찾을뿐만 아니라 일종의 계산. 이것은 암호화에서 매우 일반적으로 발생합니다. 우리는 실행하는 데 시간이 오래 걸리는 간단한 알고리즘으로 시작한 다음 암호를 사용하여 알고리즘을 점점 더 최적화하기 위해 수학을 사용하여 수년을 보냅니다.


10

이론이 무언가를 제안하지만 실제로는 결코 사용되지 않는 예 :

이론적으로 해결 된 것들의 예를 찾기는 쉽지만 (1) 실제로 사용하기에는 비효율적이거나 (2) 아무도 신경 쓰지 않습니다. 예 : (1) (일반) 제로 지식 증명, (2) 부인할 수없는 서명. 실제로 모든 암호화 회의를 살펴보면 적어도 절반의 논문이 아마도 이러한 범주 중 하나에 해당 할 것입니다.

이론적으로 실제로 안전하지 않은 것이 안전하다고 제안하는 예 :

이 질문은 약간 모호하기 때문에 이것이 대답이되는지 잘 모르겠습니다. 그러나 보안 정의가 배포 시나리오와 일치하지 않기 때문에 실제로 중단 될 수있는 '확실히 안전한'체계의 예가 많이 있습니다. 지난 몇 년 동안 SSH 및 IPSec (가능한 변종)에 대한 공격이있었습니다.

광범위하게 실용적으로 사용되는 예는 그 뒤에 이론이 거의 없습니다.

나는 당신이 일반적인 보안 세계가 아니라 암호 세계를 의미한다고 가정합니다. 보안에 대한 증거가없는 DSS 서명이 좋은 예입니다.


9

MMMwMwMwMwMMMM

바이너리 난독 화 솔루션을 제공하는 많은 상용 회사가 있으며 여러 오픈 소스 솔루션도 있습니다. 물론 난독 화를위한 정확한 방법은 비밀로 유지됩니다. 업계에서 널리 퍼져있는 난독 화 패러다임은 휴리스틱이므로이 문맥에서 바이너리를 난독 처리하는 데 사용되는 알고리즘을 알면 일반적으로 해독 방지에있어 어떤 이점을 보장 할 수 있습니다. 산업에서의 난독 화는 "불분명을 통한 보안"으로 알려져 있습니다.

난독 화 문제에 대한 이론적 접근 방식은 산업의 요구를 공식화하지만 계산 난도에 기반한 엄격하게 더 강력한 보안 개념에 의존합니다 (정수 및 문자열 동등성 테스트를 단방향 함수 동등성 테스트로 대체한다고 상상해보십시오). 특히, 구성 포인트 난독 화에 대한 연구는 산업에 흥미로운 난독 화 문제를 해결하기 위해 진행되었다. 불행히도 변조 방지 하드웨어에서 영감을 얻은 모델을 기반으로 한 가장 널리 퍼진 이론적 난독 화 이론 모델은 2001 년 Barak 등의 논문 " 난독 화 프로그램의 가능성 "에 불가능한 결과를 주었다 . (다른 모델들도 불가능한 결과를 얻었습니다).

현재 프로그램 난독 화 이론은 유동적 인 상태에 있으며, 새로운 (아마 덜 제한적인) 모델이 필요합니다. 사실, 이론의 주된 문제는 합의 된 모델이 없기 때문에 공식적인 지원자가 없다는 것이다. Fully Homomorphic Encryption 의 최근 출현은 그러한 근거를 제공 할 수 있습니다 (이것은이 저자의 전적으로 추측입니다).

명확히하기 위해 난독 화는 세 번째 예와 일치합니다. "실제로 광범위하게 사용되는 예는 그 뒤에 이론이 거의 없습니다." 난독 화는 오늘날 업계와 더 사악한 목적을 가진 사람들 모두에게 널리 사용됩니다. 산업의 난독 화는 현재 시도에도 불구하고 엄격한 이론에 근거하지 않습니다.


8

의사 난수 발생기와 같은 기본 프리미티브에 대해서는 상당한 차이가 있습니다. 예를 들어 의사 난수 함수를 고려하십시오. 실제로 사람들은 같은 것을 사용하는 AES 이론적 후보 다르다, (; Naor, Reingold, Goldreich, Goldwasser, Micali 등) 여러 차원에서 : 먼저, 매개 변수가 완전히 다른, 예를 들어 AES 키 길이를 가질 수 에 해당 입력의 길이를 이론적 구성에서는 들어 본 적이 없습니다. 아마도 더 중요한 것은 AES (및 다른 많은 블록 암호)는 이론적 구성이 진행되는 방식 (예 : 위에서 언급 한 방식)과는 상당히 다른 소위 치환 순열 네트워크 패러다임을 따릅니다.

물론 가장 흥미로운 의지는 실용적인 경험을 바탕으로 이론적 연구를위한 새로운 길을 제시하는 사례입니다.

위의 내용이 그러한 예라고 생각합니다. 예를 들어 Eric Miles가있는 이 백서 를 참조하십시오 (본질적 으로이 답변을 얻음).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.