TI CC3000 wifi smart config ทำงานอย่างไร


25

ชิ wifi ti cc3000 มีโหมดกำหนดค่าสมาร์ทพิเศษนี่คือการอนุญาตการกำหนดค่าเริ่มต้นของรายละเอียดการเข้าถึง wifi

เพจ cc3000 วิกิให้รายละเอียดบางอย่างเกี่ยวกับวิธีการทำงานของกระบวนการ

  1. ชิปเข้าสู่โหมด "ฟัง" การกำหนดค่าอัจฉริยะ
  2. แอปพลิเคชันบนสมาร์ทโฟนจะส่งแพ็กเก็ต "UDP" พร้อมการตั้งค่าจุดเชื่อมต่อ
  3. ชิปจับข้อมูลนี้และกำหนดค่าเอง

ฉันรับรู้ถึงการจับแพ็คเก็ตและการดมกลิ่น wifi แต่ชิปจะ "ถอดรหัส" แพ็คเก็ตดิบเพื่อรับข้อมูลใด ๆ ออกมาได้อย่างไร ฉันใช้ wpa2-personal กับ AES บนเราเตอร์ของฉัน


3
ขอขอบคุณที่เริ่มการสนทนาเกี่ยวกับสิ่งนี้ในฟอรัม TI - e2e.ti.com/support/low_power_rf/f/851/p/253463/983616.aspx - ฉันได้ถามคำถามติดตามที่นั่น และไม่ค่อยมีความสุขกับคำตอบ มันดูเหมือนว่า CC3000 อาศัยการรักษาความปลอดภัยผ่านความสับสนหากไม่ได้ใช้มันด้วยคีย์การเข้ารหัส AES โปรดทราบว่าพวกเขาอ้างว่าหน้าตัวประมวลผล. wiki.ti.com/index.php/…ชี้โดย @GregSadetsky ล้าสมัย แต่ไม่เข้าสู่สิ่งที่มันเข้ามาแทนที่
George Hawkins

คำตอบ:


33

ในฐานะที่เป็น @Colin กล่าวถึงโครงการว่า TI ตอนนี้ใช้ในการสื่อสารเครือข่าย SSID และ keyphrase จากโปรแกรมติดตั้งเพื่อ CC3000 ใช้อุปกรณ์ที่เรียกว่าสมาร์ทการกำหนดค่า

การกำหนดค่าอัจฉริยะต้องสื่อสารข้อมูล (เครือข่าย SSID และวลีสำคัญ) จากเครือข่าย wifi ที่ปลอดภัยไปยังอุปกรณ์ที่เปิดใช้งาน CC3000 ซึ่งยังไม่สามารถถอดรหัสการรับส่งข้อมูลบนเครือข่ายนั้นได้

เริ่มแรก CC3000 ไม่ได้เชื่อมต่อกับเครือข่าย (แต่สามารถตรวจสอบปริมาณการใช้งาน) ดังนั้นแอปพลิเคชัน Smart Config จะไม่สามารถส่งข้อมูลไปยังอุปกรณ์ได้โดยตรง แต่จะส่งแพ็กเก็ต UDP ไปยังเครื่องที่มีอยู่ในเครือข่าย - จุดเชื่อมต่อ wifi (AP) การที่ AP ไม่สนใจที่จะรับพวกมันนั้นไม่เกี่ยวข้องมันเป็นเรื่องสำคัญที่แพ็กเก็ตจะปรากฏบนเครือข่าย

ในขณะที่ CC3000 สามารถตรวจสอบปริมาณการใช้งานที่ไม่สามารถถอดรหัสได้ แต่ก็ไม่สามารถบอกได้อย่างชัดเจนว่าแพ็คเก็ตที่เข้ารหัสนั้นมีข้อมูล UDP ดังนั้นมันจะเลือกแพ็คเก็ต UDP หรือทำอะไรที่มีประโยชน์กับพวกเขาได้อย่างไร

โดยทั่วไปการกำหนดค่าอัจฉริยะจะเข้ารหัสข้อมูลไม่ได้อยู่ในเนื้อหาของแพ็กเก็ตที่กำลังส่ง แต่ในความยาว การเข้ารหัส Wifi มีผลต่อความยาวของแพ็คเก็ต แต่ในทางที่สอดคล้องกันนั่นคือการเพิ่ม L ไบต์เพิ่มเติมให้กับขนาดของทุกแพ็กเก็ตโดยที่ L เป็นค่าคงที่

แอปพลิเคชัน Smart Config เข้ารหัส SSID และวลีสำคัญลงในความยาวของแพ็คเก็ตของลำดับของแพ็คเก็ต UDP CC3000 สามารถดูแพ็คเก็ตที่เข้ารหัสและขนาดของมัน

