Jump to content




SecureModem


  • You cannot reply to this topic
28 replies to this topic

#1 KingofGamesYami

  • Members
  • 3,002 posts
  • LocationUnited States of America

Posted 14 May 2014 - 02:29 AM

So, as most everyone has noticed, there is no safe way of encoding/decoding modem messages. I have decided to make it as hard as possible to determine what it is that is being sent, so I created this. It will transmit parts of the message on 10 different, random channels. The number specified in each function needs to be the same or the message will not get through correctly.

Spoiler


#2 awsmazinggenius

  • Members
  • 930 posts
  • LocationCanada

Posted 14 May 2014 - 02:35 AM

Why not just have an agreed upon AES key to encrypt messages?

#3 KingofGamesYami

  • Members
  • 3,002 posts
  • LocationUnited States of America

Posted 14 May 2014 - 03:23 AM

View Postawsmazinggenius, on 14 May 2014 - 02:35 AM, said:

Why not just have an agreed upon AES key to encrypt messages?
Never heard of it. Google searching did not turn up any results that I could figure out how to implement in lua.

#4 awsmazinggenius

  • Members
  • 930 posts
  • LocationCanada

Posted 14 May 2014 - 04:12 AM

There is one implementation of it right on these very forums, so clearly you haven't looked very hard.

#5 apemanzilla

  • Members
  • 1,421 posts

Posted 14 May 2014 - 11:58 AM

View Postawsmazinggenius, on 14 May 2014 - 02:35 AM, said:

Why not just have an agreed upon AES key to encrypt messages?
It would likely be a good amount slower.

#6 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 14 May 2014 - 12:15 PM

in all honesty, you could fairly simply write a program to sniff out transmissions from a program using this.

#7 skwerlman

  • Members
  • 163 posts
  • LocationPennsylvania

Posted 14 May 2014 - 12:31 PM

View Posttheoriginalbit, on 14 May 2014 - 12:15 PM, said:

in all honesty, you could fairly simply write a program to sniff out transmissions from a program using this.
Agreed. Unless you also obfuscate/encrypt the data, it's super easy to to just log all traffic and re-assemble it into it original form.
Since the target and number of messages is always the same, if you detect 10 messages fired one after another, and each is heading to the same place, and the first nine are the same length, there's a super high chance that it's coming from your algorithm, so we concatenate the messages. Viola, obfuscation circumvented.
Implementing even a basic rolling cypher instead makes communication less not secure (not quite safer); since it looks like 'normal' traffic it can't be singled out as easily. The best way to secure data is to do so without it looking secure.

#8 KingofGamesYami

  • Members
  • 3,002 posts
  • LocationUnited States of America

Posted 14 May 2014 - 12:43 PM

View Postskwerlman, on 14 May 2014 - 12:31 PM, said:

View Posttheoriginalbit, on 14 May 2014 - 12:15 PM, said:

in all honesty, you could fairly simply write a program to sniff out transmissions from a program using this.
Agreed. Unless you also obfuscate/encrypt the data, it's super easy to to just log all traffic and re-assemble it into it original form.
Since the target and number of messages is always the same, if you detect 10 messages fired one after another, and each is heading to the same place, and the first nine are the same length, there's a super high chance that it's coming from your algorithm, so we concatenate the messages. Viola, obfuscation circumvented.
Implementing even a basic rolling cypher instead makes communication less not secure (not quite safer); since it looks like 'normal' traffic it can't be singled out as easily. The best way to secure data is to do so without it looking secure.
Ah, but the idea here is that it sends each message on a different channel! Hacking computer would have to open all 128 channels above the channel you used. I'm looking into converting to binary & using an algebraic equation to encode/decode it (yes I realize this would still be vulnerable, but if they only got 9/10 pieces...)

#9 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 14 May 2014 - 01:20 PM

View PostKingofGamesYami, on 14 May 2014 - 12:43 PM, said:

Ah, but the idea here is that it sends each message on a different channel! Hacking computer would have to open all 128 channels above the channel you used.
not a problem at all.

#10 Wojbie

  • Members
  • 631 posts
  • LocationKinda lost

Posted 14 May 2014 - 01:33 PM

In this situation if all goes down to how many ender-pearls you want to spend on wireless modems.
128 channels per modem
65535/128=512 modems with one channel free ;D
6 modems per computer
86 computers and you are listening to it all.
5 modems plus one wired for database stuff
103 computers + one mainframe and you spy and record all
Doable if someone is bored ;D

Edit - is 0 a valid channel?

Edited by wojbie, 14 May 2014 - 01:34 PM.


#11 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 14 May 2014 - 01:42 PM

View Postwojbie, on 14 May 2014 - 01:33 PM, said:

In this situation if all goes down to how many ender-pearls you want to spend on wireless modems.
128 channels per modem
65535/128=512 modems with one channel free ;D
6 modems per computer
86 computers and you are listening to it all.
5 modems plus one wired for database stuff
103 computers + one mainframe and you spy and record all
Doable if someone is bored ;D

Edit - is 0 a valid channel?
not even really needed to go that overkill. I quickly whipped up a simple solution that has a fairly good chance of picking up the communications, but once it has picked up something it will always continue to pick it up... it uses 2 modems and ~27 lines of code. with a few more lines of code and no extra modems it could easily be improved to heighten the chance of initially picking up the communications.

