it-gundan.com

일회성 해독을 제공 할 수있는 체계 / 메커니즘?

나는 대부분의 일반적인 학부/학부 보안 기초에 대해 잘 알고 있습니다. 하지만이 시나리오와 관련된 것을 찾을 수 없습니다.

데이터 조각을 '암호 해독'하고 한 번만 읽을 수있는 체계/시스템 (잠재적으로 컴퓨터 프로그램에서).

가능합니까? 나는 '하드웨어 세계'(?)에 그런 것들이 있다고 들었습니다. 내 질문이 정확하지 않거나 불완전한 경우 업데이트하겠습니다. 그러나 나는 실제로 일반적인 디자인/프로토콜에 관심이 있습니다.

38
DaveIdito

이를 수행 할 수있는 방법은 없습니다. 이는 DRM 체계가 수행하려는 작업의 일부입니다.

최종 사용자가 무언가를 한 번 해독하여 볼 수 있으면 다시 볼 수 있습니다. 다음 중 하나가 가능할 수 있습니다.

  • 먼저 사본을 가져 와서 해독하십시오.
  • 화면을 복사
  • 응용 프로그램을 편집

가까이 갈 수있는 유일한 방법은 하드웨어와 소프트웨어를 완전히 제어하는 ​​것이므로 일단 표시되면 삭제할 수 있지만 누군가는 카메라를 사용하여 화면 등을 찍을 수 있습니다.

따라서 많은 시나리오에서 동일한 효과를 얻을 수있는 방법이 있기 때문에 이러한 구성표를 사용할 계획을 묻고 싶습니다.

62
Rory Alsop

이미 암시했듯이 이러한 것은 하드웨어에서만 가능합니다. 소프트웨어 또는 암호화 된 데이터 솔루션은 항상 암호를 해독하기 전에 복사하는 옵션이 있습니다.

하드웨어에서이 체계는 암호 해독에 대한 정보를 삭제하는 것입니다. 순진한 접근 방식은 단순히 블록을 메모리로 읽고 저장 장치에서 파괴 한 다음 해독하는 것입니다.

물론 이러한 접근 방식은 변조로 인해 피해를 입을 수 있습니다. 공격자는 시스템을 조작하여 삭제에 실패 할 수 있지만 암호 해독을 수행하는 모든 작업이 성공했다고 믿고 암호 해독을 진행합니다.

보다 정교한 접근 방식은 정보를 읽는 것도 정보를 파괴하는 방식으로 일부 물리적 속성을 이용하는 것입니다. 실제로 이것은 이론적으로 양자 양자 암호를 안전하게 만드는 것입니다. 정보를 파괴하지 않으면 도청 (청취) 할 수 없으므로 누군가 메시지를 가로 채고 있다는 사실이 드러납니다.

양자 영역을 벗어나면 화학적 또는 다른 물리적 프로세스를 사용하는 솔루션이있을 수 있지만 변조 될 수도 있습니다.

25
Tom

네트워크가 사용 가능한 경우 암호 해독 절차 (및 개인 키)를 보안 서버에서 실행되는 서비스로 오프로드 할 수 있습니다. 그런 다음 서버에서 원하는 규칙을 적용 할 수 있습니다.

클라이언트는 불투명 한 텍스트를 서비스에 제출하고이를 해독하고 일반 텍스트 컨텐츠를 리턴하도록 요청하며, 서버는 클라이언트가 암호 해독 히스토리를 기반으로 허용해야하는지 여부를 결정하여 잠재적으로 둘 이상의 암호 해독 조작을 차단할 수 있습니다.

그러나 호출자가 해독의 result 반복 사용을 막는 것은 없습니다. 이것은 반복해서 해독하는 것과 거의 같습니다. . 음악과 영화에 대한 시도가 있었지만 ( 보호 된 미디어 경로 참조) 전투에서 패배하고 있습니다. 그렇지 않은 경우 해커는 모니터 하드웨어를 스푸핑하고 입력 신호를 기록하거나 심지어 HD 비디오 카메라를 모니터로 가리키고 재생되는 내용을 기록 할 수 있습니다. 모든 종류의 디지털 컨텐츠에 유사한 차단 기술을 사용할 수 있습니다. 결론은 ... 아닙니다. 실제로는 불가능합니다.

