uni2u / difs-cxx

DIFS ndn-cxx
Other
1 stars 3 forks source link

HashChain 동작 확인 요청 #19

Open justin-labry opened 3 years ago

justin-labry commented 3 years ago

안녕하세요,

ndn-cxx next-hash를 이용한 hashchain (branch signatureinfo_nexthash) ndnputfile, ndngetfile 시 정상 동작하는지 함께 확인해주실 수 있을까요? 저는 기본 동작은 확인했으나 이상없는지 cross-check를 해보려고요 합니다.

다음주 월요일 오후(10.18) 또는 화요일(10.19) 중 언제 가능하실까요? @sungho-gurumnet

sungho-gurumnet commented 3 years ago

안녕하세요, 저희가 월요일은 오전, 오후에 주간 회의가 있어서 화요일이 좋을것 같습니다. 화요일은 온라인, 오프라인 모두 가능합니다.

branch는 지난번에 validator의 sha256 관련하여 테스트를 진행하느라, signatureinfo_nexthash에서 sha256을 추가하여 signature_nexthash_sha256 branch를 임시로 추가를 해놓은 상태입니다.(ndn cxx master branch에 언젠가는 sha256을 정식으로 지원하지 않을까 싶어 signature_nexthash에 올리지 않고, branch를 따로 만들어놓았습니다) 혹시나 sha256에 대한 검사까지 같이 진행이 필요할 경우 signatureinfo_nexthash_sha256 브랜치로 진행을 하면 되지 않을까 싶습니다.

hashchain에 대한 검사는 difs의 ndnputfile, ndngetfile에도 hashchain이 적용되어 있으나, 단순히 hashchain의 동작 확인을 하기 위해서는 examples에 추가를 해놓은 segment_consumer, segment_producer로 먼저 진행을 하는게 기능 동작 확인을 빠르게 진행할 수 있지 않을까 싶습니다. segment_consumer, segment_producer로 먼저 확인을 한 다음 동작확인이 되면, difs의 ndnputfile, ndngetfile로도 확인을 하면 될것 같습니다.

동작 확인 방법은 말씀해주신다면 저희쪽에서 테스트 코드(정상동작, hashchain을 깨뜨리는 경우, 성능 결과 등)를 작성하여 준비하겠습니다.

@justin-labry

justin-labry commented 3 years ago

예, 그럼 일단 화요일 온라인으로 진행하는 것으로 하시지요. ^^ 제가 동작 확인 방법은 정리하여 이곳에 올리도록 하겠습니다~ 감사합니다~

taewoong0627 commented 3 years ago

안녕하세요.

DIFS 관련하여 hashchain (branch signatureinfo_nexthash)로 ndnputfile, ndngetfile 기본동작을 확인하셨다는 걸로 이해가되는데, 혹시 기본동작이라 하면 validator 를 적용시키지 않고 확인하신건가요?

validator 를 적용시키신다음 확인하신거라면, config 파일 공유해 주시면 감사하겠습니다.

uni2u commented 3 years ago

hash-chain ver2.0 관련하여 validator 부분이 적용된 방법으로 동작합니다. 관련 config 및 설정은 여기에 공유할 예정입니다. ( @justin-labry )

sungho-gurumnet commented 3 years ago

@uni2u @justin-labry 감사합니다.

저희가 hashchain만 별도로 확인을 할때는 validator 까지 적용을 해도 문제가 없음을 확인을 하였는데, difs에 validator 설정을 하니 hash-chain을 사용안하는 command interest 부분에서 validate 문제가 발생하는 현상을 확인하였습니다.

difs 구동시 validator 설정을 잘못 한게 아닌가 싶어서 이전에 기본 동작 확인하실때 설정하셨던 config 파일을 공유해주신다면 감사하겠습니다.

justin-labry commented 3 years ago

@taewoong0627 @sungho-gurumnet @uni2u 네, 저는 일단 difs 에서 ndnputfile, ndngetfile 기본동작을 확인하였습니다. 제가 사용한 config는 https://github.com/uni2u/difs/blob/signatureinfo_nexthash/manager-veri.conf 입니다. 명령어는 build/bin/ndnputfile -i "/example/repo" -I "/example/repo" -c /difs /data11 data32k 점심 먹고 좀 더 자세한 사항을 추가하도록 하겠습니다~

justin-labry commented 3 years ago

저는 data11/%00%01 번째 패킷의 key locator가 없는 에러를 발견했습니다. 좀 더 살펴보고 업데이트 하겠습니다.

sungho-gurumnet commented 3 years ago

@justin-labry

저는 segment_producer, consumer로 확인할때 1번째 패킷의 경우sha256으로 동작시켜야 하기에 https://github.com/uni2u/difs-cxx/blob/signatureinfo_nexthash_sha256/examples/node.conf

처럼 설정을 해서 테스트를 진행 하였었습니다.

1번째 패킷의 key locator를 못 찾는 문제는 sig-type이 sha256일때 key-locator를 찾으려고 시도하는 버그 같더군요... (원래대로라면 sig-type이 sha256 일때는 key-locator를 무시해야 하는데, "/localhost/identity/digest-sha256"의 key를 찾으려고 하는 문제가 있는듯 합니다.)

justin-labry commented 3 years ago

제가 일단 hash-chain을 테스트 하는 방법을 설명해보겠습니다.

  1. ECDSA key를 만든다. ndnsec-key-gen -i /example/repo -t e ndnsec-cert-dump -i /example/repo > repo.cert ndnsec-set-default /example/repo

  2. ndn-cxx는 https://github.com/uni2u/difs-cxx/tree/signatureinfo_nexthash 버전을 사용하고 있다. branch signatureinfo_nexthash

  3. difs 는 https://github.com/uni2u/difs/tree/signatureinfo_nexthash branch signatureinfo_nexthash

실행

  1. nfd

  2. export NDN_LOG="ndn.*=TRACE"; build/bin/ndn-repo-ng -c manager-veri.conf manager-veri.conf 파일은 아래를 사용하였다. https://github.com/uni2u/difs/blob/signatureinfo_nexthash/manager-veri.conf

  3. build/bin/ndnputfile -i "/example/repo" -I "/example/repo" -c /difs /data01 data32k 여기서 -c 옵션은 hashchain을 의미하며 -c 옵션이 없으면 일반적인 ECDSA, RSA 등 데이터 생성이 가능하다.

  4. build/bin/ndngetfile /difs /data01

저는 이렇게 테스트 성공하였으며 지금은 sha256 verify 기능을 포함함한 테스트를 진행중입니다~

uni2u commented 3 years ago

@justin-labry @sungho-gurumnet

DIFS branch signatureinfo_nexthash 관련하여 DIFS master 브렌치 기반으로 리빌드 되어야 명확할 듯 합니다.

현재 signatureinfo_nexthash 브렌치는 유지하되 DIFS master 기반의 코드로 수정후 signatureinfo_nexthash 브렌치에 반영하면 되겠습니다.

방안1:

방안2:

주의

justin-labry commented 3 years ago

@sungho-gurumnet @uni2u

내일 회의 (10월 19일) 오후 4시 어떠신가요? 회의 내용은 제가 signatureinfo_nexthash에서 내일까지 점검한 내용과 구름에서 double-check를 요청할 내용, 그리고 앞으로 일정에 대해서 간단하게 스카이프로 이야기 했으면 합니다.

sungho-gurumnet commented 3 years ago

@justin-labry

넵 괜찮습니다.