DER 바이너리 (.der)
ITU-T 표준DER (Distinguished Encoding Rules)은 ASN.1 데이터 구조를 위한 엄격한 정형 바이너리 인코딩 표준으로, 보안 인증서와 암호화 키를 모호성 없이 비트 단위로 정확하게 표현합니다.
DER을(를) PEM(으)로 변환
무료 브라우저 내 DER에서 PEM로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 DER 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 DER 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
고정 시그니처 없음(ASN.1 DER 인코딩)ASCII 표현: 고정 ASCII 시그니처 없음
표준화: ITU-T Recommendation X.690
기술 사양
| 컨테이너 아키텍처 | 태그-길이-값(TLV) 트리플을 사용하여 ASN.1 구조를 엄격한 표준 바이너리 형식으로 인코딩 |
| 압축 | 압축되지 않은 바이너리 데이터 |
| 바이트 엔디안 | 빅 엔디언 ASN.1 인코딩 |
| 색 공간 | 해당 없음(암호화 바이너리 스트림) |
| 채널 및 구조 | 암호화 키, X.509 인증서, CRL 및 PKCS 구조 |
| 최대 크기 | ASN.1 길이 제한 없음 |
| 투명도 | 바이너리 ASN.1 데이터 구조 |
| 스트리밍 및 프로그레시브 | 결정론적 단일 패스 정형 디코딩 |
기술 비교 매트릭스: DER 대 경쟁사
| 기술적 속성 | DER (현재) | PEM | CRT | P12 |
|---|---|---|---|---|
| 데이터 표현 | 엄격한 바이너리 ASN.1 인코딩 | Base64 ASCII 아머드 텍스트 | Base64 PEM 또는 바이너리 DER | 암호화된 바이너리 PKCS #12 아카이브 |
| 결정론적 해싱 | 100% 정형화된 비트스트림 | 공백/배너에 따라 다름 | 포맷팅에 따라 다름 | 솔트/IV로 암호화됨 |
| 파일 크기 | 가장 작음 (PEM보다 약 33% 작음) | Base64로 인해 더 큼 (+33%) | Base64로 인해 더 큼 (+33%) | 암호화 래퍼로 인해 더 큼 |
| 자바 및 하드웨어 지원 | 기본 표준 | 자바에서 변환 필요 | 자바에서 변환 필요 | 키스토어로 지원됨 |
일반적인 손상 모드 및 헥스 복구 가이드
OpenSSL 오류: 'asn1 encoding routines:ASN1_get_object:header too long'.
근본 원인: ASN.1 시퀀스 헤더의 손상된 TLV(Tag-Length-Value) 바이트.
복구: File2File.app 인증서 도구를 사용하여 트랜스코딩하여 유효한 DER 정형 바이트를 재구축합니다.
보안 분석 및 파서 공격 벡터
DER 디코더는 정수 언더플로우/오버플로우가 네이티브 암호화 라이브러리에서 버퍼 오버플로우를 유발할 수 있는 길이 서술자를 파싱합니다.
알려진 공격 벡터
- 깊이 중첩된 ASN.1 가변 길이 디코딩 중 정수 오버플로우.
- 잘못된 형식의 비트 문자열을 파싱할 때의 범위를 벗어난 읽기.
- 중첩된 ASN.1 재귀 폭탄을 통한 서비스 거부.
방어적 모범 사례: 최대 재귀 깊이 제한이 강제 적용된 메모리 안전 ASN.1 파서를 사용하십시오.
역사적 배경 및 주요 이력
주요 장점
- 정형화되고 결정론적임: 동일한 데이터가 항상 정확히 동일한 바이너리 해시를 생성하도록 보장하므로 디지털 서명에 필수적입니다.
- PEM보다 더 컴팩트함: Base64 인코딩과 ASCII 배너를 생략하여 오버헤드를 약 33% 절감합니다.
- 하드웨어 보안 모듈(HSM), 스마트 카드 및 자바 키스토어의 기본 형식입니다.
기술적 제한 사항 및 단점
- 바이너리 형식은 텍스트 편집기에서 보거나, 편집하거나, 복사하여 붙여넣을 수 없습니다.
- 텍스트 기반 PEM/CRT 파일을 압도적으로 선호하는 웹 호스팅 환경에서는 상대적으로 드뭅니다.
- 엄격한 인코딩 규칙으로 인해 사소한 패딩 불일치라도 발생하면 파싱이 거부됩니다.
흥미로운 기술적 상식
- DER은 BER(Basic Encoding Rules)의 엄격한 하위 집합입니다. BER은 값을 인코딩하는 여러 유효한 방식을 허용하는 반면, DER은 정확히 하나의 정형화된 방식만 허용합니다.
- DER 파일을 Base64로 인코딩하고 '-----BEGIN CERTIFICATE-----'로 감싸면 표준 PEM 파일이 됩니다.
- 자바의 KeyFactory는 RSA 공개 키와 개인 키를 원본 DER 형식으로 제공하도록 요구합니다.
자주 묻는 기술 질문
DER과 PEM은 어떻게 다릅니까?
DER은 인증서 또는 키의 원시 바이너리 형식입니다. PEM은 동일한 DER 파일을 '-----BEGIN...-----' 배너가 있는 읽기 쉬운 Base64 텍스트로 변환한 것입니다.
DER을 PEM으로 어떻게 변환할 수 있습니까?
.der 파일을 File2File.app에 업로드하면 브라우저에서 바로 1초 만에 표준 .pem 텍스트 인증서로 변환할 수 있습니다.
Java에서 DER 키를 사용하는 이유는 무엇입니까?
JCA(Java Cryptography Architecture)는 네이티브 키 사양을 위해 DER로 인코딩된 PKCS#8 및 X.509 바이트 배열을 사용합니다.