E-Lock, de eerste Elektor-chip |april 2014 33 punten: 1) voor het beheer van een apparaat op afstand...
Click here to load reader
Transcript of E-Lock, de eerste Elektor-chip |april 2014 33 punten: 1) voor het beheer van een apparaat op afstand...
•Projects
32 | april 2014 | www.elektor-magazine.nl
Dat koffiezetapparaat is misschien het minste probleem, maar als de ‘dingen’ waardevol zijn, is het misschien wel verstandig om serieuze voor-zorgsmaatregelen te nemen. Elektor heeft hier uitgebreid over nagedacht en ontwikkelde samen met Intelligent SoC een heel bijzondere chip om uw ‘dingen te beschermen’: E-Lock, de eerste Elektor-chip!Met de E-Lock-chip kunt u uw besturingssys-teem verbinden met het ‘netwerk der netwerken’ en het bekijken en instellen vanaf een willekeu-rige plaats op aarde met uw computer, tablet of smartphone zonder dat u zich zorgen hoeft te maken over de beveiliging van de verbinding, volledig beschermd tegen hackers.Het is opmerkelijk dat de beveiligingsniveaus die we gebruiken voor onze computers en mobiele
apparaten niet worden toegepast op de miljoenen met internet verbonden embedded systemen. Dat is een serieus risico voor een gezonde ver-spreiding van het Internet of Things (IoT). Wie verbindt er nu een embedded apparaat met het Internet als dat wijd open staat voor aanvallen van hackers die proberen de besturing over te nemen of het systeem aan te passen?
Het antwoord is E-LockGenoeg kommer en kwel, terug naar de techno-logie. We kwamen in contact met de embedded-security-specialisten van Intelligent SoC [1] en besloten om gezamenlijk de E-Lock te ontwik-kelen – hebben we al gezegd dat dit de eerste Elektor-chip is? Deze is speciaal ontworpen voor het IoT op basis van twee fundamentele uitgangs-
Eduardo Corral (Spanje)Ontwikkeld door Intelligent SoC ([email protected])
E-Lock, de eerste Elektor-chip
Als we de voorspellingen moe-ten geloven, dan wordt 2014 het jaar van het ‘Internet of Things’! Dat heeft tot gevolg dat allerlei elektronische pro-ducten met elkaar informatie
gaan uitwisselen via het Internet. Straks is het
communiceren met uw koffieapparaat gemakkelijker dan
met uw collega’s of de buren – maar hoe weet dat kof-
fieapparaat dat u het bent en niet Bram van hiernaast? Beveiliging, dat is hierbij een heel
belangrijk onderwerp. Wij dagen alle hackers uit.
* Hack E-Lock " Kraak de code " Win 61A8hex dollars ($25K). Kijk op www.elektor.com/e-lock voor details.
Er wordt beweerd dat… E-Lock niet te kraken is*
E-Lock
www.elektor-magazine.nl | april 2014 | 33
punten: 1) voor het beheer van een apparaat op afstand via Internet en 2) op een volkomen veilige manier.De E-Lock-chip kan een veilige verbinding tot stand brengen over het Internet (TCP/IP) met behulp van het Transport Layer Security (TLS) encryptie-protocol. De chip heeft ook een GPIO (general purpose input/output) met 7 lijnen, vier 16-bits ADC-kanalen, een 12-bits DAC en een I2C-bus waarmee het besturen van en commu-niceren met andere randapparatuur mogelijk is. In figuur 1 is het principeschema van de E-Lock te zien. De E-Lock chip (een SoC) heeft ook een realtime-clock (RTC) die zijn referentietijd krijgt van een Internet-tijd-server met behulp van het Simple Network Time Protocol (SNTP).
EvaluatieboardDe E-Lock-chip zit in een 100-pens LQFP-behui-zing die niet gemakkelijk te hanteren is bij hand-matige opbouw. Daarom is hiervoor een evalua-tieboard ontworpen dat wij hier bespreken. Met het evaluatieboard kunt u de E-Lock-chip testen en het kan ook dienen als basis voor uw eigen veilige IoT-projecten. Het board is verkrijgbaar in de Elektor-shop onder nummer 130280-91. Uitgebreide technische documentatie van het board zijn beschikbaar als downloaden op [2].Als demo, om u op weg te helpen, kunt u met het board twee relais besturen en de tempera-tuur van de kamer waarin het board geïnstalleerd is op afstand in de gaten houden op een veilige manier. Op het board is ook een uitbreidings-connector voor toekomstige uitbreidingen van Elektor of van uzelf. In figuur 2 is het schema van het evaluatieboard te zien. Dit bestaat uit de volgende delen:
E-Lock - Het hart van het board. De chip beheert de communicatie en de werking van de aange-sloten apparaten. E-Lock bestaat uit twee ver-schillende communicatieprotocollen:• Raw Ethernet configuration protocol; dit wordt gebruikt voor het configureren van het hoofdnet-werk en veiligheidsparameters, zoals het IP-adres, gateway-adres, DNS-server, SNTP-server even-als certificaat, sleutel en CA. Dat gebeurt door middel van het unieke MAC-adres van de E-Lock.• Secure TCP/IP client-server application protocol. Als E-Lock eenmaal met succes is geconfigureerd, functioneert hij als een secure TCP/IP-server waarbij het toepassingsprotocol wordt uitgevoerd zoals in detail is uitgelegd in de datasheet [2].
Figuur 1. Blokschema van de E-Lock-chip.
Belangrijkste eigenschappen• Beveiligde bidirectionele TCP/IP-communicatie met TLS 1.2
• Software-watchdog
• Uniek MAC-adres
• Raw Ethernet netwerk-configuratie
• Voedingsspanning: 5,0 V
• Temperatuurbereik: –40 ºC tot 85 ºC
• RoHS-compliant
• Ethernet-controller met RMII-interface naar PHY
• Power on Ethernet (POE) schakeling (Optie)
• 50 MHz systeemklok
• 1 I2C-temperatuursensor
• 2 relais (een op het board aanwezig)
• 7 General Purpose I/O-lijnen
• 4 16-bits A/D-converters
• 1 12-bits D/A-converter
• 1 I2C-bus
• Externe temperatuursensor (met verbindingskabel)
• Uitbreidingsconnector
• Zelf te configureren
• Compleet opgebouwd board verkrijgbaar in de Elektor-shop
• Onmisbaar om mee te doen aan de $25K wedstrijd op
www.elektor.com/e-lock
Figuur 2. Blokschema van het E-Lock evaluatieboard.
•Projects
34 | april 2014 | www.elektor-magazine.nl
X1
C1
NM
C4
NM
+3V3
C17
100n
C21
100n
C22
100n
C23
100n
C24
100n
C25
100nC19
100nA
A
C18
100nA
JP1 C20
100n
VBAT VBAT
RESET_PHY
RMII_RXD1RMII_RXD0RMII_CRSDVRMII_TXENRMII_TXD0RMII_TXD1CLK_SYSTEMGPIO2A14A13A12FACTBOOT2A11A10A9A8A7A6A5RWD3D2D1D0RELE2_CTRLRELE1_RESETRELE1_SET
ADC0ADC1DAC0
RMII_MDIORMII_MDC
SCL_SENSORSDA_SENSOR
GPIO3
A18A17A16A15OED7D6D5D4
RESETSENSOR_ALERT
CEA4A3A2A1A0
GPIO4I2C1_SDAI2C1_SCL
GPIO5GPIO6GPIO7GPIO8
ACT_LED
I2C_SCL_SENSORI2C_SDA_SENSOR
SENSOR_ALERT
RELE1_RESET
RMII_CRSDV
CLK_SYSTEM
FACT_BOOT2
RELE2_CTRL
RMII_MDIO
RESET_PHY
RMII_RXD0
RMII_TXENRMII_TXD0RMII_TXD1
RELE1_SET
FACT_BOOT
RMII_RXD1
RESERVED
EK130280
RESERVEDRESERVEDRESERVED
RESERVED
RMII_MDC
RESERVED
RESERVEDRESERVED
RESERVEDRESERVED
RESERVED
RESERVED
EXTAL32
I2C_SDAI2C_SCL
ACT_LED
VREFOUT
VOUT33
XTAL32
VREGIN
GPIO3
GPIO2
RESET
GPIO4
GPIO5GPIO6GPIO7GPIO8
GPIO0GPIO1
VREFL
VREFH
U2
VSSA
VDDA
ADC0ADC1DAC0
ADC2
ADC3
VBAT VD
D
VSS
VDD
VDD
VDD
VDD
VDD
VSS
VSS
VSS
VSS
VSS
A14A13A12
A10A11
A18A17A16A15
100
34
29 2528
533536373839
5455565758
40 48 61 75 89 22
41 49 60 74 88
42434445464750517071
7372
7776
A879A978
A780
A582A681
D384WE83
D285
D087D186
9190
92
1415161727
59626364
OE 65
D7 66
D6 67
D5 68
D4 695293
CE 94
A4 95
A3 96
A2 97
A1 98
A0 99
31323318
20
10111213
19
21 24
26
30
23
8
9
1234567
FACTBOOTGPIO0GPIO1ADC2
ADC3
X1 = CM250C-32.000KAZF-UT
+3V3
C29
100n
X2VCC
OUT
GND
EOH
4
3
2
1
R122R
R222R
CLK_SYSTEM
RMII_50MHZ
50MHz
JP33
21
FACTBOOT2
FACTBOOT
ARR1
8x 10k
10
2346789
5
1
+3V3 RESETFACTBOOT
FACTBOOT2
JP412
RESET
DL1
HSMX-C150
+3V3
ACT_LED
R380R
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17A18
R37
0R
+3V3
C35
100n
D0D1D2D3D4D5D6D7
RWCEOE
CN2
1011 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 40
1 23 45 67 89
+3V3+5V +3V3COM DIRTY A
A
I2C1_SDAI2C1_SCLGPIO5GPIO6
RESERVEDRESERVED
ADC0
ADC2
DAC0
VBATGPIO0GPIO1GPIO2RESETGPIO3GPIO4
ADC1
ADC3
+3V3
SDA_SENSORSCL_SENSOR
SENSOR_ALERT
CN712345
C44
100n
CN410
11 12
13
14
12345678
9
RJHSE5385
+3V3
+3V3
R4
0R
R8330R
R7330R
U6
H1102
11
10
14
15
16
8
7
6
9
3
2
1
SPARE_POE_+
SPARE_POE_–
ACTIVITY_LED
LINK_LED
CT_TX_POE
CT_RX_POE
R10
75R
R11
75R
R575
R
R675
R
C7
1n 2kV
+V
+3V3
+3V3
C39
100n
C40
100n
C41
100n
C8
100n
C43
100n
C42
100n
C13
4u7 6V3
R17
49R9
C10
10p
R16
49R9
C9
10p
R20
49R9
C11
10p
R21
49R9
C12
10p
R9
10R
C6
22n50V
CORE PHY
+3V3PHY
COL/RMII/CRS_DV
INT/TX_ER/TXD4
SPEED100/PHYAD0
ACTVITY/PHYAD2FDUPLEX/PHYAD3
RX_CLK/REGOFF
RXD3/INTSEL
LINK/PHYAD1
CLKIN/XTAL1
RXD0/MODE0RXD1/MODE1RXD2/MODE2 RX_ER/RXD4
CRS/PHYAD4
VDD_
CORE
LAN8700
VDDA
3.3VD
DA3.3
VDDA
3.3
EXPRES1
VDD3
3VD
DIO
TXCLKTX_EN
RX_DV
XTAL2
TXD0
U7
TXD1
TXD2TXD3
MDIO
TXP
GND
TXNRXPRXN
MDCRST
2923
30 33 3525
24
2627
22
181716
15
283231
101112
34
192021
36
13
14
87
61
942
3
5
R15
12k4
1%
R14
10k
ARR2
4x 100R
1234 5
678
R18
10k
R19
10k
RMII_CRDSVRMII_RXD0RMII_RXD1
RMII_TXD0RMII_TXD1
RMII_TXEN
RMII_MDIORMII_MDCRESET_PHYRMII_50MHZ
TX+
CT
CT
TX–
RX+
RX–
PR1HD01-T
PR2HD01-T
C5
100n100V
D1
SMAJ58A
SPAR
E_PO
E_+
SPAR
E_PO
E_–
CT_T
X_PO
E
CT_R
X_PO
E
R29
100k
R30
NM
R250R
DL2
HSMX-C150
C3
100u
C16
1u 100V
R27
39k
R2610k
R3
0R
+5V
CN81
2
CN1123456
D3
MBR0520LT1
VBUSD–D+ID
GNDGND
L3
BLM31PG500SN1L
L4
BLM31PG500SN1L
C2
22u10V
Q2SI2305ADS-T1
Q1SI2305ADS-T1
R28NM
R24NM
R230R
+5V
R22
100k
+5VCOM
NCP1117ST33U5
3 2
1C36
10u10V
C34
10u10V
C32
100n
+5VCOM +3V3 DIRTY
W3F15C2238ATF1
41
32 C26
100n
C28
100n
C31
100n
L1
BMB-A
L2
BMB-A
C14
100n
C15
100n
+3V3A
A
+3V3
W3F15C2238ATF2
41
32 C37
100n
C38
100n
C33
100n
+3V3 PHY
+3V3DIRTY
TR2NTR4003NT1G
R3410k
R33
30k
RE1
1 8
2 7
3
4
6
5
S
R
G6CK-2114P-USTR3NTR4003NT1G
R3610k
R3530
k
CN6
1 2 3
NC1
COM1
NA1
+5V
RE2
1 8
3
4
6
5
G6C-2114P-USTR1NTR4003NT1G
R3210k
R31
30k
CN5
1 2 3
NC2
COM2
NA2
D2
1N4148
COM
+5V COM
RELE1_SET
RELE1_RESET
RELE
2_CT
RL
ACTI
VITY
_LED
LINK
_LED
R12
1k
+3V3 A
CY62148DV30
U4
I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7
VCC
A10A11A12A13A14A15
A17A16
A18VSS
A0
32
12
A111
A210
A3A4A5A6A7A8
27
A9262325
28
31
30
1314151718192021
WE29
CE22
OE24
16
98765
4
3
12
R1339k
EC3SAW-48S05P
+V_OUT
–V_OUT–V_IN
+V_IN
U1CTRL
71
62
3
POE_POS
POE_NEG
POE_OUT–
UVLORTN
LM5073RCLASS
PGOOD
U3
UVLO
FAUXRAUX
DCCL
VEE
VIN
PAD RTN
SD 13SD 12
14
111
7
32
9
5
4
6
PAD
+V_EXT
+5V_IN +5V_OUT
MicroUSB
TX_PTX_NRX_N
RX_P
130280 - 11
Always connectedin operation
PoE option
Optional
Must be removed ifpowered by PoE
Optional
Figuur 3. Volledig schema van het E-Lock evaluatieboard.
Wilt u een absoluut veilig IoT-app araat, dan is E-Lock de oplossing
E-Lock
www.elektor-magazine.nl | april 2014 | 35
X1
C1
NM
C4
NM
+3V3
C17
100n
C21
100n
C22
100n
C23
100n
C24
100n
C25
100nC19
100nA
A
C18
100nA
JP1 C20
100n
VBAT VBAT
RESET_PHY
RMII_RXD1RMII_RXD0RMII_CRSDVRMII_TXENRMII_TXD0RMII_TXD1CLK_SYSTEMGPIO2A14A13A12FACTBOOT2A11A10A9A8A7A6A5RWD3D2D1D0RELE2_CTRLRELE1_RESETRELE1_SET
ADC0ADC1DAC0
RMII_MDIORMII_MDC
SCL_SENSORSDA_SENSOR
GPIO3
A18A17A16A15OED7D6D5D4
RESETSENSOR_ALERT
CEA4A3A2A1A0
GPIO4I2C1_SDAI2C1_SCL
GPIO5GPIO6GPIO7GPIO8
ACT_LED
I2C_SCL_SENSORI2C_SDA_SENSOR
SENSOR_ALERT
RELE1_RESET
RMII_CRSDV
CLK_SYSTEM
FACT_BOOT2
RELE2_CTRL
RMII_MDIO
RESET_PHY
RMII_RXD0
RMII_TXENRMII_TXD0RMII_TXD1
RELE1_SET
FACT_BOOT
RMII_RXD1
RESERVED
EK130280
RESERVEDRESERVEDRESERVED
RESERVED
RMII_MDC
RESERVED
RESERVEDRESERVED
RESERVEDRESERVED
RESERVED
RESERVED
EXTAL32
I2C_SDAI2C_SCL
ACT_LED
VREFOUT
VOUT33
XTAL32
VREGIN
GPIO3
GPIO2
RESET
GPIO4
GPIO5GPIO6GPIO7GPIO8
GPIO0GPIO1
VREFL
VREFH
U2
VSSA
VDDA
ADC0ADC1DAC0
ADC2
ADC3
VBAT VD
D
VSS
VDD
VDD
VDD
VDD
VDD
VSS
VSS
VSS
VSS
VSS
A14A13A12
A10A11
A18A17A16A15
100
34
29 2528
533536373839
5455565758
40 48 61 75 89 22
41 49 60 74 88
42434445464750517071
7372
7776
A879A978
A780
A582A681
D384WE83
D285
D087D186
9190
92
1415161727
59626364
OE 65
D7 66
D6 67
D5 68
D4 695293
CE 94
A4 95
A3 96
A2 97
A1 98
A0 99
31323318
20
10111213
19
21 24
26
30
23
8
9
1234567
FACTBOOTGPIO0GPIO1ADC2
ADC3
X1 = CM250C-32.000KAZF-UT
+3V3
C29
100n
X2VCC
OUT
GND
EOH
4
3
2
1
R122R
R222R
CLK_SYSTEM
RMII_50MHZ
50MHz
JP33
21
FACTBOOT2
FACTBOOT
ARR1
8x 10k
10
2346789
5
1
+3V3 RESETFACTBOOT
FACTBOOT2
JP412
RESET
DL1
HSMX-C150
+3V3
ACT_LED
R380R
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17A18
R37
0R
+3V3
C35
100n
D0D1D2D3D4D5D6D7
RWCEOE
CN2
1011 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 40
1 23 45 67 89
+3V3+5V +3V3COM DIRTY A
A
I2C1_SDAI2C1_SCLGPIO5GPIO6
RESERVEDRESERVED
ADC0
ADC2
DAC0
VBATGPIO0GPIO1GPIO2RESETGPIO3GPIO4
ADC1
ADC3
+3V3
SDA_SENSORSCL_SENSOR
SENSOR_ALERT
CN712345
C44
100n
CN410
11 12
13
14
12345678
9
RJHSE5385
+3V3
+3V3
R4
0R
R8330R
R7330R
U6
H1102
11
10
14
15
16
8
7
6
9
3
2
1
SPARE_POE_+
SPARE_POE_–
ACTIVITY_LED
LINK_LED
CT_TX_POE
CT_RX_POE
R10
75R
R11
75R
R575
R
R675
R
C7
1n 2kV
+V
+3V3
+3V3
C39
100n
C40
100n
C41
100n
C8
100n
C43
100n
C42
100n
C13
4u7 6V3
R17
49R9
C10
10p
R16
49R9
C9
10p
R20
49R9
C11
10p
R21
49R9
C12
10p
R9
10R
C6
22n50V
CORE PHY
+3V3PHY
COL/RMII/CRS_DV
INT/TX_ER/TXD4
SPEED100/PHYAD0
ACTVITY/PHYAD2FDUPLEX/PHYAD3
RX_CLK/REGOFF
RXD3/INTSEL
LINK/PHYAD1
CLKIN/XTAL1
RXD0/MODE0RXD1/MODE1RXD2/MODE2 RX_ER/RXD4
CRS/PHYAD4
VDD_
CORE
LAN8700
VDDA
3.3VD
DA3.3
VDDA
3.3
EXPRES1
VDD3
3VD
DIO
TXCLKTX_EN
RX_DV
XTAL2
TXD0
U7
TXD1
TXD2TXD3
MDIO
TXP
GND
TXNRXPRXN
MDCRST
2923
30 33 3525
24
2627
22
181716
15
283231
101112
34
192021
36
13
14
87
61
942
3
5
R15
12k4
1%
R14
10k
ARR2
4x 100R
1234 5
678
R18
10k
R19
10k
RMII_CRDSVRMII_RXD0RMII_RXD1
RMII_TXD0RMII_TXD1
RMII_TXEN
RMII_MDIORMII_MDCRESET_PHYRMII_50MHZ
TX+
CT
CT
TX–
RX+
RX–
PR1HD01-T
PR2HD01-T
C5
100n100V
D1
SMAJ58A
SPAR
E_PO
E_+
SPAR
E_PO
E_–
CT_T
X_PO
E
CT_R
X_PO
E
R29
100k
R30
NM
R250R
DL2
HSMX-C150
C3
100u
C16
1u 100V
R27
39k
R2610k
R3
0R
+5V
CN81
2
CN1123456
D3
MBR0520LT1
VBUSD–D+ID
GNDGND
L3
BLM31PG500SN1L
L4
BLM31PG500SN1L
C2
22u10V
Q2SI2305ADS-T1
Q1SI2305ADS-T1
R28NM
R24NM
R230R
+5V
R22
100k
+5VCOM
NCP1117ST33U5
3 2
1C36
10u10V
C34
10u10V
C32
100n
+5VCOM +3V3 DIRTY
W3F15C2238ATF1
41
32 C26
100n
C28
100n
C31
100n
L1
BMB-A
L2
BMB-A
C14
100n
C15
100n
+3V3A
A
+3V3
W3F15C2238ATF2
41
32 C37
100n
C38
100n
C33
100n
+3V3 PHY
+3V3DIRTY
TR2NTR4003NT1G
R3410k
R33
30k
RE1
1 8
2 7
3
4
6
5
S
R
G6CK-2114P-USTR3NTR4003NT1G
R3610k
R35
30k
CN6
1 2 3
NC1
COM1
NA1
+5V
RE2
1 8
3
4
6
5
G6C-2114P-USTR1NTR4003NT1G
R3210k
R31
30k
CN5
1 2 3
NC2
COM2
NA2
D2
1N4148
COM
+5V COM
RELE1_SET
RELE1_RESET
RELE
2_CT
RL
ACTI
VITY
_LED
LINK
_LED
R12
1k
+3V3 A
CY62148DV30
U4
I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7
VCC
A10A11A12A13A14A15
A17A16
A18VSS
A0
32
12
A111
A210
A3A4A5A6A7A8
27
A9262325
28
31
30
1314151718192021
WE29
CE22
OE24
16
98765
4
3
12
R1339k
EC3SAW-48S05P
+V_OUT
–V_OUT–V_IN
+V_IN
U1CTRL
71
62
3
POE_POS
POE_NEG
POE_OUT–
UVLORTN
LM5073RCLASS
PGOOD
U3
UVLO
FAUXRAUX
DCCL
VEE
VIN
PAD RTN
SD 13SD 12
14
111
7
32
9
5
4
6
PAD
+V_EXT
+5V_IN +5V_OUT
MicroUSB
TX_PTX_NRX_N
RX_P
130280 - 11
Always connectedin operation
PoE option
Optional
Must be removed ifpowered by PoE
Optional
Wilt u een absoluut veilig IoT-app araat, dan is E-Lock de oplossing
•Projects
36 | april 2014 | www.elektor-magazine.nl
Uitgangschakeling - Het board heeft twee uit-gangschakelingen die twee relais besturen: RE1, een bistabiel type met twee spoelen, en RE2, een normaal type. De contacten van beide relais zijn geconfigureerd als enkelpolige wisselschakelaar op de connectoren CN6 en CN5. Op het evalua-tieboard dat Elektor aanbiedt, is slechts een van deze deelschakelingen gemonteerd: relais RE2 met de corresponderende connector CN5.
Temperatuursensor - De I2C-temperatuursen-sor zit niet rechtstreeks op de hoofdprint om geen last te hebben van de warmte van de onderde-len op deze print. Omdat de TMP275 een SMD is, wordt hij op een klein printje gemonteerd en via connector CN7 verbonden met de hoofdprint door middel van een kabeltje van ca. 20 cm.
Uitbreidingsconnector - Vanaf het begin van het ontwerpproces hebben we er naar gestreefd om het board zodanig op te zetten dat het niet alleen maar een demonstratiemiddel is, maar ook dienst te doen als een platform voor IoT-projecten van onze lezers. Daarom zijn alle E-Lock-pennen die niet gebruikt worden voor de on-board periferie beschikbaar op uitbreidings-connector CN2. Daarbij heeft u tevens +3,3 V en +5 V tot uw beschikking, evenals een extra I2C-bus, vier ADC’s, een DAC, zeven GPIO’s en het reset-signaal.De praktische implementatie van het functionele diagram is in het forse schema in figuur 3 te zien. Dit ter ondersteuning van alle Elektor lezers die serieus geïnteresseerd zijn in Internet-bevei-liging EN de $25K willen winnen in de wedstrijd op www.elektor.com/e-lock.
Installatie en configuratieDownload, voordat u voedingsspanning op het E-Lock evaluatieboard zet, eerst de demo-PC-software (deze vindt u op de projectpagina [2] als een zip-file 130280-W.zip) en unzip deze naar een map op uw harddisk.In de ISLElektor-map vindt u alle files die nodig zijn voor het configureren en testen van uw board. De ‘doc’-map bevat ‘network-configura-tion.pdf’, hierin vindt u een beschrijving van de demotoepassing. Wij raden u met klem aan om deze documentatie te lezen voordat u het board gaat gebruiken. Het board moet vóór het testen eerst geconfi-gureerd worden. Het board heeft wat informatie nodig over uw netwerk: IP-adres van de router,
De basiscommando’s die worden ondersteund door E-Lock voor het beheren van on-board appa-raten zijn:• Set sensor configuration;• Set relay configuration;• Get sensor configuration;• Read sensor value;• Get relay status;• Set relay status.
De commando’s voor de aangesloten apparatuur op de uitbreidingsconnector zijn:• Set Configuration: Initialiseer GPIO’s, ADC-
kanalen, DAC-kanalen en I2C-apparatuur met specifieke device-parameters;
• Get Configuration: Gebruikt voor het bepalen van de huidige device-configuratie;
• Read: lezen van GPI’s, ADC- en DAC-kanalen en de waarden van I2C-apparaten;
• Write: Instellen van GPO’s, DAC-kanalen en waarden van I2C-apparaten.
Additionele systeemcommando’s zijn:• Set system configuration;• Get version;• New Certificate;• New Private Key;• New CA (Certification Authority) Certificate;• EMail notify;• Bootloader (download nieuwe firmware). Voeding - Het board wordt gevoed met 5 V, deze kan geleverd worden door een netadap-ter (zoals gebruikt voor smartphones) via een micro-USB-connector CN1 of rechtstreeks door het aansluiten van een gestabiliseerde spanning van 5 V op CN8 – let wel op de polariteit zoals aangegeven op de printopdruk.
Ethernet - Het board wordt verbonden met een 10/100 Base-T Ethernet-netwerk middels een standaard RJ45-connector, die is voorzien van LEDjes voor ‘Activity’ en ‘Link’. Tussen de connec-tor en de E-Lock-chip zit het gebruikelijke trafoo-tje en de Physical Layer Transceiver (PHY) chip.
PoE - Het board is voorbereid voor Power over Ethernet (PoE), hoewel de huidige beschikbare versie in de Elektor-shop niet voorzien is van de daarvoor benodigde 48/5 V DC/DC-converter.
Kraak E-Lock — Win $25K
www.elektor.com/e-lock
E-Lock
www.elektor-magazine.nl | april 2014 | 37
nect om een TCP/IP-verbinding met het appa-raat tot stand te brengen. Als de verbinding er is, verschijnt er een nieuw venster, figuur 6, en kunt u de certificaat- en de key-files opgeven. Voor het board vindt u het voorbeeldcertificaat en de sleutel in de cert-map (ISLclient-cert.pem en ISLclient-key.pem). Als het verbindingsproces succesvol is verlopen, verschijnt er een Connected melding in het veld Connection Status met een blauwe achtergrond en alle functionaliteiten van het board zijn dan beschikbaar (figuur 7). Als
een vrij IP-adres voor uw board en het IP-adres van de DNS.Sluit de voeding en de Ethernet-kabel aan op het board na het verzamelen van al deze informatie. Start dan het configuratieprogramma ISLRaw.exe en dan ziet u hopelijk het venster van figuur 4.Het programma kan verschillende op hetzelfde LAN aangesloten apparaten configureren. De eer-ste stap is het identificeren van ieder MAC-adres door op Scan MAC te klikken; hierdoor wordt een bericht verstuurd door het programma en de tabel onderin het venster wordt gevuld met de informatie van de apparaten die wachten op configuratie.Als alle informatie is ontvangen, selecteert u in de lijst het apparaat dat u wilt configureren en dan wordt het veld Remote MAC automatisch ingevuld. Vul tenslotte het gewenste IP-adres in en klik op Set Remote IP om het IP-adres van het apparaat in te stellen. Als dat proces goed is verlopen, wordt de lijst aangepast met het nieuwe IP.Er verschijnt een nieuw venster voor het selecte-ren van de veiligheidsparameters, dat wil zeggen: certificaat, sleutel, CA-certificaat, SNTP-server, DNS-adres en Gateway-adres. Als alle genoemde velden juist zijn ingevuld, drukt u op Send om de veiligheidsparameters in E-Lock op te slaan. U kunt uw eigen certificaten aanmaken volgens de aanwijzingen in het configuratie-document, maar voor het testen van het board vindt u voorbeeld-certificaten en key-bestanden in de map certs. Selecteer ISLserver-cert.pem voor het Cert-veld, ISLserver-key.pem voor het Key-veld en ISLca-cert.pem voor het CA-veld.
Demonstratie-softwareAls het setup-proces klaar is, kunnen we verder gaan met het testen van de werking van het E-Lock-board door het draaien van de demo-toepassing ISLElektor.exe. In figuur 5 is het hoofdvenster van deze toepassing te zien. Het board met de temperatuursensor moet op het moederbord worden aangesloten voordat de toe-passing wordt opgestart.ISLElektor is een toepassing die informatie uit-wisselt met het E-Lock evaluatieboard via een TCP/IP-kanaal in Secure-mode, gebaseerd op een communicatieprotocol dat volledig wordt beschre-ven in de datasheet [2] van het board.Als ISLElektor wordt opgestart, zijn alle knoppen inactief behalve Connect. Eerst moet het IP-adres dat u in de vorige stap zelf heeft toegekend aan uw board ingevuld worden. Druk dan op Con-
Figuur 4. Configuratie van het E-Lock evaluatieboard.
Figuur 5. Hoofdvenster van de demo-applicatie van het E-Lock evaluatieboard.
Figuur 6. Het instellen van client-certificaten op het E-Lock evaluatieboard.
Kraak E-Lock — Win $25K
www.elektor.com/e-lock
•Projects
38 | april 2014 | www.elektor-magazine.nl
dat niet zo is, verschijnt er een Error melding. In dat geval moet u het IP-adres, de Ethernet-kabel, het TCP/IP-client-certificaat en private key controleren, en het dan opnieuw proberen. Als u er zeker van bent dat alle parameters correct zijn maar de foutsituatie blijft bestaan, gebruik dan recovery-jumper JP3 (even opprikken en weer verwijderen) om de fabrieksinstellingen van E-Lock te herstellen en herhaal het boven-genoemde configuratieproces.Klik op Disconnect om de vorige verbinding te verbreken of pas het IP-adresveld aan en klik Change IP om het apparaat te booten met het nieuwe IP-adres. In dat geval is het noodzakelijk om weer opnieuw verbinding te maken met het nieuwe IP adres.Nu kunt u de werking van alle beschikbare ele-menten op het board testen, de standaard con-figuratie aanpassen, experimenteren met de uit-breidingsconnector… Gedetailleerde informatie over alle mogelijkheden van deze demo software is te vinden in het document ‘ISLElektor_130280-applicationnote.pdf’ in de map doc.De map source bevat de source-bestanden van deze applicatie en we moedigen u aan zelf hierin aanpassingen te maken of ze te gebruiken als basis voor uw eigen toepassingen. Wij gebruik-ten hiervoor Borland C++ Builder6.
Meer informatie…Op deze pagina’s hebben we alleen de hoofd-punten van E-Lock besproken. Er is altijd te wei-nig ruimte in het tijdschrift en er is heel wat meer te vertellen over wat E-Lock allemaal te bieden heeft. We raden u dan ook aan om alle beschikbare documenten te downloaden van de projectpagina [2] inclusief de print-layout, de datasheet van het E-Lock-board en de demo- en ondersteuningssoftware. Nauwkeurig bestuderen van deze documenten geeft u niet alleen inzicht in de krachtige mogelijkheden van deze eerste Elektor-chip, maar het geeft u ook essentiële informatie voor het winnen van de $25.000 in contanten [3].
(130280)
Weblinks
[1] www.soclutions.com
[2] www.elektor-magazine.nl/130280
[3] www.elektor.com/e-lock
Vals gevoel van veiligheidVeilig zijn en veilig voelen zijn verschillende dingen. Samen met miljoenen anderen gebruiken we het Internet om toegang te krijgen tot informatie en informatie uit te wisselen, familie en vrienden te ontmoeten en vrolijk trans-acties met banken en online-shops af te handelen. Voor onze gemoedsrust houden we het https-teken linksboven op het scherm in de gaten… en voe-len we ons veilig. Maar zijn we dat wel? Zeer waarschijnlijk niet. En er zijn meer wegen naar uw kostbare zaken. Veel banken hebben een hoop voor-zorgsmaatregelen genomen om hun geldautomaten te beveiligen en dan plegen boeven een ramkraak en gaan er met het geld vandoor – over veilig-heid gesproken. Nu het IoT met een geweldige snelheid op gang komt, zul-len er vele hoofdwegen en zijpaden zijn die leiden naar systemen en huizen. Dus wat we hier laten zien is een oplossing om de verbinding met uw dingen te beveiligen, bijvoorbeeld de elektronica voor het openen van uw garage-deur, maar u moet dan wel zelf de ramen in de gaten houden!
IntelligentSocIntelligentSoC werd opgericht in Madrid (Spanje) in 2011 als een spin-off van de ontwikkelafdeling van Datatech SDA, een ingenieursbedrijf gespecialiseerd in de ontwikkeling van communicatie-en data-processing-systemen met de nadruk op beveiliging. Het hoofdthema van het bedrijf is het ontwerpen en fabriceren van IP’s, chips en modules met de nieuw-ste authenticatietechnologieën gebaseerd op elliptic curve math (ECC), Diffie-Hellman algoritmen, en verschillende AES 128/256 encryptietech-nieken. De producten van IntelligentSoC worden tegenwoordig toegepast op alle plaatsen waar beveiliging extreem belangrijk is, zoals in de vlieg-tuigindustrie of militaire systemen. Het bedrijf breidt deze technologie nu uit naar andere gebieden zoals het Internet of Things.
Figuur 7. Het E-Lock evaluatieboard is succesvol verbonden.