当前位置: 首页 > 软件库 > 管理和监控 > 安全相关 >

Ockam

用于端到端加密的 Rust 库
授权协议 Apache-2.0
开发语言 Rust
所属分类 管理和监控、 安全相关
软件类型 开源软件
地区 不详
投 递 者 许波涛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Ockam 是一个 Rust 和 Elixir 库,用于端到端加密、相互认证、安全通信。现代分布式应用程序中的数据很少通过单个点对点传输连接进行交换。应用程序消息在到达最终目的地之前,通常会通过复杂的、多跳、多协议的路由——跨数据中心、通过队列和缓存、通过网关和代理。

Ockam 是一套编程库和基础设施,它使我们的应用程序可以轻松地保证数据的端到端完整性、真实性和机密性。


特征

  • 端到端加密、相互认证的安全通道。
  • 密钥的建立、轮换和撤销。
  • 由隐私上下文隔离的身份配置文件。
  • 基于属性的访问控制
  • 适用于各种操作环境、传输协议和加密硬件的附加组件。
  • 多种语言的库 - Rust、Elixir。

Ockam

  1. 安装 Rust

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. 设置一个新的 cargo 项目以开始。

    cargo new --lib hello_ockam && cd hello_ockam && mkdir examples &&
      echo 'ockam = "*"' >> Cargo.toml && cargo build
  3. examples/hello.rs创建一个文件并将以下代码片段复制到其中。

    // examples/hello.rs
    
    use ockam::{route, Context, Entity, Result, TrustEveryonePolicy, Vault};
    
    #[ockam::node]
    async fn main(mut ctx: Context) -> Result<()> {
        // Create a Vault to safely store secret keys for Alice and Bob.
        let vault = Vault::create(&ctx).await?;
    
        // Create an Entity to represent Bob.
        let mut bob = Entity::create(&ctx, &vault).await?;
    
        // Create a secure channel listener for Bob that will wait for requests to
        // initiate an Authenticated Key Exchange.
        bob.create_secure_channel_listener("bob", TrustEveryonePolicy).await?;
    
        // Create an entity to represent Alice.
        let mut alice = Entity::create(&ctx, &vault).await?;
    
        // As Alice, connect to Bob's secure channel listener and perform an
        // Authenticated Key Exchange to establish an encrypted secure channel with Bob.
        let channel = alice.create_secure_channel("bob", TrustEveryonePolicy).await?;
    
        // Send a message, ** THROUGH ** the secure channel,
        // to the "app" worker on the other side.
        //
        // This message will automatically get encrypted when it enters the channel
        // and decrypted just before it exits the channel.
        ctx.send(route![channel, "app"], "Hello Ockam!".to_string()).await?;
    
        // Wait to receive a message for the "app" worker and print it.
        let message = ctx.receive::<String>().await?;
        println!("App Received: {}", message); // should print "Hello Ockam!"
    
        // Stop all workers, stop the node, cleanup and return.
        ctx.stop().await
    }
  4. 运行示例

    cargo run --example hello
  • Ockam是一个无服务器平台,旨在让物联网开发人员可以更容易在其物联网设备中添加基于区块链的身份识别、信任和互操作性。Ockam最近开源了Golang SDK。\n 通过将Ockam SDK嵌入到设备中,开发人员可以让设备成为Ockam区块链网络的一部分。Ockam区块链网络是一个去中心化的开放平台,可以基于去中心化标识符(DID)W3C标准实现安全的加密身份管理。\n \n 去中心化标识符(DI

  • Ockam发布了一个基于Google Go语言的开源SDK,以允许开发人员将标识服务构建到其物联网应用程序中。 身份服务将由公司的“去中心化”云服务平台Ockam Network提供。 [ 什么是云计算? 您现在需要知道的一切 。 | 另外:InfoWorld的David Linthicum解释了什么是边缘计算 。 ] Ockam区块链网络 将SDK添加到连接设备的固件中后,这些设备将成为Ocka

  • xplr:另一个TUI文件浏览器 一个可配置的,精简的,快速的TUI文件浏览器,从nnn和fzf得到的想法。 尽管xplr努力做到快速和极简,但它的专业之处在于它的可配置性。一旦您阅读了文档,您应该能够通过修改单个配置文件来配置键绑定、不同的运行模式以及它的外观。 Github 链接,https://github.com/sayanarijit/xplr Ockam:用于端到端加密、相互身份验证通

  • 区块链 sdk Ockam发布了一个基于Google Go语言的开源SDK,以允许开发人员将标识服务构建到其物联网应用程序中。 身份服务将由公司的“去中心化”云服务平台Ockam Network提供。 [ 什么是云计算? 您现在需要知道的一切 。 | 另外:InfoWorld的David Linthicum解释了什么是边缘计算 。 ] Ockam区块链网络 将SDK添加到连接设备的固件中后,这些设

  • Ockam是一个无服务器平台,旨在让物联网开发人员可以更容易在其物联网设备中添加基于区块链的身份识别、信任和互操作性。Ockam最近开源了Golang SDK。 通过将Ockam SDK嵌入到设备中,开发人员可以让设备成为Ockam区块链网络的一部分。Ockam区块链网络是一个去中心化的开放平台,可以基于去中心化标识符(DID)W3C标准实现安全的加密身份管理。 去中心化标识符(DID)是用于“自

  • 区块链 sdk Ockam发布了一个基于Google Go语言的开源SDK,以允许开发人员将标识服务构建到其物联网应用程序中。 身份服务将由公司的“去中心化”云服务平台Ockam Network提供。 [ 什么是云计算? 您现在需要知道的一切 。 | 另外:InfoWorld的David Linthicum解释了什么是边缘计算 。 ] Ockam区块链网络 将SDK添加到连接设备的固件中后,这些设

 相关资料
  • 我有一个由组聊天组成firebase应用程序。我想实现端到端加密。到目前为止,我已经尝试低于策略 1)为组创建加密/解密文本的密钥(AES) 我面临的挑战是,我已经使用我的公钥在服务器上加密了AESKEY,但是当用户请求AESKEY时,我的应用程序可能会脱机,所以最终用户将无法获得解密的AESKEY 我想通过加密将AESKEY保留在服务器上,并且根据用户的请求在服务器上执行加密/解密任务。

  • 在设置->安全->音视频会议安全性与隐私功能栏中,可找到 标准加密、增强加密选项,当选择增强加密选项后,你所创建的所有音视频会议,都将为端到端加密会议。注意:该设置仅对自己所创建的音视频会议生效,你加入他人创建的会议时,未必时端到端加密会议;他人加入你所创建的通话或会议时,一定时端到端加密会议。 注意:端到端加密会议中,不支持自动转呼对方pstn座机号码、不支持使用拨号键盘功能、不支持邀请pstn

  • 我正在尝试编写一个API来使用Rust的openssl包装库来加密/解密文件。 这是库:https://docs.rs/openssl/0.10.25/openssl/index.html 文档中的所有示例都展示了如何使用填充加密短字符串。我想加密可能很长的文件。 加载/生成公钥/私钥。 将要加密的文件加载到(最终为字符串切片) 使用公钥加密数据 将此加密数据写入文件 将具有加密数据的文件加载到

  • 我现在是弄一个小程序,用户会添加非常敏感的安全信息,目前是用户端添加敏感数据时使用他的union_id和固定的key作为加解密密钥,然后再AES加密后再提交到服务端,然后下次请求服务器返回加密数据后解密再使用。 这里存在一个问题,如果有黑客拿到了我的数据库,和我的算法,然后就可以解密出用户的敏感数据。因为用户union_id是会记录到服务端数据库,客户端固定的key也是可以扒到。 有什么方案可以做

  • 我正在创建一个web服务,它可以在线存储带有公钥的用户列表,以及加密的消息。我的最终目标是端到端加密。 我最初认为这很容易——“哦,OpenSSL和RSA私钥/公钥非对称加密很棒。”错误的RSA只会加密一点点数据,大概是为了来回传递一个常规的对称密钥。 好吧,所以我试着在网上找到解决办法。他们中的大多数人要么在没有运行示例的情况下结束,要么指向使用命令行,所有这些似乎都是过度和不完整的。 有没有一

  • 服务器端加密是FDS在将您的数据写入数据中心的磁盘时会在对象级别上加密这些数据,并在您访问这些数据时为您解密这些数据。FDS加密使用AES-256来加密您的数据。 应用场景 适合对于数据存储有高安全性或者合规性要求的应用场景。 使用方式 在控制台开启bucket的加密存储 开启加密后,会对新上传的Object使用AES-256进行加密。若要对存量数据加密,请使用 存量数据加密工具 被加密的Obje