자신이 죽었을 때 컴퓨터 안의 내용을 모두 지워버리는 시스템은 영화나 만화에서 가끔씩 보이는 탐나는 물건이다(데스노트에서 와타리가 죽을 때 키라 수사본부의 모든 데이터를 날리는 것을 생각해보자).
아마 많은 사람들이 자신의 부끄러운 자료(예를 들면 SNS에 올리는 글이라든가)들을 지워버리고 죽고 싶어 할텐데 트리거가 작동되면 뭔가를 작동하게 만들기만 하고 그 트리거는 주인이 죽었을 때 작동되는 게 전부인 의외로 간단한 시스템이다.
문제는 그 트리거가 주인의 죽음을 어떻게 탐지하냐는 것인데 나는 생체신호 탐지기 같은 걸 만들 능력이 없으니까 컴퓨터를 만지는 사람다운 발상을 해봤다.
요즘 사람들은 전자기기를 2개 이상은 가지고 다닌다. 그 기기에서 서버로 일정 시간마다 시그널을 보내고 서버에서는 일정 시간이 지나도록 시그널이 오지 않으면(즉 모든 기기가 일정 시간 이상 꺼져 있으면) 주인이 죽었다고 판단하고 트리거를 작동하면 된다. 그래서 심심풀이로 중2병스러운 프로젝트를 시작해보려고 한다.
이 프로젝트에는 크게 보면 두 가지 요점이 있는데 일단 각 기기에서 시그널을 날릴 때 주인이 살아있다는 게 확실해야 한다.
스마트폰에서 그냥 일정 주기마다 시그널을 날리는데 사용자가 암호를 걸지 않는다면 누군가가 주워서 그냥 사용하다보면 시그널이 계속 발생하게 된다. 하루에 한 번 자체적으로 암호를 묻는다던지 어떤 대책이 필요하다.
또 서버에서는 외부 디바이스가 가짜로 시그널을 날리지 못하도록 대책을 세워야 한다. 각 디바이스를 등록할 때 비밀 토큰을 준다던지 해야 한다.
또 하나는 트리거가 작동을 했을 때 실행할 기능들인데 SNS의 글을 삭제하거나 하는 것은 서버에서 해주면 되지만 하드의 데이터를 날리는 건 결국 서버에서 각각의 기기들에게 특정 신호를 보내주는 방식을 써야 한다. 이것 역시 서버가 시그널을 받는 것과 마찬가지로 클라이언트에서도 서버를 신뢰하게 해줄 무언가가 필요하다.
요악하자면 대충 이렇다.
- 사용자가 가진 기기(type A)들은 서버에 일정 주기마다 신호를 보낸다.
- 신호가 일절 오지 않는 상황이 일정 시간 이상 계속되면 서버는 사용자가 죽은 것으로 판단해 트리거를 작동시킨다.
- 서버는 가짜 시그널을 감지할 수 있도록 클라이언트(Type A)를 신뢰할 수 있는 인증수단이 있어야 한다.
- 데이터 폭발을 실행하는 클라이언트(Type B)들도 역시 서버에서 사용자가 죽었다는 알림을 받았을 때 서버를 신뢰할 수 있는 인증수단이 필요하다.
추가적으로 한국에선 이런 것도 필요하겠다.
- 병역임무를 수행하고 있는 2년간은 전자기기를 사용하기 어려우므로 대책이 필요하다.