2014-06-23 4 views
0

Android (API-19) & csr1010 사이의 BLE 링크에서 암호화를 사용하려고합니다. 페어링 방법을 "그냥 작동"또는 "패스 키"로 사용해야하는 것은 중요하지 않습니다.Android 4.4.2 (API 19)에서 BLE 본딩

adv 레코드에 암호화 플래그를 설정하고 iPhone4s와 연결을 시도했습니다. 각 연결이 시작할 때 페어링을 요청하면 암호화가 활성화됩니다. 전선 스니퍼/분석기 &을 사용하여 직접 확인했습니다. "Decrypted by Analyzer = YES"필드를 통해 암호화가 활성화되었는지 확인했습니다. I가 사용 (API-19 갤럭시 S4) 안드로이드 & 결합 연결을 시도

".getDevice는(). createBond()"함수, 안드로이드 본딩 확인 여기서 http://developer.android.com/reference/android/blu "에 설명 된대로 bondState의 == 12 ... ".

하지만

내 질문에 이제 "NO = 분석기에 의해 해독"는 전선 스니퍼에 데이터가 매우 일반적 경우, 암호화되지 & 발표되었다 데이터를 & 수표를 보내려고 때 :

  • bondState = 12이고 연결이 설정되면 암호화가 설정되어 있음을 의미합니까?
  • "bondBond()"함수를 통해 연결하면이 두 개의 본드 된 장치와의 이후의 모든 연결에서 암호화를 사용할 수 있습니까? 아니면 다른 작업을 수행해야합니다. LTK 교환?

덕분에 적절한 암호화 & KR 모에

답변

1

사용 4.4.3 또는 4.4.4. 기본적으로 본딩은 인증/암호화가 아니라 "기억하고 다시 연결"을 의미합니다. 4.4.3에서는 암호화가 필요한 특성을 표시하더라도 함께 작동합니다.

관련 문제