@super-protocol/sdk-js 2.1.1-beta.0 → 2.1.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,16 @@
1
1
  /// <reference types="node" />
2
+ import { TCB } from './models';
2
3
  import { BlockchainId } from './types';
3
4
  import { Encryption, Hash, Resource, TeeRunInfo } from '@super-protocol/dto-js';
5
+ import { TLBlockUnserializeResultType } from '@super-protocol/tee-lib';
4
6
  declare class TIIGenerator {
5
7
  static verifiedTlbHashes: Map<string, string>;
6
- private static verifyTlb;
7
- static generateByOffer(offerId: BlockchainId, solutionHashes: Hash[], linkageString: string | undefined, resource: Resource, args: any, encryption: Encryption, sgxApiUrl: string): Promise<string>;
8
- static generate(orderId: BlockchainId, resource: Resource, args: any, encryption: Encryption, sgxApiUrl: string): Promise<string>;
8
+ static verifiedTcbs: Set<BlockchainId>;
9
+ private static checkQuote;
10
+ static verifyTcb(tcb: TCB, quoteString: string, pubKey: string, sgxApiUrl: string): Promise<void>;
11
+ static verifyTlb(tlb: TLBlockUnserializeResultType, tlbString: string, offerId: string, sgxApiUrl: string): Promise<void>;
12
+ static generateByOffer(offerId: BlockchainId, solutionHashes: Hash[], linkageString: string | undefined, resource: Resource, args: any, encryption: Encryption, sgxApiUrl: string, verifyByTcb?: boolean): Promise<string>;
13
+ static generate(orderId: BlockchainId, resource: Resource, args: any, encryption: Encryption, sgxApiUrl: string, verifyByTcb?: boolean): Promise<string>;
9
14
  static getSolutionHashesAndLinkage(inputOffers: BlockchainId[]): Promise<{
10
15
  hashes: Hash[];
11
16
  linkage?: string;
@@ -26,37 +26,65 @@ const statuses_1 = require("./tee/statuses");
26
26
  const QuoteParser_1 = require("./tee/QuoteParser");
27
27
  const logger_1 = __importDefault(require("./logger"));
28
28
  class TIIGenerator {
29
- static verifyTlb(tlb, tlbString, offerId, sgxApiUrl) {
29
+ static checkQuote(quote, dataBlob, sgxApiUrl) {
30
30
  return __awaiter(this, void 0, void 0, function* () {
31
- const tlbHash = yield crypto_1.default.createHash(Buffer.from(tlbString), {
32
- algo: dto_js_1.HashAlgorithm.SHA256,
33
- encoding: dto_js_1.Encoding.base64,
34
- });
35
- if (this.verifiedTlbHashes.has(tlbHash.hash)) {
36
- logger_1.default.trace(tlbHash, `TLB hash of offer ${this.verifiedTlbHashes.get(tlbHash.hash)} loaded from the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config_1.config.TLB_CACHE_SIZE}`);
37
- return;
38
- }
31
+ const quoteBuffer = Buffer.from(quote);
39
32
  const validator = new QuoteValidator_1.QuoteValidator(sgxApiUrl);
40
- const quoteBuffer = Buffer.from(tlb.quote);
41
33
  const quoteStatus = yield validator.validate(quoteBuffer);
42
34
  if (quoteStatus.quoteValidationStatus !== statuses_1.QuoteValidationStatuses.UpToDate) {
43
35
  if (quoteStatus.quoteValidationStatus === statuses_1.QuoteValidationStatuses.Error) {
44
- throw new Error('Quote in TLB is invalid');
36
+ throw new Error('Quote is invalid');
45
37
  }
46
38
  else {
47
39
  logger_1.default.warn(quoteStatus, 'Quote validation status is not UpToDate');
48
40
  }
49
41
  }
50
- const userDataCheckResult = yield validator.isQuoteHasUserData(quoteBuffer, Buffer.from(tlb.dataBlob));
42
+ const userDataCheckResult = yield validator.isQuoteHasUserData(quoteBuffer, Buffer.from(dataBlob));
51
43
  if (!userDataCheckResult) {
52
- throw new Error('Quote in TLB has invalid user data');
44
+ throw new Error('Quote has invalid user data');
53
45
  }
54
46
  const parser = new QuoteParser_1.TeeSgxParser();
55
- const parsedQuote = parser.parseQuote(tlb.quote);
47
+ const parsedQuote = parser.parseQuote(quote);
56
48
  const report = parser.parseReport(parsedQuote.report);
57
49
  if (report.mrSigner.toString('hex') !== config_1.config.TEE_LOADER_TRUSTED_MRSIGNER) {
58
- throw new Error('Quote in TLB has invalid MR signer');
50
+ throw new Error('Quote has invalid MR signer');
51
+ }
52
+ });
53
+ }
54
+ static verifyTcb(tcb, quoteString, pubKey, sgxApiUrl) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ // check cache
57
+ if (this.verifiedTcbs.has(tcb.tcbId)) {
58
+ logger_1.default.trace(`Tcb id = ${tcb.tcbId}, already validated`);
59
+ return;
60
+ }
61
+ const quote = Buffer.from(quoteString, 'base64');
62
+ const signedTcbData = Object.assign({ checkingTcbId: tcb.tcbId.toString(), pubKey }, (yield tcb.getPublicData()));
63
+ const serializer = new tee_lib_1.TLBlockSerializerV1();
64
+ const dataBlob = yield serializer.serializeAnyData(signedTcbData);
65
+ yield this.checkQuote(quote, dataBlob, sgxApiUrl);
66
+ // update cashe
67
+ this.verifiedTcbs.add(tcb.tcbId);
68
+ if (this.verifiedTcbs.size > config_1.config.TLB_CACHE_SIZE) {
69
+ const [value] = this.verifiedTcbs.entries().next().value;
70
+ this.verifiedTcbs.delete(value);
71
+ logger_1.default.trace(value, `TCB id = ${value} removed from the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config_1.config.TLB_CACHE_SIZE}`);
72
+ }
73
+ logger_1.default.trace(tcb.tcbId, `TCB id = ${tcb.tcbId} added to the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config_1.config.TLB_CACHE_SIZE}`);
74
+ });
75
+ }
76
+ static verifyTlb(tlb, tlbString, offerId, sgxApiUrl) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ const tlbHash = yield crypto_1.default.createHash(Buffer.from(tlbString), {
79
+ algo: dto_js_1.HashAlgorithm.SHA256,
80
+ encoding: dto_js_1.Encoding.base64,
81
+ });
82
+ if (this.verifiedTlbHashes.has(tlbHash.hash)) {
83
+ logger_1.default.trace(tlbHash, `TLB hash of offer ${this.verifiedTlbHashes.get(tlbHash.hash)} loaded from the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config_1.config.TLB_CACHE_SIZE}`);
84
+ return;
59
85
  }
86
+ const quoteBuffer = Buffer.from(tlb.quote);
87
+ yield this.checkQuote(quoteBuffer, tlb.dataBlob, sgxApiUrl);
60
88
  this.verifiedTlbHashes.set(tlbHash.hash, offerId);
61
89
  if (this.verifiedTlbHashes.size > config_1.config.TLB_CACHE_SIZE) {
62
90
  const [key, value] = this.verifiedTlbHashes.entries().next().value;
@@ -66,7 +94,7 @@ class TIIGenerator {
66
94
  logger_1.default.trace(tlbHash.hash, `TLB hash of offer ${offerId} added to the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config_1.config.TLB_CACHE_SIZE}`);
67
95
  });
68
96
  }
