Bagaimana cara kerja konfigurasi cerdas wifi TI CC3000?

25

Chip wifi ti cc3000 memiliki mode konfigurasi cerdas khusus, ini memungkinkan konfigurasi awal detail akses wifi.

Halaman wiki cc3000 memberikan beberapa detail tentang bagaimana prosesnya bekerja,

  1. Chip memasuki mode "mendengarkan" konfigurasi cerdas
  2. Aplikasi pada ponsel pintar mengirim paket "UDP" dengan pengaturan titik akses
  3. Chip menangkap data ini dan mengonfigurasi sendiri

Saya mengetahui penangkapan paket dan wifi mengendus, tetapi bagaimana chip "mendekripsi" paket mentah untuk mendapatkan info dari itu? Saya menggunakan wpa2-personal dengan AES di router saya.

srinathhs
sumber
3
Terima kasih telah memulai percakapan tentang ini di forum TI - e2e.ti.com/support/low_power_rf/f/851/p/253463/983616.aspx - Saya telah mengajukan pertanyaan tindak lanjut di sana. Dan tidak terlalu senang dengan jawabannya. Ini tampaknya CC3000 bergantung pada keamanan melalui ketidakjelasan jika salah satu tidak menggunakannya dengan kunci AES. Perhatikan bahwa mereka mengklaim bahwa halaman processors.wiki.ti.com/index.php/… yang ditunjukkan oleh @GregSadetsky sudah usang tetapi tidak membahas apa yang menggantikannya.
George Hawkins

Jawaban:

33

Seperti @Colin menyebutkan skema yang sekarang digunakan TI untuk mengkomunikasikan SSID jaringan dan frasa sandi dari aplikasi pengaturan ke perangkat berkemampuan CC3000 disebut Smart Config.

Smart Config harus mengkomunikasikan informasi (SSID jaringan dan frasa sandi) dari jaringan wifi aman ke perangkat berkemampuan CC3000 yang belum dapat mendekripsi lalu lintas di jaringan itu.

Awalnya CC3000 tidak terhubung ke jaringan (tetapi dapat memonitor lalu lintas), sehingga aplikasi Smart Config tidak dapat mengirim informasinya langsung ke perangkat. Alih-alih mengirimkan paket UDP ke mesin lain yang ada di jaringan - titik akses wifi (AP). Bahwa AP tidak tertarik untuk menerima mereka tidak relevan, hanya penting bahwa paket dapat dilihat di jaringan.

Meskipun CC3000 dapat memonitor lalu lintas yang tidak dapat didekripsi, ia bahkan tidak dapat memastikan bahwa paket terenkripsi yang diberikan berisi data UDP. Jadi bagaimana cara memilih paket UDP atau melakukan sesuatu yang berguna dengan mereka?

Pada dasarnya Smart Config mengkodekan informasinya tidak dalam konten paket yang dikirim tetapi dalam panjangnya. Enkripsi Wifi memengaruhi panjang paket, tetapi dengan cara yang konsisten, yakni menambahkan L byte tambahan ke ukuran setiap paket, di mana L adalah konstanta.

Aplikasi Smart Config mengkodekan SSID dan frasa unik ke dalam panjang paket dari urutan paket UDP. CC3000 dapat melihat paket terenkripsi dan ukurannya.

Di banyak lingkungan, CC3000 akan dapat melihat lalu lintas dari beberapa jaringan terdekat, jadi bagaimana cara melihat lalu lintas yang relevan? Bahkan setelah enkripsi, seseorang masih dapat melihat alamat MAC dari sumber dan tujuan suatu paket sehingga seseorang dapat mengelompokkan lalu lintas dengan cara ini. Selain informasi utama yang ingin dikirim oleh Smart Config, ia juga mengirimkan pola berulang panjang paket secara rutin, sehingga CC3000 mengelompokkan lalu lintas seperti yang dijelaskan dan kemudian mencari pola tersebut, ketika menemukan mereka dalam lalu lintas yang diberikan pasangan sumber dan tujuan kemudian berfokus untuk memulihkan informasi utama.

Jelas ada lebih dari itu, misalnya bahkan ketika CC3000 telah menemukan pasangan sumber dan tujuan, yang sesuai dengan AP dan mesin yang menjalankan aplikasi Smart Config, bagaimana cara memfilter paket Smart Config dari lalu lintas lain yang tidak terkait yang terjadi di antara AP dan mesin? Saya telah menulis ini semua dalam serangkaian posting blog.

