🔏 봉인 상세 · 7ba3fcfd4b484ab0b5b0db4caebdc0d1

← 대시보드

✅ 검증됨 ◐ 일부 검증 ⚠️ 자가신고(폰이 주장) ℹ️ 메타

기본 정보 ℹ️ 메타

‘서버 받은 시각’만 서버가 찍은 값이고, 나머지는 봉인 번호·형식 같은 식별 정보입니다.

서버 받은 시각
received_at
2026-07-21T04:35:30.060236Z
봉인 번호
seal_id
7ba3fcfd4b484ab0b5b0db4caebdc0d1
봉인 방식
seal_mode
client-hybrid
봉인 형식 버전
version
seal-manifest/0.2

발췌본 만들기 ✅ 검증됨

막대에서 구간을 클릭해 잘라내면, 그 발췌본이 ‘이 원본의 해당 구간’임을 증명하는 봉인이 새로 만들어집니다 (한 칸 = 1초).

막대 = 전체 녹음 (한 칸 = 1초). 한 칸 클릭 = 그 1초 발췌, 두 칸 클릭 = 시작~끝 구간.
선택 없음

사용한 기술 ℹ️ 메타

이 봉인에 쓰인 암호 기술 이름입니다.

정규화 방식
canonicalization
json-sorted-compact-utf8
명세 해시
manifest_hash
sha256
소리 해시
payload_hash
sha256
전자서명 방식
signature
ecdsa-p256-sha256

본인 선언 ⚠️ 자가신고

녹음한 사람이 스스로 선언한 내용입니다. 서명돼 있어 나중에 못 바꾸지만, 그 선언이 ‘사실’인지는 기술이 증명하지 못합니다.

선언한 시각
declared_at
2026-07-21T04:35:30.060236Z
본인이 당사자인가
is_party
True
본인 선언 문구
statement
나는 당사자이며 합법적으로 녹음함

녹음 상황 (폰이 기록) ⚠️ 자가신고

폰의 시계·위치센서가 적은 값입니다 — 아래 ‘신뢰된 시각’과는 별개(폰 시계는 틀릴 수 있음).

부팅 식별자
boot_id
(없음)
녹음 시각 (폰 주장)
captured_at
2026-07-21T04:35:30.060236Z
위치 (GPS)
gps
{"accuracy_m": "4", "fix_at": "2026-07-21T00:24:09Z", "lat": "37.608492", "lon": "126.894032", "source": "gps"}
기기 작동시간(ms)
monotonic_offset_ms
2700292898
통신망 시각
nitz_time
(없음)

오디오 파일 ◐ 일부 검증

‘소리 지문’은 서버가 실제 소리를 다시 계산해 일치 확인했습니다 ✅ · 파일 이름 등 나머지는 폰이 적은 설명입니다.

파일 종류(MIME)
content_type
audio/wav
전체 파일 크기(바이트)
file_size_bytes
381068
파일 이름
filename
recording.wav
파일 형식
kind
wav
발췌 증명용 구조
merkle
{"alg": "rfc6962-sha256", "frame_bytes": 88200, "leaf_count": 5, "leaf_seconds": 1, "root": "9d271a65b5d92770d15726d3e17ba20ad7c59096724f78054d089b006f64bc55", "total_samples": 190512}
‘소리’로 보는 범위
payload_def
wav-fmt-and-data
소리 지문 (변조 탐지용 해시)
payload_sha256
0262d1d9594f04f982d37e464f8fd0dca2e2370e715276c96ec05737a55b087a
소리 부분 크기(바이트)
payload_size_bytes
381048

기기 정보 ⚠️ 자가신고

폰이 주장하는 기기 정보입니다. 다만 ‘이 봉인을 만든 키가 진짜 발급된 기기 키인지’는 아래 ‘키 신원’에서 확인됩니다.

앱 버전
app_version
0.1-dev
기기·앱 증명
attestation
{"issued_at": null, "kind": "deferred", "nonce": null, "token": null}
운영체제
os
android
기기 식별자
uid
android-8a3b16d3785264e9

identity ℹ️ 메타

display_name윤영빈
사용자
user_id
dummy:윤영빈
verification_leveldummy
verified_at2026-07-21T04:35:30.060236Z

음질·형식 ✅ 검증됨

이 파일이 말하는 음질·형식이 실제 파일 내용과 맞는지 서버가 확인했습니다.