69
- static generateByOffer(offerId, solutionHashes, linkageString, resource, args, encryption, sgxApiUrl) {
97
+ static generateByOffer(offerId, solutionHashes, linkageString, resource, args, encryption, sgxApiUrl, verifyByTcb = false) {
70
98
  return __awaiter(this, void 0, void 0, function* () {
71
99
  const teeOffer = new models_1.TeeOffer(offerId);
72
100
  const teeOfferInfo = yield teeOffer.getInfo();
@@ -77,8 +105,27 @@ class TIIGenerator {
77
105
  mrenclave: '',
78
106
  };
79
107
  const serializer = new tee_lib_1.TLBlockSerializerV1();
80
- const tlb = serializer.unserializeTlb(Buffer.from(teeOfferInfo.tlb, 'base64'));
81
- yield this.verifyTlb(tlb, teeOfferInfo.tlb, offerId, sgxApiUrl);
108
+ let blockEncryption;
109
+ if (verifyByTcb) {
110
+ const tcb = new models_1.TCB(yield teeOffer.getActualTcbId());
111
+ const { pubKey, quote } = yield tcb.getUtilityData();
112
+ yield this.verifyTcb(tcb, quote, pubKey, sgxApiUrl);
113
+ // TODO: must be 'blockEncryption = JSON.parse(pubKey);'
114
+ blockEncryption = {
115
+ algo: dto_js_1.CryptoAlgorithm.ECIES,
116
+ key: pubKey,
117
+ encoding: dto_js_1.Encoding.base64,
118
+ };
119
+ }
120
+ else {
121
+ const tlb = serializer.unserializeTlb(Buffer.from(teeOfferInfo.tlb, 'base64'));
122
+ yield this.verifyTlb(tlb, teeOfferInfo.tlb, offerId, sgxApiUrl);
123
+ blockEncryption = {
124
+ algo: dto_js_1.CryptoAlgorithm.ECIES,
125
+ key: Buffer.from(tlb.data.teePubKeyData).toString('base64'),
126
+ encoding: dto_js_1.Encoding.base64,
127
+ };
128
+ }
82
129
  // TODO: check env with SP-149
83
130
  const mac = encryption.authTag || encryption.mac;
84
131
  const rawTri = {
@@ -101,22 +148,18 @@ class TIIGenerator {
101
148
  }).finish();
102
149
  return JSON.stringify({
103
150
  encryptedResource: yield crypto_1.default.encrypt(JSON.stringify(resource), JSON.parse(teeOfferInfo.argsPublicKey)),
104
- tri: yield crypto_1.default.encrypt(Buffer.from(compressedTri).toString(dto_js_1.Encoding.base64), {
105
- algo: dto_js_1.CryptoAlgorithm.ECIES,
106
- key: Buffer.from(tlb.data.teePubKeyData).toString('base64'),
107
- encoding: dto_js_1.Encoding.base64,
108
- }),
151
+ tri: yield crypto_1.default.encrypt(Buffer.from(compressedTri).toString(dto_js_1.Encoding.base64), blockEncryption),
109
152
  });
110
153
  });
111
154
  }
112
- static generate(orderId, resource, args, encryption, sgxApiUrl) {
155
+ static generate(orderId, resource, args, encryption, sgxApiUrl, verifyByTcb = false) {
113
156
  return __awaiter(this, void 0, void 0, function* () {
114
157
  const order = new models_1.Order(orderId);
115
158
  const parentOrderId = yield order.getParentOrder();
116
159
  const parentOrder = new models_1.Order(parentOrderId);
117
160
  const parentOrderInfo = yield parentOrder.getOrderInfo();
118
161
  const { hashes, linkage } = yield this.getSolutionHashesAndLinkage(parentOrderInfo.args.inputOffers);
119
- return this.generateByOffer(parentOrderInfo.offerId, hashes, linkage, resource, args, encryption, sgxApiUrl);
162
+ return this.generateByOffer(parentOrderInfo.offerId, hashes, linkage, resource, args, encryption, sgxApiUrl, verifyByTcb);
120
163
  });
121
164
  }
122
165
  static getSolutionHashesAndLinkage(inputOffers) {
@@ -198,5 +241,6 @@ class TIIGenerator {
198
241
  }
199
242
  }
200
243
  TIIGenerator.verifiedTlbHashes = new Map();
244
+ TIIGenerator.verifiedTcbs = new Set();
201
245
  exports.default = TIIGenerator;
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF5QztBQUN6QyxvREFBdUI7QUFFdkIscUNBQWtDO0FBQ2xDLHFEQUFvRTtBQUNwRSxxQ0FBa0M7QUFDbEMsc0RBQThCO0FBQzlCLHFDQUFrRDtBQUVsRCxtREFZZ0M7QUFDaEMscURBQTRGO0FBQzVGLHlEQUFzRDtBQUN0RCw2Q0FBeUQ7QUFDekQsbURBQWlEO0FBQ2pELHNEQUE4QjtBQUU5QixNQUFNLFlBQVk7SUFHUixNQUFNLENBQU8sU0FBUyxDQUM1QixHQUFpQyxFQUNqQyxTQUFpQixFQUNqQixPQUFlLEVBQ2YsU0FBaUI7O1lBRWpCLE1BQU0sT0FBTyxHQUFHLE1BQU0sZ0JBQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDOUQsSUFBSSxFQUFFLHNCQUFhLENBQUMsTUFBTTtnQkFDMUIsUUFBUSxFQUFFLGlCQUFRLENBQUMsTUFBTTthQUMxQixDQUFDLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1QyxnQkFBTSxDQUFDLEtBQUssQ0FDVixPQUFPLEVBQ1AscUJBQXFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQ2IsdUNBQXVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGtCQUNqRSxlQUFNLENBQUMsY0FDVCxFQUFFLENBQ0gsQ0FBQztnQkFDRixPQUFPO2FBQ1I7WUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FB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
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF5QztBQUN6QyxvREFBdUI7QUFFdkIscUNBQWtDO0FBQ2xDLHFEQUFvRTtBQUNwRSxxQ0FBa0M7QUFDbEMsc0RBQThCO0FBQzlCLHFDQUF1RDtBQUV2RCxtREFZZ0M7QUFDaEMscURBQTRGO0FBQzVGLHlEQUFzRDtBQUN0RCw2Q0FBeUQ7QUFDekQsbURBQWlEO0FBQ2pELHNEQUE4QjtBQUU5QixNQUFNLFlBQVk7SUFJUixNQUFNLENBQU8sVUFBVSxDQUM3QixLQUFpQixFQUNqQixRQUFvQixFQUNwQixTQUFpQjs7WUFFakIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFELElBQUksV0FBVyxDQUFDLHFCQUFxQixLQUFLLGtDQUF1QixDQUFDLFFBQVEsRUFBRTtnQkFDMUUsSUFBSSxXQUFXLENBQUMscUJBQXFCLEtBQUssa0NBQXVCLENBQUMsS0FBSyxFQUFFO29CQUN2RSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLGdCQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSx5Q0FBeUMsQ0FBQyxDQUFDO2lCQUNyRTthQUNGO1lBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLFNBQVMsQ0FBQyxrQkFBa0IsQ0FDNUQsV0FBVyxFQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQUM7WUFDRixJQUFJLENBQUMsbUJBQW1CLEVBQUU7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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/sdk-js",
3
- "version": "2.1.1-beta.0",
3
+ "version": "2.1.1-beta.2",
4
4
  "main": "build/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -63,7 +63,7 @@
63
63
  "@fidm/x509": "^1.2.1",
64
64
  "@super-protocol/dto-js": "^0.0.30",
65
65
  "@super-protocol/tee-lib": "^0.1.2",
66
- "@super-protocol/uplink-nodejs": "1.2.16",
66
+ "@super-protocol/uplink-nodejs": "1.2.17",
67
67
  "asn1js": "^3.0.5",
68
68
  "axios": "^1.5.1",
69
69
  "bottleneck": "^2.19.5",