내가 만든 첫 번째 사람이되도록 웹의 모든 콘텐츠를 보호하는 알고리즘 패턴이 있습니까?


29

몇 년 전에 주어진 시스템에서 취약점을 완전히 밝혀낸이 해커 (그가 누구인지 기억하지 못함)가 있었지만 아무도 그 신용을 얻지 못하도록하기 위해 일종의 PGP 키를 만들었습니다.

당시 내가 이해 한 바는 그가 자신을 발견 한 사람인지 확인하기 위해 열쇠를 만들었지 만 실제로 자신을 공개하지 않았으며 공개를 한 사람임을 증명할 수있는 메커니즘을 만들었습니다. .

승인. 알고리즘 및 암호화 작동 방식을 알 수 있습니다. 그러나 여전히 웹에 공개 된 특정 콘텐츠를 보호하여 키를 만든 사람임을 증명할 수있는 키를 만드는 방법을 아직 이해하지 못했습니다! 그냥 단어입니다!

정말 가능합니까? 경험적으로 증명할 수있는 프로세스는 무엇입니까? 올바르게 이해했거나이 사례와 관련하여 뭔가 빠졌을 수 있습니까?

이 질문이 충분히 구체적이기를 바랍니다. 기본적으로 웹에서 만든 콘텐츠 (단락, 코드, 단어 등)를 보호하고 처음으로 만든 사람인지 확인하십시오. 주어진 맥락.

내 지식으로 나는 그것이 어떻게 가능한지 알지 못하지만 그것을 할 수있는 실용적인 방법이 있는지 궁금합니다. 있습니까?


9
아마 crypto.stackexchange.com문의하는 것이 더 좋습니다?
Euphoric

5
@FagnerBrack-복사 / 붙여 넣기하지 마십시오. crypto SE로 마이그레이션하기 위해 질문에 플래그를 지정하십시오.
mouviciel

10
But I still don't understand how you can create a key to protect a given content disclosed in the web to prove you are the one who created it first! It is just words!무언가를 만들었 음을 증명하는 것과 무언가를 처음 만들었 음을 증명하는 것에는 차이가 있습니다. PGP 키는 해커가 취약점 보고서를 제출했음을 증명할 수 있습니다. 그 전에 취약점이 발견되거나보고되지 않았다고 보장 할 수는 없지만 최소한 특정 날짜에보고했음을 보여줄 수 있습니다.
Doval

2
증거를 발견하고 그것을 공개하고 싶지 않았지만 다른 사람이 신용을 얻길 원하지 않는 수학자에 관한 이야기가있었습니다. 대신에 그는 증거의 문장을 알파벳 순으로 출판했습니다. 나는 그의 이름이 무엇인지 잊었다.
Paul

3
@ 폴 - 로버트 훅, 훅의 법칙 en.wikipedia.org/wiki/Hooke's_law 될 것이라고
제임스 맥그로

답변:


1

이 사건과 관련하여 뭔가를 놓친 것 같습니다.

당신이 누락 된 비트는 신뢰할 수있는 엔티티라고 생각합니다.

인증하려는 컨텐츠로 파일을 해시 할 때이 문서를 공개하지 않고 자신이이 문서의 소유자임을 전세계에 보여줄 수 있습니다. 이것 모두는 매우 훌륭하지만 과거에 특정 시간에이 문서를 가지고 있었다는 것을 어떻게 증명할 수 있습니까?

이것이 바로 신뢰할 수있는 타임 스탬프입니다. wikipedia 에서 발췌 한 내용은 다음과 같습니다 .

이 기술은 디지털 서명 및 해시 기능을 기반으로합니다. 먼저 해시가 데이터에서 계산됩니다. 해시는 원본 데이터의 일종의 디지털 지문입니다. 각 데이터 집합마다 다른 일련의 비트입니다. 원본 데이터가 변경되면 완전히 다른 해시가 발생합니다. 이 해시는 TSA *로 전송됩니다. TSA는 타임 스탬프를 해시에 연결하고이 연결의 해시를 계산합니다. 이 해시는 TSA의 개인 키로 디지털 서명됩니다. 이 서명 된 해시 + 타임 스탬프는이를 원래 데이터와 함께 저장 한 타임 스탬프 요청자에게 다시 전송됩니다 (다이어그램 참조).

(*) 타임 스탬프 기관

Universign의 Timestamping Service를 사용하여 전체 작업을 쉽게 수행 할 수있는 훌륭한 도구 세트가 있습니다. 비슷한 서비스를 제공하는 회사가 많이 있습니다.

