Với sự phát triển và các ưu điểm về mặt kĩ thuật, các công nghệ truyền dẫn không dây ngày càng được ứng dụng nhiều trong khoa học và đời sống. Các công nghệ không dây đơn giản, linh hoạt và gọn nhẹ. Một vài cái tên có thể kể đến như: Wi Fi, LoRa, Zigbee, NFC, Bluetooth…. Trong đó công nghệ Bluetooth đã phát triển từ lâu và trở thành một chuẩn truyền thông không dây được trang bị sẵn trên các thiết bị điện tử. Với việc có cường độ tín hiệu ổn định, khả năng kết nối nhanh và tương thích với nhiều các thiết thiết bị từ các hang khác nhau, Bluetooth là một kẻ thách thức lớn với các công nghệ vô tuyến khác. Bắt đầu từ phiên bản Bluetooth 4.0, các nhà phát triển đã đưa ra hai hướng chính trong việc định hướng công nghệ này. Bên cạnh việc tiếp tục sử dụng nền tảng Bluetooth cơ bản( đã quen thuộc từ trước tới nay) và tập trung ưu tiên tăng tốc độ truyền tải thì họ cũng công bố công nghệ Bluetooth Low Energy( BLE) như là bản có mức tiêu thụ năng lượng thấp hơn đáng kể. Trong đó, BLE là một bước tiến lớn về công nghệ khi có cơ chế hoạt động khác biệt với Bluetooth cơ bản nên đạt hiệu suất năng lượng tiêu thụ rất thấp. Trong nội dung đồ án “Nghiên cứu về công nghệ BLE và ứng dụng” này, nhóm chúng em xin được trình bày các nội dung liên quan đến kiến trúc, cách thức làm việc và phương thức trao đổi dữ liệu cũng như các ứng dụng của công nghệ BLE
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
NGHIÊN CỨU VỀ CÔNG NGHỆ BLE (BLUETOOTH LOW ENERGY)
VÀ ỨNG DỤNG
HẢI PHÒNG –
Trang 2BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU VỀ CÔNG NGHỆ BLE ( BLUETOOTH LOW ENERGY)
VÀ ỨNG DỤNG
HẢI PHÒNG – 2020
Trang 3LỜI CẢM ƠNNhóm em xin gửi lời cảm ơn chân thành tới tất cả các thầy cô trong KhoaĐiện – Điện tử trường Đại học Hàng hải Việt Nam, đặc biệt là các thầy cô bộmôn Điện tử viễn thông đã giảng dạy, truyền đạt kiến thức và hỗ trợ chúng emtrong suốt quá trình học tập tại trường.
Đặc biệt nhóm em xin được gửi lời cảm ơn sâu sắc tới Thầy người đã giảng dạy, phụ trách hướng dẫn và giúp đỡ chúng em trong quá trìnhthực hiện đồ án Những ý kiến, nhận xét và góp ý của thầy rất chân thành, quýgiá và giúp chúng em hiểu rõ hơn các vấn đề cần nghiên cứu
…………-Nhóm đề tài cũng xin gửi lời cảm ơn tới gia đình, bạn bè đã luôn bên cạnhđộng viên, giúp đỡ và hỗ trợ chúng em hoàn thành khoá học và đề tài tốt nghiệp
Mặc dù đã cố gắng hoàn thiện đề tài nhưng vẫn không tránh khỏi những saisót, nhóm em mong nhận được sự góp ý và chỉ bảo từ thầy cô để hoàn chỉnh đềtài
Em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện đồán
Trang 4LỜI CAM ĐOANKính thưa: Quý thầy cô trong Hội đồng phản biện
Thầy giáo hướng dẫn: ………
Nhóm em gồm các thành viên:
Nhóm em xin cam đoan:
Nhóm đề tài xin cam đoan đồ án tốt nghiệp này là công trình nghiên cứu củariêng nhóm em Các kết quả trong đồ án là do nhóm tự nghiên cứu và tìm hiểu.Nếu có vi phạm quy chế, nhóm em xin hoàn toàn chịu trách nhiệm
Hải Phòng, ngày … tháng ….năm …… Sinh viên thực hiện
Trang 5
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ
LỜI MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VÀ ĐẶC TRƯNG CỦA CÔNG 2
NGHỆ BLE I: TỔNG QUAN VỀ CÔNG NGHỆ BLE 2
1.1 Giới thiệu các công nghệ truyền dẫn không dây 2
1.2 Sự phát triển của Bluetooth 4
1.3 Những yếu tố dẫn đến sự ra đời của công nghệ BLE 5
II: ĐẶC TRƯNG CÔNG NGHỆ BLE 7
1.4 Các cấu hình của BLE 7
1.5 Cấu trúc mạng BLE 8
1.1.1 Cấu trúc kiểu Broadcast và Observer 8
1.1.2 Cấu trúc kiểu Connection 9
1.6 Giao thức và cấu hình 11
1.1.1 Định nghĩa giao thức và cấu hình 11
1.1.2 Mô hình ngăn xếp giao thức 11
1.1.1.1 Mô hình 12
1.1.1.2 Chức năng và mối quan hệ giữa các tầng 12
CHƯƠNG 2: CẤU TRÚC PHÂN TẦNG CỦA CÔNG NGHỆ BLE 14
I: TẦNG CONTROLLER 14
2.1 Lớp vật lý( Physical Layer) 14
2.2 Lớp liên kết(Link Layer) 14
2.3 Giao diện kết nối tầng điều khiển và máy chủ Host Controller Interface (HCI) 19
II: TẦNG MÁY CHỦ HOST 20
Trang 62.4 Lớp giao thức đáp ứng và điều khiển liên kết 20
Logic (Logical Link Control and Adaptation Protocol – L2CAP) 2.5 Giao thức thuộc tính( Attribute Protocol – ATT) 21
2.6 Quản lý bảo mật( Security Manager – SM) 24
2.6.1 Thủ tục an ninh 25
2.6.2 Thuật toán ghép nối 25
2.6.3 Khoá bảo mật 27
2.7 Cấu hình thuộc tính chung (Generic Attribute Profile) 28
2.8 Cấu hình truy cập chung( Generic Access Profile) 29
III: TẦNG ỨNG DỤNG 29
CHƯƠNG 3: CÁC CẤU HÌNH HOẠT ĐỘNG CỦA CÔNG NGHỆ BLE 31
I: CẤU HÌNH TRUY CẬP CHUNG 3.1.Vai trò(Roles) 32
3.2.Các chế độ và thủ tục 33
3.2.1 Truyền phát và quan sát 34
3.2.2 Khám phá( Discovery) 34
3.2.2.1 Các chế độ khám phá thiết bị ngoại vi 35
3.2.2.2 Các thủ tục khám phá 35
3.2.3 Thiết lập kết nối( Connection Establish) 36
3.2.3.1 Các chế độ thiết lập kết nối 36
3.2.3.2 Các thủ tục kết nối 37
3.3.Thủ tục GAP bổ sung( Additional GAP Procedures) 38
3.4.Bảo mật an ninh( Security) 38
3.4.1 Các chế độ bảo mật 39
3.4.2 Các thủ tục bảo mật trong GAP 39
3.1.Định dạng dữ liệu GAP bổ sung(Additional GAP Data Formats) 40
3.5.1 Định dạng dữ liệu quảng cáo 40
3.5.2 Dịch vụ GAP 41
II: CẤU HÌNH THUỘC TÍNH CHUNG 42
3.2.Thuộc tính( Attributes) 43
3.6.1 Xử lý( Handle) 43
3.6.2 Loại thuộc tính (Type) 43
Trang 73.6.4 Giá trị (Value) 45
3.3.Đặc trưng( Characteristics) 45
3.7.1 Thuộc tính khái báo đặc trưng ( Characteristics declaration attribute) 46
3.7.2 Thuộc tính giá trị đặc trưng( Characteristics value attribute) 46 3.5.Dịch vụ GATT 47
CHƯƠNG 4: ỨNG DỤNG CỦA CÔNG NGHỆ BLE VÀ ĐÁNH GIÁ 48
4.1.ỨNG DỤNG TRÊN NỀN TẢNG iOS 48
4.1.1 Ứng dụng mua hàng với iBeacon 48
4.1.1.1 Cấu tạo 48
4.1.1.2 Chức năng 49
4.1.1.3 Phạm vi 50
4.1.2 Ứng dụng trong theo dõi độ ẩm 51
4.1.1.1 Ứng dụng 52
4.1.1.2 Cấu trúc hệ thống 52
4.1.1.3 Đọc dữ liệu độ ẩm 53
4.1.3 Ứng dụng trong nhà thông minh Apple HomeKit dùng sóng BLE 59
.1.4 Ứng dụng Bluezone trong phòng chống COVID-19 60
4.1.4.1 Lợi ích của ứng dụng Bluezone 61
4.1.4.2 Cách thức khai thác tài nguyên 61
4.1.4.3 Hệ thống hoạt động của Bluezone 61
4.2.ĐÁNH GIÁ VÀ TỔNG KẾT 62 TÀI LIỆU THAM KHẢO
Trang 8MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN
API Application Programming
Interface Giao diện lập trình ứng dụng
ATT Attribute Protocol Giao thức thuộc tính
BLE Bluetooth Low Energy Công nghệ Bluetooth tiêu hao năng
lượng thấp
EDR Enhanced Data Rate Tốc độ dữ liệu tăng cường
GAP Generic Access Profile Cấu hình truy cập chung
GATT Generic Attributes Profile Cấu hình thuộc tính chung
HCI Host Controller Interface Giao diện kết nối tầng điều khiển và
tầng máy chủ
IEEE Institute of Electrical and
Electronics Engineers Hội kỹ sư điện và điện tử
IoT Internet of Things Công nghệ Internet kết nối vạn vật
ISM Industrial, Science, Medical Tần số sử dụng cho Công nghiệp,
Khoa học và Y tế
PAN Personal Area Network Chuẩn khu vực mạng lưới cá nhân
Trang 9SIG Special Interest Group Nhóm lợi ích đặc biệt Bluetooth
SM Security Manager Trình quản lý bảo mật
SoC System on Chip Hệ thống tích hợp trên 1 chip vi xử lýUUID Universally Unique
Indentifier Số nhận dạnh duy nhất toàn cầu
Trang 10DANH MỤC CÁC HÌNH
Hình 1 Một số thiết bị sử dụng công nghệ Wifi 3Hình 2 Hệ thống nhà thông minh sử dụng công nghệ Zigbee 3
Hình 4 Các cấu hình và khả năng tương thích của công nghệBLE 8
Hình 9 Các cấu trúc phần cứng của công nghệ BLE 15Hình
Xây dựng hệ thống theo dõi độ ẩm kho hàng sử dụng
Trang 12DANH MỤC CÁC BẢNG BIỂU
Số
Bảng 8 Các trường dữ liệu trong khai báo giá trị thuộc tính đặc
trưng
46
Trang 14LỜI MỞ ĐẦU
Với sự phát triển và các ưu điểm về mặt kĩ thuật, các công nghệ truyền dẫnkhông dây ngày càng được ứng dụng nhiều trong khoa học và đời sống Cáccông nghệ không dây đơn giản, linh hoạt và gọn nhẹ Một vài cái tên có thể kểđến như: Wi Fi, LoRa, Zigbee, NFC, Bluetooth… Trong đó công nghệBluetooth đã phát triển từ lâu và trở thành một chuẩn truyền thông không dâyđược trang bị sẵn trên các thiết bị điện tử Với việc có cường độ tín hiệu ổn định,khả năng kết nối nhanh và tương thích với nhiều các thiết thiết bị từ các hangkhác nhau, Bluetooth là một kẻ thách thức lớn với các công nghệ vô tuyến khác.Bắt đầu từ phiên bản Bluetooth 4.0, các nhà phát triển đã đưa ra hai hướng chínhtrong việc định hướng công nghệ này Bên cạnh việc tiếp tục sử dụng nền tảngBluetooth cơ bản( đã quen thuộc từ trước tới nay) và tập trung ưu tiên tăng tốc
độ truyền tải thì họ cũng công bố công nghệ Bluetooth Low Energy( BLE) như
là bản có mức tiêu thụ năng lượng thấp hơn đáng kể Trong đó, BLE là mộtbước tiến lớn về công nghệ khi có cơ chế hoạt động khác biệt với Bluetooth cơbản nên đạt hiệu suất năng lượng tiêu thụ rất thấp Trong nội dung đồ án
“Nghiên cứu về công nghệ BLE và ứng dụng” này, nhóm chúng em xin đượctrình bày các nội dung liên quan đến kiến trúc, cách thức làm việc và phươngthức trao đổi dữ liệu cũng như các ứng dụng của công nghệ BLE
Đồ án tốt nghiệp bao gồm các nội dung sau;
Chương 1: Tổng quan và đặc trưng của công nghệ BLE
Chương 2: Cấu trúc phân tầng của công nghệ BLE
Chương 3: Các cấu hình hoạt động của công nghệ BLE
Chương 4: Ứng dụng của công nghệ BLE và đánh giá
Trang 15CHƯƠNG 1: TỔNG QUAN VÀ ĐẶC TRƯNG CỦA CÔNG NGHỆ BLE I: TỔNG QUAN VỀ CÔNG NGHỆ BLE
1.1.Giới thiệu các công nghệ truyền dẫn không dây
Trong truyền dẫn thông tin, mặc dù cáp và dây dẫn vẫn giữ vai trò chínhnhưng ngày nay công nghệ không dây đã phát triển ở khắp mọi nơi Bất kỳ dịch
vụ hay ứng dụng nào liên quan đến truyền dẫn dữ liệu đều sẽ có một giải phápkhông dây Điều này hứa hẹn một thế giới công nghệ hoàn hảo trong tương lai.Một số mạng không dây phổ biến hiện nay
a) Wi-Fi
Trước khi Wi – Fi ra đời, việc liên lạc không dây giữa các thiết bị từ cáchãng sản xuất khác nhau là không thể xảy ra Nhưng trước sự phát triển và tiềmnăng lón của truyền dẫn không dây, năm 1997 các nhà phát triển đã tiến hànhthương lượng và cho ra đời chuẩn kết nối IEEE 802.11 Đây là chuẩn cơ bản củatất cả các thế hệ Wi-fi sau này
Wi – Fi (Wireless Fidelity) là công nghệ truyền dẫn không dây sử dụngsóng vô tuyến (hoạt động chủ yếu ở dải tần 2,4GHz – 5GHz) Wifi đã trải quanhiều thế hệ phát triển (từ chuẩn 802.11b cho đến hiện tại là 802.11ac) với sự cảithiện về tốc độ tối đa ngày càng cao hơn Đây là một công nghệ Internet khôngdây phổ biến trong mọi gia đình, cơ quan hay đoàn thể Không những vậy Wi -
Fi còn được dùng để kết nối các thiết bị gia dụng trong gia đình như TV, máy in,đầu DVD với máy tính
Dưới đây là một số thiết bị có thể sử dụng wi-fi như: Máy tính, thiết bịngoại vi, máy nghe nhạc mp3, hộ thống chơi game, smartphone, TV và một sốthiết bi gia dụng khác
Trang 16Hình 1: Một số thiết bị sử dụng công nghệ Wifi
b) Zigbee
Một chuẩn truyền thông không dây khác là Zigbee Đây là công nghệ sửdụng tiêu chuẩn khu vực mạng lưới cá nhân(PAN) 802.15.4 của IEEE, đã tồn tạihơn một thập kỷ Nó được xem là một giải pháp thay thế cho Wi-Fi và Bluetoothcủa một số ứng dụng bao gồm các thiết bị sử dụng năng lượng thấp mà khôngcần nhiều băng thông - như các hệ thống cảm biến trong nhà thông minh
Hình 2: Hệ thống nhà thông minh sử dụng công nghệ Zigbee
Trang 17Zigbee hoạt động dựa trên việc quét các kênh tín hiệu và sau đó gia nhậpmạng để truyền dẫn giữa các thiết bị trên cùng một kênh Zigbee có phạm vithông tin vào khoảng từ 75 – 100m Hiện nay, Zigbee được sử dụng chủ yếu ởdải tần từ 2.4 GHz đến 2.4835 GHz với tốc độ hạn chế chỉ 250kb/s Tuy nhiênvới đặc tính bảo mật, giá thành rẻ và ổn định nên Zigbee vẫn rất hữu ích cho cácứng dụng: nhà thông minh, tự động hoá hay chăm sóc sức khoẻ.
c) Mạng LoRa
Công nghệ truyền thông không dây sử dụng mạng LoRa (Long Range) làmột ý tưởng hay trong việc thực hiện hoá IoT( Internet of Things) LoRa là côngnghệ truyền thông tầm xa năng lượng thấp Nó có thể truyền dẫn trong phạm vihàng km với sự tiêu thụ năng lượng thấp Ngoài ra khả năng mở rộng mạng giúp
dễ dàng mở rộng các kết nối tới các thiết bị trong hệ IoT Công nghệ này có thểđược dùng để theo dõi hàng tồn kho, đo lường từ xa hay báo cáo dữ liệu
Hình 3: Ứng dụng của công nghệ LoRa
1.2.Sự phát triển của Bluetooth
Với mục đích cho ra đời một chuẩn kết nối không dây để thay thế cho việctruyền thông qua cáp vật lý RS 232, năm 1994 Tiến sĩ Jaap Haartsen đã tạo raBluetooth Bluetooth hoạt động dựa trên việc truyền thông qua sóng vô tuyến ở
Trang 18băng tần UHF từ 2.4 GHz đến 2.485 GHz Công nghệ này phục vụ chủ yếu chothông tin tầm gần với năng lượng thấp giữa các thiết bị điện tử.
Vào năm 1999, phiên bản thương mại đầu tiên của Bluetooth – Bluetooth1.0 được phát hành Lúc này các thiết bị ngoại vi đã dần được hỗ trợ như: vi xử
lí, chuột, card máy tính và đặc biệt là sự bùng nổ của điện thoại vào đầu thế kỉXI
Hiện tại qua hơn 20 năm phát triển, Bluetooth đã công bố tất cả 5 phiên bảnvới sự gia tăng về tốc độ và phạm vi truyền dẫn như trong bảng sau:
Bảng 1: Các thế hệ của công nghệ Bluetooth
Bluetooth1.0 (1999)
Bluetooth2.0 +EDR( 2004)
Bluetooth 3.0+ HS (2009)
Bluetooth4.0 +LE( 2013)
3 Mbps vớiEDR và24Mbps( chuẩ
n 802.11)
3 Mbps vớiEDR và1Mbps( tiế
t kiệmnănglượng)
3 Mbpsvới EDR
và 2Mbps( tiếtkiệm năng
lượng)Khoảng
cách tối
đa
Bluetooth được ứng dụng rất nhiều trong các lĩnh vực:
- Điều khiển và truyền thông không dây giữa các thiết bị di động: máy tính,
điện thoại, tai nghe
- Thực hiện kết nối với các thiết bị ngoại vi: bàn phím, chuột, máy in
- Thay thế giao tiếp có dây truyền thống, giao tiếp bằng tia hồng ngoại
1.3.Những yếu tố dẫn đến sự ra đời của công nghệ BLE
Trang 19Mặc dù có nhiều ưu điểm song Bluetooth vẫn còn tồn tại một số hạn chếchính như sau:
- Phạm vi hoạt động gần, số lượng các kết nối nhỏ
- Thông lượng thông tin thấp giới hạn về tin tức truyền dẫn
- Vấn đề bảo mật thông tin khi đây là một công nghệ mở
- Nhiễu sóng điện từ do sử dụng chung dải tần với công nghệ Wifi
- Sự tiêu thụ năng lượng khả năng duy trì hoạt động trong thời gian dài
Với tất cả các yếu tố trên, từ phiên bản Bluetooth 4.0 trở đi, nhóm Lợi íchđặc biệt Bluetooth (SIG) đã quyết định phát hành các phiên bản hỗ trợ cả 2chuẩn Bluetooth cổ điển ( Classic) và Bluetooth Low Energy ( BLE) Trong đó,phiên bản Classic ưu tiên cải thiện tốc độ truyền dẫn lên cao hơn Phiên bảnBLE đang là xu thế chính khi hướng tới sự tiết kiệm năng lượng nhằm duy trìhoạt động lâu dài
Theo SIG công bố Bluetooth Low Energy được viết tắt là BLE (cũng đượcgiới thiệu như là Bluetooth Smart) bắt đầu như một phần của đặc điểm kỹ thuậtcốt lõi của Bluetooth 4.0 Có thể thấy BLE như một phiên bản nhỏ hơn, được tối
ưu hóa cao hơn so với Bluetooth cổ điển Nhưng trên thực tế BLE là một dòngriêng biệt và mang mục tiêu thiết kế hoàn toàn khác
Sự phát triển của BLE là rất nhanh chóng và có nhiều tiềm năng do:
- So với các tiêu chuẩn không dây khác, sự tăng trưởng nhanh chóng củaBLE tương đối dễ giải thích vì số phận của nó gắn chặt với sự phát triểnphi thường của điện thoại thông minh, máy tính bảng và điện toán di động.Việc áp dụng sớm và tích cực BLE của các công ty lớn trong ngành di độngnhư Apple và Samsung đã mở ra cánh cửa cho việc triển khai BLE rộng rãi
hơn
- Trong thời điểm thị trường di động và máy tính bảng ngày càng trở nêncạnh tranh, chi phí và lợi nhuận ngày càng giảm, nhu cầu kết nối với thếgiới bên ngoài trên các thiết bị này có tiềm năng tăng trưởng rất lớn và nómang đến cho các nhà cung cấp thiết bị ngoại vi một giải pháp mới
Trang 20- Ta cũng có thể thấy hầu hết trên các thiết bị di động đều có trang bị phầncứng hỗ trợ BLE Với ưu điểm kết nối nhanh chóng, dễ dàng, riêng tư vàđặc biệt tiết kiệm năng lượng, các thiết bị di động có thể liên lạc, trao đổi
dữ liệu qua lại với nhau chứ không đơn thuần nhận tin một chiều như phiênbản Classic trong thời gian rất dài Điều này hỗ trợ rất tốt cho các ứng dụng
theo dõi sức khoẻ, các theo dõi lịch trình cá nhân, giám sát cộng đồng…
- Bên cạnh đó với việc là một môi trường mở và thân thiện, người sử dụng
rất dễ dàng tiếp cận và nhanh chóng làm quen với các ứng dụng BLE
- Việc BLE có một ngăn xếp giao thức gọn nhẹ, cấu trúc dữ liệu dễ hiểu nênviệc phát triển các ứng dụng rất dễ dàng ngay cả với những người ít amhiểu về công nghệ
II: ĐẶC TRƯNG CÔNG NGHỆ BLE
Công nghệ BLE vẫn đang phát triển song song với Bluetooth basic, tuynhiên đang ngày càng có nhiều các thiết bị Bluetooth cố điển tham gia vào mạngBLE Và kể từ phiên bản 4.0, SIG đã quy định hướng dẫn rõ ràngvề các đặc tính
kĩ thuật riêng của BLE Trong nội dung phần này, nhóm em sẽ trình bày cho tiếtcác đặc trưng của công nghệ BLE
1.4.Các cấu hình của BLE
- BR/EDR (classic Bluetooth)
Tiêu chuẩn không dây đã phát triển với Đặc điểm kỹ thuật Bluetooth kể từ phiênbản 1.0
- BLE (Bluetooth Low Energy)
Tiêu chuẩn không dây công suất thấp được giới thiệu với phiên bản 4.0 củathông số kỹ thuật Và đây là hai loại thiết bị được sử dụng với các cấu hình này:
Single-mode (BLE, Bluetooth Smart) device: Thiết bị chế độ đơn có thể giao
tiếp với các thiết bị chế độ đơn và chế độ kép, nhưng không phải với các thiết
bị chỉ hỗ trợ BR / EDR
Trang 21 Dual-mode (BR/EDR/LE, Bluetooth Smart Ready) device: Một thiết bị triển
khai cả BR / EDR và BLE, có thể giao tiếp với bất kỳ thiết bị Bluetooth nào
Dưới đây là hình ảnh về các cấu hình và khả năng kết nối của công nghệBluetooth
Hình 4: Các cấu hình và khả năng tương thích của công nghệ BLE
1.5.Cấu trúc mạng BLE
Thiết bị Bluetooth Low Energy có thể giao tiếp với thế giới bên ngoài theohai cách: phát sóng hoặc kết nối Mỗi cơ chế có những ưu điểm và hạn chế riêng
và cả hai đều tuân theo các nguyên tắc đã được thiết lập
1.1.1 Cấu trúc kiểu Broadcast và Observer( Phát sóng không kết nối)
Đây là cấu trúc đơn giản và dễ gặp nhất trong việc truyền dữ liệu trongcông nghệ BLE Sử dụng tính năng phát sóng không kết nối, đài phát có thể gửi
dữ liệu tới bất kì đài thu hay thiết bị nào đang trong phạm vi phủ sóng mà có khảnăng thu nhận và xử lý thông tin
Trang 22Hình 5: Cấu trúc kiểu đài phát không kết nối
Trong cấu trúc này, việc phát sóng sẽ có hai nhiệm vụ:
Broacaster (Đài phát – Thiết bị phát): Phát đi các gói tin dạng quảng cáo cho
bất kì thiết bị nào có thể thu nhận theo định kì
Observer (Đài thu – thiết bị thu): Tiến hành quét liên tục các tần số đặt trước
để có thể nhận được các gói tin
Như vậy, việc phát sóng là điều quan trọng vì đó là cách duy nhất để mộtthiết bị truyền tải dữ liệu cho nhiều hơn một máy ngang hàng với nó tại một thờiđiểm Một gói tin sẽ có dung lượng 31 byte và thông tin chứa đựng là dạngthông tin chung và ít sự đặc biệt nên hay được gọi là chế độ quảng bá
Ưu, nhược điểm của cấu trúc phát sóng:
- Nguyên lý đơn giản, thiết lập dễ dàng, truyền tin nhanh chóng
- Số lượng thiết bị tiếp cận được thông tin cao
- Thích hợp cho việc phát quảng bá các gói tin dung lượng nhỏ, thông tin
dạng mở
- Tuy nhiên một hạn chế chính của việc phát sóng khi so sánh với kết nối(Connections) thông thường là không có quy định bảo mật hoặc quyềnriêng tư nào với nó (bất kỳ thiết bị thu nào cũng có thể nhận dữ liệu đangđược phát sóng), vì vậy nó có thể không phù hợp với dữ liệu cần bảo mật
1.1.2 Cấu trúc kiểu Connection ( Kết nối)
Trang 23Khi cần truyền tải dữ liệu dung lượng lớn hơn 31 byte, các thông tin cần có
sự tổ chức và sắp xếp theo đặc tính hoặc cần tương tác theo hai chiều ta phải sửdụng cấu trúc kết nối Kết nối là sự trao đổi dữ liệu thường xuyên, định kỳ củacác gói giữa hai thiết bị
Trong cấu trúc kết nối, ta thấy hai thiết bị có vai trò riêng biệt:
Central (master): Liên tục quét theo các tần số đã định trước và khi phát hiện
có thiết bị yêu cầu kết nối, nó sẽ tiến hành thiết lập và bắt đầu trao đổi dữ liệu
theo chu kì Trong quá trình trao đổi, máy chủ sẽ kiểm soát timing
Peripheral (slave): Khi có yêu cầu trao đổi dữ liệu, máy thợ sẽ gửi đi các góitin quảng cáo chứa thông tin về mình và yêu cầu kết nối Sau khi được máychủ đồng ý và thiết lập kết nối, hai bên sẽ trao đổi dữ liệu và máy thợ chịu sựkiểm soát thời gian của máy chủ
Một lưu ý trong mô hình này là việc định nghĩa Master – Slave chỉ mang tínhnhất thời Việc trao đổi dữ liệu diễn ra theo cả hai chiều nên vai trò này hoàntoàn có thể thay đổi trong một chu kì
Hình 6: Mô hình kiểu kết nối
Ưu, nhược điểm của cấu trúc Connection:
- Lợi thế lớn nhất của kết nối (khi so sánh với truyền phát) là khả năng tổchức dữ liệu với khả năng kiểm soát chi tiết hơn đối với từng trường hoặcthuộc tính thông qua việc sử dụng các lớp giao thức bổ sung và cụ thể
Trang 24- Dữ liệu được sắp xếp và tổ chức theo một cấu trúc rõ ràng Các dịch vụ vớicác đặc trưng yêu cầu quyền truy cập hay đặc tính riêng có sự bảo mật cao
hơn
- Thông lượng cao hơn
- Do không cần phát sóng liên tục và chỉ tiêu tốn năng lượng khi cả hai thiết
bị đều kết nối nên giảm nhỏ công suất tiêu tốn
1.6.Giao thức và cấu hình
1.1.1.Định nghĩa giao thức và cấu hình
Ngay từ khi ra đời, đặc điểm kỹ thuật Bluetooth đã giới thiệu sự tách biệt
rõ ràng giữa các khái niệm riêng biệt về giao thức và cấu hình:
Protocols (Giao thức): là các lớp triển khai các định dạng gói khác nhau, địnhtuyến, ghép kênh, mã hóa và giải mã cho phép dữ liệu được gửi hiệu quả giữacác bên Đây là yêu cầu chung cần tuân thủ đối với tất cả các thiết bị muốn
Cấu hình theo trường hợp sử dụng (Use – case profile): Tuỳ theo cáctrường hợp sử dụng khác nhau mà cấu hình sẽ xuất hiện các đặc điểm riêng biệt
1.1.2.Mô hình ngăn xếp giao thức
Ngay từ khi ra đời với mục tiêu phát triển và mang tính chất mở nên việcphát triển các ứng dụng có BLE trở nên rất dễ dàng ngay cả với những người có
ít chuyên môn về công nghệ Việc lập trình cho các ứng dụng có BLE thực chất
là tiếp xúc với các hàm API ở lớp trên của ngăn xếp giao thức (BLE protocols
Trang 25stack) Dưới đây, ta sẽ xét đến mô hình ngăn xếp giao thức của thiết bị BluetoothSmart.
1.1.1.1.Mô hình
Hình 7: Mô hình ngăn xếp giao thức BLE
1.1.1.2.Chức năng và mối quan hệ giữa các tầng
Trong cấu trúc tầng của thiết bị Bluetooth smart gồm ba tầng Mỗi tầng sẽbao gồm nhiều lớp với các chức năng khác nhau để thiết lập hoạt động cho cácthiết bị
Tầng Application (tầng ứng dụng): Đây là tầng trên cùng trong mô hình – lànơi giao tiếp trực tiếp với người dùng Tầng này là lớp chịu trách nhiệm chứalogic, giao diện người dùng và xử lý dữ liệu của mọi thứ liên quan đến trườnghợp sử dụng thực tế mà ứng dụng triển khai Kiến trúc của một ứng dụng phụthuộc nhiều vào từng cách triển khai cụ thể
Trang 26 Tầng Host (tầng tổ chức): Đây là tầng giữa trong mô hình Tầng này chứa
nhiều lớp khác nhau như:
o Generic Access Profile (GAP)
o Generic Attribute Profile (GATT)
o Logical Link Control and Adaptation Protocol (L2CAP)
o Attribute Protocol (ATT)
o Security Manager (SM)
o Host Controller Interface (HCI), Host side
Tầng Host có các lớp quy định kiểu xử lý dữ liệu, dồn tách kênh và quyếtđịnh cách tổ chức, sắp xếp dữ liệu theo thuộc tính, bổ sung thêm các đặc tínhnhằm đảm bảo an toàn và bảo mật thông tin Đồng thời nó cũng đóng vai trò xử
lý các quá trình tìm kiếm, phát hiện, thiết lập và gải phóng kết nối
Tầng Controller (tầng điều khiển): Đây là tầng thấp nhất của mô hình Tầng
này chứa các lớp:
o Host Controller Interface (HCI), Controller side
o Link Layer (LL)
o Physical Layer (PHY)
Tầng này có thể hiểu là tầng liên kết vật lý: nơi xử lý chuyển đổi tín hiệu,thực hiện điều chế hay giải điều chế đồng thời chứa các thông tin định danh cácthiết bị khi kết nối
Ngoài ra còn có một lớp Host Controller Interface (HCI): Đây là lớp trunggian, cung cấp giao diện kết nối giữa Host và Controller
Trang 27I TẦNG CONTROLLER
Theo mô hình ngăn xếp giao thức đã trình bày ở chương 1, trong nội dungchương 2 này sẽ trình bày cụ thể về cấu trúc và chức năng của từng lớp và tầng.Nhóm đề tài lựa chọn phân tích các tầng theo thứ tự từ dưới (phần kết nối ăngten) lên trên tầng ứng dụng
2.1.Lớp vật lý (Physical Layer)
Đây là lớp nằm dưới cùng trong mô hình được sử dụng để truyền và nhậntín hiệu Lớp vật lý (PHY) có chứa các mạch truyền thông tương tự, có khả năngđiều chế và giải điều chế tín hiệu tương tự và chuyển chúng thành các ký hiệu
kỹ thuật số
Việc điều chế tín hiệu sử dụng kĩ thuật điều chế số Gaussian FrequencyShift Keying (GFSK) ở tốc độ cố định là 1Mb/s, do vậy đây là thông lượng caonhất của công nghệ Băng tần sử dụng là 2,4 GHz ISM (Công nghiệp, Khoa học
và Y tế) và được chia thành 40 kênh nằm trong dải từ 2,4000 GHz đến 2,4835GHz Trong đó có 37 kênh được sử dụng để trao đổi dữ liệu và 3 kênh cuối cùng(37,38,39) được sử dụng làm kênh quảng bá để phát sóng và thiết lập kết nối
Hình 8: Cấu trúc kênh của lớp vật lý
2.2.Lớp liên kết (Link Layer)
Lớp Liên kết là phần giao diện trực tiếp với PHY và nó thường được coi là
sự kết hợp của phần cứng và phần mềm tùy chỉnh Nó cũng là lớp hạn chế thời
Trang 28gian thực cứng duy nhất của toàn bộ ngăn xếp giao thức, vì nó có trách nhiệm tuân thủ tất cả các yêu cầu về thời gian được xác định bởi đặc tả Do đó, nó thường được giữ cô lập với các lớp cao hơn của ngăn xếp giao thức bằng một giao diện tiêu chuẩn che giấu sự phức tạp và các yêu cầu thời gian thực khỏi phần còn lại của các lớp (giao diện HCI).
Phần cứng sẽ có các chức năng sau:
- Preamble, Access Address, and air protocol framing (Mở đầu, Địa chỉ truy
cập và khung giao thức không khí)
- CRC generation and verification (Tạo và xác minh CRC)
- Data whitening (Làm trắng dữ liệu)
- Random number generation (Tạo số ngẫu nhiên)
- AES encryption (Mã hóa AES)
Trong thiết kế phần cứng PCB, tuỳ theo nhu cầu và mục đích truyền thông
mà các nhà phát triển lựa chọn triển khai trên toàn bộ 1 IC (SoC) hay sử dụngnhiều bộ xử lý để tăng cường khả năng xử lý
Có 3 cấu trúc phần cứng hay được sử dụng:
Hình 9: Các cấu trúc phần cứng công nghệ BLE
Đối với các dự án nhỏ, đơn giản có xu hướng sử dụng cấu hình SoC đểgiảm chi phí Trong khi điện thoại thông minh và máy tính bảng thường chọn
Trang 29cấu hình Dual IC thay vì HCI vì chúng thường đã có sẵn một CPU mạnh đểchạy ngăn xếp giao thức
Cách bố trí các linh kiện trên phân vùng PCB thường sẽ tuân theo cấu trúc:
Hình 10: Một dạng thiết kế PCB đơn nhân tích hợp (SoC) cho thiết bị BLE
Phần mềm của Lớp liên kết có nhiệm vụ quản lý liên kết: xác định trạng tháikết nối, số lượng các kết nối tới một thiết bị chính, hoặc hỗ trợ quá trình thiết lậpkết nối
Lớp Liên kết xác định các vai trò:
Quảng cáo và quét (Advertising and Scanning)
Kết nối và ngắt kết nối (Connection and Disconnection)
Để cung cấp thông tin về nhận dạng thiết bị, BLE cung cấp một địa chỉ vật lýBluetooth Device Address Về cơ bản địa chỉ này giống với địa chỉ MAC Địachỉ này có độ dài 48 bit (6 byte) và là duy nhất với mỗi thiết bị Nó thường đượcbiểu diễn ở định dạng thập lục phân, tương tự như sau: 08:00:27:0E:25:B8
a Quảng cáo và quét
- Quảng cáo: thiết bị trung tâm (Central) phát đi các gói quảng cáo tới tất cảcác thiết bị (Peripheral) nhằm tìm kiếm thiết bị có nhu cầu cần thông tin
Trang 30- Quét: quá trình thực hiện tại phía thiết bị (Peripheral) nhằm phản hồi lại cácyêu cầu của thiết bị trung tâm (Central).
Mỗi gói tin quảng cáo sẽ có dung lượng 31 byte chứa các thông tin cơ bản(bao gồm cả địa chỉ thiết bị BLE) Thiết bị chính sẽ gửi đi các gói tin này vớimột tốc độ cố định được xác định bằng thời gian quảng cáo (thông thường nằmtrong khoảng từ 20ms đến 10,24s)
Khoảng thời gian quét là khác nhau tuỳ thuộc vào cài đặt Khoảng thời gianquét ngắn hơn sẽ có tốc độ quét cao hơn và tiêu tốn năng lượng ít hơn nhưngthời gian phát hiện ra thiết bị thu sẽ chậm hơn Có 2 chế độ quét cơ bản:
Quét thụ động (Passive scanning): Thiết bị nhận chỉ quét và nhận được các
gói tin quảng cáo và không cần phản hồi lại với thiết bị phát
Quét chủ động (Active scanning): Sau khi nhận được gói tin quảng cáo, thiết
bị nhận gửi Yêu cầu quét (Scan Request) Thiết bị phát nhận được yêu cầuquét sẽ trả lời bằng gói Phản hồi quét (Scan Response Data)
Hình 11 dưới đây cho thấy sự khác biệt giữa hai chế độ quét:
Hình 11: Hai chế độ quét của thiết bị nhận tin
b Kết nối và ngắt kết nối
- Kết nối: kết nối thiết bị nhận với thiết bị chính để bắt đầu quá trình trao đổi
dữ liệu
Trang 31- Ngắt kết nối: khi gặp một vấn đề gì đó hoặc khi hoàn tất quá trình trao đổi
Kênh tiếp theo = (kênh hiện tại + bước nhảy) mod 37
Hình 12: Quá trình kết nối với thiết bị ngoại vi
Khi cả hai thiết bị cùng chuyển về kênh chung, quá trình kết nối bắt đầuvới việc trao và nhận dữ liệu tại các thời điểm định trước được gọi là sự kiện kếtnối
Trang 32Hình 13: Sự kiện kết nối
Các tham số chính của gói sự kiện kết nối sẽ bao gồm: khoảng thời gian kếtnối, độ trễ kết nối và thời gian chờ kết nối Điều này được quản lý bởi thiết bịchính và được tuân thủ ở cả hai thiết bị Ngoài ra, để giảm nhỏ công suất phátcũng như tập trung vào một nhóm các thiết bị cần quan tâm, BLE quy định một
“ danh sách trắng” bao gồm các mảng địa chỉ thiết bị Bluetooth mà thiết bị chínhcần thông tin Điều này cho phép chọn lọc thiết bị khi phát quảng cáo, quét vàthiết lập kết nối Những thiết bị không nằm trong danh sách này sẽ được loại bỏ.Việc quyết định có sử dụng danh sách trắng hay không được cài đặt và xác địnhtheo chính sách bộ lọc
Trong Lớp liên kết, có 2 thủ tục đặc biệt quan trọng là:
- Thay đổi thông số kết nối: tuỳ theo các trường hợp cụ thể mà các thông số
kết nối cần thay đổi theo nhu cầu từ phía thiết bị nhận
- Mã hoá: Bảo mật là rất quan trọng trong BLE và Lớp liên kết cung cấpphương tiện để trao đổi dữ liệu một cách an toàn qua một liên kết được mãhóa Các khóa được tạo và quản lý bởi máy chủ lưu trữ, nhưng Lớp liên kết
thực hiện mã hóa và giải mã dữ liệu thực tế chuyển tiếp đến các lớp trên
2.3.Giao diện kết nối tầng điều khiển và máy chủ Host Controller Interface ( HCI)
Trong mô hình giao thức ngăn xếp, việc giao tiếp giữa Controller và Host
Trang 33cầu nghiêm ngặt hơn về thời gian thực nên thực tế sẽ tách máy chủ ra khỏi tầngđiều khiển để thực hiện một ngăn xếp có độ phức tạp cao hơn nhưng không chặtchẽ về mặt thời gian phù hợp cho các CPU cấp cao hơn Một ví dụ điển hình choviệc này là trên các thiết bị: điện thoại thông minh, máy tính bảng hay PC Cácứng dụng và máy chủ sẽ được chạy trên một chip CPU chính, còn các trình điềukhiển sẽ chạy trên một chip khác riêng biệt và được kết nối qua USB hay UART.Điều này hoàn toàn tương tự với công nghệ WiFi
II TẦNG MÁY CHỦ HOST
Tầng máy chủ là nơi tập trung nhiều lớp nhất và nằm ở giữa trong mô hìnhphân tầng.Về cơ bản, tầng này chứa các giao thức có nhiệm vụ xử lý dữ liệu nhưthiết đặt thuộc tính, định tuyến các gói tin, xử lý lỗi không tương thích kiểu dữliệu và đảm bảo tính bảo mật cho gói tin và cho các thiết bị Ngoài ra, tầng máychủ cũng ghi nhận các yêu cầu về đọc/ghi dữ liệu giữa các thiết bị tham gia vàoquá trình trao đổi dữ liệu Hoạt động của tầng máy chủ liên quan trực tiếp đếnhai khái niệm:
- Máy chủ(Server): Nơi khởi tạo yêu cầu thông tin, trực tiếp quản lý toàn bộ
quá trình tìm kiếm, ghép nối hay kiểm soát sai lỗi
- Máy khách(Client): Là thiết bị có yêu cầu cần trao đổi thông tin: đọc/ghi dữliệu từ /đến máy chủ
Hai hay nhiều máy khách có thể cùng kết nối tới một máy chủ và chịu sựkiểm soát từ phía máy chủ Một thiết bị có thể là một máy khách, một máy chủhoặc cả hai bất kể đó là thiết bị chính (master) hay thiết bị phụ (slave)
2.4.Lớp giao thức đáp ứng và điều khiển liên kết logic( Logical Link Control and Adaptation Protocol hay còn viết tắt là L2CAP)
Lớp L2CAP có hai nhiệm vụ chính:
- Hoạt động như một bộ ghép kênh từ nhiều giao thức các lớp trên rồi đónggói chúng thành định dạng gói BLE tiêu chuẩn và ngược lại
Trang 34- Thực hiện phân mảnh và tái tổ hợp: lấy các gói lớn từ các lớp trên và chiachúng thành các phần phù hợp với kích thước trọng tải tối đa 27 byte của cácgói BLE ở phía truyền Tại bên nhận, nó gom các gói đã phân mảnh và tậphợp lại thành 1 gói chung để gửi lên các lớp trên.
Đối với BLE, lớp L2CAP phụ trách hoặc định tuyến hai giao thức chính:Giao thức thuộc tính (ATT) và Giao thức quản lý bảo mật (SMP) ATT tạo cơ sởcho việc trao đổi dữ liệu trong các ứng dụng BLE, trong khi SMP cung cấp mộtkhuôn khổ để tạo và phân phối khóa bảo mật giữa các thiết bị Và kể từ phiênbản 4.1, L2CAP có thể tạo các kênh riêng do người dùng xác định để truyền dữliệu thông lượng cao mà không yêu cầu độ phức tạp do ATT bổ sung Trongdung lượng 27 byte của gói tin có 4 byte tiêu đề nên thực chất dữ liệu chỉ chiếm
23 byte
2.5.Giao thức thuộc tính( Attribute Protocol – ATT)
Giao thức Thuộc tính (ATT) là một giao thức không trạng thái của máykhách / máy chủ đơn giản dựa trên các thuộc tính được cung cấp bởi một thiết
bị Giao thức có yêu cầu nghiêm ngặt về trình tự: chỉ khi yêu cầu của máy kháchđược đáp ứng và phản hồi lại thì các yêu cầu từ máy khách khác mới được xemxét đến
Trong hoạt động của ATT, có một khái niệm cần hiểu rõ:
UUID (Universally Unique Identifier): Số nhận dạng duy nhất toàn cầu (UUID)
là số 128 bit (16 byte) là duy nhất trên toàn cầu Do chiếm 16 byte trong tổng số
27 byte của lớp Liên kết, BLE bổ sung thêm định dạng thứ hai là UUID 32 bit.UUID tuân theo mẫu 0000XXXX-0000-1000- 8000-00805f9b34fb, do đó UUID32-bit 00002a56-0000-1000-8000- 00805f9b34fb có thể được biểu diễn dướidạng 0x2a56 Một số UUID được dành riêng cho mục đích sử dụng cụ thể
Ví dụ: UUID 0x2a35 16 bit (hoặc UUID 32 bit
Trang 3500002a35-0000-1000-Cách thức hoạt động của ATT
Tập hợp các hoạt động có thể có trên ATT thuộc các loại sau:
Error Handling (Xử lý lỗi):Được máy chủ sử dụng để phản hồi bất kỳ yêu
cầu nào khi xảy ra lỗi Máy chủ gửi phản hồi lỗi (Error response) dưới dạngphản hồi cho một yêu cầu thay cho phản hồi hoạt động tương ứng bất cứ khi
nào có lỗi ngăn yêu cầu được thực thi trên máy chủ
Server Configuration (Cấu hình máy chủ): Được sử dụng để định cấu hình
chính giao thức ATT Việc thống nhất giữa máy khách và máy chủ về lượng
tin truyền tối đa Max Transmission Units (MTU)
Find Information (Tìm kiếm thông tin): Được máy khách sử dụng để lấy
thông tin về cách bố trí các thuộc tính của máy chủ, chúng bao gồm:
1 Find Information Request/Response(Yêu cầu / Phản hồi thông tin tìm
kiếm): Nhận danh sách tất cả các thuộc tính trong một phạm vi xử lý cụ thể
2 Find by Type Value (Tìm theo kiểu giá trị): Nhận phạm vi xử lý giữa một
thuộc tính được xác định bởi UUID và giá trị của nó và dấu phân cách nhóm
tiếp theo
Read Operations (Đọc dữ liệu): Được máy khách sử dụng để lấy giá trị của
một hoặc nhiều thuộc tính, chúng bao gồm:
1 Read by Type Request/Response (Đọc theo theo loại yêu cầu/phản hồi):
Nhận giá trị của một hoặc nhiều thuộc tính bằng UUID
2 Read Request/Response (Đọc yêu cầu / phản hồi): Nhận giá trị của các
thuộc tính bằng hanhdle
3 Read Blob Request/Response (Đọc yêu cầu / Phản hồi Blob): Lấy một
phần giá trị của thuộc tính dài bằng handle
4 Read Multiple Request/Response (Đọc nhiều yêu cầu / phản hồi): Nhận
giá trị của một hoặc nhiều thuộc tính bằng cách sử dụng nhiều handle
5 Read by Group Type Request/Response (Đọc theo loại nhóm yêu cầu /
phản hồi ): Tương tự như đọc theo loại, nhưng UUID phải thuộc loại nhóm
Write Operations (Ghi dữ liệu): Được máy khách sử dụng để đặt giá trị của
một hoặc nhiều thuộc tính, chúng bao gồm:
1 Write Request/Response (Ghi yêu cầu / phản hồi ): Ghi vào giá trị của một
thuộc tính và mong đợi phản hồi từ máy chủ
Trang 362 Write Command (Ghi lệnh): Ghi vào giá trị của một thuộc tính mà không
có bất kỳ phản hồi hoặc xác nhận nào Thao tác này không tuân theo trình tự
yêu cầu / phản hồi và có thể được gửi bất kỳ lúc nào
3 Signed Write Command (Lệnh viết đã ký): Tương tự như Write Command,
nhưng sử dụng chữ ký
Queued Writes (Đã viết trong hàng đợi): Được máy khách sử dụng để ghi
vào các giá trị thuộc tính dài hơn giá trị có thể vừa với một gói, chúng bao
gồm:
1 Prepare Write Request/Response (Chuẩn bị yêu cầu / phản hồi ghi): Xếp
hàng một thao tác ghi trong máy chủ cho một xử lý cụ thể, sau đó máy chủ
xác nhận việc xếp hàng thành công
2 Execute Write Request/Response (Thực hiện yêu cầu / phản hồi ghi): Thực
thi tất cả các hoạt động ghi trong hàng đợi đang chờ xử lý, sau đó máy chủ
sẽ báo cáo thành công hay thất bại cho máy khách
Server Initiated (Máy chủ được Khởi tạo): Được máy chủ sử dụng để đẩy
các giá trị thuộc tính đến máy khách một cách không đồng bộ, chúng bao
gồm:
1 Handle Value Indication/Confirmation (Xử lý Chỉ báo / Xác nhận Giá trị):
Bản cập nhật máy chủ không đồng bộ về giá trị của thuộc tính và được xácđịnh bởi tay cầm của nó, mong đợi một xác nhận dưới dạng xác nhận từ máy
khách
2 Handle Value Notification (Xử lý thông báo giá trị): Cập nhật máy chủ
không đồng bộ về giá trị của thuộc tính và được xác định bởi tay cầm của nó
mà không cần xác nhận Thao tác này không tuân theo trình tự yêu cầu /phản hồi và có thể được gửi bất kỳ lúc nào
Trong tất cả các hoạt động trên luôn luôn xuất hiện sự yêu cầu và phản hồi.Các yêu cầu sẽ đên từ phía máy khách với mục đích để kết nối tới máy chủ Và
để trả lời các máy khách, máy chủ sẽ đưa ra các phản hồi nhằm đáp ứng lại cácyêu cầu đó Và như vậy ta luôn thấy các cặp yêu cầu/ phản hồi trong các hoạtđộng của giao thức ATT
Trang 372.6.Quản lý bảo mật (Security Manager - SM)
Trình quản lý bảo mật (SM) vừa là một giao thức vừa là một chuỗi cácthuật toán bảo mật để cung cấp cho ngăn xếp giao thức Bluetooth khả năng tạo
và trao đổi các khóa bảo mật, sau đó cho phép các thiết bị giao tiếp an toàn quamột liên kết được mã hóa, đáng tin cậy về danh tính của thiết bị từ xa và cuốicùng là ẩn địa chỉ Bluetooth công khai nếu được yêu cầu để tránh các đối tượngđộc hại theo dõi một thiết bị cụ thể
- Trình quản lý Bảo mật xác định hai vai trò:
Initiator (Người khởi xướng): Luôn tương ứng với lớp liên kết chính và
do đó là trung tâm GAP
Responder (Người trả lời): Luôn tương ứng với nô lệ của Lớp liên kết và
do đó là thiết bị ngoại vi GAP
2.6.1 Thủ tục an ninh
Đối với một quá trình thông tin có định hướng và chứa các thông tin nhạycảm, SMP đưa ra các thủ tục an ninh nhằm đảm bảo yếu tố bảo mật
- Trình quản lý Bảo mật cung cấp hỗ trợ cho ba quy trình sau:
Ghép nối (Paring): Quy trình tạo khóa mã hóa bảo mật chung tạm thời
để có thể chuyển sang liên kết được mã hóa an toàn Khóa tạm thời nàykhông được lưu trữ và do đó không thể sử dụng lại trong các kết nối tiếp
theo
Liên kết (Bonding): Một chuỗi ghép nối tiếp theo là tạo và trao đổi các
khóa vĩnh viễn được lưu trữ trong bộ nhớ không thay đổi và do đó tạo raliên kết vĩnh viễn giữa hai thiết bị cho phép chúng nhanh chóng thiết lậpliên kết an toàn trong các kết nối tiếp theo mà không cần để thực hiện lại
quyền lợi liên kết
Tái thiết lập mã hoá (Encryption Re – establishment): Sau khi quy trình
liên kết hoàn tất, các khóa có thể đã được lưu trữ trên cả hai phía của kếtnối Nếu các khóa mã hóa đã được lưu trữ quy trình này xác định cách sửdụng các khóa đó trong các kết nối tiếp theo để thiết lập lại kết nối an toàn,
Trang 38được mã hóa mà không phải thực hiện lại quy trình ghép nối (hoặc liênkết).
Do đó việc ghép nối có thể tạo ra một khoá an toàn sẽ chỉ tồn tại trong thờigian tồn tại của kết nối, trong khi liên kết mới thực sự tạo ra một liên kết vĩnhviễn ở dạng khóa bảo mật được chia sẻ sẽ được sử dụng trong các kết nối saunày cho đến khi một trong hai bên quyết định để xóa chúng Một số API nhấtđịnh và tài liệu của chúng đôi khi sử dụng thuật ngữ ghép nối với liên kết thay vìchỉ đơn giản là liên kết, bởi vì quy trình liên kết luôn bao gồm giai đoạn ghépnối trước
Hình 14 dưới đây sẽ chỉ ra hai giai đoạn trong thủ tục an ninh là ghép nối
và tạo liên kết
Hình 14: Quy trình ghép nối và tạo liên kết trong thủ tục an ninh
2.6.2 Thuật toán ghép nối
Nằm trong chuỗi các thủ tục an ninh, quá trình đầu tiên để tạo khoá bảomật chính là việc ghép nối Thủ tục ghép nối bao gồm việc trao đổi các gói giaothức trình quản lý bảo mật (SMP) để tạo ra một khóa mã hóa tạm thời được gọi
là khóa ngắn hạn (STK) cho cả hai phía Bước cuối cùng của quy trình ghép nối(bất kể sau đó nó có tiếp tục trở thành bảo mật hay không ) là mã hóa liên kết