Specification of Crypto Driver, AUTOSAR 807, R22-11, CP, 20230421

AUTOSARは自動車用OSの業界団体規格です。　
業務で利用する場合には、会員になることを条件にしています。

2002年から20年経ち、当初の狙いの段階に近づいてきました。

MATLABでモデルさえ記述すれば、あとは自動生成だけでソフトが完成するところまで、あと一歩です。
Ethernet, UNIXが生まれて20年で大衆化したのと同じように考えると分かりやすいでしょう。　

AUTOSARの上で動く、クラウド対応のミドルウェアが出て、開発も運用もクラウドになれば、一気にAUTOSARは大衆化するでしょう。

AUTOSAR Abstract Platformへの道 R22-11

https://qiita.com/kaizen_nagoya/items/8ac2826635a8c536c7ec

# 2023年4月URL変更
この項は2023年4月21日、AUTOSARの文書のURLが変更になった。
/classic/22-11/
が
/R22-11/CP/
過去記事で、URLでエラーが出たら書き換えてみてください。

/adaptive/22-11/
は　
/R22-11/AP/

/foundation/22-11/
は　
/R22-11/FO/
です。
## 2023年11月URL変更
2023年11月にもAUTOSAR文書のURLが変更になっている。
/user_upload/standards/classic/21-11/
を
/standards/R21-11/CP/
などに書き換えてください。

/user_upload/standards/adaptive/21-11/
を
/standards/R21-11/AP/

/user_upload/standards/foundation/21-11/
を
/standards/R21-11/FO/

お手数をおかけします。
１年に２度URLを変更するなんて、新しい記事が書ける。とても嬉しい。

# 一覧

AUTOSAR R22-11 Qiita記事一覧 20230421 。

https://qiita.com/kaizen_nagoya/items/81a35774f1aa3d64d3f6

この記事の表題の最後に「20230421」を加えます。

<この項は書きかけです。順次追記します。>

AUTOSARが、2022年の版、R22-11を公開しました。

https://www.autosar.org/fileadmin/standards/R22-11/CP/AUTOSAR_SWS_CryptoDriver.pdf

R21-11

https://www.autosar.org/fileadmin/standards/R21-11/CP/AUTOSAR_SWS_CryptoDriver.pdf

R20-11

https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoDriver.pdf

R19-11

https://www.autosar.org/fileadmin/standards/R19-11/CP/AUTOSAR_SWS_CryptoDriver.pdf

https://www.autosar.org/

文書は検索してダウンロードできます。

R20-11,R21-11, R22-11の３年分だけになりました。

公開行事の模様は

AUTOSAR R22-11 Release Event 20221208

https://qiita.com/kaizen_nagoya/items/18471d0b340480fdcd42

Classic Platform Release Overview, AUTOSAR No.0 ,R22-11, CP, 20230421

https://qiita.com/kaizen_nagoya/items/9d22c8722cbc0f42b137

Foundation Release Overview, AUTOSAR, 781, R22-11, FO, 20230421

https://qiita.com/kaizen_nagoya/items/596a7e2ec86913daa3c2

Adaptive Platform Release Overview, AUTOSAR 782, R22-11, AP, 20230421

https://qiita.com/kaizen_nagoya/items/fc8e02e8cb07411dbc2a

# 要求仕様対応(Requirement and Specification)
# Abstract Platformとの関係
RS統合。

<この項は書きかけです。順次追記します。>

## 文書変更(Document Change) 

>• Clarification on handling the Key state during Crypto_KeyElementSet API
 Add support for custom service and related API

# 用語(terms)
|Term|Description|
|:--|:--|
|CDD| Complex Device Driver
|CSM| Crypto Service Manager
|CRYIF| Crypto Interface
|CRYPTO| Crypto Driver
|DET |Default Error Tracer
|HSM| Hardware Security Module
|HW |Hardware
|SHE| Security Hardware Extension
|SW| Software
|Crypto Driver Object|A Crypto Driver implements one or more Crypto Driver Objects. The Crypto Driver Object can offer different crypto primitives in hardware or software. The Crypto Driver Objects of one Crypto Driver are independent of each other. There is only one workspace for each Crypto Driver Object (i.e. only one crypto primitive can be performed at the same time) The only exception of independency between Crypto Driver Object is the usage of a default Random Number Generator (see [SWS_Crypto_00225]).
|Key| A Key can be referenced by a job in the Csm. In the Crypto Driver, the key references a specific key type.
|Key Type| A key type consists of references to key elements. The key types are typically pre-configured by the vendor of the Crypto Driver.
|Key Element |Key elements are used to store data. This data can be e.g. key material or the IV needed for AES encryption. It can also be used to configure the behaviour of the key management functions.
|Channel| A channel is the path from a Crypto Service Manager queue via the Crypto Interface to a specific Crypto Driver Object.
|Job |A 'Job' is a configured 'CsmJob'. Among others, it refers to a key, a cryptographic primitive and a reference channel.
|Crypto Primitive |'Primitive' is an instance of a configured cryptographic algorithm realized in a Crypto Driver Object. Among others it refers to a functionality provided by the CSM to the application, the concrete underlining 'algorithmfamily' (e.g. AES, MD5, RSA, ...), and a 'algorithmmode' (e.g. ECB, CBC, ...).
|Operation |An operation of a crypto primitive declares what part of the crypto primitive shall be performed. There are three different operation  modes:It is also possible to perform more than one operation at once by concatenating the corresponding bits of the operation mode argument.
|START| Operation mode indicates a new request of a crypto  primitive, and it shall cancel all previous requests of the same job and primitive.
|UPDATE| Operation mode indicates, that the crypto primitive expects input data.
|FINISH |Operation mode indicates, that after this part all data are fed completely and the crypto primitive can finalize the calculations.
|Priority |The priority of a job defines the importance of it. The higher the priority (as well in value), the more immediate the job will be executed. The priority of a cryptographic job is part of the configuration.
|Service |A 'Service' shall be understood as defined in the TR_Glossary document: A service is a type of operation that has a published  specification of interface and behavior, involving a contract between the provider of the capability and the potential clients.