@JoelFan이 언급했듯이 비트 코인은 중앙 집중식이 아닌 신뢰할 수있는 엔티티를 얻는 방법을 제공한다는 점에 주목하는 것이 흥미 롭습니다 (왜 내가 누군가를 신뢰해야합니까?). 비트 코인 체인은 타임 라인을 제공합니다 (비트 코인 체인에 기록 된 하나의 문서가 체인에 추가로 다운되기 전에 작성되었음을 증명할 수 있습니다). 그러나 이해하지만, 당신은 여전히 ​​행사의 유효 날짜와 시간을 놓칠 것입니다.

또한 신뢰할 수있는 타임 스탬프는 소송에서 유효한 참조입니다.


2
비트 코인의 블록 헤더에 날짜-시간이 내장되어 있습니다. 비록 프로토콜에 의해 시행되지는 않지만 일반적으로 적어도 "야구장"정확성 (즉, 1 일 정확도 이내) 인 것으로 신뢰됩니다 ... 또한 가능합니다 날짜 시간이 단조롭게 증가하고 있는지 확인하기 위해 오늘까지 문제의 블록에서 전체 블록 체인을 검사
JoelFan

답변을받는 데 시간이 너무 오래 걸립니다. 해커가 신뢰할 수있는 엔터티를 사용했을 것이므로 신뢰할 수있는 엔터티없이 콘텐츠 제작을 보호 할 수있는 합리적인 방법을 찾지 못했습니다.
Fagner Brack

39

옛날에 과학자 들은 "이 생각을했다"고 말할 수 있도록 그들의 작업에 대한 아나그램 을 출판 할 것입니다. ( '역사'와 '우선 순위 설정'섹션을 살펴보십시오.) 사실, 그들은 그것을 인정하고 싶었지만, 다른 과학자들이 원래의 아이디어를 바탕으로하지 않고 다른 아이디어를 가지고 있다면 결과를 발표하도록했습니다. .

예를 들어, Gallileo 는 라틴어로 번역 된 altissimvm planetam tergeminvm obseravi 의 아나그램 인 SMAISMRMILMEPOETALEVMIBVNENVGTTAVIRAS를 출판 했습니다 . 그는 틀렸다-토성 (당시 알려진 '가장 높은'행성)은 세 부분으로 지어지지 않았다. 50 년 후, Christiaan Huygens는 AAAAAAA CCCCC D EEEEE H IIIIIII LLLL MM NNNNNNNNN OOOO PP Q RR S TTTTT UUUUU 를 라틴어로 Annulo cingitur, tenui, plano, nusquam cohaerente, eclipticam inclinato 로 번역했습니다. 닿지 않고 황도에 편향된 평평한 고리 "

그것들은 현재 관심을 끌고 있지만 중요한 개념을 보여줍니다. "이 해시는이 텍스트를 인코딩합니다"라고 말하기 쉬운 '해시'를 제공합니다. 알려진 텍스트에서 아나그램 또는 해시로 이동하는 것은 쉽지만 처음에 그것이 무엇인지 모른다면 그것이 무엇인지 파악하기는 어렵습니다.

현대적인 메커니즘으로 해시를 수행하는 다른 방법이 있습니다. 그들 중 다수는 암호화와 매우 밀접한 관련이 있습니다. 가 암호화 해시 기능 . 아이디어는 여전히 알고있는 텍스트에서 해시로 이동하는 것이 쉽지만 해시에서 알 수없는 텍스트로 이동하는 것은 어렵습니다.

당신이 프로그램이있는 경우 그래서, 당신이하는 프로그램의 해시 게시 할 수있는 뭔가를 당신이 때 다음과 있는 정보를 공개 할 준비를 (아마도 회사의 수정 후 이상 시간의 기간), 당신은 실제 코드를 게시 할 수 있습니다 누구나이 코드가 해시와 일치한다는 것을 알 수 있습니다.


1
디지털 시대 이전의 해시 사용에 대한 아주 좋은 역사 :)
mika

30

아주 쉽게 할 수 있습니다. 평문 text, 비밀 키 S및 공개 키 PS(text)있는 경우 cipher.

지금 당신은 게시 할 수 있습니다 cipherP하지만 S. 따라서, 모든 사람이 암호를 해독 할 수 cipher와 함께 P수행하여 P(cipher). 지금 당신이 cipher(그리고 원본 을 만든 사람이라는 것을) 증명하고 싶다면, text게시 S하거나-다른 사람이 S를 알지 못하게하려면 다른 것을 만들어 S("I was really the one who found the text first")게시 할 수 있습니다. 암호 해독 된 암호를 생성 할 방법이 없기 때문에 P(cipher)의미있는 텍스트가 생성됩니다.

