⛩ Voltar ao Ninsho
Boken Engine™ · EC P-256 · ES256 · PKCE S256 · TOTP RFC 6238

Tecnologias do Ninsho

IDP soberano de identidade — 14 camadas de segurança, criptografia assimétrica de ponta e arquitetura edge-native sobre Cloudflare.

🔐 Camadas de Segurança
14 camadas independentes — falha em uma não compromete as demais. Fail-open por design para disponibilidade máxima.
0
Sekisho — Firewall de Borda
Rate limiting por IP e tenant via D1KVShim. Bot detection com score baseado em User-Agent e padrões de requisição. Primeira barreira antes de qualquer processamento.
D1KVShim (emula KV) · Rate Limit · IP Score · Fail-open
1
Turnstile — Proteção contra Bots
Cloudflare Turnstile valida que o cliente é humano antes do login. Sem CAPTCHA visual — verificação por comportamento de browser.
Cloudflare Turnstile · Behavior Analysis · CAPTCHA-free
2
Fuda — Validação JWT ES256
Token JWT assinado com ECDSA P-256 (ES256). Dual-key rotation via Boken Dual-Key Manager — primary → secondary → expired. Chave privada jamais exposta. Verificação criptográfica em toda requisição autenticada.
Web Crypto API · ES256 · EC P-256 · JWKS · Dual-Key Rotation
3
Shield — RBAC pré-autenticação
Verificação de role por rota antes mesmo da lógica de negócio. Rotas públicas e protegidas declaradas explicitamente. Skip-list configurável por módulo.
Hono Middleware · NinshoRole Guards · Skip Lists
4
Auth — Autenticação Principal
Hash de senha com SHA-256 + salt único por usuário (Web Crypto nativa). Verificação contra D1. Emissão de JWT ES256 com claims de role, tier e assurance. TTL por role: ninsho_admin 8h, tenant_admin 24h, end_user 7d.
SHA-256 · Salt · Web Crypto API · D1 SQLite · JWT ES256
5
TOTP — Segundo Fator RFC 6238
TOTP assíncrono real (não placeholder). HMAC-SHA1, janela 30s, tolerância ±1 janela. Challenge emitido via D1KVShim com TTL 5 minutos. Eleva assurance de N0 para N1 após verificação.
TOTP RFC 6238 · HMAC-SHA1 · Web Crypto · D1KVShim TTL 5min
6
Tenant Guard — Isolamento de Tenant
Valida que o usuário pertence ao tenant que tenta acessar. tenant_admin só visualiza dados do próprio tenant. Impede travessia entre tenants. Aplicado via middleware requireTenantAccess.
D1 · tenant_id · requireTenantAccess() · JWT claims
7
D1 Row Isolation — Multi-tenant
Dados completamente isolados por tenant em D1 SQLite. Toda query obrigatoriamente inclui WHERE tenant_id. Prefixo por tenant em todas as chaves D1KVShim. Nenhuma query cruza limites.
D1 Row-level Isolation · WHERE tenant_id · D1KVShim prefix
8
Boken Engine™ — RBAC por Role
Motor de permissões baseado em roles hierárquicos. Quatro roles no Ninsho: ninsho_admin, tenant_admin, tenant_user, end_user. Expansível para 13 níveis Kyu conforme o sistema evolui.
Boken Engine™ · NinshoRole · Hono middleware · D1
9
OIDC — Protocolo de Autorização
Protocolo OAuth 2.0 + OpenID Connect com PKCE S256. Code challenge via SHA-256 e base64url encoding. Metadata em /.well-known/openid-configuration. Em implementação (N-B004).
PKCE S256 · OAuth 2.0 · OpenID Connect · /.well-known
10
WebAuthn — Passkeys (planejado)
Autenticação sem senha via FIDO2/WebAuthn. Schema D1 preparado (ninsho_webauthn). Eleva assurance até N8. Implementação prevista em N-B005.
FIDO2 · WebAuthn · Passkeys · ninsho_webauthn D1
11
AES-GCM Vault — Servidor Cego™
Seeds TOTP e dados sensíveis cifrados com AES-GCM 256-bit antes de persistir. Derivação de chave via PBKDF2-SHA256 com 310.000 iterações. O servidor nunca vê o dado plaintext — Servidor Cego™.
AES-GCM 256 · PBKDF2-SHA256 310k · Web Crypto · Blind Server™
12
Audit Log — Rastreabilidade Total
Todo acesso autenticado, criação, atualização e exclusão registrados em ninsho_audit com IP, user-agent, timestamp UTC, tenant, usuário, ação e payload. Imutável por design. Disponível no God View com filtros.
D1 ninsho_audit · UTC timestamps · IP · User-Agent · Imutável
13+
GISKI — Camadas 0–13 (interna Valianz)
O GISKI possui 13 camadas de segurança próprias utilizadas internamente no Grupo Valianz. O Ninsho é a Camada 14 — IDP soberano externo que serve o mercado usando o mesmo DNA de segurança.
GISKI v9.5+ · 13 Camadas · Grupo Valianz · ERP/IAM interno

