From 39a0cb4c465affe4c8bd689936a866fbf2b24000 Mon Sep 17 00:00:00 2001 From: Scott Lecher Date: Mon, 30 Mar 2026 17:37:43 -0400 Subject: [PATCH] Incorporate docs for digital application authentication (IVS-760) --- docs/_static/digital_app_auth_invalid.png | Bin 0 -> 4246 bytes docs/_static/digital_app_auth_na.png | Bin 0 -> 4655 bytes .../digital_app_auth_process_overview.jpg | Bin 0 -> 162011 bytes docs/_static/digital_app_auth_valid.png | Bin 0 -> 5317 bytes docs/ref/digital-app-auth/implementation.md | 122 ++++++++++++++++++ docs/ref/digital-app-auth/purpose.md | 65 ++++++++++ docs/ref/digital-app-auth/user-interface.md | 38 ++++++ docs/ref/index.md | 24 ++++ 8 files changed, 249 insertions(+) create mode 100644 docs/_static/digital_app_auth_invalid.png create mode 100644 docs/_static/digital_app_auth_na.png create mode 100644 docs/_static/digital_app_auth_process_overview.jpg create mode 100644 docs/_static/digital_app_auth_valid.png create mode 100644 docs/ref/digital-app-auth/implementation.md create mode 100644 docs/ref/digital-app-auth/purpose.md create mode 100644 docs/ref/digital-app-auth/user-interface.md diff --git a/docs/_static/digital_app_auth_invalid.png b/docs/_static/digital_app_auth_invalid.png new file mode 100644 index 0000000000000000000000000000000000000000..a767a982e3c06dd761d1fbc374b221671483af51 GIT binary patch literal 4246 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 literal 0 HcmV?d00001 diff --git a/docs/_static/digital_app_auth_process_overview.jpg b/docs/_static/digital_app_auth_process_overview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e65f5958e1a700e297359da12c27b8bf74a0c990 GIT binary patch literal 162011 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 D_kRgl literal 0 HcmV?d00001 diff --git a/docs/_static/digital_app_auth_valid.png b/docs/_static/digital_app_auth_valid.png new file mode 100644 index 0000000000000000000000000000000000000000..e45210a5913b0b5c15dd4e18e8567d28caf67e56 GIT binary patch literal 5317 zcmZ`d2|UzW+cRTLmMPg1GZcz4C}ZEZx+PS0B4dp)F~cBZ$<30zl(H6~?E9W2*^Q+U zvNH@}j4Z|2zEStS_x`^3`{w_fInQ&R?L5mlXP$qA;Y~d@meVW%0D$eUv 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 F^glff1=Iil literal 0 HcmV?d00001 diff --git a/docs/ref/digital-app-auth/implementation.md b/docs/ref/digital-app-auth/implementation.md new file mode 100644 index 00000000..2e5b9485 --- /dev/null +++ b/docs/ref/digital-app-auth/implementation.md @@ -0,0 +1,122 @@ +## Implementation Guidelines for Developers + +### Overview of the Signature Process + +The digital authentication process for IFC files involves generating a hash of the file's content, encrypting this hash +with a vendor's private key, and appending the resulting signature along with the public certificate to the IFC file. +The Validation Service, or any consuming application, can then decrypt the signature using the vendor's public key, +re-hash the file content, and compare the two hashes to verify integrity and authenticity. + +![Figure – Signature Process Overview](./signature-process-overview.jpg) +```{image} ../../_static/digital_app_auth_process_overview.png +:alt: Digital Application Authentication process overview +:scale: 100 % +:align: center +``` +*Figure 1 – Signature Process Overview* + +The table below explains the terms used in the figure above. + +| Term | Meaning | Location | +|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| +| Certificate Authority (CA) Private Key | The private key of the Certificate Authority (CA). It is used to **sign other CA certificates** (e.g., vendor or leaf certs). Highly secure, never exposed. | Private and stays with the issuing vendor | +| CA Certificate | The **public certificate** of the CA. It includes the CA's public key and is used to **verify signatures** created with the CA key. This certificate is **trusted by default.** | Published on the buildingSMART GitHub repo | +| Leaf Private Key | The private key of the actual **end-entity** (e.g., a specific software tool or product). It signs the actual IFC file. | In the signature comment block of the IFC file | +| Leaf CSR (Certificate Signing Request) | A request generated using the leaf key, containing the public key and identity info. It's sent to a CA to obtain a signed certificate (Leaf certificate). | — | +| Leaf Certificate | A certificate issued to the leaf entity (the signer of the IFC file), signed by a CA (or intermediate CA). It includes the public key that the IFC Validation Service uses to verify the IFC file signature. | Bundled in the IFC signature block (CMS format) | + +### Signature Block Structure + +- **Placement in IFC File**: The digital signature block is appended to the end of the IFC file, specifically after the + `END-ISO-10303;` line. + +- **Syntax**: To remain compliant with the IFC standard (ISO 16739-1), which specify the ISO 10303-21:**2002** (Step + Physical File Format) as primary exchange format, the signature is wrapped within a comment block. The general + structure is as follows: + +``` +1. ENDSEC; +2. /* +3. SIGNATURE; +4. +5. ENDSEC; +6. */ +``` + +In the future, if IFC will change its reference to newer versions of the STEP standard ( +e.g. [ISO 10303-21:2016](https://www.iso.org/standard/63141.html), where anchors, references and signature sections are +supported), a proper signature section can be considered. For now, the comment mimics the exact format of the STEP +signature section. + +### File Content for Hashing + +- **Ignoring Line Endings**: When computing the hash for the digital signature, carriage return (`0x0D`) and new line ( + `0x0A`) characters are ignored — as well as all characters that are not valid according to the 10303-21 syntax. This + addresses potential issues arising from different operating systems (e.g., Windows vs. Linux) handling line endings + differently, which would otherwise invalidate signatures upon re-saving. + +- **Strict Interpretation of File Content**: The hash should be calculated on the file content up to the start of the + commented signature block. A strict interpretation suggests treating the file content as a binary BLOB (Binary Large + Object) for hashing. This means that any semantic or non-semantic changes (e.g., changes in instance order, white + space, or character encoding shifts) will likely invalidate the signature unless explicitly ignored. The current + consensus leans towards being strict: if a user opens an IFC file in a text editor and re-saves it, potentially + altering the content, the breaking of the signature is considered an acceptable indication of tampering. + +### Key and Certificate Management + +- **Generating Private Keys**: Software vendors are responsible for generating and securely storing their private keys. + The process can be straightforward; for example, generating a key using SSH-keygen or similar tools can take mere + minutes for a skilled engineer. + +- **Submitting Public Certificates to buildingSMART**: Once a private key is generated, the corresponding public + certificate (which includes metadata like the vendor's name) should be submitted to buildingSMART. This is done by + opening a pull request to the designated GitHub + folder ([buildingsmart-certificates/validation-service-vendor-certificates](https://github.com/buildingsmart-certificates/validation-service-vendor-certificates)). + +- **Chain of Trust (Optional Advanced Usage)**: While a simple direct trust model (vendor provides public key, + buildingSMART trusts it) is initially sufficient, the framework supports longer chains of trust. This means a root + certificate (e.g., from a vendor like Autodesk) could sign subsidiary certificates (e.g., for specific products like + Revit). The Validation Service can then verify these chains, and allows the root keys to remain private, especially as + the signing of subsidiary keys happens on vendor infrastructure. + +### Cryptographic Standards and Tools + +- **Hashing Algorithms**: The underlying hash function and encryption method for digital signatures can be implemented + using widely available open-source tools. The OpenSSL library is a common choice for proof-of-concept prototypes due + to its native C++ support. + +- **Signature Encoding**: Discussions have revolved around using PKCS #1 versus PKCS #7 for signature encoding. After + careful consideration, PKCS #7 (corresponding to CMS — Cryptographic Message Syntax) has been adopted — mainly because + it is more suitable for API exchange, it is the one suggested in the STEP 10303-21 standard, and it supports + additional metadata and can bundle other public certificates. + +- **Utilising Existing Libraries**: The [step-authorize](https://github.com/steptools/STEPAuthorize) GitHub repository + offers code that can be modified to generate comments before and after the signature. It also provides compiled + binaries and supports different modes for signature and certificate output (e.g., separate blobs or a combined CMS + BLOB). This can be a useful starting point for developers. + +### Important Considerations and Best Practices + +- **Cumulative Signatures**: Digital signatures, as implemented, are cumulative. This implies that removing an earlier + signature in a sequence will invalidate all subsequent signatures. + +- **Handling Leaked Private Keys**: In the event of a private key leak, the ability to "unauthorise" or revoke the key + is crucial. buildingSMART aims to establish procedures for this, akin to a Certificate Authority. + +- **Serialization Agnosticism**: As noted, minor changes to an IFC file (like white space or instance order) will break + a signature. The decision to ignore carriage returns and new lines helps, but strict adherence to file content for + hashing is generally preferred to maintain integrity. + +- **IFC SPF vs. IFC XML**: This digital signature feature is currently designed for IFC SPF (Standard Physical File) + format, not IFC XML, as XML is not within the current scope of the Validation Service. + +- **Adding Comments to Signatures**: Currently, the agreed signature structure doesn't allow for any data besides the + command open/close, signature begin/end markers and the payload. Implementers can always add data as a separate + comment that *precedes* the signature comment — if needed — or embed data in the CMS message structure. + +### Additional resources + +A 30 minutes video containing a detailed demo of the feature can be +found [here](https://app.box.com/s/x2nft1hfyzp7kzhj3xulrp2drhtubl5g). + +For support, email diff --git a/docs/ref/digital-app-auth/purpose.md b/docs/ref/digital-app-auth/purpose.md new file mode 100644 index 00000000..03e0c991 --- /dev/null +++ b/docs/ref/digital-app-auth/purpose.md @@ -0,0 +1,65 @@ +## Purpose and Use Cases + +### Problem Statement: Why Digital Authenticity in the Validation Service? + +IFC files (`.ifc`) are serialised as plain text, which, while beneficial for accessibility, makes them highly +susceptible to unintentional or intentional modification. It is easy for files to become invalid, or for the originating +organisation and application information to be altered. This poses a significant challenge for automated systems like +the buildingSMART IFC Validation Service, which relies on accurate and untampered file data for verification and +assessment. Even more so when buildingSMART uses the metrics derived from the assessment of these files to provide a +judgment on the tools that produced them. While simple hashing can detect if a file has been changed, it does not +confirm the origin of the file. + +### Ensuring File Integrity and Authenticity + +The primary, and sole, purpose of integrating digital authentication support into the IFC Validation Service is to +address concerns regarding file integrity and authenticity. + +- **Integrity**: ensures that the content of an IFC file has not been tampered with since its original signing. +- **Authenticity**: verifies that an IFC file truly originates from the software tool and vendor it claims to be from. + This prevents misjudgment of software tools during automated assessments. + +### Key Use Cases + +Digital authentication is a powerful and widely adopted technology. It can serve multiple use cases, and its complexity +can vary accordingly. To avoid making its adoption and implementation overly complicated, buildingSMART has agreed with +the implementers on a clear, restricted scope for which bSI is going to use such technology. + +- **buildingSMART Software Certification and Assessment**: This is the principal driver for the digital application + authentication initiative. By validating digitally authenticated IFC files, buildingSMART can reasonably assume — + under a framework of trusted keys and good-faith use — that the files used for the Scorecard assessments originate + from the claimed tool and have not been tampered with. This provides a robust foundation for judging software + performance. The Validation Service will be able to check if incoming files are signed according to agreed-upon + standards and provide results to users. + +- **Vendor's Internal File Verification**: Equally, software vendors can use digital authentication to verify that IFC + files received from their customers, which are claimed to be generated by their applications, are indeed authentic and + have not been tampered with post-export. This can help reduce the burden on support desks dealing with corrupted or + falsely attributed files. + +- **Supporting Multiple Signatures**: The system is designed to accommodate multiple digital signatures within a single + IFC file. This allows for a chain of custody, where a file might first be signed by the software vendor, then by an + architectural firm, and subsequently by the buildingSMART Validation Service to attest to its compliance or checks. + Such cumulative signatures provide a verifiable history of the file. + +### The Role of buildingSMART as an Authority + +buildingSMART is positioned as the central reference point and authority for this digital application authentication +framework. This means: + +- **Standardisation**: buildingSMART will establish guidelines for the hashing and cryptographic mechanisms to be used. + That is the second part of this document. + +- **Public Key Management**: buildingSMART will host a GitHub + repository ([buildingsmart-certificates/validation-service-vendor-certificates](https://github.com/buildingsmart-certificates/validation-service-vendor-certificates)) + where vendors can submit their public certificates. This repository will serve as the trusted source for public keys, + enabling anyone — including the Validation Service — to verify signatures. + +- **Private Key Responsibility**: Vendors will be responsible for generating and maintaining their private keys, + according to their key management policies on (e.g.) retention, renewal periods, and leaked key handling. + +### Feature Availability + +The Validation Service feature to check digitally authenticated IFC files is released, for the first time, in **version +0.7.6, on 28th May 2025**. The Validation Service team is responsible for maintaining, and when needed improving, the +feature. diff --git a/docs/ref/digital-app-auth/user-interface.md b/docs/ref/digital-app-auth/user-interface.md new file mode 100644 index 00000000..94033d7e --- /dev/null +++ b/docs/ref/digital-app-auth/user-interface.md @@ -0,0 +1,38 @@ +## User Interface + +The status of Digital Application Authentication checking will be displayed on the dashboard next to the icon +for the header check. + +Models that do not include Digital Application Authentication will not display an additional icon: + +```{image} ../_static/digital_app_auth_na.png +:alt: User interface for passing check of digital application authentication +:scale: 100 % +:align: center +``` + +Models from software tools that have correctly implemented Digital Application Authentication +and have not been modified downstream since export +will display an additional icon indicating a valid check: + +```{image} ../_static/digital_app_auth_valid.png +:alt: User interface for passing check of digital application authentication +:scale: 100 % +:align: center +``` + +Models from software tools that have incorrectly implemented Digital Application Authentication and/or +have been modified downstream since export +will display an additional icon indicating a failed check: + +```{image} ../_static/digital_app_auth_invalid.png +:alt: User interface for passing check of digital application authentication +:scale: 100 % +:align: center +:border: 4px +``` + +```{include} ./digital-app-auth/index.md +:heading-offset: 1 +:relative-images: +``` diff --git a/docs/ref/index.md b/docs/ref/index.md index d1991f5e..9c4e7b25 100644 --- a/docs/ref/index.md +++ b/docs/ref/index.md @@ -1,7 +1,31 @@ # Reference Information +Reference information is primarily aimed at software vendors and solutions providers that wish to implement the IFC standard. +Typically, this audience is interested in software certification as well. + +## Digital Application Authentication + +```{include} ./digital-app-auth/purpose.md +:heading-offset: 1 +:relative-images: +``` + +```{include} ./digital-app-auth/implementation.md +:heading-offset: 1 +:relative-images: +``` + +```{include} ./digital-app-auth/user-interface.md +:heading-offset: 1 +:relative-images: +``` + ## Additional Information for Normative Rules +Occasionally, the Validation Service team will receive inquiries regarding a specific rule that requires +a detailed explanation above and beyond existing documentation in the IFC specification and Validation Service documentation. +The responses to these inquiries are provided here for the benefit of the entire community. + ```{include} ./normative-rules/ALB021.md :heading-offset: 1 :relative-images: