BLE SMP MIC用于验证数据未被篡改和MAC用于验证数据来源合法,怎么理解这两者的区别
时间: 2023-08-24 12:04:00 浏览: 51
在BLE SMP中,MIC和MAC都是用于保证通信的安全性。MIC用于验证数据的完整性,即验证数据是否被篡改,而MAC用于验证数据的来源和完整性,即验证数据的发送方是否合法。
具体来说,MIC是一种校验码,它是一种用于检测消息是否被篡改的技术。在BLE SMP中,MIC通常由16位或32位的计算结果组成,用于验证消息的完整性。发送方在加密的数据中添加MIC,接收方在解密的数据中验证MIC,以确保消息的完整性。
而MAC则是一种认证码,它是一种用于验证消息完整性和来源的技术。在BLE SMP中,MAC是由加密密钥和消息计算出来的一种值,用于验证消息的完整性和来源。发送方在发送数据时,使用加密密钥计算MAC,并将MAC添加到消息中。接收方收到数据后,使用同样的加密密钥计算MAC,并将计算结果与接收到的MAC进行比较,以验证消息的完整性和来源。
因此,MIC和MAC的区别在于它们的功能不同。MIC用于验证数据的完整性,即验证数据是否被篡改,而MAC用于验证数据的来源和完整性,即验证数据的发送方是否合法。这两种技术都是用于保证通信的安全性,但是它们的功能和应用场景不同,需要根据具体的需求选择使用。
相关问题
BLE SMP MIC和MAC的区别
在BLE SMP中,MIC和MAC都是用于保证消息完整性和防止数据篡改的技术。
MIC是消息完整性校验码(Message Integrity Check),用于检测消息是否被篡改。在BLE SMP中,MIC由16位或32位的计算结果组成,用于验证消息的完整性。在进行加密通信时,发送方在加密的数据中添加MIC,接收方在解密的数据中验证MIC,以确保消息的完整性。
MAC是消息认证码(Message Authentication Code),用于验证消息的来源和完整性。MAC是加密密钥和消息的函数计算结果,用于验证消息的完整性和来源。在BLE SMP中,MAC用于保护SMP消息的安全性,包括加密、认证、MITM保护等。
因此,MIC和MAC的主要区别在于它们的功能不同。MIC用于保证消息的完整性,而MAC用于验证消息的来源和完整性。在BLE SMP中,MIC和MAC都是用于保证消息的安全性,但是它们的具体应用场景和功能不同。
BLE SMP举例MIC和MAC的使用区别
在BLE SMP中,MIC和MAC的使用可以通过配对过程来举例说明:
1. 配对请求:在配对请求中,发送方需要添加MIC,用于验证配对请求的完整性。接收方在收到配对请求后,会验证MIC,以确保配对请求未被篡改。
2. 配对响应:在配对响应中,发送方需要添加MIC和MAC,用于验证配对响应的完整性和来源。接收方在收到配对响应后,会先验证MIC,以确保配对响应未被篡改,然后再验证MAC,以确保配对响应的来源合法。
3. 公钥交换:在公钥交换中,发送方需要添加MIC和MAC,用于验证公钥交换的完整性和来源。接收方在收到公钥后,会先验证MIC,以确保公钥未被篡改,然后再验证MAC,以确保公钥的来源合法。
4. 确认:在确认过程中,发送方需要添加MIC和MAC,用于验证确认的完整性和来源。接收方在收到确认后,会先验证MIC,以确保确认未被篡改,然后再验证MAC,以确保确认的来源合法。
综上所述,MIC和MAC在BLE SMP中的应用场景和功能不同。MIC用于保证消息的完整性,而MAC用于验证消息的来源和完整性。在不同的配对过程中,根据需要选择使用不同的安全技术,以确保通信的安全性。