GithubHelp home page GithubHelp logo

alibaba / id2_client_sdk Goto Github PK

View Code? Open in Web Editor NEW
85.0 20.0 38.0 5.19 MB

ID²(Internet Device ID),是物联网设备的可信身份标识,具备不可篡改、不可伪造、全球唯一的安全属性,是实现万物互联、服务流转的关键基础设施。ID²支持多安全等级载体,合理地平衡物联网在安全、成本、功耗等各方面的诉求,为客户提供用得起、容易用、有保障的安全方案,适应物联网碎片化的市场需求。 ID² Client SDK是用于设备端开发的软件工具包,帮助开发者快速集成接入ID²开放平台.

License: Other

Makefile 0.48% C 99.52%

id2_client_sdk's Introduction

README for ID² Client SDK


IoT Device ID(ID²) is a trusted identity identifier for IoT devices, which can not be tampered with, cannot be forged, and is the only security attribute in the world. It is a key infrastructure for the interconnection of everything and the circulation of services.

ID² Client SDK is used for device-side development and debugging, helping developers to quickly access the ID² open platform. This SDK supports four types of carrier Demo, SE(Secure Element), PUF(Physical Unclonable Function) and MDU(Security Module):
  • Demo carrier: used for the demonstration of ID² device-side functions. For the official product, it must be switched to a secure carrier (Soft-KM, SE, TEE).
  • SE carrier: external security chip, ID² pre-burned on the SE chip.
  • PUF carrier: external security chip, ID² pre-generated in the PUF chip.
  • MDU carrier: security module, ID² key and SDK in the module, the main control calls the function of ID² through A&T commands.

|—— app:Encryption and decryption hardware adaptation (HAL) interface and ID² interface test program.
|—— doc:Related documents, such as ID² directive specifications.
|—— include:Header file directory.
|—— makefile:The total compilation script.
|—— make.rules:The compilation configuration.
|—— make.settings:ID² configuration, such as debugging information, idle function and carrier selection.
|—— modules:ID² and ID² dependent modules.
|—— sample:Sample code.

Quick start

Describe to compile and run ID²Client SDK on Ubuntu; for other compiling environments, please refer to makefile to compile and adapt.

Compiler Environment

Use Ubuntu 14.04 or above.

Compile configuration

  • make.rules:

CROSS_COMPILE: The toolchain used for compilation.
CFLAGS:The compilation parameters of the compilation tool chain.

  • make.settings:

CONFIG_LS_ID2_DEBUG:ID² debugging information switch.
CONFIG_LS_ID2_OTP:The ID² key is used to dynamically issue the function switch.
CONFIG_LS_ID2_ROT_TYPE:The type of ID² security carrier, SE|Demo|MDU|PUF.
CONFIG_LS_ID2_KEY_TYPE:The key type of ID², 3DES|AES|RSA|ECC|SM1|SM2|SM4.
CONFIG_LS_ID2_ECDP_TYPE: The type of Elliptic Curve Domain Parameter, K-163|K-233|K-283|K-192|K-224|K-256.

  • K-163:sect163k1
  • K-233:sect233k1
  • K-283:sect283k1
  • K-192:secp192k1
  • K-224:secp224k1
  • K-256:secp256k1

Compile the SDK:

In the SDK directory, run the following command:

$ make clean
$ make

The compilation is successful, and the generated static libraries and applications are unified in the out directory of the SDK.

Run the program:

In the SDK directory, run the following command:

./out/bin/id2_app

The test is successful (only device-side interface test, non-real interaction verification), the log displays as follows:

<LS_LOG> id2_client_get_id 649: ID2: 000FFFFFDB1D8DC78DDCB800
<LS_LOG> id2_client_generate_authcode 170:
============ ID² Validation Json Message ============:
{
       "reportVersion":        "1.0.0",
       "sdkVersion":   "2.0.0",
       "date": "Aug 23 2019 18:17:13",
       "testContent":  [{
               .......
               }]
}
<LS_LOG> id2_client_generate_authcode 186: =====>ID2 Client Generate AuthCode End.

id2_client_sdk's People

Contributors

security-release avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

id2_client_sdk's Issues

km_demo中ID2_ID和ID2_KEY如何修改

km_demo中说ID2_ID和ID2_KEY从ID2控制台中取得, 我在控制台中找到的ID2_KEY与demo中的格式不匹配, 如何从控制台中取得ID2_KEY?

The log.h configuration is not standardized.

If ID2_DEBUG = 0, the id2_log_debug and id2_log_hex_data definition wrong. The wrong log is "error: left-hand operand of comma expression has no effect".

So, the code should change as below:
#define id2_log_debug(...)
#define id2_log_hex_data(...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.