그것이 당신이 그것을 증명할 수있는 방법입니다.


13
이것이 어떻게 도움이됩니까? 암호를 해독 할 수있는 사람은 누구나 자신의 비밀 키를 사용하여 동일한 방식으로 다시 게시 할 수 있으며 타사가 게시 시간에 대한 일부 기록을 신뢰하지 않고 어느 당사자가 먼저 게시했는지와 다른 당사자가 복사했는지를 입증 할 방법이 없습니다.
R ..

2
@R .. 인터넷의 콘텐츠에는 일반적으로 관련 날짜가 있습니다 (예 : 포럼 게시물). 원래 발명가 / 발견 인이라고 주장하는 사람이 여러 명인 경우 날짜 만 확인하면됩니다.
Paul

2
P (content)를 통해 암호화 된 일부 내용을 일반 텍스트에 포함 할 수도 있습니다. S의 실제 소유자는 해당 추가 정보를 해독 할 수있는 반면, 재 포스터는 그렇게 할 수 없습니다.
Dancrumb

10
@Paul : 그러나 암호화는 관련이 없습니다. 일반 텍스트 컨텐츠를 게시하고 날짜에 의존하는 것과 같습니다.
R ..

2
@R는 .. 생각은 즉, 알고없이 S, 텍스트의 조각을 마련하는 것은 매우 어려운 cipher2P(cipher2)횡설수설하지 않습니다. 함께 S그와 같은 사소한 S("the text you want")= cipher2. 반대로하는 것은 암호화 방법을 물리 치는 것입니다.
congusbongus

21

타임 스탬프하려는 데이터를 해시하여 비트 코인 주소로 변환 할 수 있습니다. 이를 신뢰할 수있는 타임 스탬프라고 합니다. 소액 결제 (사토시 또는 0.00000001 BTC)를 통해 지불 한 주소와 함께 블록 체인에 지불이 저장됩니다.

해시 만 Bitcoin 블록 체인에 저장되므로 아무도 저장된 데이터를 알 수 없지만 사전 해시 된 데이터가 주어지면 해당 주소에 대한 지불이 포함 된 블록 이전에 데이터가 생성되었음을 확인할 수 있습니다.


1

자신이 누구인지 즉시 밝히지 않고 나중에이를 수행 할 수있는 옵션을 제공하지 않고 무언가를 가장 먼저 게시 할 수있는 매우 간단한 방법입니다.

  1. 잘 알려진 공개 소스에 게시 (모든 사용자가 게시 한 것을 볼 수 있음)
  2. 이 발행물에 다음 줄을 추가하십시오. 원래 xxx@gmail.com의 소유자가 dd / mm / yyyy에 발행했습니다.

아무것도 암호화 할 필요가 없습니다.

물론 결과를 아직 게시하고 싶지 않을 수도 있습니다. 이 경우 이메일 주소가있는 회선을 제외한 모든 것을 암호화해야합니다. 그러나 이제는 유명한 사이트에 게시하기가 더 어려울 수 있습니다.


4
"유명한 사이트"가 날짜 나 발행 이메일을 변경하면 어떻게됩니까? 사이트가 해킹 된 경우에도 잘못된 의도로 인해 발생할 수 있습니다. (여기서 나는 편집증이되고 있지만 요점입니다. 원저자 이외의 다른 사람이 증거를 변경하는 방법이 있다면 해결책은 실제로 결정적이지 않습니다). 여기서 요점은 인간 증인에게만 의존하는 것이 아니라, 신뢰할 수있는 기관이 귀하의 콘텐츠를 "게시"하거나 "특허"하지 않아도 특정 방식으로 저작물을 확인할 수있는 방법입니다.
Fagner Brack

@FagnerBrack, arxiv.org 는 거의 1M 연구 논문에 충분한 것으로 입증되었습니다.
Brian S

1
거기에 무엇이든 넣을 수 있습니까 아니면 동료 검토를 통과해야하며 특정 제약 조건 하에서 만 권한이 부여됩니까? 이 질문은 연구 논문을 직접 목표로하는 것이 아니라, 프로그래밍 방식으로 동일한 결과를 얻을 가능성에 관한 것입니다.
Fagner Brack

2
arXiv와 같이 archive.org를 사용하여 게시하십시오. 매우 오래 지속되고 신뢰할 수있는 저장소이지만 arXiv와 달리 무료로 컨텐츠를 업로드 할 수 있습니다. 거기에 게시 한 내용의 타임 스탬프는 매우 신뢰할 수있는 것으로 간주됩니다.
Steve Midgley