⚙️ Stack Core
Tecnologias fundamentais da plataforma — edge-native, zero infraestrutura gerenciada.
⚡
Hono v4
Framework web ultrarrápido para Cloudflare Workers. ~12 kB, middleware composável, suporte nativo a TypeScript e JSX. Roteamento declarativo com tipagem completa.
TypeScriptEdgeProdução
☁️
Cloudflare Workers / Pages
Runtime edge global com 300+ nós. Latência sub-5ms em qualquer continente. Sem servidor para gerenciar. Deploy atômico com rollback instantâneo. Limite TAMESHI: 900 kB por Worker.
Edge RuntimeGlobalProdução
🗄️
Cloudflare D1 SQLite
Banco relacional SQLite globalmente distribuído. 12 tabelas com migrations versionadas. Leitura local em cada nó edge, escrita replicada globalmente. Sem driver externo necessário.
SQLiteRelacionalProdução
📦
Cloudflare R2
Object storage S3-compatível sem custo de egress. Usado para arquivos de perfil, documentos e assets de tenant. Binding nativo no Worker — sem SDK externo.
Object StorageS3-compatProdução
🔑
Kira D1KVShim
Emulação completa de KVNamespace via tabela D1 (kv_store). TTL lazy com expires_at. Métodos: get, put, delete, list, getWithMetadata. Fail-open em erros. Compatível com hosted deploy (KV real não é suportado).
D1KV EmulationPortado GISKI B269
🛡️
Sekisho Shield
Shield de borda com bot detection por score de User-Agent, rate limiting via D1KVShim, ofuscação JS dinâmica e nonce CSP por requisição. Adaptado do GISKI B169 com GISKI_KV → NINSHO_KV.
Bot DetectionRate LimitPortado GISKI B169

🔒 Criptografia
Tudo via Web Crypto API nativa — zero dependências de bibliotecas criptográficas externas.
🗝️
Boken Dual-Key Manager
Gerenciamento de chaves EC P-256 com rotação automática: primary → secondary → expired. JWKS endpoint público nunca expõe o campo "d" (chave privada). Rotação programada e de emergência via God View.
EC P-256ES256JWKSPortado GISKI B186
🎫
JWT ES256
Tokens assimétricos assinados com ECDSA P-256. Verificação pública — qualquer serviço valida sem segredo compartilhado. Claims: sub, tid, role, tier, assurance, email, name, iat, exp, iss.
ECDSAAssimétricoStatelessProdução
🔐
AES-GCM 256 — Vault
Cifração autenticada de seeds TOTP e dados sensíveis. PBKDF2-SHA256 com 310.000 iterações para derivação de chave. IV único por operação. Servidor Cego™: o servidor nunca processa o dado plaintext.
AES-GCMPBKDF2Blind Server™
📱
TOTP RFC 6238
Time-based One-Time Password assíncrono real. HMAC-SHA1 via Web Crypto. Janela de 30s com tolerância ±1. Implementação corrigida (BUG-01 do PROVIDER: eliminado o placeholder "000000").
RFC 6238HMAC-SHA1Web CryptoBug-01 corrigido
🔏
PKCE S256
Proof Key for Code Exchange com challenge SHA-256 e base64url encoding. Protege o fluxo de autorização OIDC contra interceptação de código. Implementado em generatePKCE() / verifyPKCE() (BUG-03 corrigido).
PKCESHA-256base64urlBug-03 corrigido
📜
PEM / PKCS#8 Parsing
Parse de chaves PEM padrão via atob() (Base64 padrão, não base64url). Importação via Web Crypto importKey com format "pkcs8" / "spki". Implementação corrigida (BUG-02 do PROVIDER).
PEMPKCS#8atob()Bug-02 corrigido