비트 심도
bits_per_sample
16
채널 수
channels
1
코덱
codec
pcm_s16le
재생 길이(ms)
duration_ms
4320
샘플레이트(Hz)
sample_rate
44100

전자 서명 ✅ 검증됨

이 공개키로 봉인 내용 전체에 전자서명한 게 맞는지 서버가 확인했습니다 — 내용이 단 한 글자라도 바뀌면 서명이 깨집니다. (폰=하드웨어 키, 서버·인증서=KMS 키)

서명 알고리즘
algorithm
ecdsa-p256-sha256
인증서 체인
cert_chain
[{"issuer_key_id": "e8686c13772e9b93", "not_after": "2026-07-28T04:35:30+00:00", "not_before": "2026-07-21T04:30:30+00:00", "signature": "bulzZI/W/Jb9gF4p9ySOdfoUgqwLGjB0VN2wWZqm6fFfkfYvOyDGjarTJ4AxvRUbYmkMbwnQ+2X8xgbK8nO+Cw==", "subject": {"device_uid": "android-8a3b16d3785264e9", "key_id": "8a3b16d3785264e9", "public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0OkN6KVK4sKvwlQqkii2L437Ij3Z3IzeFNOTjVIorjMcpoOjMtNgRjjV+taV7Kum0ihTpfku9vcn1tfnTCI4rQ==", "user_id": "dummy:윤영빈"}, "version": "seal-cert/0.1"}, {"issuer_key_id": "25eaae2607d1896f", "not_after": "2036-07-18T04:35:30+00:00", "not_before": "2026-07-20T04:35:30+00:00", "signature": "JFZZ44iydwttP0SrO1wm8KCkAW/k3wfn33UWTlK+c4xKQMNb5dDTH6SvQ9QTCxSl74Rfcbpktmg1ZGv84JawDA==", "subject": {"device_uid": "issuing-ca", "key_id": "e8686c13772e9b93", "public_key": "epgIX/egcaU+Dxk9kg6tlEitqkLCMa37K+oYw5O+H8w=", "user_id": null}, "version": "seal-cert/0.1"}]
키 식별자
key_id
8a3b16d3785264e9
공개키
public_key
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0OkN6KVK4sKvwlQqkii2L437Ij3Z3IzeFNOTjVIorjMcpoOjMtNgRjjV+taV7Kum0ihTpfku9vcn1tfnTCI4rQ==
서명 값
value
MEQCIHK9mfmd6ux6rHLtmWUKLDv0lNlTGvPbq/MejmC3TZY3AiALO+03dHXVN3eNEatWvd6silI0C4Owl+Jfy8LqWKH54A==

키 신원 (누가 만든 키인가) ✅ 검증됨

이 봉인을 만든 키가 ‘진짜 발급받은 기기 키’임이 인증서로 신뢰 뿌리까지 확인됐습니다 — 아무 도구로나 위조한 게 아닙니다.

신원 등급
tier
발급된 기기 키 (결속됨)
기기 식별자
device_uid
android-8a3b16d3785264e9
사용자
user_id
dummy:윤영빈

신뢰된 시각 증인 ✅ 검증됨

이 봉인이 ‘이 시각 이전에 존재했다’를 독립 기관(시각 인증기관·블록체인)이 보증합니다. 1개 이상이면 시각 ‘확정’.

시각 인증기관 (RFC3161) · freetsa · 보증 시각 2026-07-21T04:35:31+00:00
opentimestamps · 보증 시각 ?

서버가 따로 보관한 것 ℹ️ 메타

봉인 증거와 별개로 서버가 편의상 보관하는 부가물입니다 (없어도 봉인 증명엔 지장 없음).

