Skip to content
forked from build-trust/ockam

Tools to build connected systems you can trust.

License

Notifications You must be signed in to change notification settings

faraimazh/ockam

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ockam

Apache 2.0 License Apache 2.0 License GoDoc Discuss Ockam

Introduction

Ockam is a collection of tools to help you establish secure connections and trustful exchange of information within connected systems.

To understand the key ideas behind Ockam, please read our short concept papers of on:

  1. Why we're focusing on the connectivity and messaging layer?
  2. What exactly does trust mean within connected systems?
  3. What are the minimum criteria for establishing trust?

Ockam's core features include:

Secure Identity & Credential Management

  • Decentralized Identifiers: Cryptographically provable, decentralized identifiers (DIDs) for each device to ensure data integrity and protect against identity spoofing.

  • Device And Service Registry: Ockam Blockchain based registry for discovering public keys, protocols, endpoints and other metadata about a device or a service.

  • Hardware Vault And Cryptography: Safely store private keys and credentials in hardware and easily leverage cryptographic modules or enclaves to sign device or service generated data.

  • Key And Credential Management: Easily setup, rotate, revoke keys and other credentials without complex and brittle PKI.

Secure Connectivity & Messaging

  • Trustful Communication: Use Verifiable Credentials and Peer-to-peer Mutual Authentication to establish trust: device-to-device or device-to-service.

  • End-To-End Encrypted Messaging: Secure, efficient and scalable end-to-end encrypted messaging to protect against tampering, replay, snooping and man-in-the-middle attacks.

  • Trusted Twins: Cloud based, persistent, mutually trusted twin of each device so applications can interact with device state and enqueue messages even when a device is offline.

  • Ockam Blockchain Network: A fast finality, safety favouring, light client friendly, and horizontally scalable blockchain network that is optimized for connected devices.

Install

This repository includes a Golang package that can be used to build Go programs (device firmware or a backend service) that act as light nodes on the Ockam Blockchain Network.

With Go version 1.11+ installed, add the ockam Golang package to your project using go get:

go get github.com/ockam-network/ockam

Once you have the ockam package, copy an example from the example directory and run it using go run.

go run example/01_hello_ockam.go

Contribute

Contributors

License and attributions

This code is licensed under the terms of the Apache License 2.0

This code depends on other open source packages; attributions for those packages are in the NOTICE file.

About

Tools to build connected systems you can trust.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 83.3%
  • Shell 12.4%
  • Dockerfile 3.6%
  • JavaScript 0.7%