ಪಾಠದ ವೀಡಿಯೋವನ್ನು ವೀಕ್ಷಿಸಿ: ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ರಸೀದಿಗಳೊಂದಿಗೆ AI ಏಜೆಂಟ್ಗಳನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು
(ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಷಯ ತಂಡವು ಮರ್ಜಿ ನಂತರ ಪಾಠದ ವೀಡಿಯೋ ಮತ್ತು ಥಂಬ್ನೇಲ್ ಅನ್ನು ಸೇರಿಸುವುದು, ಪಾಠ 14 / 15 ಮಾದರಿಯಂತೆ.)
ಈ ಪಾಠವು ಈ ಕೆಳಕಂಡ್ದನ್ನು ಆವರಿಸುತ್ತದೆ:
ಈ ಪಾಠವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ನೀವು ತಿಳಿದುಕೊಳ್ಳಲಿದ್ದೀರಿ:
ನೀವು Contoso ಟ್ರಾವೆಲ್ಗಾಗಿ AI ಏಜೆಂಟ್ ಅನ್ನು ನಿಯೋಜಿಸಿದ್ದೀರೋ ಎಂದು ಕಲ್ಪಿಸಿ. ಏಜೆಂಟ್ ಗ್ರಾಹಕರು ಕೇಳಿದನ್ನು ಓದುತ್ತದೆ, ವಿಮಾನಗಳ API ಅನ್ನು ಕರೆ ಮಾಡಿ ಆಯ್ಕೆಗಳನ್ನು ಹುಡುಕುತ್ತದೆ ಮತ್ತು ಗ್ರಾಹಕರ ಪರವಾಗಿ ಆಸನಗಳನ್ನು ಬುಕ್ ಮಾಡುತ್ತದೆ. ಹೋಗಿರುವ ತ್ರೈಮಾಸಿಕದಲ್ಲಿ, ಏಜೆಂಟ್ 50,000 ಬುಕ್ಕಿಂಗ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿಕೊಂಡಿದೆ.
ಇಂದು ಒಂದು ಆಡಿಟರ್ ಬರುವನು. ಅವನು ಸರಳ ಪ್ರಶ್ನೆ ಕೇಳುತ್ತಾನೆ: “ನಿಮ್ಮ ಏಜೆಂಟ್ ಏನು ಮಾಡಿತು ಎನಿಸಿಕೊಂಡಿರಿ.”
ನೀವು ನಿಮ್ಮ ಲಾಗ್ ಫೈಲುಗಳನ್ನು ಹಸ್ತಾಂತರಿಸುತ್ತೀರಿ. ಆಡಿಟರ್ ಅವುಗಳನ್ನು ನೋಡಿಕೊಳ್ಳುತ್ತಾನೆ ಮತ್ತು ಗಂಭೀರ ಪ್ರಶ್ನೆ ಕೇಳುತ್ತಾನೆ: “ನನಗೆ ಹೇಗೆ ಗೊತ್ತಾಗುತ್ತದೆ ಈ ಲಾಗ್ಗಳು ಸಂಪಾದಿತವಾಗಿಲ್ಲ?”
ಇದು ಆಡಿಟ್-ಟ್ರೇಲ್ ಸಮಸ್ಯೆಯಾಗಿದ್ದು, ಇಂದಿನ ಹೆಚ್ಚಿನ ಏಜೆಂಟ್ ನಿಯೋಜನೆಗಳು ಹೀಗೆ ಅವಲಂಬಿಸುತ್ತವೆ:
ವೇರೊಬ್ಬರಿಗು ನಂಬಿಕೆ ಇರಬೇಕಿಲ್ಲದೆ ಆಡಿಟರ್ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುವುದು ಈ ಸಬಲೀಕರಣಗಳಲ್ಲಿ ಯಾರಿಗೂ ಸಾಧ್ಯವಿಲ್ಲ (ನೀವು, ನಿಮ್ಮ ಮೇಘ ಪೂರೈಕೆದಾರ, ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಮಾರಾಟಗೈದು). ಆಂತರಿಕ ಬಳಕೆಗೆ, ಆ ನಂಬಿಕೆ ತಕ್ಕದ್ದು. ನಿಯಂತ್ರಿತ ಕೆಲಸಗಾಗಿದ್ದರೆ (ಸಾವುಮುಖ, ಆರೋಗ್ಯಸೇವೆ, EU AI ಕಾಯ್ದೆ ಅಡಿಯಲ್ಲಿ), ಅದು ಸಮರ್ಥವಲ್ಲ.
ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ರಸೀದಿಗಳು ಪ್ರತಿ ಏಜೆಂಟ್ ಕ್ರಿಯೆಯನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಾಗಿಸುವ ಮೂಲಕ ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುತ್ತವೆ. ಆಡಿಟರ್ ನಿಮಗೆ ನಂಬಿಕೆ ಇರಬೇಕಾಗಿಲ್ಲ. ಅವರಿಗೆ ನಿಮ್ಮ ಸಾರ್ವಜನಿಕ ಕೀ ಮತ್ತು ರಸೀದಿ ತನ್ನಷ್ಟೇ ಬೇಕು.
ರಸೀದಿ ಒಂದು JSON ವಸ್ತು ಆಗಿದ್ದು ಏಜೆಂಟ್ ಏನು ಮಾಡಿದೆಂದು ದಾಖಲಿಸುತ್ತದೆ ಮತ್ತು ಡಿಜಿಟಲ್ ಸಹಿತಿಯೊಂದಿಗೆ ಸಹಿ ಮಾಡಲಾಗಿದೆ.
flowchart LR
A[ಏಜೆಂಟ್ ಉಪಕರಣವನ್ನು ಕರೆಯುತ್ತಾರೆ] --> B[ರಸೀದಿ ಪೇಲೋಡ್ ರಚಿಸಿ]
B --> C[JSON RFC 8785 ಅನ್ನು ಸಾಮಾನ್ಯೀಕರಿಸಿ]
C --> D[SHA-256 ಹ್ಯಾಶ್]
D --> E[Ed25519 ಸಹಿ]
E --> F[ಸಹಿಯೊಂದಿಗೆ ರಸೀದಿ]
F --> G[ಆಡಿ್ಟರ್ ಆಫ್ಲೈನ್ನಲ್ಲಿ ಪರಿಶೀಲಿಸುತ್ತಾನೆ]
G --> H{ಸಹಿ ಮಾನ್ಯವಿದೆಯೆ?}
H -- yes --> I[ಟ್ರಾಂಪರ್-ಸೂಚಕ ಸಾಬೀತು]
H -- no --> J[ರಸೀದಿ ನಿರಾಕರಿಸಲಾಗಿದೆ]
ಸರಳ ರಸೀದಿ ಹೀಗೆ ಕಾಣುತ್ತದೆ:
{
"type": "agent.tool_call.v1",
"agent_id": "contoso-travel-bot",
"tool_name": "lookup_flights",
"tool_args_hash": "sha256:a3f9c1...",
"result_hash": "sha256:7b2e1d...",
"policy_id": "contoso-travel-policy-v3",
"timestamp": "2026-04-25T14:30:00Z",
"sequence": 47,
"previous_receipt_hash": "sha256:9d4e6a...",
"signature": {
"alg": "EdDSA",
"sig": "c5af83...",
"public_key": "8f3b2c..."
}
}
ಮೂವರು ಗುಣಲಕ್ಷಣಗಳು ಕೆಲಸ ಮಾಡುತ್ತಿವೆ:
ಸಹಿತಿ. ರಸೀದಿಯನ್ನು ಏಜೆಂಟ್ ಗೇಟ್ವೇ ದಿಂದ Ed25519 ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಬಳಸಿ ಸಹಿ ಮಾಡಲಾಗಿದೆ. ಸದಸ್ಯರಿಗೆ ಸಂಬಂಧಿಸಿದ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯೊಂದಿಗೆ ಸಹಿತಿಯನ್ನು ಆಫ್ಲೈನ್ನಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು. ಯಾವುದೇ ಕ್ಷೇತ್ರದಲ್ಲಿ ತಿರುವು ಸಾಕ್ಷ್ಯವನ್ನು ಅಮಾನ್ಯಗೊಳಿಸುತ್ತದೆ.
ಕನೋನಿಕಲ್ ಎನ್ಕೋಡಿಂಗ್. ಸಹಿ ಮಾಡುವ ಮೊದಲು, JSON ಕನೋನಿಕಲೈಜೆಶನ್ ಸ್ಕೀಮ್ (JCS, RFC 8785) ಬಳಸಿ ರಸೀದಿ ಸರಣಿಬದ್ಧಗೊಳ್ಳುತ್ತದೆ. ಇದು ಒಂದೇ ತಾರ್ಕಿಕ ರಸೀದಿಯನ್ನು ಉತ್ಪಾದಿಸುವ ಎರಡು ರಚನೆಗಳು ಒಂದೇ ಬಯ್ಟ್-ಅನುರೂಪ ಔಟ್ಪುಟ್ ನೀಡುವಂತೆ ಖಚಿತಪಡಿಸುತ್ತದೆ. ಕನೋನಿಕಲೈಜೆಶನ್ ಇಲ್ಲದೆ, ವಿಭಿನ್ನ JSON ರಿಲೈಸರ್ಗಳು ಒಂದೇ ವಿಷಯಕ್ಕೆ ವಿಭಿನ್ನ ಸಹಿತಿಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತೆವು.
ಹ್ಯಾಶ್ ಸರಣಿಕರಣ. previous_receipt_hash ಕ್ಷೇತ್ರವು ಪ್ರತಿಯೊಂದು ರಸೀದಿಯನ್ನು ಹಿಂದೆ ಇರುವ ರಸೀದಿಯನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ. ರಸೀದಿಯನ್ನು ತೆಗೆದುಹಾಕಿದಾಗ ಅಥವಾ ಪುನಾರೂಪಿಸಿದಾಗ ನಂತರದ ಎಲ್ಲಾ ರಸೀದಿಗಳ ಸಹಿತಿಗಳು ಮುರಿಯುತ್ತವೆ. ತಿರುವು ಸರಣಿಯಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ಕಾಣಿಸುತ್ತದೆ, ಅಷ್ಟೇ ಅಲ್ಲದ ಸಹಿತಿಗಳು ಬಾಯ್ಪ್ಯಾಸಾಗಿದರೂ.
ಈ ಗುಣಲಕ್ಷಣಗಳು ಮೂರು ಭರವಸೆಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ:
ಒಂದು ವಿಶೇಷ ಗ್ರಂಥಾಲಯ ಬೇಕಾಗಿಲ್ಲ. ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಮೂಲಭೂತಗಳು ವ್ಯಾಪಕವಾಗಿದೆ ಮತ್ತು ಲಾಜಿಕ್ ಕೆಲ ಪೈಥಾನ್ ಸಾಲೆಗಳಷ್ಟೇ.
code_samples/18-signed-receipts.ipynbಯಲ್ಲಿನ ಹಸ್ತಚಾಲಿತ ಅಭ್ಯಾಸಗಳು ಸಂಪೂರ್ಣ ಪ್ರಕ್ರಿಯೆಯನ್ನು ವಿವರಿಸುತ್ತವೆ. ಸಂಕ್ಷಿಪ್ತ ಆವೃತ್ತಿ:
import json
import hashlib
import base64
from nacl import signing
from jcs import canonicalize # RFC 8785 ನಿಯಮಿತ JSON
def b64url_nopad(data: bytes) -> str:
return base64.urlsafe_b64encode(data).decode("ascii").rstrip("=")
def sha256_canonical(obj) -> str:
"""SHA-256 of a Python object's JCS-canonical JSON form."""
return f"sha256:{hashlib.sha256(canonicalize(obj)).hexdigest()}"
# ಸಹಿ ಕೀವನ್ನು ರಚಿಸು ಅಥವಾ ಲೋಡ್ ಮಾಡು (ಉತ್ಪಾದನೆದಲ್ಲಿ, ಕೀ ವಾಲ್ಟ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ)
signing_key = signing.SigningKey.generate()
verify_key = signing_key.verify_key
# ರಸೀದಿ ಪೇಲೋಡ್ ಅನ್ನು ನಿರ್ಮಿಸಿ (ಇನ್ನೂ ಸಹಿ ಇಲ್ಲ)
tool_args = {"origin": "SYD", "destination": "LAX"}
tool_result = [{"flight": "QF11", "price": 1850, "stops": 0}]
payload = {
"type": "agent.tool_call.v1",
"agent_id": "contoso-travel-bot",
"tool_name": "lookup_flights",
"tool_args_hash": sha256_canonical(tool_args),
"result_hash": sha256_canonical(tool_result),
"policy_id": "contoso-travel-policy-v3",
"timestamp": "2026-04-25T14:30:00Z",
"sequence": 0,
"previous_receipt_hash": None,
}
# ನಿಯಮಿತಮಾಡು, ಹ್ಯಾಶ್ ಮಾಡಿ, ಸಹಿ ಮಾಡು.
canonical_bytes = canonicalize(payload)
message_hash = hashlib.sha256(canonical_bytes).digest()
signature_bytes = signing_key.sign(message_hash).signature
# ರಚನಾತ್ಮಕ ಸಹಿ ವಸ್ತುವನ್ನು ಲಗತ್ತಿಸು.
receipt = {
**payload,
"signature": {
"alg": "EdDSA",
"sig": b64url_nopad(signature_bytes),
"public_key": b64url_nopad(bytes(verify_key)),
},
}
ಅದು ಸಂಪೂರ್ಣ ಸಹಿ ಪೈಪ್ಲೈನ್. ನೋಟ್ಬುಕ್ನ ಅಭ್ಯಾಸಗಳು ಪ್ರತಿ ಹಂತವನ್ನು ವಿವರಿಸುತ್ತವೆ.
ಪರಿಶೀಲನೆ ವಿರುದ್ಧ ಪ್ರಕ್ರಿಯೆಯಾಗಿರುತ್ತದೆ:
import base64
import hashlib
from nacl import signing
from nacl.exceptions import BadSignatureError
from jcs import canonicalize
def b64url_decode(s: str) -> bytes:
padding = "=" * ((4 - len(s) % 4) % 4)
return base64.urlsafe_b64decode(s + padding)
def verify_receipt(receipt: dict) -> bool:
# ಸಹಿ ಒಂದು ರಚನೆಯಾದ ವಸ್ತು: {"alg", "sig", "ಪಬ್ಲಿಕ್_ಕೀ"}.
sig_obj = receipt.get("signature")
if not sig_obj or sig_obj.get("alg") != "EdDSA":
return False
# ನಿಜವಾಗಿಯೂ ಸಹಿ ಹಾಕಲಾದ ಪೇಲೋಡ್ ಅನ್ನು ಮರುನಿರ್ಮಿಸಲು (ಸಹಿಯನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲವನ್ನೂ).
payload = {k: v for k, v in receipt.items() if k != "signature"}
canonical_bytes = canonicalize(payload)
message_hash = hashlib.sha256(canonical_bytes).digest()
try:
verify_key = signing.VerifyKey(b64url_decode(sig_obj["public_key"]))
verify_key.verify(message_hash, b64url_decode(sig_obj["sig"]))
return True
except BadSignatureError:
return False
ಈ ಕಾರ್ಯವು ರಸೀದಿಯನ್ನು ಸ್ವೀಕರಿಸಿ ಸಹಿತಿ ಸರಿಯಾದರೆ True, ಇಲ್ಲದಿದ್ದರೆ False ಅನ್ನು ಮರಳಿಸುತ್ತದೆ. ಯಾವುದೇ ಜಾಲವೈಧ್ಯ, ಸೇವಾ ನಿರ್ಭರತೆ ಇಲ್ಲದೆ ಅಥವಾ ಮೂರನೇ ಪಕ್ಷವನ್ನು ನಂಬದೆ.
ತಿರುವು ಪತ್ತೆಯ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನೋಡುವುದಕ್ಕಾಗಿ ನೋಟ್ಬುಕ್ ಹೀಗಿದೆ:
tool_args_hash ಕ್ಷೇತ್ರದ ಒಂದೇ ಬೈಟ್ ಅನ್ನು ಬದಲಾಯಿಸುವುದು.ಇದು ರಸೀದಿಗಳು ತಿರುವುನಿರೋಧಕವಾಗಿರುವುದರ ಪ್ರಾಯೋಗಿಕ ಪ್ರದರ್ಶನ: ಯಾವುದೇ ಬದಲಾವಣೆ ಸಹಿತಿಯನ್ನು ಮುರಿಯುತ್ತದೆ.
ಒಂದೇ ಸಹಿ ರಸೀದಿ ಒಂದು ಕ್ರಿಯೆಯನ್ನು ರಕ್ಷಿಸುತ್ತದೆ. ರಸೀದಿಗಳ ಸರಣಿ ಸರಣಿಯನ್ನು ರಕ್ಷಿಸುತ್ತದೆ.
flowchart LR
R0[ರಸೀದಿ 0<br/>ಆರಂಭ] --> R1[ರಸೀದಿ 1]
R1 --> R2[ರಸೀದಿ 2]
R2 --> R3[ರಸೀದಿ 3]
R1 -. previous_receipt_hash .-> R0
R2 -. previous_receipt_hash .-> R1
R3 -. previous_receipt_hash .-> R2
ಪ್ರತಿಯೊಂದು ರಸೀದಿ ಹಿಂದಿನ ರಸೀದಿಯ ಹ್ಯಾಶ್ ಅನ್ನು ದಾಖಲಿಸುತ್ತದೆ. ರಸೀದಿ 2 ಅನ್ನು ಮೌನವಾಗಿ ತೆಗೆದುಹಾಕಲು ದಾಳಿಗಾರನು ಈ ಕೆಲಸಗಳನ್ನು ಮಾಡಬೇಕಾಗುತ್ತದೆ:
previous_receipt_hash ಕ್ಷೇತ್ರವನ್ನು ಬದಲಾಯಿಸುವುದು (ರಸೀದಿ 3ರ ಸಹಿತಿಯನ್ನು ಮುರಿಯುತ್ತದೆ), ಅಥವಾಖಾಸಗಿ ಕೀ ಒಂದು ಹಾರ್ಡ್ವೇರ್ ಕೀ ವಾಲ್ಟ್ನಲ್ಲಿ ಇದ್ದಾಗ ಮತ್ತು ನೀವು ಸಾರ್ವಜನಿಕ ಕಿಯನ್ನು ಪ್ರತಿಯೊಂದು ರಸೀದಿಯ ಜೊತೆಗೆ ಪ್ರಕಟಿಸಿದರೆ, ಈ ದಾಳಿಯು ಕಂಡುಹಿಡಿಯದೆ ಸಾಧ್ಯವಿಲ್ಲ.
ನೋಟ್ಬುಕ್ ಇಲ್ಲಿ ವಿವರಿಸುತ್ತದೆ:
previous_receipt_hash ಪೂರ్వ ರಸೀದಿಯ ಯಥಾರ್ಥ ಹ್ಯಾಶ್ ಜೊತೆ ಹೊಂದಿಕೆಯಾಗುವುದನ್ನು ಪರಿಶೀಲಿಸುವುದು.ಇಂತಹ ಆಡಿಟ್ ಟ್ರೇಲ್ ಅನ್ನು ನೀವು ಉತ್ಪಾದಿಸಬಹುದು; ಹೊರಗಿನ ಆಡಿಟರ್ ನಿಮ್ಮನ್ನು ನಂಬದೆ ಪರಿಶೀಲಿಸಬಹುದು.
ಇದು ಈ ಪಾಠದ ಅತ್ಯಂತ ಪ್ರಮುಖ ವಿಭಾಗ. ರಸೀದಿಗಳು ಶಕ್ತಿಶಾಲಿಯಾದವು ಆದರೆ ಅವರ ಶಕ್ತಿ ಮಿತವಾಗಿದೆ.
ರಸೀದಿಗಳು ಮೂರು ಸಂಗತಿಗಳನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತವೆ:
ರಸೀದಿಗಳು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ:
policy_idನಲ್ಲಿ ಉಲ್ಲೇಖಿಸಿರುವ ನೀತಿ ಅಳವಡಿಸಲಾಗಿದೆ ಅಥವಾ ಪರಿಶೀಲಿಸಿದಾಗ ಈ ಕ್ರಮಕ್ಕೆ ಅನುಮತಿ ನೀಡುತ್ತದೆ ಎಂದು. ರಸೀದಿ ಹೇಳುವುದು ಏನು দাবಿಯಾಯಿತು, ಏನು ಅಳವಡಿಸಲ್ಪಟ್ಟಿಲ್ಲ.ಈ ಗಡಿ ಎರಡು ಕಾರಣಗಳಿಗಾಗಿ ಪ್ರಮುಖ:
ಸಾಮಾನ್ಯ ತಪ್ಪುವೆಂದರೆ “ನಮಗೆ ರಸೀದಿಗಳು ಇವೆ” ಅಂದರೆ “ನಾವು ಆಡಳಿತದಡಿಯಲ್ಲಿ ಇವೆವು” ಎಂದು assume ಮಾಡುವುದು. ಅದು ಅಲ್ಲ. ರಸೀದಿಗಳು ನೆಲೆತಟ್ಟಿನಂತೆ; ಆಡಳಿತವು ನೀವು ನಿರ್ಮಿಸುವ ಅಳವಡಿಕೆ ವ್ಯವಸ್ಥೆ.
ಮೇಲಿನ ಅಂಶ 3 ತನ್ನ deluxe ಖಂಡಿತವಾಗಿ ಒಂದು ವಿಭಾಗಕ್ಕಿದೆ: ಕ್ರಮ ರಸೀದಿ ಹೇಳುವುದು “ಈ ಕೀ ಈ ವಿಷಯ ಸಹಿ ಮಾಡಿತು”, ಎಂದಷ್ಟೇ, “ಮಾನವನ ಅನುಮೋದನೆಯಿದೆ” ಎಂದಿಲ್ಲ. ಉನ್ನತ-ആപತ್ತು ಕ್ರಮಗಳಿಗಾಗಿ (ನಿರ್ನಿಮಿಸು, ಅಳಿಸುವಿಕೆ, ವಾಯರ್ ವರ್ಗಾವಣೆ), ಆಡಳಿತದ ಜಾಲಗಳು ಹೆಚ್ಚಾಗಿ ನಿಖರವಾಗಿ ಆ ಕಾಣೆಯ ಹೇಳಿಕೆಯನ್ನು ಬೇಕಾಗುತ್ತದೆ, ಮತ್ತು ಅದನ್ನು ಈ ಪಾಠದಲ್ಲಿನ ಮೂಲಭೂತಗಳೊಂದಿಗೆ ಉತ್ಪಾದಿಸಬಹುದು.
ಮುಂದಿನ ನೋಟ್ಬುಕ್ code_samples/human-authorization-receipts.ipynb ಎರಡನೇ ರಸೀದಿ ವಿಧವನ್ನು ಸೇರಿಸುತ್ತದೆ, human.approval.v1, ಪಾಠದ ರಸೀದಿಗಳ ಸಮಾನ ಸಂರಚನೆಯೊಂದಿಗೆ (Typed Payload Ed25519 ಸಹಿ, Canonical SHA-256 ಮೇಲ್ಪಟ್ಟದ್ದು, signature ವಸ್ತುವು ಸಹಿ ಮಾಡಿದ ಬೈಟ್ಗಳ ಹೊರಗೆ). ಒಂದು ಹೆಸರು ಪಡೆದ ಅನುಮೋದಕ ಪೂರ್ಣ ಕನೋನಿಕಲ್ ಕ್ರಮ ಮತ್ತು ಅದರ ಡೈಜೆಸ್ಟ್ಗೆ ಸಹಿ ಮಾಡುತ್ತಾನೆ; ಏಜೆಂಟ್ ಕ್ರಮ ರಸೀದಿ ಅದೇ ಕ್ರಮ ಡೈಜೆಸ್ಟ್ ಮತ್ತು parent_approval_ref (ಅನುಮೋದನೆಯ ರಸೀದಿ ಹ್ಯಾಶ್), ಮೇಲಿನ ಸರணಿಯಲ್ಲಿ previous_receipt_hashಗಾಗಿ ಪ್ರಕ್ರಿಯೆಯಂತೆ. ಒಂದು verify_chain ಇಬ್ಬರ ವಸ್ತುಗಳನ್ನು ವಿಭಿನ್ನ ಕೀ ದಾಖಲಾತಿಯಡಿಯಲ್ಲಿ ಪರಿಶೀಲಿಸುತ್ತದೆ (ಅನುಮೋದಕ ಕೀಗಳು ವಿರುದ್ಧ ಏಜೆಂಟ್ ಕೀಗಳು), ಆದಾಗ ಕೋಡ್ ಮಾರ್ಗ ಹಂಚಿಕೊಳ್ಳುತ್ತದೆ ಆದರೆ ಅಧಿಕಾರಿಗಳು ಹಂಚಿಕೊಳ್ಳುವುದಿಲ್ಲ.
ಈ ಗುಣಲಕ್ಷಣನು ಪ್ರಾಮಾಣಿಕವಾಗಿ ಹೇಳುವುದು: ಮಾನವನು ಈ ನಿಖರ ಕ್ರಮವನ್ನು ಅನುಮೋದಿಸಿದನು ಮತ್ತು ಏಜೆಂಟ್ ಆ ಅನುಮೋದಿತ ಕ್ರಮವನ್ನು ನಿಖರವಾಗಿ ನಿರ್ವಹಿಸಿದ್ದನು. ನೋಟ್ಬುಕ್ನ ತಿರಸ್ಕಾರ ಸಿದ್ಧಾಂತಗಳು ಈ ಗುಣಲಕ್ಷಣವನ್ನು ವಾಸ್ತವಿಕಗೊಳಿಸುತ್ತವೆ:
ಪ್ರತಿ ವಿಫಲತೆ ವಿಭಿನ್ನ ಕಾರಣದಿಂದ ನಿರಾಕರಿಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಆಡಿಟರ್ ನಿರಾಕಾರವನ್ನು ಓದಿದಾಗ ಅಧಿಕಾರ ಹಳೆಯದಾಗಿದೆ ಅಥವಾ ನಿರ್ವಹಿಸಿದ ಕ್ರಮ ಬದಲಾಗಿದೆ ಎಂದು ತಿಳಿಯಬಹುದು. ನೋಟ್ಬುಕ್ ಬೋಧಿಸುವ ನಿಯಮ: ಸಹಿ ಮಾಡಿದ ಅನುಮೋದನೆ ಸ್ವತಂತ್ರ ಅಧಿಕಾರವಲ್ಲ. ಅಧಿಕಾರವು ಮಾತ್ರ ಆ ಎರಡು ರಸೀದಿಗಳೂ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ವೇಳೆಯಲ್ಲಿ ಒಂದೇ ಕನೋನಿಕಲ್ ಕ್ರಮಕ್ಕೆ ಬೈಸಿಕೊಳ್ಳುವಾಗ ಇರುತ್ತದೆ. ಈ ಪಾಠ ಅನುಸರಿಸಿದ ಅನ್ಲೈನ್ ಡ್ರಾಫ್ಟ್ನಲ್ಲಿ (draft-farley-acta-signed-receipts) ಸಹಿ ಸಹಿ ಮಾರ್ಗದರ್ಶಿಕೆಯನ್ನು ಇದು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
ಈ ಪಾಠದ ಪೈಥಾನ್ ಕೋಡ್ ಉದ್ದೇಶಿತವಾಗಿ ಅಧೀನಕ್ಕೆ ಸರಳವಾಗಿದೆ, ನೀವು ಪ್ರತಿ ಸಾಲನ್ನು ಓದಿ ನಿಜವಾದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು. ಉತ್ಪಾದನೆಯಲ್ಲಿ, ಎರಡು ಆಯ್ಕೆಗಳಿವೆ:
ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಮೂಲಭೂತಗಳ ಮೇಲೆ ನೇರವಾಗಿ ನಿರ್ಮಿಸು. ಮೇಲ್ಬança 50 ಸಾಲು ಹಲವು ಬಳಕೆಗಳಿಗೆ ಸಾಕಾಗುತ್ತದೆ. PyNaCl (Ed25519) ಮತ್ತು jcs ಪ್ಯಾಕೇಜ್ (ಕನೋನಿಕಲ್ JSON) ಚೆನ್ನಾಗಿ ನಿರ್ವಹಿಸಲ್ಪಟ್ಟ ಮತ್ತು ಪರಿಶೀಲಿತ ಗ್ರಂಥಾಲಯಗಳಾಗಿವೆ.
ಉತ್ಪಾದನಾ ರಸೀದಿ ಗ್ರಂಥಾಲಯ ಬಳಸಿರಿ. ಕೆಲವು ಓಪನ್-ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಈ ಮಾದರಿಯನ್ನು ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ (ಕೀ ತಿರುಗостоя, ಬ್ಯಾಚ್ ಪರಿಶೀಲನೆ, JWK ಸೆಟ್ ವಿತರಣೆ, ನೀತಿ ಎಂಜಿನ್ ಸಮನ್ವಯ) ರಚಿಸುತ್ತವೆ:
draft-farley-acta-signed-receipts, ಪರಿಷ್ಕರಣೆ 02)ನಲ್ಲಿ നിലവಿನ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಇದೆ, ಹೊಂದಾಣಿಕೆಯ ಪರೀಕ್ಷಾಮಾಲೆಯೊಂದಿಗೆ (agent-governance-testvectors) ಸ್ವತಂತ್ರ ಅನುಷ್ಠಾನಗಳು ಬೈಟ್-ಅನುರೂಪ ಕನೋನಿಕಲ್ ಔಟ್ಪುಟ್ ಬಗ್ಗೆ ಪರಸ್ಪರ ಪರಿಶೀಲನೆ ಮಾಡುತ್ತಿವೆ.protect-mcp (npm) ಮತ್ತು @veritasacta/verify (npm) ಪ್ಯಾಕೇಜ್ಗಳು ನೋಡ್ ಆಧಾರಿತ ರಸೀದಿ ಸಹಿತ ಮತ್ತು ಆಫ್ಲೈನ್ ಪರಿಶೀಲನೆ ಅನುಷ್ಠಾನವನ್ನು ಒದಗಿಸುತ್ತವೆ, ಯಾವುದೇ MCP ಸರ್ವರ್ನ್ನು ತಿರುವು-ಪ್ರತಿರೋಧಕ ಆಡಿಟ್ ಟ್ರೇಲ್ಗಾಗಿ ಹೊರೆತೀರುವುದಾಗಿ, ಮೂಲಕ ನಿಯೋಜಿತ ಕ್ರಮ ನಿರ್ವಹಣೆಯಲ್ಲಿ ನಿರ್ಬಂಧಿತ ಅನುಮೋದನೆ ರಸೀದಿಯನ್ನು ಒಳಗೊಂಡಂತೆ (ಡೆಸ್ಕ್ಟಾಪ್ ದಾರಿಯಲ್ಲಿ WebAuthn-ಆಧಾರಿತ), ಮೇಲಿನ ಮಾನವ-ಅನುಮೋದನಾ ನೋಟ್ಬುಕ್ನಂತಹ ಸಹಿ-ಅನುಮೋದನೆ ಮಾದರಿ.pip install nobulex) LangChain ಮತ್ತು CrewAI ಒಟ್ಟಿಗೆಯನ್ನೊಳಗೊಂಡಂತೆ Pythonನಲ್ಲಿ ಅದೇ Ed25519 + JCS ಸಹಿ ಮಾದರಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಪ್ರಕಟಿತ ಕ್ರಾಸ್-ಮಾನ್ಯತೆ ಪರೀಕ್ಷಾ ವೆಕ್ಟರ್ಗಳು ಮತ್ತು OWASP PR #2210 ಮೂಲಕ ಕೊಡುಗೆ ನೀಡಲಾದ ಅನುಕೂಲತೆಗಳೊಂದಿಗೆ.ಇದನ್ನೇ ಸ್ವತಃ ರೂಪಿಸುವುದು ಮತ್ತು ಗ್ರಂಥಾಲಯ ಬಳಸುವಿಕೆಗೆ ಮಧ್ಯೆ ನಿರ್ಣಯ JWT ಗ್ರಂಥಾಲಯವನ್ನು ಬರೆಯುವ ಅಥವಾ ಪರೀಕ್ಷಿತವೊಂದನ್ನು ಬಳಸುವುದರಲ್ಲಿ ಪ್ರಕಾರ. ಇಬ್ಬರೂ ಯೋಗ್ಯವಿದೆ; ಗ್ರಂಥಾಲಯ ಸಮಯ ಉಳಿಸಿ ಪರೀಕ್ಷೆಯ ವಿಸ್ತೃತಲಿಪಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ; ಆರಂಭದಿಂದಲೇ ತಯಾರಿಸುವಿಕೆ ಪ್ರತಿಯೊಂದು ಮೂಲಭೂತವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲಿ. ಈ ಪಾಠ ಮೂಲಭೂತ ಮಾರ್ಗವನ್ನು ಕಲಿಸುತ್ತದೆ.
ಅಭ್ಯಾಸಕ್ಕೆ ಹೋಗುವುದಕ್ಕೆ ಮೊದಲು ನಿಮ್ಮ ಅರಿವನ್ನು ಪರೀಕ್ಷಿಸಿ.
1. ರಸೀದಿ ಏಜೆಂಟ್ನ ಖಾಸಗಿ Ed25519 ಕೀಯಿಂದ ಸಹಿ ಆಗಿದೆ. ಆಡಿಟರ್ಗೆ ಮಾತ್ರ ಸಾರ್ವಜನಿಕ ಕೀ ಇದೆ. ಆಡಿಟರ್ ರಸೀದಿಯನ್ನು ಆಫ್ಲೈನ್ನಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದೇ?
2. ದಾಳಿಗಾರನು ರಸೀದಿಯ policy_id ಕ್ಷೇತ್ರವನ್ನು ಬದಲಿಸಿ ಹೆಚ್ಚು ಅನುಮತಿಕುಡಿಯ ನೀತಿಯಂತೆ ಹೇಳಿಕೊಳ್ಳುತ್ತಾನೆ. ಸಹಿತಿ ಮೂಲ ಪೇಲೋಡ್ ಮೇಲೆ ಆಗಿದೆ. ಪರಿಶೀಲನೆಯ ವೇಳೆ ಏನು ಸಂಭವಿಸುತ್ತದೆ?
3. ರಸೀದಿನಲ್ಲಿ ಕಚ್ಚಾ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳ ಬದಲು tool_args_hash ಮತ್ತು result_hash ಇದೇಕೆ ಸೇರಿಸಲಾಗಿವೆ?
4. previous_receipt_hash ಕ್ಷೇತ್ರವು ಪ್ರತಿ ರಸೀದಿಕೆಯನ್ನು ಅದರ ಪೂರ್ವಸ್ತಕ್ಕಾಗಿ ಲಿಂಕ್ ಮಾಡುತ್ತದೆ. ದಾಳಿಗಾರನು ಸರಣಿಯ ಮಧ್ಯಮಣಿಯಲ್ಲಿ ಒಂದು ರಸೀದಿಯನ್ನು ಮೌನವಾಗಿ ಅಳಿಸಿದರೆ ಏನು ಅಮಾನ್ಯವಾಗುತ್ತದೆ?
5. ಒಂದು ರಸೀದಿ ಸ್ವಚ್ಛವಾಗಿ ಪರಿಶೀಲನೆಗೆ ಒಳಪಟ್ಟಿತೇ. ಅದು ಏಜೆಂಟ್ನ ಕ್ರಿಯೆ ಸರಿಯೇ, ಧ್ವನಿಯಾದ್ದೇ ಅಥವಾ ನೀತಿಯ ಅನುಕೂಲದಲ್ಲಿದೆಯೇ ಎಂದು ಸಾಬೀತು ಪಡಿಸುತ್ತದೆಯೆ?
code_samples/18-signed-receipts.ipynb ಫೈಲನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಎಲ್ಲಾ ನಾಲ್ಕು ವಿಭಾಗಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ:
ಸ್ಟ್ರೆಚ್ ಚಾಲೆಂಜ್ 1: ನಿಮ್ಮ ಆಯ್ಕೆದಲ್ಲಿರುವ ಹೆಚ್ಚುವರಿ ಕ್ಷೇತ್ರವನ್ನು ಸೇರಿಸಿ (ಉದಾಹರಣೆಗೆ, ಟ್ರೇಸಿಂಗ್ಗೆ ವಿನಂತಿ ಐಡಿ), ಅದನ್ನು ಸಹಿ ಮಾಡುವ ಲಾಜಿಕ್ನಲ್ಲಿ ಸೇರಿಸಿ, ಮತ್ತು ರಸೀದಿ ಪರಿಶೀಲನೆಯಲ್ಲಿ ಇನ್ನೂ ಸುತ್ತಿಬಂದಿರುವುದನ್ನು ದೃಢೀಕರಿಸಿ. ನಂತರ ಸಹಿ ಹಾಕಿದ ಮೇಲೆ ಆ ಕ್ಷೇತ್ರವನ್ನು ಬದಲಿಸಿ ಮತ್ತು ಪರಿಶೀಲನೆ ವಿಫಲವಾಗುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಇದರಿಂದ ಕ್ಯಾನೊನಿಕಲ್ ಎನ್ಕೋಡಿಂಗ್ನ ಪ್ರತಿಯೊಂದು ಬೈಟ್ ಸಹಿಗೆ ಹೇಗೆ ಸಹಕರಿಸುತ್ತಿದೆಯೋ ನಿಮಗೆ ಅರ್ಥವಾಗುತ್ತದೆ.
ಸ್ಟ್ರೆಚ್ ಚಾಲೆಂಜ್ 2: ನೀವು ಹೊಂದಿರುವ ಎರಡು ರಸೀದಿಗಳನ್ನು SHA-256 ಹ್ಯಾಶ್ ಮಾಡಿ (ಅವರ ಕ್ಯಾನೊನಿಕಲ್ ಬೈಟ್ಗಳನ್ನು ನಿರ್ಧಿಷ್ಟ ಕ್ರಮದಲ್ಲಿ Concatenate ಮಾಡಿ) ಮತ್ತು ಫಲಿತಾಂಶ ಡೈಜೆಸ್ಟ್ ಅನ್ನು ಮೂರನೇ ರಸೀದಿಯಲ್ಲಿ ಹೊಸ ಕ್ಷೇತ್ರವಾಗಿ ಸೇರಿಸಿ ಮತ್ತು ಸಹಿ ಮಾಡಿ. ಎಲ್ಲಾ ಮೂರು ರಸೀದಿಗಳು ಇನ್ನೂ ಪರಿಶೀಲನೆ ಸುತ್ತಿಬಂದಿರುವುದನ್ನು ದೃಢೀಕರಿಸಿ. ನೀವು ಈಗ ಒಂದು ಹಂತದ ಒಳಗೊಂಡಿರುವ ಸಾಬೀತಾದ ಪ್ರತಿಜ್ಞೆಯನ್ನು ರಚಿಸಿದ್ದೀರಿ: ಮೂರನೇ ರಸೀದಿಯನ್ನು ಹೊಂದಿರುವ ಯಾರಿಗಾದರೂ ಮೊದಲು ಎರಡು ರಸೀದಿಗಳಿರುವಾಗ ಸಹಿ ಆಗಿತ್ತು ಎಂದು ಸಾಬೀತುಪಡಿಸಲು ಸಾಧ್ಯವಿದೆ, ಅವರ ವಿಷಯಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸದೆ. ಇದು ವರ್ಗಾಯಿಸಬಹುದಾದ ರಸೀದಿಗಳು ಬಳಸುವ ಮಾದರಿಯಾಗಿದೆ (Merkle Commitment, RFC 6962).
ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ರಸೀದಿಗಳು AI ಏಜೆಂಟ್ಗಳಿಗೆ ಈ ರೀತಿಯಾದ ಪರಿಶೀಲನಾ ದಾಖಲೆಗಳನ್ನು ನೀಡುತ್ತವೆ:
ಇವು ಇನ್ಪುಟ್ ಮಾನ್ಯತೆ, ನೀತಿ ಜಾರಿ ಅಥವಾ ಗುರುತು ವ್ಯವಸ್ಥೆಯ ಪರ್ಯಾಯವಲ್ಲ. ಅವು ಆಮದ್ಯ ಮಟ್ಟಗಳಿಗೆ ಆಧಾರವಾಗಿದೆ. ನೀವು ನಿಯಂತ್ರಿತ ಕೆಲಸದ ಸ್ಥಳಗಳಲ್ಲಿ, ಬಹು-ಸಂಸ್ಥಾ ಕಾರ್ಯವಿಧಾನಗಳಲ್ಲಿ, ಅಥವಾ ಭವಿಷ್ಯದ ಪರಿಶೀಲಕನ ಮೇಲೆ ನಂಬಿಕೆ ಇರಲಾರದು ಎನ್ನುವ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಏಜೆಂಟ್ಗಳನ್ನು ವ್ಯವಸ್ಥಾಪಿಸುವಾಗ, ರಸೀದಿಗಳು ಪರಿಶೀಲನಾ ದಾಖಲೆಕ್ಕೆ ನೈತಿಕತೆಯನ್ನು ನೀಡುತ್ತವೆ.
ಬಹುಮುಖ್ಯ ವಿಚಾರ: ರಸೀದಿಗಳು ಯಾರು ಯಾವಾಗ ಏನು ಹೇಳಿದ್ದಾರೆ ಎನ್ನುವುದನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತವೆ. ಅವರು ಹೇಳಿದವು ಸತ್ಯ ಅಥವಾ ಸರಿಯಾಗಿದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ. ಆ ಭೇದವನ್ನು ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಹಿಡುಕೊಳ್ಳಿ. ಇದು ಪ್ರಾಮಾಣಿಕ ಪ್ರಾಮುಖ್ಯತೆಯ ಸಿಸ್ಟಮ್ ಮತ್ತು ತಪ್ಪು ಸಂಗತಿಯ ಮಧ್ಯೆ ವ್ಯತ್ಯಾಸ.
ನೀವು ಈ ಪಾಠವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ ನಿಜವಾದ ಪರಿಸರದಲ್ಲಿ ರಸೀದಿ ಸಹಿ ಮಾಡಿದ ಏಜೆಂಟ್ಗಳನ್ನು ನಿಯೋಜಿಸಲು ಸಜ್ಜಾಗುವಾಗ:
https://your-org.example.com/.well-known/agent-keys.json.Microsoft Foundry Discord ನೊಂದಿಗೆ ಸೇರ್ಪಡೆಗೊಂಡು ಇತರ ಕಲಿಯುವವರಿಗೆ ಭೇಟಿ ನೀಡಿ, ಕಾರ್ಯಕ್ಷೇತ್ರದ ಸಮಯಗಳಲ್ಲಿ ಭಾಗವಹಿಸಿ ಮತ್ತು ನಿಮ್ಮ AI ಏಜೆಂಟ್ಗಳ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರ ಪಡೆಯಿರಿ.
ಈ ಪಾಠದಲ್ಲಿ ಒಂದೇ ರಸೀದಿ ಸಹಿ ಮತ್ತು ಹ್ಯಾಶ್ ಸರಣಿಗಳನ್ನು ಹೊಂದಿಸಿದೆ. ಇದೇ ಮೂಲ ಉಪಕರಣಗಳು ನೀವು ನಿಮ್ಮ ಆಡಳಿತ ವ್ಯವಸ್ಥೆ ಬಲಪಡಿಸುವಂತೆ ಹಲವಾರು ಹೆಚ್ಚಿನ ಪ್ರಗತಿಶೀಲ ಮಾದರಿಗಳೊಡನೆ ಸಂಯೋಜಿಸುವ ಸಾಧ್ಯತೆ ಇದೆ:
authorization_*) ಮತ್ತು ನಂತರ-ಕ್ರಿಯೆ (result_*) ಭಾಗಗಳಾಗಿ ವಿಭಜಿಸಿ ಸ್ವತಂತ್ರ ಸಹಿ ಮಾಡುವುದು; ಅಧಿಕಾರ ನಿರ್ಣಯ ಮತ್ತು ನೋಡಿದ ಫಲಿತಾಂಶ ವಿಭಿನ್ನ ವೇಳೆ ಅಥವಾ ವ್ಯಕ್ತಿಗಳಿಂದ ಬಂದಿದೆ ನಿಗದಿಪಡಿಸಲು ಉಪಯುಕ್ತ. ಇದು ಈ ಪಾಠದಲ್ಲಿ ಕಲಿಸಿದ ರಸೀದಿ ಮಾದರಿಗೆಯೂ ಸೇರಿಸಬಹುದಾದದ್ದು.result_hash ನಲ್ಲಿ ನೀವು ಹಾಕುವ ಯಾವುದೇ ಬೈಟ್ಗಳನ್ನು ರಸೀದಿ ಫೆಕ್ಕಿಸುವುದು. ನೈಜ ಲೋಕದಲ್ಲಿ ಪೇಲೋಡ್ಗಳು ಒಂದು ಉಪಕರಣದ ಫಲಿತಾಂಶಕ್ಕಿಂತ ಹೆಚ್ಚಿನದ್ದು ಇದ್ದಾರೆ: ಪೂರ್ವ-ನಿರ್ಧಾರ ವೈಚಾರಿಕೆ, ಮಾದರಿ ಮುಂಭಾಗ, ಪರ್ಯಾಯಗಳು, ಸಾಕ್ಷ್ಯ ಮತ್ತು ಅದರ ಪೂರಿತ್ತನೆ, ಅಪಾಯ ಸ್ಥಿತಿ, ಹೊಣೆಗಾರಿಕೆಯ ಸರಣಿ, ಗುರಿ ಫಲಿತಾಂಶ ಮುಂತಾದವುಗಳು ಪೇಲೋಡ್ ನಡುವಿನಿದ್ದರೂ ಇರುತ್ತವೆ, ಒಂದು ರಸೀದಿ ಸಹಿ ಮೂಲಕ ಘನಗೊಳಿಸಲಾಗುತ್ತದೆ. ಇದರಿಂದ ರಸೀದಿ ಮಾದರಿಯನ್ನು ಕಡಿಮೆ ಇಡುತ್ತಾ ಪೇಲೋಡ್ schemas ಪ್ರತಿ ಕ್ಷೇತ್ರ ಪ್ರವೃತ್ತಿಯಂತೆ ಬೆಳೆಯುವ ಸಾಧ್ಯತೆ ಸುಲಭ.signature.alg ಕ್ಷೇತ್ರ ML-DSA-65 (NIST ಪೋಸ್ಟ್-ಕ್ವಾಂಟಮ್ ಸಹಿ ಪ್ರಮಾಣಿತ) ಬೋಳಿಸುವ ವೇಳೆಯಲ್ಲಿ ಬಳಕೆ ಮಾಡಬಹುದು. ವರ್ಗಾವಣೆ ಸಮಯವಿದ್ದು, ರಸೀದಿಗಳನ್ನು ದ್ವಂದ್ವ ಸಹಿ ಮಾಡುವ ಕಾಲ.ಸ್ಥಳೀಯ AI ಏಜೆಂಟ್ಗಳನ್ನು ರಚಿಸುವುದು
ಅಸ್ವೀಕಾರ: ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ Co-op Translator ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸಡ್ಡೆಗಳು ಇರಬಹುದು. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಗಳ ಅಥವಾ ತಪ್ಪು ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.