더 적합한 방법은 일련 번호를 콘텐츠 자체에 굽고 인증 서버에서 추적하거나 만료 타임 스탬프에 굽는 것입니다. 그런 다음 수신 측에서이를 적용해야하며, 보안 응용 프로그램이어야합니다. 예를 들어 일회용 비밀번호 의 작동 방식입니다. 그러나이를 위해서는 데이터 경로의 양쪽 끝을 소유하고 데이터 자체가 외부에서 쓸모 없어야합니다.

10
John Wu

그것은 실용적이고 근본적으로 불가능하지만 (신뢰할 수있는 방법으로) 불가능하지만 some 범위로 가능할 수 있습니다.

노력을 근본적으로 불가능하게 만드는 명백한 장애는 그것이 해독 한 것이 무엇이든, 일단 읽고 나면 머리 속에 있다는 것입니다. 따라서 비밀이 비밀로 유지되도록하려면 일종의 독약 메커니즘이 있어야합니다. 어쩌면 TTS 엔진이 포함 된 캡슐이 골 전도를 통해 메시지를 전달한 다음 폭발하여 머리를 날려 버릴 수도 있습니다.
숨을 쉬는 동안 누군가에게 말할 수 있기 때문입니다. 그래도 TTS가 당신의 머리에 속삭이는 것을 큰소리로 반복하지 않기를 바랍니다.

그 외에도 한 번만 읽을 수있는 데이터 스토리지 시스템이 있습니다. DRAM과 Ferroelectric RAM은 두 가지 예입니다. 명시 적 읽기 후 읽기 내장 또는 다른 무언가 (예 : 커패시터 회로)가 필요합니다. 정보를 읽으면 정보가 파괴됩니다.
이제 최소한 two 복사본을 만들어야합니다 (하나는 비파괴 읽기 스토리지에, 다른 하나는 실제로 복사해야합니다). 아직도, 그것은 "doable"의 영역에 있지만 하드웨어 호환성에 따라 어쨌든 다소 부담이 될 수 있습니다 (Star Trek에서와 같이 완전히 다른 호환되지 않는 두 가지 스토리지 유형을 복사하고 데이터를 복사 할 수 있는지 확실하지 않을 수도 있습니다. 그것보다 조금 더 어렵다는 것을 증명하십시오!). 그러나 우리는 끝이 아닙니다.

암호 해독 키 및 암호 해독 실행 파일의 일부 또는 전체 (루프가 롤링되지 않은 것으로 가정)도 암호 해독 하드웨어 내부의 파괴적인 읽기 저장소에 저장 될 수 있습니다. 암호 해독 키는 칩을 떠날 필요가 없으므로 "데이터"를 제외하고 칩을 전송할 레인이 없어도됩니다. 해독하는 동안 읽히고 그 후에 사라졌습니다. 그래서 ... 거기가요.

누군가가 칩에 수십 나노 미터 크기의 구멍을 뚫고 나노 와이어를 사용하여 스토리지에 도청하는 방법이 아니라면 데이터를 얻을 수있는 방법이 없습니다. 나는 이것이 불가능하다고 말하는 것이 아니라 단지 ... 미친 것입니다. 이를 보증 할만한 가치가있는 정보는 없습니다. 또한 실수로 작은 전하를 흘리거나 몇 나노 미터를 너무 왼쪽이나 오른쪽으로 이동하면 키가 필연적으로 파괴되므로 매우 위험한 절차 일 수 있습니다.

