Yazan : Işılay Ceyhan Kıryaman
BATON, NSA(National Security Agency) tarafından dizayn edilen sınıflandırılmış blok şifrelemedir. Bu şifreleme hakkında halk tarafından çok az şey bilinir.
BATON, 1990’ların başında dizayn edilmiştir, 1995-1998 zaman dilimi içerisinde VPN(Virtual Private Networks) ve voice sistemleri de içeren cihazlarda ortaya çıkmıştır. İçerisinde ayrıca BATON kullanarak trafiği şifreleyen 802.11b PCMCIA kartı bulunur. BATON birçok hesaplamada donanımsal olarak çok hızlıdır. Skipjack ve diğer NSA dizaynı şifrelemelerden çok daha hızlıdır.
NSA’nın şifreleme algoritmalarını kategorize etmek için en azından 3 tane seviyesi vardır. Tip 1, Tip 2 , ve Tip3. Birinci tip en güçlü seviyedir.
Tip1 örnekleri : BATON, JUNIPER, MAYFLY, CRAYON
Tip 2 örnekleri: KEA, BLOWFISH
Tip 3 tüm geri kalan
Birinci tip blok şifreleme olan BATON 320 bit anahtar uzunluğuna sahiptir, bunun 160 biti sağlama için kullanılır. Donanımı kara kutu olarak kullanıp algoritma hakkında bilgi elde etmeye kalkışan kişilerin hayatlarını zorlaştırmak için BATON için bütün anahtarların kripto donanımı tarafından oluşturulması gerçekleştirilmelidir. Saldırganların değişikliğe uğramış anahtarları cihazlara sunmalarını engellemek amacıyla doğal olarak sağlama algoritması gizli tutulmuştur. Geçerli sağlaması olmayan anahtar reddedilir. CBC veya CTR gibi başlangıç vektörü (initialization vector – IV) alan blok şifreleme yönteminde başlangıç vektörü 192 bit uzunluğundadır, ve yine donanım tarafından oluşturulur. Başlangıç vektörü blok uzunluğundan bağımsızdır. Her zamanki gibi başlangıç vektörü blok uzunluğuyla aynı uzunluktadır, bu da başlangıç vektörünün bazı sınıfların sağlamasını da içerdiğini belirtir.
160 bit anahtarın kullanımı enteresandır. Genel olarak mümkün olduğunca uzun ve kullanışlı anahtar kullanmak istenirdi ta ki çoğu dizaynda anahtar uzunluğu şifrelemenin performansını etkilemediği anlaşılıncaya kadar. Buna rağmen eğer bir şifrenin anahtar uzunluğu önemsenmeyerek 2n
işlemle kırılabileceği biliniyorsa n adet bitten oluşan anahtar kullanılabilir. Bu durumda daha uzun bir anahtar kullanmak depolama yerinin boş yere harcanmasıdır. Şöyle bir kuram oluşturabiliriz : 1993’den itibaren NSA 2160 ‘dan daha büyük bir kuvvetle bir şifreleme yapmasından ötürü kendinden emin olamamıştır. Gerçi bu sonuç küçük sayıda veri göstergelerinden çıkartılmıştır.
BATON’un hem 96 bit hem de 128 bit bloklarda kullanılabilme becerisinin genel kritptoloji standartlarına uyması şaşırtıcıdır. Bir olasılık 96 bitin 3 adet 32 bitten, 128 bitin 4 adet 32 bitten oluştuğunu öne sürer. Belki de BATON 96 bit şifrelemede kullanıldığı zaman 32 bitlik kelimeyi dahilen kullanıyordur.Bu kelimelerden biri sabit veya kullanılan anahtara göre değer bazlı veya diğer 3 giriş kelimesidir. Bu sadece blok şifrelemenin çözülmesinin gerekmediği OFB ve CTR gibi belli başlı yöntemlerde çalışır. Eğer hep bu şekilde çalışsaydı ECB ve CBC yöntemlerinde kullanmak olanaksız olurdu.
Halk tarafından bilinen tek NSA dizaynı blok şifreleme Skipjack’tir.Skipjack genel modern dizaynlardan farklıdır. Skipjack algoritması çok hızlı şifrelemelerde kullanılamıyordu. BATON algoritması daha yüksek hızlarda çalışabilir. BATON devlet tarafından kabul edilmiş makamlar dışında kullanılması için tasarlanmamıştı , böylece risk de daha aza indirgenmiştir. BATON muhtemelen NSA’nın önceki yıllardaki dizaynları baz alınarak tasarlanmıştı. BATON şifreleme kamuya yayınlanmadı. NSA’nın misyonu kriptolojideki ilerlemelerini yaymak veya kripto meraklılarını tatmin etmek değildi. Amaç Amerikan hükümetinin hassas iletişimini güvenli hale getirmek ve diğer ülkelerin iletişimine saldırmaktı. Bu amaçlardan hiçbiri dizaynın serbest bırakılarak çoğaltılması değildir, çünkü BATON, diğer ülkelerin istihbarat makamları tarafından tekrar kullanılabilecek enteresan hileler içerir.
Tactical End-to-End Encryption Device (TEED) Force XXI kullanıcıları için end-to-end güvenliği sağlayan şifreleme cihazıdır. TEED üst seviyedeki kullanıcıları, daha düşük seviyedeki kullanıcıların saldırılarına karşı korur. Çok yüksek seviyedeki top secret kişileri network sisteminden korur. TEED için gereken diğer bir gelişme ATM ve IP trafiğini şifrelemekti. Bu kullanım için NSA(The National Security Agency) yeni BATON şifreleme algoritmasını geliştirmiştir.
BATON algoritması, ATM’yi, IP trafiğini şifreler. BATON geleceğe yönelik bir şifreleme tekniğidir.
BATON is çeşitli ürün ve standartlarda kullanılır.
- APCO Project (land mobile radio için genel standart) (Algorithm IDs 01 and 41)
- PKCS#11 (encryption tokens için genel standart)
- CDSA/CSSM (diğer bir genel standart)
- HAIPE-IS (Ipsec’in NSA versiyonu)
- FNBDT ( ileri esnek ses güvenlik protokolü )
- Thales Datacryptor 2000 (İngiliz network şifreleme kutusu)
- SecNet-11 (Sierra chip tabanlı 802.11b PC Card kripto güvenliği)
- Fortezza Plus ( STE’de kullanılan PC Card ürünü)
- SafeXcel-3340 (HAIPIS network şifreleme kutusu )
- Çok sayıda şifreleme modüllerinde:AIM, CYPRIS, MYK-85, Sierra (microchip), ..
PKCS#11
BATON secret key objects
BATON gizli anahtar nesneleri (nesne sınıfı CKO_SECRET_KEY, anahtar tipi CKK_BATON) tek uzunluktaki BATON anahtarlarını tutar.
BATON anahtarlarının 160 adet sağlama biti bulunur ve bu bitler iyi ayarlanmalıdır.
Doğru olmayan sağlama bitleriyle BATON anahtarı yaratmak veya çözmek istendiğinde hata döndürür.
Aşağıdaki örnek şablon BATON MEK gizli anahtar nesnesini yaratır.
CK_OBJECT_CLASS class = CKO_SECRET_KEY;
CK_KEY_TYPE keyType = CKK_BATON;
CK_UTF8CHAR label[] = “A BATON MEK secret key object”;
CK_BYTE value[40] = {…};
CK_BBOOL true = TRUE;
CK_ATTRIBUTE template[] = {
{CKA_CLASS, &class, sizeof(class)},
{CKA_KEY_TYPE, &keyType, sizeof(keyType)},
{CKA_TOKEN, &true, sizeof(true)},
{CKA_LABEL, label, sizeof(label)-1},
{CKA_ENCRYPT, &true, sizeof(true)},
{CKA_VALUE, value, sizeof(value)}
};
Aşağıdaki örnek şablon BATON TEK gizli anahtar nesnesini yaratır.
CK_OBJECT_CLASS class = CKO_SECRET_KEY;
CK_KEY_TYPE keyType = CKK_BATON;
CK_UTF8CHAR label[] = “A BATON TEK secret key object”;
CK_BYTE value[40] = {…};
CK_BBOOL true = TRUE;
CK_ATTRIBUTE template[] = {
{CKA_CLASS, &class, sizeof(class)},
{CKA_KEY_TYPE, &keyType, sizeof(keyType)},
{CKA_TOKEN, &true, sizeof(true)},
{CKA_LABEL, label, sizeof(label)-1},
{CKA_ENCRYPT, &true, sizeof(true)},
{CKA_WRAP, &true, sizeof(true)},
{CKA_VALUE, value, sizeof(value)}
};
BATON Şifre Üretimi
BATON şifresi üretim mekanizması CKM_BATON_KEY_GEN ile belirtilir. Bu mekanizmanın çıktısı Message Encryption Key (MEK) ile adlandırılır. Bir parametresi bulunmaz. Bu mekanizma yeni anahtara CKA_CLASS, CKA_KEY_TYPE, ve CKA_VALUE niteliklerini ekler.
BATON-ECB128, CKM_BATON_ECB128 ile belirtilir. Bu mekanizma BATON 128 bit kod yöntemi ile tek ve çoklu şifreleme ve deşifreleme içindir. Parametresi 24 bitten oluşan başlangıç vektörüdür. Şifreleme sırasında belirli bir başlangıç vektörü belirtilemez. Deşifreleme esnasında belirtilebilir.
Anahtar tipleri ve data uzunluğu kısıtlamaları aşağıdaki tabloda belirtilmiştir.
BATON-ECB96
BATON-ECB96, CKM_BATON_ECB96 ile belirtilir. Bu mekanizma BATON’un 96 bit kod yöntemi ile tek ve çoklu şifreleme ve deşifreleme içindir.
Parametresi 24 bitten oluşan başlangıç vektörüdür. Şifreleme sırasında belirli bir başlangıç vektörü belirtilemez. Deşifreleme esnasında belirtilebilir.
Anahtar tipleri ve data uzunluğu kısıtlamaları aşağıdaki tabloda belirtilmiştir.
BATON-CBC128
BATON-CBC128, CKM_BATON_CBC128 ile belirtilir. Bu mekanizma BATON’un 128 bit şifre blok zincirlemesi yöntemi ile tek ve çoklu şifreleme ve deşifreleme içindir. Parametresi 24 bitten oluşan başlangıç vektörüdür. Şifreleme sırasında belirli bir başlangıç vektörü belirtilemez. Deşifreleme esnasında belirtilebilir.
Anahtar tipleri ve data uzunluğu kısıtlamaları aşağıdaki tabloda belirtilmiştir.
BATON-COUNTER
BATON-COUNTER, CKM_BATON_COUNTER ile tanımlanır. Bu mekanizma BATON’un counter yöntemi ile tek ve çoklu şifreleme ve deşifreleme için kullanılır.
Parametresi 24 bitten oluşan başlangıç vektörüdür. Şifreleme sırasında belirli bir başlangıç vektörü belirtilemez. Deşifreleme esnasında belirtilebilir.
Anahtar tipleri ve data uzunluğu kısıtlamaları aşağıdaki tabloda belirtilmiştir.
BATON-SHUFFLE
BATON-SHUFFLE, CKM_BATON_SHUFFLE ile belirtilir. Bu mekanizma BATON shuffle yöntemiyle tek ve çoklu şifreleme ve deşifreleme için kullanılır.
Parametresi 24 bitten oluşan başlangıç vektörüdür. Şifreleme sırasında belirli bir başlangıç vektörü belirtilemez. Deşifreleme esnasında belirtilebilir.
Anahtar tipleri ve data uzunluğu kısıtlamaları aşağıdaki tabloda belirtilmiştir.
BATON WRAP
The BATON paketleme ve paket açma mekanizması CKM_BATON_WRAP ile belirtilir. Gizli anahtarı (MEK) paketleme ve açma için kullanılan fonksiyondur. SKIPJACK,
BATON, ve JUNIPER anahtarlarını paketleyip açabilir. Parametresi yoktur. Anahtarı açmak için kullanılırken CKA_CLASS, KA_KEY_TYPE, ve CKA_VALUE niteliklerini ekler.
KAYNAKLAR
http://209.85.129.132/search?q=cache:dYJJ7kiYL4cJ:www.globalsecurity.org/military/library/report/1996/army_digit_m-plan96-06imple.htm+%22National+Security+Agency+(NSA)+is+investigating+the+new+BATON%22&cd=3&hl=en&ct=clnk
http://epic.org/crypto/clipper/nsa_responses.html
http://209.85.129.132/search?q=cache:ini2dbhD_PQJ:alphasite.dontassrape.us/storage/totse_archive/www.totse.com/en/bad_ideas/guns_and_weapons/bits.html+%22The+National+Security+Agency+(NSA)+has+funded+a+study+to%22&cd=7&hl=en&ct=clnk
http://archives.neohapsis.com/archives/crypto/2000-q4/0028.html
http://everything2.com/title/baton
http://en.wikipedia.org/wiki/BATON
PKCS #11 v2.11: Cryptographic Token Interface Standard RSA Laboratories Revision 1 ¾ November 2001