Sensör trafiğimi şifrelemenin güç etkisi nedir?


13

Tipik bir uygulama türü göz önüne alındığında, 10 dakikada bir (32 bit değer) okuma yapan pille çalışan bir sensör göz önüne alındığında, şifrelenmiş bir iletimle karşılaştırıldığında basit şifrelenmemiş bir hava protokolü seçersem pil ömrü üzerindeki olası etki nedir?

Verilerimin özellikle gizli olmadığını varsayalım, ancak bu soruya göre , aslında önemli bir tasarım maliyeti olmadığı sürece, onu şifrelemeyi düşünmem gerekiyor.

Basitlik için, bir BLE yığınını ve daha basit bir 2.4 GHz protokolünü destekleyen bir nRF51822 SoC kullandığımı varsayalım .

Tek seferlik bir kurulumdan ziyade ticari bir ürün uygulaması düşündüğüm için, şifrelemenin basit bir gizleme yerine kırmak için hesaplama yoğun olması gerekir (2016 bulut hesaplamasının en az 500 $ 'ını söyleyin). Cihazın ürün yazılımına erişimde bile güvenli kalan bir şey.


2
"Cihazın ürün yazılımına erişimde bile güvenli kalan bir şey." geri sayım için hesaplamalı olarak pahalı olan asimetrik kriptografi kullanmanız gerektiği veya geri kazanılamayacağı veya kurtarılamayacağı yerlerde (bilinen düz metin saldırısı vb.) simetrik bir anahtar depolamanız gerektiği anlamına gelir. Tipik olarak, ikinci durumda, ürünün her kopyası benzersiz bir anahtara sahiptir, böylece bir örnekten kurtarma tüm sistemi bozmaz; ancak bu, alıcınızın tüm bu anahtarları saklaması gerektiği anlamına gelir.
Chris Stratton

Yanıtlar:


8

Gücünüzün büyük kısmı, şifreleme rutinlerinde harcanan CPU döngülerine değil, RF iletimine harcanacaktır. İletilen her ek bit, teklif ettiğiniz şifrelemeden daha fazla güce mal olacaktır. Bu, CBC modunda AES kullanmak gibi saf bir yaklaşım alırsanız, her blokta ekstra bitleri taşımak için mesaj boyutunu büyütme riskiniz olduğu anlamına gelir.

İşletmenizin şifrelenmesi gereken verileri belirlerseniz, akış şifreleme bitleri oluşturmak için TO modunda AES kullanmayı düşünün . Sayaç modu, alımın güvenilir olmadığı ve paketlerin kaybolabileceği durumlarla başa çıkmak için pratiktir. Sayaçları senkronize halde tutmanız gerekir, bu nedenle sayacın değerini düzenli olarak iletmenin yüke ekleyeceğini unutmayın. Sayacı tutmak için birkaç baytlık durum ayırmanız gerekir, çünkü şifreli bir bit akışının yeniden kullanılması doğrudan veri kurtarma işlemine yol açabilir.


Kulağa ikna edici geliyor ve bu sefer çok fazla düşünmediğim soruna oldukça farklı bir dönüş yapıyor.
Sean Houlihane

2
TO'nun veri orijinalliği sağlamadığına dikkat edin. Gerçekliğin neden uygulamanızda bir endişe olmadığını anlamadığınız sürece , kimliği doğrulanmış bir şifreleme modu kullanmalısınız.
Gilles 'SO- kötü olmayı bırak'

10

Trafiğinizi güvence altına almak için kullanabileceğiniz çeşitli şifreleme yöntemleri vardır ve her birinin biraz farklı güç kullanımı vardır, bu yüzden birkaç popüler seçenek seçeceğim. Her yöntemi değerlendirmek için kullandığım metodoloji, bulduğunuz ve karşılaştırmak istediğiniz diğer şifrelere uygulanmalıdır.

AES

AES , en popüler simetrik anahtar şifreleme algoritmalarından biridir (bu, şifrelemek ve şifresini çözmek için aynı anahtarı kullandığınız anlamına gelir). Güvenlik açısından, AES güvenli bir bahistir:

En iyi kamu kriptanalizi

Tam kaba kuvvet saldırısından hesaplamalı olarak daha hızlı saldırılar yayınlandı, ancak 2013 itibariyle hiçbiri hesaplamalı olarak mümkün değil.

- Wikipedia

Kağıt Tam AES Biclique Kriptanaliz AES 128 2 gerektirir tarif 126.1 AES-192 2 gerektirir işlemleri 189.7 işlemleri ve AES-256 2 gerektirir 254.4 kırmak için işlemleri. 2.9 GHz işlemcide, her 'işlem'in 1 CPU döngüsü (muhtemelen doğru değil) olduğu varsayıldığında, AES-128'in kırılması çok uzun zaman alacaktır . 10.000 kişi koşarken, neredeyse sonsuza dek sürecek . Dolayısıyla güvenlik burada bir endişe kaynağı değildir; güç yönünü ele alalım.

Bu makale AES ile bir bloğu şifrelemenin 351 pJ kullandığını (sayfa 15) göstermektedir. Diğer yaygın algoritmalar hakkında konuştuktan sonra bunu biraz sonra karşılaştıracağım.

SİMON

Ben daha önce okumaya değer SIMON ve SPECK hakkında bir soru sordum . SIMON'un öne çıktığı yer , sık sık biraz veri şifrelemeniz gereken durumlardır . Daha önce bağladığım makalede, SIMON 64/96'nın 64 bit için 213 pJ kullandığını, bu da sadece 32 bit taşıma yükü göndermeniz gerektiğinde pratik olduğunu belirtiyor.

SIMON 64/96'nın kırılması AES'den önemli ölçüde daha kolaydır ; bağlantılı kağıt Ben 2 anlaşılacağı 63,9 bizim 10 000 CPU kurulumu yüzden operasyonları olabilir şifreleme çatlak sadece bir kaç yıl içinde bin milyonlarca aksine,.

Gerçekten önemli mi?

İletmeyi planladığınız oranda, cevap neredeyse kesinlikle hayır ; kriptografiden enerji kullanımı tamamen ihmal edilebilir olacaktır. AES için günde 50 544 pJ kullanırsınız , bu nedenle 2340 J enerjili ucuz bir karbon-çinko AA pil , cihazın ömrünün çok ötesinde kalır . Hesaplamaları SIMON ile yeniden değerlendirirseniz, bunun da çok uzun bir ömre sahip olduğunu görürsünüz.

Kısacası, çok sık yayın yapmadığınız sürece , radyo güç için daha fazla endişe kaynağıdır . Wikipedia güç kullanımını 0,01 ile 0,5 W arasında aktarır . 0,01 W'da 1 saniye iletirseniz , AES'in gün boyunca yaptığı güçten daha önce zaten kullandınız .

Yine de BLE için muhtemelen varsayılan güvenliğe güvenebilirsiniz; BLE, bağlantı katmanı güvenliği için varsayılan olarak AES-CCM kullanır :

Düşük enerjili Bluetooth'ta şifreleme, AES-CCM şifreleme kullanır. BR / EDR gibi, LE Denetleyici de şifreleme işlevini yerine getirecektir. Bu işlev, FIPS-1971'de tanımlandığı gibi AES-128-bit blok şifrelemesini kullanarak 128-bit anahtardan 128-bit şifrelenmişVeri ve 128-bit düz metinVeri üretir.

Yine de, BLE'nin bağlantı katmanı güvenliğini uygulamasıyla ilgili güvenlik kusurları olduğu konusunda bazı endişeler var; bu AES'de bir kusur değildir; Bluetooth SIG 4.0 ve 4.1'de kendi anahtar değişim mekanizmalarını devirmeye karar verdi . Eliptik Eğri Hellman-Diffie artık desteklendiğinden, sorun 4.2'de çözüldü.


1
"2.9 GHz işlemcide, her bir 'işlemin' 1 CPU çevrimi (muhtemelen doğru değil) olduğunu varsayarsak" - muhtemelen daha düşük hızlarda çalışan ancak döngü başına birden çok sonuç üreten paralel işlemciler (GPU'lar gibi) ile telafi edilir [ve hatta CPU IIRC'de tek çekirdekli 1 işlem / saate yakın elde edin]. Büyüklük derecelerini çok fazla değiştirmez.
Maciej Piechotka

@MaciejPiechotka Bu iyi bir nokta. Önerdiğiniz gibi, büyüklük sırası çok fazla etkilenmemelidir ve üzerinde çalıştığımız ölçeklerde, 10 faktörü hala önemsizdir (10 ^ 33 gün vs 10 ^ 32 gün bir çok kötü!).
Aurora0001

1
AES gibi simetrik bir sistem, her cihazın benzersiz bir anahtarı olmadığı sürece sorunludur - aksi takdirde sadece bir diseke edilen numuneden çıkarılması tüm sistemi kırar.
Chris Stratton

4

Donanım hızlandırmalı kripto yapmıyorsanız, temel (kripto değil) ihtiyaçları için aşırı güç gerektiren bir işlemciye sahip olduğunuz için güç maliyetinin yüksek olması muhtemeldir. Bununla birlikte, çoğu durumda, yine de en fazla gücü tüketen radyo kullanımıdır.

Özellikle bir Bluetooth SOC'ye baktığınız için, çip üzerinde donanım hızlandırmalı kripto bulunan BGM-111'i düşünün . Bu çip ile oynadım ve özellikle kripto fonksiyonlarına bakmama rağmen iyi görünüyor.

Başka bir rota ve muhtemelen cihazın en iyi şekilde parçalansa bile anahtarlarınızı alamadığından emin olmak istiyorsanız 'en iyi' rota. Linux çekirdekleri tarafından desteklenen I2C ve SPI TPM yongalarına sahip OPTIGA TPM gibi bir TPM yongası içerir .

Kısacası, belirli bir donanım kriptosu olmadan pilleri yakacaksınız. Ya bir TPM yongalı bir kart oluşturun ya da yerleşik donanım kriptosuna sahip daha modern bir SoC seçin.


2
Soru, 2.5GHz SoC ve her 10 dakikada bir 32 bit değer göndermeyi önermektedir. Kripto için gereken hesaplama miktarı tamamen göz ardı edilebilir. Öyle ki, SoC görev için aşırı güçlüydü. Ancak her 10 dakikada 32 bit için bulabileceğiniz en ucuz temel işlemci fazlasıyla yeterli olacaktır.
Gilles 'SO- kötü olmayı bırak'

3
10 dakikalık aralıklarla, şifrelemek için ne kadar zaman harcadığının önemi yoktur , sadece ne kadar enerji olduğu önemlidir . Parazit yükler gibi uygulama ayrıntılarına bakmak için, 1 ms'de hızlı bir çipin veya 500ms alan yavaş bir çipin güç tüketiminde kazanıp kazanamayacağını varsayalım. Bir donanım motoru yazılımdan daha iyi olabilir, ancak enerji verimliliği için işi daha hızlı halletmesi önemsizdir.
Chris Stratton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.