🏅 Níveis de Assurance (N0–N12)
Cada autenticação bem-sucedida eleva o nível de confiança. Camadas de fator aumentam progressivamente a confiança na identidade.
N0
Anônimo
Sem autenticação. Acesso público.
N1
Email + Senha
Credenciais verificadas. Hash SHA-256+salt.
N2
TOTP RFC 6238
Segundo fator temporal via app autenticador.
N3
Push Verify
Aprovação via notificação push em dispositivo confiável.
N4
Email OTP
Código único enviado ao email cadastrado.
N5
SMS OTP
Código único por SMS (canal de telecomunicação).
N6
Biometria Básica
Face ID / Touch ID no dispositivo local.
N7
Passkey FIDO2
WebAuthn nível básico — dispositivo registrado.
N8
Passkey + PIN
WebAuthn com verificação de PIN de hardware.
N9
Smart Card
Autenticação via cartão inteligente certificado.
N10
HSM Token
Hardware Security Module — token físico certificado FIPS.
N11
Biometria Forense
Múltiplos fatores biométricos com prova de vida.
N12
Assurance Máximo
Combinação completa — nível soberano. Planos dojo e shogun.

🔗 Tecnologias Integradas
Ecossistema de padrões abertos e plataformas sobre os quais o Ninsho opera.
🌐
OpenID Connect
Protocolo de identidade federada (N-B004)
🔑
OAuth 2.0
Framework de autorização delegada
🔐
FIDO2 / WebAuthn
Passkeys e autenticação sem senha (N-B005)
📊
GISKI ERP/IAM
SSO interno Valianz — Bridge N-B006
🎮
Dojo Company
Cliente vitrine — "Casadinha" Ninsho↔Dojo
⚙️
Boken Engine™
RBAC · Patente BR · USA · Boken Company
🌍
i18n Trilíngue
PT-BR · ES · EN — detecção automática
📦
SDK @ninsho/sdk
Biblioteca pública para integração (N-B007)
🔔
Web Push API
Notificações push para autenticação N3
🛡️
Cloudflare Turnstile
Proteção bot CAPTCHA-free na Camada 1
🔒
Web Crypto API
Todas as operações criptográficas — nativa
📋
RFC 6238 TOTP
Standard de segundo fator temporal

🗺️ Schema D1 — 12 Tabelas
Banco relacional SQLite com migrations versionadas. Dados isolados por tenant_id em toda query.
kv_store
D1KVShim — emulação de KVNamespace. Campos: key, value, expires_at, metadata. TTL lazy com cleanup.
KV EmulationTTL
ninsho_tenants
Tenants B2B com tier, limites (mau_limit, oidc_client_limit, auth_month_limit), contadores e domínio customizado.
Multi-tenantTier
ninsho_users
Usuários com hash SHA-256+salt, role, assurance, last_login e metadados. Nunca armazena senha plaintext.
SHA-256Salt único
ninsho_totp
Seeds TOTP cifrados com AES-GCM vault. O servidor nunca vê o seed em plaintext — Servidor Cego™.
Blind Server™AES-GCM
ninsho_webauthn
Credenciais WebAuthn/Passkey com device_id, credential_id e public_key. Schema preparado para N-B005.
FIDO2Passkeys
ninsho_push_subs
Subscriptions Web Push com device_name (BUG-04 corrigido) e UNIQUE(tenant_id, external_id) (BUG-05 corrigido).
Web PushBug-04+05 corrigidos
ninsho_oidc_clients
Clientes OIDC dos tenants com client_id, client_secret hash, redirect_uris e scopes permitidos.
OIDCOAuth 2.0
ninsho_auth_codes
Códigos de autorização PKCE com code_challenge SHA-256, TTL 5 minutos e uso único.
PKCE S256TTL 5min
ninsho_tokens
Access e refresh tokens com hash, scopes, client_id e revogação. Suporte a rotação de refresh tokens.
Access TokenRefresh Token
ninsho_sessions
Sessões ativas com device fingerprint, IP, TTL e assurance level alcançado. Revogação por sessão ou em massa.
SessionsFingerprint
ninsho_keys
Chaves EC P-256 com status (primary/secondary/expired), public_jwk e private_blob cifrado. Gerenciado pelo Boken Dual-Key Manager.
EC P-256Rotation
ninsho_audit
Audit log global com actor, tenant, action, resource, IP, user-agent, timestamp UTC e payload JSON. Imutável por design.
AuditUTCImutável