Edited by theoriginalbit, 14 May 2014 - 02:12 PM.


#12 Wojbie

  • Members
  • 631 posts
  • LocationKinda lost

Posted 14 May 2014 - 02:14 PM

View Posttheoriginalbit, on 14 May 2014 - 01:42 PM, said:

not even really needed to go that overkill. I wrote a simple solution that has a fairly good chance of picking up the communications, but once it has picked up something it will always continue to pick it up... it uses 2 modems and 27 lines of code. with a few more lines of code and no extra modems it could easily be improved to heighten the chance of initially picking up the communications.
Frequency scanner? You are jumping over frequencies and saving those that got used? Yea that would work too :) But overkill looks more awesome in-game :D When server has extended rednet range its even better :P As for rednet i for one prefer to use my enigma to encode my messages. If someone if preexistent they will break it but i will make them learn history to do it!

#13 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 14 May 2014 - 03:31 PM

View Postwojbie, on 14 May 2014 - 02:14 PM, said:

Frequency scanner? You are jumping over frequencies and saving those that got used?
Yes and no... threw it together in about a minute, so everything is fairly static, its just more of a proof of concept than something I'd actually put into use
Code

Edited by theoriginalbit, 15 May 2014 - 01:55 AM.


#14 Anavrins

  • Members
  • 775 posts

Posted 14 May 2014 - 05:20 PM

View Postapemanzilla, on 14 May 2014 - 11:58 AM, said:

View Postawsmazinggenius, on 14 May 2014 - 02:35 AM, said:

Why not just have an agreed upon AES key to encrypt messages?
It would likely be a good amount slower.

I've tried with KillaVanilla AES-128 implementation, and with proper usage, it's fairly quick, quick enough for most uses at least.

#15 KingofGamesYami

  • Members
  • 3,002 posts
  • LocationUnited States of America

Posted 14 May 2014 - 09:40 PM

I'm not saying it's impossible to hack, I'm just saying it's harder to hack than normal. If the hacker is lazy, he won't have thought of listening on all channels. I could send it backwards, but I don't see the point in that. The point of this isn't to make unhackable, its to make it annoyingly difficult to hack.

PS: I'm not hating anyone here, just explaining what I'm trying to do.

#16 RoD

  • Members
  • 313 posts

Posted 14 May 2014 - 10:07 PM

View PostKingofGamesYami, on 14 May 2014 - 09:40 PM, said:

I'm not saying it's impossible to hack, I'm just saying it's harder to hack than normal. If the hacker is lazy, he won't have thought of listening on all channels. I could send it backwards, but I don't see the point in that. The point of this isn't to make unhackable, its to make it annoyingly difficult to hack.

PS: I'm not hating anyone here, just explaining what I'm trying to do.
lazyness? well he can open a lot of channels at the same time. No need to test them all one by one.

#17 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 15 May 2014 - 01:52 AM

View PostKingofGamesYami, on 14 May 2014 - 09:40 PM, said:

The point of this isn't to make unhackable, its to make it annoyingly difficult to hack.
I don't think a minute of coding is really all that annoyingly difficult... I put an extra minute into it this morning and made a truly random scanner that locks onto the signal once found
Code
Don't get me wrong, I do like the thinking outside of the box... just think a little further outside... ;)

Edited by theoriginalbit, 15 May 2014 - 02:05 AM.


#18 KingofGamesYami

  • Members
  • 3,002 posts
  • LocationUnited States of America

Posted 15 May 2014 - 12:43 PM

View Posttheoriginalbit, on 15 May 2014 - 01:52 AM, said:

View PostKingofGamesYami, on 14 May 2014 - 09:40 PM, said:

The point of this isn't to make unhackable, its to make it annoyingly difficult to hack.
I don't think a minute of coding is really all that annoyingly difficult... I put an extra minute into it this morning and made a truly random scanner that locks onto the signal once found
Code
Don't get me wrong, I do like the thinking outside of the box... just think a little further outside... ;)
hmm... what if I generated some random stuff on random channels? It wouldn't be too hard to implement.

#19 apemanzilla

  • Members
  • 1,421 posts

Posted 15 May 2014 - 12:56 PM

View PostKingofGamesYami, on 15 May 2014 - 12:43 PM, said:

View Posttheoriginalbit, on 15 May 2014 - 01:52 AM, said:

View PostKingofGamesYami, on 14 May 2014 - 09:40 PM, said:

The point of this isn't to make unhackable, its to make it annoyingly difficult to hack.
I don't think a minute of coding is really all that annoyingly difficult... I put an extra minute into it this morning and made a truly random scanner that locks onto the signal once found
Code
Don't get me wrong, I do like the thinking outside of the box... just think a little further outside... ;)/>
hmm... what if I generated some random stuff on random channels? It wouldn't be too hard to implement.
What if you used encryption? :3

#20 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 15 May 2014 - 01:38 PM

View PostKingofGamesYami, on 15 May 2014 - 12:43 PM, said:

hmm... what if I generated some random stuff on random channels? It wouldn't be too hard to implement.
That was just a proof of concept to prove the ease of intercepting your communications with the simplest of scripts. Could easily implement one with a timeout after getting a message, say wait 0.2 seconds, if another message is not received then scan the channels again. Etc etc.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users