Beantwoord

KPN LoRa roaming HSM

  • 18 September 2020
  • 5 reacties
  • 575 keer bekeken

Wij willen graag een van onze bestaande devices testen met KPN LoRa Roaming.

Om van LoRa roaming gebruik te maken moet ik ‘HSM protection for appkey’ gebruiken.

Dit is nieuw en ik weet niet hoe dit werkt, misschien heeft iemand hier ervaring mee

  1. Zijn er software en/of hardware wijzigingen op het device nodig?
  2. Is voor HSM een secure element (hardware) vereist?
    • Ik gok dat het aan te raden is, maar onze huidige hardware (die wij willen testen) heeft geen secure element. Kunnen we zonder?
  3. Moet ik onze appkey met de rsa public key encrypten? Waar heb ik mijn private key voor nodig?
  4. Is er documentatie beschikbaar?
icon

Beste antwoord door Rick S. 1 March 2021, 14:12

Bekijk origineel

5 reacties

Reputatie 7
Badge +6

Goedemiddag @Laurens G

Excuses voor de late reactie! 
Ik moet eerlijk zeggen dat ik zelf erg weinig kennis van LoRa Roaming heb en heb intern verschillende hulplijnen ingeschakeld. Allereerst kan ik melden dat eigenlijk alle informatie staat omschreven in de technische dienstbeschrijving die beschikbaar is in de IoT Service Portal. Als u daar bent ingelogd en vervolgens naar het kopje ‘Documenten’ gaat is de dienstbeschrijving daar beschikbaar. 

Natuurlijk geef ik hier ook graag antwoord op uw vragen:
 

  1. Het device behoeft geen hardware wijzigingen mits deze gecertificeerd is door de LoRa Alliance.
  2. Nee, er is geen Secure Element (SE) nodig. Let wel: vaker dan bij OTAA devices wordt een SE aangeraden voor ABP devices, echter staat het KPN netwerk alleen OTAA devices toe.
  3. De procedure hiervoor staat beschreven in de technische dienstbeschrijving.
  4. Ja, de technische dienstbeschrijving is te vinden in de IoT Service Portal. Mocht hier geen toegang toe zijn, wordt verzocht contact te zoeken met de accountmanager of service level manager.

Ik hoop dat u hiermee verder kunt :innocent:

Dag Rick,

Late reactie kan gebeuren, ik ben hier nog nog veel later mee.
Ik ben met de zaken die jij aangaf aan de slag gegaan. Ik gebruik zelf het document ‘HSM user guide’ versie 1.1.1.
Ik kan niet bij het IoT Service Portaal (hoe kan ik daar vanuit MendixCloud komen?)

Nu heb ik wel een stuk beter beeld wat er veranderd, maar het lukt mij nog niet om een device correct toe te voegen op KPN met HSM. Ik krijg een join request binnen, maar deze wordt niet geaccepteerd. Vermoedelijk omdat mijn appkey incorrect encrypt is. Kan jij mij helpen/zien wat ik fout doe?

 

Voorbeeld:

  1. appkey: 00112233445566778899AABBCCDDEEFF
  2. Deze sla ik 1-op-1 op in een .txt bestand
  3. Via de commandline, bestand encrypten met de RSA sleutel van KPN:
    openssl rsautl -encrypt -inkey kpn_rsa.pem -pubin -in ct_appKey.txt -out ct_appkey.encrypted
  4. Bestand omzetten naar een base64 string
    base64 ct_appkey.encrypted > encrypted_ct_appkey_base64.txt
  5. Resultaat: 
    debFI2KNXpaNWikRkKjF/3D/89mkEL4V4QRFji214i1V+nGO/2UhmIDAVFnz5QJE1ceUY+IXdJ23
    qsgwlcT3LaFe3NgtSAdYDvMUr3d48JthQB19QU89+yQpw3T/WemURQjRp4Imdas9fQYiQUhmSiN8
    ajIGu7UKqRCYLJOtAcPbui+7LgfC+AhpGMc3zv6EvqJMYSUmfTiKOp6owfDPeqww4Xl980EH/9Iv
    G6EwEeBFCkROngcZomPchtm7eF9hyPr/0qUKPhQ5xi0Ofo/cGD3TqVROx4bgr4rqhUeQ2d85X03s
    gtvDiNkumd23o7pZaEdiTMHmxppEtSeeed1t6Q==
     

