Vì @Colin đề cập đến lược đồ mà TI hiện đang sử dụng để giao tiếp SSID mạng và cụm từ khóa từ ứng dụng thiết lập đến thiết bị hỗ trợ CC3000 được gọi là Cấu hình thông minh.
Cấu hình thông minh phải truyền thông tin (SSID mạng và cụm từ khóa) từ mạng wifi an toàn đến thiết bị hỗ trợ CC3000 chưa thể giải mã lưu lượng trên mạng đó.
Ban đầu CC3000 không được kết nối với mạng (nhưng có thể giám sát lưu lượng), vì vậy ứng dụng Cấu hình thông minh không thể gửi thông tin trực tiếp đến thiết bị. Thay vào đó, nó gửi các gói UDP đến một máy hiện có khác trên mạng - điểm truy cập wifi (AP). Việc AP không quan tâm đến việc nhận chúng là không liên quan, điều quan trọng là các gói tin có thể nhìn thấy trên mạng.
Mặc dù CC3000 có thể giám sát lưu lượng mà nó không thể giải mã được, nhưng thậm chí không thể chắc chắn rằng một gói được mã hóa nhất định có chứa dữ liệu UDP. Vậy làm thế nào nó có thể chọn ra các gói UDP hoặc làm bất cứ điều gì hữu ích với chúng?
Về cơ bản Cấu hình thông minh mã hóa thông tin của nó không nằm trong nội dung của các gói mà nó đang gửi mà theo chiều dài của chúng. Mã hóa wifi ảnh hưởng đến độ dài của các gói, nhưng theo một cách nhất quán, tức là nó thêm L thêm byte vào kích thước của mỗi gói, trong đó L là một hằng số.
Ứng dụng Cấu hình thông minh mã hóa SSID và cụm từ khóa thành độ dài gói của chuỗi các gói UDP. CC3000 có thể thấy các gói được mã hóa và kích thước của chúng.
Trong nhiều môi trường, CC3000 sẽ có thể thấy lưu lượng truy cập từ nhiều mạng gần đó, vậy làm thế nào để có thể phát hiện ra lưu lượng liên quan? Ngay cả sau khi mã hóa, người ta vẫn có thể thấy các địa chỉ MAC của nguồn và đích của gói để người ta có thể nhóm lưu lượng theo cách này. Ngoài thông tin chính mà Cấu hình thông minh đang cố gửi, nó cũng gửi các mẫu lặp lại độ dài gói thường xuyên, do đó CC3000 nhóm lưu lượng như mô tả và sau đó tìm ra các mẫu như vậy, khi nó tìm thấy chúng trong lưu lượng của một mẫu nhất định cặp nguồn và đích sau đó tập trung vào để khôi phục thông tin chính.
Rõ ràng còn có nhiều hơn thế, ví dụ, ngay cả khi CC3000 đã tìm thấy cặp nguồn và đích, tương ứng với AP và máy chạy ứng dụng Cấu hình thông minh, làm thế nào để lọc các gói Cấu hình thông minh khỏi lưu lượng không liên quan khác đi giữa AP và máy? Tôi đã viết tất cả những điều này lên trong một loạt các bài đăng trên blog.
Chi tiết kỹ thuật nhất bao gồm trung tâm của Cấu hình thông minh - cách mã hóa SSID và cụm từ khóa và truyền chúng sao cho CC3000 có thể nhận chúng:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-transmmit-ssid.html
Sau đó, tôi có một bài đăng ít kỹ thuật hơn, nhiều ý kiến hơn về lý do tại sao bạn nên luôn sử dụng khóa AES với Cấu hình thông minh:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-aes.html
Có một bit kỹ thuật ở giữa mô tả ngắn gọn cách bạn định cấu hình một mật mã trong Java với phép chuyển đổi AES cần thiết để hoạt động như CC3000 mong đợi.
Và cuối cùng là bằng chứng của pudding - Tôi đã viết một ứng dụng để mô phỏng hành vi liên quan đến Cấu hình thông minh của CC3000, tức là nó có thể khôi phục SSID và cụm từ khóa được truyền bởi bất kỳ ứng dụng Cấu hình thông minh nào mà không cần phải giải mã lưu lượng mạng có liên quan. Bạn có thể tìm nơi tải nguồn và tất cả các chi tiết ở đây:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-keyphrase.html
Điều này sẽ cho phép một người kiểm tra hành vi của bất kỳ ứng dụng Cấu hình thông minh nào mà người ta viết, tức là người ta có thể thấy CC3000 có thể tái tạo lại từ dữ liệu được truyền bởi ứng dụng.
Tôi cũng có thêm một vài bài viết liên quan đến Cấu hình thông minh / CC3000:
http://depletionregion.blogspot.ch/search/label/CC3000
Đối với một số thông tin cơ bản, cũng có thể thú vị khi đọc qua các chủ đề này trên diễn đàn TI có liên quan đến CC3000.
Cái đầu tiên bao gồm chính Cấu hình thông minh:
http://e2e.ti.com/support/low_power_rf/f/851/t/253463.aspx
Và một trên mDNS, cơ chế mà ứng dụng Cấu hình thông minh phát hiện ra rằng thiết bị hỗ trợ CC3000 đã tham gia mạng:
http://e2e.ti.com/support/low_power_rf/f/851/p/290584/1020839.aspx
Trong cả hai luồng, một số thông điệp ban đầu có vẻ không liên quan lắm nhưng cũng có một số thông tin thú vị được trộn lẫn. Nhưng cũng có rất nhiều thông tin không chính xác vì vậy đừng cho rằng tất cả đều là thông tin chính xác, thậm chí là thông tin từ nhân viên TI hoặc từ tôi (cuối cùng tôi đã học được rất nhiều nhưng bắt đầu với một số giả định / niềm tin không chính xác).
Bằng sáng chế đã được đề cập một vài lần, tuy nhiên tôi không thể tìm thấy bất kỳ bằng chứng nào cho thấy có bằng sáng chế đang chờ xử lý hoặc được cấp trên công nghệ này.