암호 해독 키는 일반적으로 매우 작기 때문에 (32 바이트 이하) 실제로 오늘날 많은 모바일 장치에서 수행되는 것과 같이 보안 엔 클레이브 프로세서 등에 저장 될 수 있습니다. 이 스토리지는 또한 읽기에 파괴적인 읽기를 할 수 있습니다 (모든 최신 전화에서와 같이 암호화 된 데이터에 대한 외부 액세스는 없음). 그러나 필요조차 없습니다.
삼성 녹스 또는 애플의 SEP와 같은 퓨즈를 사용하면 원칙적으로 데이터를 N 번 (정확히 한 번이 아니라 정확히 N 번, 원하는만큼) 해독 할 수 있습니다. 그 후에 프로세서는 단순히 키를 새로 고치거나 명시 적으로 덮어 쓰지 않습니다. 또는 훨씬 안전하지는 않지만 (아직 충분할 수도 있음) 만 해독 을 거부합니다.
따라서 암호화 된 데이터의 복사본을 만드는 것은 복사본의 암호를 해독 할 수 없기 때문에 실제로는 그리 좋지 않습니다.

물론 누군가가 decrypted 데이터를 사소하게 복사 할 수 있습니다. 일반적으로 디지털과 아날로그가 있습니다. 다른 것이 없으면 두세 사람 명의 사람들이 동시에 화면을 보거나 사진을 찍을 수 있습니다.

그러나 이는 근본적으로 해결할 수없는 문제입니다 (폭발 장치 또는 신경 가스를 방출하는 장치 제외).

2
Damon

순전히 이론적 인 의미에서-첫 번째 해독 후 both의 사본이 없는지 확인할 수있는 경우에만 가능합니다

  1. 해독 된 데이터
  2. either 암호화 된 데이터 또는 암호 해독에 필요한 키.

원칙, 삭제해야하는 이러한 정보를 처리하는 당사자의 협력 (의지 또는 강제)를 통해서만이 작업을 수행 할 수 있습니다.

실제로, 이것은 달성하고자하는 것과 시스템의 어떤 구성 요소를 신뢰할 수 있는지에 따라 충분할 수 있습니다.

예를 들어, 일반적인 iPhone을 신뢰하는 경우 (절대적으로는 안되지만 보안상의 모든 것과 마찬가지로 절대성이 거의 없으며 일반적으로 확률과 허용 할 위험이 거의 없습니다) 당신이 작성한 아이폰 앱과 그 데이터가 악성 코드 나 인간 사용자에 의해 훼손 될 수 없다고 가정하도록 선택하십시오. Apple 암호 해독을 수행 한 후 코드의 데이터를 삭제하십시오.

(iPhone이 안전하지 않거나 신뢰할 수 없다고 생각 될 경우 자신이 만든 세 심하게 안전하고 감사 된 장치를 항상 상상할 수 있습니다.)

사용자에게 해당 데이터를 표시하거나 관찰 가능한 방식으로 데이터를 유출하는 경우 "아날로그 구멍"이 제거되지는 않지만 일부 사용 사례에서는 허용 될 수 있습니다. 예를 들어 사용자에게 표시하지는 않지만 사용자가 직접 볼 필요가없는 구현 세부 사항에서 일부 보안 체계의 일부로 해독 된 데이터 사용.

이 예제를 데이터 전송 으로 확장 할 수 있습니다. 암호화 된 데이터를 하나의 데이터 채널을 통해, 다른 하나를 통해 키를 통해, 신뢰할 수있는 한 해당 채널 중 하나 이상이 안전하고 통과 한 데이터를 유지하지 않아야합니다. 또는 한 채널에서 도청 할 수있는 중개인이 다른 채널을 도청 할 수있는 사람과는 정보를 전달할 수 없음을 신뢰할 수 있습니다. 당신은 그것을 해독하는 유일한 것은 당신의 협력하는 클라이언트 코드라는 것을 확실하게 보증합니다.

TL; DR : 원칙적으로이 문제에 대한 완벽한 해결책이없는 이유를 이해하면 실제로 편안하게 충분히 높은 확률로 문제를 해결할 수있는 상황을 식별 할 수 있습니다. 그러나 그러한 상황은 당신이하고자하는 것과 겹치지 않을 것입니다.

1
mtraceur

이것은 양자 통신의 약속 중 하나입니다. 이론적으로 관찰은 양자 상태를 근본적으로 변경하기 때문에 "한 번 읽기"통신 프로토콜을 만들 수 있습니다.

물론 "사용자는 여전히 휴대 전화로 화면을 찍을 수 있습니다"와 같은 실제적인 문제는 여전히 남아 있습니다.

0
Filips Jelisejevs