ในหลาย ๆ สภาพแวดล้อม CC3000 จะสามารถเห็นทราฟฟิกจากเครือข่ายหลายแห่งใกล้เคียงดังนั้นมันจะมองเห็นปริมาณการใช้ที่เกี่ยวข้องได้อย่างไร? แม้หลังจากการเข้ารหัสเรายังสามารถเห็นที่อยู่ MAC ของแหล่งที่มาและปลายทางของแพ็กเก็ตเพื่อให้สามารถจัดกลุ่มการรับส่งข้อมูลด้วยวิธีนี้ นอกเหนือจากข้อมูลหลักที่ Smart Config พยายามส่งแล้วยังส่งรูปแบบความยาวของแพ็คเก็ตซ้ำเป็นประจำดังนั้น CC3000 จะจัดกลุ่มทราฟฟิกตามที่อธิบายไว้แล้วมองหารูปแบบดังกล่าวเมื่อพบในทราฟฟิกของ คู่ที่มาและปลายทางนั้นจะมุ่งเน้นในการกู้คืนข้อมูลหลัก

เห็นได้ชัดว่ามีมากกว่านั้นเช่นแม้เมื่อ CC3000 พบคู่ต้นทางและปลายทางที่สอดคล้องกับ AP และเครื่องที่รันแอปพลิเคชัน Smart Config มันกรองแพ็กเก็ต Smart Config อย่างไรจากการรับส่งข้อมูลที่ไม่เกี่ยวข้องอื่น ๆ ระหว่าง AP และเครื่อง? ฉันได้เขียนสิ่งนี้ทั้งหมดในชุดของโพสต์บล็อก

รายละเอียดทางเทคนิคครอบคลุมหัวใจสำคัญของการกำหนดค่าอัจฉริยะ - วิธีเข้ารหัส SSID และวลีรหัสผ่านและส่งสัญญาณให้ CC3000 สามารถรับได้:

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

จากนั้นฉันมีโพสต์ที่มีเทคนิคน้อยกว่ามีความคิดเห็นมากกว่าเกี่ยวกับสาเหตุที่คุณควรใช้คีย์ AES พร้อมการกำหนดค่าอัจฉริยะ:

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

มีบิตทางเทคนิคอยู่ตรงกลางที่อธิบายสั้น ๆ ว่าคุณจะกำหนดค่าตัวเลขใน Java ด้วยการแปลง AES ที่จำเป็นในการทำงานตามที่ CC3000 คาดหวังได้อย่างไร

และในที่สุดก็เป็นข้อพิสูจน์ของพุดดิ้ง - ฉันเขียนแอพพลิเคชั่นเพื่อเลียนแบบพฤติกรรมที่เกี่ยวข้องกับ Smart Config ของ CC3000 นั่นคือมันสามารถกู้คืน SSID และ keyphrase ที่ส่งโดยแอปพลิเคชัน Smart Config ใด ๆ โดยไม่ต้องถอดรหัสเครือข่ายที่เกี่ยวข้อง คุณสามารถค้นหาแหล่งดาวน์โหลดและรายละเอียดทั้งหมดได้ที่นี่:

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

สิ่งนี้ควรเปิดใช้งานหนึ่งเพื่อทดสอบพฤติกรรมของแอปพลิเคชัน Smart Config ใด ๆ ที่เขียนหนึ่งคือสามารถดูว่า CC3000 จะสามารถสร้างใหม่ได้จากข้อมูลที่ส่งโดยแอปพลิเคชัน

ฉันยังมีโพสต์ที่เกี่ยวข้องกับ Smart Config / CC3000 อีกไม่กี่:

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

สำหรับข้อมูลพื้นฐานบางอย่างมันอาจเป็นเรื่องที่น่าสนใจที่จะอ่านกระทู้เหล่านี้ในฟอรัม TI ที่เกี่ยวข้องกับ CC3000

อันแรกครอบคลุม Smart Config ของตัวเอง:

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

และหนึ่งใน mDNS กลไกที่แอปพลิเคชัน Smart Config ตรวจพบว่าอุปกรณ์ที่เปิดใช้งาน CC3000 ได้เข้าร่วมเครือข่าย:

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

ในทั้งสองกระทู้บางข้อความเริ่มต้นอาจไม่เกี่ยวข้องกัน แต่มีข้อมูลที่น่าสนใจบางส่วนปะปนอยู่ด้วย แต่ก็มีข้อมูลที่ไม่ถูกต้องจำนวนมากเช่นกันดังนั้นอย่าคิดว่าข้อมูลทั้งหมดนั้นถูกต้องแม้แต่ข้อมูลจากพนักงานของ TI หรือจากฉัน (ฉันเรียนรู้มากในที่สุด แต่เริ่มจากสมมติฐาน / ความเชื่อที่ไม่ถูกต้อง)

