mTower
mTower: Trusted Execution Environment for MCU-based devices - Published in JOSS (2019)
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
mTower is Trusted Execution Environment specially designed to be used on MicroController Units (MCUs) supporting ARM TrustZone technology (e.g., Cortex-M23/33/35p). mTower operates well under restrictions typical for such environment – small RAM and ROM sizes, relatively low performance, absence of rich OSes providing variety of services available on PCs or in enterprise environments. mTower is intended for usage in IoT, embedded devices, Smart Home applications, distributed heterogeneous networks and other environments where secure processing of sensitive data is necessary.
Basic Info
Statistics
- Stars: 60
- Watchers: 1
- Forks: 19
- Open Issues: 14
- Releases: 9
Topics
Metadata Files
README.md
mTower
Contents
- Introduction
- License
- Platforms supported
- Get and build mTower software
- Source code structure
- Coding standards
- Documentation
- Contributing
1. Introduction
The mTower is a new Trusted Execution Environment (TEE) specially designed
to protect size-constrained IoT devices based on Cortex-m23 MCU. Usage mTower
pre-embedded into the microcontroller, a module developer can use a simple SDK
that based on Global Platform API standards to add security to their solution.
2. License
mTower software consists of multiple components that are individually available under different licensing terms. Terms for each individual file are listed at the beginnings of corresponding files; also, all licenses are listed in COPYING file.
3. Platforms supported
| NuMaker-PFM-M2351
Cortex-M23 | M2351-Badge
Cortex-M23 | V2M-MPS2
Cortex-M33 (Qemu) | SparkFun RedBoard
RISC-V |
|:----------------------:|:--------------------------:|:-------------:|:-----------:|
|
|
|
|
|
| Pine64 Ox64
RISC-V | How to add a platform |||
|
|
|||
Several platforms are supported. In order to manage slight differences
between platforms, a PLATFORM flag has been introduced.
| Platform | Composite PLATFORM flag | Maintained |
|---------------------------|------------------------------------|------------|
| NuMaker-PFM-M2351 |PLATFORM=numaker_pfm_m2351 | v0.6.0 |
| M2351-Badge |PLATFORM=m2351_badge | v0.6.0 |
| V2M-MPS2 |PLATFORM=mps2_an505_qemu | v0.6.0 |
| SparkFun RED-V RedBoard |PLATFORM=sparkfun_redboard | v0.6.0 |
| Pine64 Ox64 |PLATFORM=pine64_ox64 | v0.6.0 |
For information on adding a new platform see the how to add a platform.
4. Get and build mTower software
Please see build for instructions how to run mTower on various devices.
5. Source code structure
The general source code structure for mTower is similar to the structure of the multy platforms source code.
6. Coding standards
In this project we are trying to adhere to the mTower coding convention (see CodingStyle). However there are a few exceptions that we had to make since the code also uses other open source components.
7. Documentation
There is a brief overall functionality description of mTower. Other mTower documentation for the project is located in the docs folder. The latest version of the specification that describes the mTower source code can be generated using doxygen tool from command line. To generate documentation, use
sh
make docs_gen
command, and to view generated docs use
sh
make docs_show
Note that documentation on mTower is work in progress, and right now doxygen does not provide much documentation.
8. Contributing
If you want to contribute to the mTower project and make it better, your help is very welcome. Contributing is also a great way to learn more about social coding on Github, new technologies and and their ecosystems. How to contribute you can find here.
Owner
- Name: Samsung
- Login: Samsung
- Kind: organization
- Repositories: 163
- Profile: https://github.com/Samsung
Samsung Electronics Co.,Ltd.
GitHub Events
Total
- Create event: 32
- Release event: 1
- Issues event: 6
- Watch event: 6
- Delete event: 33
- Issue comment event: 55
- Push event: 25
- Pull request event: 66
- Fork event: 2
Last Year
- Create event: 32
- Release event: 1
- Issues event: 6
- Watch event: 6
- Delete event: 33
- Issue comment event: 55
- Push event: 25
- Pull request event: 66
- Fork event: 2
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Taras Drozdovskyi | t****y@s****m | 141 |
| Oleksandr Moliavko | o****o@s****m | 13 |
| Vitalii Petrychenko | v****k@s****m | 3 |
| dependabot[bot] | 4****] | 2 |
| Kyle Niemeyer | k****r@g****m | 2 |
| somang-park | s****k@s****m | 1 |
| Yehor Hrek | y****k@p****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 47
- Total pull requests: 190
- Average time to close issues: 5 months
- Average time to close pull requests: 13 days
- Total issue authors: 7
- Total pull request authors: 9
- Average comments per issue: 0.74
- Average comments per pull request: 1.05
- Merged pull requests: 67
- Bot issues: 0
- Bot pull requests: 106
Past Year
- Issues: 4
- Pull requests: 60
- Average time to close issues: about 22 hours
- Average time to close pull requests: 9 days
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 0.25
- Average comments per pull request: 1.53
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 56
Top Authors
Issue Authors
- tdrozdovsky (23)
- c01dkit (9)
- omoliavko (7)
- SyzTrust (4)
- UVScan (3)
- dependabot[bot] (2)
- Linciclon (1)
- onlinedj (1)
Pull Request Authors
- dependabot[bot] (165)
- tdrozdovsky (67)
- step-security-bot (11)
- omoliavko (3)
- tdrozdovskiy (3)
- kyleniemeyer (2)
- vpetrychenko (2)
- onlinedj (2)
- EgorGrek (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout e2f20e631ae6d7dd3b768f56a5d2af784dd54791 composite
- actions/checkout ec3a7ce113134d7a93b817d10a8272cb61118579 composite
- actions/upload-artifact 82c141cc518b40d92cc801eee768e7aafc9c2fa2 composite
- github/codeql-action/upload-sarif 5f532563584d71fdef14ee64d17bafb34f751ce5 composite
- ossf/scorecard-action e3e75cf2ffbf9364bbff86cdbdf52b23176fe492 composite