## 英日
日本語は仮訳

T.B.D.

# 参考(reference)

[1] AUTOSAR Layered Software Architecture
AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
[2] AUTOSAR General Requirements on Basic Software Modules
AUTOSAR_SRS_BSWGeneral.pdf
[3] AUTOSAR General Specification for Basic Software Modules
AUTOSAR_SWS_BSWGeneral.pdf
[4] AUTOSAR Specification of Crypto Interface
AUTOSAR_SWS_CryptoInterface.pdf
[5] AUTOSAR Specification of Crypto Service Manager
AUTOSAR_SWS_CryptoServiceManager.pdf
[6] AUTOSAR Requirements on Crypto Modules
AUTOSAR_SRS_CryptoStack.pdf
[7] AUTOSAR Specification of Secure Hardware Extension
AUTOSAR_TR_SecureHardwareExtension.pdf
[8] Glossary, AUTOSAR_TR_Glossary
https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TR_Glossary.pdf
[9] Specification of the 3GPP Confidentiality and Integrity Algorithms 128-EEA3 & 128-EIA3: Document 1: 128-EEA3 and 128-EIA3 Specification, Version 1.7, 30th Dec 2011 Document 2: ZUC Specification, Version 1.6, 28th June 2011
[10] ISO/IEC 10118-3:2018 Part 3: Dedicated hash-functions (SM3)
[11] ISO/IEC 14888-3:2018 IT Security techniques — Digital signatures with appendix — Part 3: Discrete logarithm based mechanisms (SM2)
[12] IEC 7498-1 The Basic Model, IEC Norm, 1994


 
# 関連文書(Related document)

AUTOSAR Abstract Platformへの道 R22-11

https://qiita.com/kaizen_nagoya/items/8ac2826635a8c536c7ec

自動車　記事　１００

https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

Basic principles, ボッシュ自動車handbook(英語)11版まとめ<2>

https://qiita.com/kaizen_nagoya/items/24a1ba5da3d09b2a95d1

JAXA/IPA クリティカルソフトウェアワークショップ WOCS言語関連発表(改定版)

https://qiita.com/kaizen_nagoya/items/4789832baf494cb74626

CAN(controller area network) 

https://qiita.com/kaizen_nagoya/items/e8c0bd7bfb2827b83de9

「はじめてのCAN/CANFD 」 ベクタージャパン ＜エンジニア夏休み企画>【読書感想文】

https://qiita.com/kaizen_nagoya/items/1fee270be00ef90ca4ec


三方良し　Udemy 車載LAN入門講座 CAN通信編

https://qiita.com/kaizen_nagoya/items/bed038c52510fea72c0a


詳解 車載ネットワーク CAN, CAN FD, LIN, CXPI, Ethernetの仕組みと設計のために(1) 著者　 ＜エンジニア夏休み企画 読書感想文＞

https://qiita.com/kaizen_nagoya/items/e9971698a108c3dba794

詳解 車載ネットワーク CAN, CAN FD, LIN, CXPI, Ethernetの仕組みと設計のために(2)参考文献 ＜エンジニア夏休み企画>【読書感想文】

https://qiita.com/kaizen_nagoya/items/e156cbdd5fce9263776e

詳解 車載ネットワーク CAN、CAN FD、LIN、CXPI、Ethernetの仕組みと設計のために

https://qiita.com/kaizen_nagoya/items/44a9e6b0f5363b4a5b35

 ＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞

# 文書履歴(document history)
ver. 0.01 初稿　　20230715

### 最後までおよみいただきありがとうございました。

いいね　💚、フォローをお願いします。

####  Thank you very much for reading to the last sentence.

Please press the like icon 💚　and follow me for your happy life.