-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add TF-2C for Security Management Appendix #250
Comments
I agree this is an important topic. Most of the vendors are unhappy with the security certificate requirements in the Base-PKP. Recently, a new OR.NET working group has been kicked-off regarding the security certificate handling. It will probably still take some time, but we can start in SDPi. Does this issue relate to #52 ? |
Edits to expand some points and incorporate ideas from @neuschwander-lmi :
The diagram below offers very rough outline, and straw man, for a possible approach to operationalize SDC security through the following journey:
Some additional considerations/features:
Some questions:
SummaryActors
Certificates
|
In response to @PaulMartinsen :
I don't understand what kind of on-boarding certificate you refer to in this context. From the rest of the text, I assume you mean something with SDC-specific information?
This is not possible if manufacturing occurs before the compliance process is finished. This is the normal case if compliance to a new standard emerges from a software feature update and the product is already in use before compliance testing begins. We should remove everything specific to SDC-compliance from the "onboarding" certificate. General remarks:
|
Thanks for your comments @neuschwander-lmi. Sorry, for the tardy reply; a busy couple of weeks with plug-a-thon and SDPi workshops back-to-back.
Yes, I'm specifically thinking of an SDC on-boarding certificate, being one mechanism to join an SDC network which also separates verifying/ asserting conformity from communications. I edited my original comment to make this a little clearer and will try to call them SDC on-boarding certificates. A vendor might have other certificates (or certificate features) for other on-boarding tasks, however I was thinking only of SDC on-boarding here.
Great point. I changed the description (not reflected in diagram yet) to make it trivial to get a conformity URL that can be placed in a certificate. Now I'm imagining they are provided to any who would like one. The certificate then provides a URL to human/machine readable conformity status (with suitable granularity) that could range from "issued" to "passes all tests". Responsible organizations running SDC networks would typically look to the conformity resource when issuing communication certificates but could also work with vendors through the transient period to issue SDC communication certificates using other mechanisms (e.g., white/black lists).
I think I've done this now by moving the conformity status into a publicly accessible resource, referenced from the "SDC onboarding certificate". The onboarding and device certificates could still declare their SDC capabilities in the certificates (to facilitate interoperability), but trust of claims would be verified (by the responsible organization's TLS certificate authority) through an external, updatable, conformity resource and/or relationships between responsible organizations and vendors.
My idea to resolve this (added to original comment) was to let manufacturer's self-declare parts of conformity in the public conformity resource referenced in the SDC on-boarding certificate (e.g., this new version number still confirms but has some security fixes). Typically responsible organization's TLS certificate authority could/would be configured to accept fixes/new versions.
Agreed. This is what I was thinking about for the "independent manufacturer" and a benefit that occurred to me if we separate conformity and communications when operationalizing security was discussed in the SDPi workshop. A responsible organization's TLS certificate authority is able to issue communication certificates using any rule it likes, which could be informed by vendor relationships and information from a conformity consortium linked in the SDC on-boarding certificate. |
Hi @PaulMartinsen .
Especially cases like the second make it hard to pinpoint which certificate exactly is meant. Could you please add a list of all certificate names at the top and apply consistent naming? |
Version 0.2, reworked for clarity. Use casesUse cases considered by the scheme described here include:
ActorsActors involved in operationalization of security for SDC described here are:
Additional actors are described in SDC standards and profiles. CertificatesCertificates involved in operationalization of security for SDC described here include:
It is common for chains of trust to have various intermediate certificates, not shown here, to facilitate protection of private keys and updating of certificates. The chain of trust for conformity and communications certificates is shown below. Other terms
RelationshipsOperationResponsible organizationTypically, in the responsible organization (e.g., hospital, ward, ambulance) an SDC participant joins an SDC network by:
The mediator examines the evidence offered by the SDC participant (typically an on-boarding certificate) and, if the participant meets the responsible organizations policies, signs the certificate signing request and returns the certificate to the participant. The participant uses the communications certificate to participate in the SDC network. Note Using a mediator separates conformity from communications placing the decision on which SDC devices may participate in a particular network in the hands of the responsible organization (typically) informed by a conformity record supplied by the conformity consortium. The lifetime of the communications credentials may depend on the operating environment of the responsible organization. For example:
Conformity recordTypically, an SDC participant would provide an on-boarding certificate with a URN to the product's conformity record to join the responsible organizations SDC network. The mediator examines the conformity record (possibly along with other information in the certificate) to decide if the SDC participant should be allowed onto the network. The conformity record could be obtained, through the Internet, from the conformity consortium directly or the mediator could maintain a regularly updated, local cache, to facilitate isolation from public networks. Note Because the conformity information is held at the conformity consortium it can be updated through the products life-cycle. The conformity record could contain information such as:
A mediator implementation may accept other evidence (e.g., endpoint-reference, subject relative distinguished names) as permission to join the responsible organizations network (e.g., through relationships between individual vendors and the responsible organization). These mechanisms may be out of scope of the standard/ profile. ConformityConformity to one or more SDC standards/ profiles is recorded in the conformity record, maintained by the conformity consortium and communicated by a SDC participant using a conformity reference in the participant's on-boarding certificate. Getting startedA manufacturer obtains a conformity reference by submitting a certificate signing request to the conformity consortium. The certificate signing request would contain:
The conformity consortium would verify the manufacturer's identity (subject), generates a conformity id (e.g. Manufacturers typically obtain the manufacturing certificate before an SDC participant is available so the conformity report would have a status of "issued", signalling the participant's conformity is unknown. A manufacturer may be building a participant using an SDC-stack provided by an independent software vendor, so manufacturing certificate could be issued in partnership with the stack-vendor with a reference, to the stack-vendor's conformity (e.g., the manufacturer might apply for the conformity id through the stack-vendor and be issued a manufacturing certificate signed by the stack-vendors manufacturing certificate). Becoming conformantAn "issued" conformity status offers little information to responsible organisations to assess interoperability. So, at some stage the manufacture could:
Neither the manufacturing certificate, nor any issued on-boarding certificates require modification when conformity changes because both certificates include a reference to the conformity record and do not contain this information directly. Conformity records may be linked to a major SDC participant version (that is, major changes to the SDC participant require a new manufacturing certificate and auditing). Minor, incremental, hot-fixes and security updates may not change conformity status, or provide additional information for mediators to consider. This information is typically updated by the manufacturer (e.g., to avoid additional risk where security updates are required). Conformity records may provide revocation information to mediators. For example, where a manufacturer recalls specific versions from service (e.g., private key breach, fault or security issue identified by unresolve in particular released versions, manufacturing issues discovered in specific batches). This mechanism could replace certificate revocation list URLs and black/white listing at the product, version or batch level for SDC networks (which typically do not have network access to retrieve the certificate revocation list). Note Nothing is intended to prevent a responsible organization from allowing SDC participants with "issued" conformity status from joining their SDC network (e.g., for testing, through relationships with vendors, etc). Similarly for "self-assessed" conformity. SDC participant credentialsAn individual SDC participant gets an on-boarding certificate during manufacturing. Typically the new device will generate its private key (which normally doesn't leave the device), and create a certificate signing request, which is signed by the manufacturing certificate, to create the participant's on-boarding certificate, which is stored on the device. The on-boarding certificate would contain:
As conformity records may include revocation information, the valid period for the on-boarding certificate may be the product lifetime. Manufacturers may provide mechanisms to update the on-boarding certificate over the product lifetime (out of scope of this description). Note "Manufacturing" here includes updating deployed devices to add support for SDC. As part of the update, the deployed device could generate a private key, generate a certificate signing request which is sent to the device's manufacturer for signing with the manufacturing certificate. The device manufacturer should verify the identity of the device through some independent method before generating and returning the on-boarding certificate. Other detailsCustom extended key usageManufacturers might wish to include their own extend key usage object ids in on-boarding certificates. This is supported through the certificate signing request supplied to the conformity consortium. Custom extended key-usages could be critical or non-critical. None critical extensions are ignored by SDC participants that don't understand them. Credentials containing critical extensions are generally not accepted by anything that doesn't understand them. This presents a problem for the mediator. The mediator should pass-through critical extensions to the communication certificate. DiscoveryAn SDC participant new to a responsible organization needs to find the mediator. This could be accomplished in several ways including:
Some things to figure out
|
I think I have a very important question which needs addressing before we can continue to talk about technical implementations: Does the conformity assessment only apply to the SDC interface provided by the SDC participant, or does it apply to the whole device? Example: Does conformity assessment check whether the alarm presented on the UI interface corresponds to the alert information conveyed via SDC? If conformity only assesses the interface, the task is "easy". However, I think this assessment would be kind of worthless. If not, we run into a problem especially for aggregators where the aggregated MDS can change after the onboarding process. Conformity will then depend on the devices connected and can therefore not be evaluated at onboarding time. |
I have assumed conformity assessment here is referring to the implementation conformance statements (ICSs) at the end of each standard (e.g., section 11 in 11073-10207). Or at least an analogue of these, perhaps adapted by SDPi. The tables there identify various mandatory, optional, prohibited etc requirements. Then
This is just a (somewhat) educated guess though. It might be at the "worthless" end of your scale, if I understood correctly, but I believe I've seen requirements that the SDC implementation shouldn't deviate from the participants purpose. i"m not sure how that turns into an ICS that an could be tested for SDC conformity as it sounds quite device specific. Considered alone, evaluation of implementations may not need conformity information in the certificates. However,
|
I'm not sure if it was clear what I meant. An example:
option 1If we choose 1, that means that conformity evaluation cannot test anything except the device. It would be possible to get a positive statement e.g. for a ventilator which generates alarms but does not forward them to the network. Then the utility of the conformity statement is limited to interoperability alone, and does not add any value from a safety perspective. options 2, 3, 4If we choose 2, 3 or 4, whether A may use a specific EKU depends on which devices will be aggregated. At the time of onboarding, a decision must be made which Mds are allowed to be aggregated by A. This also means that
option 5This would be the easiest to handle (both testing and onboarding). It will create instances of A which state conformity to a set which may never be used by this specific instance, e.g. if the hospital only has devices of type X, not Y. However, options 2-4 can also create this scenario if devices are configured as allowed even though they are not planned to be used. This might be the case e.g. if two separate aggregators are used for devices X and Y, but the hospital might want the option to switch the placement of X and Y while the aggregators they are connected to remain at the same location (without repeating onboarding). |
A completely different approach: We could place a conformity certificate into a custom field of the communication certificate. Then each participant can get access to a verifiable conformance statement of all peers. Advantages:
Disadvantages:
|
SDPi Friday 2024.07.26 Discussion - Attached is a presentation given today by Oracle | Java Card team exploring the relevance to Gemini SDC/SDPi+FHIR cybersecurity. Enjoy ... |
SDPi Workshop #4 - Push to 2.1; content will include results of OR.NET Security WG discussions. |
Section Number
TF-2C (new appendix)
Priority
Issue
For SDPi, security operationalization and related specifications has become an increasingly important topic, warranting a new appendix in TF-2 to contain the related specifications
Proposed Change
Add appendix C to the current SDPi build and include a general note about the content that will be added to the section.
The text was updated successfully, but these errors were encountered: