기술 공유: 블록체인 기술의 "쓰레기 유입 및 배출"
보조 제목
이전에 우리는 "블록체인 기술이 다양한 유형의 데이터에 제공하는 가치", 즉 다양한 데이터의 소스, 불변성 및 신뢰성을 보장하는 블록체인의 기능을 소개하는 기사를 작성했습니다. 이 기사에서는 종종 (의도적으로) 무시되는 또 다른 질문인 데이터가 블록체인과 상호 작용하는 방식에 대해 계속해서 답변할 것입니다. 다른 많은 시스템과 마찬가지로 블록체인 기술은 "Garbage In, Garbage Out"(GIGO)으로 어려움을 겪고 있습니다.
보조 제목
블록체인에 거짓말이전에 게시데이터 관련 기사
이 연구에서 우리는 블록체인 시스템이 블록체인에서 생성되지 않고 비공개로 사용 가능한 데이터의 진위를 보장할 수 없다는 사실을 발견했습니다. 안타깝게도 이러한 데이터는 전 세계적으로 대다수의 데이터입니다. 따라서 누군가(일부 장치)가 사기성 데이터를 블록체인에 제출하면 그 진위를 전혀 확신할 수 없으며 결과적으로 블록체인 기록에 가짜 데이터를 계속 제출하게 됩니다. 따라서 쓰레기를 체인에 넣으면 블록체인이 쓰레기를 반환합니다.
요즘 이 문제를 무시하는 많은 응용 프로그램이 있으며 일반적으로 데이터의 정확성을 보장하기 위해 일부 기술 계층을 추가합니다.다음은 몇 가지 사례입니다.분산형 데이터 시장: 토큰을 사용하여 회사가 데이터를 나열하고 판매하도록 장려——
구매한 데이터가 진짜인지 어떻게 알 수 있습니까?Privacy Preserving Query: 이 서비스는 영지식 범위 증명을 통해 은행의 HNWI 수를 계산하므로 은행이 고객 데이터를 제출하지 않고도 숫자를 수집할 수 있습니다 —
그렇다면 은행이 전체 고객 데이터베이스를 위조하지 않았는지 어떻게 확인합니까?
공개적으로 사용 가능한 데이터의 경우 Chainlink가 설계한 것처럼 위험에 처한 자금을 가진 플레이어가 다른 플레이어 데이터의 신뢰성에 도전하는 게임을 설계할 수 있습니다. 그러나 앞서 말했듯이 전 세계 데이터의 대부분은 공개적으로 사용할 수 없습니다.소스에서 데이터를 보호합니다.
보조 제목
데이터 소스의 보안 보장
소스에서 데이터를 얻지 않고 제3자 또는 중개자를 통해 얻은 경우 중개자를 신뢰하지 않으면 데이터의 진위를 더 이상 신뢰할 수 없습니다. 데이터 관리에 관여하는 중개자가 많을수록 믿을 수밖에 없지만 중개자의 수가 충분히 많으면 난수 생성기에 의해 데이터가 생성될 수 있습니다.
따라서 우리의 목표는 데이터를 소스에 최대한 가깝게 가져오는 것입니다. 예를 들어:
소매업체의 데이터베이스에서 판매 데이터를 가져오는 대신 POS 하드웨어부터 시작하세요.
웹 사이트에서 일기 예보를 구독하는 대신 데이터를 수집하는 기상 센서에 집중하는 것이 좋습니다.
교량 운영자의 PDF 보고서를 보는 것보다 교량 본체 등에 설치된 카메라 및 센서에서 원시 데이터를 얻는 것이 좋습니다.
그러나 소스에서 데이터 보안을 보장하는 방법은 무엇입니까? 세상의 대부분의 데이터는 디바이스에 의해 생성되거나 캡처되기 때문에 여기서는 이 문제를 디바이스에서 생성된 데이터를 보호하는 방법으로 설명할 수도 있습니다. 이제 세 가지 잠재적 실패 지점에 직면해 있습니다.신원:
데이터를 생성하는 장치가 무엇인지 어떻게 알 수 있습니까? 예상했던 온도 센서입니까? 아니면 가해자를 위한 난수 생성기?처리 및 전송:
데이터 소스가 인증되고 식별 가능하더라도 이 데이터가 장치에서 처리 및 전송되는 동안(예: 센서에서 통신 모듈로) 변경, 손상 또는 직접 교체되지 않았는지 어떻게 알 수 있습니까?디지털/아날로그 인터페이스:
이러한 문제를 하나씩 해결해 봅시다.
보조 제목
실용적인 접근
신원:
데이터를 생성하는 장치의 신원을 보호하기 위해 장치에 일련의 공개 및 개인 키를 내장하고 공개 키를 알리고 현장에서 실제 장치의 출력을 확인할 수 있습니다. 하드웨어 ID에 문제가 없는지 확인하는 실용적인 방법입니다. —물론 이것은 비교적 간단한 단계입니다.
까다로운 부분은 이 ID가 도용되지 않았는지 또는 장치에만 알려져 있는지 어떻게 확인합니까? 여기에서 "Secure Element"(Secure Element, SE)라는 하드웨어 모듈을 사용할 수 있습니다. 이 모듈은 칩에서 공개-개인 키 쌍을 생성할 수 있고 변조 방지 기능이 뛰어납니다. 일반적으로 이 보안 모듈은 메시지에 서명하는 한 가지 작업만 수행합니다. - 이것은 신원 증명을 제공하는 좋은 방법입니다. 신용 카드를 소지했거나 최신 스마트폰을 사용해 본 적이 있다면 이미 이 보안 요소의 이점을 누린 것입니다.
처리 및 전송:
데이터 처리 및 전송 로직을 보호하기 위해 보안 부트 프로그램(SB)이 있는 마이크로 컨트롤러(MCU)를 사용합니다. 여기에서 마이크로컨트롤러는 매우 간단한 컴퓨터라고 생각할 수 있습니다.
SB는 올바른 개인 키가 있는 엔터티만 애플리케이션을 MCU에 로드할 수 있도록 합니다. 대신 애플리케이션 로직 및 관련 유효성 검사를 사전에 이해 관계자와 공유(또는 직접 오픈 소스화)하여 로드 후 유효성을 검사할 수 있습니다.
다음으로, 더 중요한 것은 응용 프로그램을 철저히 테스트한 후 응용 프로그램과 MCU에 대한 모든 수정을 비활성화해야 한다는 것입니다. 이는 응용 프로그램의 논리가 제조업체가 아닌 지금부터 완전히 변경되지 않도록 하기 위한 것입니다.
이 솔루션에는 나중에 응용 프로그램을 업데이트할 수 없는 것과 같은 몇 가지 명백한 단점도 있습니다. 그러나 대조적으로 우리는 외부 간섭 없이 진정한 장치 독립성(SE와 결합)을 얻었으며 우리가 신뢰할 수 있을 만큼 완벽한 결정론과 불변성을 가지고 있습니다.
디지털/아날로그 인터페이스
이 문제는 더 어렵고 데이터 수집 및 릴레이 장비에 내장된 하드웨어로는 해결할 수 없습니다. 종종 인터페이스가 중단되지 않도록 혁신적인 메커니즘을 고안해야 하지만 이는 각 애플리케이션에 따라 다릅니다. 예를 들어 보겠습니다.
콜드 체인 물류 회사에 서비스를 제공하는 냉장 트럭이 있고 일상 업무가 지역 슈퍼마켓에 신선한 생선을 배달하는 것이라고 가정합니다. 생선을 신선하게 보관하려면 특정 온도 범위 내에서 보관해야 합니다. 온도가 너무 높으면 생선이 변질되고 온도가 너무 낮으면 생선의 맛과 육질이 나빠집니다. 물류 회사가 계약된 온도 범위를 준수하는지 확인하기 위해 슈퍼마켓은 트럭에 온도 센서를 설치합니다.
하지만 트럭 운전자가 전기료를 절약하기 위해 냉장 장치의 온도를 높인 다음 센서를 제거하고 차량 전면에 있는 쿨러에 넣으면 어떻게 될까요? 센서는 자신이 움직였다는 사실을 결코 알지 못하지만 계약된 온도 범위 내에서 일정한 데이터를 계속 수집하고 보고합니다. 즉, 센서가 속는 것입니다.
이 위험을 완화하는 한 가지 방법은 센서도 냉각 장치에 유선으로 연결하여 제거가 거의 불가능하도록 만드는 것입니다. 그러나 이 대책은 트럭의 나머지 부분이 계약된 것보다 여전히 더 뜨거울 때 센서 주위에 얼음 주머니를 감싸는 것과 같은 어떤 방식으로든 우회할 수 있습니다.
아마도 더 나은 (그리고 약간 더 비싼) 해결책은 각 생선 팩에 변조 방지 밀봉을 하고 각 팩에 온도 센서를 부착하는 것입니다. 이렇게 하면 운전자가 온도 센서를 분해하려면 봉인을 뜯어야 하는데, 이는 계약 핵심 조항 위반임을 쉽게 알 수 있다.


