中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

远程证明演示Demo

如下步骤在一台服务器上演示远程证明,需开启四个窗口,以便演示。

窗口1

若使用AS模式,可在“窗口1”启动AS服务器。

  1. 启动AS服务器,需要提前准备数据库。
    dnf install openldap-devel postgresql-server
    cd kunpengsecl/attestation/quick-scripts/
    bash prepare-database-env.sh

  2. 配置证书。
    cd kunpengsecl/attestation/tas/cmd/
    openssl genrsa -out aspriv.key 4096
    openssl req -new -x509 -days 365 -key aspriv.key -out ascert.crt

    证书需要填写一些配置信息,可根据需要填写,演示未设置。

  3. 配置“config.yaml”文件。
    1. 打开文件。
      vim config.yaml
    2. “i”键进入编辑模式,根据如下注释信息和需求进行修改。演示只需修改basevalue。
      tasconfig:
        # 默认开放的服务端口
        port: 127.0.0.1:40008
        rest: 127.0.0.1:40009
        # 为AS服务配置的私钥和证书
        akskeycertfile: ./ascert.crt
        aksprivkeyfile: ./aspriv.key
        huaweiitcafile: ./Huawei IT Product CA.pem
        # 如下配置仅用于测试,实际使用时请更新内容以保证安全
        DAA_GRP_KEY_SK_X: 65a9bf91ac8832379ff04dd2c6def16d48a56be244f6e19274e97881a776543c65a9bf91ac8832379ff04dd2c6def16d48a56be244f6e19274e97881a776543c
        DAA_GRP_KEY_SK_Y: 126f74258bb0ceca2ae7522c51825f980549ec1ef24f81d189d17e38f1773b56126f74258bb0ceca2ae7522c51825f980549ec1ef24f81d189d17e38f1773b56
        # QTA的基准度量值,可从编译QTA时产生的hash_e08f7eca-e875-440e-9ab0-5f381136c600.txt文件中获取,basevalue的填写格式为【img_hash mem_hash】
        basevalue: "8c6faf44d8d1fa9f83977e405caadd7d9b1194839d6034d5412fe00f5f294976 0f474ebc56dc5502f7fba2a26d983b3a6cf2da84ce44730f60d4c660d42634a6"
        authkeyfile: ./ecdsakey.pub
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
  4. 启动AS服务。
    go run main.go -T; go run main.go

窗口2

“窗口2”启动RA Service,用于接收RA client发起的远程证明请求。

  1. 部署应用。
    5QTA源码中指定了qcaserver的执行路径,因此需将qcaserver部署到对应目录下。
    cp kunpengsecl/attestation/tee/demo/pkg/qcaserver /vendor/bin/
  2. 启动RA Service服务。
    cd kunpengsecl/attestation/tee/demo/qca_demo/cmd/

    该目录提供了qcaserver默认的config.yaml配置文件,可根据需求进行修改,演示可使用默认值。

    qcaconfig:
      server: 127.0.0.1:40007      # 默认开放的服务端口
      akserver: 127.0.0.1:40008    # AS服务的端口配置
      scenario: 0
      nodaaacfile: ./nodaa-ac.crt  # as no daa模式的证书路径
      daaacfile: ./daa-ac.crt      # as with daa模式的证书路径
  3. 启动RA Service服务。可根据需求选择合适的场景,其中-C用于指定远程证明场景。0-3表示的场景分别为:0表示no as,1表示as no daa,2表示as with daa。
    /vendor/bin/qcaserver -C 1

    启动后在AS模式下,qcaserver会主动连接AS服务获取证书。

窗口3

“窗口3”启动目标TA,作为被测试的TA。

可按照加载TA/CA应用 运行演示CA/TA应用或开发的其他应用。
/vendor/bin/rsa_demo

RA Client发起调用时,目标TA应处于运行状态,否则会报uuid invalid错误,为了保证演示成功,测试CA/TA应运行足够长的时间。可在CA拉取TA后,让CA睡眠一段时间,防止TA被卸载。

窗口4

“窗口4”启动RA Client发起远程调用。

  1. 进入RA client应用的目录下,里面提供了RA Client启动需要的配置文件。
    cd kunpengsecl/attestation/tee/demo/attester_demo/cmd
  2. 配置config.yaml文件。
    1. 打开文件。
      vim config.yaml
    2. “i”键进入编辑模式,参照如下内容按需修改。演示修改测试TA的UUID。
      attesterconfig:
        server: 127.0.0.1:40007           # RA Service服务的端口配置
        basevalue: "./basevalue.txt"      # 待测试TA的基准度量值存储的文件路径
        mspolicy: 2                       # 验证策略,1为仅对比img-hash值,2为仅对比mem-hash值,3为同时对比img-hash和mem-hash两个值
        uuid: 435dcafa-0029-4d53-97e8-a7a13a80c82e   # 测试TA的uuid
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
  3. 配置目标TA的基准度量。config.yaml中指定了测试TA的基准度量配置文件。
    1. 打开文件。
      vim basevalue.txt
    2. “i”键进入编辑模式,参照如下内容按需修改。

      基准度量值可通过编译测试TA时生成的hash_{测试TA uuid}.txt获取,使用1.4.0版本之前的itrustee_sdk时,位于“itrustee_sdk/build/signtools”目录下,1.4.0版本时,位于TA的编译目录下。basevalue.txt的填写格式为:【uuid img_hash mem_hash】,示例为如下。

      435dcafa-0029-4d53-97e8-a7a13a80c82e a1ef720498a93a36df8c3b1ea58058485de5b8146d399e837b0b709b53224542 ad36fdf631f1fdd6dc47c8d80bdf08fb752d1e93bd97ed534abbde797bf68b8b
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
  4. 若使用AS模式,需将AS的证书拷贝到当前目录。
    cp ../../../../tas/cmd/ascert.crt TAS\ Root\ Cert.pem
  5. 发起远程证明请求。
    go run main.go

    若验证失败,且tlogcat出现如下错误,可能原因为RA client发起请求时,测试TA已经退出了。

    重新启动测试CA/TA,并重新发起请求即可。因此推荐延长测试CA/TA执行时间,为操作预留足够时间。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词