BT Address/IRK(Identity Resolving Key)

BLE(Bluetooth Low Energy)에서 IRK(Identity Resolving Key)주소(Address)는 보안성과 프라이버시를 유지하기 위한 중요한 개념이다.

이 두 가지는 BLE 장치가 서로 통신할 때 신원을 보호하고 추적을 방지하는 역할을 한다.


BLE 주소(BT Address)

BLE 장치는 통신 시 고유한 식별자로 블루투스 주소(BT_ADDR)를 사용한다.

  • 공용 주소(Public Address)
    제조업체에서 사전에 프로그래밍된 고유한 고정 주소다. 이 주소는 제조사가 IEEE 표준에 따라 할당한 것으로, 블루투스 장치를 유일하게 식별한다.
  • 임의 주소(Random Address):
    제조 과정에서 설정되거나 런타임 중에 동적으로 생성되는 주소이다. 임의 주소는 다시 정적 주소(Static Random Address)와 해결 가능한 개인 주소(Resolvable Private Address, RPA)로 나뉜다. 정적 주소는 기기의 수명 동안 고정되며, 전원이 꺼지기 전까지 변경되지 않는다.

공용 주소(Public Address)와 임의 주소(Random Address)는 각각 유한 데이터 구조를 가지고 있으며, 이들은 BLE 장치가 통신할 때 사용하는 식별자이다.


BLE 주소의 데이터 구성

[ 상위 24비트 (Most Significant Bits, MSB): 공용 주소(Public Address) ]

제조업체에서 사전에 프로그래밍된 고유한 고정 주소다. 이 주소는 제조사가 IEEE 표준에 따라 할당한 것으로, 블루투스 장치를 유일하게 식별한다.

  • 조직적 고유 식별자(OUI, Organizationally Unique Identifier)로 구성된다.
  • OUI는 제조사의 고유 식별 정보로, IEEE에서 할당한 값이다.
  • 예를 들어, 상위 24비트는 제조사가 속한 그룹을 나타내며, 제조사가 할당한 고유 ID가 포함된다.

[ 하위 24비트 (Least Significant Bits, LSB): 임의 주소(Random Address) ]

임의 주소는 공용 주소와 달리 고정되지 않으며, 보안과 프라이버시를 강화하기 위해 설계되었다. 임의 주소는 두 가지 유형으로 나뉜다.

  • 정적 임의 주소(Static Random Address)
    제조사에서 사전에 설정하거나 런타임 중에 동적으로 생성된 주소다.
    • 장치의 수명주기 동안 고정되며 변경되지 않는다.
    • 공용 주소 대신 사용되며, 보안성은 공용 주소보다 낮지만 프라이버시를 어느 정도 보호할 수 있다.
    • 비용 없음: IEEE 등록이 필요 없으므로 공용 주소보다 저렴하게 사용할 수 있다.
  • 해결 가능한 개인 주소(RPA, Resolvable Private Address)
    보안성을 강화하기 위해 주기적으로 변경되며, IRK(Identity Resolving Key)와 난수를 결합하여 생성된다.
    • 외부에서 장치의 실제 주소를 추적하기 어렵게 설계되어있다.
    • IRK를 가진 장치만이 RPA를 해석하여 실제 주소를 확인할 수 있다.
    • RPA는 주기적으로 변경되며, 일반적으로 15분마다 변경된다.
    • 공용 주소와의 차이점: 공용 주소는 고정된 반면, RPA는 보안성을 위해 주기적으로 변경된다.

구분공용 주소(Public Address)임의 주소(Random Address)
고정 여부고정된 식별자정적 임의 주소는 고정, RPA는 주기적으로 변경
IEEE 등록 필요필수불필요
비용등록 비용 발생무료
프라이버시낮음 (외부에서 쉽게 추적 가능)높음 (IRK와 RPA로 추적 방지)
주요 사용 사례Pairing 없이 Advertising만 하는 장치보안과 프라이버시가 중요한 통신 시 사용

임의 주소는 특히 IRK(Identity Resolving Key)와 결합하여 보안성을 강화한다.

  • IRK: 두 장치 간 교환된 키로, RPA를 생성하고 해석하는 데 사용된다.
  • RPA 생성 과정: RPA는 IRK와 난수를 결합하여 생성되며, 이를 통해 외부에서 장치의 실제 주소를 추적하기 어렵게 만든다.

IRK(Identity Resolving Key)

IRK(Identity Resolving Key)는 BLE(Bluetooth Low Energy) 프로토콜에서 임의 주소(Random Address)의 프라이버시와 보안을 강화하기 위해 사용되는 키(Key)다. IRK는 두 BLE 장치가 보안 페어링(secure pairing) 과정에서 교환되며, 이를 통해 임의 주소를 해석하거나 추적할 수 있게 해준다. IRK는 BLE 장치 간의 통신 보안을 유지하면서도, 외부에서 장치의 실제 식별 정보를 보호하는 데 중요한 역할을 한다.

IRK는 BLE 장치가 해결 가능한 개인 주소(Resolvable Private Address, RPA)를 생성하는 데 사용된다. RPA는 BLE 장치가 네트워크에서 사용하는 임시적인 식별 주소로, IRK와 난수를 결합하여 생성된다. IRK가 없으면 외부 장치는 RPA를 해석할 수 없으며, 이로 인해 장치의 실제 식별 정보가 보호된다.

[ IRK의 주요 기능 ]

  • RPA 생성
    IRK와 난수를 결합하여 RPA를 생성한다. 생성된 RPA는 시간이 지나면 변경되며, 이를 통해 장치의 위치 추적을 방지한다.
  • 주소 해석
    IRK를 가진 장치만이 다른 BLE 장치의 RPA를 해석할 수 있다. 즉, IRK가 없으면 RPA는 난수처럼 보이며, 장치의 실제 주소를 알 수 없다.
  • 보안 강화
    IRK를 사용하면 외부에서 장치의 실제 주소를 추적하기 어렵게 만들어 보안성을 높인다.

IRK와 RPA의 관계

구분RPA(Resolvable Private Address)IRK(Identity Resolving Key)
정의IRK와 난수를 결합하여 생성된 임시적인 주소RPA를 생성하고 해석하는 데 사용되는 비밀 키
변경 여부주기적으로 변경됨변경되지 않음
역할장치의 실제 주소를 숨기기 위한 암호화된 주소RPA를 생성하고 해석하는 데 사용됨
사용 목적장치 추적 방지 및 보안 강화장치 간 보안 통신 및 주소 해석 지원

IRK는 주로 BLE 장치 간의 페어링 과정에서 사용된다. 예를 들어, 스마트폰과 웨어러블 기기가 BLE를 통해 통신할 때, 두 장치는 IRK를 교환하여 서로의 RPA를 해석할 수 있게 된다. 이렇게 하면 외부에서 장치를 추적하기 어렵게 만들면서도, 페어링된 장치끼리는 안전하게 통신할 수 있다.

결론적으로, IRK는 BLE 장치 간의 보안 통신을 강화하고 임의 주소의 프라이버시를 보호하는 데 중요한 역할을 한다. 이를 통해 BLE 장치는 외부에서 식별되지 않으면서도 안전하게 통신할 수 있다.

Leave a Comment