มีการจดสิทธิบัตรไว้สองสามครั้ง แต่ฉันไม่สามารถหาหลักฐานว่ามีสิทธิบัตรที่อยู่ระหว่างการพิจารณาหรือได้รับอนุญาตจากเทคโนโลยีนี้


1
ดูคำตอบนี้พร้อมกับความคิดเห็นที่เกี่ยวข้องกับคำถามที่ฉันถามเกี่ยวกับการแลกเปลี่ยนสแต็คของ Cryto - ดูเหมือนว่าจะแสดงภาพศิลปะก่อนหน้านี้ที่ชัดเจนสำหรับแนวคิดการเข้ารหัสความยาวของแพ็กเก็ตที่เป็นหัวใจของ Smart Config สิ่งนี้ควรเกี่ยวข้องกับการจดสิทธิบัตรส่วนใดส่วนหนึ่งของกระบวนการหรือไม่
George Hawkins

3

หมายเหตุดังที่ระบุไว้ในความคิดเห็นต่อคำตอบนี้และในคำตอบอื่น ๆ คำตอบด้านล่างนี้ไม่ได้สะท้อนถึงกระบวนการปัจจุบัน ทิ้งสิ่งนี้ไว้เพื่อบันทึกทางประวัติศาสตร์


ดูเหมือนว่า CC3000 กำลังฟังอยู่ (ใน "โหมด promiscuous") ในทุกช่องสัญญาณ wifi สำหรับการร้องขอการสอบสวน AP, SSID ของ AP ที่ตรวจสอบ (และปลอม) ที่มีข้อมูลที่ CC3000 ต้องการกำหนดค่าตัวเองเพื่อเชื่อมต่อกับ "จริง" AP ผ่านซึ่งมันจะเชื่อมต่อกับอินเทอร์เน็ต

หลังจากค้นหาเล็กน้อยฉันพบคำอธิบายของการกำหนดค่าครั้งแรกของอุปกรณ์ซึ่งควรทำให้ชัดเจน:

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

บิตที่น่าสนใจที่สุด:

อุปกรณ์เช่นโทรศัพท์มือถือหรือแท็บเล็ตที่ใช้ในการแสดงครั้งแรกจำเป็นต้องกำหนดค่าเพื่อเชื่อมต่อกับ AP ด้วย SSID ที่ออกแบบมาเป็นพิเศษ SSID นี้มีชื่อของ SSID ที่เราต้องการให้ CC3000 เชื่อมต่อรวมถึงข้อมูลเกี่ยวกับตัวเลือกความปลอดภัยเช่นประเภทความปลอดภัยและคีย์


2
จุดเล็ก ๆ น้อย ๆ - CC3000 ใช้โหมดจอภาพเสมอแทนที่จะเป็นโหมดที่มีหลายแบบ วิธีการกำหนดค่าเป็นครั้งแรกที่อธิบายไว้ในคำตอบนี้และในการเชื่อมโยง TI หน้าได้ถูกแทนที่โดยหนึ่งเรียกว่าสมาร์ท Config ซึ่งจะครอบคลุมในของฉันคำตอบ
George Hawkins

2
คำตอบนี้ไม่เกี่ยวข้องกับวิธีการของ SmartConfig แต่กับขั้นตอนเก่าซึ่งไม่ได้ใช้โดยอุปกรณ์ปัจจุบันอีกต่อไป
Johannes Overmann

2

ดูหน้านี้สำหรับข้อมูล

AP ไม่ได้มีส่วนร่วมในกระบวนการนี้ CC3000 กำลังฟังแพ็กเก็ต UDP จากโทรศัพท์มือถือหรืออุปกรณ์อื่น ๆ การสื่อสารนี้ถูกเข้ารหัสด้วย AES ทั้งสองอุปกรณ์มี โทรศัพท์มือถือส่งข้อมูลเกี่ยวกับคีย์ WPA2 เราเตอร์ในแพ็กเก็ตเหล่านี้ CC3000 รู้คีย์ AES ที่ใช้โดยโทรศัพท์มือถือถอดรหัสข้อมูลและเชื่อมต่อกับเราเตอร์


1
สวัสดีจากหน้า "อุปกรณ์ที่ใช้ในการกำหนดค่า (สมาร์ทโฟนแท็บเล็ตหรือพีซี) ยังคงเชื่อมต่อกับเครือข่ายในบ้านของผู้ใช้ในระหว่างกระบวนการกำหนดค่า (ตรงข้ามกับวิธีการอื่น ๆ ที่ต้องตัดการเชื่อมต่อ) เนื่องจากฉันไม่ยกเลิกการเชื่อมต่อที่มีอยู่ของฉันแพ็กเก็ตใด ๆ ที่ส่งจะถูกเข้ารหัสเป็น wpa2 คุณสามารถอธิบายเพิ่มเติมได้หรือไม่
ศรีนคร

