2014-02-22 2 views
6

내가 알 수있는 한, 개발자가 특정 UUID, 메이저, 마이너 또는 식별자를 사용하기 위해 비컨을 프로그래밍하는 것을 제한 할 수있는 것은 없습니다.iBeacons 스푸핑을 방지하는 방법은 무엇입니까?

UUID가 "foo"인 iBeacon을 만들면 다른 개발자가 동일한 ID와 (실수로 또는 악의적으로) 비컨을 생성하여 내 앱이 잘못된 데이터를 표시하는 것을 방지 할 수 있습니까?

iBeacons의 작동 방식을 잘못 이해 한 적이 있습니까? 내가 틀렸다면 나를 바로 잡아주세요.

답변

4

이것은 사실입니다. 나는 spoofed the Apple Store's iBeacons (이 점을 증명하기 위해)과 가전 전람회 폐품 회수 사냥을 위해 my beacons spoofed by Make magazine을 가지고있다.

이것은 전혀 결함이 아닙니다. 스푸핑이 상대적으로 중요하지 않도록 iBeacons를 사용하는 앱을 디자인하면됩니다. 앱을별로 중요하게 생각하지 않는다면 누가 신경 쓰겠습니까?

이 문제를 해결하는 데 적합한 보안 메커니즘은 문제의 앱에 따라 다르지만 가능성은 무수합니다.

예를 들어 CES Scavenger hunt의 경우 누군가가 모든 대상을 엄청나게 빨리 발견했는지 알기 위해 타임 스탬프가있는 감사 로그를 보관했습니다. 결국 누구도이 일을하지 않았습니다. 참가자들은 모두 훌륭한 스포츠였습니다!

+0

나는 사람들이 당신의 표지를 스푸핑한다면 잘못된 정보를 가질 수 있기 때문에 당신의 응용 프로그램의 품질이 매우 열악 해 보일 수 있다고 생각한다. 효과적으로 외치는 문제가됩니다. 더 큰 소리로 외치는 사람은 누구나 들릴 수있는 유일한 사람이됩니다. (누가 더 많은 표지 또는 더 강력한 발신기를 배포하는지). 어쩌면 이미이 문제를 해결할 방법을 찾았 겠지만 지금까지는 내 솔루션이 "우아한"것이라고 생각하지 않습니다. 나는 아직도 그들이 일하는 방법을보기 위해 내 솔루션을 테스트해야합니다. –

+0

이 문제에 대한 한 가지 해결책은 내 회사의 http://proximitykit.com과 같은 서비스를 사용하여 앱에 식별자를 동적으로 구성하는 것입니다. 누군가가 귀하의 iBeacons를 공격적으로 스푸핑하면, 앱을 다시 릴리스하지 않고도 식별자를 변경할 수 있습니다. 누군가가 정말로 당신을 방해하려는 경우 이것은 앞뒤로 이어질 수 있습니다. 그러나 서버에서 DDoS 공격을하는 것이 훨씬 쉽습니다. 따라서이 공격은 극히 드문 것 이상입니다. 그것은 sabboteur를위한 너무 많은 일이다. – davidgyoung

1

UUID (Universal Unique Identifier)를 발행하는 중앙 권한이 없기 때문에 보급 알림 패킷 스푸핑을 방지 할 수 없습니다. UUID는 임의로 비콘에 할당되며 실제로 고유성이 보장되지는 않습니다.

그러나 핸드 헬드와 신호를 쌍으로 연결하면 그림이 달라집니다. 일회용 비밀번호 또는 앱과 페어링 된 신호 사이의 일부 개인 키 암호화 된 핸드 쉐이킹과 같이 페어링 할 때 절대적으로 고유 한 정보를 생성하기 위해 비콘 (또는 더 구체적으로 비컨 모양의 장치)을 프로그래밍 할 수 있습니다.

전형적인 프로세스 흐름은 다음과 같습니다

  1. 휴대폰, 방송 아이 비콘 감지 UUID + 메이저/마이너을 읽습니다.

  2. 휴대 전화가 앱을 시작합니다 (didEnterRegion 이벤트 사용).

  3. 앱이 비콘과 페어링을 요청한 경우 암호화 된 응답을 생성하라는 명령을 보냅니다.

  4. 앱이 응답을 해독합니다. 성공하면 행복한 얼굴을 표시하십시오! 실패하면 슬픈 얼굴을 표시하십시오.

전진하면서, 나는 대부분의 표지 시스템이 이런 식으로 구현 될 것으로 생각한다. iBeacon 표준이 암호화를 수용하도록 업데이트되지 않는 한, ping + 쌍의 하이브리드 접근 방식이어야합니다.

+0

[RFC 4122] (http://www.ietf.org/rfc/rfc4122.txt) 의 유니폼 리소스 이름 네임 스페이스 GUID로 알려진 UUID (범용 고유 IDentifier) ​​(전 세계적으로 고유 IDentifier). UUID는 길이가 128 비트이며 ** 공간과 시간에 ** 의 고유성을 보장 할 수 있습니다 **. – zaph

+0

동일한 UUID를 모든 비컨에 지정할 수 있습니다. – Blisterpeanuts

+0

예, 모든 사이트에서 동일한 비밀번호를 사용할 수 있습니다. 그러나 의도적으로 동일한 UUID를 지정하지 않으면 다른 것입니다. – zaph

관련 문제