Yang paling detail secara teknis mencakup jantung Smart Config - bagaimana ia menyandikan SSID dan frasa sandi dan mentransmisikannya sehingga CC3000 dapat mengambilnya:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-transmitting-ssid.html

Lalu saya punya posting yang kurang teknis, lebih banyak pendapat tentang mengapa Anda harus selalu menggunakan kunci AES dengan Smart Config:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-aes.html

Ada sedikit teknis di tengah yang menjelaskan secara singkat bagaimana Anda akan mengkonfigurasi sandi di Jawa dengan transformasi AES yang diperlukan untuk bekerja seperti yang diharapkan CC3000.

Dan akhirnya bukti puding - Saya menulis sebuah aplikasi untuk meniru perilaku terkait Smart Config dari CC3000, yaitu dapat memulihkan SSID dan frasa sandi yang dikirim oleh aplikasi Smart Config tanpa harus dapat mendekripsi lalu lintas jaringan yang relevan. Anda dapat menemukan tempat untuk mengunduh sumber dan semua detailnya di sini:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-keyphrase.html

Ini harus memungkinkan seseorang untuk menguji perilaku aplikasi Smart Config mana pun yang ditulis, yaitu orang dapat melihat apa yang CC3000 dapat dapat merekonstruksi dari data yang dikirimkan oleh aplikasi.

Saya juga memiliki beberapa posting terkait Smart Config / CC3000 lainnya:

http://depletionregion.blogspot.ch/search/label/CC3000

Untuk beberapa informasi latar belakang, menarik juga untuk membaca utas ini di forum TI yang relevan dengan CC3000.

Yang pertama meliputi Smart Config sendiri:

http://e2e.ti.com/support/low_power_rf/f/851/t/253463.aspx

Dan satu di mDNS, mekanisme di mana aplikasi Smart Config mendeteksi bahwa perangkat berkemampuan CC3000 telah bergabung dengan jaringan:

http://e2e.ti.com/support/low_power_rf/f/851/p/290584/1020839.aspx

Dalam kedua utas, beberapa pesan awal mungkin tampak tidak begitu relevan tetapi ada beberapa informasi menarik yang juga tercampur. Tetapi ada juga banyak informasi yang tidak akurat juga jadi jangan menganggap semua itu benar, bahkan informasi dari karyawan TI atau dari saya (saya akhirnya belajar banyak tetapi mulai dengan beberapa asumsi / kepercayaan yang salah).

Paten telah disebutkan beberapa kali, namun saya tidak dapat menemukan bukti bahwa ada paten yang tertunda atau diberikan pada teknologi ini.

George Hawkins
sumber
1
Lihat jawaban ini , dengan komentar terkait, untuk pertanyaan yang saya ajukan di pertukaran Cryto stack - tampaknya menunjukkan seni sebelumnya yang jelas untuk ide pengkodean panjang paket di jantung Smart Config. Ini harus relevan dengan apakah ada bagian dari proses yang dapat dipatenkan.
George Hawkins
3

NB Seperti disebutkan dalam komentar untuk jawaban ini, dan pada jawaban lain, jawaban di bawah ini tidak mencerminkan prosedur saat ini. Meninggalkan ini untuk catatan sejarah.


Sepertinya CC3000 benar-benar mendengarkan (dalam "mode promiscuous") di semua saluran wifi untuk permintaan penyelidikan AP, SSID AP yang diperiksa (dan palsu) yang berisi informasi yang diperlukan CC3000 untuk mengonfigurasi sendiri agar terhubung ke "benar" AP melalui mana ia akan terhubung ke Internet.

Setelah mencari sedikit, saya menemukan deskripsi konfigurasi pertama kali perangkat ini yang harus menjelaskan:

http://processors.wiki.ti.com/index.php/CC3000_First_Time_Configuration

Yang paling menarik:

Perangkat seperti ponsel atau tablet yang digunakan untuk melakukan pertama kali Konfigurasi perlu dikonfigurasi untuk terhubung ke AP dengan SSID yang dibuat khusus. SSID ini mencakup nama SSID yang ingin kami sambungkan ke CC3000, serta informasi tentang opsi keamanan seperti jenis dan kunci keamanan.

