KeySpace : Ethereum 및 IPFS를 사용한 종단 간 암호화

in #coinkorea5 years ago

KeySpace는 AirSwap Spaces의 일부로 시작된 신뢰할 수없는 종단 간 암호화 프로토콜입니다 .

우리가 필요한 것
AirSwap은 오프 체인 P2P 메시지 및 체인상의 ID (Ethereum 주소 및 개인 키)의 조정이 필요한 하이브리드 온 체인 / 오프 체인 프로토콜입니다. Ethereum 주소를 제어한다고 주장하는 사람과 온라인으로 채팅 중이라면, 진실을 말하고 있음을 암호로 확인할 수 있어야합니다.

우리는이 필요성을 오프 체인 / 체인 체인 (off-chain / on-chain) 정체성 바인딩이라고 부를 것입니다.

둘째, 온라인 통신은 기본적으로 공개이므로 피어 투 피어 네트워크에서 서로 통신하는 참가자는 암호화 (공개 키 등록)를 조정하는 중앙 기관을 신뢰하지 않고 다른 모든 사람으로부터 메시지를 숨길 수 있어야합니다.

우리는 이것을 신뢰할 수없는 종단 간 암호화 가 필요 하다고 부를 것 입니다.

신뢰할 수없는 종단 간 암호화는 또 다른 필요한 기능을 가능하게합니다. Alice가 Bob에게 메시지를 보내고 Bob이 오프라인 인 경우, Bob은 더 이상 Alice가없는 경우에도 온라인으로 돌아 왔을 때 Bob을 수신 할 수 있어야합니다. 즉, 제 3자는 중간에 배달 대기 메시지를 보관할 수 있어야합니다. 메시지가 암호화되어있는 경우 제 3자가 저장 한 경우에도 Bob 및 Alice 외에는 읽을 수 없습니다.

암호화 된 오프라인 전송 이 필요합니다 .

Ethereum 주소를 제어한다는 것을 입증하기위한 업계 표준은 누군가가 귀하에게 보내는 챌린지에 서명하는 것입니다. 서명을 사용하여 소유권을 증명할 수 있습니다. 그러나 AirSwap 프로토콜 설계와 같이 여러 피어와 동시에 통신하는 경우 일정한 서명이 필요합니다. MetaMask, Ledger 또는 Trust Wallet과 같은 지갑을 사용할 때 지루한 사용자 경험이 필요합니다. 메시지는 일반 텍스트 개인 키를 사용할 때 프로그래밍 방식으로 서명 할 수 있지만 해킹 위험이 커질 수 있습니다. Ethereum 개인 키를 지갑 내부에 안전하게 보관하고 대리인 만 사용할 수 있다면 메모리에 저장할 수있는 다른 개인 키와의 신원을 확인하는 기능을 통해 사용자 상호 작용없이 위험에 노출되지 않고 자동으로 메시지에 서명하고 해독 할 수 있습니다.

필요한 기능을 위임 된 프로그램 권한 이라고 부릅니다.

최근 출시 된 AirSwap Spaces를 통해 우리는 이러한 모든 요구 사항을 충족시킬뿐만 아니라 보안 및 관리 측면에서 종단 간 암호화를 통해 모든 메시징 서비스에서 기대할 수있는 새로운 업계 표준을 제시하는 시스템을 생산에 도입했습니다. 편의.

우리가 만든 것
AirSwap KeySpace : 신뢰할 수없는 엔드 - 투 - 엔드 암호화 서비스

이 시스템과 관련된 구성 요소를 설명하기 위해이 두 시스템이 어떻게 함께 작동하는지 보여줍니다. 키 작성 / 복구 중 및 암호화 된 통신 중에 모두.

키 생성은 다음과 같이 작동합니다.

사용자는 주소에 고유 한 문자열에 서명하여 164 자의 16 진수 문자열을 생성합니다. 이를 서명 된 시드라고합니다. signed-seed는 PGP 키 쌍의 PGP 개인 키를 암호화하는 개인 키로 사용됩니다.

이 응용 프로그램은 openpgp.js 라이브러리를 사용하여 서명 된 시드로 암호화 된 새 PGP 키 쌍을 생성합니다.
사용자는 암호화 된 PGP 개인 키 및 PGP 공개 키가있는 JSON blob을 IPFS의 고정 된 파일로 저장합니다.

그런 다음 사용자는 공개 키에 액세스 할 수있는 (그리고 암호화 된 개인 키를 복구 할 수있는) IPFS 해시에 사용자 주소를 매핑 하는 AirSwap PGP 계약 에 IPFS 해시를 저장합니다 .

IPFS 해시 등록 트랜잭션이 성공하면 사용자는 암호화 된 메시지를 보내고받을 준비가됩니다.

사용자가 새로운 컨텍스트에서 암호화 된 메시지에 액세스하려는 경우 (예 : 다른 컴퓨터에서 회계 원장을 사용하는 경우) 지갑 서명을 사용하여 서명 된 시드를 다시 생성하고 서명 된 시드를 사용하여 저장된 PGP 개인 키를 해독 할 수 있습니다 IPFS에서.

앨리스와 밥 사이에서 활발하게 사용되는 동안 시스템이 어떻게 작동하는지 설명합니다.

airswap.io에서 모든 직접 메시지를 암호화해야하므로 Alice가 Bob과 새 대화를 시작하면 앱에서 계약서에있는 Bob의 PGP 공개 키의 IPFS 해시를 조회합니다.

Bob의 Ethereum 주소로 메시지를 보내기 전에 앱이 Bob의 공개 키로 메시지를 암호화합니다. 또한 Alice의 공개 키로 암호화 된 메시지 사본을 첨부하여 나중에 보내진 메시지를 해독 할 수 있습니다.

Bob은 암호화 된 메시지를 받으면 PGP 개인 키로 해독합니다 (서명 된 시드로 해독 한 후).

이렇게하면 메시지가 암호화 된 상태로 유지되므로 분산 된 공개 컨텍스트에서도 보안 메시징이 가능합니다.

이 접근법의 주요 사용자 경험 중 하나는 암호화 된 메시지에 액세스하기 위해 모든 사용자 요구가 Ethereum 개인 키를 제어한다는 것입니다. 사용자는 원장 하드웨어 월렛을 가지고 여러 컴퓨터에서 사용할 수 있으며 새 장치에서 암호화 된 메시지에 계속 액세스 할 수 있습니다.

기능적으로, 우리는 Ethereum 개인 키 서명의 엔트로피를 사용하여 PGP "두뇌 지갑"을위한 충분히 무작위의 비밀을 생성합니다.

보다 기술적 인 측면에서 KeySpace 시스템의 구현은 개발자의 레포에서 볼 수 있습니다 .

우리는 이것이 생태계에 큰 영향을 미친다고 생각하며, 우리가 상상 한 바깥에서 그 사용법을 보게되어 기쁩니다.

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60625.76
ETH 2898.84
USDT 1.00
SBD 3.62