mTower

mTower: Trusted Execution Environment for MCU-based devices - Published in JOSS (2019)

https://github.com/samsung/mtower

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

bootloader cortex-m23 freertos gcc iot m2351 makefile microcontroller numaker-pfm-m2351 nuvoton risc-v secure smarthome trusted-execution-environment trustzone

Keywords from Contributors

interpretability mesh interactive
Last synced: 6 months ago · JSON representation

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
  • Host: GitHub
  • Owner: Samsung
  • License: apache-2.0
  • Language: C
  • Default Branch: master
  • Homepage:
  • Size: 6.68 MB
Statistics
  • Stars: 60
  • Watchers: 1
  • Forks: 19
  • Open Issues: 14
  • Releases: 9
Topics
bootloader cortex-m23 freertos gcc iot m2351 makefile microcontroller numaker-pfm-m2351 nuvoton risc-v secure smarthome trusted-execution-environment trustzone
Created almost 7 years ago · Last pushed 9 months ago
Metadata Files
Readme Contributing License Code of conduct Codeowners Security Authors

README.md

mTower

Build CII Best Practices OpenSSF Scorecard cpp-linter RepoSize Release LICENSE

Contents

  1. Introduction
  2. License
  3. Platforms supported
  4. Get and build mTower software
  5. Source code structure
  6. Coding standards
  7. Documentation
  8. 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 | |:----------------------:|:--------------------------:|:-------------:|:-----------:| || |V2M-MPS2|| | 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

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

All Time
  • Total Commits: 163
  • Total Committers: 7
  • Avg Commits per committer: 23.286
  • Development Distribution Score (DDS): 0.135
Past Year
  • Commits: 15
  • Committers: 2
  • Avg Commits per committer: 7.5
  • Development Distribution Score (DDS): 0.067
Top Committers
Name Email 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
enhancement (9) bug (3) dependencies (2) help wanted (1) invalid (1) ISSUE-FI (1)
Pull Request Labels
dependencies (165) github_actions (18) enhancement (9) bug (4) doc (1) repo (1) xsmall-diff (1) CI (1)

Dependencies

.github/workflows/build.yml actions
  • actions/checkout e2f20e631ae6d7dd3b768f56a5d2af784dd54791 composite
.github/workflows/scorecards-analysis.yml actions
  • actions/checkout ec3a7ce113134d7a93b817d10a8272cb61118579 composite
  • actions/upload-artifact 82c141cc518b40d92cc801eee768e7aafc9c2fa2 composite
  • github/codeql-action/upload-sarif 5f532563584d71fdef14ee64d17bafb34f751ce5 composite
  • ossf/scorecard-action e3e75cf2ffbf9364bbff86cdbdf52b23176fe492 composite