PKCS#8 Private-Key Information Syntax
Gelir İdaresi Başkanlığı teknik kılavuzları, Vergi Usul Kanunu ve UBL-TR standartları referans alınarak doğrulanmıştır.
Tanımı ve Amacı
PKCS#8 (Private-Key Information Syntax Standard), asimetrik açık anahtarlı kriptografide (RSA, DSA, ECDSA, Ed25519) özel anahtarların (private key) ve ilgili özniteliklerin standart, taşınabilir ve güvenli bir sözdizimi ile saklanması ve aktarılmasını sağlayan temel PKI spesifikasyonudur. IETF tarafından RFC 5208 ve RFC 5958 olarak tescil edilmiştir.
PKCS#1 standardı yalnızca RSA algoritmasına özgü özel anahtar formatını tanımlarken, PKCS#8 algoritmadan bağımsız genel bir kapsayıcı (wrapper) sağlar. Böylece yazılımlar tek bir standart sözdizimiyle RSA, ElGamal, ECC veya kuantum sonrası kriptografik anahtarları aynı yapıda depolayabilir.
Veri Yapısı ve ASN.1 Sözdizimi
PKCS#8 iki temel ASN.1 yapısı tanımlar:
- PrivateKeyInfo (Şifrelenmemiş Özel Anahtar):
PEM formatında metin olarak görüntülendiğinde başlığıPrivateKeyInfo ::= SEQUENCE { version Version, privateKeyAlgorithm AlgorithmIdentifier, privateKey OCTET STRING, attributes [0] IMPLICIT Attributes OPTIONAL }-----BEGIN PRIVATE KEY-----şeklindedir. - EncryptedPrivateKeyInfo (Parola ile Şifrelenmiş Özel Anahtar):
Özel anahtar PKCS#5 (PBKDF2) ile türetilen simetrik bir anahtarla (AES-256-CBC) şifrelenmiştir. PEM başlığıEncryptedPrivateKeyInfo ::= SEQUENCE { encryptionAlgorithm AlgorithmIdentifier, encryptedData OCTET STRING }-----BEGIN ENCRYPTED PRIVATE KEY-----biçimindedir.
| Özellik | Geleneksel Biçim (PKCS#1) | Modern Standart (PKCS#8) |
|---|---|---|
| Algoritma Desteği | Sadece RSA (Algoritma bilgisi gömülü değildir) | Tüm asimetrik algoritmalar (RSA, ECDSA, Ed25519 vb.) |
| PEM Başlığı (Açık) | BEGIN RSA PRIVATE KEY |
BEGIN PRIVATE KEY |
| PEM Başlığı (Şifreli) | Başlık içi DEK-Info (Eski MD5 tabanlı) |
BEGIN ENCRYPTED PRIVATE KEY (Modern PBKDF2/AES) |
| Öznitelik Ekleme | Desteklemez | Ek meta veriler, sertifika zinciri referansları eklenebilir |
Türkiye Mevzuatı ve E-Dönüşüm Sistemlerindeki Önemi
- Mali Mühür ve HSM Anahtar Aktarımı: Bulut e-fatura entegratörleri, GİB onaylı HSM donanımlarına mali mühür sertifikalarının özel anahtarlarını yüklerken (import) PKCS#8 standardını kullanır.
- Java & .NET Kütüphaneleri: Kamu SM AKİS kütüphaneleri ve GİB e-Fatura Java SDK bileşenleri (
java.security.spec.PKCS8EncodedKeySpec) özel anahtarları daima PKCS#8 formatında işler. - 5070 Sayılı Kanun Uyumlu Güvenli Depolama: Nitelikli elektronik sertifika sahiplerinin özel anahtarlarının sunucu diskinde şifresiz tutulması yasal suç teşkil ettiğinden, dosya tabanlı yedeklemelerde EncryptedPrivateKeyInfo zorunludur.