@srinathhs: ฉันอธิบายความแตกต่างไม่ได้ โพสต์ในฟอรัม E2E พวกเขาจะตอบ
Gustavo Litovsky

2

@Greg Sadetsky คำตอบ (อธิบาย "การกำหนดค่าครั้งแรก") สรุปขั้นตอนพื้นฐานได้เป็นอย่างดี แต่มันถูกเปิดเผยในการอภิปรายในฟอรัม TI ว่า CC3000 ได้เปลี่ยนกระบวนการซึ่งดำเนินการกำหนดค่าอัตโนมัตินี้ กระบวนการใหม่นี้เรียกว่า "smartconfig" แทนการกำหนดค่าครั้งแรกและเห็นได้ชัดว่า TI กำลังเตรียมการยื่นขอสิทธิบัตรสำหรับเทคโนโลยี ดูเหมือนว่าจะใช้รูปแบบที่คล้ายกันซึ่งมีการส่งคำขอ "สอบสวน" Wi-Fi พิเศษซึ่งเข้ารหัสข้อมูลรับรองเครือข่ายสำหรับ CC3000 อย่างชาญฉลาด

หากคุณเลือกที่จะไม่ใช้คีย์การเข้ารหัส AES สำหรับการกำหนดค่าอัตโนมัติอัลกอริทึม smartconfig จะใช้วิธีการที่ไม่มีเอกสารเพื่อทำให้จุดเข้าใช้งาน SSID และรหัสความปลอดภัยไม่ชัดเจน สิ่งนี้ไม่ปลอดภัยอย่างแน่นอนเพราะหากใครเรียนรู้อัลกอริธึมการทำให้งงงวยผ่านวิศวกรรมย้อนกลับหรือวิธีการอื่น ๆ ความปลอดภัยของเครือข่ายไร้สายจะถูกทำลาย เมื่อยื่นคำขอสิทธิบัตรแล้วจะเป็นความรู้ในโดเมนสาธารณะและคุณต้องใช้คีย์การเข้ารหัส AES กับโหมดการกำหนดค่าอัตโนมัติ CC3000 เพื่อความปลอดภัย

ณ เดือนกันยายน 2556 ยังไม่มีการยื่นคำขอรับสิทธิบัตรตามการพิจารณาคำขอสิทธิบัตร 2012-2013 โดย Texas Instruments ( ลิงก์การค้นหาสิทธิบัตรของ Google: Texas Instruments เรียงตามวันที่ยื่นล่าสุด )

TI ได้รับการยอมรับความไม่มั่นคงของโหมดการตั้งค่าที่ไม่ใช่ AES และได้กล่าวว่าพวกเขาจะแนะนำให้ใช้ AES และทำให้มันเริ่มต้นในอนาคต


สวัสดี Colin คุณพูดถึงว่า ณ เดือนกันยายน 2556 ยังไม่มีการยื่นจดสิทธิบัตร คุณสามารถให้แหล่งที่มาสำหรับสิ่งนั้นได้หรือไม่? ขอบคุณ
Alexandros Marinos

@Alexandros Marinos - ฉันค้นหาสิทธิบัตรออนไลน์เพื่อขอสิทธิบัตรที่ยื่นโดย Texas Instruments และฉันไม่พบสิทธิบัตรใด ๆ ที่ดูเหมือนเกี่ยวข้องกับการเชื่อมต่อกับ LAN ไร้สาย ฉันมองย้อนกลับไปเมื่อปีที่แล้วและไม่เห็นอะไรเกี่ยวข้อง
โคลินดีเบนเน็ตต์

1
ขอบคุณสำหรับคำตอบ ในสหรัฐอเมริกาและสหราชอาณาจักรสิทธิบัตรที่ยื่นยังคงเป็นความลับเป็นเวลา 18 เดือนโชคไม่ดี คุณสามารถดูสิ่งนี้ได้โดยการค้นหาสิทธิบัตรใน Google สำหรับการยื่นขอรับสิทธิบัตรใน 18 เดือนที่ผ่านมา ดังนั้น TI อาจยื่นขอรับสิทธิบัตรในเรื่องนี้ แต่แอปพลิเคชันยังไม่แก่พอที่จะเผยแพร่ การไม่สามารถเห็นสิทธิบัตรนี้น่ารำคาญจริง ๆ เพราะ บริษัท ของฉันค้นพบวิธีการที่จะบรรลุสิ่งเดียวกัน แต่เราไม่แน่ใจว่าจะละเมิดสิทธิบัตรของ TI หรือไม่
Alexandros Marinos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.