원본 음성 보관있음 (S3)
음향 지문 (사본 찾기용 보조)있음
원본 .wav 내려받기 · 이 원본을 직접 들어 봉인된 길이와 비교할 수 있습니다.
원본 번들 JSON 보기
{
  "manifest": {
    "algorithms": {
      "canonicalization": "json-sorted-compact-utf8",
      "manifest_hash": "sha256",
      "payload_hash": "sha256",
      "signature": "ecdsa-p256-sha256"
    },
    "attestation": {
      "declared_at": "2026-07-21T04:35:30.060236Z",
      "is_party": true,
      "statement": "나는 당사자이며 합법적으로 녹음함"
    },
    "capture": {
      "boot_id": null,
      "captured_at": "2026-07-21T04:35:30.060236Z",
      "gps": {
        "accuracy_m": "4",
        "fix_at": "2026-07-21T00:24:09Z",
        "lat": "37.608492",
        "lon": "126.894032",
        "source": "gps"
      },
      "monotonic_offset_ms": 2700292898,
      "nitz_time": null
    },
    "container": {
      "content_type": "audio/wav",
      "file_size_bytes": 381068,
      "filename": "recording.wav",
      "kind": "wav",
      "merkle": {
        "alg": "rfc6962-sha256",
        "frame_bytes": 88200,
        "leaf_count": 5,
        "leaf_seconds": 1,
        "root": "9d271a65b5d92770d15726d3e17ba20ad7c59096724f78054d089b006f64bc55",
        "total_samples": 190512
      },
      "payload_def": "wav-fmt-and-data",
      "payload_sha256": "0262d1d9594f04f982d37e464f8fd0dca2e2370e715276c96ec05737a55b087a",
      "payload_size_bytes": 381048
    },
    "device": {
      "app_version": "0.1-dev",
      "attestation": {
        "issued_at": null,
        "kind": "deferred",
        "nonce": null,
        "token": null
      },
      "os": "android",
      "uid": "android-8a3b16d3785264e9"
    },
    "identity": {
      "display_name": "윤영빈",
      "user_id": "dummy:윤영빈",
      "verification_level": "dummy",
      "verified_at": "2026-07-21T04:35:30.060236Z"
    },
    "interpretation": {
      "bits_per_sample": 16,
      "channels": 1,
      "codec": "pcm_s16le",
      "duration_ms": 4320,
      "sample_rate": 44100
    },
    "received_at": "2026-07-21T04:35:30.060236Z",
    "seal_id": "7ba3fcfd4b484ab0b5b0db4caebdc0d1",
    "seal_mode": "client-hybrid",
    "version": "seal-manifest/0.2"
  },
  "manifest_sha256": "848839a63da9eebba49a3e02b9f0c21e869e7d421769db2d34c7d50602bb5376",
  "seal_status": "temporary",
  "signature": {
    "algorithm": "ecdsa-p256-sha256",
    "cert_chain": [
      {
        "issuer_key_id": "e8686c13772e9b93",
        "not_after": "2026-07-28T04:35:30+00:00",
        "not_before": "2026-07-21T04:30:30+00:00",
        "signature": "bulzZI/W/Jb9gF4p9ySOdfoUgqwLGjB0VN2wWZqm6fFfkfYvOyDGjarTJ4AxvRUbYmkMbwnQ+2X8xgbK8nO+Cw==",
        "subject": {
          "device_uid": "android-8a3b16d3785264e9",
          "key_id": "8a3b16d3785264e9",
          "public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0OkN6KVK4sKvwlQqkii2L437Ij3Z3IzeFNOTjVIorjMcpoOjMtNgRjjV+taV7Kum0ihTpfku9vcn1tfnTCI4rQ==",
          "user_id": "dummy:윤영빈"
        },
        "version": "seal-cert/0.1"
      },
      {
        "issuer_key_id": "25eaae2607d1896f",
        "not_after": "2036-07-18T04:35:30+00:00",
        "not_before": "2026-07-20T04:35:30+00:00",
        "signature": "JFZZ44iydwttP0SrO1wm8KCkAW/k3wfn33UWTlK+c4xKQMNb5dDTH6SvQ9QTCxSl74Rfcbpktmg1ZGv84JawDA==",
        "subject": {
          "device_uid": "issuing-ca",
          "key_id": "e8686c13772e9b93",
          "public_key": "epgIX/egcaU+Dxk9kg6tlEitqkLCMa37K+oYw5O+H8w=",
          "user_id": null
        },
        "version": "seal-cert/0.1"
      }
    ],
    "key_id": "8a3b16d3785264e9",
    "public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0OkN6KVK4sKvwlQqkii2L437Ij3Z3IzeFNOTjVIorjMcpoOjMtNgRjjV+taV7Kum0ihTpfku9vcn1tfnTCI4rQ==",
    "value": "MEQCIHK9mfmd6ux6rHLtmWUKLDv0lNlTGvPbq/MejmC3TZY3AiALO+03dHXVN3eNEatWvd6silI0C4Owl+Jfy8LqWKH54A=="
  },
  "timestamps": [],
  "version": "seal-bundle/0.2"
}