apigovau / national-api-design-standards

Australian National API Design Standards
35 stars 15 forks source link

Department of Home Affairs REST API Standards - points of divergence #4

Closed TimGoodwill closed 3 years ago

TimGoodwill commented 4 years ago

Whilst the baseline Victorian standard is very comprehensive, and we have borrowed from it quite a bit, the Department of Home Affairs’ REST API standard differs from that of the Victorian standard in a number of key areas where the standard is silent, or problematic for federal government and Home Affairs portfolio APIs.

Major points

  1. Among the examples provided in the Victorian standard are potentially Personally Identifiable Information presented in the URL as resource identifiers. We specifically warn against this.
  2. The statement in the Vic standards security section “API keys MUST be used for client authentication” is misleading – API keys are client identification, and are not secure or robust enough a mechanism to be considered ‘authentication’. This should be called out.
  3. Mandating SHA256 is not a good idea. The department mandates that external facing certificates MUST be SHA512 - and the requirement will evolve. SHA-512 is actually faster on 64-bit processors.
  4. There is no detail around JOSE implementation in the Victorian doc – in particular, the JWS Detached Content approach to document signing is an important feature of our implementation – base-JWT based JWS is not suitable for signed documents as the content is often too large for a http header.
  5. There is an absence of a policy for providing protective marking for data. We are re-purposing the PSPF Email Protective Marking Standard message header ‘X-Protective-Marking’ for classified data to make use of the well-defined, inter-operable and versioned semantics.

Minor points with interoperability ramifications

Other Feedback - language issues and unhelpful constraints

Please consider.

jordanwalsh23 commented 4 years ago

Thanks @TimGoodwill for the comprehensive feedback. I will attempt to break this down into a number of smaller issues that the working group can consider for incorporation into the standard.

The next working group meeting is in January, so I will aim to have a few proposed changes in PR form prior to then.

TimGoodwill commented 4 years ago

Thanks for your response. I am happy for you to close this issue and manage the feedback as individual issues, or in the context of the Working Group - whichever suits.