Skip to content

About PLCnext TPM architecture

Hello Sir

 

We have a customer care about the TPM of PLCnext ,however, we have less information about the  PLCnext TPM architecture and principle, what's more,how to implementation it. Could you please explain it generally, or send us some related document?

 

Looking forward to your replay ,Thank you very much!

Comments

  • Hello,

    Here is some initial information:

    The TPM (trusted platform module) is a microchip which is used to ensure the platform integrety of electronic devices.
    It provides hardware based security functions and up to now we are using it as followed:
    - Secure storage of device data like default password, serial number, MAC, etc.
    - Private key of device identity, which is created while production process, is bound to the TPM.

    The device identity is needed for instance to become a secure connection to the device while using PLCnext Engineer. It is also used to check if the connected device is a real Phoenix Contact device.

    Please let us know if you need more information.

    ~ Martin.

  • Hello Martin

    Thank you for your information!

    However, there are several topics we care about:

    1.the general description about the architecture design of PLCnext TPM ,does it based on a FPGA? or other ways? Maybe like the attchment picture show.

    2.about TPM function, does it just we claim it to customer, or is there a so-called third party inspection agency certification to make customer accept?

    3.to some primary users, how we can do simple test ,for example , the same operation to PLCnext and  classical PLC to show the different effect between with TPM and without TPM ?

    Just discuss, I'm sorry if offended you.

     

    Looking forward to your reply!

  • Hello,

    I will pass your questions on to the technical experts in this area, and let you know the result.

    It's no problem, these are good questions!

    Regards,

    Martin.

  • Just a short update - one of our technical experts is currently putting together answers to these questions, and we expect to be able to post these answers some time next week.

    ~ Martin.

  • OK, here are some answers from our technical experts:

    1.the general description about the architecture design of PLCnext TPM ,does it based on a FPGA? or other ways?

    TPM is an additional chip which is connected to the FPGA. The TPM protects the Initial Device Identity ("IDevID") and the default password.
    In the Certification Authentication WBM Page, the details of the IDevID certificate’s chain can be checked:

    IDevID

    AXCF252

     

    Keys, certificates and individual default password are saved to the TPM during production and cannot subsequently be changed.
    In IEC 62443, this data is called “Manufacturers roots of trust”, because this information is used to securely identify the device.
    The device specific data is stored in the end entity certificate shown in the AXC F 2152 certificate.
    Among other information, the serial number of the device is also provided securely.
    This certificate is used to ensure that only trusted communication partners can communicate with the PLCnext device.

    2.about TPM function, does it just we claim it to customer, or is there a so-called third party inspection agency certification to make customer accept?

    The certificates are generated with a PKI (public key infrastructure) and need to be stored securely to the device during production.
    Managing a PKI requires specific processes and maintenance.
    The Development process of PLCnext is certificated by TÜV-SÜD according IEC 62443-4-1.
    This certification covers the PKI handling and production process.

    3.to some primary users, how we can do simple test ,for example , the same operation to PLCnext and classical PLC to show the different effect between with TPM and without TPM?

    The certificate chain is used by our engineering software (PLCnext Engineer) to prove that we are accessing a PxC device. It also protects communication between PLCnext Engineer and the PLC from tampering.
    In the Application Program, programmers can use this information to check if they are running on a PLCnext Control device, or even on a specific device, by checking the serial number. The PLCnext Engineer function block SEC_VERIFY_DEVICE_IDENTITY offers a check of the Device Identity. In this way, it is possible to guarantee that the user program is executing on a specific device family, or even on one unique device.

    FB SEC Verify

    ====================

    Please let us know if you have any other questions.

    ~ Martin.

  • Hello, can you please provide a link here to the PhoenixSign Root CA certificate? Thanks.
  • Hi tmcolby,

    you can currently not download the root cert from our webpage, but it is part of the identity store of every PLCnext device.
    Please refer the screenshot above from the identitiy store, the root ca is the 5th in the list.

    Take care,
    Frank
  • Thank you, Frank.
    I have a starter kit on order and will extract it once I have it on my bench.

    I am exploring the option of using the devices signed TPM cert as an attestation cert, or birth certificate, to be trusted in our own infrastructure. In the future, do you plan to make the Root cert publicly available? I think that would be far more convenient that we can automate around.

    Another question: What information is present in the devices certificate that we can use to validate inventory? Is the PLCnext devices serial number encoded in the certificate somewhere for example?
  • Hello Frank, or Martin,

    As developers on the PLCnext device... do we have the ability to interact with the TPM and use it to sign? If so, can you point me to any documentation? Thanks.
  • Sorry for the delay.
    The security expert who can answer these questions is back in the office next week, so I hope we can answer all the outstanding questions then.
  • In the future, do you plan to make the Root cert publicly available?
    No, this root is for Phoenix Contact only. Customers must install their own certificates with web-based management (WBM) to the identity/trust store, or copy them as files.
    If OPC UA is used and a Global Discovery Server (GDS) is available, then your own certificates can be provided to the device via GDS.
    What information is present in the devices certificate that we can use to validate inventory? Is the PLCnext devices serial number encoded in the certificate somewhere for example?
    We provide an interface that can be used to retrieve information like this. Besides the Device Name “Subject_CN” and the serial number “Subject_SN”, the full subject is provided as a string. The idea is to let the application check if is running on the correct device. If not, the application might close itself and/or take other actions.
    You can use PLCnext Engineer function blocks (below) or the Device Identity Validator Service in C++ code.

    As developers on the PLCnext device... do we have the ability to interact with the TPM and use it to sign?
    Its technically possible to generate a new private/public key from the TPM and use it on a PLCnext Control device. To proceed with this, you will need to get in touch with the technical support people in the Phoenix Contact office in your country, via your sales person. Or, with your permission, we can give them your contact details. This is not a common request, and it's better if we do this via direct contact.

    (ref: #217134)
Sign In or Register to comment.