Greg Sadetsky
sumber
2
Minor point - CC3000 selalu menggunakan mode monitor daripada mode promiscuous. Pendekatan Konfigurasi Pertama Kali yang dijelaskan dalam jawaban ini, dan pada halaman TI yang ditautkan, telah digantikan oleh yang disebut Smart Config, yang tercakup dalam jawaban saya .
George Hawkins
2
Jawaban ini tidak terkait dengan pendekatan SmartConfig tetapi dengan prosedur lama yang tidak lagi digunakan oleh perangkat saat ini.
Johannes Overmann
2

Lihat halaman ini untuk informasi.

AP tidak terlibat dalam proses ini. CC3000 mendengarkan paket UDP dari ponsel atau perangkat lain. Komunikasi ini dienkripsi dengan AES, kedua perangkat memilikinya. Ponsel mengirim informasi tentang kunci WPA2 router dalam paket-paket ini. CC3000 mengetahui kunci AES yang digunakan oleh ponsel, menerjemahkan data dan terhubung ke router.

Gustavo Litovsky
sumber
1
Hai, Dari halaman "perangkat yang digunakan untuk mengkonfigurasi (smartphone, tablet, atau PC) tetap terhubung ke jaringan rumah pengguna selama proses konfigurasi (sebagai lawan dari metode lain yang memerlukan pemutusan)." Karena saya tidak memutuskan koneksi saya yang ada paket yang dikirim akan dienkripsi ke wpa2, dapatkah Anda menjelaskan lebih lanjut?
srinathhs
@ sinathaths: Saya tidak bisa menjelaskan perbedaannya. Posting di forum E2E, mereka akan menjawab.
Gustavo Litovsky
2

@Greg Sadetsky menjawab (menggambarkan "Konfigurasi Pertama Kali") merangkum proses dasar dengan baik. Tetapi terungkap dalam diskusi di forum TI bahwa CC3000 telah mengubah proses konfigurasi otomatis ini dilakukan. Proses baru ini disebut "smartconfig" bukan Konfigurasi Pertama Kali, dan TI tampaknya sedang mempersiapkan aplikasi paten untuk teknologi. Tampaknya menggunakan skema serupa di mana permintaan "penyelidikan" Wi-Fi khusus dikirim, yang secara pintar menyandikan kredensial jaringan untuk CC3000.

Jika Anda memilih untuk tidak menggunakan kunci enkripsi AES untuk konfigurasi otomatis, algoritma smartconfig menggunakan metode tidak berdokumen untuk mengaburkan SSID titik akses dan kunci keamanan. Ini pada dasarnya tidak aman karena jika ada yang mempelajari algoritma kebingungan, melalui rekayasa balik atau cara lain, keamanan jaringan nirkabel terancam. Setelah aplikasi paten diajukan, itu adalah pengetahuan domain publik dan Anda harus menggunakan kunci enkripsi AES dengan mode konfigurasi otomatis CC3000 agar aman.

Sampai September 2013 aplikasi paten belum diajukan, berdasarkan tinjauan aplikasi paten 2012-2013 oleh Texas Instruments ( Google Search Patent Link: Texas Instruments, disortir berdasarkan tanggal pengarsipan terbaru ).

TI telah mengakui ketidakamanan mode konfigurasi non-AES dan mengatakan mereka akan merekomendasikan penggunaan AES dan menjadikannya default di masa depan .

Colin D Bennett
sumber
Hai Colin, Anda menyebutkan bahwa per September 2013, paten belum diajukan. Bisakah Anda memberikan sumber untuk itu? Terima kasih.
Alexandros Marinos
@Alexandros Marinos - Saya melakukan pencarian paten online untuk aplikasi paten yang diajukan oleh Texas Instruments, dan saya tidak menemukan paten apa pun yang tampaknya terkait dengan menghubungkan ke LAN nirkabel. Saya melihat kembali tahun lalu dan tidak melihat apa pun yang terkait.
Colin D Bennett
1
Terima kasih atas tanggapannya. Sayangnya, di AS dan Inggris, paten yang diajukan tetap rahasia selama 18 bulan. Anda dapat melihat ini dengan melakukan pencarian paten di Google untuk aplikasi paten yang diajukan dalam 18 bulan terakhir. Jadi TI mungkin telah mengajukan paten untuk ini, tetapi aplikasi tersebut belum cukup umur untuk dipublikasikan. Tidak dapat melihat paten ini benar-benar menjengkelkan karena perusahaan saya juga telah menemukan cara untuk mencapai hal yang sama tetapi kami tidak yakin apakah itu melanggar aplikasi paten TI.
Alexandros Marinos