Waarschijnlijk moet ik de appkey niet in een txt bestand opslaan, maar op een andere manier opslaan/encrypten. Wat zijn de correcte stappen?
 


 

Reputatie 7
Badge +6

Goedemiddag @Laurens G ,

Ik heb vorige week weer wat hulplijnen ingeschakeld om dit weer verder op te pakken. Ik heb alleen nog geen terugkoppeling mogen ontvangen. Ik ga weer even navraag doen. Zodra ik meer duidelijkheid heb hoort u uiteraard direct weer van mij. 

Reputatie 7
Badge +6

Goedemiddag Laurens, 

Daar ben ik weer!
Helaas weer wat later dan gehoopt. Mijn excuses hiervoor. 

Een van de specialisten is er even in gedoken en laat mij weten dat het inderdaad misgaat bij het opslaan van de AppKey. Zoals u schrijft heeft u het nu als text opgeslagen, maar het moet als binair opgeslagen worden in het bestand. Als tip geeft mijn collega nog mee dat dit bijvoorbeeld kan met de Linux tool xxd. 

Ik hoop dat u hiermee verder kunt! 

Dag Rick,

 

Bedankt voor de support. Ik ben niet heel erg bekend met encryptie dus alles was nieuw, maar uiteindelijk heb ik het (dankzij jou) wel aan de praat gekregen. Het probleem is dus opgelost.

Voor de volledigheid beschrijf ik hieronder mijn oplossing.

 

---------------------

 

Ik werk zelf op een Windows systeem. Voor de versleuteling werkt Linux fijner en daarom gebruik ik hiervoor ook het Ubuntu WSL (te downloaden in de Windows store)

 

Stap 1: Voorbereiding

Download het KPN HEK1 bestand (RSA Public key).

Dit bestand kan je downloaden wanneer je een LoRa device aanmaakt.

 

Stap 2: appkey opslaan

  1. Commandline: Nano appKey.hex
  2. Plak hier de appKey in hex (0000 1111 2222 3333 4444 5555 6666 7777 8888)
  3. Converteer dit naar een binary file
  4. Commandline: xxd -r -p appKey.hex appKey.bin

 

Stap 3: AppKey encrypten met KPN HEK1

  1. Zorg dat de appKey.bin en HEK1 in dezelfde map staan.
  2. Zorg dat jij ook in die map aan het werk bent in de commandline.
  3. Commandline: sudo openssl rsautl -encrypt -inkey HEK1.pem -pubin -in appKey.bin -out appKey.encrypted

 

Stap 4: Encrypted appKey omzetten naar base64

  1. Commandline: base64 appKey.encrypted > encrypted_appKey_base64.txt

 

Voorbeeld

  • HexKey: 0000 1111 2222 3333 4444 5555 6666 7777 8888
  • RSA encrypted AppKey:
    ahBwPDChPuak0dNsY/N13wp8AVT2H/e18RGxNye12LdwKLVcD2gY/idhdfuFujTr/sJxmjmioK0a
    B4X5E8n7epY3tgwew/m+75XcxMr9QCqpud/mGezcNJ0Jnmvd9G/zmmRnd9lAugoxrVUL4lhPAVgL
    KaSlM10X5TTziqARn7W1/CAcuUTY6kgr+p0HWBEtHnmX35dQmTGa94HOzJDPqRHhN0vBEqdAX9Et
    WzNxhhnFwg0Y4TWnoOBLy4UQHEpyu96ao1mVwyXGIMwad0F2l47RyYEVxlUV4FK4c9kzgbVZ/Oe5
    0zLUGtZdDLxGNJhA3T7yfFCOzeDyMh2cbbnqjw==

Deze base64 string kan je op KPN invoegen als de “RSA encrypted AppKey”

Reageer