15

I'm considering the use of an Arduino in a project I'm on but a question is still open.

The Arduino will be collecting data and, once in a while, will send them to a server. I would like to be able to secure the data transmission.

I do know that the Arduino has not enough processing power to handle HTTPS encryption but I'm wondering if a solid alternative can be used here.

What's your opinion?

Yannick Blondeau
  • 9,465
  • 8
  • 52
  • 74
  • "I do know that the Arduino has not enough processing power to handle HTTPS encryption" <- Why not? It has several shields which can speedily process HTTP. –  Jun 21 '12 at 12:23
  • 1
    @H2CO3 Are you aware os an HTTPS implementation on an Arduino? It would be great if you can point me to such a project! You caught my curiosity!! – Yannick Blondeau Jun 21 '12 at 12:36
  • I found this: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1244208435 –  Jun 21 '12 at 13:28
  • 1
    Thanks for the link, but the first reply tells: "I think trying to add HTTPS support into the arduino is not going to be possible due to te size and complexity of the SSL libraries." Their solution is to proxy the request through an unsecure server. Not an option for me... :( – Yannick Blondeau Jun 21 '12 at 13:36
  • Have you considered using a computer to use the SSL libraries, then use e. g. direct serial communication between it and the Arduino? –  Jun 21 '12 at 13:39
  • 2
    That's precisely what I want to avoid by using an Arduino... – Yannick Blondeau Jun 21 '12 at 13:58
  • That's an extremely limited amount of hardware. Maybe try a pre-shared key and a extemely memory efficient stream cipher. By the way, processing power should not be the first concern (it will take a longer time, but that may be OK). RAM usage on the other hand... – Maarten Bodewes Jun 22 '12 at 23:40

3 Answers3

3

the best you can use in arduino is xxtea encryption. is fast but not super secure

uDalillu
  • 955
  • 8
  • 11
1

Check out the Microchip PIC 18x and 24x series uCs. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2505&param=en535724

If you are looking for a heavy duty micro-platform, check out "Raspberry Pi"

  • Thanks! Given my almost "software-only" background, I'm looking for more 'integrated' solutions... do you have any example? – Yannick Blondeau Jun 25 '12 at 12:41
  • Since you are looking for more of a software solution, I would point you to this video on activating web services on Raspberry Pi. [link](http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CF8QtwIwBA&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DWgcNBjIJNYs&ei=mFPqT9uLNoq08ATa5qEf&usg=AFQjCNGp9l1VwHLKmxm4PEIef7xC_jpYyQ&sig2=1dHDNDe2hCZueMK9Jnf0Mg) With that being said though, there are also a lot of other single board computers (SBCs) which can also do the job. The $25 price point of the Raspberry unit is very attractive though. – my_buffer_overflow-eth... Jun 27 '12 at 00:28
1

You could look at this which is a PIC32 Arduino compatible http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32

dale
  • 11
  • 1