Skip to content

Commit

Permalink
Merge branch 'master' of github.com:potados99/geo-mms
Browse files Browse the repository at this point in the history
  • Loading branch information
potados99 committed Oct 13, 2019
2 parents da9c616 + e42d94b commit 13027e1
Showing 1 changed file with 3 additions and 81 deletions.
84 changes: 3 additions & 81 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,89 +2,11 @@

SMS 기반 위치공유 애플리케이션입니다.

## 업데이트 기록

## 위치공유
### 2019년 10월 13일 v0.1.0-alpha01

보통의 위치공유 앱은 서버를 경유하여 상대와 정보를 공유합니다.

이 방식에서는 필연적으로 서버가 사용자의 위치정보를 저장하게 됩니다.

GeoMms는 Server-to-client 모델이 아닌 1:1 모델입니다.

별도의 서비스나 서버에 의존하지 않고 통신사의 셀룰러 통신망을 이용해 SMS로 위치정보를 주고받습니다.


## 어떻게 작동하는가

한 사용자(A)가 다른 사용자(B)에게 위치공유 초대를 보냅니다.

이 초대에는 공유 시간 제한도 포함되어 있습니다.

B는 초대를 수락 또는 거절할 수 있습니다.

거절하면 이 사실은 A의 휴대전화에 전달됩니다.

초대를 수락하면 즉시 연결이 수립됩니다.

연결 수립 이후 A와 B는 초기 위치 정보를 보냅니다.

그 이후의 위치정보의 전송은 상대방이 요청할 때에만 일어납니다.

공유 제한 시간이 지난 연결은 만료되어 양측에서 모두 사라집니다.

연결이 만료되기 전에도 위치 공유를 중단할 수 있습니다.

공유 중단 시에는 상대방의 동의가 필요하지 않으며, 중단 사실은 상대방에게 즉시 알려집니다.


## 보안

사용자의 위치와 같이 민감한 정보는 신뢰할 수 있는 사용자에게만 전송되어야 합니다.


### 통신 채널

안전하게 정보를 전달하기 위해서는 먼저 통신 채널의 보안이 확보되어야 합니다.

다음과 같은 악의적인 접근이 있을 수 있습니다:

- 통신 과정에서 가로채기
- 타인을 사칭
- 중간자 공격

첫 번째는 SMS에는 암호화가 적용되지 않기 때문에 위험합니다.

따라서 페이로드를 암호화해야 합니다.

두 번째 경우는 안전하다고 간주합니다.

발신자 번호를 조작하여 타인을 사칭할 수는 있지만 그 조작된 번호로 가는 메시지를 탈취하는 것은 어렵습니다.

세 번째 경우는 잠재적으로 위험합니다.

중간자가 양측에게 서로를 사칭하며 오고가는 데이터를 확보할 경우 양측은 이를 알 수 없습니다.

다른 수신자에게 전달되는 SMS를 가로채기 위해서는 통신사의 셀룰러 망 보안을 통과해야 하기 때문에 매우 어렵지만

성공할 경우 위험할 수 있습니다.


### 애플리케이션

그 다음 중요한 것은 애플리케이션에서의 보안입니다.

사용자의 위치 정보는 통신망이 안전하다는 가정 하에 연결이 수립된 사용자에게만 공유됩니다.

위치를 공유하기로 합의된 사용자가 아닌 경우에는 새로운 초대를 제외한 모든 요청과 정보를 무시합니다.


## 메시징

이 애플리케이션은 기본 SMS 애플리케이션을 대체합니다.

이는 오직 기본 SMS 애플리케이션만 메시지 발신 권한을 얻을 수 있기 때문입니다.

따라서 이 애플리케이션은 SMS와 MMS의 수신, 발신을 지원합니다.
- 테스트 배포 시작.


## 라이센스
Expand Down

0 comments on commit 13027e1

Please sign in to comment.