1
저는 명성이 지식을 빠르고 안정적으로 전파 할 수있는 유일한 방법이라는 데 동의합니다.
bigstones

0

이것은 valenterry의 답변에 대한 다른 견해입니다.

PGP를 사용하여 수행하는 방법은 다음과 같습니다.

공개 / 개인 키 쌍을 생성하십시오.

  1. 개인 키를 유지하고 비밀 키를 유지해야합니다.
  2. 공개 키를 사용하여 아이디어를 암호화합니다. P (idea)
  3. 당신은 (당신이 아니라 일반적으로) 신뢰할 수있는 곳에 P (idea)를 넣고 시간을 기록합니다.
  4. 아이디어를 먼저 증명해야 할 때 데이터를 저장할 때 타임 스탬프를 얻고 비밀 키로 데이터를 해독합니다. S (P (idea)) => 아이디어

이 방법은 비밀 키를 공개 할 필요가 없으며 일반적으로 나쁜 생각입니다. 물론, 항상 새로운 PGP 키 페어를 만들 수 있습니다. 비용이 들지 않지만 신뢰할 수 있기를 원한다면 비밀 키를 무모하게 나눠서는 안됩니다.

가장 어려운 부분은 시간을 증명하는 것이지만 취약점을 문서화하는 데있어서 100 % 방탄 및 검증 가능한 법원 솔루션이 필요하지 않으며, '충분한'무언가 만 있으면됩니다. 클라우드 서비스 제공 업체 (dropbox, rackspace, google 등)의 로그는 보안 서비스를 구현한다고 가정하면 충분할 것입니다.

또한 아이디어가있는 첫 번째 아이디어가되고 타임 스탬프를 작성하면 아이디어를 생각한 첫 번째 사람이라는 의미는 없었습니다. 누군가가 당신보다 먼저 그것을 생각했지만 타임 스탬프 메커니즘으로 아이디어를 등록하지 않았다면, 그들은 당신이 전에 그것을 만들었다는 것을 증명할 수 없습니다. 그래서, 우리가 누가 먼저 그것을 만들 었는지 알아 내려고 노력하고 있다면, 우리가 아는 모든 것은 당신이 그것을 낸 시간뿐입니다.


-1

어쨌든, 많은 답변이 요점을 놓치고 있습니다.

1) 해커가 암호화와 관련이없는 것.

2) 해커가 시간과 관련이없는 것 (타임 스탬프 등).

해커가 한 일은 공개 문서에 공개적으로 서명 한 것입니다. PGP 서명 (이메일, 워드 문서 등)에 서명하면 서명중인 문서의 해시와 자신의 개인 키의 합인 해시를 만듭니다. 이제 문서의 작성자임을 증명하려면 저자 만 알고있는 개인 키를 "표시"하면됩니다. 암호로 말하면 실제로 키 자체를 표시하지 않고 개인 키를 소유하고 있음을 "표시"할 수 있습니다.

실제로 그는 문서에 디지털 서명을했습니다. 서명을 복사 할 수있는 유일한 사람은 개인 키를 가진 사람입니다. 이 문서가 오늘이나 어제 작성되었거나 문서의 첫 번째 사례라는 말은 없습니다. 해시 타임 스탬프가 많지 않거나 변경 될 것입니다.

시간 내에 무언가를 디지털 서명하는 유일한 방법은 블록 체인을 비트 코인으로 사용하는 것입니다. 시간 검증 없이는 디지털 통화가 없을 수 있습니다. 사람 A가 사람 B에게 돈을 보낸 사실은 우리가 언제 알지 않는 한 관련이 없습니다. 당신은 한 장의 종이가있는 가게에 들어가서 "엄마가 한 번 $ 100를 보냈습니다. 빵을 사고 싶습니다"라고 말할 수는 없습니다. 중간에 다른 사람에게 제공했을 수도 있습니다. 블록 체인은 많은 사람들 (비트 코인 채굴 자)이 거래가 특정 시간에 발생했다는 사실에 동의하게 한 다음 (그 시간을 블록 체인에 영원히 기록함으로써)이 문제를 해결합니다.


2
이것은 이전의 6 가지 답변에서 만들어지고 설명 된 포인트를 넘어서는 실질적인 내용을 제공하지 않는 것 같습니다 (특히, 신뢰할 수있는 타임 스탬프에 대해 많은 것이 기록되었고 비트 코인 접근법이 이미 제시되었습니다)
gnat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.